{-# language Safe #-}
module D10.Num.Arithmetic where
import D10.Num (D10, d10Int, intMod10)
import qualified Prelude as P
import Prelude (Integral)
(+) :: Integral a => D10 a -> D10 a -> D10 a
D10 a
x + :: forall a. Integral a => D10 a -> D10 a -> D10 a
+ D10 a
y = forall a. Num a => Int -> D10 a
intMod10 (forall a. Integral a => D10 a -> Int
d10Int D10 a
x forall a. Num a => a -> a -> a
P.+ forall a. Integral a => D10 a -> Int
d10Int D10 a
y)
(-) :: Integral a => D10 a -> D10 a -> D10 a
D10 a
x - :: forall a. Integral a => D10 a -> D10 a -> D10 a
- D10 a
y = forall a. Num a => Int -> D10 a
intMod10 (forall a. Integral a => D10 a -> Int
d10Int D10 a
x forall a. Num a => a -> a -> a
P.- forall a. Integral a => D10 a -> Int
d10Int D10 a
y)
(*) :: Integral a => D10 a -> D10 a -> D10 a
D10 a
x * :: forall a. Integral a => D10 a -> D10 a -> D10 a
* D10 a
y = forall a. Num a => Int -> D10 a
intMod10 (forall a. Integral a => D10 a -> Int
d10Int D10 a
x forall a. Num a => a -> a -> a
P.* forall a. Integral a => D10 a -> Int
d10Int D10 a
y)