From c2ceb245a49f0f000a9d7202fedf19cae5f53369 Mon Sep 17 00:00:00 2001 From: jthorn Date: Mon, 2 Sep 2002 10:38:05 +0000 Subject: This is a major reworking of this interpolator. The interpolation code in template.c is now split up into subfunctions (in common/, Lagrange/, and Hermite/), so it should now compile in finite cpu/memory even with optimization. git-svn-id: http://svn.cactuscode.org/arrangements/CactusBase/LocalInterp/trunk@116 df1f8a13-aa1d-4dd4-9681-27ded5b42416 --- .../Hermite/1d.coeffs/1d.cube.order3/coeffs-I.compute.c | 17 +++++++++++++++++ .../1d.coeffs/1d.cube.order3/coeffs-dx.compute.c | 11 +++++++++++ .../1d.coeffs/1d.cube.order3/coeffs-dxx.compute.c | 6 ++++++ 3 files changed, 34 insertions(+) create mode 100644 src/GeneralizedPolynomial-Uniform/Hermite/1d.coeffs/1d.cube.order3/coeffs-I.compute.c create mode 100644 src/GeneralizedPolynomial-Uniform/Hermite/1d.coeffs/1d.cube.order3/coeffs-dx.compute.c create mode 100644 src/GeneralizedPolynomial-Uniform/Hermite/1d.coeffs/1d.cube.order3/coeffs-dxx.compute.c (limited to 'src/GeneralizedPolynomial-Uniform/Hermite/1d.coeffs/1d.cube.order3') diff --git a/src/GeneralizedPolynomial-Uniform/Hermite/1d.coeffs/1d.cube.order3/coeffs-I.compute.c b/src/GeneralizedPolynomial-Uniform/Hermite/1d.coeffs/1d.cube.order3/coeffs-I.compute.c new file mode 100644 index 0000000..107d2ed --- /dev/null +++ b/src/GeneralizedPolynomial-Uniform/Hermite/1d.coeffs/1d.cube.order3/coeffs-I.compute.c @@ -0,0 +1,17 @@ +fp t10; +fp t9; +fp t8; +fp t7; + t10 = x*x; + t9 = x*t10; + t8 = RATIONAL(1.0,12.0); + t7 = RATIONAL(-1.0,12.0); + coeffs_I->coeff_m2 = RATIONAL(-1.0,6.0)*t10+(x+t9)*t8; + coeffs_I->coeff_m1 = RATIONAL(-2.0,3.0)*x+RATIONAL(5.0,4.0)*t10+RATIONAL( +-7.0,12.0)*t9; + coeffs_I->coeff_0 = RATIONAL(-7.0,3.0)*t10+RATIONAL(1.0,1.0)+RATIONAL(4.0 +,3.0)*t9; + coeffs_I->coeff_p1 = RATIONAL(-4.0,3.0)*t9+RATIONAL(2.0,3.0)*x+RATIONAL( +5.0,3.0)*t10; + coeffs_I->coeff_p2 = RATIONAL(7.0,12.0)*t9+t7*x+RATIONAL(-1.0,2.0)*t10; + coeffs_I->coeff_p3 = t7*t9+t8*t10; diff --git a/src/GeneralizedPolynomial-Uniform/Hermite/1d.coeffs/1d.cube.order3/coeffs-dx.compute.c b/src/GeneralizedPolynomial-Uniform/Hermite/1d.coeffs/1d.cube.order3/coeffs-dx.compute.c new file mode 100644 index 0000000..22285e9 --- /dev/null +++ b/src/GeneralizedPolynomial-Uniform/Hermite/1d.coeffs/1d.cube.order3/coeffs-dx.compute.c @@ -0,0 +1,11 @@ +fp t12; + t12 = x*x; + coeffs_dx->coeff_m2 = RATIONAL(-1.0,3.0)*x+RATIONAL(1.0,12.0)+RATIONAL( +1.0,4.0)*t12; + coeffs_dx->coeff_m1 = RATIONAL(-2.0,3.0)+RATIONAL(5.0,2.0)*x+RATIONAL( +-7.0,4.0)*t12; + coeffs_dx->coeff_0 = RATIONAL(-14.0,3.0)*x+RATIONAL(4.0,1.0)*t12; + coeffs_dx->coeff_p1 = RATIONAL(-4.0,1.0)*t12+RATIONAL(10.0,3.0)*x+ +RATIONAL(2.0,3.0); + coeffs_dx->coeff_p2 = RATIONAL(7.0,4.0)*t12+RATIONAL(-1.0,12.0)-x; + coeffs_dx->coeff_p3 = RATIONAL(1.0,6.0)*x+RATIONAL(-1.0,4.0)*t12; diff --git a/src/GeneralizedPolynomial-Uniform/Hermite/1d.coeffs/1d.cube.order3/coeffs-dxx.compute.c b/src/GeneralizedPolynomial-Uniform/Hermite/1d.coeffs/1d.cube.order3/coeffs-dxx.compute.c new file mode 100644 index 0000000..399cdbb --- /dev/null +++ b/src/GeneralizedPolynomial-Uniform/Hermite/1d.coeffs/1d.cube.order3/coeffs-dxx.compute.c @@ -0,0 +1,6 @@ + coeffs_dxx->coeff_m2 = RATIONAL(-1.0,3.0)+RATIONAL(1.0,2.0)*x; + coeffs_dxx->coeff_m1 = RATIONAL(-7.0,2.0)*x+RATIONAL(5.0,2.0); + coeffs_dxx->coeff_0 = RATIONAL(-14.0,3.0)+RATIONAL(8.0,1.0)*x; + coeffs_dxx->coeff_p1 = RATIONAL(10.0,3.0)+RATIONAL(-8.0,1.0)*x; + coeffs_dxx->coeff_p2 = RATIONAL(7.0,2.0)*x+RATIONAL(-1.0,1.0); + coeffs_dxx->coeff_p3 = RATIONAL(1.0,6.0)+RATIONAL(-1.0,2.0)*x; -- cgit v1.2.3