tower-0.1.0: A numeric tower

Safe HaskellNone
LanguageHaskell2010

Tower.VectorU

Description

unboxed vector

Synopsis

Documentation

data VectorU n a Source #

wrapped fixed-size unboxed vector

Constructors

VectorU 

Fields

Instances

(KnownNat n, Unbox a, AdditiveUnital a, Multiplicative a) => MultiplicativeModule a (VectorU n a) Source # 

Methods

(.*) :: a -> VectorU n a -> VectorU n a Source #

(*.) :: VectorU n a -> a -> VectorU n a Source #

(KnownNat n, Unbox a, Additive a) => AdditiveModule a (VectorU n a) Source # 

Methods

(.+) :: a -> VectorU n a -> VectorU n a Source #

(+.) :: VectorU n a -> a -> VectorU n a Source #

(KnownNat n, Unbox a, AdditiveUnital a, MultiplicativeUnital a, MultiplicativeMagma a) => MultiplicativeHomomorphic a (VectorU n a) Source # 

Methods

timeshom :: a -> VectorU n a Source #

(KnownNat n, Unbox a, AdditiveUnital a, AdditiveMagma a) => AdditiveHomomorphic a (VectorU n a) Source # 

Methods

plushom :: a -> VectorU n a Source #

(Eq a, Unbox a) => Eq (VectorU n a) Source # 

Methods

(==) :: VectorU n a -> VectorU n a -> Bool #

(/=) :: VectorU n a -> VectorU n a -> Bool #

(Unbox a, Show a) => Show (VectorU n a) Source # 

Methods

showsPrec :: Int -> VectorU n a -> ShowS #

show :: VectorU n a -> String #

showList :: [VectorU n a] -> ShowS #

(KnownNat n, Arbitrary a, Unbox a, AdditiveUnital a) => Arbitrary (VectorU n a) Source # 

Methods

arbitrary :: Gen (VectorU n a) #

shrink :: VectorU n a -> [VectorU n a] #

(KnownNat n, Unbox a, Integral a) => Integral (VectorU n a) Source # 

Methods

toInteger :: VectorU n a -> Integer Source #

div :: VectorU n a -> VectorU n a -> VectorU n a Source #

mod :: VectorU n a -> VectorU n a -> VectorU n a Source #

divMod :: VectorU n a -> VectorU n a -> (VectorU n a, VectorU n a) Source #

(KnownNat n, Unbox a, Ring a) => Ring (VectorU n a) Source # 
(KnownNat n, Unbox a, Distributive a) => Distributive (VectorU n a) Source # 
(KnownNat n, Unbox a, AdditiveUnital a, MultiplicativeGroup a) => MultiplicativeGroup (VectorU n a) Source # 

Methods

(/) :: VectorU n a -> VectorU n a -> VectorU n a Source #

(KnownNat n, Unbox a, AdditiveUnital a, Multiplicative a) => Multiplicative (VectorU n a) Source # 

Methods

(*) :: VectorU n a -> VectorU n a -> VectorU n a Source #

(Unbox a, MultiplicativeInvertible a) => MultiplicativeInvertible (VectorU n a) Source # 

Methods

recip :: VectorU n a -> VectorU n a Source #

(Unbox a, MultiplicativeAssociative a) => MultiplicativeAssociative (VectorU n a) Source # 
(Unbox a, MultiplicativeCommutative a) => MultiplicativeCommutative (VectorU n a) Source # 
(KnownNat n, Unbox a, AdditiveUnital a, MultiplicativeUnital a) => MultiplicativeUnital (VectorU n a) Source # 

Methods

one :: VectorU n a Source #

(Unbox a, MultiplicativeMagma a) => MultiplicativeMagma (VectorU n a) Source # 

Methods

times :: VectorU n a -> VectorU n a -> VectorU n a Source #

(KnownNat n, Unbox a, AdditiveGroup a) => AdditiveGroup (VectorU n a) Source # 

Methods

(-) :: VectorU n a -> VectorU n a -> VectorU n a Source #

(KnownNat n, Unbox a, Additive a) => Additive (VectorU n a) Source # 

Methods

(+) :: VectorU n a -> VectorU n a -> VectorU n a Source #

(Unbox a, AdditiveInvertible a) => AdditiveInvertible (VectorU n a) Source # 

Methods

negate :: VectorU n a -> VectorU n a Source #

(Unbox a, AdditiveCommutative a) => AdditiveCommutative (VectorU n a) Source # 
(Unbox a, AdditiveAssociative a) => AdditiveAssociative (VectorU n a) Source # 
(KnownNat n, Unbox a, AdditiveUnital a) => AdditiveUnital (VectorU n a) Source # 

Methods

zero :: VectorU n a Source #

(Unbox a, AdditiveMagma a) => AdditiveMagma (VectorU n a) Source # 

Methods

plus :: VectorU n a -> VectorU n a -> VectorU n a Source #

toVectorU :: forall a n. (AdditiveUnital a, Unbox a, KnownNat n) => [a] -> VectorU (n :: Nat) a Source #

toVectorU right pads with zeros, if necessary which introduces an extra AdditiveUnital constraint