Is it possible to make a clamp function shorter than a ternary in JS?Let's create random number genratorBase-2 integer logarithm of 64-bit unsigned integerInteger square root of integerTweetable Mathematical ArtShortest Minmod FunctionNon-repeating random numbersCompute the Mertens functionMagic popcount numbersBe as evil as possibleTernary Triangles

Remove object from array based on array of some property of that object

A bug in Excel? Conditional formatting for marking duplicates also highlights unique value

If nine coins are tossed, what is the probability that the number of heads is even?

What's the best tool for cutting holes into duct work?

ESPP--any reason not to go all in?

How can I be pwned if I'm not registered on the compromised site?

Integrating function with /; in its definition

Why doesn't "adolescent" take any articles in "listen to adolescent agonising"?

PTiJ: How should animals pray?

Called into a meeting and told we are being made redundant (laid off) and "not to share outside". Can I tell my partner?

An Undercover Army

Too soon for a plot twist?

I can't die. Who am I?

Do natural melee weapons (from racial traits) trigger Improved Divine Smite?

Why would the IRS ask for birth certificates or even audit a small tax return?

How do we objectively assess if a dialogue sounds unnatural or cringy?

Did Amazon pay $0 in taxes last year?

Is this nominative case or accusative case?

Is there such a thing in math the inverse of a sequence?

Under what conditions would I NOT add my Proficiency Bonus to a Spell Attack Roll (or Saving Throw DC)?

Why are special aircraft used for the carriers in the United States Navy?

Sundering Titan and basic normal lands and snow lands

Are small insurances worth it

Practical reasons to have both a large police force and bounty hunting network?



Is it possible to make a clamp function shorter than a ternary in JS?


Let's create random number genratorBase-2 integer logarithm of 64-bit unsigned integerInteger square root of integerTweetable Mathematical ArtShortest Minmod FunctionNon-repeating random numbersCompute the Mertens functionMagic popcount numbersBe as evil as possibleTernary Triangles













20












$begingroup$


Imagine this short function to clamp a number between 0 and 255:



c = n => n > 0 ? n < 255 ? n : 255 : 0


Is this the shortest possible version of a clamp function with JavaScript (without ES.Next features)?



P.S: Not sure if it's relevant but, the 0 and 255 are not random, the idea is to clamp a number as an 8-bit unsigned integer.










share|improve this question









New contributor




Ricardo Amaral is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$







  • 2




    $begingroup$
    Hi and welcome to PPCG! Just to be clear, any answer you receive here will not necessarily be a good idea to use in anything except for code golfing. Aside from that, if you care about what version / environment it has to work in you might want to specify it.
    $endgroup$
    – FryAmTheEggman
    2 days ago






  • 1




    $begingroup$
    Oh, I'm well aware. I've updated the question a bit. Thank you :)
    $endgroup$
    – Ricardo Amaral
    2 days ago






  • 2




    $begingroup$
    I don't know JS, but one way to clamp is to sort [0,n,255] and take the middle element -- might that be shorter?
    $endgroup$
    – xnor
    2 days ago






  • 1




    $begingroup$
    @xnor Unfortunately, the JS sort() method uses a lexicographical comparison by default, so that would require an explicit callback. (Something like that.)
    $endgroup$
    – Arnauld
    2 days ago






  • 5




    $begingroup$
    @Arnauld Wow, that's pretty silly. But it looks like it would be longer even if the sort was numerical.
    $endgroup$
    – xnor
    2 days ago















20












$begingroup$


Imagine this short function to clamp a number between 0 and 255:



c = n => n > 0 ? n < 255 ? n : 255 : 0


Is this the shortest possible version of a clamp function with JavaScript (without ES.Next features)?



P.S: Not sure if it's relevant but, the 0 and 255 are not random, the idea is to clamp a number as an 8-bit unsigned integer.










share|improve this question









New contributor




