]> ruderich.org/simon Gitweb - config/dotfiles.git/blob - shell/bin/calc
Merge branch 'os'
[config/dotfiles.git] / shell / bin / calc
1 #!/bin/sh
2
3 # Copyright (C) 2011-2014  Simon Ruderich
4 #
5 # This program is free software: you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation, either version 3 of the License, or
8 # (at your option) any later version.
9 #
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 # GNU General Public License for more details.
14 #
15 # You should have received a copy of the GNU General Public License
16 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
17
18
19 set -eu
20
21 exec python -i -c '
22
23 # Math functions.
24 from math import *
25
26 def ld(x):
27     return log(x)/log(2)
28 def lg(x):
29     return log10(x)
30
31 def binom(n,k):
32     return reduce(lambda a,b: a*(n-b)/(b+1),xrange(k),1)
33
34 # Convert number to scientific notation (e.g. 5e6).
35 def s(x):
36     print "%e" % x
37
38
39 # Time/Date functions.
40 import time
41
42 # Convert time in seconds since epoch to readable string.
43 def stime(seconds):
44     print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(seconds))
45
46
47 print "Welcome to the ultimate calculator."'
48
49 # vim: ft=python