torsor-0.1.0.1: Torsor Typeclass
Safe HaskellSafe-Inferred
LanguageHaskell2010

Torsor

Description

The typeclasses provides in this module are equivalent to three of the typeclasses from the vector-space package. This package uses MPTCs with functional dependencies instead of type families in order to improved error messages.

Documentation

class Additive v where Source #

Methods

zero :: v Source #

invert :: v -> v Source #

plus :: v -> v -> v Source #

minus :: v -> v -> v Source #

Instances

Instances details
Additive Int16 Source # 
Instance details

Defined in Torsor

Additive Int32 Source # 
Instance details

Defined in Torsor

Additive Int64 Source # 
Instance details

Defined in Torsor

Additive Int8 Source # 
Instance details

Defined in Torsor

Additive Word16 Source # 
Instance details

Defined in Torsor

Additive Word32 Source # 
Instance details

Defined in Torsor

Additive Word64 Source # 
Instance details

Defined in Torsor

Additive Word8 Source # 
Instance details

Defined in Torsor

Additive Double Source # 
Instance details

Defined in Torsor

Additive Int Source # 
Instance details

Defined in Torsor

Methods

zero :: Int Source #

invert :: Int -> Int Source #

plus :: Int -> Int -> Int Source #

minus :: Int -> Int -> Int Source #

Additive Word Source # 
Instance details

Defined in Torsor

class Additive v => Torsor p v | p -> v where Source #

Methods

add :: v -> p -> p Source #

difference :: p -> p -> v Source #

Instances

Instances details
Torsor Int16 Int16 Source # 
Instance details

Defined in Torsor

Torsor Int32 Int32 Source # 
Instance details

Defined in Torsor

Torsor Int64 Int64 Source # 
Instance details

Defined in Torsor

Torsor Int8 Int8 Source # 
Instance details

Defined in Torsor

Methods

add :: Int8 -> Int8 -> Int8 Source #

difference :: Int8 -> Int8 -> Int8 Source #

Torsor Word16 Word16 Source # 
Instance details

Defined in Torsor

Torsor Word32 Word32 Source # 
Instance details

Defined in Torsor

Torsor Word64 Word64 Source # 
Instance details

Defined in Torsor

Torsor Word8 Word8 Source # 
Instance details

Defined in Torsor

Torsor Double Double Source # 
Instance details

Defined in Torsor

Torsor Int Int Source # 
Instance details

Defined in Torsor

Methods

add :: Int -> Int -> Int Source #

difference :: Int -> Int -> Int Source #

Torsor Word Word Source # 
Instance details

Defined in Torsor

Methods

add :: Word -> Word -> Word Source #

difference :: Word -> Word -> Word Source #

class (Additive v, Additive s) => Scaling v s | v -> s where Source #

Methods

scale :: s -> v -> v Source #

Instances

Instances details
Scaling Int16 Int16 Source # 
Instance details

Defined in Torsor

Methods

scale :: Int16 -> Int16 -> Int16 Source #

Scaling Int32 Int32 Source # 
Instance details

Defined in Torsor

Methods

scale :: Int32 -> Int32 -> Int32 Source #

Scaling Int64 Int64 Source # 
Instance details

Defined in Torsor

Methods

scale :: Int64 -> Int64 -> Int64 Source #

Scaling Int8 Int8 Source # 
Instance details

Defined in Torsor

Methods

scale :: Int8 -> Int8 -> Int8 Source #

Scaling Word16 Word16 Source # 
Instance details

Defined in Torsor

Methods

scale :: Word16 -> Word16 -> Word16 Source #

Scaling Word32 Word32 Source # 
Instance details

Defined in Torsor

Methods

scale :: Word32 -> Word32 -> Word32 Source #

Scaling Word64 Word64 Source # 
Instance details

Defined in Torsor

Methods

scale :: Word64 -> Word64 -> Word64 Source #

Scaling Word8 Word8 Source # 
Instance details

Defined in Torsor

Methods

scale :: Word8 -> Word8 -> Word8 Source #

Scaling Double Double Source # 
Instance details

Defined in Torsor

Methods

scale :: Double -> Double -> Double Source #

Scaling Int Int Source # 
Instance details

Defined in Torsor

Methods

scale :: Int -> Int -> Int Source #

Scaling Word Word Source # 
Instance details

Defined in Torsor

Methods

scale :: Word -> Word -> Word Source #