Ricardo Amaral is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$







  • 2




    $begingroup$
    Hi and welcome to PPCG! Just to be clear, any answer you receive here will not necessarily be a good idea to use in anything except for code golfing. Aside from that, if you care about what version / environment it has to work in you might want to specify it.
    $endgroup$
    – FryAmTheEggman
    2 days ago






  • 1




    $begingroup$
    Oh, I'm well aware. I've updated the question a bit. Thank you :)
    $endgroup$
    – Ricardo Amaral
    2 days ago






  • 2




    $begingroup$
    I don't know JS, but one way to clamp is to sort [0,n,255] and take the middle element -- might that be shorter?
    $endgroup$
    – xnor
    2 days ago






  • 1




    $begingroup$
    @xnor Unfortunately, the JS sort() method uses a lexicographical comparison by default, so that would require an explicit callback. (Something like that.)
    $endgroup$
    – Arnauld
    2 days ago






  • 5




    $begingroup$
    @Arnauld Wow, that's pretty silly. But it looks like it would be longer even if the sort was numerical.
    $endgroup$
    – xnor
    2 days ago













20












20








20


1



$begingroup$


Imagine this short function to clamp a number between 0 and 255:



c = n => n > 0 ? n < 255 ? n : 255 : 0


Is this the shortest possible version of a clamp function with JavaScript (without ES.Next features)?



P.S: Not sure if it's relevant but, the 0 and 255 are not random, the idea is to clamp a number as an 8-bit unsigned integer.










share|improve this question









New contributor




Ricardo Amaral is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$




Imagine this short function to clamp a number between 0 and 255:



c = n => n > 0 ? n < 255 ? n : 255 : 0


Is this the shortest possible version of a clamp function with JavaScript (without ES.Next features)?



P.S: Not sure if it's relevant but, the 0 and 255 are not random, the idea is to clamp a number as an 8-bit unsigned integer.







code-golf math tips javascript






share|improve this question









New contributor




Ricardo Amaral is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question









New contributor




Ricardo Amaral is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question








edited 2 days ago







Ricardo Amaral













New contributor




Ricardo Amaral is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked 2 days ago









Ricardo AmaralRicardo Amaral

2036




2036




New contributor




Ricardo Amaral is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





Ricardo Amaral is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






Ricardo Amaral is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







  • 2




    $begingroup$
    Hi and welcome to PPCG! Just to be clear, any answer you receive here will not necessarily be a good idea to use in anything except for code golfing. Aside from that, if you care about what version / environment it has to work in you might want to specify it.
    $endgroup$
    – FryAmTheEggman
    2 days ago






  • 1




    $begingroup$
    Oh, I'm well aware. I've updated the question a bit. Thank you :)
    $endgroup$
    – Ricardo Amaral
    2 days ago






  • 2




    $begingroup$
    I don't know JS, but one way to clamp is to sort [0,n,255] and take the middle element -- might that be shorter?
    $endgroup$
    – xnor
    2 days ago






  • 1




    $begingroup$
    @xnor Unfortunately, the JS sort() method uses a lexicographical comparison by default, so that would require an explicit callback. (Something like that.)
    $endgroup$
    – Arnauld
    2 days ago






  • 5




    $begingroup$
    @Arnauld Wow, that's pretty silly. But it looks like it would be longer even if the sort was numerical.
    $endgroup$
    – xnor
    2 days ago












  • 2




    $begingroup$
    Hi and welcome to PPCG! Just to be clear, any answer you receive here will not necessarily be a good idea to use in anything except for code golfing. Aside from that, if you care about what version / environment it has to work in you might want to specify it.
    $endgroup$
    – FryAmTheEggman
    2 days ago






  • 1




    $begingroup$
    Oh, I'm well aware. I've updated the question a bit. Thank you :)
    $endgroup$
    – Ricardo Amaral
    2 days ago






  • 2




    $begingroup$
    I don't know JS, but one way to clamp is to sort [0,n,255] and take the middle element -- might that be shorter?
    $endgroup$
    – xnor
    2 days ago






  • 1




    $begingroup$
    @xnor Unfortunately, the JS sort() method uses a lexicographical comparison by default, so that would require an explicit callback. (Something like that.)
    $endgroup$
    – Arnauld
    2 days ago






  • 5




    $begingroup$
    @Arnauld Wow, that's pretty silly. But it looks like it would be longer even if the sort was numerical.
    $endgroup$
    – xnor
    2 days ago







