Sinc function
Jump to navigation
Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Sinc function
The sinc function is a useful function that is a little tricky to use because it becomes 0/0 as x tends to 0. Here is an implementation taken from the Boost library.
epsilon :: RealFloat a => a epsilon = encodeFloat 1 (fromIntegral $ 1-floatDigits epsilon) {- Boosted from Boost http://www.boost.org/boost/math/special_functions/sinc.hpp -} sinc :: (RealFloat a) => a -> a sinc x | (abs x) >= taylor_n_bound = (sin x)/x | otherwise = 1 - (x^2/6) + (x^4/120) where taylor_n_bound = sqrt $ sqrt epsilon