2006-09-05 00:00:23 +08:00
|
|
|
|
2007-01-16 09:29:18 +08:00
|
|
|
function math --description "Perform math calculations in bc"
|
2006-09-05 00:00:23 +08:00
|
|
|
if count $argv >/dev/null
|
2006-11-18 00:24:38 +08:00
|
|
|
switch $argv[1]
|
|
|
|
case -h --h --he --hel --help
|
|
|
|
__fish_print_help math
|
|
|
|
return 0
|
|
|
|
end
|
|
|
|
|
2014-09-27 18:36:33 +08:00
|
|
|
# Override the locale so that the output can be used as input
|
|
|
|
set -l LC_NUMERIC C
|
|
|
|
# GNU bc extension
|
|
|
|
set -l BC_LINE_LENGTH 0
|
|
|
|
|
|
|
|
set -l out (printf '%g' (echo $argv| bc -l))
|
|
|
|
test -z "$out"; and return 1
|
2006-09-05 00:00:23 +08:00
|
|
|
echo $out
|
|
|
|
switch $out
|
|
|
|
case 0
|
|
|
|
return 1
|
|
|
|
end
|
|
|
|
return 0
|
|
|
|
end
|
|
|
|
return 2
|
2010-09-18 10:18:26 +08:00
|
|
|
|
2006-09-05 00:00:23 +08:00
|
|
|
end
|
|
|
|
|