2




2




$begingroup$
Hi and welcome to PPCG! Just to be clear, any answer you receive here will not necessarily be a good idea to use in anything except for code golfing. Aside from that, if you care about what version / environment it has to work in you might want to specify it.
$endgroup$
– FryAmTheEggman
2 days ago




$begingroup$
Hi and welcome to PPCG! Just to be clear, any answer you receive here will not necessarily be a good idea to use in anything except for code golfing. Aside from that, if you care about what version / environment it has to work in you might want to specify it.
$endgroup$
– FryAmTheEggman
2 days ago




1




1




$begingroup$
Oh, I'm well aware. I've updated the question a bit. Thank you :)
$endgroup$
– Ricardo Amaral
2 days ago




$begingroup$
Oh, I'm well aware. I've updated the question a bit. Thank you :)
$endgroup$
– Ricardo Amaral
2 days ago




2




2




$begingroup$
I don't know JS, but one way to clamp is to sort [0,n,255] and take the middle element -- might that be shorter?
$endgroup$
– xnor
2 days ago




$begingroup$
I don't know JS, but one way to clamp is to sort [0,n,255] and take the middle element -- might that be shorter?
$endgroup$
– xnor
2 days ago




1




1




$begingroup$
@xnor Unfortunately, the JS sort() method uses a lexicographical comparison by default, so that would require an explicit callback. (Something like that.)
$endgroup$
– Arnauld
2 days ago




$begingroup$
@xnor Unfortunately, the JS sort() method uses a lexicographical comparison by default, so that would require an explicit callback. (Something like that.)
$endgroup$
– Arnauld
2 days ago




5




5




$begingroup$
@Arnauld Wow, that's pretty silly. But it looks like it would be longer even if the sort was numerical.
$endgroup$
– xnor
2 days ago




$begingroup$
@Arnauld Wow, that's pretty silly. But it looks like it would be longer even if the sort was numerical.
$endgroup$
– xnor
2 days ago










1 Answer
1






active

oldest

votes


















21












$begingroup$

20 bytes



For reference, this is the original version without whitespace and without naming the function:





n=>n>0?n<255?n:255:0


Try it online!




19 bytes



We can save a byte by inverting the logic of the ternary tests and using n>>8 to test whether $n$ is greater than $255$. Because of the bitwise operation, this will however fail for $nge 2^32$.





n=>n<0?0:n>>8?255:n


Try it online!




19 bytes



This one returns $false$ instead of $0$ but works for $nge 2^32$.





n=>n>255?255:n>0&&n


Try it online!




18 bytes



By combining both versions above, we end up with a function that works for $256-2^32le n<2^32$ and returns $false$ for $n<0$.





n=>n>>8?n>0&&255:n


Try it online!



Commented



n => // n = input number
n >> 8 ? // if n is greater than 255 or n is negative:
n > 0 && // return false if n is negative
255 // or 255 otherwise
: // else:
n // return n unchanged


(This is a fixed revision of the code proposed by @ValueInk in the comments.)




17 bytes



We can go a step further by limiting the valid input range to $-2^24< nle 2^24$:





n=>n>>8?-n>>>24:n


Try it online!



Commented



n => // n = input number
n >> 8 ? // if n is greater than 255 or n is negative:
-n >>> 24 // non-arithmetic right-shift of -n by 24 positions
: // else:
n // return n unchanged





share|improve this answer











$endgroup$












  • $begingroup$
    Why stop there? If you're extremely liberal with what counts as a 0 (as JavaScript tends to do) you can always go for n=>n>>8?255:n>0&&n for 18 bytes, since false can be coerced to 0 and this will make all negative numbers evaluate to false
    $endgroup$
    – Value Ink
    2 days ago










  • $begingroup$
    @ValueInk If you don't test $n<0$ beforhand, n>>8 will be truthy for any negative input.
    $endgroup$
    – Arnauld
    2 days ago










  • $begingroup$
    Very nice, thank you so much!
    $endgroup$
    – Ricardo Amaral
    yesterday










Your Answer





StackExchange.ifUsing("editor", function ()
return StackExchange.using("mathjaxEditing", function ()
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["\$", "\$"]]);
);
);
, "mathjax-editing");

StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "200"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);






Ricardo Amaral is a new contributor. Be nice, and check out our Code of Conduct.









draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodegolf.stackexchange.com%2fquestions%2f180949%2fis-it-possible-to-make-a-clamp-function-shorter-than-a-ternary-in-js%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









21












$begingroup$

20 bytes



For reference, this is the original version without whitespace and without naming the function:





n=>n>0?n<255?n:255:0


Try it online!




19 bytes



We can save a byte by inverting the logic of the ternary tests and using n>>8 to test whether $n$ is greater than $255$. Because of the bitwise operation, this will however fail for $nge 2^32$.





n=>n<0?0:n>>8?255:n


Try it online!




19 bytes



This one returns $false$ instead of $0$ but works for $nge 2^32$.





n=>n>255?255:n>0&&n


Try it online!




18 bytes



By combining both versions above, we end up with a function that works for $256-2^32le n<2^32$ and returns $false$ for $n<0$.





n=>n>>8?n>0&&255:n


Try it online!



Commented



n => // n = input number
n >> 8 ? // if n is greater than 255 or n is negative:
n > 0 && // return false if n is negative
255 // or 255 otherwise
: // else:
n // return n unchanged


(This is a fixed revision of the code proposed by @ValueInk in the comments.)




17 bytes



We can go a step further by limiting the valid input range to $-2^24< nle 2^24$:





n=>n>>8?-n>>>24:n


Try it online!



Commented



n => // n = input number
n >> 8 ? // if n is greater than 255 or n is negative:
-n >>> 24 // non-arithmetic right-shift of -n by 24 positions
: // else:
n // return n unchanged





share|improve this answer











$endgroup$












  • $begingroup$
    Why stop there? If you're extremely liberal with what counts as a 0 (as JavaScript tends to do) you can always go for n=>n>>8?255:n>0&&n for 18 bytes, since false can be coerced to 0 and this will make all negative numbers evaluate to false
    $endgroup$
    – Value Ink
    2 days ago










  • $begingroup$
    @ValueInk If you don't test $n<0$ beforhand, n>>8 will be truthy for any negative input.
    $endgroup$
    – Arnauld
    2 days ago










  • $begingroup$
    Very nice, thank you so much!
    $endgroup$
    – Ricardo Amaral
    yesterday















21












$begingroup$

20 bytes



For reference, this is the original version without whitespace and without naming the function:





n=>n>0?n<255?n:255:0


Try it online!




19 bytes



We can save a byte by inverting the logic of the ternary tests and using n>>8 to test whether $n$ is greater than $255$. Because of the bitwise operation, this will however fail for $nge 2^32$.





n=>n<0?0:n>>8?255:n


Try it online!




19 bytes



This one returns $false$ instead of $0$ but works for $nge 2^32$.





n=>n>255?255:n>0&&n


Try it online!




18 bytes



By combining both versions above, we end up with a function that works for $256-2^32le n<2^32$ and returns $false$ for $n<0$.





n=>n>>8?n>0&&255:n


Try it online!



Commented



n => // n = input number
n >> 8 ? // if n is greater than 255 or n is negative:
n > 0 && // return false if n is negative
255 // or 255 otherwise
: // else:
n // return n unchanged


(This is a fixed revision of the code proposed by @ValueInk in the comments.)




17 bytes



We can go a step further by limiting the valid input range to $-2^24< nle 2^24$:





n=>n>>8?-n>>>24:n


Try it online!



Commented



n => // n = input number
n >> 8 ? // if n is greater than 255 or n is negative:
-n >>> 24 // non-arithmetic right-shift of -n by 24 positions
: // else:
n // return n unchanged





share|improve this answer











$endgroup$












  • $begingroup$
    Why stop there? If you're extremely liberal with what counts as a 0 (as JavaScript tends to do) you can always go for n=>n>>8?255:n>0&&n for 18 bytes, since false can be coerced to 0 and this will make all negative numbers evaluate to false
    $endgroup$
    – Value Ink
    2 days ago










  • $begingroup$
    @ValueInk If you don't test $n<0$ beforhand, n>>8 will be truthy for any negative input.
    $endgroup$
    – Arnauld
    2 days ago










  • $begingroup$
    Very nice, thank you so much!
    $endgroup$
    – Ricardo Amaral
    yesterday













