geom2d 0.2.1 → 0.2.2
raw patch · 3 files changed
+16/−1 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Geom2d.Shape: centerPoint :: (Fractional a, Scale p, Num (p a)) => Shape p a -> p a
Files
- Geom2d/Shape.hs +7/−0
- Test/Shape.hs +8/−0
- geom2d.cabal +1/−1
Geom2d/Shape.hs view
@@ -20,6 +20,7 @@ , circle , rectangle , convexHull+ , centerPoint ) where@@ -39,3 +40,9 @@ convexHull :: (Num (p a), Fractional a, Ord a, Scale p, Point p) => [p a] -> Maybe (Shape p a) convexHull list = ShapePolygon <$> convexHull' list++centerPoint :: (Fractional a, Scale p, Num (p a)) => Shape p a -> p a+centerPoint (ShapeCircle (Circle m _)) = m+centerPoint (ShapePolygon (Polygon m vs)) =+ let n = length vs+ in m + scale (1/fromIntegral n) (sum vs)
Test/Shape.hs view
@@ -229,6 +229,14 @@ where point :: Float -> Float -> Point' Float point = fromCoords +prop_centerPoint_circle :: Point' Float -> Float -> Bool+prop_centerPoint_circle m r =+ centerPoint (circle m r) == m++prop_centerPoint_rect :: Point' Float -> Float -> Float -> Bool+prop_centerPoint_rect m a b =+ fromMaybe True $ (== m).centerPoint <$> rectangle m a b+ return [] runTests = $quickCheckAll
geom2d.cabal view
@@ -1,5 +1,5 @@ name: geom2d-version: 0.2.1+version: 0.2.2 synopsis: package for geometry in euklidean 2d space description: This package provides tools for dealing with geometric objects in 2D space.