Fix bugs in zones near segments
This commit is contained in:
@@ -1,12 +1,20 @@
|
||||
module Geometry.Zone
|
||||
( divTo
|
||||
, modTo
|
||||
, floorTo
|
||||
, ceilingTo
|
||||
) where
|
||||
|
||||
divTo :: Float -> Float -> Int
|
||||
{-# INLINE divTo #-}
|
||||
divTo s = floor . (/s)
|
||||
|
||||
floorTo :: Float -> Float -> Float
|
||||
floorTo s x = s * fromIntegral (divTo s x)
|
||||
|
||||
ceilingTo :: Float -> Float -> Float
|
||||
ceilingTo s x = s * (1 + fromIntegral (divTo s x))
|
||||
|
||||
modTo :: Float -> Float -> Float
|
||||
{-# INLINE modTo #-}
|
||||
modTo s x = x - s * fromIntegral (divTo s x)
|
||||
|
||||
Reference in New Issue
Block a user