Test integerness: Difference between revisions

Added Easylang
No edit summary
(Added Easylang)
 
(3 intermediate revisions by 2 users not shown)
Line 202:
0 -0.05
</pre>
 
=={{header|BQN}}==
<syntaxhighlight lang="bqn">IsInt ← ⊢(0=|˜)⍟⊢1=•Type
 
IsInt¨⊸≍˘ ⟨+, 0, ∞, ⊘, ¯∞, 'q', ¯42, ∞-∞, "BQN", 1e¯300, 9e15, π⟩</syntaxhighlight>
{{out}}
<pre>┌─
╵ 0 +
1 0
0 ∞
0 ⊘
0 ¯∞
0 'q'
1 ¯42
0 NaN
0 "BQN"
0 1e¯300
1 9000000000000000
0 3.141592653589793
┘</pre>
 
=={{header|C}}==
Line 955 ⟶ 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,798 ⟶ 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]
1,983

edits