foundation-0.0.28: Alternative prelude with batteries and no dependencies
LicenseBSD-style
MaintainerVincent Hanquez <vincent@snarc.org>
Stabilityexperimental
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

Foundation.Numerical

Description

Compared to the Haskell hierarchy of number classes this provide a more flexible approach that is closer to the mathematical foundation (group, field, etc)

This try to only provide one feature per class, at the expense of the number of classes.

Synopsis

Documentation

class (Integral a, Eq a, Ord a) => IsIntegral a where #

Methods

toInteger :: a -> Integer #

Instances

Instances details
IsIntegral Int 
Instance details

Defined in Basement.Numerical.Number

Methods

toInteger :: Int -> Integer #

IsIntegral Int8 
Instance details

Defined in Basement.Numerical.Number

Methods

toInteger :: Int8 -> Integer #

IsIntegral Int16 
Instance details

Defined in Basement.Numerical.Number

Methods

toInteger :: Int16 -> Integer #

IsIntegral Int32 
Instance details

Defined in Basement.Numerical.Number

Methods

toInteger :: Int32 -> Integer #

IsIntegral Int64 
Instance details

Defined in Basement.Numerical.Number

Methods

toInteger :: Int64 -> Integer #

IsIntegral Integer 
Instance details

Defined in Basement.Numerical.Number

Methods

toInteger :: Integer -> Integer #

IsIntegral Natural 
Instance details

Defined in Basement.Numerical.Number

Methods

toInteger :: Natural -> Integer #

IsIntegral Word 
Instance details

Defined in Basement.Numerical.Number

Methods

toInteger :: Word -> Integer #

IsIntegral Word8 
Instance details

Defined in Basement.Numerical.Number

Methods

toInteger :: Word8 -> Integer #

IsIntegral Word16 
Instance details

Defined in Basement.Numerical.Number

Methods

toInteger :: Word16 -> Integer #

IsIntegral Word32 
Instance details

Defined in Basement.Numerical.Number

Methods

toInteger :: Word32 -> Integer #

IsIntegral Word64 
Instance details

Defined in Basement.Numerical.Number

Methods

toInteger :: Word64 -> Integer #

IsIntegral CInt 
Instance details

Defined in Basement.Numerical.Number

Methods

toInteger :: CInt -> Integer #

IsIntegral CSize 
Instance details

Defined in Basement.Numerical.Number

Methods

toInteger :: CSize -> Integer #

IsIntegral CChar 
Instance details

Defined in Basement.Numerical.Number

Methods

toInteger :: CChar -> Integer #

IsIntegral CUChar 
Instance details

Defined in Basement.Numerical.Number

Methods

toInteger :: CUChar -> Integer #

IsIntegral Word128 
Instance details

Defined in Basement.Types.Word128

Methods

toInteger :: Word128 -> Integer #

IsIntegral Word256 
Instance details

Defined in Basement.Types.Word256

Methods

toInteger :: Word256 -> Integer #

IsIntegral CIntMax 
Instance details

Defined in Basement.Numerical.Number

Methods

toInteger :: CIntMax -> Integer #

IsIntegral CLLong 
Instance details

Defined in Basement.Numerical.Number

Methods

toInteger :: CLLong -> Integer #

IsIntegral CLong 
Instance details

Defined in Basement.Numerical.Number

Methods

toInteger :: CLong -> Integer #

IsIntegral CPtrdiff 
Instance details

Defined in Basement.Numerical.Number

Methods

toInteger :: CPtrdiff -> Integer #

IsIntegral CSChar 
Instance details

Defined in Basement.Numerical.Number

Methods

toInteger :: CSChar -> Integer #

IsIntegral CShort 
Instance details

Defined in Basement.Numerical.Number

Methods

toInteger :: CShort -> Integer #

IsIntegral CWchar 
Instance details

Defined in Basement.Numerical.Number

Methods

toInteger :: CWchar -> Integer #

IsIntegral CBool 
Instance details

Defined in Basement.Numerical.Number

Methods

toInteger :: CBool -> Integer #

IsIntegral CIntPtr 
Instance details

Defined in Basement.Numerical.Number

Methods

toInteger :: CIntPtr -> Integer #

IsIntegral CSigAtomic 
Instance details

Defined in Basement.Numerical.Number

Methods

toInteger :: CSigAtomic -> Integer #

IsIntegral CUInt 
Instance details

Defined in Basement.Numerical.Number

Methods

toInteger :: CUInt -> Integer #

IsIntegral CUIntMax 
Instance details

Defined in Basement.Numerical.Number

Methods

toInteger :: CUIntMax -> Integer #

IsIntegral CUIntPtr 
Instance details

Defined in Basement.Numerical.Number

Methods

toInteger :: CUIntPtr -> Integer #

IsIntegral CULLong 
Instance details

Defined in Basement.Numerical.Number

Methods

toInteger :: CULLong -> Integer #

IsIntegral CULong 
Instance details

Defined in Basement.Numerical.Number

Methods

toInteger :: CULong -> Integer #

IsIntegral CUShort 
Instance details

Defined in Basement.Numerical.Number

Methods

toInteger :: CUShort -> Integer #

IsIntegral (Offset ty) 
Instance details

Defined in Basement.Types.OffsetSize

Methods

toInteger :: Offset ty -> Integer #

