diff options
Diffstat (limited to 'Functions')
-rw-r--r-- | Functions/Math/.distfiles | 2 | ||||
-rw-r--r-- | Functions/Math/zmathfunc | 34 |
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 + |