Test integerness: Difference between revisions

Added Easylang
(→‎BQN: add)
(Added Easylang)
 
(2 intermediate revisions by 2 users not shown)
Line 204:
 
=={{header|BQN}}==
<syntaxhighlight lang="bqn">IsInt ← (0=|˜)⍟⊢1=•Type
 
IsInt¨⊸≍˘ ⟨+, 0, ∞, @, ¯∞, 'q', ¯42, ∞-∞, "BQN", 1.618, 1e¯300, 9e15⟩9e15, π⟩</syntaxhighlight>
{{out}}
<pre>┌─
╵ 0 +
1 0
0 ∞
0 @
0 ¯∞
0 'q'
1 ¯42
0 1.618NaN
0 "BQN"
0 1.618
0 1e¯300
1 9000000000000000
0 3.141592653589793
┘</pre>
 
=={{header|C}}==
Line 973 ⟶ 975:
</pre>
 
 
=={{header|EasyLang}}==
<syntaxhighlight>
func isint x .
if x mod 1 = 0
return 1
.
.
num[] = [ 25.000000 24.999999 25.0001 -2.1e120 -5e-2 0 / 0 1 / 0 ]
#
numfmt 10 0
for n in num[]
write n & " -> "
if isint n = 1
print "integer"
else
print "no integer"
.
.
</syntaxhighlight>
 
{{out}}
<pre>
25 -> integer
24.9999990000 -> no integer
25.0001000000 -> no integer
-2.1e+120 -> integer
-0.0500000000 -> no integer
nan -> no integer
inf -> no integer
</pre>
 
=={{header|Elixir}}==
Line 2,816 ⟶ 2,849:
{{libheader|Wren-fmt}}
The -2e120 example requires the use of BigRat to reliably determine whether it's an integer or not. Although the Num class can deal with numbers of this size and correctly identifies it as an integer, it would do the same if (say) 0.5 were added to it because integer determination is only reliable up to around 15 digits.
<syntaxhighlight lang="ecmascriptwren">import "./big" for BigRat
import "./complex" for Complex
import "./rat" for Rat
import "./fmt" for Fmt
 
var tests1 = [25.000000, 24.999999, 25.000100]
2,058

edits