IsIntegral (CountOf ty) 
Instance details

Defined in Basement.Types.OffsetSize

Methods

toInteger :: CountOf ty -> Integer #

KnownNat n => IsIntegral (Zn n) 
Instance details

Defined in Basement.Bounded

Methods

toInteger :: Zn n -> Integer #

(KnownNat n, NatWithinBound Word64 n) => IsIntegral (Zn64 n) 
Instance details

Defined in Basement.Bounded

Methods

toInteger :: Zn64 n -> Integer #

class IsIntegral a => IsNatural a where #

Methods

toNatural :: a -> Natural #

Instances

Instances details
IsNatural Natural 
Instance details

Defined in Basement.Numerical.Number

Methods

toNatural :: Natural -> Natural #

IsNatural Word 
Instance details

Defined in Basement.Numerical.Number

Methods

toNatural :: Word -> Natural #

IsNatural Word8 
Instance details

Defined in Basement.Numerical.Number

Methods

toNatural :: Word8 -> Natural #

IsNatural Word16 
Instance details

Defined in Basement.Numerical.Number

Methods

toNatural :: Word16 -> Natural #

IsNatural Word32 
Instance details

Defined in Basement.Numerical.Number

Methods

toNatural :: Word32 -> Natural #

IsNatural Word64 
Instance details

Defined in Basement.Numerical.Number

Methods

toNatural :: Word64 -> Natural #

IsNatural CSize 
Instance details

Defined in Basement.Numerical.Number

Methods

toNatural :: CSize -> Natural #

IsNatural CUChar 
Instance details

Defined in Basement.Numerical.Number

Methods

toNatural :: CUChar -> Natural #

IsNatural Word128 
Instance details

Defined in Basement.Types.Word128

Methods

toNatural :: Word128 -> Natural #

IsNatural Word256 
Instance details

Defined in Basement.Types.Word256

Methods

toNatural :: Word256 -> Natural #

IsNatural CUInt 
Instance details

Defined in Basement.Numerical.Number

Methods

toNatural :: CUInt -> Natural #

IsNatural CUIntMax 
Instance details

Defined in Basement.Numerical.Number

Methods

toNatural :: CUIntMax -> Natural #

IsNatural CUIntPtr 
Instance details

Defined in Basement.Numerical.Number

Methods

toNatural :: CUIntPtr -> Natural #

IsNatural CULLong 
Instance details

Defined in Basement.Numerical.Number

Methods

toNatural :: CULLong -> Natural #

IsNatural CULong 
Instance details

Defined in Basement.Numerical.Number

Methods

toNatural :: CULong -> Natural #

IsNatural CUShort 
Instance details

Defined in Basement.Numerical.Number

Methods

toNatural :: CUShort -> Natural #

IsNatural (Offset ty) 
Instance details

Defined in Basement.Types.OffsetSize

Methods

toNatural :: Offset ty -> Natural #

IsNatural (CountOf ty) 
Instance details

Defined in Basement.Types.OffsetSize

Methods

toNatural :: CountOf ty -> Natural #

KnownNat n => IsNatural (Zn n) 
Instance details

Defined in Basement.Bounded

Methods

toNatural :: Zn n -> Natural #

(KnownNat n, NatWithinBound Word64 n) => IsNatural (Zn64 n) 
Instance details

Defined in Basement.Bounded

Methods

toNatural :: Zn64 n -> Natural #

class Signed a where Source #

types that have sign and can be made absolute

Methods

abs :: a -> a Source #

signum :: a -> Sign Source #

Instances

Instances details
Signed Double Source # 
Instance details

Defined in Foundation.Numerical

Signed Float Source # 
Instance details

Defined in Foundation.Numerical

Signed Int Source # 
Instance details

Defined in Foundation.Numerical

Methods

abs :: Int -> Int Source #

signum :: Int -> Sign Source #

Signed Int8 Source # 
Instance details

Defined in Foundation.Numerical

Methods

abs :: Int8 -> Int8 Source #

signum :: Int8 -> Sign Source #

Signed Int16 Source # 
Instance details

Defined in Foundation.Numerical

Signed Int32 Source # 
Instance details

Defined in Foundation.Numerical

Signed Int64 Source # 
Instance details

Defined in Foundation.Numerical

Signed Integer Source # 
Instance details

Defined in Foundation.Numerical

class Additive a where #

Minimal complete definition

azero, (+)

Methods

azero :: a #

(+) :: a -> a -> a #

scale :: IsNatural n => n -> a -> a #

Instances

Instances details
Additive Double 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: Double #

(+) :: Double -> Double -> Double #

scale :: IsNatural n => n -> Double -> Double #

Additive Float 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: Float #

(+) :: Float -> Float -> Float #

scale :: IsNatural n => n -> Float -> Float #

Additive Int 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: Int #

(+) :: Int -> Int -> Int #

scale :: IsNatural n => n -> Int -> Int #

Additive Int8 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: Int8 #

(+) :: Int8 -> Int8 -> Int8 #

scale :: IsNatural n => n -> Int8 -> Int8 #

Additive Int16 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: Int16 #

(+) :: Int16 -> Int16 -> Int16 #

scale :: IsNatural n => n -> Int16 -> Int16 #

Additive Int32 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: Int32 #

