@@ -286,65 +286,13 @@ instance Traversable (Vect n) where
286 traverse f (x::xs) = [| Vect.(::) (f x) (traverse f xs) |]
286 traverse f (x::xs) = [| Vect.(::) (f x) (traverse f xs) |]
288---- some mathematical operations
288---- some mathematical operations
289−
289+---- XXX this should probably go some place else,
293pow : (Num a) => a -> Nat -> a
290pow : (Num a) => a -> Nat -> a
294pow x Z = 1
291pow x Z = 1
295pow x (S n) = x * (pow x n)
292pow x (S n) = x * (pow x n)
298−exp x = prim__floatExp x
301−log x = prim__floatLog x
304−pi = 3.141592653589793
307−sin x = prim__floatSin x
310−cos x = prim__floatCos x
313−tan x = prim__floatTan x
315−asin : Float -> Float
316−asin x = prim__floatASin x
318−acos : Float -> Float
319−acos x = prim__floatACos x
321−atan : Float -> Float
322−atan x = prim__floatATan x
324−atan2 : Float -> Float -> Float
325−atan2 y x = atan (y/x)
327−sinh : Float -> Float
328−sinh x = (exp x - exp (-x)) / 2
330−cosh : Float -> Float
331−cosh x = (exp x + exp (-x)) / 2
333−tanh : Float -> Float
334−tanh x = sinh x / cosh x
336−sqrt : Float -> Float
337−sqrt x = prim__floatSqrt x
339−floor : Float -> Float
340−floor x = prim__floatFloor x
342−ceiling : Float -> Float
343−ceiling x = prim__floatCeil x
345---- Ranges
294---- Ranges
348natRange : Nat -> List Nat
296natRange : Nat -> List Nat
349natRange n = List.reverse (go n)
297natRange n = List.reverse (go n)
350 where go Z = []
298 where go Z = []