other operators should be macros as well
authorJudah Caruso <judah@tuta.io>
Tue, 5 Dec 2023 18:00:51 +0000 (11:00 -0700)
committerJudah Caruso <judah@tuta.io>
Tue, 5 Dec 2023 18:00:51 +0000 (11:00 -0700)
core/operations.onyx

index 6e203f6547b018bf4ec11e653b270a7036d06f5f..0d12172db966e143a0f76254ae3d6af408819cec 100644 (file)
@@ -13,11 +13,10 @@ package builtin
 
 //
 // Allows for basic array programming support
-#operator + (l, r: [$N]$T) => __array_math_op(l, r, [a, b](a + b));
-#operator - (l, r: [$N]$T) => __array_math_op(l, r, [a, b](a - b));
-#operator * (l, r: [$N]$T) => __array_math_op(l, r, [a, b](a * b));
-#operator / (l, r: [$N]$T) => __array_math_op(l, r, [a, b](a / b));
-
+#operator +  macro (l, r: [$N]$T) => __array_math_op(l, r, [a, b](a + b));
+#operator -  macro (l, r: [$N]$T) => __array_math_op(l, r, [a, b](a - b));
+#operator *  macro (l, r: [$N]$T) => __array_math_op(l, r, [a, b](a * b));
+#operator /  macro (l, r: [$N]$T) => __array_math_op(l, r, [a, b](a / b));
 #operator == macro (l, r: [$N]$T) => core.intrinsics.wasm.memory_equal(cast(rawptr)l, cast(rawptr)r, N * sizeof T);
 #operator != macro (l, r: [$N]$T) => !(l == r);