aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
author0xrsp <95966883+0xrsp@users.noreply.github.com>2025-05-15 01:00:40 +0930
committer0xrsp <95966883+0xrsp@users.noreply.github.com>2025-05-15 01:00:40 +0930
commitea806f1d5e1d450e9c0b98a7a9d1f92afb7957ef (patch)
tree75368bca8b6f5a17fe2b25b768af4efed797a860 /tests
parent25c935c305f373a1c539a235734d25759143a1c2 (diff)
new compiler intrinsics type_integer_to_unsigned,type_integer_to_signed
Diffstat (limited to 'tests')
-rw-r--r--tests/internal/test_intrinsics_integer_to.odin34
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/internal/test_intrinsics_integer_to.odin b/tests/internal/test_intrinsics_integer_to.odin
new file mode 100644
index 000000000..108318c9a
--- /dev/null
+++ b/tests/internal/test_intrinsics_integer_to.odin
@@ -0,0 +1,34 @@
+package test_internal
+
+import "base:intrinsics"
+import "core:testing"
+
+/*
+example_usage :: proc(#any_int x: int) -> intrinsics.type_integer_to_unsigned(type_of(x)) {
+ T :: intrinsics.type_integer_to_unsigned(type_of(x))
+ return 1<<T(x)
+}
+*/
+
+@test
+test_intrinsic_integer_to :: proc(t: ^testing.T) {
+ testing.expect_value(t, typeid_of(intrinsics.type_integer_to_unsigned(i16le)), typeid_of(u16le))
+ testing.expect_value(t, typeid_of(intrinsics.type_integer_to_unsigned(i32le)), typeid_of(u32le))
+ testing.expect_value(t, typeid_of(intrinsics.type_integer_to_unsigned(i64le)), typeid_of(u64le))
+ testing.expect_value(t, typeid_of(intrinsics.type_integer_to_unsigned(i128le)), typeid_of(u128le))
+ testing.expect_value(t, typeid_of(intrinsics.type_integer_to_unsigned(i16be)), typeid_of(u16be))
+ testing.expect_value(t, typeid_of(intrinsics.type_integer_to_unsigned(i32be)), typeid_of(u32be))
+ testing.expect_value(t, typeid_of(intrinsics.type_integer_to_unsigned(i64be)), typeid_of(u64be))
+ testing.expect_value(t, typeid_of(intrinsics.type_integer_to_unsigned(i128be)), typeid_of(u128be))
+ testing.expect_value(t, typeid_of(intrinsics.type_integer_to_unsigned(int)), typeid_of(uint))
+
+ testing.expect_value(t, typeid_of(intrinsics.type_integer_to_signed(u16le)), typeid_of(i16le))
+ testing.expect_value(t, typeid_of(intrinsics.type_integer_to_signed(u32le)), typeid_of(i32le))
+ testing.expect_value(t, typeid_of(intrinsics.type_integer_to_signed(u64le)), typeid_of(i64le))
+ testing.expect_value(t, typeid_of(intrinsics.type_integer_to_signed(u128le)), typeid_of(i128le))
+ testing.expect_value(t, typeid_of(intrinsics.type_integer_to_signed(u16be)), typeid_of(i16be))
+ testing.expect_value(t, typeid_of(intrinsics.type_integer_to_signed(u32be)), typeid_of(i32be))
+ testing.expect_value(t, typeid_of(intrinsics.type_integer_to_signed(u64be)), typeid_of(i64be))
+ testing.expect_value(t, typeid_of(intrinsics.type_integer_to_signed(u128be)), typeid_of(i128be))
+ testing.expect_value(t, typeid_of(intrinsics.type_integer_to_signed(uint)), typeid_of(int))
+}