Yampa-0.9.2: tests/AFRPTestsDer.hs
{- $Id: AFRPTestsDer.hs,v 1.2 2003/11/10 21:28:58 antony Exp $
******************************************************************************
* A F R P *
* *
* Module: AFRPTestsDer *
* Purpose: Test cases for derivative *
* Authors: Antony Courtney and Henrik Nilsson *
* *
* Copyright (c) Yale University, 2003 *
* *
******************************************************************************
-}
module AFRPTestsDer (der_tr, der_trs) where
import FRP.Yampa
import AFRPTestsCommon
------------------------------------------------------------------------------
-- Test cases for derivative
------------------------------------------------------------------------------
der_step = 0.001
der_N = 1000
der_t0 :: [Double]
der_t0 = take der_N $ -- First value is always 0
embed derivative
(deltaEncode der_step
[sin(2 * pi * t) | t <- [0.0, der_step ..]])
{-
-- For stepsize 0.1
der_t0r :: [Double]
der_t0r =
[ 0.0000, 5.8779, 3.6327, 0.0000, -3.6327,
-5.8779, -5.8779, -3.6327, 0.0000, 3.6327,
5.8779, 5.8779, 3.6327, 0.0000, -3.6327,
-5.8779, -5.8779, -3.6327, 0.0000, 3.6327]
-}
der_t0r :: [Double]
der_t0r = take der_N $
[2 * pi * cos (2 * pi * t) | t <- [0.0, der_step ..]]
-- We're happy if we are in the right ball park.
der_t0_max_diff = (maximum (zipWith (\x y -> abs (x - y))
(tail der_t0)
(tail der_t0r)))
der_trs =
[ der_t0_max_diff < 0.05
]
der_tr = and der_trs