Copyright | (c) OleksandrZhabenko 2020 |
---|---|
License | MIT |
Stability | Experimental |
Safe Haskell | None |
Language | Haskell2010 |
Maintainer : olexandr543@yahoo.com
Some special functions to work with Vector (with zip).
Synopsis
- normFst :: (Fractional a, Ord a) => Vector (a, b) -> IO (Vector (a, b))
- normSnd :: (Fractional b, Ord b) => Vector (a, b) -> IO (Vector (a, b))
- evalFstFV :: (Fractional a, Ord a) => (a -> b) -> Vector a -> IO (Vector ((a, b), (a, b)))
- evalFstFVM :: (Fractional a, Ord a) => (a -> IO b) -> Vector a -> IO (Vector ((a, b), (a, b)))
- evalSndFV :: (Fractional b, Ord b) => (a -> b) -> Vector a -> IO (Vector ((a, b), (a, b)))
- evalSndFVM :: (Fractional b, Ord b) => (a -> IO b) -> Vector a -> IO (Vector ((a, b), (a, b)))
- double42Float4 :: ((Double, Double), (Double, Double)) -> ((Float, Float), (Float, Float))
- float42Double4 :: ((Float, Float), (Float, Float)) -> ((Double, Double), (Double, Double))
Documentation
normFst :: (Fractional a, Ord a) => Vector (a, b) -> IO (Vector (a, b)) Source #
Norms a tuples in a Vector
by their first elements so that the greatest by an absolute value first element is equal to 1 (or -1). If all the first
elements are zeros then prints a warning message and exits successfully.
normSnd :: (Fractional b, Ord b) => Vector (a, b) -> IO (Vector (a, b)) Source #
Norms a tuples in a Vector
by their second elements so that the greatest by an absolute value second element is equal to 1 (or -1). If all the second
elements are zeros then prints a warning message and exits successfully.
evalFstFV :: (Fractional a, Ord a) => (a -> b) -> Vector a -> IO (Vector ((a, b), (a, b))) Source #
A special function transformation to obtain the resulting Vector
so that its first elements in the inner tuples are in a special way
normed to 1 (or -1) by normFst
and the inner tuples are sequenced one by another as a 2D points of the generating function f :: a -> b
.
To obtain non-empty result the given second argument must have at least two elements.
evalFstFVM :: (Fractional a, Ord a) => (a -> IO b) -> Vector a -> IO (Vector ((a, b), (a, b))) Source #
The same as evalFstFV
but uses a monadic IO function f.
evalSndFV :: (Fractional b, Ord b) => (a -> b) -> Vector a -> IO (Vector ((a, b), (a, b))) Source #
A special function transformation to obtain the resulting Vector
so that its second elements in the inner tuples are in a special way
normed to 1 (or -1) by normSnd
and the inner tuples are sequenced one by another as a 2D points of the generating function f :: a -> b
.
To obtain non-empty result the given second argument must have at least two elements. Is similar to evalFstFV
.
evalSndFVM :: (Fractional b, Ord b) => (a -> IO b) -> Vector a -> IO (Vector ((a, b), (a, b))) Source #
The same as evalSndFV
but uses a monadic IO function f.