nDP_PRELUDE_PARR,
nDP_PRELUDE_INT,
nDP_PRELUDE_DOUBLE,
+ nDP_PRELUDE_BOOL,
nDP_PRELUDE_TUPLE :: Module
nDP_UARR = mkNDPModule (fsLit "Data.Array.Parallel.Unlifted.Flat.UArr")
nDP_PRELUDE_PARR = mkNDPModule (fsLit "Data.Array.Parallel.Prelude.Base.PArr")
nDP_PRELUDE_INT = mkNDPModule (fsLit "Data.Array.Parallel.Prelude.Base.Int")
nDP_PRELUDE_DOUBLE = mkNDPModule (fsLit "Data.Array.Parallel.Prelude.Base.Double")
+nDP_PRELUDE_BOOL = mkNDPModule (fsLit "Data.Array.Parallel.Prelude.Base.Bool")
nDP_PRELUDE_TUPLE = mkNDPModule (fsLit "Data.Array.Parallel.Prelude.Base.Tuple")
data Builtins = Builtins {
, mk gHC_PARR (fsLit "singletonP") nDP_COMBINATORS (fsLit "singletonPA")
, mk gHC_PARR (fsLit "concatP") nDP_COMBINATORS (fsLit "concatPA")
, mk gHC_PARR (fsLit "+:+") nDP_COMBINATORS (fsLit "appPA")
+ , mk gHC_PARR (fsLit "emptyP") nDP_PARRAY (fsLit "emptyPA")
, mk nDP_PRELUDE_INT (fsLit "plus") nDP_PRELUDE_INT (fsLit "plusV")
, mk nDP_PRELUDE_INT (fsLit "minus") nDP_PRELUDE_INT (fsLit "minusV")
, mk nDP_PRELUDE_INT (fsLit "mult") nDP_PRELUDE_INT (fsLit "multV")
, mk nDP_PRELUDE_INT (fsLit "intDiv") nDP_PRELUDE_INT (fsLit "intDivV")
- , mk nDP_PRELUDE_INT (fsLit "sumP") nDP_PRELUDE_INT (fsLit "sumPA")
+ , mk nDP_PRELUDE_INT (fsLit "intMod") nDP_PRELUDE_INT (fsLit "intModV")
+ , mk nDP_PRELUDE_INT (fsLit "intSquareRoot") nDP_PRELUDE_INT (fsLit "intSquareRootV")
+ , mk nDP_PRELUDE_INT (fsLit "intSumP") nDP_PRELUDE_INT (fsLit "intSumPA")
+ , mk nDP_PRELUDE_INT (fsLit "enumFromToP") nDP_PRELUDE_INT (fsLit "enumFromToPA")
, mk nDP_PRELUDE_INT (fsLit "upToP") nDP_PRELUDE_INT (fsLit "upToPA")
, mk nDP_PRELUDE_INT (fsLit "eq") nDP_PRELUDE_INT (fsLit "eqV")
, mk nDP_PRELUDE_DOUBLE (fsLit "minus") nDP_PRELUDE_DOUBLE (fsLit "minusV")
, mk nDP_PRELUDE_DOUBLE (fsLit "mult") nDP_PRELUDE_DOUBLE (fsLit "multV")
, mk nDP_PRELUDE_DOUBLE (fsLit "divide") nDP_PRELUDE_DOUBLE (fsLit "divideV")
- , mk nDP_PRELUDE_DOUBLE (fsLit "sumP") nDP_PRELUDE_DOUBLE (fsLit "sumPA")
+ , mk nDP_PRELUDE_DOUBLE (fsLit "squareRoot") nDP_PRELUDE_DOUBLE (fsLit "squareRootV")
+ , mk nDP_PRELUDE_DOUBLE (fsLit "doubleSumP") nDP_PRELUDE_DOUBLE (fsLit "doubleSumPA")
, mk nDP_PRELUDE_DOUBLE (fsLit "minIndexP")
nDP_PRELUDE_DOUBLE (fsLit "minIndexPA")
, mk nDP_PRELUDE_DOUBLE (fsLit "maxIndexP")
, mk nDP_PRELUDE_DOUBLE (fsLit "ge") nDP_PRELUDE_DOUBLE (fsLit "geV")
, mk nDP_PRELUDE_DOUBLE (fsLit "gt") nDP_PRELUDE_DOUBLE (fsLit "gtV")
+ , mk nDP_PRELUDE_BOOL (fsLit "andP") nDP_PRELUDE_BOOL (fsLit "andPA")
+ , mk nDP_PRELUDE_BOOL (fsLit "orP") nDP_PRELUDE_BOOL (fsLit "orPA")
+
-- FIXME: temporary
, mk nDP_PRELUDE_PARR (fsLit "fromPArrayP") nDP_PRELUDE_PARR (fsLit "fromPArrayPA")
, mk nDP_PRELUDE_PARR (fsLit "toPArrayP") nDP_PRELUDE_PARR (fsLit "toPArrayPA")
, mk nDP_PRELUDE_PARR (fsLit "fromNestedPArrayP") nDP_PRELUDE_PARR (fsLit "fromNestedPArrayPA")
+ , mk nDP_PRELUDE_PARR (fsLit "combineP") nDP_COMBINATORS (fsLit "combine2PA")
]
where
mk = (,,,)