21












21








21





$begingroup$

20 bytes



For reference, this is the original version without whitespace and without naming the function:





n=>n>0?n<255?n:255:0


Try it online!




19 bytes



We can save a byte by inverting the logic of the ternary tests and using n>>8 to test whether $n$ is greater than $255$. Because of the bitwise operation, this will however fail for $nge 2^32$.





n=>n<0?0:n>>8?255:n


Try it online!




19 bytes



This one returns $false$ instead of $0$ but works for $nge 2^32$.





n=>n>255?255:n>0&&n


Try it online!




18 bytes



By combining both versions above, we end up with a function that works for $256-2^32le n<2^32$ and returns $false$ for $n<0$.





n=>n>>8?n>0&&255:n


Try it online!



Commented



n => // n = input number
n >> 8 ? // if n is greater than 255 or n is negative:
n > 0 && // return false if n is negative
255 // or 255 otherwise
: // else:
n // return n unchanged


(This is a fixed revision of the code proposed by @ValueInk in the comments.)




17 bytes



We can go a step further by limiting the valid input range to $-2^24< nle 2^24$:





n=>n>>8?-n>>>24:n


Try it online!



Commented



n => // n = input number
n >> 8 ? // if n is greater than 255 or n is negative:
-n >>> 24 // non-arithmetic right-shift of -n by 24 positions
: // else:
n // return n unchanged





share|improve this answer











$endgroup$



20 bytes



For reference, this is the original version without whitespace and without naming the function:





n=>n>0?n<255?n:255:0


Try it online!




19 bytes



We can save a byte by inverting the logic of the ternary tests and using n>>8 to test whether $n$ is greater than $255$. Because of the bitwise operation, this will however fail for $nge 2^32$.





n=>n<0?0:n>>8?255:n


Try it online!




19 bytes



This one returns $false$ instead of $0$ but works for $nge 2^32$.





n=>n>255?255:n>0&&n


Try it online!




18 bytes



By combining both versions above, we end up with a function that works for $256-2^32le n<2^32$ and returns $false$ for $n<0$.





n=>n>>8?n>0&&255:n


Try it online!



Commented



n => // n = input number
n >> 8 ? // if n is greater than 255 or n is negative:
n > 0 && // return false if n is negative
255 // or 255 otherwise
: // else:
n // return n unchanged


(This is a fixed revision of the code proposed by @ValueInk in the comments.)




17 bytes



We can go a step further by limiting the valid input range to $-2^24< nle 2^24$:





n=>n>>8?-n>>>24:n


Try it online!



Commented



n => // n = input number
n >> 8 ? // if n is greater than 255 or n is negative:
-n >>> 24 // non-arithmetic right-shift of -n by 24 positions
: // else:
n // return n unchanged






share|improve this answer














share|improve this answer



share|improve this answer








edited yesterday

























answered 2 days ago









ArnauldArnauld

78k795326




78k795326











  • $begingroup$
    Why stop there? If you're extremely liberal with what counts as a 0 (as JavaScript tends to do) you can always go for n=>n>>8?255:n>0&&n for 18 bytes, since false can be coerced to 0 and this will make all negative numbers evaluate to false
    $endgroup$
    – Value Ink
    2 days ago










  • $begingroup$
    @ValueInk If you don't test $n<0$ beforhand, n>>8 will be truthy for any negative input.
    $endgroup$
    – Arnauld
    2 days ago










  • $begingroup$
    Very nice, thank you so much!
    $endgroup$
    – Ricardo Amaral
    yesterday
















  • $begingroup$
    Why stop there? If you're extremely liberal with what counts as a 0 (as JavaScript tends to do) you can always go for n=>n>>8?255:n>0&&n for 18 bytes, since false can be coerced to 0 and this will make all negative numbers evaluate to false
    $endgroup$
    – Value Ink
    2 days ago










  • $begingroup$
    @ValueInk If you don't test $n<0$ beforhand, n>>8 will be truthy for any negative input.
    $endgroup$
    – Arnauld
    2 days ago










  • $begingroup$
    Very nice, thank you so much!
    $endgroup$
    – Ricardo Amaral
    yesterday















