//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void test()
        public virtual void test()
        {
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final ParameterizedCurve curve = new ParameterizedCurve()
            ParameterizedCurve curve = new ParameterizedCurveAnonymousInnerClass(this);

//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final DoublesVectorFunctionProvider pro = new DoublesVectorFunctionProvider()
            DoublesVectorFunctionProvider pro = new DoublesVectorFunctionProviderAnonymousInnerClass(this, curve);

            //a = -2, b = 1, c = 0.5
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final com.opengamma.strata.collect.array.DoubleArray parms = com.opengamma.strata.collect.array.DoubleArray.of(-2.0, 1.0, 0.5);
            DoubleArray parms = DoubleArray.of(-2.0, 1.0, 0.5);

            //sample the curve at x = -1, 0, and 1
            VectorFunction f = pro.from(new double?[] { -1.0, 0.0, 1.0 });
            DoubleArray    y = f.apply(parms);

            AssertMatrix.assertEqualsVectors(DoubleArray.of(-2.5, -2.0, -0.5), y, 1e-15);

//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final java.util.List<double> l = new java.util.ArrayList<>(3);
            IList <double> l = new List <double>(3);

            l.Add(0.0);
            l.Add(2.0);
            l.Add(4.0);
            f = pro.from(l);
            y = f.apply(parms);
            AssertMatrix.assertEqualsVectors(DoubleArray.of(-2.0, 2.0, 10.0), y, 1e-15);
        }
Exemple #2
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void test()
        public virtual void test()
        {
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final ParameterizedCurveVectorFunctionProvider pro = new ParameterizedCurveVectorFunctionProvider(s_PCurve);
            ParameterizedCurveVectorFunctionProvider pro = new ParameterizedCurveVectorFunctionProvider(s_PCurve);

//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final double[] points = new double[] {-1.0, 0.0, 1.0 };
            double[] points = new double[] { -1.0, 0.0, 1.0 };
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final VectorFunction f = pro.from(points);
            VectorFunction f = pro.from(points);

            assertEquals(2, f.LengthOfDomain);
            assertEquals(3, f.LengthOfRange);
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final com.opengamma.strata.collect.array.DoubleArray x = com.opengamma.strata.collect.array.DoubleArray.of(0.5, 2.0);
            DoubleArray x = DoubleArray.of(0.5, 2.0);     //the parameters a & b
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final com.opengamma.strata.collect.array.DoubleArray y = f.apply(x);
            DoubleArray y = f.apply(x);

            assertEquals(0.5 * Math.Sinh(-2.0), y.get(0), 1e-14);
            assertEquals(0.0, y.get(1), 1e-14);
            assertEquals(0.5 * Math.Sinh(2.0), y.get(2), 1e-14);

//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final com.opengamma.strata.collect.array.DoubleMatrix jac = f.calculateJacobian(x);
            DoubleMatrix jac = f.calculateJacobian(x);
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final com.opengamma.strata.collect.array.DoubleMatrix fdJac = (new com.opengamma.strata.math.impl.differentiation.VectorFieldFirstOrderDifferentiator().differentiate(f)).apply(x);
            DoubleMatrix fdJac = ((new VectorFieldFirstOrderDifferentiator()).differentiate(f)).apply(x);

            AssertMatrix.assertEqualsMatrix(fdJac, jac, 1e-9);
        }