diff options
author | jthorn <jthorn@df1f8a13-aa1d-4dd4-9681-27ded5b42416> | 2002-09-02 10:38:05 +0000 |
---|---|---|
committer | jthorn <jthorn@df1f8a13-aa1d-4dd4-9681-27ded5b42416> | 2002-09-02 10:38:05 +0000 |
commit | c2ceb245a49f0f000a9d7202fedf19cae5f53369 (patch) | |
tree | ff68bb2b2fee85fd77bd3c1a5393106e95cdd9ae /src/GeneralizedPolynomial-Uniform/Hermite/1d.coeffs/1d.cube.order3 | |
parent | 80df27de110b6e739fda09ba4d9eae9fdbefc342 (diff) |
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
Diffstat (limited to 'src/GeneralizedPolynomial-Uniform/Hermite/1d.coeffs/1d.cube.order3')
3 files changed, 34 insertions, 0 deletions
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; |