rosettacode: Add integer_overflow rosetta code exemple
authorPatrickBlanchette <PatrickBlanchette@users.noreply.github.com>
Tue, 9 May 2017 18:04:01 +0000 (14:04 -0400)
committerPatrickBlanchette <PatrickBlanchette@users.noreply.github.com>
Mon, 15 May 2017 14:00:33 +0000 (10:00 -0400)
Signed-off-by: PatrickBlanchette <PatrickBlanchette@users.noreply.github.com>

examples/rosettacode/integer_overflow.nit [new file with mode: 0644]
tests/sav/integer_overflow.res [new file with mode: 0644]

diff --git a/examples/rosettacode/integer_overflow.nit b/examples/rosettacode/integer_overflow.nit
new file mode 100644 (file)
index 0000000..9d73cc6
--- /dev/null
@@ -0,0 +1,25 @@
+#!/usr/bin/env nit
+#
+# This file is part of NIT ( http://www.nitlanguage.org ).
+# This program is public domain
+
+# Task: Integer Overflow
+# SEE: <rosettacode.org/wiki/Integer_overflow>
+module integer_overflow
+
+# Nit possed integers of 32-bit name Int32 and unsigned
+# integers of 32-bit.
+# Nit does not recognize overflow.
+
+print "Signed 32-bit:"
+print( -(-2147483647i32 - 1i32) )
+print 2000000000i32 + 2000000000i32
+print -2147483647i32 - 2147483647i32
+print 46341i32 * 46341i32
+#print( (-2147483647i32 - 1i32) / -1i32 )
+
+print "unsigned 32-bit:"
+print -4294967295u32
+print 3000000000u32 + 3000000000u32
+print 2147483647u32 - 4294967295u32
+print 65537u32 * 65537u32
diff --git a/tests/sav/integer_overflow.res b/tests/sav/integer_overflow.res
new file mode 100644 (file)
index 0000000..9f438eb
--- /dev/null
@@ -0,0 +1,10 @@
+Signed 32-bit:
+-2147483648
+-294967296
+2
+-2147479015
+unsigned 32-bit:
+1
+1705032704
+2147483648
+131073