KiCS-0.8.8: src/lib/Curry/Module/Float.curry
------------------------------------------------------------------------------
--- A collection of operations on floating point numbers.
------------------------------------------------------------------------------
module Float (
(*.),(/.),(+.),(-.),(<.),(>.),(<=.),(>=.),
i2f, truncate, round,
sqrt, log, exp, sin, cos, tan, atan
) where
-- The operator declarations are similar to the standard arithmetic operators.
infixl 7 *., /.
infixl 6 +., -.
infix 4 <., >., <=., >=.
--- Addition on floats.
-- Types of primitive arithmetic functions and predicates
--- Adds two Floats.
(+.) :: Float -> Float -> Float
x +. y = (prim_Float_plus $# x) $# y
prim_Float_plus :: Float -> Float -> Float
prim_Float_plus external
--- Subtraction on floats.
(-.) :: Float -> Float -> Float
x -. y = (prim_Float_minus $# x) $# y
prim_Float_minus :: Float -> Float -> Float
prim_Float_minus external
--- Multiplication on floats.
(*.) :: Float -> Float -> Float
x *. y = (prim_Float_times $# x) $# y
prim_Float_times :: Float -> Float -> Float
prim_Float_times external
--- Division on floats.
(/.) :: Float -> Float -> Float
x /. y = (prim_Float_divide $# x) $# y
prim_Float_divide :: Float -> Float -> Float
prim_Float_divide external
--- Predicate "less than" on floats.
(<.) :: Float -> Float -> Bool
x <. y = (prim_Float_lt $# x) $# y
prim_Float_lt :: Float -> Float -> Bool
prim_Float_lt external
--- Predicate "greater than" on floats.
(>.) :: Float -> Float -> Bool
x >. y = (prim_Float_gt $# x) $# y
prim_Float_gt :: Float -> Float -> Bool
prim_Float_gt external
--- Predicate "less than or equal" on floats.
(<=.) :: Float -> Float -> Bool
x <=. y = (prim_Float_leq $# x) $# y
prim_Float_leq :: Float -> Float -> Bool
prim_Float_leq external
--- Predicate "greater than or equal" on floats.
(>=.) :: Float -> Float -> Bool
x >=. y = (prim_Float_geq $# x) $# y
prim_Float_geq :: Float -> Float -> Bool
prim_Float_geq external
--- Conversion function from integers to floats.
i2f :: Int -> Float
i2f x = prim_i2f $# x
prim_i2f :: Int -> Float
prim_i2f external
--- Conversion function from floats to integers.
--- The result is the closest integer between the argument and 0.
truncate :: Float -> Int
truncate x = prim_truncate $# x
prim_truncate :: Float -> Int
prim_truncate external
--- Conversion function from floats to integers.
--- The result is the nearest integer to the argument.
--- If the argument is equidistant between two integers,
--- it is rounded to the closest even integer value.
round :: Float -> Int
round x = prim_round $# x
prim_round :: Float -> Int
prim_round external
--- Square root.
sqrt :: Float -> Float
sqrt x = prim_sqrt $# x
prim_sqrt :: Float -> Float
prim_sqrt external
--- Natural logarithm.
log :: Float -> Float
log x = prim_log $# x
prim_log :: Float -> Float
prim_log external
--- Natural exponent.
exp :: Float -> Float
exp x = prim_exp $# x
prim_exp :: Float -> Float
prim_exp external
--- Sine.
sin :: Float -> Float
sin x = prim_sin $# x
prim_sin :: Float -> Float
prim_sin external
--- Cosine.
cos :: Float -> Float
cos x = prim_cos $# x
prim_cos :: Float -> Float
prim_cos external
--- Tangent.
tan :: Float -> Float
tan x = prim_tan $# x
prim_tan :: Float -> Float
prim_tan external
atan :: Float -> Float
atan x = prim_atan $# x
prim_atan :: Float -> Float
prim_atan external