aboutsummaryrefslogtreecommitdiff
path: root/v_windows/v/old/vlib/math/mathutil
diff options
context:
space:
mode:
Diffstat (limited to 'v_windows/v/old/vlib/math/mathutil')
-rw-r--r--v_windows/v/old/vlib/math/mathutil/mathutil.v19
-rw-r--r--v_windows/v/old/vlib/math/mathutil/mathutil_test.v22
2 files changed, 41 insertions, 0 deletions
diff --git a/v_windows/v/old/vlib/math/mathutil/mathutil.v b/v_windows/v/old/vlib/math/mathutil/mathutil.v
new file mode 100644
index 0000000..0930e26
--- /dev/null
+++ b/v_windows/v/old/vlib/math/mathutil/mathutil.v
@@ -0,0 +1,19 @@
+// Copyright (c) 2019-2021 Alexander Medvednikov. All rights reserved.
+// Use of this source code is governed by an MIT license
+// that can be found in the LICENSE file.
+module mathutil
+
+[inline]
+pub fn min<T>(a T, b T) T {
+ return if a < b { a } else { b }
+}
+
+[inline]
+pub fn max<T>(a T, b T) T {
+ return if a > b { a } else { b }
+}
+
+[inline]
+pub fn abs<T>(a T) T {
+ return if a > 0 { a } else { -a }
+}
diff --git a/v_windows/v/old/vlib/math/mathutil/mathutil_test.v b/v_windows/v/old/vlib/math/mathutil/mathutil_test.v
new file mode 100644
index 0000000..6b3b68a
--- /dev/null
+++ b/v_windows/v/old/vlib/math/mathutil/mathutil_test.v
@@ -0,0 +1,22 @@
+import math.mathutil as mu
+
+fn test_min() {
+ assert mu.min(42, 13) == 13
+ assert mu.min(5, -10) == -10
+ assert mu.min(7.1, 7.3) == 7.1
+ assert mu.min(u32(32), u32(17)) == 17
+}
+
+fn test_max() {
+ assert mu.max(42, 13) == 42
+ assert mu.max(5, -10) == 5
+ assert mu.max(7.1, 7.3) == 7.3
+ assert mu.max(u32(60), u32(17)) == 60
+}
+
+fn test_abs() {
+ assert mu.abs(99) == 99
+ assert mu.abs(-10) == 10
+ assert mu.abs(1.2345) == 1.2345
+ assert mu.abs(-5.5) == 5.5
+}