X-Git-Url: http://gitweb.michael.orlitzky.com/?p=spline3.git;a=blobdiff_plain;f=src%2FRealFunction.hs;h=01e34bdf39d086e7dbced9690ba6c7a891cda844;hp=d461ae2f7d95fd1babe673d576c185bcee1e8de4;hb=8c7f684c5b1a6941a552d2101aff70fe1f9a23ec;hpb=7f5439c98c722a846fe59b775932fb417c005a9f diff --git a/src/RealFunction.hs b/src/RealFunction.hs index d461ae2..01e34bd 100644 --- a/src/RealFunction.hs +++ b/src/RealFunction.hs @@ -38,12 +38,37 @@ instance Num (RealFunction a) where -- | Takes a constant, and a function as arguments. Returns a new -- function representing the original function times the constant. +-- +-- ==== __Examples__ +-- +-- >>> let square x = x**2 +-- >>> square 1 +-- 1.0 +-- >>> square 2 +-- 4.0 +-- >>> let f = cmult 2 square +-- >>> f 1 +-- 2.0 +-- >>> f 2 +-- 8.0 +-- cmult :: Double -> (RealFunction a) -> (RealFunction a) cmult coeff f = (*coeff) . f --- | Takes a function f and an exponent n. Returns a new function, --- f^n. +-- | Takes a function @f@ and an exponent @n@. Returns a new function, +-- @g@, defined by g(x) = (f(x))^n. This is /not/ @f@ composed +-- with itself @n@ times. +-- +-- ==== __Examples__ +-- +-- >>> let square x = x**2 +-- >>> square 2 +-- 4.0 +-- >>> let f = fexp square 3 +-- >>> f 2 +-- 64.0 +-- fexp :: (RealFunction a) -> Int -> (RealFunction a) fexp f n | n == 0 = (\_ -> 1)