module HJScript.Objects.Math
(
Math(..),
abs,
acos,
asin,
atan,
cos,
exp,
floor,
log,
max,
min,
pow,
random,
round,
sin,
sqrt,
tan
) where
import HJScript.Lang
import Prelude hiding ( abs,acos,asin,atan,cos,exp,floor,log,
max,min,round,sin,sqrt,tan)
data Math = Math deriving Show
instance IsClass Math
instance IsDeref Math
callMathMeth :: Num t => String -> Exp t -> JFloat
callMathMeth name exp = callMethod name exp Math
abs :: Num t => Exp t -> JFloat
abs = callMathMeth "abs"
acos :: Num t => Exp t -> JFloat
acos = callMathMeth "acos"
asin :: Num t => Exp t -> JFloat
asin = callMathMeth "asin"
atan :: Num t => Exp t -> JFloat
atan = callMathMeth "atan"
cos :: Num t => Exp t -> JFloat
cos = callMathMeth "cos"
exp :: Num t => Exp t -> JFloat
exp = callMathMeth "exp"
floor :: Num t => Exp t -> JFloat
floor = callMathMeth "floor"
log :: Num t => Exp t -> JFloat
log = callMathMeth "log"
max :: Num t => Exp t -> JFloat
max = callMathMeth "max"
min :: Num t => Exp t -> JFloat
min = callMathMeth "min"
pow :: Num t => Exp t -> JFloat
pow = callMathMeth "pow"
random :: Num t => Exp t -> JFloat
random = callMathMeth "random"
round :: Num t => Exp t -> JFloat
round = callMathMeth "round"
sin :: Num t => Exp t -> JFloat
sin = callMathMeth "sin"
sqrt ::Num t => Exp t -> JFloat
sqrt = callMathMeth "sqrt"
tan :: Num t => Exp t -> JFloat
tan = callMathMeth "tan"