$begingroup$
Why stop there? If you're extremely liberal with what counts as a 0 (as JavaScript tends to do) you can always go for n=>n>>8?255:n>0&&n for 18 bytes, since false can be coerced to 0 and this will make all negative numbers evaluate to false
$endgroup$
– Value Ink
2 days ago




$begingroup$
Why stop there? If you're extremely liberal with what counts as a 0 (as JavaScript tends to do) you can always go for n=>n>>8?255:n>0&&n for 18 bytes, since false can be coerced to 0 and this will make all negative numbers evaluate to false
$endgroup$
– Value Ink
2 days ago












$begingroup$
@ValueInk If you don't test $n<0$ beforhand, n>>8 will be truthy for any negative input.
$endgroup$
– Arnauld
2 days ago




$begingroup$
@ValueInk If you don't test $n<0$ beforhand, n>>8 will be truthy for any negative input.
$endgroup$
– Arnauld
2 days ago












$begingroup$
Very nice, thank you so much!
$endgroup$
– Ricardo Amaral
yesterday




$begingroup$
Very nice, thank you so much!
$endgroup$
– Ricardo Amaral
yesterday










Ricardo Amaral is a new contributor. Be nice, and check out our Code of Conduct.









draft saved

draft discarded


















Ricardo Amaral is a new contributor. Be nice, and check out our Code of Conduct.












Ricardo Amaral is a new contributor. Be nice, and check out our Code of Conduct.











Ricardo Amaral is a new contributor. Be nice, and check out our Code of Conduct.














If this is an answer to a challenge…



  • …Be sure to follow the challenge specification. However, please refrain from exploiting obvious loopholes. Answers abusing any of the standard loopholes are considered invalid. If you think a specification is unclear or underspecified, comment on the question instead.


  • …Try to optimize your score. For instance, answers to code-golf challenges should attempt to be as short as possible. You can always include a readable version of the code in addition to the competitive one.
    Explanations of your answer make it more interesting to read and are very much encouraged.


  • …Include a short header which indicates the language(s) of your code and its score, as defined by the challenge.


More generally…



  • …Please make sure to answer the question and provide sufficient detail.


  • …Avoid asking for help, clarification or responding to other answers (use comments instead).




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodegolf.stackexchange.com%2fquestions%2f180949%2fis-it-possible-to-make-a-clamp-function-shorter-than-a-ternary-in-js%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Save data to MySQL database using ExtJS and PHP [closed]2019 Community Moderator ElectionHow can I prevent SQL injection in PHP?Which MySQL data type to use for storing boolean valuesPHP: Delete an element from an arrayHow do I connect to a MySQL Database in Python?Should I use the datetime or timestamp data type in MySQL?How to get a list of MySQL user accountsHow Do You Parse and Process HTML/XML in PHP?Reference — What does this symbol mean in PHP?How does PHP 'foreach' actually work?Why shouldn't I use mysql_* functions in PHP?

Compiling GNU Global with universal-ctags support Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) Data science time! April 2019 and salary with experience The Ask Question Wizard is Live!Tags for Emacs: Relationship between etags, ebrowse, cscope, GNU Global and exuberant ctagsVim and Ctags tips and trickscscope or ctags why choose one over the other?scons and ctagsctags cannot open option file “.ctags”Adding tag scopes in universal-ctagsShould I use Universal-ctags?Universal ctags on WindowsHow do I install GNU Global with universal ctags support using Homebrew?Universal ctags with emacsHow to highlight ctags generated by Universal Ctags in Vim?

Add ONERROR event to image from jsp tldHow to add an image to a JPanel?Saving image from PHP URLHTML img scalingCheck if an image is loaded (no errors) with jQueryHow to force an <img> to take up width, even if the image is not loadedHow do I populate hidden form field with a value set in Spring ControllerStyling Raw elements Generated from JSP tagds with Jquery MobileLimit resizing of images with explicitly set width and height attributeserror TLD use in a jsp fileJsp tld files cannot be resolved