clifford 0.1.0.11 → 0.1.0.12
raw patch · 3 files changed
+8/−3 lines, 3 files
Files
- changelog.md +1/−0
- clifford.cabal +1/−1
- src/Numeric/Clifford/Multivector.lhs +6/−2
changelog.md view
@@ -1,4 +1,5 @@ -*-change-log-*-+ 0.1.0.12 Adding type signatures to top level stuff 0.1.0.11 More inlining and specialisation 0.1.0.10 Fixed compile error whoops 0.1.0.9 Inlined/specialised a bunch of function, hueg speed increase
clifford.cabal view
@@ -10,7 +10,7 @@ -- PVP summary: +-+------- breaking API changes -- | | +----- non-breaking API additions -- | | | +--- code changes with no API change-version: 0.1.0.11+version: 0.1.0.12 -- A short (one-line) description of the package. synopsis: A Clifford algebra library
src/Numeric/Clifford/Multivector.lhs view
@@ -415,11 +415,15 @@ cosh x = converge $ shanksTransformation . compensatedRunningSum $ takeEvery 2 $ expTerms x sinh x = converge $ shanksTransformation . compensatedRunningSum $ takeEvery 2 $ tail $ expTerms x +dot :: Multivector p q f -> Multivector p q f -> Multivector p q f dot a@(BladeSum _) b@(BladeSum _) = mvNormalForm $ BladeSum [x `bDot` y | x <- mvTerms a, y <- mvTerms b]+wedge::Multivector p q f -> Multivector p q f->Multivector p q f wedge a@(BladeSum _) b@(BladeSum _) = mvNormalForm $ BladeSum [x `bWedge` y | x <- mvTerms a, y <- mvTerms b] -(∧) = wedge :: Multivector p q f -> Multivector p q f -> Multivector p q f-(⋅) = dot :: Multivector p q f -> Multivector p q f -> Multivector p q f+(∧) :: Multivector p q f -> Multivector p q f -> Multivector p q f+(∧) = wedge +(⋅) :: Multivector p q f -> Multivector p q f -> Multivector p q f+(⋅) = dot {-# INLINE reverseBlade #-} reverseBlade b = bladeNormalForm $ b & indices %~ reverse