added 'abs' functions in math library
authorBrendan Hansen <brendan.f.hansen@gmail.com>
Sat, 12 Dec 2020 14:31:57 +0000 (08:31 -0600)
committerBrendan Hansen <brendan.f.hansen@gmail.com>
Sat, 12 Dec 2020 14:31:57 +0000 (08:31 -0600)
core/math.onyx

index fc78978f5d5fe562728c17c5446379dc21547ab7..b0bf248b8450364c3258eda864946722232039ba 100644 (file)
@@ -1,7 +1,8 @@
 package core.math
 
 use package core {
-    sqrt_f32, sqrt_f64
+    sqrt_f32, sqrt_f64,
+    abs_f32,  abs_f64
 }
 
 PI  :: 3.14159265f;
@@ -65,3 +66,13 @@ min :: proc (a: $T, b: T) -> T {
 sqrt_i32 :: proc (x: i32) -> i32 do return ~~sqrt_f32(~~x);
 sqrt_i64 :: proc (x: i64) -> i64 do return ~~sqrt_f64(~~x);
 sqrt :: proc { sqrt_f32, sqrt_f64, sqrt_i32, sqrt_i64 }
+
+abs_i32 :: proc (x: i32) -> i32 {
+    if x >= 0 do return x;
+    return -x;
+}
+abs_i64 :: proc (x: i64) -> i64 {
+    if x >= 0 do return x;
+    return -x;
+}
+abs :: proc { abs_i32, abs_i64, abs_f32, abs_f64 }