liboleg-2010.1.10.0: Data/Symbolic/DiffTest.hs
{-# OPTIONS -fglasgow-exts #-}
{-# LANGUAGE TemplateHaskell #-}
-- | Running the splicing tests from Diff.hs.
-- Due to the TH requirement, this code must be in a separate module.
--
module Data.Symbolic.DiffTest where
import Data.Symbolic.Diff
import Data.Symbolic.TypedCode
testrf1 = $(reflectQC testf1')
test1' = $(reflectQC test1r) 2.0
test1ds' = $(reflectQC test1ds) 2.0
test2dn = $(reflectQC (diff_fn test2f)) (4::Float)
-- 10.0
test11dn = $(reflectQC (diff_fn test11f)) (4::Float)
-- 5.0
test5dn = $(reflectQC (diff_fn test5f)) (pi::Float)
-- 3.171623e-2, approx sin(1/pi)/pi/pi
-- approx, because: cos(5*(pi::Float) + pi/2) isn't exactly 0
-- | partial derivative with respect to x
test4xdn = $(reflectQC (test4x 1)) (2::Float)
-- 21.0
-- | partial derivative with respect to y
test4ydn = $(reflectQC (test4y 5)) (5::Float)
-- -5.0