on master help sign in
Rename float negation primitive for more uniformity
fb2c6eaMarkus Pfeiffer
src/IRTS/CodegenC.hs+1−1
@@ -474,7 +474,7 @@ doOp v LFATan [x] = v ++ flUnOp "atan" (creg x)
474doOp v LFSqrt [x] = v ++ flUnOp "sqrt" (creg x)
474doOp v LFSqrt [x] = v ++ flUnOp "sqrt" (creg x)
475doOp v LFFloor [x] = v ++ flUnOp "floor" (creg x)
475doOp v LFFloor [x] = v ++ flUnOp "floor" (creg x)
476doOp v LFCeil [x] = v ++ flUnOp "ceil" (creg x)
476doOp v LFCeil [x] = v ++ flUnOp "ceil" (creg x)
477−doOp v LNegFloat [x] = v ++ "MKFLOAT(vm, -GETFLOAT(" ++ (creg x) ++ "))"
477+doOp v LFNegate [x] = v ++ "MKFLOAT(vm, -GETFLOAT(" ++ (creg x) ++ "))"
478
478
479doOp v LStrHead [x] = v ++ "idris_strHead(vm, " ++ creg x ++ ")"
479doOp v LStrHead [x] = v ++ "idris_strHead(vm, " ++ creg x ++ ")"
480doOp v LStrTail [x] = v ++ "idris_strTail(vm, " ++ creg x ++ ")"
480doOp v LStrTail [x] = v ++ "idris_strTail(vm, " ++ creg x ++ ")"
src/IRTS/Lang.hs+1−1
@@ -52,7 +52,7 @@ data PrimFn = LPlus ArithTy | LMinus ArithTy | LTimes ArithTy
52 | LBitCast ArithTy ArithTy -- Only for values of equal width
52 | LBitCast ArithTy ArithTy -- Only for values of equal width
53
53
54 | LFExp | LFLog | LFSin | LFCos | LFTan | LFASin | LFACos | LFATan
54 | LFExp | LFLog | LFSin | LFCos | LFTan | LFASin | LFACos | LFATan
55− | LFSqrt | LFFloor | LFCeil | LNegFloat
55+ | LFSqrt | LFFloor | LFCeil | LFNegate
56
56
57 -- construction element extraction element insertion
57 -- construction element extraction element insertion
58 | LMkVec NativeTy Int | LIdxVec NativeTy Int | LUpdateVec NativeTy Int
58 | LMkVec NativeTy Int | LIdxVec NativeTy Int | LUpdateVec NativeTy Int
src/Idris/Primitives.hs+2−3
@@ -95,9 +95,6 @@ primitives =
95 iCoerce ITNative (ITFixed IT64) "trunc" trunc LTrunc,
95 iCoerce ITNative (ITFixed IT64) "trunc" trunc LTrunc,
96 iCoerce ITBig ITChar "trunc" trunc LTrunc,
96 iCoerce ITBig ITChar "trunc" trunc LTrunc,
97
97
98−
99− Prim (sUN "prim__negFloat") (ty [(AType ATFloat)] (AType ATFloat)) 1 (c_negFloat)
100− (1, LNegFloat) total,
101 Prim (sUN "prim__addFloat") (ty [(AType ATFloat), (AType ATFloat)] (AType ATFloat)) 2 (fBin (+))
98 Prim (sUN "prim__addFloat") (ty [(AType ATFloat), (AType ATFloat)] (AType ATFloat)) 2 (fBin (+))
102 (2, LPlus ATFloat) total,
99 (2, LPlus ATFloat) total,
103 Prim (sUN "prim__subFloat") (ty [(AType ATFloat), (AType ATFloat)] (AType ATFloat)) 2 (fBin (-))
100 Prim (sUN "prim__subFloat") (ty [(AType ATFloat), (AType ATFloat)] (AType ATFloat)) 2 (fBin (-))
@@ -156,6 +153,8 @@ primitives =
156 (1, LFFloor) total,
153 (1, LFFloor) total,
157 Prim (sUN "prim__floatCeil") (ty [(AType ATFloat)] (AType ATFloat)) 1 (p_floatCeil)
154 Prim (sUN "prim__floatCeil") (ty [(AType ATFloat)] (AType ATFloat)) 1 (p_floatCeil)
158 (1, LFCeil) total,
155 (1, LFCeil) total,
156+ Prim (sUN "prim__negFloat") (ty [(AType ATFloat)] (AType ATFloat)) 1 (c_negFloat)
157+ (1, LFNegate) total,
159
158
160 Prim (sUN "prim__strHead") (ty [StrType] (AType (ATInt ITChar))) 1 (p_strHead)
159 Prim (sUN "prim__strHead") (ty [StrType] (AType (ATInt ITChar))) 1 (p_strHead)
161 (1, LStrHead) partial,
160 (1, LStrHead) partial,