(+) :: Int32 -> Int32 -> Int32 #

scale :: IsNatural n => n -> Int32 -> Int32 #

Additive Int64 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: Int64 #

(+) :: Int64 -> Int64 -> Int64 #

scale :: IsNatural n => n -> Int64 -> Int64 #

Additive Integer 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: Integer #

(+) :: Integer -> Integer -> Integer #

scale :: IsNatural n => n -> Integer -> Integer #

Additive Natural 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: Natural #

(+) :: Natural -> Natural -> Natural #

scale :: IsNatural n => n -> Natural -> Natural #

Additive Rational 
Instance details

Defined in Basement.Numerical.Additive

Additive Word 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: Word #

(+) :: Word -> Word -> Word #

scale :: IsNatural n => n -> Word -> Word #

Additive Word8 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: Word8 #

(+) :: Word8 -> Word8 -> Word8 #

scale :: IsNatural n => n -> Word8 -> Word8 #

Additive Word16 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: Word16 #

(+) :: Word16 -> Word16 -> Word16 #

scale :: IsNatural n => n -> Word16 -> Word16 #

Additive Word32 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: Word32 #

(+) :: Word32 -> Word32 -> Word32 #

scale :: IsNatural n => n -> Word32 -> Word32 #

Additive Word64 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: Word64 #

(+) :: Word64 -> Word64 -> Word64 #

scale :: IsNatural n => n -> Word64 -> Word64 #

Additive CInt 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: CInt #

(+) :: CInt -> CInt -> CInt #

scale :: IsNatural n => n -> CInt -> CInt #

Additive CSize 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: CSize #

(+) :: CSize -> CSize -> CSize #

scale :: IsNatural n => n -> CSize -> CSize #

Additive CChar 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: CChar #

(+) :: CChar -> CChar -> CChar #

scale :: IsNatural n => n -> CChar -> CChar #

Additive CUChar 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: CUChar #

(+) :: CUChar -> CUChar -> CUChar #

scale :: IsNatural n => n -> CUChar -> CUChar #

Additive Word128 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: Word128 #

(+) :: Word128 -> Word128 -> Word128 #

scale :: IsNatural n => n -> Word128 -> Word128 #

Additive Word256 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: Word256 #

(+) :: Word256 -> Word256 -> Word256 #

scale :: IsNatural n => n -> Word256 -> Word256 #

Additive CDouble 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: CDouble #

(+) :: CDouble -> CDouble -> CDouble #

scale :: IsNatural n => n -> CDouble -> CDouble #

Additive CFloat 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: CFloat #

(+) :: CFloat -> CFloat -> CFloat #

scale :: IsNatural n => n -> CFloat -> CFloat #

Additive CIntMax 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: CIntMax #

(+) :: CIntMax -> CIntMax -> CIntMax #

scale :: IsNatural n => n -> CIntMax -> CIntMax #

Additive CLLong 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: CLLong #

(+) :: CLLong -> CLLong -> CLLong #

scale :: IsNatural n => n -> CLLong -> CLLong #

Additive CLong 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: CLong #

(+) :: CLong -> CLong -> CLong #

scale :: IsNatural n => n -> CLong -> CLong #

Additive CPtrdiff 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: CPtrdiff #

(+) :: CPtrdiff -> CPtrdiff -> CPtrdiff #

scale :: IsNatural n => n -> CPtrdiff -> CPtrdiff #

Additive CSChar 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: CSChar #

(+) :: CSChar -> CSChar -> CSChar #

scale :: IsNatural n => n -> CSChar -> CSChar #

Additive CShort 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: CShort #

(+) :: CShort -> CShort -> CShort #

scale :: IsNatural n => n -> CShort -> CShort #

Additive CWchar 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: CWchar #

(+) :: CWchar -> CWchar -> CWchar #

scale :: IsNatural n => n -> CWchar -> CWchar #

Additive CClock 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: CClock #

(+) :: CClock -> CClock -> CClock #

scale :: IsNatural n => n -> CClock -> CClock #

Additive CIntPtr 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: CIntPtr #

(+) :: CIntPtr -> CIntPtr -> CIntPtr #

scale :: IsNatural n => n -> CIntPtr -> CIntPtr #

Additive COff 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: COff #

(+) :: COff -> COff -> COff #

scale :: IsNatural n => n -> COff -> COff #

Additive CSUSeconds 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: CSUSeconds #

(+) :: CSUSeconds -> CSUSeconds -> CSUSeconds #

scale :: IsNatural n => n -> CSUSeconds -> CSUSeconds #

Additive CSigAtomic 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: CSigAtomic #

(+) :: CSigAtomic -> CSigAtomic -> CSigAtomic #

scale :: IsNatural n => n -> CSigAtomic -> CSigAtomic #

Additive CTime 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: CTime #

(+) :: CTime -> CTime -> CTime #

scale :: IsNatural n => n -> CTime -> CTime #

Additive CUInt 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: CUInt #

(+) :: CUInt -> CUInt -> CUInt #

scale :: IsNatural n => n -> CUInt -> CUInt #

Additive CUIntMax 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: CUIntMax #

(+) :: CUIntMax -> CUIntMax -> CUIntMax #

scale :: IsNatural n => n -> CUIntMax -> CUIntMax #

Additive CUIntPtr 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: CUIntPtr #

