From b35d6ca0b00e174b38c31427629c386153765bc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20Schw=C3=B6rer?= Date: Sat, 19 Nov 2022 13:34:21 +0100 Subject: [PATCH] v0.0.19 --- Makefile | 3 +++ _data/version.sh | 27 +++++++++++++++++++++++++++ mathext/math.go | 18 ++++++++++++++++++ 3 files changed, 48 insertions(+) create mode 100755 _data/version.sh diff --git a/Makefile b/Makefile index 4317555..1f9feaf 100644 --- a/Makefile +++ b/Makefile @@ -4,3 +4,6 @@ run: test: go test ./... + +version: + _data/version.sh \ No newline at end of file diff --git a/_data/version.sh b/_data/version.sh new file mode 100755 index 0000000..8fffea4 --- /dev/null +++ b/_data/version.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +set -o nounset # disallow usage of unset vars ( set -u ) +set -o errexit # Exit immediately if a pipeline returns non-zero. ( set -e ) +set -o errtrace # Allow the above trap be inherited by all functions in the script. ( set -E ) +set -o pipefail # Return value of a pipeline is the value of the last (rightmost) command to exit with a non-zero status +IFS=$'\n\t' # Set $IFS to only newline and tab. + + +curr_vers=$(git describe --tags --abbrev=0 | sed 's/v//g') + +next_ver=$(echo "$curr_vers" | awk -F. -v OFS=. 'NF==1{print ++$NF}; NF>1{if(length($NF+1)>length($NF))$(NF-1)++; $NF=sprintf("%0*d", length($NF), ($NF+1)%(10^length($NF))); print}') + +echo "" +echo "> Current Version: ${curr_vers}" +echo "> Next Version: ${next_ver}" +echo "" + +git add --verbose . + +git commit -a -m "v${next_ver}" + +git tag "v${next_ver}" + +git push +git push --tags + diff --git a/mathext/math.go b/mathext/math.go index 3cf7651..6c5c69f 100644 --- a/mathext/math.go +++ b/mathext/math.go @@ -29,3 +29,21 @@ func Min[T langext.OrderedConstraint](v1 T, v2 T) T { return v2 } } + +func Abs[T langext.NumberConstraint](v T) T { + if v < 0 { + return -v + } else { + return v + } +} + +func Clamp[T langext.NumberConstraint](v T, min T, max T) T { + if v < min { + return min + } else if v > max { + return max + } else { + return v + } +}