@@ -108,8 +108,10 @@ inlineCommonValues = everywhereOnCpp convert
109 convert :: Cpp -> Cpp
109 convert :: Cpp -> Cpp
110 convert (CppApp fn [dict])
110 convert (CppApp fn [dict])
111− | isDict' [semiringNumber, semiringInt] dict && isFn fnZero fn = CppNumericLiteral (Left 0)
111+ | isDict semiringInt dict && isFn fnZero fn = CppNumericLiteral (Left 0)
112+ | isDict semiringInt dict && isFn fnOne fn = CppNumericLiteral (Left 1)
113+ | isDict semiringNumber dict && isFn fnZero fn = CppNumericLiteral (Right 0.0)
112− | isDict' [semiringNumber, semiringInt] dict && isFn fnOne fn = CppNumericLiteral (Left 1)
114+ | isDict semiringNumber dict && isFn fnOne fn = CppNumericLiteral (Right 1.0)
113 | isDict boundedBoolean dict && isFn fnBottom fn = CppBooleanLiteral False
115 | isDict boundedBoolean dict && isFn fnBottom fn = CppBooleanLiteral False
114 | isDict boundedBoolean dict && isFn fnTop fn = CppBooleanLiteral True
116 | isDict boundedBoolean dict && isFn fnTop fn = CppBooleanLiteral True
115 convert (CppApp (CppApp fn [dict]) [x])
117 convert (CppApp (CppApp fn [dict]) [x])