(+) :: CUIntPtr -> CUIntPtr -> CUIntPtr #

scale :: IsNatural n => n -> CUIntPtr -> CUIntPtr #

Additive CULLong 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: CULLong #

(+) :: CULLong -> CULLong -> CULLong #

scale :: IsNatural n => n -> CULLong -> CULLong #

Additive CULong 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: CULong #

(+) :: CULong -> CULong -> CULong #

scale :: IsNatural n => n -> CULong -> CULong #

Additive CUSeconds 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: CUSeconds #

(+) :: CUSeconds -> CUSeconds -> CUSeconds #

scale :: IsNatural n => n -> CUSeconds -> CUSeconds #

Additive CUShort 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: CUShort #

(+) :: CUShort -> CUShort -> CUShort #

scale :: IsNatural n => n -> CUShort -> CUShort #

Additive Seconds Source # 
Instance details

Defined in Foundation.Time.Types

Methods

azero :: Seconds #

(+) :: Seconds -> Seconds -> Seconds #

scale :: IsNatural n => n -> Seconds -> Seconds #

Additive NanoSeconds Source # 
Instance details

Defined in Foundation.Time.Types

Additive (Offset ty) 
Instance details

Defined in Basement.Types.OffsetSize

Methods

azero :: Offset ty #

(+) :: Offset ty -> Offset ty -> Offset ty #

scale :: IsNatural n => n -> Offset ty -> Offset ty #

Additive (CountOf ty) 
Instance details

Defined in Basement.Types.OffsetSize

Methods

azero :: CountOf ty #

(+) :: CountOf ty -> CountOf ty -> CountOf ty #

scale :: IsNatural n => n -> CountOf ty -> CountOf ty #

SizeValid n => Additive (Bits n) 
Instance details

Defined in Basement.Bits

Methods

azero :: Bits n #

(+) :: Bits n -> Bits n -> Bits n #

scale :: IsNatural n0 => n0 -> Bits n -> Bits n #

KnownNat n => Additive (Zn n) 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: Zn n #

(+) :: Zn n -> Zn n -> Zn n #

scale :: IsNatural n0 => n0 -> Zn n -> Zn n #

(KnownNat n, NatWithinBound Word64 n) => Additive (Zn64 n) 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: Zn64 n #

(+) :: Zn64 n -> Zn64 n -> Zn64 n #

scale :: IsNatural n0 => n0 -> Zn64 n -> Zn64 n #

class Subtractive a where #

Associated Types

type Difference a #

Methods

(-) :: a -> a -> Difference a #

Instances

Instances details
Subtractive Char 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference Char #

Methods

(-) :: Char -> Char -> Difference Char #

Subtractive Double 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference Double #

Subtractive Float 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference Float #

Methods

(-) :: Float -> Float -> Difference Float #

Subtractive Int 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference Int #

Methods

(-) :: Int -> Int -> Difference Int #

Subtractive Int8 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference Int8 #

Methods

(-) :: Int8 -> Int8 -> Difference Int8 #

Subtractive Int16 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference Int16 #

Methods

(-) :: Int16 -> Int16 -> Difference Int16 #

Subtractive Int32 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference Int32 #

Methods

(-) :: Int32 -> Int32 -> Difference Int32 #

Subtractive Int64 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference Int64 #

Methods

(-) :: Int64 -> Int64 -> Difference Int64 #

Subtractive Integer 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference Integer #

Subtractive Natural 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference Natural #

Subtractive Word 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference Word #

Methods

(-) :: Word -> Word -> Difference Word #

Subtractive Word8 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference Word8 #

Methods

(-) :: Word8 -> Word8 -> Difference Word8 #

Subtractive Word16 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference Word16 #

Subtractive Word32 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference Word32 #

Subtractive Word64 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference Word64 #

Subtractive CInt 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CInt #

Methods

(-) :: CInt -> CInt -> Difference CInt #

Subtractive CSize 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CSize #

Methods

(-) :: CSize -> CSize -> Difference CSize #

Subtractive CChar 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CChar #

Methods

(-) :: CChar -> CChar -> Difference CChar #

Subtractive CUChar 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CUChar #

Methods

(-) :: CUChar -> CUChar -> Difference CUChar #

Subtractive Word128 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference Word128 #

Subtractive Word256 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference Word256 #

Subtractive CDouble 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CDouble #

Methods

(-) :: CDouble -> CDouble -> Difference CDouble #

Subtractive CFloat 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CFloat #

Methods

(-) :: CFloat -> CFloat -> Difference CFloat #

Subtractive CIntMax 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CIntMax #

Methods

(-) :: CIntMax -> CIntMax -> Difference CIntMax #

Subtractive CLLong 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CLLong #

Methods

(-) :: CLLong -> CLLong -> Difference CLLong #

Subtractive CLong 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CLong #

Methods

(-) :: CLong -> CLong -> Difference CLong #

Subtractive CPtrdiff 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CPtrdiff #

Methods

(-) :: CPtrdiff -> CPtrdiff -> Difference CPtrdiff #

Subtractive CSChar 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CSChar #

Methods

(-) :: CSChar -> CSChar -> Difference CSChar #

Subtractive CShort 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CShort #

Methods

(-) :: CShort -> CShort -> Difference CShort #

