Merge: Functional api
[nit.git] / examples / rosettacode / integer_overflow.nit
1 #!/usr/bin/env nit
2 #
3 # This file is part of NIT ( http://www.nitlanguage.org ).
4 # This program is public domain
5
6 # Task: Integer Overflow
7 # SEE: <rosettacode.org/wiki/Integer_overflow>
8 module integer_overflow
9
10 # Nit possed integers of 32-bit name Int32 and unsigned
11 # integers of 32-bit.
12 # Nit does not recognize overflow.
13
14 print "Signed 32-bit:"
15 print( -(-2147483647i32 - 1i32) )
16 print 2000000000i32 + 2000000000i32
17 print -2147483647i32 - 2147483647i32
18 print 46341i32 * 46341i32
19 #print( (-2147483647i32 - 1i32) / -1i32 )
20
21 print "unsigned 32-bit:"
22 print -4294967295u32
23 print 3000000000u32 + 3000000000u32
24 print 2147483647u32 - 4294967295u32
25 print 65537u32 * 65537u32