module Hydra.Dsl.Lib.Math where

import Hydra.Phantoms
import Hydra.Sources.Libraries
import qualified Hydra.Dsl.Terms as Terms


add :: Datum (Int -> Int -> Int)
add :: Datum (Int -> Int -> Int)
add = Term -> Datum (Int -> Int -> Int)
forall a. Term -> Datum a
Datum (Term -> Datum (Int -> Int -> Int))
-> Term -> Datum (Int -> Int -> Int)
forall a b. (a -> b) -> a -> b
$ Name -> Term
Terms.primitive Name
_math_add

div :: Datum (Int -> Int -> Int)
div :: Datum (Int -> Int -> Int)
div = Term -> Datum (Int -> Int -> Int)
forall a. Term -> Datum a
Datum (Term -> Datum (Int -> Int -> Int))
-> Term -> Datum (Int -> Int -> Int)
forall a b. (a -> b) -> a -> b
$ Name -> Term
Terms.primitive Name
_math_div

mod :: Datum (Int -> Int -> Int)
mod :: Datum (Int -> Int -> Int)
mod = Term -> Datum (Int -> Int -> Int)
forall a. Term -> Datum a
Datum (Term -> Datum (Int -> Int -> Int))
-> Term -> Datum (Int -> Int -> Int)
forall a b. (a -> b) -> a -> b
$ Name -> Term
Terms.primitive Name
_math_mod

mul :: Datum (Int -> Int -> Int)
mul :: Datum (Int -> Int -> Int)
mul = Term -> Datum (Int -> Int -> Int)
forall a. Term -> Datum a
Datum (Term -> Datum (Int -> Int -> Int))
-> Term -> Datum (Int -> Int -> Int)
forall a b. (a -> b) -> a -> b
$ Name -> Term
Terms.primitive Name
_math_mul

neg :: Datum (Int -> Int)
neg :: Datum (Int -> Int)
neg = Term -> Datum (Int -> Int)
forall a. Term -> Datum a
Datum (Term -> Datum (Int -> Int)) -> Term -> Datum (Int -> Int)
forall a b. (a -> b) -> a -> b
$ Name -> Term
Terms.primitive Name
_math_neg

rem :: Datum (Int -> Int -> Int)
rem :: Datum (Int -> Int -> Int)
rem = Term -> Datum (Int -> Int -> Int)
forall a. Term -> Datum a
Datum (Term -> Datum (Int -> Int -> Int))
-> Term -> Datum (Int -> Int -> Int)
forall a b. (a -> b) -> a -> b
$ Name -> Term
Terms.primitive Name
_math_rem

sub :: Datum (Int -> Int -> Int)
sub :: Datum (Int -> Int -> Int)
sub = Term -> Datum (Int -> Int -> Int)
forall a. Term -> Datum a
Datum (Term -> Datum (Int -> Int -> Int))
-> Term -> Datum (Int -> Int -> Int)
forall a b. (a -> b) -> a -> b
$ Name -> Term
Terms.primitive Name
_math_sub