Subtractive CWchar 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CWchar #

Methods

(-) :: CWchar -> CWchar -> Difference CWchar #

Subtractive CBool 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CBool #

Methods

(-) :: CBool -> CBool -> Difference CBool #

Subtractive CClock 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CClock #

Methods

(-) :: CClock -> CClock -> Difference CClock #

Subtractive CIntPtr 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CIntPtr #

Methods

(-) :: CIntPtr -> CIntPtr -> Difference CIntPtr #

Subtractive COff 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference COff #

Methods

(-) :: COff -> COff -> Difference COff #

Subtractive CSUSeconds 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CSUSeconds #

Methods

(-) :: CSUSeconds -> CSUSeconds -> Difference CSUSeconds #

Subtractive CSigAtomic 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CSigAtomic #

Methods

(-) :: CSigAtomic -> CSigAtomic -> Difference CSigAtomic #

Subtractive CTime 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CTime #

Methods

(-) :: CTime -> CTime -> Difference CTime #

Subtractive CUInt 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CUInt #

Methods

(-) :: CUInt -> CUInt -> Difference CUInt #

Subtractive CUIntMax 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CUIntMax #

Methods

(-) :: CUIntMax -> CUIntMax -> Difference CUIntMax #

Subtractive CUIntPtr 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CUIntPtr #

Methods

(-) :: CUIntPtr -> CUIntPtr -> Difference CUIntPtr #

Subtractive CULLong 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CULLong #

Methods

(-) :: CULLong -> CULLong -> Difference CULLong #

Subtractive CULong 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CULong #

Methods

(-) :: CULong -> CULong -> Difference CULong #

Subtractive CUSeconds 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CUSeconds #

Methods

(-) :: CUSeconds -> CUSeconds -> Difference CUSeconds #

Subtractive CUShort 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CUShort #

Methods

(-) :: CUShort -> CUShort -> Difference CUShort #

Subtractive (Offset ty) 
Instance details

Defined in Basement.Types.OffsetSize

Associated Types

type Difference (Offset ty) #

Methods

(-) :: Offset ty -> Offset ty -> Difference (Offset ty) #

Subtractive (CountOf ty) 
Instance details

Defined in Basement.Types.OffsetSize

Associated Types

type Difference (CountOf ty) #

Methods

(-) :: CountOf ty -> CountOf ty -> Difference (CountOf ty) #

SizeValid n => Subtractive (Bits n) 
Instance details

Defined in Basement.Bits

Associated Types

type Difference (Bits n) #

Methods

(-) :: Bits n -> Bits n -> Difference (Bits n) #

KnownNat n => Subtractive (Zn n) 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference (Zn n) #

Methods

(-) :: Zn n -> Zn n -> Difference (Zn n) #

(KnownNat n, NatWithinBound Word64 n) => Subtractive (Zn64 n) 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference (Zn64 n) #

Methods

(-) :: Zn64 n -> Zn64 n -> Difference (Zn64 n) #

class Multiplicative a where #

Minimal complete definition

midentity, (*)

Methods

midentity :: a #

(*) :: a -> a -> a #

(^) :: (IsNatural n, Enum n, IDivisible n) => a -> n -> a #

Instances

Instances details
Multiplicative Double 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

midentity :: Double #

(*) :: Double -> Double -> Double #

(^) :: (IsNatural n, Enum n, IDivisible n) => Double -> n -> Double #

Multiplicative Float 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

midentity :: Float #

(*) :: Float -> Float -> Float #

(^) :: (IsNatural n, Enum n, IDivisible n) => Float -> n -> Float #

Multiplicative Int 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

midentity :: Int #

(*) :: Int -> Int -> Int #

(^) :: (IsNatural n, Enum n, IDivisible n) => Int -> n -> Int #

Multiplicative Int8 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

midentity :: Int8 #

(*) :: Int8 -> Int8 -> Int8 #

(^) :: (IsNatural n, Enum n, IDivisible n) => Int8 -> n -> Int8 #

Multiplicative Int16 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

midentity :: Int16 #

(*) :: Int16 -> Int16 -> Int16 #

(^) :: (IsNatural n, Enum n, IDivisible n) => Int16 -> n -> Int16 #

Multiplicative Int32 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

midentity :: Int32 #

(*) :: Int32 -> Int32 -> Int32 #

(^) :: (IsNatural n, Enum n, IDivisible n) => Int32 -> n -> Int32 #

Multiplicative Int64 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

midentity :: Int64 #

(*) :: Int64 -> Int64 -> Int64 #

(^) :: (IsNatural n, Enum n, IDivisible n) => Int64 -> n -> Int64 #

Multiplicative Integer 
Instance details

Defined in Basement.Numerical.Multiplicative

Multiplicative Natural 
Instance details

Defined in Basement.Numerical.Multiplicative

Multiplicative Rational 
Instance details

Defined in Basement.Numerical.Multiplicative

Multiplicative Word 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

midentity :: Word #

(*) :: Word -> Word -> Word #

(^) :: (IsNatural n, Enum n, IDivisible n) => Word -> n -> Word #

Multiplicative Word8 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

midentity :: Word8 #

(*) :: Word8 -> Word8 -> Word8 #

(^) :: (IsNatural n, Enum n, IDivisible n) => Word8 -> n -> Word8 #

