-- | Haskell implementations of hydra/lib/math primitives

module Hydra.Lib.Math where


neg :: Int -> Int
neg :: Int -> Int
neg = forall a. Num a => a -> a
negate

add :: Int -> Int -> Int
add :: Int -> Int -> Int
add Int
x Int
y = Int
x forall a. Num a => a -> a -> a
+ Int
y

sub :: Int -> Int -> Int
sub :: Int -> Int -> Int
sub Int
x Int
y = Int
x forall a. Num a => a -> a -> a
- Int
y

mul :: Int -> Int -> Int
mul :: Int -> Int -> Int
mul Int
x Int
y = Int
x forall a. Num a => a -> a -> a
* Int
y

div :: Int -> Int -> Int
div :: Int -> Int -> Int
div = forall a. Integral a => a -> a -> a
Prelude.div

mod :: Int -> Int -> Int
mod :: Int -> Int -> Int
mod = forall a. Integral a => a -> a -> a
Prelude.mod

rem :: Int -> Int -> Int
rem :: Int -> Int -> Int
rem = forall a. Integral a => a -> a -> a
Prelude.rem