1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.nabla.forward;
18
19 import org.apache.commons.math3.util.FastMath;
20 import org.apache.commons.nabla.AbstractMathTest;
21 import org.junit.Test;
22
23 public class HypotGeneratorTest extends AbstractMathTest {
24
25 @Test
26 public void testReference1(){
27 checkReference(new ReferenceFunction() {
28 public double value(double t) { return FastMath.hypot(t, 3.0); }
29 public double firstDerivative(double t) { return t / FastMath.hypot(t, 3.0); }
30 }, -2, 2, 50, 3.0e-16);
31 }
32
33 @Test
34 public void testReference2(){
35 checkReference(new ReferenceFunction() {
36 public double value(double t) { return FastMath.hypot(3.0, t); }
37 public double firstDerivative(double t) { return t / FastMath.hypot(t, 3.0); }
38 }, -2, 2, 50, 3.0e-16);
39 }
40
41 @Test
42 public void testReference12Aligned(){
43 checkReference(new ReferenceFunction() {
44 public double value(double t) { return FastMath.hypot(t, t); }
45 public double firstDerivative(double t) { return FastMath.sqrt(2); }
46 }, 0.1, 10, 20, 3.0e-16);
47 }
48
49 @Test
50 public void testReference12Shifted(){
51 checkReference(new ReferenceFunction() {
52 public double value(double t) { return FastMath.hypot(t, t + 1); }
53 public double firstDerivative(double t) { return (2 * t + 1) / FastMath.hypot(t, t + 1); }
54 }, 0.1, 10, 20, 5.0e-16);
55 }
56
57 }