diff options
author | Indrajith K L | 2022-12-03 17:00:20 +0530 |
---|---|---|
committer | Indrajith K L | 2022-12-03 17:00:20 +0530 |
commit | f5c4671bfbad96bf346bd7e9a21fc4317b4959df (patch) | |
tree | 2764fc62da58f2ba8da7ed341643fc359873142f /coreutils-5.3.0-bin/share/awk/round.awk | |
download | cli-tools-windows-f5c4671bfbad96bf346bd7e9a21fc4317b4959df.tar.gz cli-tools-windows-f5c4671bfbad96bf346bd7e9a21fc4317b4959df.tar.bz2 cli-tools-windows-f5c4671bfbad96bf346bd7e9a21fc4317b4959df.zip |
Diffstat (limited to 'coreutils-5.3.0-bin/share/awk/round.awk')
-rw-r--r-- | coreutils-5.3.0-bin/share/awk/round.awk | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/coreutils-5.3.0-bin/share/awk/round.awk b/coreutils-5.3.0-bin/share/awk/round.awk new file mode 100644 index 0000000..c5e993f --- /dev/null +++ b/coreutils-5.3.0-bin/share/awk/round.awk @@ -0,0 +1,29 @@ +# round.awk --- do normal rounding +# +# Arnold Robbins, arnold@skeeve.com, Public Domain +# August, 1996 + +function round(x, ival, aval, fraction) +{ + ival = int(x) # integer part, int() truncates + + # see if fractional part + if (ival == x) # no fraction + return x + + if (x < 0) { + aval = -x # absolute value + ival = int(aval) + fraction = aval - ival + if (fraction >= .5) + return int(x) - 1 # -2.5 --> -3 + else + return int(x) # -2.3 --> -2 + } else { + fraction = x - ival + if (fraction >= .5) + return ival + 1 + else + return ival + } +} |