-- >>> eulers_method1 x0 y0 f h
-- 2.0
--
-eulers_method1 :: (Field.C a, ToRational.C a, Field.C b)
+eulers_method1 :: forall a b. (Field.C a, ToRational.C a, Field.C b)
=> a -- ^ x0, the initial point
-> b -- ^ y0, the initial value at x0
-> (a -> b -> b) -- ^ The function f(x,y)
eulers_method1 x0 y0 f h =
y0 + h'*y'
where
- h' = fromRational'$ toRational h
+ h' = fromRational'$ toRational h :: b
y' = (f x0 y0)