packages feed

dunai 0.9.2 → 0.10.0

raw patch · 3 files changed

+15/−5 lines, 3 filesdep ~simple-affine-space

Dependency ranges changed: simple-affine-space

Files

CHANGELOG view
@@ -1,3 +1,7 @@+2023-02-21 Ivan Perez <ivan.perez@keera.co.uk>+        * Version bump (0.10.0) (#342).+        * Implement dot in MSF's instance of VectorSpace (#298).+ 2022-12-21 Ivan Perez <ivan.perez@keera.co.uk>         * Version bump (0.9.2) (#340).         * Bump version bounds for MonadRandom (#337).
dunai.cabal view
@@ -30,7 +30,7 @@ build-type:    Simple  name:          dunai-version:       0.9.2+version:       0.10.0 author:        Ivan Perez, Manuel Bärenz maintainer:    ivan.perez@keera.co.uk homepage:      https://github.com/ivanperez-keera/dunai
src/Data/MonadicStreamFunction/Instances/VectorSpace.hs view
@@ -43,12 +43,18 @@ import Data.MonadicStreamFunction.Core (MSF)  -- | Vector-space instance for 'MSF's.-instance (Monad m, VectorSpace v s, Eq s, Floating s)-      => VectorSpace (MSF m a v) s+instance (Monad m, Eq s, Num s, VectorSpace v s, Floating (MSF m a s))+      => VectorSpace (MSF m a v) (MSF m a s)   where     zeroVector   = constantly zeroVector-    r *^ msf     = msf >>^ (r *^)-    msf ^/ r     = msf >>^ (^/ r)+    (*^)         = elementwise2 (*^)+    (^/)         = elementwise2 (^/)     (^+^)        = elementwise2 (^+^)     (^-^)        = elementwise2 (^-^)     negateVector = (>>^ negateVector)+    dot          = elementwise2 dot+    normalize v  = elementwise2 f v (norm v)+      where+        f v' nv'+          | nv' /= 0  = v' ^/ nv'+          | otherwise = error "normalize: zero vector"