Multiplicative Word16 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

midentity :: Word16 #

(*) :: Word16 -> Word16 -> Word16 #

(^) :: (IsNatural n, Enum n, IDivisible n) => Word16 -> n -> Word16 #

Multiplicative Word32 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

midentity :: Word32 #

(*) :: Word32 -> Word32 -> Word32 #

(^) :: (IsNatural n, Enum n, IDivisible n) => Word32 -> n -> Word32 #

Multiplicative Word64 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

midentity :: Word64 #

(*) :: Word64 -> Word64 -> Word64 #

(^) :: (IsNatural n, Enum n, IDivisible n) => Word64 -> n -> Word64 #

Multiplicative CInt 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

midentity :: CInt #

(*) :: CInt -> CInt -> CInt #

(^) :: (IsNatural n, Enum n, IDivisible n) => CInt -> n -> CInt #

Multiplicative CSize 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

midentity :: CSize #

(*) :: CSize -> CSize -> CSize #

(^) :: (IsNatural n, Enum n, IDivisible n) => CSize -> n -> CSize #

Multiplicative CChar 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

midentity :: CChar #

(*) :: CChar -> CChar -> CChar #

(^) :: (IsNatural n, Enum n, IDivisible n) => CChar -> n -> CChar #

Multiplicative CUChar 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

midentity :: CUChar #

(*) :: CUChar -> CUChar -> CUChar #

(^) :: (IsNatural n, Enum n, IDivisible n) => CUChar -> n -> CUChar #

Multiplicative Word128 
Instance details

Defined in Basement.Numerical.Multiplicative

Multiplicative Word256 
Instance details

Defined in Basement.Numerical.Multiplicative

Multiplicative CDouble 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

midentity :: CDouble #

(*) :: CDouble -> CDouble -> CDouble #

(^) :: (IsNatural n, Enum n, IDivisible n) => CDouble -> n -> CDouble #

Multiplicative CFloat 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

midentity :: CFloat #

(*) :: CFloat -> CFloat -> CFloat #

(^) :: (IsNatural n, Enum n, IDivisible n) => CFloat -> n -> CFloat #

Multiplicative CIntMax 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

midentity :: CIntMax #

(*) :: CIntMax -> CIntMax -> CIntMax #

(^) :: (IsNatural n, Enum n, IDivisible n) => CIntMax -> n -> CIntMax #

Multiplicative CLLong 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

midentity :: CLLong #

(*) :: CLLong -> CLLong -> CLLong #

(^) :: (IsNatural n, Enum n, IDivisible n) => CLLong -> n -> CLLong #

Multiplicative CLong 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

midentity :: CLong #

(*) :: CLong -> CLong -> CLong #

(^) :: (IsNatural n, Enum n, IDivisible n) => CLong -> n -> CLong #

Multiplicative CPtrdiff 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

midentity :: CPtrdiff #

(*) :: CPtrdiff -> CPtrdiff -> CPtrdiff #

(^) :: (IsNatural n, Enum n, IDivisible n) => CPtrdiff -> n -> CPtrdiff #

Multiplicative CSChar 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

midentity :: CSChar #

(*) :: CSChar -> CSChar -> CSChar #

(^) :: (IsNatural n, Enum n, IDivisible n) => CSChar -> n -> CSChar #

Multiplicative CShort 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

midentity :: CShort #

(*) :: CShort -> CShort -> CShort #

(^) :: (IsNatural n, Enum n, IDivisible n) => CShort -> n -> CShort #

Multiplicative CWchar 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

midentity :: CWchar #

(*) :: CWchar -> CWchar -> CWchar #

(^) :: (IsNatural n, Enum n, IDivisible n) => CWchar -> n -> CWchar #

Multiplicative CClock 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

midentity :: CClock #

(*) :: CClock -> CClock -> CClock #

(^) :: (IsNatural n, Enum n, IDivisible n) => CClock -> n -> CClock #

Multiplicative CIntPtr 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

midentity :: CIntPtr #

(*) :: CIntPtr -> CIntPtr -> CIntPtr #

(^) :: (IsNatural n, Enum n, IDivisible n) => CIntPtr -> n -> CIntPtr #

Multiplicative COff 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

midentity :: COff #

(*) :: COff -> COff -> COff #

(^) :: (IsNatural n, Enum n, IDivisible n) => COff -> n -> COff #

Multiplicative CSUSeconds 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

midentity :: CSUSeconds #

(*) :: CSUSeconds -> CSUSeconds -> CSUSeconds #

(^) :: (IsNatural n, Enum n, IDivisible n) => CSUSeconds -> n -> CSUSeconds #

Multiplicative CSigAtomic 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

midentity :: CSigAtomic #

(*) :: CSigAtomic -> CSigAtomic -> CSigAtomic #

(^) :: (IsNatural n, Enum n, IDivisible n) => CSigAtomic -> n -> CSigAtomic #

Multiplicative CTime 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

midentity :: CTime #

(*) :: CTime -> CTime -> CTime #

(^) :: (IsNatural n, Enum n, IDivisible n) => CTime -> n -> CTime #

Multiplicative CUInt 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

midentity :: CUInt #

(*) :: CUInt -> CUInt -> CUInt #

(^) :: (IsNatural n, Enum n, IDivisible n) => CUInt -> n -> CUInt #

