about summary refs log tree commit diff
path: root/Functions/Math
diff options
context:
space:
mode:
authorDaniel Shahaf <d.s@daniel.shahaf.name>2016-05-10 01:31:52 +0000
committerDaniel Shahaf <d.s@daniel.shahaf.name>2016-05-10 18:39:18 +0000
commit29e88b3ea3e13c7c86c707b6119cadad669e55aa (patch)
tree18b8f6ac84635ea6fb11e33ee95ea21b0d5bdeac /Functions/Math
parentf09c00bca5f6d634515e3ad5139813a64bfe83d8 (diff)
downloadzsh-29e88b3ea3e13c7c86c707b6119cadad669e55aa.tar.gz
zsh-29e88b3ea3e13c7c86c707b6119cadad669e55aa.tar.xz
zsh-29e88b3ea3e13c7c86c707b6119cadad669e55aa.zip
unposted: Commit forgotten part of users/21256.
Diffstat (limited to 'Functions/Math')
-rw-r--r--Functions/Math/.distfiles2
-rw-r--r--Functions/Math/zmathfunc34
2 files changed, 36 insertions, 0 deletions
diff --git a/Functions/Math/.distfiles b/Functions/Math/.distfiles
new file mode 100644
index 000000000..f03668b3a
--- /dev/null
+++ b/Functions/Math/.distfiles
@@ -0,0 +1,2 @@
+DISTFILES_SRC='
+'
diff --git a/Functions/Math/zmathfunc b/Functions/Math/zmathfunc
new file mode 100644
index 000000000..4ff40700d
--- /dev/null
+++ b/Functions/Math/zmathfunc
@@ -0,0 +1,34 @@
+#autoload
+
+zsh_math_func_min() {
+  local result=$1
+  shift
+  local arg
+  for arg ; do
+    (( $arg < result )) && result=$arg
+  done
+  (( result )) # return
+}
+functions -M min 1 -1 zsh_math_func_min # at least one argument
+
+zsh_math_func_max() {
+  local result=$1
+  shift
+  local arg
+  for arg ; do
+    (( $arg > result )) && result=$arg
+  done
+  (( result )) # return
+}
+functions -M max 1 -1 zsh_math_func_max # at least one argument
+
+zsh_math_func_sum() {
+  local sum
+  local arg
+  for arg ; do
+    (( sum += $arg ))
+  done
+  (( sum ))
+}
+functions -M sum 0 -1 zsh_math_func_sum
+