X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=shell%2Fbin%2Fcalc;fp=shell%2Fbin%2Fcalc;h=ea3cbd38254bbb4f077b6ac0a238f0a9a7ead69a;hb=29fe133e2b4ca2a25342fa9a4c3e661bc38895f2;hp=0000000000000000000000000000000000000000;hpb=3e17e82d591782b4750382b00c5bf6ee96eddedf;p=config%2Fdotfiles.git diff --git a/shell/bin/calc b/shell/bin/calc new file mode 100755 index 0000000..ea3cbd3 --- /dev/null +++ b/shell/bin/calc @@ -0,0 +1,49 @@ +#!/bin/sh + +# Copyright (C) 2011-2014 Simon Ruderich +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + + +set -eu + +exec python -i -c ' + +# Math functions. +from math import * + +def ld(x): + return log(x)/log(2) +def lg(x): + return log10(x) + +def binom(n,k): + return reduce(lambda a,b: a*(n-b)/(b+1),xrange(k),1) + +# Convert number to scientific notation (e.g. 5e6). +def s(x): + print "%e" % x + + +# Time/Date functions. +import time + +# Convert time in seconds since epoch to readable string. +def stime(seconds): + print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(seconds)) + + +print "Welcome to the ultimate calculator."' + +# vim: ft=python