Multiplicative CUIntMax 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

midentity :: CUIntMax #

(*) :: CUIntMax -> CUIntMax -> CUIntMax #

(^) :: (IsNatural n, Enum n, IDivisible n) => CUIntMax -> n -> CUIntMax #

Multiplicative CUIntPtr 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

midentity :: CUIntPtr #

(*) :: CUIntPtr -> CUIntPtr -> CUIntPtr #

(^) :: (IsNatural n, Enum n, IDivisible n) => CUIntPtr -> n -> CUIntPtr #

Multiplicative CULLong 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

midentity :: CULLong #

(*) :: CULLong -> CULLong -> CULLong #

(^) :: (IsNatural n, Enum n, IDivisible n) => CULLong -> n -> CULLong #

Multiplicative CULong 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

midentity :: CULong #

(*) :: CULong -> CULong -> CULong #

(^) :: (IsNatural n, Enum n, IDivisible n) => CULong -> n -> CULong #

Multiplicative CUSeconds 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

midentity :: CUSeconds #

(*) :: CUSeconds -> CUSeconds -> CUSeconds #

(^) :: (IsNatural n, Enum n, IDivisible n) => CUSeconds -> n -> CUSeconds #

Multiplicative CUShort 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

midentity :: CUShort #

(*) :: CUShort -> CUShort -> CUShort #

(^) :: (IsNatural n, Enum n, IDivisible n) => CUShort -> n -> CUShort #

SizeValid n => Multiplicative (Bits n) 
Instance details

Defined in Basement.Bits

Methods

midentity :: Bits n #

(*) :: Bits n -> Bits n -> Bits n #

(^) :: (IsNatural n0, Enum n0, IDivisible n0) => Bits n -> n0 -> Bits n #

class (Additive a, Multiplicative a) => IDivisible a where #

Minimal complete definition

div, mod | divMod

Methods

div :: a -> a -> a #

mod :: a -> a -> a #

divMod :: a -> a -> (a, a) #

Instances

Instances details
IDivisible Int 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

div :: Int -> Int -> Int #

mod :: Int -> Int -> Int #

divMod :: Int -> Int -> (Int, Int) #

IDivisible Int8 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

div :: Int8 -> Int8 -> Int8 #

mod :: Int8 -> Int8 -> Int8 #

divMod :: Int8 -> Int8 -> (Int8, Int8) #

IDivisible Int16 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

div :: Int16 -> Int16 -> Int16 #

mod :: Int16 -> Int16 -> Int16 #

divMod :: Int16 -> Int16 -> (Int16, Int16) #

IDivisible Int32 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

div :: Int32 -> Int32 -> Int32 #

mod :: Int32 -> Int32 -> Int32 #

divMod :: Int32 -> Int32 -> (Int32, Int32) #

IDivisible Int64 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

div :: Int64 -> Int64 -> Int64 #

mod :: Int64 -> Int64 -> Int64 #

divMod :: Int64 -> Int64 -> (Int64, Int64) #

IDivisible Integer 
Instance details

Defined in Basement.Numerical.Multiplicative

IDivisible Natural 
Instance details

Defined in Basement.Numerical.Multiplicative

IDivisible Word 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

div :: Word -> Word -> Word #

mod :: Word -> Word -> Word #

divMod :: Word -> Word -> (Word, Word) #

IDivisible Word8 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

div :: Word8 -> Word8 -> Word8 #

mod :: Word8 -> Word8 -> Word8 #

divMod :: Word8 -> Word8 -> (Word8, Word8) #

IDivisible Word16 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

div :: Word16 -> Word16 -> Word16 #

mod :: Word16 -> Word16 -> Word16 #

divMod :: Word16 -> Word16 -> (Word16, Word16) #

IDivisible Word32 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

div :: Word32 -> Word32 -> Word32 #

mod :: Word32 -> Word32 -> Word32 #

divMod :: Word32 -> Word32 -> (Word32, Word32) #

IDivisible Word64 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

div :: Word64 -> Word64 -> Word64 #

mod :: Word64 -> Word64 -> Word64 #

divMod :: Word64 -> Word64 -> (Word64, Word64) #

IDivisible CInt 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

div :: CInt -> CInt -> CInt #

mod :: CInt -> CInt -> CInt #

divMod :: CInt -> CInt -> (CInt, CInt) #

IDivisible CSize 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

div :: CSize -> CSize -> CSize #

mod :: CSize -> CSize -> CSize #

divMod :: CSize -> CSize -> (CSize, CSize) #

IDivisible CChar 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

div :: CChar -> CChar -> CChar #

mod :: CChar -> CChar -> CChar #

divMod :: CChar -> CChar -> (CChar, CChar) #

IDivisible CUChar 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

div :: CUChar -> CUChar -> CUChar #

mod :: CUChar -> CUChar -> CUChar #

divMod :: CUChar -> CUChar -> (CUChar, CUChar) #

IDivisible Word128 
Instance details

Defined in Basement.Numerical.Multiplicative

IDivisible Word256 
Instance details

Defined in Basement.Numerical.Multiplicative

IDivisible CIntMax 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

div :: CIntMax -> CIntMax -> CIntMax #

mod :: CIntMax -> CIntMax -> CIntMax #

