diff options
Diffstat (limited to 'Examples/test-suite/d/long_long_runme.1.d')
-rw-r--r-- | Examples/test-suite/d/long_long_runme.1.d | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/Examples/test-suite/d/long_long_runme.1.d b/Examples/test-suite/d/long_long_runme.1.d new file mode 100644 index 000000000..a6d5448bc --- /dev/null +++ b/Examples/test-suite/d/long_long_runme.1.d @@ -0,0 +1,35 @@ +// Checks if the long long and unsigned long long types work. +module long_long_runme; + +import Integer = tango.text.convert.Integer; +import long_long.long_long; + +void main() { + check_ll(0L); + check_ll(0x7FFFFFFFFFFFFFFFL); + check_ll(-10L); + + check_ull(0u); + check_ull(127u); + check_ull(128u); + check_ull(9223372036854775807u); //0x7FFFFFFFFFFFFFFFL + check_ull(18446744073709551615u); //0xFFFFFFFFFFFFFFFFL +} + +void check_ll(long value) { + ll = value; + long value_check = ll; + if (value != value_check) { + throw new Exception("Runtime test using long long failed: expected: " ~ + Integer.toString(value) ~ ", got: " ~ Integer.toString(value_check)); + } +} + +void check_ull(ulong value) { + ull = value; + ulong value_check = ull; + if (value != value_check) { + throw new Exception( "Runtime test using unsigned long long failed: expected: " ~ + Integer.toString(value) ~ ", ll_check=" ~ Integer.toString(value_check)); + } +} |