cifl-math-library-1.1.1.0: Math libraries
Safe HaskellSafe
LanguageHaskell2010

Math.Number.Transform2D

Synopsis

Documentation

data Transform2D a b Source #

Constructors

Transform2D 

Fields

inverseImage2D :: (a -> b) -> Transform2D b c -> Transform2D a c Source #

image2D :: (a :==: b) -> Transform2D c a -> Transform2D c b Source #

codiagonalsWith :: (Num a, Closed a) => Transform2D a b -> (Stream :*: Stream) a -> Stream b Source #

This operation allows customizing the behaviour of the codiagonals transformation.

element2D :: a -> a -> Transform2D () a Source #

elementIter2D :: a -> a -> (a -> a) -> Transform2D () a Source #

vector2D :: (Floating (Scalar v), InnerProductSpace v) => (v -> Scalar v -> v -> Scalar v) -> Transform2D v (Scalar v) Source #

functor2D :: (FunctorArrow f arr arr, Category arr) => (arr a a -> arr a a -> arr (f a) (f a)) -> Transform2D (arr a a) (arr (f a) (f a)) Source #

category2D :: Category cat => Transform2D (cat a a) (cat a a) Source #

arrow2D :: (BiArrow arr, Arrow arr) => Transform2D (a -> a) (arr a a) Source #

applicative2D :: Applicative f => (a -> b) -> (a -> a -> b) -> Transform2D (f a) (f b) Source #

monoid2D :: Monoid a => (a -> a -> a -> a) -> Transform2D a a Source #

project2D :: (a -> (a, a) -> a -> (a, a)) -> Transform2D a (a, a) Source #

matrix2D :: (VectorSpace ((f :*: f) a), SupportsMatrixMultiplication f f f a) => ((f :*: f) a -> (f :*: f) a -> (f :*: f) a -> (f :*: f) a) -> Transform2D ((f :*: f) a) ((f :*: f) a) Source #

matrixProduct2D :: (SupportsMatrixMultiplication f f f a, VectorSpace ((f :*: f) a)) => Transform2D ((f :*: f) a) ((f :*: f) a) Source #