divMod :: CIntMax -> CIntMax -> (CIntMax, CIntMax) #

IDivisible CLLong 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

div :: CLLong -> CLLong -> CLLong #

mod :: CLLong -> CLLong -> CLLong #

divMod :: CLLong -> CLLong -> (CLLong, CLLong) #

IDivisible CLong 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

div :: CLong -> CLong -> CLong #

mod :: CLong -> CLong -> CLong #

divMod :: CLong -> CLong -> (CLong, CLong) #

IDivisible CPtrdiff 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

div :: CPtrdiff -> CPtrdiff -> CPtrdiff #

mod :: CPtrdiff -> CPtrdiff -> CPtrdiff #

divMod :: CPtrdiff -> CPtrdiff -> (CPtrdiff, CPtrdiff) #

IDivisible CSChar 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

div :: CSChar -> CSChar -> CSChar #

mod :: CSChar -> CSChar -> CSChar #

divMod :: CSChar -> CSChar -> (CSChar, CSChar) #

IDivisible CShort 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

div :: CShort -> CShort -> CShort #

mod :: CShort -> CShort -> CShort #

divMod :: CShort -> CShort -> (CShort, CShort) #

IDivisible CWchar 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

div :: CWchar -> CWchar -> CWchar #

mod :: CWchar -> CWchar -> CWchar #

divMod :: CWchar -> CWchar -> (CWchar, CWchar) #

IDivisible CIntPtr 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

div :: CIntPtr -> CIntPtr -> CIntPtr #

mod :: CIntPtr -> CIntPtr -> CIntPtr #

divMod :: CIntPtr -> CIntPtr -> (CIntPtr, CIntPtr) #

IDivisible CSigAtomic 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

div :: CSigAtomic -> CSigAtomic -> CSigAtomic #

mod :: CSigAtomic -> CSigAtomic -> CSigAtomic #

divMod :: CSigAtomic -> CSigAtomic -> (CSigAtomic, CSigAtomic) #

IDivisible CUInt 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

div :: CUInt -> CUInt -> CUInt #

mod :: CUInt -> CUInt -> CUInt #

divMod :: CUInt -> CUInt -> (CUInt, CUInt) #

IDivisible CUIntMax 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

div :: CUIntMax -> CUIntMax -> CUIntMax #

mod :: CUIntMax -> CUIntMax -> CUIntMax #

divMod :: CUIntMax -> CUIntMax -> (CUIntMax, CUIntMax) #

IDivisible CUIntPtr 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

div :: CUIntPtr -> CUIntPtr -> CUIntPtr #

mod :: CUIntPtr -> CUIntPtr -> CUIntPtr #

divMod :: CUIntPtr -> CUIntPtr -> (CUIntPtr, CUIntPtr) #

IDivisible CULLong 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

div :: CULLong -> CULLong -> CULLong #

mod :: CULLong -> CULLong -> CULLong #

divMod :: CULLong -> CULLong -> (CULLong, CULLong) #

IDivisible CULong 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

div :: CULong -> CULong -> CULong #

mod :: CULong -> CULong -> CULong #

divMod :: CULong -> CULong -> (CULong, CULong) #

IDivisible CUShort 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

div :: CUShort -> CUShort -> CUShort #

mod :: CUShort -> CUShort -> CUShort #

divMod :: CUShort -> CUShort -> (CUShort, CUShort) #

SizeValid n => IDivisible (Bits n) 
Instance details

Defined in Basement.Bits

Methods

div :: Bits n -> Bits n -> Bits n #

mod :: Bits n -> Bits n -> Bits n #

divMod :: Bits n -> Bits n -> (Bits n, Bits n) #

class Multiplicative a => Divisible a where #

Methods

(/) :: a -> a -> a #

Instances

Instances details
Divisible Double 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

(/) :: Double -> Double -> Double #

Divisible Float 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

(/) :: Float -> Float -> Float #

Divisible Rational 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

(/) :: Rational -> Rational -> Rational #

Divisible CDouble 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

(/) :: CDouble -> CDouble -> CDouble #

Divisible CFloat 
Instance details

Defined in Basement.Numerical.Multiplicative

Methods

(/) :: CFloat -> CFloat -> CFloat #

data Sign Source #

Sign of a signed number

Instances

Instances details
Eq Sign Source # 
Instance details

Defined in Foundation.Numerical

Methods

(==) :: Sign -> Sign -> Bool #

(/=) :: Sign -> Sign -> Bool #

recip :: Divisible a => a -> a #

class IntegralRounding a where Source #

Methods

roundUp :: Integral n => a -> n Source #

Round up, to the next integral.

Also known as ceiling

roundDown :: Integral n => a -> n Source #

Round down, to the previous integral

Also known as floor

roundTruncate :: Integral n => a -> n Source #

Truncate to the closest integral to the fractional number closer to 0.

This is equivalent to roundUp for negative Number and roundDown for positive Number

roundNearest :: Integral n => a -> n Source #

Round to the nearest integral

roundNearest 3.6

4 > roundNearest 3.4 3

Instances

Instances details
IntegralRounding Double Source # 
Instance details

Defined in Foundation.Numerical

IntegralRounding Float Source # 
Instance details

Defined in Foundation.Numerical

IntegralRounding Rational Source # 
Instance details

Defined in Foundation.Numerical