@@ -148,6 +148,8 @@ primitives =
148 (1, LFACos) total,
148 (1, LFACos) total,
149 Prim (sUN "prim__floatATan") (ty [(AType ATFloat)] (AType ATFloat)) 1 (p_floatATan)
149 Prim (sUN "prim__floatATan") (ty [(AType ATFloat)] (AType ATFloat)) 1 (p_floatATan)
150 (1, LFATan) total,
150 (1, LFATan) total,
151+ Prim (sUN "prim__floatATan2") (ty [(AType ATFloat), (AType ATFloat)] (AType ATFloat)) 2 (p_floatATan2)
151 Prim (sUN "prim__floatSqrt") (ty [(AType ATFloat)] (AType ATFloat)) 1 (p_floatSqrt)
153 Prim (sUN "prim__floatSqrt") (ty [(AType ATFloat)] (AType ATFloat)) 1 (p_floatSqrt)
152 (1, LFSqrt) total,
154 (1, LFSqrt) total,
153 Prim (sUN "prim__floatFloor") (ty [(AType ATFloat)] (AType ATFloat)) 1 (p_floatFloor)
155 Prim (sUN "prim__floatFloor") (ty [(AType ATFloat)] (AType ATFloat)) 1 (p_floatFloor)
@@ -462,6 +464,10 @@ p_floatSqrt = p_fPrim sqrt
462p_floatFloor = p_fPrim (fromInteger . floor)
464p_floatFloor = p_fPrim (fromInteger . floor)
463p_floatCeil = p_fPrim (fromInteger . ceiling)
465p_floatCeil = p_fPrim (fromInteger . ceiling)
467+p_floatATan2 :: [Const] -> Maybe Const
468+p_floatATan2 [Fl y, Fl x] = Just $ Fl (atan2 y x)
469+p_floatATan2 _ = Nothing
465p_strLen, p_strHead, p_strTail, p_strIndex, p_strCons, p_strRev, p_strSubstr :: [Const] -> Maybe Const
471p_strLen, p_strHead, p_strTail, p_strIndex, p_strCons, p_strRev, p_strSubstr :: [Const] -> Maybe Const
466p_strLen [Str xs] = Just $ I (length xs)
472p_strLen [Str xs] = Just $ I (length xs)
467p_strLen _ = Nothing
473p_strLen _ = Nothing