modulo 1.2 → 1.3
raw patch · 2 files changed
+18/−12 lines, 2 files
Files
- modulo.cabal +1/−1
- src/Language/Modulo/C.hs +17/−11
modulo.cabal view
@@ -1,6 +1,6 @@ name: modulo-version: 1.2+version: 1.3 cabal-version: >= 1.6 author: Hans Hoglund maintainer: Hans Hoglund <hans@hanshoglund.se>
src/Language/Modulo/C.hs view
@@ -652,10 +652,6 @@ paramDeclr :: CDeclr -> (Maybe CDeclr, Maybe CInit, Maybe CExpr) paramDeclr declr = (Just declr, Nothing, Nothing) --cStruct t ds = CSUType r defInfo where r = CStruct CStructTag t ds [] defInfo-cUnion t ds = CSUType r defInfo where r = CStruct CUnionTag t ds [] defInfo- -- | Used for all NodeInfo values in generated code defInfo :: NodeInfo defInfo = error "Can not read nodeInfo"@@ -663,6 +659,22 @@ notSupported x = error $ "Not supported yet: " ++ x +cStruct t ds = CSUType r defInfo where r = CStruct CStructTag t ds [] defInfo+cUnion t ds = CSUType r defInfo where r = CStruct CUnionTag t ds [] defInfo+++instance Num CInteger where+ (CInteger a r f) + (CInteger b _ _) = CInteger (a+b) r f+ (CInteger a r f) * (CInteger b _ _) = CInteger (a*b) r f+ abs (CInteger a r f) = CInteger (abs a) r f+ signum (CInteger a r f) = CInteger (signum a) r f+ fromInteger a = CInteger a DecRepr noFlags+++{- ++Extra instances for debug purposes+ deriving instance Show CTranslUnit deriving instance Show CExtDecl deriving instance Show CStrLit@@ -687,11 +699,5 @@ deriving instance Show CEnum deriving instance Show CStructUnion deriving instance Show CStructTag--instance Num CInteger where- (CInteger a r f) + (CInteger b _ _) = CInteger (a+b) r f- (CInteger a r f) * (CInteger b _ _) = CInteger (a*b) r f- abs (CInteger a r f) = CInteger (abs a) r f- signum (CInteger a r f) = CInteger (signum a) r f- fromInteger a = CInteger a DecRepr noFlags+-}