module HNum.Special where import System.Random import qualified Numeric.SpecFunctions as SF import HNum.Vector import HNum.F class FuncTools f => SpecialFunc f where erf :: Real a => f a -> f Double invErf :: Real a => f a -> f Double instance SpecialFunc Vector where erf v = SF.erf . realToFrac <$> v invErf v = SF.invErf . realToFrac <$> v