manifolds 0.5.0.1 → 0.5.0.2
raw patch · 2 files changed
+28/−2 lines, 2 filesdep +binarydep ~manifolds-core
Dependencies added: binary
Dependency ranges changed: manifolds-core
Files
- Data/Manifold/Types/Primitive.hs +25/−0
- manifolds.cabal +3/−2
Data/Manifold/Types/Primitive.hs view
@@ -78,6 +78,8 @@ import Control.Lens ((^.)) +import Data.Binary+ import qualified Prelude import Control.Category.Constrained.Prelude hiding ((^))@@ -257,6 +259,14 @@ | θ' <- QC.shrink (θ*6/pi) , φ' <- QC.shrink (φ*12/pi) ] +instance QC.Arbitrary D¹ where+ arbitrary = D¹ . (\x -> (x`mod'`2) - 1) <$> QC.arbitrary+ shrink (D¹ p) = D¹ . (\x -> (x`mod'`2) - 1) <$> QC.shrink p+instance QC.Arbitrary D² where+ arbitrary = D²Polar . (\x -> x`mod'`1) <$> QC.arbitrary+ <*> (φParamS¹ <$> QC.arbitrary)+ shrink (D²Polar r φ) = D²Polar . (\x -> (x`mod'`2) - 1) <$> QC.shrink r+ <*> (φParamS¹ <$> QC.shrink (S¹Polar φ)) instance (SP.Show m, SP.Show f) => SP.Show (FibreBundle m f) where showsPrec p (FibreBundle m v) = showParen (p>9)@@ -267,3 +277,18 @@ shrink (FibreBundle m v) = [ FibreBundle m' v' | m' <- QC.shrink m , v' <- QC.shrink v ]+++instance Binary (ZeroDim a) where+ put Origin = return ()+ get = return Origin+instance Binary S⁰+instance Binary S¹+instance Binary S²+instance Binary ℝP⁰+instance Binary ℝP¹+instance Binary ℝP²+instance Binary D¹+instance Binary D²+instance Binary y => Binary (CD¹ y)+instance Binary y => Binary (Cℝay y)
manifolds.cabal view
@@ -1,5 +1,5 @@ Name: manifolds-Version: 0.5.0.1+Version: 0.5.0.2 Category: Math Synopsis: Coordinate-free hypersurfaces Description: Manifolds, a generalisation of the notion of “smooth curves” or surfaces,@@ -40,7 +40,7 @@ Library Build-Depends: base>=4.5 && < 6- , manifolds-core == 0.5.0.1+ , manifolds-core == 0.5.0.2 , transformers , vector-space>=0.8 , free-vector-spaces>=0.1.5@@ -51,6 +51,7 @@ , spatial-rotations >= 0.1 && < 0.2 , containers , array+ , binary , comonad , free , semigroups