Files
loop/src/Dodge/FloatFunction.hs
T
2023-04-30 23:29:31 +01:00

21 lines
533 B
Haskell

module Dodge.FloatFunction where
import Dodge.Data.FloatFunction
doFloatFloat :: FloatFloat -> Float -> Float
doFloatFloat ff x = case ff of
FloatID -> x
FloatConst y -> y
FloatFOV a
| abs x < 0.5 * a -> 1
| otherwise -> 0
FloatLessCheck y
| x > y -> 0
| otherwise -> 1
FloatDistLinearNearFar maxd a b
| x > maxd -> 0
| otherwise -> (a * (maxd - x) + b * (x - maxd)) / maxd
FloatAbsCheckGreaterLess a y1 y2
| abs x > a -> y1
| otherwise -> y2