on master help sign in
Add lib/Data/Floats.idr
commit4d70a61a092f119876d8d255da26b87c4d586db6 authorMarkus Pfeiffer <markusp@mcs.st-andrews.ac.uk> dateWed 20 Nov 2013, 11:37 (13 years ago) parentf38190d
1 file changed+61
lib/Data/Floats.idr+61
lib/Data/Floats.idrnew file+61
@@ -0,0 +1,61 @@
1+module Data.Floats
2+
3+import Prelude
4+
5+%access public
6+%default total
7+
8+%include C "math.h"
9+%lib C "m"
10+
11+pi : Float
12+pi = 3.14159265358979323846
13+
14+euler : Float
15+euler = 2.7182818284590452354
16+
17+exp : Float -> Float
18+exp x = prim__floatExp x
19+
20+log : Float -> Float
21+log x = prim__floatLog x
22+
23+sin : Float -> Float
24+sin x = prim__floatSin x
25+
26+cos : Float -> Float
27+cos x = prim__floatCos x
28+
29+tan : Float -> Float
30+tan x = prim__floatTan x
31+
32+asin : Float -> Float
33+asin x = prim__floatASin x
34+
35+acos : Float -> Float
36+acos x = prim__floatACos x
37+
38+atan : Float -> Float
39+atan x = prim__floatATan x
40+
41+atan2 : Float -> Float -> Float
42+atan2 y x = atan (y/x)
43+
44+sinh : Float -> Float
45+sinh x = (exp x - exp (-x)) / 2
46+
47+cosh : Float -> Float
48+cosh x = (exp x + exp (-x)) / 2
49+
50+tanh : Float -> Float
51+tanh x = sinh x / cosh x
52+
53+sqrt : Float -> Float
54+sqrt x = prim__floatSqrt x
55+
56+floor : Float -> Float
57+floor x = prim__floatFloor x
58+
59+ceiling : Float -> Float
60+ceiling x = prim__floatCeil x
61+