From 7e9b74cc3194989e6f6c5c84c2d8277e0c411ae8 Mon Sep 17 00:00:00 2001 From: Pasukhin Dmitry Date: Sun, 2 Nov 2025 11:22:34 +0000 Subject: [PATCH] Foundation Classes - Precompute Jacobi coefficients (#778) - Add PLib_JacobiPolynomial_Coeffs.pxx with large constexpr tables and a JacobiCoefficientsCache + GetJacobiCoefficients() fast lookup to serve precomputed TNorm/CofA/CofB/Denom arrays for all constraint levels and degrees. - Replace several runtime-initialized per-instance arrays/handles with zero-overhead constexpr data; remove myTNorm/myCofA/myCofB/myDenom handles from the class. - Modernize PLib_JacobiPolynomial implementation: - Use constructor initializer list and validate inputs there. - Use constexpr lookup tables for weights/transforms and memcpy/std::fill_n to speed copying into TColStd arrays. - Replace switch-based pointer selection with indexed arrays for cleaner selection of DB pointers. - Simplify numerical loops, make offsets/indices const where possible and use clearer variable names. - Use GetJacobiCoefficients() in D0123 (and callers) to remove on-demand initialization and reduce per-call overhead. - Change static data types to constexpr double for stronger optimization and clearer intent. - Various micro-optimizations and safety fixes (avoid NULL, tighten const correctness) to improve performance and reduce runtime allocations. --- .../GTests/PLib_JacobiPolynomial_Test.cxx | 25 +- src/FoundationClasses/TKMath/PLib/FILES.cmake | 2 - .../TKMath/PLib/PLib_JacobiPolynomial.cxx | 669 +- .../TKMath/PLib/PLib_JacobiPolynomial.hxx | 108 +- .../TKMath/PLib/PLib_JacobiPolynomial.lxx | 25 - .../PLib/PLib_JacobiPolynomial_Coeffs.pxx | 5688 +++++++++++++++++ .../PLib/PLib_JacobiPolynomial_Data.pxx | 24 +- 7 files changed, 6106 insertions(+), 435 deletions(-) delete mode 100644 src/FoundationClasses/TKMath/PLib/PLib_JacobiPolynomial.lxx create mode 100644 src/FoundationClasses/TKMath/PLib/PLib_JacobiPolynomial_Coeffs.pxx diff --git a/src/FoundationClasses/TKMath/GTests/PLib_JacobiPolynomial_Test.cxx b/src/FoundationClasses/TKMath/GTests/PLib_JacobiPolynomial_Test.cxx index 306232fe8f..87a717948e 100644 --- a/src/FoundationClasses/TKMath/GTests/PLib_JacobiPolynomial_Test.cxx +++ b/src/FoundationClasses/TKMath/GTests/PLib_JacobiPolynomial_Test.cxx @@ -79,13 +79,24 @@ TEST_F(PLibJacobiPolynomialTest, ConstructorAndBasicProperties) // Test constructor with edge cases TEST_F(PLibJacobiPolynomialTest, ConstructorEdgeCases) { - // Test minimum degree - Handle(PLib_JacobiPolynomial) aJacMin = createJacobiPolynomial(0, GeomAbs_C0); - EXPECT_FALSE(aJacMin.IsNull()); - EXPECT_EQ(aJacMin->WorkDegree(), 0); - - // Test maximum recommended degree - Handle(PLib_JacobiPolynomial) aJacMax = createJacobiPolynomial(30, GeomAbs_C2); + // Test minimum valid WorkDegree for each constraint order + // For C0: WorkDegree >= 2 to get myDegree >= 0 + Handle(PLib_JacobiPolynomial) aJacMinC0 = createJacobiPolynomial(2, GeomAbs_C0); + EXPECT_FALSE(aJacMinC0.IsNull()); + EXPECT_EQ(aJacMinC0->WorkDegree(), 2); + + // For C1: WorkDegree >= 4 to get myDegree >= 0 + Handle(PLib_JacobiPolynomial) aJacMinC1 = createJacobiPolynomial(4, GeomAbs_C1); + EXPECT_FALSE(aJacMinC1.IsNull()); + EXPECT_EQ(aJacMinC1->WorkDegree(), 4); + + // For C2: WorkDegree >= 6 to get myDegree >= 0 + Handle(PLib_JacobiPolynomial) aJacMinC2 = createJacobiPolynomial(6, GeomAbs_C2); + EXPECT_FALSE(aJacMinC2.IsNull()); + EXPECT_EQ(aJacMinC2->WorkDegree(), 6); + + // Test reasonable maximum WorkDegree + Handle(PLib_JacobiPolynomial) aJacMax = createJacobiPolynomial(30, GeomAbs_C0); EXPECT_FALSE(aJacMax.IsNull()); EXPECT_EQ(aJacMax->WorkDegree(), 30); diff --git a/src/FoundationClasses/TKMath/PLib/FILES.cmake b/src/FoundationClasses/TKMath/PLib/FILES.cmake index f1476799e1..8d7bc465f1 100644 --- a/src/FoundationClasses/TKMath/PLib/FILES.cmake +++ b/src/FoundationClasses/TKMath/PLib/FILES.cmake @@ -11,6 +11,4 @@ set(OCCT_PLib_FILES PLib_HermitJacobi.lxx PLib_JacobiPolynomial.cxx PLib_JacobiPolynomial.hxx - PLib_JacobiPolynomial.lxx - PLib_JacobiPolynomial_Data.pxx ) diff --git a/src/FoundationClasses/TKMath/PLib/PLib_JacobiPolynomial.cxx b/src/FoundationClasses/TKMath/PLib/PLib_JacobiPolynomial.cxx index 5595fa4bd1..1986d339bf 100644 --- a/src/FoundationClasses/TKMath/PLib/PLib_JacobiPolynomial.cxx +++ b/src/FoundationClasses/TKMath/PLib/PLib_JacobiPolynomial.cxx @@ -12,259 +12,284 @@ // Alternatively, this file may be used under the terms of Open CASCADE // commercial license or contractual agreement. +#include + #include #include #include -#include #include #include #include +#include + IMPLEMENT_STANDARD_RTTIEXT(PLib_JacobiPolynomial, PLib_Base) +namespace +{ #include "PLib_JacobiPolynomial_Data.pxx" +#include "PLib_JacobiPolynomial_Coeffs.pxx" // The possible values for NbGaussPoints -const Standard_Integer NDEG8 = 8, NDEG10 = 10, NDEG15 = 15, NDEG20 = 20, NDEG25 = 25, NDEG30 = 30, - NDEG40 = 40, NDEG50 = 50, NDEG61 = 61; - -const Standard_Integer UNDEFINED = -999; +constexpr Standard_Integer THE_NB_GAUSS_POINTS_8 = 8, THE_NB_GAUSS_POINTS_10 = 10, + THE_NB_GAUSS_POINTS_15 = 15, THE_NB_GAUSS_POINTS_20 = 20, + THE_NB_GAUSS_POINTS_25 = 25, THE_NB_GAUSS_POINTS_30 = 30, + THE_NB_GAUSS_POINTS_40 = 40, THE_NB_GAUSS_POINTS_50 = 50, + THE_NB_GAUSS_POINTS_61 = 61; + +constexpr Standard_Integer THE_INVALID_VALUE = -999; + +// Maximum supported polynomial degree +constexpr Standard_Integer THE_MAX_DEGREE = 30; + +// Lookup tables for database pointers indexed by myNivConstr (constraint level) +constexpr Standard_Real const* THE_WEIGHTS_DB[3] = {WeightsDB_C0, WeightsDB_C1, WeightsDB_C2}; +constexpr Standard_Real const* THE_WEIGHTS_DB0[3] = {WeightsDB0_C0, WeightsDB0_C1, WeightsDB0_C2}; +constexpr Standard_Real const* THE_MAX_VALUES_DB[3] = {MaxValuesDB_C0, + MaxValuesDB_C1, + MaxValuesDB_C2}; +constexpr Standard_Real const* THE_TRANS_MATRIX[3] = {&TransMatrix_C0[0][0], + &TransMatrix_C1[0][0], + &TransMatrix_C2[0][0]}; +} // namespace //================================================================================================= -PLib_JacobiPolynomial::PLib_JacobiPolynomial(const Standard_Integer WorkDegree, - const GeomAbs_Shape ConstraintOrder) +PLib_JacobiPolynomial::PLib_JacobiPolynomial(const Standard_Integer theWorkDegree, + const GeomAbs_Shape theConstraintOrder) + : myWorkDegree(theWorkDegree), + myNivConstr(PLib::NivConstr(theConstraintOrder)), + myDegree(theWorkDegree - 2 * (myNivConstr + 1)) { - myWorkDegree = WorkDegree; - - switch (ConstraintOrder) + if (myDegree < 0) { - case GeomAbs_C0: - myNivConstr = 0; - break; - case GeomAbs_C1: - myNivConstr = 1; - break; - case GeomAbs_C2: - myNivConstr = 2; - break; - default: - throw Standard_ConstructionError("Invalid ConstraintOrder"); + throw Standard_ConstructionError("WorkDegree too small for given ConstraintOrder"); } - myDegree = myWorkDegree - 2 * (myNivConstr + 1); - if (myDegree > 30) + if (myDegree > THE_MAX_DEGREE) + { throw Standard_ConstructionError("Invalid Degree"); + } } //================================================================================================= -void PLib_JacobiPolynomial::Points(const Standard_Integer NbGaussPoints, - TColStd_Array1OfReal& TabPoints) const +void PLib_JacobiPolynomial::Points(const Standard_Integer theNbGaussPoints, + TColStd_Array1OfReal& theTabPoints) const { - if ((NbGaussPoints != NDEG8 && NbGaussPoints != NDEG10 && NbGaussPoints != NDEG15 - && NbGaussPoints != NDEG20 && NbGaussPoints != NDEG25 && NbGaussPoints != NDEG30 - && NbGaussPoints != NDEG40 && NbGaussPoints != NDEG50 && NbGaussPoints != NDEG61) - || NbGaussPoints <= myDegree) + if ((theNbGaussPoints != THE_NB_GAUSS_POINTS_8 && theNbGaussPoints != THE_NB_GAUSS_POINTS_10 + && theNbGaussPoints != THE_NB_GAUSS_POINTS_15 && theNbGaussPoints != THE_NB_GAUSS_POINTS_20 + && theNbGaussPoints != THE_NB_GAUSS_POINTS_25 && theNbGaussPoints != THE_NB_GAUSS_POINTS_30 + && theNbGaussPoints != THE_NB_GAUSS_POINTS_40 && theNbGaussPoints != THE_NB_GAUSS_POINTS_50 + && theNbGaussPoints != THE_NB_GAUSS_POINTS_61) + || theNbGaussPoints <= myDegree) + { throw Standard_ConstructionError("Invalid NbGaussPoints"); + } - math_Vector DecreasingPoints(1, NbGaussPoints); + math_Vector aDecreasingPoints(1, theNbGaussPoints); - math::GaussPoints(NbGaussPoints, DecreasingPoints); + math::GaussPoints(theNbGaussPoints, aDecreasingPoints); - // TabPoints consist of only positive increasing values - for (Standard_Integer i = 1; i <= NbGaussPoints / 2; i++) - TabPoints(i) = DecreasingPoints(NbGaussPoints / 2 - i + 1); - if (NbGaussPoints % 2 == 1) - TabPoints(0) = 0.; + // theTabPoints consist of only positive increasing values + for (Standard_Integer i = 1; i <= theNbGaussPoints / 2; i++) + { + theTabPoints(i) = aDecreasingPoints(theNbGaussPoints / 2 - i + 1); + } + if (theNbGaussPoints % 2 == 1) + { + theTabPoints(0) = 0.; + } else - TabPoints(0) = UNDEFINED; + { + theTabPoints(0) = THE_INVALID_VALUE; + } } //================================================================================================= -void PLib_JacobiPolynomial::Weights(const Standard_Integer NbGaussPoints, - TColStd_Array2OfReal& TabWeights) const +void PLib_JacobiPolynomial::Weights(const Standard_Integer theNbGaussPoints, + TColStd_Array2OfReal& theTabWeights) const { + Standard_Real const* aDbPointer = THE_WEIGHTS_DB[myNivConstr]; + const Standard_Integer aMinDegree = 2 * (myNivConstr + 1); - Standard_Integer i, j; - Standard_Real const* pdb = NULL; // the current pointer to WeightsDB - switch (myNivConstr) + // Calculate offset into the weights database + if (theNbGaussPoints > THE_NB_GAUSS_POINTS_8) { - case 0: - pdb = WeightsDB_C0; - break; - case 1: - pdb = WeightsDB_C1; - break; - case 2: - pdb = WeightsDB_C2; - break; + aDbPointer += (THE_NB_GAUSS_POINTS_8 * (THE_NB_GAUSS_POINTS_8 - aMinDegree) / 2); } - Standard_Integer infdg = 2 * (myNivConstr + 1); - if (NbGaussPoints > NDEG8) - pdb += (NDEG8 * (NDEG8 - infdg) / 2); - if (NbGaussPoints > NDEG10) - pdb += (NDEG10 * (NDEG10 - infdg) / 2); - if (NbGaussPoints > NDEG15) - pdb += (((NDEG15 - 1) / 2) * (NDEG15 - infdg)); - if (NbGaussPoints > NDEG20) - pdb += (NDEG20 * (NDEG20 - infdg) / 2); - if (NbGaussPoints > NDEG25) - pdb += (((NDEG25 - 1) / 2) * (NDEG25 - infdg)); - if (NbGaussPoints > NDEG30) - pdb += (NDEG30 * (NDEG30 - infdg) / 2); - if (NbGaussPoints > NDEG40) - pdb += (NDEG40 * (NDEG40 - infdg) / 2); - if (NbGaussPoints > NDEG50) - pdb += (NDEG50 * (NDEG50 - infdg) / 2); - - // the copy of TabWeightsDB into TabWeights - for (j = 0; j <= myDegree; j++) + if (theNbGaussPoints > THE_NB_GAUSS_POINTS_10) { - for (i = 1; i <= NbGaussPoints / 2; i++) + aDbPointer += (THE_NB_GAUSS_POINTS_10 * (THE_NB_GAUSS_POINTS_10 - aMinDegree) / 2); + } + if (theNbGaussPoints > THE_NB_GAUSS_POINTS_15) + { + aDbPointer += (((THE_NB_GAUSS_POINTS_15 - 1) / 2) * (THE_NB_GAUSS_POINTS_15 - aMinDegree)); + } + if (theNbGaussPoints > THE_NB_GAUSS_POINTS_20) + { + aDbPointer += (THE_NB_GAUSS_POINTS_20 * (THE_NB_GAUSS_POINTS_20 - aMinDegree) / 2); + } + if (theNbGaussPoints > THE_NB_GAUSS_POINTS_25) + { + aDbPointer += (((THE_NB_GAUSS_POINTS_25 - 1) / 2) * (THE_NB_GAUSS_POINTS_25 - aMinDegree)); + } + if (theNbGaussPoints > THE_NB_GAUSS_POINTS_30) + { + aDbPointer += (THE_NB_GAUSS_POINTS_30 * (THE_NB_GAUSS_POINTS_30 - aMinDegree) / 2); + } + if (theNbGaussPoints > THE_NB_GAUSS_POINTS_40) + { + aDbPointer += (THE_NB_GAUSS_POINTS_40 * (THE_NB_GAUSS_POINTS_40 - aMinDegree) / 2); + } + if (theNbGaussPoints > THE_NB_GAUSS_POINTS_50) + { + aDbPointer += (THE_NB_GAUSS_POINTS_50 * (THE_NB_GAUSS_POINTS_50 - aMinDegree) / 2); + } + + // Copy TabWeightsDB into theTabWeights (explicit loops for safe 2D array access) + const Standard_Integer aHalfPoints = theNbGaussPoints / 2; + for (Standard_Integer j = 0; j <= myDegree; j++) + { + for (Standard_Integer i = 1; i <= aHalfPoints; i++) { - TabWeights.SetValue(i, j, *pdb++); + theTabWeights.ChangeValue(i, j) = *aDbPointer++; } } - if (NbGaussPoints % 2 == 1) + if (theNbGaussPoints % 2 == 1) { - // NbGaussPoints is odd - the values addition for 0. - Standard_Real const* pdb0 = NULL; // the current pointer to WeightsDB0 - switch (myNivConstr) + // theNbGaussPoints is odd - fill row 0 with special values + Standard_Real const* aDbPointer0 = THE_WEIGHTS_DB0[myNivConstr]; + + if (theNbGaussPoints > THE_NB_GAUSS_POINTS_15) { - case 0: - pdb0 = WeightsDB0_C0; - break; - case 1: - pdb0 = WeightsDB0_C1; - break; - case 2: - pdb0 = WeightsDB0_C2; - break; + aDbPointer0 += ((THE_NB_GAUSS_POINTS_15 - 1 - aMinDegree) / 2 + 1); + } + if (theNbGaussPoints > THE_NB_GAUSS_POINTS_25) + { + aDbPointer0 += ((THE_NB_GAUSS_POINTS_25 - 1 - aMinDegree) / 2 + 1); } - if (NbGaussPoints > NDEG15) - pdb0 += ((NDEG15 - 1 - infdg) / 2 + 1); - if (NbGaussPoints > NDEG25) - pdb0 += ((NDEG25 - 1 - infdg) / 2 + 1); + // Fill row 0: zeros everywhere (explicit column loop for proper 2D array access) + for (Standard_Integer j = 0; j <= myDegree; j++) + { + theTabWeights.ChangeValue(0, j) = 0.0; + } - // the copy of TabWeightsDB0 into TabWeights - for (j = 0; j <= myDegree; j += 2) - TabWeights.SetValue(0, j, *pdb0++); - for (j = 1; j <= myDegree; j += 2) - TabWeights.SetValue(0, j, 0.); + // Overwrite even columns with data from database + for (Standard_Integer j = 0; j <= myDegree; j += 2) + { + theTabWeights.ChangeValue(0, j) = *aDbPointer0++; + } } else { - for (j = 0; j <= myDegree; j++) + // Fill row 0 with THE_INVALID_VALUE for even theNbGaussPoints (explicit column loop) + for (Standard_Integer j = 0; j <= myDegree; j++) { - TabWeights.SetValue(0, j, UNDEFINED); + theTabWeights.ChangeValue(0, j) = THE_INVALID_VALUE; } } } //================================================================================================= -void PLib_JacobiPolynomial::MaxValue(TColStd_Array1OfReal& TabMax) const +void PLib_JacobiPolynomial::MaxValue(TColStd_Array1OfReal& theTabMax) const { - Standard_Real const* pdb = NULL; // the pointer to MaxValues - switch (myNivConstr) - { - case 0: - pdb = MaxValuesDB_C0; - break; - case 1: - pdb = MaxValuesDB_C1; - break; - case 2: - pdb = MaxValuesDB_C2; - break; - } - for (Standard_Integer i = TabMax.Lower(); i <= TabMax.Upper(); i++) + Standard_Real const* aDbPointer = THE_MAX_VALUES_DB[myNivConstr]; + for (Standard_Integer i = theTabMax.Lower(); i <= theTabMax.Upper(); i++) { - TabMax.SetValue(i, *pdb++); + theTabMax.ChangeValue(i) = *aDbPointer++; } } //================================================================================================= -Standard_Real PLib_JacobiPolynomial::MaxError(const Standard_Integer Dimension, - Standard_Real& JacCoeff, - const Standard_Integer NewDegree) const +Standard_Real PLib_JacobiPolynomial::MaxError(const Standard_Integer theDimension, + Standard_Real& theJacCoeff, + const Standard_Integer theNewDegree) const { - Standard_Integer i, idim, ibeg, icut; + // Buffering on stack to avoid dynamic allocation in this frequently called method + std::array aMaxErrBuffer; + TColStd_Array1OfReal aTabMax(aMaxErrBuffer.front(), 0, myDegree + 1); + MaxValue(aTabMax); - math_Vector MaxErrDim(1, Dimension, 0.); + const Standard_Integer aBegIdx = 2 * (myNivConstr + 1); + const Standard_Integer aCutIdx = Max(aBegIdx, theNewDegree + 1); - TColStd_Array1OfReal TabMax(0, myDegree + 1); - MaxValue(TabMax); + math_Vector aMaxErrDim(1, theDimension, 0.); + Standard_Real* aJacArray = &theJacCoeff; - ibeg = 2 * (myNivConstr + 1); - icut = Max(ibeg, NewDegree + 1); - Standard_Real* JacArray = &JacCoeff; - for (idim = 1; idim <= Dimension; idim++) + for (Standard_Integer aDimIdx = 1; aDimIdx <= theDimension; aDimIdx++) { - for (i = icut; i <= myWorkDegree; i++) + for (Standard_Integer aCoeffIdx = aCutIdx; aCoeffIdx <= myWorkDegree; aCoeffIdx++) { - MaxErrDim(idim) += Abs(JacArray[i * Dimension + idim - 1]) * TabMax(i - ibeg); + const Standard_Real aCoeffValue = aJacArray[aCoeffIdx * theDimension + aDimIdx - 1]; + const Standard_Real aBasisMax = aTabMax(aCoeffIdx - aBegIdx); + aMaxErrDim(aDimIdx) += Abs(aCoeffValue) * aBasisMax; } } - Standard_Real MaxErr = MaxErrDim.Norm(); - return (MaxErr); + + return aMaxErrDim.Norm(); } //================================================================================================= -void PLib_JacobiPolynomial::ReduceDegree(const Standard_Integer Dimension, - const Standard_Integer MaxDegree, - const Standard_Real Tol, - Standard_Real& JacCoeff, - Standard_Integer& NewDegree, - Standard_Real& MaxError) const +void PLib_JacobiPolynomial::ReduceDegree(const Standard_Integer theDimension, + const Standard_Integer theMaxDegree, + const Standard_Real theTol, + Standard_Real& theJacCoeff, + Standard_Integer& theNewDegree, + Standard_Real& theMaxError) const { - Standard_Integer i, idim, icut, ia = 2 * (myNivConstr + 1) - 1; - Standard_Real Bid, Eps1, Error; + const Standard_Integer anIdx = 2 * (myNivConstr + 1) - 1; + const Standard_Integer aCutIdx = anIdx + 1; - math_Vector MaxErrDim(1, Dimension, 0.); + math_Vector aMaxErrDim(1, theDimension, 0.); + TColStd_Array1OfReal aTabMax(0, myDegree + 1); + MaxValue(aTabMax); - NewDegree = ia; - MaxError = 0.; - Error = 0.; - icut = ia + 1; + Standard_Real* const aJacArray = &theJacCoeff; + theNewDegree = anIdx; + theMaxError = 0.; - TColStd_Array1OfReal TabMax(0, myDegree + 1); - MaxValue(TabMax); - Standard_Real* JacArray = &JacCoeff; - for (i = myWorkDegree; i >= icut; i--) + // Search for theNewDegree from high degree to low + for (Standard_Integer i = myWorkDegree; i >= aCutIdx; i--) { - for (idim = 1; idim <= Dimension; idim++) + // Accumulate error contribution for all dimensions + const Standard_Integer iOffset = i * theDimension; + for (Standard_Integer idim = 1; idim <= theDimension; idim++) { - MaxErrDim(idim) += Abs(JacArray[i * Dimension + idim - 1]) * TabMax(i - icut); + aMaxErrDim(idim) += Abs(aJacArray[iOffset + idim - 1]) * aTabMax(i - aCutIdx); } - Error = MaxErrDim.Norm(); - if (Error > Tol && i <= MaxDegree) + + const Standard_Real anError = aMaxErrDim.Norm(); + if (anError > theTol && i <= theMaxDegree) { - NewDegree = i; + theNewDegree = i; break; } - else - MaxError = Error; + theMaxError = anError; } - if (NewDegree == ia) + + // Fallback: find last non-negligible coefficient + if (theNewDegree == anIdx) { - Eps1 = 0.000000001; - NewDegree = 0; - for (i = ia; i >= 1; i--) + constexpr Standard_Real anEps = 1.0e-9; + theNewDegree = 0; + + for (Standard_Integer i = anIdx; i >= 1; i--) { - Bid = 0.; - for (idim = 1; idim <= Dimension; idim++) + Standard_Real aBid = 0.; + const Standard_Integer iOffset = i * theDimension; + for (Standard_Integer idim = 1; idim <= theDimension; idim++) { - Bid += Abs(JacArray[i * Dimension + idim - 1]); + aBid += Abs(aJacArray[iOffset + idim - 1]); } - if (Bid > Eps1) + if (aBid > anEps) { - NewDegree = i; + theNewDegree = i; break; } } @@ -273,83 +298,83 @@ void PLib_JacobiPolynomial::ReduceDegree(const Standard_Integer Dimension, //================================================================================================= -Standard_Real PLib_JacobiPolynomial::AverageError(const Standard_Integer Dimension, - Standard_Real& JacCoeff, - const Standard_Integer NewDegree) const +Standard_Real PLib_JacobiPolynomial::AverageError(const Standard_Integer theDimension, + Standard_Real& theJacCoeff, + const Standard_Integer theNewDegree) const { - Standard_Integer i, idim, icut = Max(2 * (myNivConstr + 1) + 1, NewDegree + 1); - Standard_Real BidJ, AverageErr = 0.; - Standard_Real* JacArray = &JacCoeff; - for (idim = 1; idim <= Dimension; idim++) + const Standard_Integer aCutIdx = Max(2 * (myNivConstr + 1) + 1, theNewDegree + 1); + Standard_Real* const aJacArray = &theJacCoeff; + Standard_Real anAverageErr = 0.; + + // Compute sum of squares of coefficients beyond theNewDegree + for (Standard_Integer idim = 1; idim <= theDimension; idim++) { - for (i = icut; i <= myDegree; i++) + for (Standard_Integer i = aCutIdx; i <= myDegree; i++) { - BidJ = JacArray[i * Dimension + idim - 1]; - AverageErr += BidJ * BidJ; + const Standard_Real aJacCoeff = aJacArray[i * theDimension + idim - 1]; + anAverageErr += aJacCoeff * aJacCoeff; } } - AverageErr = sqrt(AverageErr / 2); - return (AverageErr); + + return sqrt(anAverageErr / 2.); } //================================================================================================= -void PLib_JacobiPolynomial::ToCoefficients(const Standard_Integer Dimension, - const Standard_Integer Degree, - const TColStd_Array1OfReal& JacCoeff, - TColStd_Array1OfReal& Coefficients) const +void PLib_JacobiPolynomial::ToCoefficients(const Standard_Integer theDimension, + const Standard_Integer theDegree, + const TColStd_Array1OfReal& theJacCoeff, + TColStd_Array1OfReal& theCoefficients) const { - const Standard_Integer MAXM = 31; - Standard_Integer i, iptt, j, idim, ii, jj; - Standard_Real const* pTr = NULL; // the pointer to TransMatrix - Standard_Real Bid; - Standard_Integer ibegJC = JacCoeff.Lower(), ibegC = Coefficients.Lower(); - - switch (myNivConstr) + constexpr Standard_Integer aMaxM = THE_MAX_DEGREE + 1; + const Standard_Integer aHalfDegree = theDegree / 2; + const Standard_Integer aDoubleDim = 2 * theDimension; + const Standard_Integer aBegJC = theJacCoeff.Lower(); + const Standard_Integer aBegC = theCoefficients.Lower(); + Standard_Real const* aTrPointer = THE_TRANS_MATRIX[myNivConstr]; + + // Convert even elements of theJacCoeff + for (Standard_Integer i = 0; i <= aHalfDegree; i++) { - case 0: - pTr = &TransMatrix_C0[0][0]; - break; - case 1: - pTr = &TransMatrix_C1[0][0]; - break; - case 2: - pTr = &TransMatrix_C2[0][0]; - break; - } - // the conversation for even elements of JacCoeff - for (i = 0; i <= Degree / 2; i++) - { - iptt = i * MAXM - (i + 1) * i / 2; - for (idim = 1; idim <= Dimension; idim++) + const Standard_Integer iPtrIdx = i * aMaxM - (i + 1) * i / 2; + const Standard_Integer iCoeffOffset = aBegC + aDoubleDim * i; + + for (Standard_Integer idim = 1; idim <= theDimension; idim++) { - Bid = 0.; - for (j = i; j <= Degree / 2; j++) + Standard_Real aValue = 0.; + for (Standard_Integer j = i; j <= aHalfDegree; j++) { - Bid += (*(pTr + iptt + j)) * JacCoeff(2 * j * Dimension + idim - 1); + aValue += aTrPointer[iPtrIdx + j] * theJacCoeff(aBegJC + aDoubleDim * j + idim - 1); } - Coefficients.SetValue(2 * i * Dimension + idim - 1, Bid); + theCoefficients(iCoeffOffset + idim - 1) = aValue; } } - if (Degree == 0) + if (theDegree == 0) + { return; + } + + // Convert odd elements of theJacCoeff + aTrPointer += aMaxM * (aMaxM + 1) / 2; + const Standard_Integer aHalfDegreeMinus1 = (theDegree - 1) / 2; - // the conversation for odd elements of JacCoeff - pTr += MAXM * (MAXM + 1) / 2; - for (i = 0; i <= (Degree - 1) / 2; i++) + for (Standard_Integer i = 0; i <= aHalfDegreeMinus1; i++) { - iptt = i * MAXM - (i + 1) * i / 2; - ii = ibegC + (2 * i + 1) * Dimension; - for (idim = 1; idim <= Dimension; idim++, ii++) + const Standard_Integer iPtrIdx = i * aMaxM - (i + 1) * i / 2; + const Standard_Integer iBaseIdx = aBegC + (2 * i + 1) * theDimension; + const Standard_Integer jBaseIdx = aBegJC + (2 * i + 1) * theDimension; + + for (Standard_Integer idim = 1; idim <= theDimension; idim++) { - Bid = 0.; - jj = ibegJC + (2 * i + 1) * Dimension + idim - 1; - for (j = i; j <= (Degree - 1) / 2; j++, jj += 2 * Dimension) + Standard_Real aValue = 0.; + Standard_Integer jj = jBaseIdx + idim - 1; + + for (Standard_Integer j = i; j <= aHalfDegreeMinus1; j++, jj += aDoubleDim) { - Bid += (*(pTr + iptt + j)) * JacCoeff(jj); + aValue += aTrPointer[iPtrIdx + j] * theJacCoeff(jj); } - Coefficients(ii) = Bid; + theCoefficients(iBaseIdx + idim - 1) = aValue; } } } @@ -359,88 +384,60 @@ void PLib_JacobiPolynomial::ToCoefficients(const Standard_Integer Dimension // purpose : common part of D0,D1,D2,D3 (FORTRAN subroutine MPOJAC) //======================================================================= -void PLib_JacobiPolynomial::D0123(const Standard_Integer NDeriv, - const Standard_Real U, - TColStd_Array1OfReal& BasisValue, - TColStd_Array1OfReal& BasisD1, - TColStd_Array1OfReal& BasisD2, - TColStd_Array1OfReal& BasisD3) +void PLib_JacobiPolynomial::D0123(const Standard_Integer theNDeriv, + const Standard_Real theU, + TColStd_Array1OfReal& theBasisValue, + TColStd_Array1OfReal& theBasisD1, + TColStd_Array1OfReal& theBasisD2, + TColStd_Array1OfReal& theBasisD3) const { - Standard_Integer i, j, HermitNivConstr = 2 * (myNivConstr + 1); - Standard_Real Aux1, Aux2; - - if (myTNorm.IsNull()) - { - - // Initialization of myTNorm,myCofA,myCofB,myDenom + const Standard_Integer aHermitNivConstr = 2 * (myNivConstr + 1); + Standard_Integer i; + Standard_Real anAux; - myTNorm = new TColStd_HArray1OfReal(0, myDegree); - for (i = 0; i <= myDegree; i++) - { - Aux2 = 1.; - for (j = 1; j <= HermitNivConstr; j++) - { - Aux2 *= ((Standard_Real)(i + HermitNivConstr + j) / (Standard_Real)(i + j)); - } - myTNorm->SetValue( - i, - Sqrt(Aux2 * (2 * i + 2 * HermitNivConstr + 1) / (Pow(2, 2 * HermitNivConstr + 1)))); - } - - if (myDegree >= 2) - { - myCofA = new TColStd_HArray1OfReal(0, myDegree); - myCofB = new TColStd_HArray1OfReal(0, myDegree); - myDenom = new TColStd_HArray1OfReal(0, myDegree); - for (i = 2; i <= myDegree; i++) - { - Aux1 = HermitNivConstr + i - 1; - Aux2 = 2 * Aux1; - myCofA->SetValue(i, Aux2 * (Aux2 + 1) * (Aux2 + 2)); - myCofB->SetValue(i, -2. * (Aux2 + 2) * Aux1 * Aux1); - myDenom->SetValue(i, 1. / (2. * i * (i - 1 + 2 * HermitNivConstr + 1) * Aux2)); - } - } - } + // Get pre-computed coefficients from static cache (zero per-instance overhead!) + const JacobiCoefficientsCache& aCoeffs = GetJacobiCoefficients(myNivConstr, myDegree); // --- Positionements triviaux ----- - Standard_Integer ibeg0 = BasisValue.Lower(); - Standard_Integer ibeg1 = BasisD1.Lower(); - Standard_Integer ibeg2 = BasisD2.Lower(); - Standard_Integer ibeg3 = BasisD3.Lower(); + Standard_Integer aBeg0 = theBasisValue.Lower(); + Standard_Integer aBeg1 = theBasisD1.Lower(); + Standard_Integer aBeg2 = theBasisD2.Lower(); + Standard_Integer aBeg3 = theBasisD3.Lower(); Standard_Integer i0, i1, i2, i3; if (myDegree == 0) { - BasisValue(ibeg0 + 0) = 1.; - if (NDeriv >= 1) + theBasisValue(aBeg0 + 0) = 1.; + if (theNDeriv >= 1) { - BasisD1(ibeg1 + 0) = 0.; - if (NDeriv >= 2) + theBasisD1(aBeg1 + 0) = 0.; + if (theNDeriv >= 2) { - BasisD2(ibeg2 + 0) = 0.; - if (NDeriv == 3) - BasisD3(ibeg3 + 0) = 0.; + theBasisD2(aBeg2 + 0) = 0.; + if (theNDeriv == 3) + { + theBasisD3(aBeg3 + 0) = 0.; + } } } } else { - BasisValue(ibeg0 + 0) = 1.; - Aux1 = HermitNivConstr + 1; - BasisValue(ibeg0 + 1) = Aux1 * U; - if (NDeriv >= 1) + theBasisValue(aBeg0 + 0) = 1.; + anAux = aHermitNivConstr + 1; + theBasisValue(aBeg0 + 1) = anAux * theU; + if (theNDeriv >= 1) { - BasisD1(ibeg1 + 0) = 0.; - BasisD1(ibeg1 + 1) = Aux1; - if (NDeriv >= 2) + theBasisD1(aBeg1 + 0) = 0.; + theBasisD1(aBeg1 + 1) = anAux; + if (theNDeriv >= 2) { - BasisD2(ibeg2 + 0) = 0.; - BasisD2(ibeg2 + 1) = 0.; - if (NDeriv == 3) + theBasisD2(aBeg2 + 0) = 0.; + theBasisD2(aBeg2 + 1) = 0.; + if (theNDeriv == 3) { - BasisD3(ibeg3 + 0) = 0.; - BasisD3(ibeg3 + 1) = 0.; + theBasisD3(aBeg3 + 0) = 0.; + theBasisD3(aBeg3 + 1) = 0.; } } } @@ -449,42 +446,46 @@ void PLib_JacobiPolynomial::D0123(const Standard_Integer NDeriv, // --- Positionement par reccurence if (myDegree > 1) { - if (NDeriv == 0) + if (theNDeriv == 0) { - Standard_Real* BV = &BasisValue(ibeg0); - Standard_Real* CofA = &myCofA->ChangeValue(0); - Standard_Real* CofB = &myCofB->ChangeValue(0); - Standard_Real* Denom = &myDenom->ChangeValue(0); + Standard_Real* aBV = &theBasisValue(aBeg0); + const Standard_Real* aCofA = aCoeffs.CofA; + const Standard_Real* aCofB = aCoeffs.CofB; + const Standard_Real* aDenom = aCoeffs.Denom; for (i = 2; i <= myDegree; i++) { - BV[i] = (CofA[i] * U * BV[i - 1] + CofB[i] * BV[i - 2]) * Denom[i]; + aBV[i] = (aCofA[i] * theU * aBV[i - 1] + aCofB[i] * aBV[i - 2]) * aDenom[i]; } } else { - Standard_Real CofA, CofB, Denom; + Standard_Real aCofA, aCofB, aDenom; for (i = 2; i <= myDegree; i++) { - i0 = i + ibeg0; - i1 = i + ibeg1; - CofA = myCofA->Value(i); - CofB = myCofB->Value(i); - Denom = myDenom->Value(i); - - BasisValue(i0) = (CofA * U * BasisValue(i0 - 1) + CofB * BasisValue(i0 - 2)) * Denom; - BasisD1(i1) = - (CofA * (U * BasisD1(i1 - 1) + BasisValue(i0 - 1)) + CofB * BasisD1(i1 - 2)) * Denom; - if (NDeriv >= 2) + i0 = i + aBeg0; + i1 = i + aBeg1; + aCofA = aCoeffs.CofA[i]; + aCofB = aCoeffs.CofB[i]; + aDenom = aCoeffs.Denom[i]; + + theBasisValue(i0) = + (aCofA * theU * theBasisValue(i0 - 1) + aCofB * theBasisValue(i0 - 2)) * aDenom; + theBasisD1(i1) = + (aCofA * (theU * theBasisD1(i1 - 1) + theBasisValue(i0 - 1)) + aCofB * theBasisD1(i1 - 2)) + * aDenom; + if (theNDeriv >= 2) { - i2 = i + ibeg2; - BasisD2(i2) = - (CofA * (U * BasisD2(i2 - 1) + 2 * BasisD1(i1 - 1)) + CofB * BasisD2(i2 - 2)) * Denom; - if (NDeriv == 3) + i2 = i + aBeg2; + theBasisD2(i2) = (aCofA * (theU * theBasisD2(i2 - 1) + 2 * theBasisD1(i1 - 1)) + + aCofB * theBasisD2(i2 - 2)) + * aDenom; + if (theNDeriv == 3) { - i3 = i + ibeg3; - BasisD3(i3) = - (CofA * (U * BasisD3(i3 - 1) + 3 * BasisD2(i2 - 1)) + CofB * BasisD3(i3 - 2)) * Denom; + i3 = i + aBeg3; + theBasisD3(i3) = (aCofA * (theU * theBasisD3(i3 - 1) + 3 * theBasisD2(i2 - 1)) + + aCofB * theBasisD3(i3 - 2)) + * aDenom; } } } @@ -492,26 +493,30 @@ void PLib_JacobiPolynomial::D0123(const Standard_Integer NDeriv, } // Normalization - if (NDeriv == 0) + if (theNDeriv == 0) { - Standard_Real* BV = &BasisValue(ibeg0); - Standard_Real* TNorm = &myTNorm->ChangeValue(0); + Standard_Real* aBV = &theBasisValue(aBeg0); + const Standard_Real* aNorm = aCoeffs.TNorm; for (i = 0; i <= myDegree; i++) - BV[i] *= TNorm[i]; + { + aBV[i] *= aNorm[i]; + } } else { - Standard_Real TNorm; + const Standard_Real* aNorm = aCoeffs.TNorm; for (i = 0; i <= myDegree; i++) { - TNorm = myTNorm->Value(i); - BasisValue(i + ibeg0) *= TNorm; - BasisD1(i + ibeg1) *= TNorm; - if (NDeriv >= 2) + const Standard_Real aNormValue = aNorm[i]; + theBasisValue(i + aBeg0) *= aNormValue; + theBasisD1(i + aBeg1) *= aNormValue; + if (theNDeriv >= 2) { - BasisD2(i + ibeg2) *= TNorm; - if (NDeriv >= 3) - BasisD3(i + ibeg3) *= TNorm; + theBasisD2(i + aBeg2) *= aNormValue; + if (theNDeriv >= 3) + { + theBasisD3(i + aBeg3) *= aNormValue; + } } } } @@ -519,37 +524,37 @@ void PLib_JacobiPolynomial::D0123(const Standard_Integer NDeriv, //================================================================================================= -void PLib_JacobiPolynomial::D0(const Standard_Real U, TColStd_Array1OfReal& BasisValue) +void PLib_JacobiPolynomial::D0(const Standard_Real theU, TColStd_Array1OfReal& theBasisValue) { - D0123(0, U, BasisValue, BasisValue, BasisValue, BasisValue); + D0123(0, theU, theBasisValue, theBasisValue, theBasisValue, theBasisValue); } //================================================================================================= -void PLib_JacobiPolynomial::D1(const Standard_Real U, - TColStd_Array1OfReal& BasisValue, - TColStd_Array1OfReal& BasisD1) +void PLib_JacobiPolynomial::D1(const Standard_Real theU, + TColStd_Array1OfReal& theBasisValue, + TColStd_Array1OfReal& theBasisD1) { - D0123(1, U, BasisValue, BasisD1, BasisD1, BasisD1); + D0123(1, theU, theBasisValue, theBasisD1, theBasisD1, theBasisD1); } //================================================================================================= -void PLib_JacobiPolynomial::D2(const Standard_Real U, - TColStd_Array1OfReal& BasisValue, - TColStd_Array1OfReal& BasisD1, - TColStd_Array1OfReal& BasisD2) +void PLib_JacobiPolynomial::D2(const Standard_Real theU, + TColStd_Array1OfReal& theBasisValue, + TColStd_Array1OfReal& theBasisD1, + TColStd_Array1OfReal& theBasisD2) { - D0123(2, U, BasisValue, BasisD1, BasisD2, BasisD2); + D0123(2, theU, theBasisValue, theBasisD1, theBasisD2, theBasisD2); } //================================================================================================= -void PLib_JacobiPolynomial::D3(const Standard_Real U, - TColStd_Array1OfReal& BasisValue, - TColStd_Array1OfReal& BasisD1, - TColStd_Array1OfReal& BasisD2, - TColStd_Array1OfReal& BasisD3) +void PLib_JacobiPolynomial::D3(const Standard_Real theU, + TColStd_Array1OfReal& theBasisValue, + TColStd_Array1OfReal& theBasisD1, + TColStd_Array1OfReal& theBasisD2, + TColStd_Array1OfReal& theBasisD3) { - D0123(3, U, BasisValue, BasisD1, BasisD2, BasisD3); + D0123(3, theU, theBasisValue, theBasisD1, theBasisD2, theBasisD3); } diff --git a/src/FoundationClasses/TKMath/PLib/PLib_JacobiPolynomial.hxx b/src/FoundationClasses/TKMath/PLib/PLib_JacobiPolynomial.hxx index 795d8bbc01..b47508765b 100644 --- a/src/FoundationClasses/TKMath/PLib/PLib_JacobiPolynomial.hxx +++ b/src/FoundationClasses/TKMath/PLib/PLib_JacobiPolynomial.hxx @@ -21,7 +21,6 @@ #include #include -#include #include #include #include @@ -65,8 +64,8 @@ public: //! ConstraintOrder has to be GeomAbs_C0 //! GeomAbs_C1 //! GeomAbs_C2 - Standard_EXPORT PLib_JacobiPolynomial(const Standard_Integer WorkDegree, - const GeomAbs_Shape ConstraintOrder); + Standard_EXPORT PLib_JacobiPolynomial(const Standard_Integer theWorkDegree, + const GeomAbs_Shape theConstraintOrder); //! returns the Jacobi Points for Gauss integration ie //! the positive values of the Legendre roots by increasing values @@ -77,8 +76,8 @@ public: //! The possible values for NbGaussPoints are : 8, 10, //! 15, 20, 25, 30, 35, 40, 50, 61 //! NbGaussPoints must be greater than Degree - Standard_EXPORT void Points(const Standard_Integer NbGaussPoints, - TColStd_Array1OfReal& TabPoints) const; + Standard_EXPORT void Points(const Standard_Integer theNbGaussPoints, + TColStd_Array1OfReal& theTabPoints) const; //! returns the Jacobi weights for Gauss integration only for //! the positive values of the Legendre roots in the order they @@ -89,97 +88,92 @@ public: //! TabWeights (0,.) are only loaded for the odd values of NbGaussPoints //! The possible values for NbGaussPoints are : 8 , 10 , 15 ,20 ,25 , 30, //! 35 , 40 , 50 , 61 NbGaussPoints must be greater than Degree - Standard_EXPORT void Weights(const Standard_Integer NbGaussPoints, - TColStd_Array2OfReal& TabWeights) const; + Standard_EXPORT void Weights(const Standard_Integer theNbGaussPoints, + TColStd_Array2OfReal& theTabWeights) const; //! this method loads for k=0,q the maximum value of //! abs ( W(t)*Jk(t) )for t bellonging to [-1,1] //! This values are loaded is the array TabMax(0,myWorkDegree-2*(myNivConst+1)) //! MaxValue ( me ; TabMaxPointer : in out Real ); - Standard_EXPORT void MaxValue(TColStd_Array1OfReal& TabMax) const; + Standard_EXPORT void MaxValue(TColStd_Array1OfReal& theTabMax) const; //! This method computes the maximum error on the polynomial //! W(t) Q(t) obtained by missing the coefficients of JacCoeff from //! NewDegree +1 to Degree - Standard_EXPORT Standard_Real MaxError(const Standard_Integer Dimension, - Standard_Real& JacCoeff, - const Standard_Integer NewDegree) const; + Standard_EXPORT Standard_Real MaxError(const Standard_Integer theDimension, + Standard_Real& theJacCoeff, + const Standard_Integer theNewDegree) const; //! Compute NewDegree <= MaxDegree so that MaxError is lower //! than Tol. //! MaxError can be greater than Tol if it is not possible //! to find a NewDegree <= MaxDegree. //! In this case NewDegree = MaxDegree - Standard_EXPORT void ReduceDegree(const Standard_Integer Dimension, - const Standard_Integer MaxDegree, - const Standard_Real Tol, - Standard_Real& JacCoeff, - Standard_Integer& NewDegree, - Standard_Real& MaxError) const Standard_OVERRIDE; + Standard_EXPORT void ReduceDegree(const Standard_Integer theDimension, + const Standard_Integer theMaxDegree, + const Standard_Real theTol, + Standard_Real& theJacCoeff, + Standard_Integer& theNewDegree, + Standard_Real& theMaxError) const Standard_OVERRIDE; - Standard_EXPORT Standard_Real AverageError(const Standard_Integer Dimension, - Standard_Real& JacCoeff, - const Standard_Integer NewDegree) const; + Standard_EXPORT Standard_Real AverageError(const Standard_Integer theDimension, + Standard_Real& theJacCoeff, + const Standard_Integer theNewDegree) const; //! Convert the polynomial P(t) = R(t) + W(t) Q(t) in the canonical base. - Standard_EXPORT void ToCoefficients(const Standard_Integer Dimension, - const Standard_Integer Degree, - const TColStd_Array1OfReal& JacCoeff, - TColStd_Array1OfReal& Coefficients) const Standard_OVERRIDE; + Standard_EXPORT void ToCoefficients(const Standard_Integer theDimension, + const Standard_Integer theDegree, + const TColStd_Array1OfReal& theJacCoeff, + TColStd_Array1OfReal& theCoefficients) const + Standard_OVERRIDE; //! Compute the values of the basis functions in u - Standard_EXPORT void D0(const Standard_Real U, - TColStd_Array1OfReal& BasisValue) Standard_OVERRIDE; + Standard_EXPORT void D0(const Standard_Real theU, + TColStd_Array1OfReal& theBasisValue) Standard_OVERRIDE; //! Compute the values and the derivatives values of //! the basis functions in u - Standard_EXPORT void D1(const Standard_Real U, - TColStd_Array1OfReal& BasisValue, - TColStd_Array1OfReal& BasisD1) Standard_OVERRIDE; + Standard_EXPORT void D1(const Standard_Real theU, + TColStd_Array1OfReal& theBasisValue, + TColStd_Array1OfReal& theBasisD1) Standard_OVERRIDE; //! Compute the values and the derivatives values of //! the basis functions in u - Standard_EXPORT void D2(const Standard_Real U, - TColStd_Array1OfReal& BasisValue, - TColStd_Array1OfReal& BasisD1, - TColStd_Array1OfReal& BasisD2) Standard_OVERRIDE; + Standard_EXPORT void D2(const Standard_Real theU, + TColStd_Array1OfReal& theBasisValue, + TColStd_Array1OfReal& theBasisD1, + TColStd_Array1OfReal& theBasisD2) Standard_OVERRIDE; //! Compute the values and the derivatives values of //! the basis functions in u - Standard_EXPORT void D3(const Standard_Real U, - TColStd_Array1OfReal& BasisValue, - TColStd_Array1OfReal& BasisD1, - TColStd_Array1OfReal& BasisD2, - TColStd_Array1OfReal& BasisD3) Standard_OVERRIDE; + Standard_EXPORT void D3(const Standard_Real theU, + TColStd_Array1OfReal& theBasisValue, + TColStd_Array1OfReal& theBasisD1, + TColStd_Array1OfReal& theBasisD2, + TColStd_Array1OfReal& theBasisD3) Standard_OVERRIDE; //! returns WorkDegree - Standard_Integer WorkDegree() const Standard_OVERRIDE; + Standard_Integer WorkDegree() const Standard_OVERRIDE { return myWorkDegree; } //! returns NivConstr - Standard_Integer NivConstr() const; + Standard_Integer NivConstr() const { return myNivConstr; } DEFINE_STANDARD_RTTIEXT(PLib_JacobiPolynomial, PLib_Base) protected: -private: //! Compute the values and the derivatives values of //! the basis functions in u - Standard_EXPORT void D0123(const Standard_Integer NDerive, - const Standard_Real U, - TColStd_Array1OfReal& BasisValue, - TColStd_Array1OfReal& BasisD1, - TColStd_Array1OfReal& BasisD2, - TColStd_Array1OfReal& BasisD3); - - Standard_Integer myWorkDegree; - Standard_Integer myNivConstr; - Standard_Integer myDegree; - Handle(TColStd_HArray1OfReal) myTNorm; - Handle(TColStd_HArray1OfReal) myCofA; - Handle(TColStd_HArray1OfReal) myCofB; - Handle(TColStd_HArray1OfReal) myDenom; -}; + Standard_EXPORT void D0123(const Standard_Integer theNDeriv, + const Standard_Real theU, + TColStd_Array1OfReal& theBasisValue, + TColStd_Array1OfReal& theBasisD1, + TColStd_Array1OfReal& theBasisD2, + TColStd_Array1OfReal& theBasisD3) const; -#include +private: + const Standard_Integer myWorkDegree; + const Standard_Integer myNivConstr; + const Standard_Integer myDegree; +}; #endif // _PLib_JacobiPolynomial_HeaderFile diff --git a/src/FoundationClasses/TKMath/PLib/PLib_JacobiPolynomial.lxx b/src/FoundationClasses/TKMath/PLib/PLib_JacobiPolynomial.lxx deleted file mode 100644 index 2b7a6f96a0..0000000000 --- a/src/FoundationClasses/TKMath/PLib/PLib_JacobiPolynomial.lxx +++ /dev/null @@ -1,25 +0,0 @@ -// Created on: 1997-06-03 -// Created by: Sergey SOKOLOV -// Copyright (c) 1997-1999 Matra Datavision -// Copyright (c) 1999-2014 OPEN CASCADE SAS -// -// This file is part of Open CASCADE Technology software library. -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License version 2.1 as published -// by the Free Software Foundation, with special exception defined in the file -// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT -// distribution for complete text of the license and disclaimer of any warranty. -// -// Alternatively, this file may be used under the terms of Open CASCADE -// commercial license or contractual agreement. - -inline Standard_Integer PLib_JacobiPolynomial::WorkDegree() const -{ - return myWorkDegree; -} - -inline Standard_Integer PLib_JacobiPolynomial::NivConstr() const -{ - return myNivConstr; -} diff --git a/src/FoundationClasses/TKMath/PLib/PLib_JacobiPolynomial_Coeffs.pxx b/src/FoundationClasses/TKMath/PLib/PLib_JacobiPolynomial_Coeffs.pxx new file mode 100644 index 0000000000..73a347e77d --- /dev/null +++ b/src/FoundationClasses/TKMath/PLib/PLib_JacobiPolynomial_Coeffs.pxx @@ -0,0 +1,5688 @@ +// Copyright (c) 2025 OPEN CASCADE SAS +// +// This file is part of Open CASCADE Technology software library. +// +// This library is free software; you can redistribute it and/or modify it under +// the terms of the GNU Lesser General Public License version 2.1 as published +// by the Free Software Foundation, with special exception defined in the file +// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT +// distribution for complete text of the license and disclaimer of any warranty. +// +// Alternatively, this file may be used under the terms of Open CASCADE +// commercial license or contractual agreement. + +//======================================================================= +// Pre-computed Jacobi polynomial coefficients (variable-sized C arrays) +// Generated by generate_jacobi_coefficients.py +// DO NOT EDIT MANUALLY - regenerate the file if changes are needed +//======================================================================= + +// Coefficient cache structure using pointers to variable-sized arrays +struct JacobiCoefficientsCache +{ + const Standard_Real* TNorm; + const Standard_Real* CofA; + const Standard_Real* CofB; + const Standard_Real* Denom; + Standard_Integer Degree; +}; + +// ===== Coefficient arrays for NivConstr = 0 (C0) ===== + +// NivConstr=0, Degree=0 (array size: 1) +static constexpr Standard_Real TNorm_C0_D0[1] = {9.68245836551854255347e-01}; +static constexpr Standard_Real CofA_C0_D0[1] = {0.0}; +static constexpr Standard_Real CofB_C0_D0[1] = {0.0}; +static constexpr Standard_Real Denom_C0_D0[1] = {0.0}; + +// NivConstr=0, Degree=1 (array size: 2) +static constexpr Standard_Real TNorm_C0_D1[2] = {9.68245836551854255347e-01, + 8.53912563829966608786e-01}; +static constexpr Standard_Real CofA_C0_D1[2] = {0.0, 0.0}; +static constexpr Standard_Real CofB_C0_D1[2] = {0.0, 0.0}; +static constexpr Standard_Real Denom_C0_D1[2] = {0.0, 0.0}; + +// NivConstr=0, Degree=2 (array size: 3) +static constexpr Standard_Real TNorm_C0_D2[3] = {9.68245836551854255347e-01, + 8.53912563829966608786e-01, + 8.38525491562421176894e-01}; +static constexpr Standard_Real CofA_C0_D2[3] = {0.0, 0.0, 3.36000000000000000000e+02}; +static constexpr Standard_Real CofB_C0_D2[3] = {0.0, 0.0, -1.44000000000000000000e+02}; +static constexpr Standard_Real Denom_C0_D2[3] = {0.0, 0.0, 6.94444444444444405895e-03}; + +// NivConstr=0, Degree=3 (array size: 4) +static constexpr Standard_Real TNorm_C0_D3[4] = {9.68245836551854255347e-01, + 8.53912563829966608786e-01, + 8.38525491562421176894e-01, + 8.49632273398321369307e-01}; +static constexpr Standard_Real CofA_C0_D3[4] = {0.0, + 0.0, + 3.36000000000000000000e+02, + 7.20000000000000000000e+02}; +static constexpr Standard_Real CofB_C0_D3[4] = {0.0, + 0.0, + -1.44000000000000000000e+02, + -3.20000000000000000000e+02}; +static constexpr Standard_Real Denom_C0_D3[4] = {0.0, + 0.0, + 6.94444444444444405895e-03, + 2.97619047619047602526e-03}; + +// NivConstr=0, Degree=4 (array size: 5) +static constexpr Standard_Real TNorm_C0_D4[5] = {9.68245836551854255347e-01, + 8.53912563829966608786e-01, + 8.38525491562421176894e-01, + 8.49632273398321369307e-01, + 8.70823365174208774420e-01}; +static constexpr Standard_Real CofA_C0_D4[5] = {0.0, + 0.0, + 3.36000000000000000000e+02, + 7.20000000000000000000e+02, + 1.32000000000000000000e+03}; +static constexpr Standard_Real CofB_C0_D4[5] = {0.0, + 0.0, + -1.44000000000000000000e+02, + -3.20000000000000000000e+02, + -6.00000000000000000000e+02}; +static constexpr Standard_Real Denom_C0_D4[5] = {0.0, + 0.0, + 6.94444444444444405895e-03, + 2.97619047619047602526e-03, + 1.56250000000000008674e-03}; + +// NivConstr=0, Degree=5 (array size: 6) +static constexpr Standard_Real TNorm_C0_D5[6] = {9.68245836551854255347e-01, + 8.53912563829966608786e-01, + 8.38525491562421176894e-01, + 8.49632273398321369307e-01, + 8.70823365174208774420e-01, + 8.96421457000795229852e-01}; +static constexpr Standard_Real CofA_C0_D5[6] = {0.0, + 0.0, + 3.36000000000000000000e+02, + 7.20000000000000000000e+02, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03}; +static constexpr Standard_Real CofB_C0_D5[6] = {0.0, + 0.0, + -1.44000000000000000000e+02, + -3.20000000000000000000e+02, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03}; +static constexpr Standard_Real Denom_C0_D5[6] = {0.0, + 0.0, + 6.94444444444444405895e-03, + 2.97619047619047602526e-03, + 1.56250000000000008674e-03, + 9.25925925925925961263e-04}; + +// NivConstr=0, Degree=6 (array size: 7) +static constexpr Standard_Real TNorm_C0_D6[7] = {9.68245836551854255347e-01, + 8.53912563829966608786e-01, + 8.38525491562421176894e-01, + 8.49632273398321369307e-01, + 8.70823365174208774420e-01, + 8.96421457000795229852e-01, + 9.24010088071089641382e-01}; +static constexpr Standard_Real CofA_C0_D6[7] = {0.0, + 0.0, + 3.36000000000000000000e+02, + 7.20000000000000000000e+02, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03}; +static constexpr Standard_Real CofB_C0_D6[7] = {0.0, + 0.0, + -1.44000000000000000000e+02, + -3.20000000000000000000e+02, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03}; +static constexpr Standard_Real Denom_C0_D6[7] = {0.0, + 0.0, + 6.94444444444444405895e-03, + 2.97619047619047602526e-03, + 1.56250000000000008674e-03, + 9.25925925925925961263e-04, + 5.95238095238095291789e-04}; + +// NivConstr=0, Degree=7 (array size: 8) +static constexpr Standard_Real TNorm_C0_D7[8] = {9.68245836551854255347e-01, + 8.53912563829966608786e-01, + 8.38525491562421176894e-01, + 8.49632273398321369307e-01, + 8.70823365174208774420e-01, + 8.96421457000795229852e-01, + 9.24010088071089641382e-01, + 9.52427454221871694351e-01}; +static constexpr Standard_Real CofA_C0_D7[8] = {0.0, + 0.0, + 3.36000000000000000000e+02, + 7.20000000000000000000e+02, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03}; +static constexpr Standard_Real CofB_C0_D7[8] = {0.0, + 0.0, + -1.44000000000000000000e+02, + -3.20000000000000000000e+02, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03}; +static constexpr Standard_Real Denom_C0_D7[8] = {0.0, + 0.0, + 6.94444444444444405895e-03, + 2.97619047619047602526e-03, + 1.56250000000000008674e-03, + 9.25925925925925961263e-04, + 5.95238095238095291789e-04, + 4.05844155844155870909e-04}; + +// NivConstr=0, Degree=8 (array size: 9) +static constexpr Standard_Real TNorm_C0_D8[9] = {9.68245836551854255347e-01, + 8.53912563829966608786e-01, + 8.38525491562421176894e-01, + 8.49632273398321369307e-01, + 8.70823365174208774420e-01, + 8.96421457000795229852e-01, + 9.24010088071089641382e-01, + 9.52427454221871694351e-01, + 9.81070843517429236336e-01}; +static constexpr Standard_Real CofA_C0_D8[9] = {0.0, + 0.0, + 3.36000000000000000000e+02, + 7.20000000000000000000e+02, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03}; +static constexpr Standard_Real CofB_C0_D8[9] = {0.0, + 0.0, + -1.44000000000000000000e+02, + -3.20000000000000000000e+02, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03}; +static constexpr Standard_Real Denom_C0_D8[9] = {0.0, + 0.0, + 6.94444444444444405895e-03, + 2.97619047619047602526e-03, + 1.56250000000000008674e-03, + 9.25925925925925961263e-04, + 5.95238095238095291789e-04, + 4.05844155844155870909e-04, + 2.89351851851851835790e-04}; + +// NivConstr=0, Degree=9 (array size: 10) +static constexpr Standard_Real TNorm_C0_D9[10] = {9.68245836551854255347e-01, + 8.53912563829966608786e-01, + 8.38525491562421176894e-01, + 8.49632273398321369307e-01, + 8.70823365174208774420e-01, + 8.96421457000795229852e-01, + 9.24010088071089641382e-01, + 9.52427454221871694351e-01, + 9.81070843517429236336e-01, + 1.00961288710979801841e+00}; +static constexpr Standard_Real CofA_C0_D9[10] = {0.0, + 0.0, + 3.36000000000000000000e+02, + 7.20000000000000000000e+02, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03}; +static constexpr Standard_Real CofB_C0_D9[10] = {0.0, + 0.0, + -1.44000000000000000000e+02, + -3.20000000000000000000e+02, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03}; +static constexpr Standard_Real Denom_C0_D9[10] = {0.0, + 0.0, + 6.94444444444444405895e-03, + 2.97619047619047602526e-03, + 1.56250000000000008674e-03, + 9.25925925925925961263e-04, + 5.95238095238095291789e-04, + 4.05844155844155870909e-04, + 2.89351851851851835790e-04, + 2.13675213675213675028e-04}; + +// NivConstr=0, Degree=10 (array size: 11) +static constexpr Standard_Real TNorm_C0_D10[11] = {9.68245836551854255347e-01, + 8.53912563829966608786e-01, + 8.38525491562421176894e-01, + 8.49632273398321369307e-01, + 8.70823365174208774420e-01, + 8.96421457000795229852e-01, + 9.24010088071089641382e-01, + 9.52427454221871694351e-01, + 9.81070843517429236336e-01, + 1.00961288710979801841e+00, + 1.03787187566820127138e+00}; +static constexpr Standard_Real CofA_C0_D10[11] = {0.0, + 0.0, + 3.36000000000000000000e+02, + 7.20000000000000000000e+02, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04}; +static constexpr Standard_Real CofB_C0_D10[11] = {0.0, + 0.0, + -1.44000000000000000000e+02, + -3.20000000000000000000e+02, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03}; +static constexpr Standard_Real Denom_C0_D10[11] = {0.0, + 0.0, + 6.94444444444444405895e-03, + 2.97619047619047602526e-03, + 1.56250000000000008674e-03, + 9.25925925925925961263e-04, + 5.95238095238095291789e-04, + 4.05844155844155870909e-04, + 2.89351851851851835790e-04, + 2.13675213675213675028e-04, + 1.62337662337662337522e-04}; + +// NivConstr=0, Degree=11 (array size: 12) +static constexpr Standard_Real TNorm_C0_D11[12] = {9.68245836551854255347e-01, + 8.53912563829966608786e-01, + 8.38525491562421176894e-01, + 8.49632273398321369307e-01, + 8.70823365174208774420e-01, + 8.96421457000795229852e-01, + 9.24010088071089641382e-01, + 9.52427454221871694351e-01, + 9.81070843517429236336e-01, + 1.00961288710979801841e+00, + 1.03787187566820127138e+00, + 1.06574730011025953225e+00}; +static constexpr Standard_Real CofA_C0_D11[12] = {0.0, + 0.0, + 3.36000000000000000000e+02, + 7.20000000000000000000e+02, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04}; +static constexpr Standard_Real CofB_C0_D11[12] = {0.0, + 0.0, + -1.44000000000000000000e+02, + -3.20000000000000000000e+02, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03}; +static constexpr Standard_Real Denom_C0_D11[12] = {0.0, + 0.0, + 6.94444444444444405895e-03, + 2.97619047619047602526e-03, + 1.56250000000000008674e-03, + 9.25925925925925961263e-04, + 5.95238095238095291789e-04, + 4.05844155844155870909e-04, + 2.89351851851851835790e-04, + 2.13675213675213675028e-04, + 1.62337662337662337522e-04, + 1.26262626262626262517e-04}; + +// NivConstr=0, Degree=12 (array size: 13) +static constexpr Standard_Real TNorm_C0_D12[13] = {9.68245836551854255347e-01, + 8.53912563829966608786e-01, + 8.38525491562421176894e-01, + 8.49632273398321369307e-01, + 8.70823365174208774420e-01, + 8.96421457000795229852e-01, + 9.24010088071089641382e-01, + 9.52427454221871694351e-01, + 9.81070843517429236336e-01, + 1.00961288710979801841e+00, + 1.03787187566820127138e+00, + 1.06574730011025953225e+00, + 1.09318568644807312396e+00}; +static constexpr Standard_Real CofA_C0_D12[13] = {0.0, + 0.0, + 3.36000000000000000000e+02, + 7.20000000000000000000e+02, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04}; +static constexpr Standard_Real CofB_C0_D12[13] = {0.0, + 0.0, + -1.44000000000000000000e+02, + -3.20000000000000000000e+02, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03}; +static constexpr Standard_Real Denom_C0_D12[13] = {0.0, + 0.0, + 6.94444444444444405895e-03, + 2.97619047619047602526e-03, + 1.56250000000000008674e-03, + 9.25925925925925961263e-04, + 5.95238095238095291789e-04, + 4.05844155844155870909e-04, + 2.89351851851851835790e-04, + 2.13675213675213675028e-04, + 1.62337662337662337522e-04, + 1.26262626262626262517e-04, + 1.00160256410256406781e-04}; + +// NivConstr=0, Degree=13 (array size: 14) +static constexpr Standard_Real TNorm_C0_D13[14] = {9.68245836551854255347e-01, + 8.53912563829966608786e-01, + 8.38525491562421176894e-01, + 8.49632273398321369307e-01, + 8.70823365174208774420e-01, + 8.96421457000795229852e-01, + 9.24010088071089641382e-01, + 9.52427454221871694351e-01, + 9.81070843517429236336e-01, + 1.00961288710979801841e+00, + 1.03787187566820127138e+00, + 1.06574730011025953225e+00, + 1.09318568644807312396e+00, + 1.12016155297434871763e+00}; +static constexpr Standard_Real CofA_C0_D13[14] = {0.0, + 0.0, + 3.36000000000000000000e+02, + 7.20000000000000000000e+02, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04}; +static constexpr Standard_Real CofB_C0_D13[14] = {0.0, + 0.0, + -1.44000000000000000000e+02, + -3.20000000000000000000e+02, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04}; +static constexpr Standard_Real Denom_C0_D13[14] = {0.0, + 0.0, + 6.94444444444444405895e-03, + 2.97619047619047602526e-03, + 1.56250000000000008674e-03, + 9.25925925925925961263e-04, + 5.95238095238095291789e-04, + 4.05844155844155870909e-04, + 2.89351851851851835790e-04, + 2.13675213675213675028e-04, + 1.62337662337662337522e-04, + 1.26262626262626262517e-04, + 1.00160256410256406781e-04, + 8.08015513897866814426e-05}; + +// NivConstr=0, Degree=14 (array size: 15) +static constexpr Standard_Real TNorm_C0_D14[15] = {9.68245836551854255347e-01, + 8.53912563829966608786e-01, + 8.38525491562421176894e-01, + 8.49632273398321369307e-01, + 8.70823365174208774420e-01, + 8.96421457000795229852e-01, + 9.24010088071089641382e-01, + 9.52427454221871694351e-01, + 9.81070843517429236336e-01, + 1.00961288710979801841e+00, + 1.03787187566820127138e+00, + 1.06574730011025953225e+00, + 1.09318568644807312396e+00, + 1.12016155297434871763e+00, + 1.14666636385654907571e+00}; +static constexpr Standard_Real CofA_C0_D14[15] = {0.0, + 0.0, + 3.36000000000000000000e+02, + 7.20000000000000000000e+02, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04}; +static constexpr Standard_Real CofB_C0_D14[15] = {0.0, + 0.0, + -1.44000000000000000000e+02, + -3.20000000000000000000e+02, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04}; +static constexpr Standard_Real Denom_C0_D14[15] = {0.0, + 0.0, + 6.94444444444444405895e-03, + 2.97619047619047602526e-03, + 1.56250000000000008674e-03, + 9.25925925925925961263e-04, + 5.95238095238095291789e-04, + 4.05844155844155870909e-04, + 2.89351851851851835790e-04, + 2.13675213675213675028e-04, + 1.62337662337662337522e-04, + 1.26262626262626262517e-04, + 1.00160256410256406781e-04, + 8.08015513897866814426e-05, + 6.61375661375661420263e-05}; + +// NivConstr=0, Degree=15 (array size: 16) +static constexpr Standard_Real TNorm_C0_D15[16] = {9.68245836551854255347e-01, + 8.53912563829966608786e-01, + 8.38525491562421176894e-01, + 8.49632273398321369307e-01, + 8.70823365174208774420e-01, + 8.96421457000795229852e-01, + 9.24010088071089641382e-01, + 9.52427454221871694351e-01, + 9.81070843517429236336e-01, + 1.00961288710979801841e+00, + 1.03787187566820127138e+00, + 1.06574730011025953225e+00, + 1.09318568644807312396e+00, + 1.12016155297434871763e+00, + 1.14666636385654907571e+00, + 1.17270191413323998653e+00}; +static constexpr Standard_Real CofA_C0_D15[16] = {0.0, + 0.0, + 3.36000000000000000000e+02, + 7.20000000000000000000e+02, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04}; +static constexpr Standard_Real CofB_C0_D15[16] = {0.0, + 0.0, + -1.44000000000000000000e+02, + -3.20000000000000000000e+02, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04}; +static constexpr Standard_Real Denom_C0_D15[16] = {0.0, + 0.0, + 6.94444444444444405895e-03, + 2.97619047619047602526e-03, + 1.56250000000000008674e-03, + 9.25925925925925961263e-04, + 5.95238095238095291789e-04, + 4.05844155844155870909e-04, + 2.89351851851851835790e-04, + 2.13675213675213675028e-04, + 1.62337662337662337522e-04, + 1.26262626262626262517e-04, + 1.00160256410256406781e-04, + 8.08015513897866814426e-05, + 6.61375661375661420263e-05, + 5.48245614035087729522e-05}; + +// NivConstr=0, Degree=16 (array size: 17) +static constexpr Standard_Real TNorm_C0_D16[17] = {9.68245836551854255347e-01, + 8.53912563829966608786e-01, + 8.38525491562421176894e-01, + 8.49632273398321369307e-01, + 8.70823365174208774420e-01, + 8.96421457000795229852e-01, + 9.24010088071089641382e-01, + 9.52427454221871694351e-01, + 9.81070843517429236336e-01, + 1.00961288710979801841e+00, + 1.03787187566820127138e+00, + 1.06574730011025953225e+00, + 1.09318568644807312396e+00, + 1.12016155297434871763e+00, + 1.14666636385654907571e+00, + 1.17270191413323998653e+00, + 1.19827626742412585159e+00}; +static constexpr Standard_Real CofA_C0_D16[17] = {0.0, + 0.0, + 3.36000000000000000000e+02, + 7.20000000000000000000e+02, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04}; +static constexpr Standard_Real CofB_C0_D16[17] = {0.0, + 0.0, + -1.44000000000000000000e+02, + -3.20000000000000000000e+02, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04}; +static constexpr Standard_Real Denom_C0_D16[17] = {0.0, + 0.0, + 6.94444444444444405895e-03, + 2.97619047619047602526e-03, + 1.56250000000000008674e-03, + 9.25925925925925961263e-04, + 5.95238095238095291789e-04, + 4.05844155844155870909e-04, + 2.89351851851851835790e-04, + 2.13675213675213675028e-04, + 1.62337662337662337522e-04, + 1.26262626262626262517e-04, + 1.00160256410256406781e-04, + 8.08015513897866814426e-05, + 6.61375661375661420263e-05, + 5.48245614035087729522e-05, + 4.59558823529411758328e-05}; + +// NivConstr=0, Degree=17 (array size: 18) +static constexpr Standard_Real TNorm_C0_D17[18] = {9.68245836551854255347e-01, + 8.53912563829966608786e-01, + 8.38525491562421176894e-01, + 8.49632273398321369307e-01, + 8.70823365174208774420e-01, + 8.96421457000795229852e-01, + 9.24010088071089641382e-01, + 9.52427454221871694351e-01, + 9.81070843517429236336e-01, + 1.00961288710979801841e+00, + 1.03787187566820127138e+00, + 1.06574730011025953225e+00, + 1.09318568644807312396e+00, + 1.12016155297434871763e+00, + 1.14666636385654907571e+00, + 1.17270191413323998653e+00, + 1.19827626742412585159e+00, + 1.22340121232398235662e+00}; +static constexpr Standard_Real CofA_C0_D17[18] = {0.0, + 0.0, + 3.36000000000000000000e+02, + 7.20000000000000000000e+02, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04}; +static constexpr Standard_Real CofB_C0_D17[18] = {0.0, + 0.0, + -1.44000000000000000000e+02, + -3.20000000000000000000e+02, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04}; +static constexpr Standard_Real Denom_C0_D17[18] = {0.0, + 0.0, + 6.94444444444444405895e-03, + 2.97619047619047602526e-03, + 1.56250000000000008674e-03, + 9.25925925925925961263e-04, + 5.95238095238095291789e-04, + 4.05844155844155870909e-04, + 2.89351851851851835790e-04, + 2.13675213675213675028e-04, + 1.62337662337662337522e-04, + 1.26262626262626262517e-04, + 1.00160256410256406781e-04, + 8.08015513897866814426e-05, + 6.61375661375661420263e-05, + 5.48245614035087729522e-05, + 4.59558823529411758328e-05, + 3.89044506691565533359e-05}; + +// NivConstr=0, Degree=18 (array size: 19) +static constexpr Standard_Real TNorm_C0_D18[19] = {9.68245836551854255347e-01, + 8.53912563829966608786e-01, + 8.38525491562421176894e-01, + 8.49632273398321369307e-01, + 8.70823365174208774420e-01, + 8.96421457000795229852e-01, + 9.24010088071089641382e-01, + 9.52427454221871694351e-01, + 9.81070843517429236336e-01, + 1.00961288710979801841e+00, + 1.03787187566820127138e+00, + 1.06574730011025953225e+00, + 1.09318568644807312396e+00, + 1.12016155297434871763e+00, + 1.14666636385654907571e+00, + 1.17270191413323998653e+00, + 1.19827626742412585159e+00, + 1.22340121232398235662e+00, + 1.24809064701162442113e+00}; +static constexpr Standard_Real CofA_C0_D18[19] = {0.0, + 0.0, + 3.36000000000000000000e+02, + 7.20000000000000000000e+02, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04}; +static constexpr Standard_Real CofB_C0_D18[19] = {0.0, + 0.0, + -1.44000000000000000000e+02, + -3.20000000000000000000e+02, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04}; +static constexpr Standard_Real Denom_C0_D18[19] = {0.0, + 0.0, + 6.94444444444444405895e-03, + 2.97619047619047602526e-03, + 1.56250000000000008674e-03, + 9.25925925925925961263e-04, + 5.95238095238095291789e-04, + 4.05844155844155870909e-04, + 2.89351851851851835790e-04, + 2.13675213675213675028e-04, + 1.62337662337662337522e-04, + 1.26262626262626262517e-04, + 1.00160256410256406781e-04, + 8.08015513897866814426e-05, + 6.61375661375661420263e-05, + 5.48245614035087729522e-05, + 4.59558823529411758328e-05, + 3.89044506691565533359e-05, + 3.32270069112174400009e-05}; + +// NivConstr=0, Degree=19 (array size: 20) +static constexpr Standard_Real TNorm_C0_D19[20] = { + 9.68245836551854255347e-01, 8.53912563829966608786e-01, 8.38525491562421176894e-01, + 8.49632273398321369307e-01, 8.70823365174208774420e-01, 8.96421457000795229852e-01, + 9.24010088071089641382e-01, 9.52427454221871694351e-01, 9.81070843517429236336e-01, + 1.00961288710979801841e+00, 1.03787187566820127138e+00, 1.06574730011025953225e+00, + 1.09318568644807312396e+00, 1.12016155297434871763e+00, 1.14666636385654907571e+00, + 1.17270191413323998653e+00, 1.19827626742412585159e+00, 1.22340121232398235662e+00, + 1.24809064701162442113e+00, 1.27235954412414797865e+00}; +static constexpr Standard_Real CofA_C0_D19[20] = {0.0, + 0.0, + 3.36000000000000000000e+02, + 7.20000000000000000000e+02, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04, + 6.88800000000000000000e+04}; +static constexpr Standard_Real CofB_C0_D19[20] = {0.0, + 0.0, + -1.44000000000000000000e+02, + -3.20000000000000000000e+02, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04, + -3.36000000000000000000e+04}; +static constexpr Standard_Real Denom_C0_D19[20] = {0.0, + 0.0, + 6.94444444444444405895e-03, + 2.97619047619047602526e-03, + 1.56250000000000008674e-03, + 9.25925925925925961263e-04, + 5.95238095238095291789e-04, + 4.05844155844155870909e-04, + 2.89351851851851835790e-04, + 2.13675213675213675028e-04, + 1.62337662337662337522e-04, + 1.26262626262626262517e-04, + 1.00160256410256406781e-04, + 8.08015513897866814426e-05, + 6.61375661375661420263e-05, + 5.48245614035087729522e-05, + 4.59558823529411758328e-05, + 3.89044506691565533359e-05, + 3.32270069112174400009e-05, + 2.86041189931350128589e-05}; + +// NivConstr=0, Degree=20 (array size: 21) +static constexpr Standard_Real TNorm_C0_D20[21] = { + 9.68245836551854255347e-01, 8.53912563829966608786e-01, 8.38525491562421176894e-01, + 8.49632273398321369307e-01, 8.70823365174208774420e-01, 8.96421457000795229852e-01, + 9.24010088071089641382e-01, 9.52427454221871694351e-01, 9.81070843517429236336e-01, + 1.00961288710979801841e+00, 1.03787187566820127138e+00, 1.06574730011025953225e+00, + 1.09318568644807312396e+00, 1.12016155297434871763e+00, 1.14666636385654907571e+00, + 1.17270191413323998653e+00, 1.19827626742412585159e+00, 1.22340121232398235662e+00, + 1.24809064701162442113e+00, 1.27235954412414797865e+00, 1.29622328523862173633e+00}; +static constexpr Standard_Real CofA_C0_D20[21] = {0.0, + 0.0, + 3.36000000000000000000e+02, + 7.20000000000000000000e+02, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04, + 6.88800000000000000000e+04, + 7.94640000000000000000e+04}; +static constexpr Standard_Real CofB_C0_D20[21] = {0.0, + 0.0, + -1.44000000000000000000e+02, + -3.20000000000000000000e+02, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04, + -3.36000000000000000000e+04, + -3.88080000000000000000e+04}; +static constexpr Standard_Real Denom_C0_D20[21] = {0.0, + 0.0, + 6.94444444444444405895e-03, + 2.97619047619047602526e-03, + 1.56250000000000008674e-03, + 9.25925925925925961263e-04, + 5.95238095238095291789e-04, + 4.05844155844155870909e-04, + 2.89351851851851835790e-04, + 2.13675213675213675028e-04, + 1.62337662337662337522e-04, + 1.26262626262626262517e-04, + 1.00160256410256406781e-04, + 8.08015513897866814426e-05, + 6.61375661375661420263e-05, + 5.48245614035087729522e-05, + 4.59558823529411758328e-05, + 3.89044506691565533359e-05, + 3.32270069112174400009e-05, + 2.86041189931350128589e-05, + 2.48015873015873015658e-05}; + +// NivConstr=0, Degree=21 (array size: 22) +static constexpr Standard_Real TNorm_C0_D21[22] = { + 9.68245836551854255347e-01, 8.53912563829966608786e-01, 8.38525491562421176894e-01, + 8.49632273398321369307e-01, 8.70823365174208774420e-01, 8.96421457000795229852e-01, + 9.24010088071089641382e-01, 9.52427454221871694351e-01, 9.81070843517429236336e-01, + 1.00961288710979801841e+00, 1.03787187566820127138e+00, 1.06574730011025953225e+00, + 1.09318568644807312396e+00, 1.12016155297434871763e+00, 1.14666636385654907571e+00, + 1.17270191413323998653e+00, 1.19827626742412585159e+00, 1.22340121232398235662e+00, + 1.24809064701162442113e+00, 1.27235954412414797865e+00, 1.29622328523862173633e+00, + 1.31969723441167885447e+00}; +static constexpr Standard_Real CofA_C0_D21[22] = {0.0, + 0.0, + 3.36000000000000000000e+02, + 7.20000000000000000000e+02, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04, + 6.88800000000000000000e+04, + 7.94640000000000000000e+04, + 9.10800000000000000000e+04}; +static constexpr Standard_Real CofB_C0_D21[22] = {0.0, + 0.0, + -1.44000000000000000000e+02, + -3.20000000000000000000e+02, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04, + -3.36000000000000000000e+04, + -3.88080000000000000000e+04, + -4.45280000000000000000e+04}; +static constexpr Standard_Real Denom_C0_D21[22] = {0.0, + 0.0, + 6.94444444444444405895e-03, + 2.97619047619047602526e-03, + 1.56250000000000008674e-03, + 9.25925925925925961263e-04, + 5.95238095238095291789e-04, + 4.05844155844155870909e-04, + 2.89351851851851835790e-04, + 2.13675213675213675028e-04, + 1.62337662337662337522e-04, + 1.26262626262626262517e-04, + 1.00160256410256406781e-04, + 8.08015513897866814426e-05, + 6.61375661375661420263e-05, + 5.48245614035087729522e-05, + 4.59558823529411758328e-05, + 3.89044506691565533359e-05, + 3.32270069112174400009e-05, + 2.86041189931350128589e-05, + 2.48015873015873015658e-05, + 2.16450216450216450029e-05}; + +// NivConstr=0, Degree=22 (array size: 23) +static constexpr Standard_Real TNorm_C0_D22[23] = { + 9.68245836551854255347e-01, 8.53912563829966608786e-01, 8.38525491562421176894e-01, + 8.49632273398321369307e-01, 8.70823365174208774420e-01, 8.96421457000795229852e-01, + 9.24010088071089641382e-01, 9.52427454221871694351e-01, 9.81070843517429236336e-01, + 1.00961288710979801841e+00, 1.03787187566820127138e+00, 1.06574730011025953225e+00, + 1.09318568644807312396e+00, 1.12016155297434871763e+00, 1.14666636385654907571e+00, + 1.17270191413323998653e+00, 1.19827626742412585159e+00, 1.22340121232398235662e+00, + 1.24809064701162442113e+00, 1.27235954412414797865e+00, 1.29622328523862173633e+00, + 1.31969723441167885447e+00, 1.34279646822311216070e+00}; +static constexpr Standard_Real CofA_C0_D22[23] = {0.0, + 0.0, + 3.36000000000000000000e+02, + 7.20000000000000000000e+02, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04, + 6.88800000000000000000e+04, + 7.94640000000000000000e+04, + 9.10800000000000000000e+04, + 1.03776000000000000000e+05}; +static constexpr Standard_Real CofB_C0_D22[23] = {0.0, + 0.0, + -1.44000000000000000000e+02, + -3.20000000000000000000e+02, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04, + -3.36000000000000000000e+04, + -3.88080000000000000000e+04, + -4.45280000000000000000e+04, + -5.07840000000000000000e+04}; +static constexpr Standard_Real Denom_C0_D22[23] = {0.0, + 0.0, + 6.94444444444444405895e-03, + 2.97619047619047602526e-03, + 1.56250000000000008674e-03, + 9.25925925925925961263e-04, + 5.95238095238095291789e-04, + 4.05844155844155870909e-04, + 2.89351851851851835790e-04, + 2.13675213675213675028e-04, + 1.62337662337662337522e-04, + 1.26262626262626262517e-04, + 1.00160256410256406781e-04, + 8.08015513897866814426e-05, + 6.61375661375661420263e-05, + 5.48245614035087729522e-05, + 4.59558823529411758328e-05, + 3.89044506691565533359e-05, + 3.32270069112174400009e-05, + 2.86041189931350128589e-05, + 2.48015873015873015658e-05, + 2.16450216450216450029e-05, + 1.90027363940407421450e-05}; + +// NivConstr=0, Degree=23 (array size: 24) +static constexpr Standard_Real TNorm_C0_D23[24] = { + 9.68245836551854255347e-01, 8.53912563829966608786e-01, 8.38525491562421176894e-01, + 8.49632273398321369307e-01, 8.70823365174208774420e-01, 8.96421457000795229852e-01, + 9.24010088071089641382e-01, 9.52427454221871694351e-01, 9.81070843517429236336e-01, + 1.00961288710979801841e+00, 1.03787187566820127138e+00, 1.06574730011025953225e+00, + 1.09318568644807312396e+00, 1.12016155297434871763e+00, 1.14666636385654907571e+00, + 1.17270191413323998653e+00, 1.19827626742412585159e+00, 1.22340121232398235662e+00, + 1.24809064701162442113e+00, 1.27235954412414797865e+00, 1.29622328523862173633e+00, + 1.31969723441167885447e+00, 1.34279646822311216070e+00, 1.36553560920248417965e+00}; +static constexpr Standard_Real CofA_C0_D23[24] = {0.0, + 0.0, + 3.36000000000000000000e+02, + 7.20000000000000000000e+02, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04, + 6.88800000000000000000e+04, + 7.94640000000000000000e+04, + 9.10800000000000000000e+04, + 1.03776000000000000000e+05, + 1.17600000000000000000e+05}; +static constexpr Standard_Real CofB_C0_D23[24] = {0.0, + 0.0, + -1.44000000000000000000e+02, + -3.20000000000000000000e+02, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04, + -3.36000000000000000000e+04, + -3.88080000000000000000e+04, + -4.45280000000000000000e+04, + -5.07840000000000000000e+04, + -5.76000000000000000000e+04}; +static constexpr Standard_Real Denom_C0_D23[24] = {0.0, + 0.0, + 6.94444444444444405895e-03, + 2.97619047619047602526e-03, + 1.56250000000000008674e-03, + 9.25925925925925961263e-04, + 5.95238095238095291789e-04, + 4.05844155844155870909e-04, + 2.89351851851851835790e-04, + 2.13675213675213675028e-04, + 1.62337662337662337522e-04, + 1.26262626262626262517e-04, + 1.00160256410256406781e-04, + 8.08015513897866814426e-05, + 6.61375661375661420263e-05, + 5.48245614035087729522e-05, + 4.59558823529411758328e-05, + 3.89044506691565533359e-05, + 3.32270069112174400009e-05, + 2.86041189931350128589e-05, + 2.48015873015873015658e-05, + 2.16450216450216450029e-05, + 1.90027363940407421450e-05, + 1.67740203972088029586e-05}; + +// NivConstr=0, Degree=24 (array size: 25) +static constexpr Standard_Real TNorm_C0_D24[25] = { + 9.68245836551854255347e-01, 8.53912563829966608786e-01, 8.38525491562421176894e-01, + 8.49632273398321369307e-01, 8.70823365174208774420e-01, 8.96421457000795229852e-01, + 9.24010088071089641382e-01, 9.52427454221871694351e-01, 9.81070843517429236336e-01, + 1.00961288710979801841e+00, 1.03787187566820127138e+00, 1.06574730011025953225e+00, + 1.09318568644807312396e+00, 1.12016155297434871763e+00, 1.14666636385654907571e+00, + 1.17270191413323998653e+00, 1.19827626742412585159e+00, 1.22340121232398235662e+00, + 1.24809064701162442113e+00, 1.27235954412414797865e+00, 1.29622328523862173633e+00, + 1.31969723441167885447e+00, 1.34279646822311216070e+00, 1.36553560920248417965e+00, + 1.38792872794180399687e+00}; +static constexpr Standard_Real CofA_C0_D24[25] = {0.0, + 0.0, + 3.36000000000000000000e+02, + 7.20000000000000000000e+02, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04, + 6.88800000000000000000e+04, + 7.94640000000000000000e+04, + 9.10800000000000000000e+04, + 1.03776000000000000000e+05, + 1.17600000000000000000e+05, + 1.32600000000000000000e+05}; +static constexpr Standard_Real CofB_C0_D24[25] = {0.0, + 0.0, + -1.44000000000000000000e+02, + -3.20000000000000000000e+02, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04, + -3.36000000000000000000e+04, + -3.88080000000000000000e+04, + -4.45280000000000000000e+04, + -5.07840000000000000000e+04, + -5.76000000000000000000e+04, + -6.50000000000000000000e+04}; +static constexpr Standard_Real Denom_C0_D24[25] = {0.0, + 0.0, + 6.94444444444444405895e-03, + 2.97619047619047602526e-03, + 1.56250000000000008674e-03, + 9.25925925925925961263e-04, + 5.95238095238095291789e-04, + 4.05844155844155870909e-04, + 2.89351851851851835790e-04, + 2.13675213675213675028e-04, + 1.62337662337662337522e-04, + 1.26262626262626262517e-04, + 1.00160256410256406781e-04, + 8.08015513897866814426e-05, + 6.61375661375661420263e-05, + 5.48245614035087729522e-05, + 4.59558823529411758328e-05, + 3.89044506691565533359e-05, + 3.32270069112174400009e-05, + 2.86041189931350128589e-05, + 2.48015873015873015658e-05, + 2.16450216450216450029e-05, + 1.90027363940407421450e-05, + 1.67740203972088029586e-05, + 1.48809523809523809395e-05}; + +// NivConstr=0, Degree=25 (array size: 26) +static constexpr Standard_Real TNorm_C0_D25[26] = { + 9.68245836551854255347e-01, 8.53912563829966608786e-01, 8.38525491562421176894e-01, + 8.49632273398321369307e-01, 8.70823365174208774420e-01, 8.96421457000795229852e-01, + 9.24010088071089641382e-01, 9.52427454221871694351e-01, 9.81070843517429236336e-01, + 1.00961288710979801841e+00, 1.03787187566820127138e+00, 1.06574730011025953225e+00, + 1.09318568644807312396e+00, 1.12016155297434871763e+00, 1.14666636385654907571e+00, + 1.17270191413323998653e+00, 1.19827626742412585159e+00, 1.22340121232398235662e+00, + 1.24809064701162442113e+00, 1.27235954412414797865e+00, 1.29622328523862173633e+00, + 1.31969723441167885447e+00, 1.34279646822311216070e+00, 1.36553560920248417965e+00, + 1.38792872794180399687e+00, 1.40998929094153080399e+00}; +static constexpr Standard_Real CofA_C0_D25[26] = {0.0, + 0.0, + 3.36000000000000000000e+02, + 7.20000000000000000000e+02, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04, + 6.88800000000000000000e+04, + 7.94640000000000000000e+04, + 9.10800000000000000000e+04, + 1.03776000000000000000e+05, + 1.17600000000000000000e+05, + 1.32600000000000000000e+05, + 1.48824000000000000000e+05}; +static constexpr Standard_Real CofB_C0_D25[26] = {0.0, + 0.0, + -1.44000000000000000000e+02, + -3.20000000000000000000e+02, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04, + -3.36000000000000000000e+04, + -3.88080000000000000000e+04, + -4.45280000000000000000e+04, + -5.07840000000000000000e+04, + -5.76000000000000000000e+04, + -6.50000000000000000000e+04, + -7.30080000000000000000e+04}; +static constexpr Standard_Real Denom_C0_D25[26] = {0.0, + 0.0, + 6.94444444444444405895e-03, + 2.97619047619047602526e-03, + 1.56250000000000008674e-03, + 9.25925925925925961263e-04, + 5.95238095238095291789e-04, + 4.05844155844155870909e-04, + 2.89351851851851835790e-04, + 2.13675213675213675028e-04, + 1.62337662337662337522e-04, + 1.26262626262626262517e-04, + 1.00160256410256406781e-04, + 8.08015513897866814426e-05, + 6.61375661375661420263e-05, + 5.48245614035087729522e-05, + 4.59558823529411758328e-05, + 3.89044506691565533359e-05, + 3.32270069112174400009e-05, + 2.86041189931350128589e-05, + 2.48015873015873015658e-05, + 2.16450216450216450029e-05, + 1.90027363940407421450e-05, + 1.67740203972088029586e-05, + 1.48809523809523809395e-05, + 1.32625994694960220265e-05}; + +// NivConstr=0, Degree=26 (array size: 27) +static constexpr Standard_Real TNorm_C0_D26[27] = { + 9.68245836551854255347e-01, 8.53912563829966608786e-01, 8.38525491562421176894e-01, + 8.49632273398321369307e-01, 8.70823365174208774420e-01, 8.96421457000795229852e-01, + 9.24010088071089641382e-01, 9.52427454221871694351e-01, 9.81070843517429236336e-01, + 1.00961288710979801841e+00, 1.03787187566820127138e+00, 1.06574730011025953225e+00, + 1.09318568644807312396e+00, 1.12016155297434871763e+00, 1.14666636385654907571e+00, + 1.17270191413323998653e+00, 1.19827626742412585159e+00, 1.22340121232398235662e+00, + 1.24809064701162442113e+00, 1.27235954412414797865e+00, 1.29622328523862173633e+00, + 1.31969723441167885447e+00, 1.34279646822311216070e+00, 1.36553560920248417965e+00, + 1.38792872794180399687e+00, 1.40998929094153080399e+00, 1.43173013884467437151e+00}; +static constexpr Standard_Real CofA_C0_D26[27] = {0.0, + 0.0, + 3.36000000000000000000e+02, + 7.20000000000000000000e+02, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04, + 6.88800000000000000000e+04, + 7.94640000000000000000e+04, + 9.10800000000000000000e+04, + 1.03776000000000000000e+05, + 1.17600000000000000000e+05, + 1.32600000000000000000e+05, + 1.48824000000000000000e+05, + 1.66320000000000000000e+05}; +static constexpr Standard_Real CofB_C0_D26[27] = {0.0, + 0.0, + -1.44000000000000000000e+02, + -3.20000000000000000000e+02, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04, + -3.36000000000000000000e+04, + -3.88080000000000000000e+04, + -4.45280000000000000000e+04, + -5.07840000000000000000e+04, + -5.76000000000000000000e+04, + -6.50000000000000000000e+04, + -7.30080000000000000000e+04, + -8.16480000000000000000e+04}; +static constexpr Standard_Real Denom_C0_D26[27] = {0.0, + 0.0, + 6.94444444444444405895e-03, + 2.97619047619047602526e-03, + 1.56250000000000008674e-03, + 9.25925925925925961263e-04, + 5.95238095238095291789e-04, + 4.05844155844155870909e-04, + 2.89351851851851835790e-04, + 2.13675213675213675028e-04, + 1.62337662337662337522e-04, + 1.26262626262626262517e-04, + 1.00160256410256406781e-04, + 8.08015513897866814426e-05, + 6.61375661375661420263e-05, + 5.48245614035087729522e-05, + 4.59558823529411758328e-05, + 3.89044506691565533359e-05, + 3.32270069112174400009e-05, + 2.86041189931350128589e-05, + 2.48015873015873015658e-05, + 2.16450216450216450029e-05, + 1.90027363940407421450e-05, + 1.67740203972088029586e-05, + 1.48809523809523809395e-05, + 1.32625994694960220265e-05, + 1.18708452041785367487e-05}; + +// NivConstr=0, Degree=27 (array size: 28) +static constexpr Standard_Real TNorm_C0_D27[28] = { + 9.68245836551854255347e-01, 8.53912563829966608786e-01, 8.38525491562421176894e-01, + 8.49632273398321369307e-01, 8.70823365174208774420e-01, 8.96421457000795229852e-01, + 9.24010088071089641382e-01, 9.52427454221871694351e-01, 9.81070843517429236336e-01, + 1.00961288710979801841e+00, 1.03787187566820127138e+00, 1.06574730011025953225e+00, + 1.09318568644807312396e+00, 1.12016155297434871763e+00, 1.14666636385654907571e+00, + 1.17270191413323998653e+00, 1.19827626742412585159e+00, 1.22340121232398235662e+00, + 1.24809064701162442113e+00, 1.27235954412414797865e+00, 1.29622328523862173633e+00, + 1.31969723441167885447e+00, 1.34279646822311216070e+00, 1.36553560920248417965e+00, + 1.38792872794180399687e+00, 1.40998929094153080399e+00, 1.43173013884467437151e+00, + 1.45316348471205802895e+00}; +static constexpr Standard_Real CofA_C0_D27[28] = {0.0, + 0.0, + 3.36000000000000000000e+02, + 7.20000000000000000000e+02, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04, + 6.88800000000000000000e+04, + 7.94640000000000000000e+04, + 9.10800000000000000000e+04, + 1.03776000000000000000e+05, + 1.17600000000000000000e+05, + 1.32600000000000000000e+05, + 1.48824000000000000000e+05, + 1.66320000000000000000e+05, + 1.85136000000000000000e+05}; +static constexpr Standard_Real CofB_C0_D27[28] = {0.0, + 0.0, + -1.44000000000000000000e+02, + -3.20000000000000000000e+02, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04, + -3.36000000000000000000e+04, + -3.88080000000000000000e+04, + -4.45280000000000000000e+04, + -5.07840000000000000000e+04, + -5.76000000000000000000e+04, + -6.50000000000000000000e+04, + -7.30080000000000000000e+04, + -8.16480000000000000000e+04, + -9.09440000000000000000e+04}; +static constexpr Standard_Real Denom_C0_D27[28] = {0.0, + 0.0, + 6.94444444444444405895e-03, + 2.97619047619047602526e-03, + 1.56250000000000008674e-03, + 9.25925925925925961263e-04, + 5.95238095238095291789e-04, + 4.05844155844155870909e-04, + 2.89351851851851835790e-04, + 2.13675213675213675028e-04, + 1.62337662337662337522e-04, + 1.26262626262626262517e-04, + 1.00160256410256406781e-04, + 8.08015513897866814426e-05, + 6.61375661375661420263e-05, + 5.48245614035087729522e-05, + 4.59558823529411758328e-05, + 3.89044506691565533359e-05, + 3.32270069112174400009e-05, + 2.86041189931350128589e-05, + 2.48015873015873015658e-05, + 2.16450216450216450029e-05, + 1.90027363940407421450e-05, + 1.67740203972088029586e-05, + 1.48809523809523809395e-05, + 1.32625994694960220265e-05, + 1.18708452041785367487e-05, + 1.06673493770267969371e-05}; + +// NivConstr=0, Degree=28 (array size: 29) +static constexpr Standard_Real TNorm_C0_D28[29] = { + 9.68245836551854255347e-01, 8.53912563829966608786e-01, 8.38525491562421176894e-01, + 8.49632273398321369307e-01, 8.70823365174208774420e-01, 8.96421457000795229852e-01, + 9.24010088071089641382e-01, 9.52427454221871694351e-01, 9.81070843517429236336e-01, + 1.00961288710979801841e+00, 1.03787187566820127138e+00, 1.06574730011025953225e+00, + 1.09318568644807312396e+00, 1.12016155297434871763e+00, 1.14666636385654907571e+00, + 1.17270191413323998653e+00, 1.19827626742412585159e+00, 1.22340121232398235662e+00, + 1.24809064701162442113e+00, 1.27235954412414797865e+00, 1.29622328523862173633e+00, + 1.31969723441167885447e+00, 1.34279646822311216070e+00, 1.36553560920248417965e+00, + 1.38792872794180399687e+00, 1.40998929094153080399e+00, 1.43173013884467437151e+00, + 1.45316348471205802895e+00, 1.47430092531708223369e+00}; +static constexpr Standard_Real CofA_C0_D28[29] = {0.0, + 0.0, + 3.36000000000000000000e+02, + 7.20000000000000000000e+02, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04, + 6.88800000000000000000e+04, + 7.94640000000000000000e+04, + 9.10800000000000000000e+04, + 1.03776000000000000000e+05, + 1.17600000000000000000e+05, + 1.32600000000000000000e+05, + 1.48824000000000000000e+05, + 1.66320000000000000000e+05, + 1.85136000000000000000e+05, + 2.05320000000000000000e+05}; +static constexpr Standard_Real CofB_C0_D28[29] = {0.0, + 0.0, + -1.44000000000000000000e+02, + -3.20000000000000000000e+02, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04, + -3.36000000000000000000e+04, + -3.88080000000000000000e+04, + -4.45280000000000000000e+04, + -5.07840000000000000000e+04, + -5.76000000000000000000e+04, + -6.50000000000000000000e+04, + -7.30080000000000000000e+04, + -8.16480000000000000000e+04, + -9.09440000000000000000e+04, + -1.00920000000000000000e+05}; +static constexpr Standard_Real Denom_C0_D28[29] = {0.0, + 0.0, + 6.94444444444444405895e-03, + 2.97619047619047602526e-03, + 1.56250000000000008674e-03, + 9.25925925925925961263e-04, + 5.95238095238095291789e-04, + 4.05844155844155870909e-04, + 2.89351851851851835790e-04, + 2.13675213675213675028e-04, + 1.62337662337662337522e-04, + 1.26262626262626262517e-04, + 1.00160256410256406781e-04, + 8.08015513897866814426e-05, + 6.61375661375661420263e-05, + 5.48245614035087729522e-05, + 4.59558823529411758328e-05, + 3.89044506691565533359e-05, + 3.32270069112174400009e-05, + 2.86041189931350128589e-05, + 2.48015873015873015658e-05, + 2.16450216450216450029e-05, + 1.90027363940407421450e-05, + 1.67740203972088029586e-05, + 1.48809523809523809395e-05, + 1.32625994694960220265e-05, + 1.18708452041785367487e-05, + 1.06673493770267969371e-05, + 9.62130541871921193115e-06}; + +// NivConstr=0, Degree=29 (array size: 30) +static constexpr Standard_Real TNorm_C0_D29[30] = { + 9.68245836551854255347e-01, 8.53912563829966608786e-01, 8.38525491562421176894e-01, + 8.49632273398321369307e-01, 8.70823365174208774420e-01, 8.96421457000795229852e-01, + 9.24010088071089641382e-01, 9.52427454221871694351e-01, 9.81070843517429236336e-01, + 1.00961288710979801841e+00, 1.03787187566820127138e+00, 1.06574730011025953225e+00, + 1.09318568644807312396e+00, 1.12016155297434871763e+00, 1.14666636385654907571e+00, + 1.17270191413323998653e+00, 1.19827626742412585159e+00, 1.22340121232398235662e+00, + 1.24809064701162442113e+00, 1.27235954412414797865e+00, 1.29622328523862173633e+00, + 1.31969723441167885447e+00, 1.34279646822311216070e+00, 1.36553560920248417965e+00, + 1.38792872794180399687e+00, 1.40998929094153080399e+00, 1.43173013884467437151e+00, + 1.45316348471205802895e+00, 1.47430092531708223369e+00, 1.49515346067477028491e+00}; +static constexpr Standard_Real CofA_C0_D29[30] = {0.0, + 0.0, + 3.36000000000000000000e+02, + 7.20000000000000000000e+02, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04, + 6.88800000000000000000e+04, + 7.94640000000000000000e+04, + 9.10800000000000000000e+04, + 1.03776000000000000000e+05, + 1.17600000000000000000e+05, + 1.32600000000000000000e+05, + 1.48824000000000000000e+05, + 1.66320000000000000000e+05, + 1.85136000000000000000e+05, + 2.05320000000000000000e+05, + 2.26920000000000000000e+05}; +static constexpr Standard_Real CofB_C0_D29[30] = {0.0, + 0.0, + -1.44000000000000000000e+02, + -3.20000000000000000000e+02, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04, + -3.36000000000000000000e+04, + -3.88080000000000000000e+04, + -4.45280000000000000000e+04, + -5.07840000000000000000e+04, + -5.76000000000000000000e+04, + -6.50000000000000000000e+04, + -7.30080000000000000000e+04, + -8.16480000000000000000e+04, + -9.09440000000000000000e+04, + -1.00920000000000000000e+05, + -1.11600000000000000000e+05}; +static constexpr Standard_Real Denom_C0_D29[30] = {0.0, + 0.0, + 6.94444444444444405895e-03, + 2.97619047619047602526e-03, + 1.56250000000000008674e-03, + 9.25925925925925961263e-04, + 5.95238095238095291789e-04, + 4.05844155844155870909e-04, + 2.89351851851851835790e-04, + 2.13675213675213675028e-04, + 1.62337662337662337522e-04, + 1.26262626262626262517e-04, + 1.00160256410256406781e-04, + 8.08015513897866814426e-05, + 6.61375661375661420263e-05, + 5.48245614035087729522e-05, + 4.59558823529411758328e-05, + 3.89044506691565533359e-05, + 3.32270069112174400009e-05, + 2.86041189931350128589e-05, + 2.48015873015873015658e-05, + 2.16450216450216450029e-05, + 1.90027363940407421450e-05, + 1.67740203972088029586e-05, + 1.48809523809523809395e-05, + 1.32625994694960220265e-05, + 1.18708452041785367487e-05, + 1.06673493770267969371e-05, + 9.62130541871921193115e-06, + 8.70776732845698438125e-06}; + +// NivConstr=0, Degree=30 (array size: 31) +static constexpr Standard_Real TNorm_C0_D30[31] = { + 9.68245836551854255347e-01, 8.53912563829966608786e-01, 8.38525491562421176894e-01, + 8.49632273398321369307e-01, 8.70823365174208774420e-01, 8.96421457000795229852e-01, + 9.24010088071089641382e-01, 9.52427454221871694351e-01, 9.81070843517429236336e-01, + 1.00961288710979801841e+00, 1.03787187566820127138e+00, 1.06574730011025953225e+00, + 1.09318568644807312396e+00, 1.12016155297434871763e+00, 1.14666636385654907571e+00, + 1.17270191413323998653e+00, 1.19827626742412585159e+00, 1.22340121232398235662e+00, + 1.24809064701162442113e+00, 1.27235954412414797865e+00, 1.29622328523862173633e+00, + 1.31969723441167885447e+00, 1.34279646822311216070e+00, 1.36553560920248417965e+00, + 1.38792872794180399687e+00, 1.40998929094153080399e+00, 1.43173013884467437151e+00, + 1.45316348471205802895e+00, 1.47430092531708223369e+00, 1.49515346067477028491e+00, + 1.51573151853826737501e+00}; +static constexpr Standard_Real CofA_C0_D30[31] = {0.0, + 0.0, + 3.36000000000000000000e+02, + 7.20000000000000000000e+02, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04, + 6.88800000000000000000e+04, + 7.94640000000000000000e+04, + 9.10800000000000000000e+04, + 1.03776000000000000000e+05, + 1.17600000000000000000e+05, + 1.32600000000000000000e+05, + 1.48824000000000000000e+05, + 1.66320000000000000000e+05, + 1.85136000000000000000e+05, + 2.05320000000000000000e+05, + 2.26920000000000000000e+05, + 2.49984000000000000000e+05}; +static constexpr Standard_Real CofB_C0_D30[31] = {0.0, + 0.0, + -1.44000000000000000000e+02, + -3.20000000000000000000e+02, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04, + -3.36000000000000000000e+04, + -3.88080000000000000000e+04, + -4.45280000000000000000e+04, + -5.07840000000000000000e+04, + -5.76000000000000000000e+04, + -6.50000000000000000000e+04, + -7.30080000000000000000e+04, + -8.16480000000000000000e+04, + -9.09440000000000000000e+04, + -1.00920000000000000000e+05, + -1.11600000000000000000e+05, + -1.23008000000000000000e+05}; +static constexpr Standard_Real Denom_C0_D30[31] = {0.0, + 0.0, + 6.94444444444444405895e-03, + 2.97619047619047602526e-03, + 1.56250000000000008674e-03, + 9.25925925925925961263e-04, + 5.95238095238095291789e-04, + 4.05844155844155870909e-04, + 2.89351851851851835790e-04, + 2.13675213675213675028e-04, + 1.62337662337662337522e-04, + 1.26262626262626262517e-04, + 1.00160256410256406781e-04, + 8.08015513897866814426e-05, + 6.61375661375661420263e-05, + 5.48245614035087729522e-05, + 4.59558823529411758328e-05, + 3.89044506691565533359e-05, + 3.32270069112174400009e-05, + 2.86041189931350128589e-05, + 2.48015873015873015658e-05, + 2.16450216450216450029e-05, + 1.90027363940407421450e-05, + 1.67740203972088029586e-05, + 1.48809523809523809395e-05, + 1.32625994694960220265e-05, + 1.18708452041785367487e-05, + 1.06673493770267969371e-05, + 9.62130541871921193115e-06, + 8.70776732845698438125e-06, + 7.90638836179633192720e-06}; + +// ===== Coefficient arrays for NivConstr = 1 (C1) ===== + +// NivConstr=1, Degree=0 (array size: 1) +static constexpr Standard_Real TNorm_C1_D0[1] = {1.10926495933117807979e+00}; +static constexpr Standard_Real CofA_C1_D0[1] = {0.0}; +static constexpr Standard_Real CofB_C1_D0[1] = {0.0}; +static constexpr Standard_Real Denom_C1_D0[1] = {0.0}; + +// NivConstr=1, Degree=1 (array size: 2) +static constexpr Standard_Real TNorm_C1_D1[2] = {1.10926495933117807979e+00, + 7.35803132638071843985e-01}; +static constexpr Standard_Real CofA_C1_D1[2] = {0.0, 0.0}; +static constexpr Standard_Real CofB_C1_D1[2] = {0.0, 0.0}; +static constexpr Standard_Real Denom_C1_D1[2] = {0.0, 0.0}; + +// NivConstr=1, Degree=2 (array size: 3) +static constexpr Standard_Real TNorm_C1_D2[3] = {1.10926495933117807979e+00, + 7.35803132638071843985e-01, + 5.96212000885591120181e-01}; +static constexpr Standard_Real CofA_C1_D2[3] = {0.0, 0.0, 1.32000000000000000000e+03}; +static constexpr Standard_Real CofB_C1_D2[3] = {0.0, 0.0, -6.00000000000000000000e+02}; +static constexpr Standard_Real Denom_C1_D2[3] = {0.0, 0.0, 2.50000000000000005204e-03}; + +// NivConstr=1, Degree=3 (array size: 4) +static constexpr Standard_Real TNorm_C1_D3[4] = {1.10926495933117807979e+00, + 7.35803132638071843985e-01, + 5.96212000885591120181e-01, + 5.25573666170051412294e-01}; +static constexpr Standard_Real CofA_C1_D3[4] = {0.0, + 0.0, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03}; +static constexpr Standard_Real CofB_C1_D3[4] = {0.0, + 0.0, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03}; +static constexpr Standard_Real Denom_C1_D3[4] = {0.0, + 0.0, + 2.50000000000000005204e-03, + 1.26262626262626273359e-03}; + +// NivConstr=1, Degree=4 (array size: 5) +static constexpr Standard_Real TNorm_C1_D4[5] = {1.10926495933117807979e+00, + 7.35803132638071843985e-01, + 5.96212000885591120181e-01, + 5.25573666170051412294e-01, + 4.84554978083719889437e-01}; +static constexpr Standard_Real CofA_C1_D4[5] = {0.0, + 0.0, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03}; +static constexpr Standard_Real CofB_C1_D4[5] = {0.0, + 0.0, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03}; +static constexpr Standard_Real Denom_C1_D4[5] = {0.0, + 0.0, + 2.50000000000000005204e-03, + 1.26262626262626273359e-03, + 7.44047619047619006316e-04}; + +// NivConstr=1, Degree=5 (array size: 6) +static constexpr Standard_Real TNorm_C1_D5[6] = {1.10926495933117807979e+00, + 7.35803132638071843985e-01, + 5.96212000885591120181e-01, + 5.25573666170051412294e-01, + 4.84554978083719889437e-01, + 4.58891029747302503505e-01}; +static constexpr Standard_Real CofA_C1_D5[6] = {0.0, + 0.0, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03}; +static constexpr Standard_Real CofB_C1_D5[6] = {0.0, + 0.0, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03}; +static constexpr Standard_Real Denom_C1_D5[6] = {0.0, + 0.0, + 2.50000000000000005204e-03, + 1.26262626262626273359e-03, + 7.44047619047619006316e-04, + 4.80769230769230795919e-04}; + +// NivConstr=1, Degree=6 (array size: 7) +static constexpr Standard_Real TNorm_C1_D6[7] = {1.10926495933117807979e+00, + 7.35803132638071843985e-01, + 5.96212000885591120181e-01, + 5.25573666170051412294e-01, + 4.84554978083719889437e-01, + 4.58891029747302503505e-01, + 4.42162653895599833120e-01}; +static constexpr Standard_Real CofA_C1_D6[7] = {0.0, + 0.0, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03}; +static constexpr Standard_Real CofB_C1_D6[7] = {0.0, + 0.0, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03}; +static constexpr Standard_Real Denom_C1_D6[7] = {0.0, + 0.0, + 2.50000000000000005204e-03, + 1.26262626262626273359e-03, + 7.44047619047619006316e-04, + 4.80769230769230795919e-04, + 3.30687830687830669474e-04}; + +// NivConstr=1, Degree=7 (array size: 8) +static constexpr Standard_Real TNorm_C1_D7[8] = {1.10926495933117807979e+00, + 7.35803132638071843985e-01, + 5.96212000885591120181e-01, + 5.25573666170051412294e-01, + 4.84554978083719889437e-01, + 4.58891029747302503505e-01, + 4.42162653895599833120e-01, + 4.31060564453851047251e-01}; +static constexpr Standard_Real CofA_C1_D7[8] = {0.0, + 0.0, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03}; +static constexpr Standard_Real CofB_C1_D7[8] = {0.0, + 0.0, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03}; +static constexpr Standard_Real Denom_C1_D7[8] = {0.0, + 0.0, + 2.50000000000000005204e-03, + 1.26262626262626273359e-03, + 7.44047619047619006316e-04, + 4.80769230769230795919e-04, + 3.30687830687830669474e-04, + 2.38095238095238095032e-04}; + +// NivConstr=1, Degree=8 (array size: 9) +static constexpr Standard_Real TNorm_C1_D8[9] = {1.10926495933117807979e+00, + 7.35803132638071843985e-01, + 5.96212000885591120181e-01, + 5.25573666170051412294e-01, + 4.84554978083719889437e-01, + 4.58891029747302503505e-01, + 4.42162653895599833120e-01, + 4.31060564453851047251e-01, + 4.23709418962066153291e-01}; +static constexpr Standard_Real CofA_C1_D8[9] = {0.0, + 0.0, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04}; +static constexpr Standard_Real CofB_C1_D8[9] = {0.0, + 0.0, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03}; +static constexpr Standard_Real Denom_C1_D8[9] = {0.0, + 0.0, + 2.50000000000000005204e-03, + 1.26262626262626273359e-03, + 7.44047619047619006316e-04, + 4.80769230769230795919e-04, + 3.30687830687830669474e-04, + 2.38095238095238095032e-04, + 1.77556818181818186746e-04}; + +// NivConstr=1, Degree=9 (array size: 10) +static constexpr Standard_Real TNorm_C1_D9[10] = {1.10926495933117807979e+00, + 7.35803132638071843985e-01, + 5.96212000885591120181e-01, + 5.25573666170051412294e-01, + 4.84554978083719889437e-01, + 4.58891029747302503505e-01, + 4.42162653895599833120e-01, + 4.31060564453851047251e-01, + 4.23709418962066153291e-01, + 4.18969452463902269912e-01}; +static constexpr Standard_Real CofA_C1_D9[10] = {0.0, + 0.0, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04}; +static constexpr Standard_Real CofB_C1_D9[10] = {0.0, + 0.0, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03}; +static constexpr Standard_Real Denom_C1_D9[10] = {0.0, + 0.0, + 2.50000000000000005204e-03, + 1.26262626262626273359e-03, + 7.44047619047619006316e-04, + 4.80769230769230795919e-04, + 3.30687830687830669474e-04, + 2.38095238095238095032e-04, + 1.77556818181818186746e-04, + 1.36165577342047943452e-04}; + +// NivConstr=1, Degree=10 (array size: 11) +static constexpr Standard_Real TNorm_C1_D10[11] = {1.10926495933117807979e+00, + 7.35803132638071843985e-01, + 5.96212000885591120181e-01, + 5.25573666170051412294e-01, + 4.84554978083719889437e-01, + 4.58891029747302503505e-01, + 4.42162653895599833120e-01, + 4.31060564453851047251e-01, + 4.23709418962066153291e-01, + 4.18969452463902269912e-01, + 4.16109559292580255541e-01}; +static constexpr Standard_Real CofA_C1_D10[11] = {0.0, + 0.0, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04}; +static constexpr Standard_Real CofB_C1_D10[11] = {0.0, + 0.0, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03}; +static constexpr Standard_Real Denom_C1_D10[11] = {0.0, + 0.0, + 2.50000000000000005204e-03, + 1.26262626262626273359e-03, + 7.44047619047619006316e-04, + 4.80769230769230795919e-04, + 3.30687830687830669474e-04, + 2.38095238095238095032e-04, + 1.77556818181818186746e-04, + 1.36165577342047943452e-04, + 1.06837606837606837514e-04}; + +// NivConstr=1, Degree=11 (array size: 12) +static constexpr Standard_Real TNorm_C1_D11[12] = {1.10926495933117807979e+00, + 7.35803132638071843985e-01, + 5.96212000885591120181e-01, + 5.25573666170051412294e-01, + 4.84554978083719889437e-01, + 4.58891029747302503505e-01, + 4.42162653895599833120e-01, + 4.31060564453851047251e-01, + 4.23709418962066153291e-01, + 4.18969452463902269912e-01, + 4.16109559292580255541e-01, + 4.14640218730661702651e-01}; +static constexpr Standard_Real CofA_C1_D11[12] = {0.0, + 0.0, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04}; +static constexpr Standard_Real CofB_C1_D11[12] = {0.0, + 0.0, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04}; +static constexpr Standard_Real Denom_C1_D11[12] = {0.0, + 0.0, + 2.50000000000000005204e-03, + 1.26262626262626273359e-03, + 7.44047619047619006316e-04, + 4.80769230769230795919e-04, + 3.30687830687830669474e-04, + 2.38095238095238095032e-04, + 1.77556818181818186746e-04, + 1.36165577342047943452e-04, + 1.06837606837606837514e-04, + 8.54408749145591314310e-05}; + +// NivConstr=1, Degree=12 (array size: 13) +static constexpr Standard_Real TNorm_C1_D12[13] = {1.10926495933117807979e+00, + 7.35803132638071843985e-01, + 5.96212000885591120181e-01, + 5.25573666170051412294e-01, + 4.84554978083719889437e-01, + 4.58891029747302503505e-01, + 4.42162653895599833120e-01, + 4.31060564453851047251e-01, + 4.23709418962066153291e-01, + 4.18969452463902269912e-01, + 4.16109559292580255541e-01, + 4.14640218730661702651e-01, + 4.14222023749089451883e-01}; +static constexpr Standard_Real CofA_C1_D12[13] = {0.0, + 0.0, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04}; +static constexpr Standard_Real CofB_C1_D12[13] = {0.0, + 0.0, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04}; +static constexpr Standard_Real Denom_C1_D12[13] = {0.0, + 0.0, + 2.50000000000000005204e-03, + 1.26262626262626273359e-03, + 7.44047619047619006316e-04, + 4.80769230769230795919e-04, + 3.30687830687830669474e-04, + 2.38095238095238095032e-04, + 1.77556818181818186746e-04, + 1.36165577342047943452e-04, + 1.06837606837606837514e-04, + 8.54408749145591314310e-05, + 6.94444444444444443842e-05}; + +// NivConstr=1, Degree=13 (array size: 14) +static constexpr Standard_Real TNorm_C1_D13[14] = {1.10926495933117807979e+00, + 7.35803132638071843985e-01, + 5.96212000885591120181e-01, + 5.25573666170051412294e-01, + 4.84554978083719889437e-01, + 4.58891029747302503505e-01, + 4.42162653895599833120e-01, + 4.31060564453851047251e-01, + 4.23709418962066153291e-01, + 4.18969452463902269912e-01, + 4.16109559292580255541e-01, + 4.14640218730661702651e-01, + 4.14222023749089451883e-01, + 4.14612737897029126621e-01}; +static constexpr Standard_Real CofA_C1_D13[14] = {0.0, + 0.0, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04}; +static constexpr Standard_Real CofB_C1_D13[14] = {0.0, + 0.0, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04}; +static constexpr Standard_Real Denom_C1_D13[14] = {0.0, + 0.0, + 2.50000000000000005204e-03, + 1.26262626262626273359e-03, + 7.44047619047619006316e-04, + 4.80769230769230795919e-04, + 3.30687830687830669474e-04, + 2.38095238095238095032e-04, + 1.77556818181818186746e-04, + 1.36165577342047943452e-04, + 1.06837606837606837514e-04, + 8.54408749145591314310e-05, + 6.94444444444444443842e-05, + 5.72344322344322343826e-05}; + +// NivConstr=1, Degree=14 (array size: 15) +static constexpr Standard_Real TNorm_C1_D14[15] = {1.10926495933117807979e+00, + 7.35803132638071843985e-01, + 5.96212000885591120181e-01, + 5.25573666170051412294e-01, + 4.84554978083719889437e-01, + 4.58891029747302503505e-01, + 4.42162653895599833120e-01, + 4.31060564453851047251e-01, + 4.23709418962066153291e-01, + 4.18969452463902269912e-01, + 4.16109559292580255541e-01, + 4.14640218730661702651e-01, + 4.14222023749089451883e-01, + 4.14612737897029126621e-01, + 4.15635212292837896708e-01}; +static constexpr Standard_Real CofA_C1_D14[15] = {0.0, + 0.0, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04}; +static constexpr Standard_Real CofB_C1_D14[15] = {0.0, + 0.0, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04}; +static constexpr Standard_Real Denom_C1_D14[15] = {0.0, + 0.0, + 2.50000000000000005204e-03, + 1.26262626262626273359e-03, + 7.44047619047619006316e-04, + 4.80769230769230795919e-04, + 3.30687830687830669474e-04, + 2.38095238095238095032e-04, + 1.77556818181818186746e-04, + 1.36165577342047943452e-04, + 1.06837606837606837514e-04, + 8.54408749145591314310e-05, + 6.94444444444444443842e-05, + 5.72344322344322343826e-05, + 4.77463712757830396503e-05}; + +// NivConstr=1, Degree=15 (array size: 16) +static constexpr Standard_Real TNorm_C1_D15[16] = {1.10926495933117807979e+00, + 7.35803132638071843985e-01, + 5.96212000885591120181e-01, + 5.25573666170051412294e-01, + 4.84554978083719889437e-01, + 4.58891029747302503505e-01, + 4.42162653895599833120e-01, + 4.31060564453851047251e-01, + 4.23709418962066153291e-01, + 4.18969452463902269912e-01, + 4.16109559292580255541e-01, + 4.14640218730661702651e-01, + 4.14222023749089451883e-01, + 4.14612737897029126621e-01, + 4.15635212292837896708e-01, + 4.17157178705288567144e-01}; +static constexpr Standard_Real CofA_C1_D15[16] = {0.0, + 0.0, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04}; +static constexpr Standard_Real CofB_C1_D15[16] = {0.0, + 0.0, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04}; +static constexpr Standard_Real Denom_C1_D15[16] = {0.0, + 0.0, + 2.50000000000000005204e-03, + 1.26262626262626273359e-03, + 7.44047619047619006316e-04, + 4.80769230769230795919e-04, + 3.30687830687830669474e-04, + 2.38095238095238095032e-04, + 1.77556818181818186746e-04, + 1.36165577342047943452e-04, + 1.06837606837606837514e-04, + 8.54408749145591314310e-05, + 6.94444444444444443842e-05, + 5.72344322344322343826e-05, + 4.77463712757830396503e-05, + 4.02576489533011284559e-05}; + +// NivConstr=1, Degree=16 (array size: 17) +static constexpr Standard_Real TNorm_C1_D16[17] = {1.10926495933117807979e+00, + 7.35803132638071843985e-01, + 5.96212000885591120181e-01, + 5.25573666170051412294e-01, + 4.84554978083719889437e-01, + 4.58891029747302503505e-01, + 4.42162653895599833120e-01, + 4.31060564453851047251e-01, + 4.23709418962066153291e-01, + 4.18969452463902269912e-01, + 4.16109559292580255541e-01, + 4.14640218730661702651e-01, + 4.14222023749089451883e-01, + 4.14612737897029126621e-01, + 4.15635212292837896708e-01, + 4.17157178705288567144e-01, + 4.19078096824911705554e-01}; +static constexpr Standard_Real CofA_C1_D16[17] = {0.0, + 0.0, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04}; +static constexpr Standard_Real CofB_C1_D16[17] = {0.0, + 0.0, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04}; +static constexpr Standard_Real Denom_C1_D16[17] = {0.0, + 0.0, + 2.50000000000000005204e-03, + 1.26262626262626273359e-03, + 7.44047619047619006316e-04, + 4.80769230769230795919e-04, + 3.30687830687830669474e-04, + 2.38095238095238095032e-04, + 1.77556818181818186746e-04, + 1.36165577342047943452e-04, + 1.06837606837606837514e-04, + 8.54408749145591314310e-05, + 6.94444444444444443842e-05, + 5.72344322344322343826e-05, + 4.77463712757830396503e-05, + 4.02576489533011284559e-05, + 3.42653508771929805540e-05}; + +// NivConstr=1, Degree=17 (array size: 18) +static constexpr Standard_Real TNorm_C1_D17[18] = {1.10926495933117807979e+00, + 7.35803132638071843985e-01, + 5.96212000885591120181e-01, + 5.25573666170051412294e-01, + 4.84554978083719889437e-01, + 4.58891029747302503505e-01, + 4.42162653895599833120e-01, + 4.31060564453851047251e-01, + 4.23709418962066153291e-01, + 4.18969452463902269912e-01, + 4.16109559292580255541e-01, + 4.14640218730661702651e-01, + 4.14222023749089451883e-01, + 4.14612737897029126621e-01, + 4.15635212292837896708e-01, + 4.17157178705288567144e-01, + 4.19078096824911705554e-01, + 4.21320346503240572567e-01}; +static constexpr Standard_Real CofA_C1_D17[18] = {0.0, + 0.0, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04, + 6.88800000000000000000e+04}; +static constexpr Standard_Real CofB_C1_D17[18] = {0.0, + 0.0, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04, + -3.36000000000000000000e+04}; +static constexpr Standard_Real Denom_C1_D17[18] = {0.0, + 0.0, + 2.50000000000000005204e-03, + 1.26262626262626273359e-03, + 7.44047619047619006316e-04, + 4.80769230769230795919e-04, + 3.30687830687830669474e-04, + 2.38095238095238095032e-04, + 1.77556818181818186746e-04, + 1.36165577342047943452e-04, + 1.06837606837606837514e-04, + 8.54408749145591314310e-05, + 6.94444444444444443842e-05, + 5.72344322344322343826e-05, + 4.77463712757830396503e-05, + 4.02576489533011284559e-05, + 3.42653508771929805540e-05, + 2.94117647058823537527e-05}; + +// NivConstr=1, Degree=18 (array size: 19) +static constexpr Standard_Real TNorm_C1_D18[19] = {1.10926495933117807979e+00, + 7.35803132638071843985e-01, + 5.96212000885591120181e-01, + 5.25573666170051412294e-01, + 4.84554978083719889437e-01, + 4.58891029747302503505e-01, + 4.42162653895599833120e-01, + 4.31060564453851047251e-01, + 4.23709418962066153291e-01, + 4.18969452463902269912e-01, + 4.16109559292580255541e-01, + 4.14640218730661702651e-01, + 4.14222023749089451883e-01, + 4.14612737897029126621e-01, + 4.15635212292837896708e-01, + 4.17157178705288567144e-01, + 4.19078096824911705554e-01, + 4.21320346503240572567e-01, + 4.23823181729309328425e-01}; +static constexpr Standard_Real CofA_C1_D18[19] = {0.0, + 0.0, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04, + 6.88800000000000000000e+04, + 7.94640000000000000000e+04}; +static constexpr Standard_Real CofB_C1_D18[19] = {0.0, + 0.0, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04, + -3.36000000000000000000e+04, + -3.88080000000000000000e+04}; +static constexpr Standard_Real Denom_C1_D18[19] = {0.0, + 0.0, + 2.50000000000000005204e-03, + 1.26262626262626273359e-03, + 7.44047619047619006316e-04, + 4.80769230769230795919e-04, + 3.30687830687830669474e-04, + 2.38095238095238095032e-04, + 1.77556818181818186746e-04, + 1.36165577342047943452e-04, + 1.06837606837606837514e-04, + 8.54408749145591314310e-05, + 6.94444444444444443842e-05, + 5.72344322344322343826e-05, + 4.77463712757830396503e-05, + 4.02576489533011284559e-05, + 3.42653508771929805540e-05, + 2.94117647058823537527e-05, + 2.54375254375254363740e-05}; + +// NivConstr=1, Degree=19 (array size: 20) +static constexpr Standard_Real TNorm_C1_D19[20] = { + 1.10926495933117807979e+00, 7.35803132638071843985e-01, 5.96212000885591120181e-01, + 5.25573666170051412294e-01, 4.84554978083719889437e-01, 4.58891029747302503505e-01, + 4.42162653895599833120e-01, 4.31060564453851047251e-01, 4.23709418962066153291e-01, + 4.18969452463902269912e-01, 4.16109559292580255541e-01, 4.14640218730661702651e-01, + 4.14222023749089451883e-01, 4.14612737897029126621e-01, 4.15635212292837896708e-01, + 4.17157178705288567144e-01, 4.19078096824911705554e-01, 4.21320346503240572567e-01, + 4.23823181729309328425e-01, 4.26538488978970176113e-01}; +static constexpr Standard_Real CofA_C1_D19[20] = {0.0, + 0.0, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04, + 6.88800000000000000000e+04, + 7.94640000000000000000e+04, + 9.10800000000000000000e+04}; +static constexpr Standard_Real CofB_C1_D19[20] = {0.0, + 0.0, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04, + -3.36000000000000000000e+04, + -3.88080000000000000000e+04, + -4.45280000000000000000e+04}; +static constexpr Standard_Real Denom_C1_D19[20] = {0.0, + 0.0, + 2.50000000000000005204e-03, + 1.26262626262626273359e-03, + 7.44047619047619006316e-04, + 4.80769230769230795919e-04, + 3.30687830687830669474e-04, + 2.38095238095238095032e-04, + 1.77556818181818186746e-04, + 1.36165577342047943452e-04, + 1.06837606837606837514e-04, + 8.54408749145591314310e-05, + 6.94444444444444443842e-05, + 5.72344322344322343826e-05, + 4.77463712757830396503e-05, + 4.02576489533011284559e-05, + 3.42653508771929805540e-05, + 2.94117647058823537527e-05, + 2.54375254375254363740e-05, + 2.21513379408116244085e-05}; + +// NivConstr=1, Degree=20 (array size: 21) +static constexpr Standard_Real TNorm_C1_D20[21] = { + 1.10926495933117807979e+00, 7.35803132638071843985e-01, 5.96212000885591120181e-01, + 5.25573666170051412294e-01, 4.84554978083719889437e-01, 4.58891029747302503505e-01, + 4.42162653895599833120e-01, 4.31060564453851047251e-01, 4.23709418962066153291e-01, + 4.18969452463902269912e-01, 4.16109559292580255541e-01, 4.14640218730661702651e-01, + 4.14222023749089451883e-01, 4.14612737897029126621e-01, 4.15635212292837896708e-01, + 4.17157178705288567144e-01, 4.19078096824911705554e-01, 4.21320346503240572567e-01, + 4.23823181729309328425e-01, 4.26538488978970176113e-01, 4.29427753417426838478e-01}; +static constexpr Standard_Real CofA_C1_D20[21] = {0.0, + 0.0, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04, + 6.88800000000000000000e+04, + 7.94640000000000000000e+04, + 9.10800000000000000000e+04, + 1.03776000000000000000e+05}; +static constexpr Standard_Real CofB_C1_D20[21] = {0.0, + 0.0, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04, + -3.36000000000000000000e+04, + -3.88080000000000000000e+04, + -4.45280000000000000000e+04, + -5.07840000000000000000e+04}; +static constexpr Standard_Real Denom_C1_D20[21] = {0.0, + 0.0, + 2.50000000000000005204e-03, + 1.26262626262626273359e-03, + 7.44047619047619006316e-04, + 4.80769230769230795919e-04, + 3.30687830687830669474e-04, + 2.38095238095238095032e-04, + 1.77556818181818186746e-04, + 1.36165577342047943452e-04, + 1.06837606837606837514e-04, + 8.54408749145591314310e-05, + 6.94444444444444443842e-05, + 5.72344322344322343826e-05, + 4.77463712757830396503e-05, + 4.02576489533011284559e-05, + 3.42653508771929805540e-05, + 2.94117647058823537527e-05, + 2.54375254375254363740e-05, + 2.21513379408116244085e-05, + 1.94099378881987584837e-05}; + +// NivConstr=1, Degree=21 (array size: 22) +static constexpr Standard_Real TNorm_C1_D21[22] = { + 1.10926495933117807979e+00, 7.35803132638071843985e-01, 5.96212000885591120181e-01, + 5.25573666170051412294e-01, 4.84554978083719889437e-01, 4.58891029747302503505e-01, + 4.42162653895599833120e-01, 4.31060564453851047251e-01, 4.23709418962066153291e-01, + 4.18969452463902269912e-01, 4.16109559292580255541e-01, 4.14640218730661702651e-01, + 4.14222023749089451883e-01, 4.14612737897029126621e-01, 4.15635212292837896708e-01, + 4.17157178705288567144e-01, 4.19078096824911705554e-01, 4.21320346503240572567e-01, + 4.23823181729309328425e-01, 4.26538488978970176113e-01, 4.29427753417426838478e-01, + 4.32459851285998952974e-01}; +static constexpr Standard_Real CofA_C1_D21[22] = {0.0, + 0.0, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04, + 6.88800000000000000000e+04, + 7.94640000000000000000e+04, + 9.10800000000000000000e+04, + 1.03776000000000000000e+05, + 1.17600000000000000000e+05}; +static constexpr Standard_Real CofB_C1_D21[22] = {0.0, + 0.0, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04, + -3.36000000000000000000e+04, + -3.88080000000000000000e+04, + -4.45280000000000000000e+04, + -5.07840000000000000000e+04, + -5.76000000000000000000e+04}; +static constexpr Standard_Real Denom_C1_D21[22] = {0.0, + 0.0, + 2.50000000000000005204e-03, + 1.26262626262626273359e-03, + 7.44047619047619006316e-04, + 4.80769230769230795919e-04, + 3.30687830687830669474e-04, + 2.38095238095238095032e-04, + 1.77556818181818186746e-04, + 1.36165577342047943452e-04, + 1.06837606837606837514e-04, + 8.54408749145591314310e-05, + 6.94444444444444443842e-05, + 5.72344322344322343826e-05, + 4.77463712757830396503e-05, + 4.02576489533011284559e-05, + 3.42653508771929805540e-05, + 2.94117647058823537527e-05, + 2.54375254375254363740e-05, + 2.21513379408116244085e-05, + 1.94099378881987584837e-05, + 1.71045429666119326985e-05}; + +// NivConstr=1, Degree=22 (array size: 23) +static constexpr Standard_Real TNorm_C1_D22[23] = { + 1.10926495933117807979e+00, 7.35803132638071843985e-01, 5.96212000885591120181e-01, + 5.25573666170051412294e-01, 4.84554978083719889437e-01, 4.58891029747302503505e-01, + 4.42162653895599833120e-01, 4.31060564453851047251e-01, 4.23709418962066153291e-01, + 4.18969452463902269912e-01, 4.16109559292580255541e-01, 4.14640218730661702651e-01, + 4.14222023749089451883e-01, 4.14612737897029126621e-01, 4.15635212292837896708e-01, + 4.17157178705288567144e-01, 4.19078096824911705554e-01, 4.21320346503240572567e-01, + 4.23823181729309328425e-01, 4.26538488978970176113e-01, 4.29427753417426838478e-01, + 4.32459851285998952974e-01, 4.35609418431720130105e-01}; +static constexpr Standard_Real CofA_C1_D22[23] = {0.0, + 0.0, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04, + 6.88800000000000000000e+04, + 7.94640000000000000000e+04, + 9.10800000000000000000e+04, + 1.03776000000000000000e+05, + 1.17600000000000000000e+05, + 1.32600000000000000000e+05}; +static constexpr Standard_Real CofB_C1_D22[23] = {0.0, + 0.0, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04, + -3.36000000000000000000e+04, + -3.88080000000000000000e+04, + -4.45280000000000000000e+04, + -5.07840000000000000000e+04, + -5.76000000000000000000e+04, + -6.50000000000000000000e+04}; +static constexpr Standard_Real Denom_C1_D22[23] = {0.0, + 0.0, + 2.50000000000000005204e-03, + 1.26262626262626273359e-03, + 7.44047619047619006316e-04, + 4.80769230769230795919e-04, + 3.30687830687830669474e-04, + 2.38095238095238095032e-04, + 1.77556818181818186746e-04, + 1.36165577342047943452e-04, + 1.06837606837606837514e-04, + 8.54408749145591314310e-05, + 6.94444444444444443842e-05, + 5.72344322344322343826e-05, + 4.77463712757830396503e-05, + 4.02576489533011284559e-05, + 3.42653508771929805540e-05, + 2.94117647058823537527e-05, + 2.54375254375254363740e-05, + 2.21513379408116244085e-05, + 1.94099378881987584837e-05, + 1.71045429666119326985e-05, + 1.51515151515151511632e-05}; + +// NivConstr=1, Degree=23 (array size: 24) +static constexpr Standard_Real TNorm_C1_D23[24] = { + 1.10926495933117807979e+00, 7.35803132638071843985e-01, 5.96212000885591120181e-01, + 5.25573666170051412294e-01, 4.84554978083719889437e-01, 4.58891029747302503505e-01, + 4.42162653895599833120e-01, 4.31060564453851047251e-01, 4.23709418962066153291e-01, + 4.18969452463902269912e-01, 4.16109559292580255541e-01, 4.14640218730661702651e-01, + 4.14222023749089451883e-01, 4.14612737897029126621e-01, 4.15635212292837896708e-01, + 4.17157178705288567144e-01, 4.19078096824911705554e-01, 4.21320346503240572567e-01, + 4.23823181729309328425e-01, 4.26538488978970176113e-01, 4.29427753417426838478e-01, + 4.32459851285998952974e-01, 4.35609418431720130105e-01, 4.38855627661534519746e-01}; +static constexpr Standard_Real CofA_C1_D23[24] = {0.0, + 0.0, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04, + 6.88800000000000000000e+04, + 7.94640000000000000000e+04, + 9.10800000000000000000e+04, + 1.03776000000000000000e+05, + 1.17600000000000000000e+05, + 1.32600000000000000000e+05, + 1.48824000000000000000e+05}; +static constexpr Standard_Real CofB_C1_D23[24] = {0.0, + 0.0, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04, + -3.36000000000000000000e+04, + -3.88080000000000000000e+04, + -4.45280000000000000000e+04, + -5.07840000000000000000e+04, + -5.76000000000000000000e+04, + -6.50000000000000000000e+04, + -7.30080000000000000000e+04}; +static constexpr Standard_Real Denom_C1_D23[24] = {0.0, + 0.0, + 2.50000000000000005204e-03, + 1.26262626262626273359e-03, + 7.44047619047619006316e-04, + 4.80769230769230795919e-04, + 3.30687830687830669474e-04, + 2.38095238095238095032e-04, + 1.77556818181818186746e-04, + 1.36165577342047943452e-04, + 1.06837606837606837514e-04, + 8.54408749145591314310e-05, + 6.94444444444444443842e-05, + 5.72344322344322343826e-05, + 4.77463712757830396503e-05, + 4.02576489533011284559e-05, + 3.42653508771929805540e-05, + 2.94117647058823537527e-05, + 2.54375254375254363740e-05, + 2.21513379408116244085e-05, + 1.94099378881987584837e-05, + 1.71045429666119326985e-05, + 1.51515151515151511632e-05, + 1.34858129248031079298e-05}; + +// NivConstr=1, Degree=24 (array size: 25) +static constexpr Standard_Real TNorm_C1_D24[25] = { + 1.10926495933117807979e+00, 7.35803132638071843985e-01, 5.96212000885591120181e-01, + 5.25573666170051412294e-01, 4.84554978083719889437e-01, 4.58891029747302503505e-01, + 4.42162653895599833120e-01, 4.31060564453851047251e-01, 4.23709418962066153291e-01, + 4.18969452463902269912e-01, 4.16109559292580255541e-01, 4.14640218730661702651e-01, + 4.14222023749089451883e-01, 4.14612737897029126621e-01, 4.15635212292837896708e-01, + 4.17157178705288567144e-01, 4.19078096824911705554e-01, 4.21320346503240572567e-01, + 4.23823181729309328425e-01, 4.26538488978970176113e-01, 4.29427753417426838478e-01, + 4.32459851285998952974e-01, 4.35609418431720130105e-01, 4.38855627661534519746e-01, + 4.42181260796143782432e-01}; +static constexpr Standard_Real CofA_C1_D24[25] = {0.0, + 0.0, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04, + 6.88800000000000000000e+04, + 7.94640000000000000000e+04, + 9.10800000000000000000e+04, + 1.03776000000000000000e+05, + 1.17600000000000000000e+05, + 1.32600000000000000000e+05, + 1.48824000000000000000e+05, + 1.66320000000000000000e+05}; +static constexpr Standard_Real CofB_C1_D24[25] = {0.0, + 0.0, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04, + -3.36000000000000000000e+04, + -3.88080000000000000000e+04, + -4.45280000000000000000e+04, + -5.07840000000000000000e+04, + -5.76000000000000000000e+04, + -6.50000000000000000000e+04, + -7.30080000000000000000e+04, + -8.16480000000000000000e+04}; +static constexpr Standard_Real Denom_C1_D24[25] = {0.0, + 0.0, + 2.50000000000000005204e-03, + 1.26262626262626273359e-03, + 7.44047619047619006316e-04, + 4.80769230769230795919e-04, + 3.30687830687830669474e-04, + 2.38095238095238095032e-04, + 1.77556818181818186746e-04, + 1.36165577342047943452e-04, + 1.06837606837606837514e-04, + 8.54408749145591314310e-05, + 6.94444444444444443842e-05, + 5.72344322344322343826e-05, + 4.77463712757830396503e-05, + 4.02576489533011284559e-05, + 3.42653508771929805540e-05, + 2.94117647058823537527e-05, + 2.54375254375254363740e-05, + 2.21513379408116244085e-05, + 1.94099378881987584837e-05, + 1.71045429666119326985e-05, + 1.51515151515151511632e-05, + 1.34858129248031079298e-05, + 1.20563271604938264912e-05}; + +// NivConstr=1, Degree=25 (array size: 26) +static constexpr Standard_Real TNorm_C1_D25[26] = { + 1.10926495933117807979e+00, 7.35803132638071843985e-01, 5.96212000885591120181e-01, + 5.25573666170051412294e-01, 4.84554978083719889437e-01, 4.58891029747302503505e-01, + 4.42162653895599833120e-01, 4.31060564453851047251e-01, 4.23709418962066153291e-01, + 4.18969452463902269912e-01, 4.16109559292580255541e-01, 4.14640218730661702651e-01, + 4.14222023749089451883e-01, 4.14612737897029126621e-01, 4.15635212292837896708e-01, + 4.17157178705288567144e-01, 4.19078096824911705554e-01, 4.21320346503240572567e-01, + 4.23823181729309328425e-01, 4.26538488978970176113e-01, 4.29427753417426838478e-01, + 4.32459851285998952974e-01, 4.35609418431720130105e-01, 4.38855627661534519746e-01, + 4.42181260796143782432e-01, 4.45571996218990684646e-01}; +static constexpr Standard_Real CofA_C1_D25[26] = {0.0, + 0.0, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04, + 6.88800000000000000000e+04, + 7.94640000000000000000e+04, + 9.10800000000000000000e+04, + 1.03776000000000000000e+05, + 1.17600000000000000000e+05, + 1.32600000000000000000e+05, + 1.48824000000000000000e+05, + 1.66320000000000000000e+05, + 1.85136000000000000000e+05}; +static constexpr Standard_Real CofB_C1_D25[26] = {0.0, + 0.0, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04, + -3.36000000000000000000e+04, + -3.88080000000000000000e+04, + -4.45280000000000000000e+04, + -5.07840000000000000000e+04, + -5.76000000000000000000e+04, + -6.50000000000000000000e+04, + -7.30080000000000000000e+04, + -8.16480000000000000000e+04, + -9.09440000000000000000e+04}; +static constexpr Standard_Real Denom_C1_D25[26] = {0.0, + 0.0, + 2.50000000000000005204e-03, + 1.26262626262626273359e-03, + 7.44047619047619006316e-04, + 4.80769230769230795919e-04, + 3.30687830687830669474e-04, + 2.38095238095238095032e-04, + 1.77556818181818186746e-04, + 1.36165577342047943452e-04, + 1.06837606837606837514e-04, + 8.54408749145591314310e-05, + 6.94444444444444443842e-05, + 5.72344322344322343826e-05, + 4.77463712757830396503e-05, + 4.02576489533011284559e-05, + 3.42653508771929805540e-05, + 2.94117647058823537527e-05, + 2.54375254375254363740e-05, + 2.21513379408116244085e-05, + 1.94099378881987584837e-05, + 1.71045429666119326985e-05, + 1.51515151515151511632e-05, + 1.34858129248031079298e-05, + 1.20563271604938264912e-05, + 1.08225108225108225014e-05}; + +// NivConstr=1, Degree=26 (array size: 27) +static constexpr Standard_Real TNorm_C1_D26[27] = { + 1.10926495933117807979e+00, 7.35803132638071843985e-01, 5.96212000885591120181e-01, + 5.25573666170051412294e-01, 4.84554978083719889437e-01, 4.58891029747302503505e-01, + 4.42162653895599833120e-01, 4.31060564453851047251e-01, 4.23709418962066153291e-01, + 4.18969452463902269912e-01, 4.16109559292580255541e-01, 4.14640218730661702651e-01, + 4.14222023749089451883e-01, 4.14612737897029126621e-01, 4.15635212292837896708e-01, + 4.17157178705288567144e-01, 4.19078096824911705554e-01, 4.21320346503240572567e-01, + 4.23823181729309328425e-01, 4.26538488978970176113e-01, 4.29427753417426838478e-01, + 4.32459851285998952974e-01, 4.35609418431720130105e-01, 4.38855627661534519746e-01, + 4.42181260796143782432e-01, 4.45571996218990684646e-01, 4.49015856075796471192e-01}; +static constexpr Standard_Real CofA_C1_D26[27] = {0.0, + 0.0, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04, + 6.88800000000000000000e+04, + 7.94640000000000000000e+04, + 9.10800000000000000000e+04, + 1.03776000000000000000e+05, + 1.17600000000000000000e+05, + 1.32600000000000000000e+05, + 1.48824000000000000000e+05, + 1.66320000000000000000e+05, + 1.85136000000000000000e+05, + 2.05320000000000000000e+05}; +static constexpr Standard_Real CofB_C1_D26[27] = {0.0, + 0.0, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04, + -3.36000000000000000000e+04, + -3.88080000000000000000e+04, + -4.45280000000000000000e+04, + -5.07840000000000000000e+04, + -5.76000000000000000000e+04, + -6.50000000000000000000e+04, + -7.30080000000000000000e+04, + -8.16480000000000000000e+04, + -9.09440000000000000000e+04, + -1.00920000000000000000e+05}; +static constexpr Standard_Real Denom_C1_D26[27] = {0.0, + 0.0, + 2.50000000000000005204e-03, + 1.26262626262626273359e-03, + 7.44047619047619006316e-04, + 4.80769230769230795919e-04, + 3.30687830687830669474e-04, + 2.38095238095238095032e-04, + 1.77556818181818186746e-04, + 1.36165577342047943452e-04, + 1.06837606837606837514e-04, + 8.54408749145591314310e-05, + 6.94444444444444443842e-05, + 5.72344322344322343826e-05, + 4.77463712757830396503e-05, + 4.02576489533011284559e-05, + 3.42653508771929805540e-05, + 2.94117647058823537527e-05, + 2.54375254375254363740e-05, + 2.21513379408116244085e-05, + 1.94099378881987584837e-05, + 1.71045429666119326985e-05, + 1.51515151515151511632e-05, + 1.34858129248031079298e-05, + 1.20563271604938264912e-05, + 1.08225108225108225014e-05, + 9.75191137462942736274e-06}; + +// NivConstr=1, Degree=27 (array size: 28) +static constexpr Standard_Real TNorm_C1_D27[28] = { + 1.10926495933117807979e+00, 7.35803132638071843985e-01, 5.96212000885591120181e-01, + 5.25573666170051412294e-01, 4.84554978083719889437e-01, 4.58891029747302503505e-01, + 4.42162653895599833120e-01, 4.31060564453851047251e-01, 4.23709418962066153291e-01, + 4.18969452463902269912e-01, 4.16109559292580255541e-01, 4.14640218730661702651e-01, + 4.14222023749089451883e-01, 4.14612737897029126621e-01, 4.15635212292837896708e-01, + 4.17157178705288567144e-01, 4.19078096824911705554e-01, 4.21320346503240572567e-01, + 4.23823181729309328425e-01, 4.26538488978970176113e-01, 4.29427753417426838478e-01, + 4.32459851285998952974e-01, 4.35609418431720130105e-01, 4.38855627661534519746e-01, + 4.42181260796143782432e-01, 4.45571996218990684646e-01, 4.49015856075796471192e-01, + 4.52502773177178130304e-01}; +static constexpr Standard_Real CofA_C1_D27[28] = {0.0, + 0.0, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04, + 6.88800000000000000000e+04, + 7.94640000000000000000e+04, + 9.10800000000000000000e+04, + 1.03776000000000000000e+05, + 1.17600000000000000000e+05, + 1.32600000000000000000e+05, + 1.48824000000000000000e+05, + 1.66320000000000000000e+05, + 1.85136000000000000000e+05, + 2.05320000000000000000e+05, + 2.26920000000000000000e+05}; +static constexpr Standard_Real CofB_C1_D27[28] = {0.0, + 0.0, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04, + -3.36000000000000000000e+04, + -3.88080000000000000000e+04, + -4.45280000000000000000e+04, + -5.07840000000000000000e+04, + -5.76000000000000000000e+04, + -6.50000000000000000000e+04, + -7.30080000000000000000e+04, + -8.16480000000000000000e+04, + -9.09440000000000000000e+04, + -1.00920000000000000000e+05, + -1.11600000000000000000e+05}; +static constexpr Standard_Real Denom_C1_D27[28] = {0.0, + 0.0, + 2.50000000000000005204e-03, + 1.26262626262626273359e-03, + 7.44047619047619006316e-04, + 4.80769230769230795919e-04, + 3.30687830687830669474e-04, + 2.38095238095238095032e-04, + 1.77556818181818186746e-04, + 1.36165577342047943452e-04, + 1.06837606837606837514e-04, + 8.54408749145591314310e-05, + 6.94444444444444443842e-05, + 5.72344322344322343826e-05, + 4.77463712757830396503e-05, + 4.02576489533011284559e-05, + 3.42653508771929805540e-05, + 2.94117647058823537527e-05, + 2.54375254375254363740e-05, + 2.21513379408116244085e-05, + 1.94099378881987584837e-05, + 1.71045429666119326985e-05, + 1.51515151515151511632e-05, + 1.34858129248031079298e-05, + 1.20563271604938264912e-05, + 1.08225108225108225014e-05, + 9.75191137462942736274e-06, + 8.81834215167548424825e-06}; + +// NivConstr=1, Degree=28 (array size: 29) +static constexpr Standard_Real TNorm_C1_D28[29] = { + 1.10926495933117807979e+00, 7.35803132638071843985e-01, 5.96212000885591120181e-01, + 5.25573666170051412294e-01, 4.84554978083719889437e-01, 4.58891029747302503505e-01, + 4.42162653895599833120e-01, 4.31060564453851047251e-01, 4.23709418962066153291e-01, + 4.18969452463902269912e-01, 4.16109559292580255541e-01, 4.14640218730661702651e-01, + 4.14222023749089451883e-01, 4.14612737897029126621e-01, 4.15635212292837896708e-01, + 4.17157178705288567144e-01, 4.19078096824911705554e-01, 4.21320346503240572567e-01, + 4.23823181729309328425e-01, 4.26538488978970176113e-01, 4.29427753417426838478e-01, + 4.32459851285998952974e-01, 4.35609418431720130105e-01, 4.38855627661534519746e-01, + 4.42181260796143782432e-01, 4.45571996218990684646e-01, 4.49015856075796471192e-01, + 4.52502773177178130304e-01, 4.56024248646785757000e-01}; +static constexpr Standard_Real CofA_C1_D28[29] = {0.0, + 0.0, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04, + 6.88800000000000000000e+04, + 7.94640000000000000000e+04, + 9.10800000000000000000e+04, + 1.03776000000000000000e+05, + 1.17600000000000000000e+05, + 1.32600000000000000000e+05, + 1.48824000000000000000e+05, + 1.66320000000000000000e+05, + 1.85136000000000000000e+05, + 2.05320000000000000000e+05, + 2.26920000000000000000e+05, + 2.49984000000000000000e+05}; +static constexpr Standard_Real CofB_C1_D28[29] = {0.0, + 0.0, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04, + -3.36000000000000000000e+04, + -3.88080000000000000000e+04, + -4.45280000000000000000e+04, + -5.07840000000000000000e+04, + -5.76000000000000000000e+04, + -6.50000000000000000000e+04, + -7.30080000000000000000e+04, + -8.16480000000000000000e+04, + -9.09440000000000000000e+04, + -1.00920000000000000000e+05, + -1.11600000000000000000e+05, + -1.23008000000000000000e+05}; +static constexpr Standard_Real Denom_C1_D28[29] = {0.0, + 0.0, + 2.50000000000000005204e-03, + 1.26262626262626273359e-03, + 7.44047619047619006316e-04, + 4.80769230769230795919e-04, + 3.30687830687830669474e-04, + 2.38095238095238095032e-04, + 1.77556818181818186746e-04, + 1.36165577342047943452e-04, + 1.06837606837606837514e-04, + 8.54408749145591314310e-05, + 6.94444444444444443842e-05, + 5.72344322344322343826e-05, + 4.77463712757830396503e-05, + 4.02576489533011284559e-05, + 3.42653508771929805540e-05, + 2.94117647058823537527e-05, + 2.54375254375254363740e-05, + 2.21513379408116244085e-05, + 1.94099378881987584837e-05, + 1.71045429666119326985e-05, + 1.51515151515151511632e-05, + 1.34858129248031079298e-05, + 1.20563271604938264912e-05, + 1.08225108225108225014e-05, + 9.75191137462942736274e-06, + 8.81834215167548424825e-06, + 8.00051203277009727929e-06}; + +// NivConstr=1, Degree=29 (array size: 30) +static constexpr Standard_Real TNorm_C1_D29[30] = { + 1.10926495933117807979e+00, 7.35803132638071843985e-01, 5.96212000885591120181e-01, + 5.25573666170051412294e-01, 4.84554978083719889437e-01, 4.58891029747302503505e-01, + 4.42162653895599833120e-01, 4.31060564453851047251e-01, 4.23709418962066153291e-01, + 4.18969452463902269912e-01, 4.16109559292580255541e-01, 4.14640218730661702651e-01, + 4.14222023749089451883e-01, 4.14612737897029126621e-01, 4.15635212292837896708e-01, + 4.17157178705288567144e-01, 4.19078096824911705554e-01, 4.21320346503240572567e-01, + 4.23823181729309328425e-01, 4.26538488978970176113e-01, 4.29427753417426838478e-01, + 4.32459851285998952974e-01, 4.35609418431720130105e-01, 4.38855627661534519746e-01, + 4.42181260796143782432e-01, 4.45571996218990684646e-01, 4.49015856075796471192e-01, + 4.52502773177178130304e-01, 4.56024248646785757000e-01, 4.59573079065596301618e-01}; +static constexpr Standard_Real CofA_C1_D29[30] = {0.0, + 0.0, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04, + 6.88800000000000000000e+04, + 7.94640000000000000000e+04, + 9.10800000000000000000e+04, + 1.03776000000000000000e+05, + 1.17600000000000000000e+05, + 1.32600000000000000000e+05, + 1.48824000000000000000e+05, + 1.66320000000000000000e+05, + 1.85136000000000000000e+05, + 2.05320000000000000000e+05, + 2.26920000000000000000e+05, + 2.49984000000000000000e+05, + 2.74560000000000000000e+05}; +static constexpr Standard_Real CofB_C1_D29[30] = {0.0, + 0.0, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04, + -3.36000000000000000000e+04, + -3.88080000000000000000e+04, + -4.45280000000000000000e+04, + -5.07840000000000000000e+04, + -5.76000000000000000000e+04, + -6.50000000000000000000e+04, + -7.30080000000000000000e+04, + -8.16480000000000000000e+04, + -9.09440000000000000000e+04, + -1.00920000000000000000e+05, + -1.11600000000000000000e+05, + -1.23008000000000000000e+05, + -1.35168000000000000000e+05}; +static constexpr Standard_Real Denom_C1_D29[30] = {0.0, + 0.0, + 2.50000000000000005204e-03, + 1.26262626262626273359e-03, + 7.44047619047619006316e-04, + 4.80769230769230795919e-04, + 3.30687830687830669474e-04, + 2.38095238095238095032e-04, + 1.77556818181818186746e-04, + 1.36165577342047943452e-04, + 1.06837606837606837514e-04, + 8.54408749145591314310e-05, + 6.94444444444444443842e-05, + 5.72344322344322343826e-05, + 4.77463712757830396503e-05, + 4.02576489533011284559e-05, + 3.42653508771929805540e-05, + 2.94117647058823537527e-05, + 2.54375254375254363740e-05, + 2.21513379408116244085e-05, + 1.94099378881987584837e-05, + 1.71045429666119326985e-05, + 1.51515151515151511632e-05, + 1.34858129248031079298e-05, + 1.20563271604938264912e-05, + 1.08225108225108225014e-05, + 9.75191137462942736274e-06, + 8.81834215167548424825e-06, + 8.00051203277009727929e-06, + 7.28098788443616005983e-06}; + +// NivConstr=1, Degree=30 (array size: 31) +static constexpr Standard_Real TNorm_C1_D30[31] = { + 1.10926495933117807979e+00, 7.35803132638071843985e-01, 5.96212000885591120181e-01, + 5.25573666170051412294e-01, 4.84554978083719889437e-01, 4.58891029747302503505e-01, + 4.42162653895599833120e-01, 4.31060564453851047251e-01, 4.23709418962066153291e-01, + 4.18969452463902269912e-01, 4.16109559292580255541e-01, 4.14640218730661702651e-01, + 4.14222023749089451883e-01, 4.14612737897029126621e-01, 4.15635212292837896708e-01, + 4.17157178705288567144e-01, 4.19078096824911705554e-01, 4.21320346503240572567e-01, + 4.23823181729309328425e-01, 4.26538488978970176113e-01, 4.29427753417426838478e-01, + 4.32459851285998952974e-01, 4.35609418431720130105e-01, 4.38855627661534519746e-01, + 4.42181260796143782432e-01, 4.45571996218990684646e-01, 4.49015856075796471192e-01, + 4.52502773177178130304e-01, 4.56024248646785757000e-01, 4.59573079065596301618e-01, + 4.63143137342061417261e-01}; +static constexpr Standard_Real CofA_C1_D30[31] = {0.0, + 0.0, + 1.32000000000000000000e+03, + 2.18400000000000000000e+03, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04, + 6.88800000000000000000e+04, + 7.94640000000000000000e+04, + 9.10800000000000000000e+04, + 1.03776000000000000000e+05, + 1.17600000000000000000e+05, + 1.32600000000000000000e+05, + 1.48824000000000000000e+05, + 1.66320000000000000000e+05, + 1.85136000000000000000e+05, + 2.05320000000000000000e+05, + 2.26920000000000000000e+05, + 2.49984000000000000000e+05, + 2.74560000000000000000e+05, + 3.00696000000000000000e+05}; +static constexpr Standard_Real CofB_C1_D30[31] = {0.0, + 0.0, + -6.00000000000000000000e+02, + -1.00800000000000000000e+03, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04, + -3.36000000000000000000e+04, + -3.88080000000000000000e+04, + -4.45280000000000000000e+04, + -5.07840000000000000000e+04, + -5.76000000000000000000e+04, + -6.50000000000000000000e+04, + -7.30080000000000000000e+04, + -8.16480000000000000000e+04, + -9.09440000000000000000e+04, + -1.00920000000000000000e+05, + -1.11600000000000000000e+05, + -1.23008000000000000000e+05, + -1.35168000000000000000e+05, + -1.48104000000000000000e+05}; +static constexpr Standard_Real Denom_C1_D30[31] = {0.0, + 0.0, + 2.50000000000000005204e-03, + 1.26262626262626273359e-03, + 7.44047619047619006316e-04, + 4.80769230769230795919e-04, + 3.30687830687830669474e-04, + 2.38095238095238095032e-04, + 1.77556818181818186746e-04, + 1.36165577342047943452e-04, + 1.06837606837606837514e-04, + 8.54408749145591314310e-05, + 6.94444444444444443842e-05, + 5.72344322344322343826e-05, + 4.77463712757830396503e-05, + 4.02576489533011284559e-05, + 3.42653508771929805540e-05, + 2.94117647058823537527e-05, + 2.54375254375254363740e-05, + 2.21513379408116244085e-05, + 1.94099378881987584837e-05, + 1.71045429666119326985e-05, + 1.51515151515151511632e-05, + 1.34858129248031079298e-05, + 1.20563271604938264912e-05, + 1.08225108225108225014e-05, + 9.75191137462942736274e-06, + 8.81834215167548424825e-06, + 8.00051203277009727929e-06, + 7.28098788443616005983e-06, + 6.64540138224348732256e-06}; + +// ===== Coefficient arrays for NivConstr = 2 (C2) ===== + +// NivConstr=2, Degree=0 (array size: 1) +static constexpr Standard_Real TNorm_C2_D0[1] = {1.21091229812484768580e+00}; +static constexpr Standard_Real CofA_C2_D0[1] = {0.0}; +static constexpr Standard_Real CofB_C2_D0[1] = {0.0}; +static constexpr Standard_Real Denom_C2_D0[1] = {0.0}; + +// NivConstr=2, Degree=1 (array size: 2) +static constexpr Standard_Real TNorm_C2_D1[2] = {1.21091229812484768580e+00, + 6.69977594907897988641e-01}; +static constexpr Standard_Real CofA_C2_D1[2] = {0.0, 0.0}; +static constexpr Standard_Real CofB_C2_D1[2] = {0.0, 0.0}; +static constexpr Standard_Real Denom_C2_D1[2] = {0.0, 0.0}; + +// NivConstr=2, Degree=2 (array size: 3) +static constexpr Standard_Real TNorm_C2_D2[3] = {1.21091229812484768580e+00, + 6.69977594907897988641e-01, + 4.71767630582710706388e-01}; +static constexpr Standard_Real CofA_C2_D2[3] = {0.0, 0.0, 3.36000000000000000000e+03}; +static constexpr Standard_Real CofB_C2_D2[3] = {0.0, 0.0, -1.56800000000000000000e+03}; +static constexpr Standard_Real Denom_C2_D2[3] = {0.0, 0.0, 1.27551020408163255128e-03}; + +// NivConstr=2, Degree=3 (array size: 4) +static constexpr Standard_Real TNorm_C2_D3[4] = {1.21091229812484768580e+00, + 6.69977594907897988641e-01, + 4.71767630582710706388e-01, + 3.71744221577204436713e-01}; +static constexpr Standard_Real CofA_C2_D3[4] = {0.0, + 0.0, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03}; +static constexpr Standard_Real CofB_C2_D3[4] = {0.0, + 0.0, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03}; +static constexpr Standard_Real Denom_C2_D3[4] = {0.0, + 0.0, + 1.27551020408163255128e-03, + 6.94444444444444470947e-04}; + +// NivConstr=2, Degree=4 (array size: 5) +static constexpr Standard_Real TNorm_C2_D4[5] = {1.21091229812484768580e+00, + 6.69977594907897988641e-01, + 4.71767630582710706388e-01, + 3.71744221577204436713e-01, + 3.12656210957019120578e-01}; +static constexpr Standard_Real CofA_C2_D4[5] = {0.0, + 0.0, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03}; +static constexpr Standard_Real CofB_C2_D4[5] = {0.0, + 0.0, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03}; +static constexpr Standard_Real Denom_C2_D4[5] = {0.0, + 0.0, + 1.27551020408163255128e-03, + 6.94444444444444470947e-04, + 4.34027777777777753684e-04}; + +// NivConstr=2, Degree=5 (array size: 6) +static constexpr Standard_Real TNorm_C2_D5[6] = {1.21091229812484768580e+00, + 6.69977594907897988641e-01, + 4.71767630582710706388e-01, + 3.71744221577204436713e-01, + 3.12656210957019120578e-01, + 2.74244615082074427725e-01}; +static constexpr Standard_Real CofA_C2_D5[6] = {0.0, + 0.0, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03}; +static constexpr Standard_Real CofB_C2_D5[6] = {0.0, + 0.0, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03}; +static constexpr Standard_Real Denom_C2_D5[6] = {0.0, + 0.0, + 1.27551020408163255128e-03, + 6.94444444444444470947e-04, + 4.34027777777777753684e-04, + 2.94117647058823503646e-04}; + +// NivConstr=2, Degree=6 (array size: 7) +static constexpr Standard_Real TNorm_C2_D6[7] = {1.21091229812484768580e+00, + 6.69977594907897988641e-01, + 4.71767630582710706388e-01, + 3.71744221577204436713e-01, + 3.12656210957019120578e-01, + 2.74244615082074427725e-01, + 2.47613789556254515478e-01}; +static constexpr Standard_Real CofA_C2_D6[7] = {0.0, + 0.0, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04}; +static constexpr Standard_Real CofB_C2_D6[7] = {0.0, + 0.0, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03}; +static constexpr Standard_Real Denom_C2_D6[7] = {0.0, + 0.0, + 1.27551020408163255128e-03, + 6.94444444444444470947e-04, + 4.34027777777777753684e-04, + 2.94117647058823503646e-04, + 2.10437710437710428493e-04}; + +// NivConstr=2, Degree=7 (array size: 8) +static constexpr Standard_Real TNorm_C2_D7[8] = {1.21091229812484768580e+00, + 6.69977594907897988641e-01, + 4.71767630582710706388e-01, + 3.71744221577204436713e-01, + 3.12656210957019120578e-01, + 2.74244615082074427725e-01, + 2.47613789556254515478e-01, + 2.28280687965089795766e-01}; +static constexpr Standard_Real CofA_C2_D7[8] = {0.0, + 0.0, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04}; +static constexpr Standard_Real CofB_C2_D7[8] = {0.0, + 0.0, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03}; +static constexpr Standard_Real Denom_C2_D7[8] = {0.0, + 0.0, + 1.27551020408163255128e-03, + 6.94444444444444470947e-04, + 4.34027777777777753684e-04, + 2.94117647058823503646e-04, + 2.10437710437710428493e-04, + 1.56641604010025053961e-04}; + +// NivConstr=2, Degree=8 (array size: 9) +static constexpr Standard_Real TNorm_C2_D8[9] = {1.21091229812484768580e+00, + 6.69977594907897988641e-01, + 4.71767630582710706388e-01, + 3.71744221577204436713e-01, + 3.12656210957019120578e-01, + 2.74244615082074427725e-01, + 2.47613789556254515478e-01, + 2.28280687965089795766e-01, + 2.13755966172702621675e-01}; +static constexpr Standard_Real CofA_C2_D8[9] = {0.0, + 0.0, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04}; +static constexpr Standard_Real CofB_C2_D8[9] = {0.0, + 0.0, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03}; +static constexpr Standard_Real Denom_C2_D8[9] = {0.0, + 0.0, + 1.27551020408163255128e-03, + 6.94444444444444470947e-04, + 4.34027777777777753684e-04, + 2.94117647058823503646e-04, + 2.10437710437710428493e-04, + 1.56641604010025053961e-04, + 1.20192307692307698980e-04}; + +// NivConstr=2, Degree=9 (array size: 10) +static constexpr Standard_Real TNorm_C2_D9[10] = {1.21091229812484768580e+00, + 6.69977594907897988641e-01, + 4.71767630582710706388e-01, + 3.71744221577204436713e-01, + 3.12656210957019120578e-01, + 2.74244615082074427725e-01, + 2.47613789556254515478e-01, + 2.28280687965089795766e-01, + 2.13755966172702621675e-01, + 2.02553492675650731458e-01}; +static constexpr Standard_Real CofA_C2_D9[10] = {0.0, + 0.0, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04}; +static constexpr Standard_Real CofB_C2_D9[10] = {0.0, + 0.0, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04}; +static constexpr Standard_Real Denom_C2_D9[10] = {0.0, + 0.0, + 1.27551020408163255128e-03, + 6.94444444444444470947e-04, + 4.34027777777777753684e-04, + 2.94117647058823503646e-04, + 2.10437710437710428493e-04, + 1.56641604010025053961e-04, + 1.20192307692307698980e-04, + 9.44822373393801990225e-05}; + +// NivConstr=2, Degree=10 (array size: 11) +static constexpr Standard_Real TNorm_C2_D10[11] = {1.21091229812484768580e+00, + 6.69977594907897988641e-01, + 4.71767630582710706388e-01, + 3.71744221577204436713e-01, + 3.12656210957019120578e-01, + 2.74244615082074427725e-01, + 2.47613789556254515478e-01, + 2.28280687965089795766e-01, + 2.13755966172702621675e-01, + 2.02553492675650731458e-01, + 1.93734611865653910678e-01}; +static constexpr Standard_Real CofA_C2_D10[11] = {0.0, + 0.0, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04}; +static constexpr Standard_Real CofB_C2_D10[11] = {0.0, + 0.0, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04}; +static constexpr Standard_Real Denom_C2_D10[11] = {0.0, + 0.0, + 1.27551020408163255128e-03, + 6.94444444444444470947e-04, + 4.34027777777777753684e-04, + 2.94117647058823503646e-04, + 2.10437710437710428493e-04, + 1.56641604010025053961e-04, + 1.20192307692307698980e-04, + 9.44822373393801990225e-05, + 7.57575757575757575100e-05}; + +// NivConstr=2, Degree=11 (array size: 12) +static constexpr Standard_Real TNorm_C2_D11[12] = {1.21091229812484768580e+00, + 6.69977594907897988641e-01, + 4.71767630582710706388e-01, + 3.71744221577204436713e-01, + 3.12656210957019120578e-01, + 2.74244615082074427725e-01, + 2.47613789556254515478e-01, + 2.28280687965089795766e-01, + 2.13755966172702621675e-01, + 2.02553492675650731458e-01, + 1.93734611865653910678e-01, + 1.86679061317043204493e-01}; +static constexpr Standard_Real CofA_C2_D11[12] = {0.0, + 0.0, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04}; +static constexpr Standard_Real CofB_C2_D11[12] = {0.0, + 0.0, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04}; +static constexpr Standard_Real Denom_C2_D11[12] = {0.0, + 0.0, + 1.27551020408163255128e-03, + 6.94444444444444470947e-04, + 4.34027777777777753684e-04, + 2.94117647058823503646e-04, + 2.10437710437710428493e-04, + 1.56641604010025053961e-04, + 1.20192307692307698980e-04, + 9.44822373393801990225e-05, + 7.57575757575757575100e-05, + 6.17588932806324068889e-05}; + +// NivConstr=2, Degree=12 (array size: 13) +static constexpr Standard_Real TNorm_C2_D12[13] = {1.21091229812484768580e+00, + 6.69977594907897988641e-01, + 4.71767630582710706388e-01, + 3.71744221577204436713e-01, + 3.12656210957019120578e-01, + 2.74244615082074427725e-01, + 2.47613789556254515478e-01, + 2.28280687965089795766e-01, + 2.13755966172702621675e-01, + 2.02553492675650731458e-01, + 1.93734611865653910678e-01, + 1.86679061317043204493e-01, + 1.80961499829992045196e-01}; +static constexpr Standard_Real CofA_C2_D12[13] = {0.0, + 0.0, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04}; +static constexpr Standard_Real CofB_C2_D12[13] = {0.0, + 0.0, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04}; +static constexpr Standard_Real Denom_C2_D12[13] = {0.0, + 0.0, + 1.27551020408163255128e-03, + 6.94444444444444470947e-04, + 4.34027777777777753684e-04, + 2.94117647058823503646e-04, + 2.10437710437710428493e-04, + 1.56641604010025053961e-04, + 1.20192307692307698980e-04, + 9.44822373393801990225e-05, + 7.57575757575757575100e-05, + 6.17588932806324068889e-05, + 5.10620915032679754063e-05}; + +// NivConstr=2, Degree=13 (array size: 14) +static constexpr Standard_Real TNorm_C2_D13[14] = {1.21091229812484768580e+00, + 6.69977594907897988641e-01, + 4.71767630582710706388e-01, + 3.71744221577204436713e-01, + 3.12656210957019120578e-01, + 2.74244615082074427725e-01, + 2.47613789556254515478e-01, + 2.28280687965089795766e-01, + 2.13755966172702621675e-01, + 2.02553492675650731458e-01, + 1.93734611865653910678e-01, + 1.86679061317043204493e-01, + 1.80961499829992045196e-01, + 1.76281082236659364382e-01}; +static constexpr Standard_Real CofA_C2_D13[14] = {0.0, + 0.0, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04}; +static constexpr Standard_Real CofB_C2_D13[14] = {0.0, + 0.0, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04}; +static constexpr Standard_Real Denom_C2_D13[14] = {0.0, + 0.0, + 1.27551020408163255128e-03, + 6.94444444444444470947e-04, + 4.34027777777777753684e-04, + 2.94117647058823503646e-04, + 2.10437710437710428493e-04, + 1.56641604010025053961e-04, + 1.20192307692307698980e-04, + 9.44822373393801990225e-05, + 7.57575757575757575100e-05, + 6.17588932806324068889e-05, + 5.10620915032679754063e-05, + 4.27350427350427350057e-05}; + +// NivConstr=2, Degree=14 (array size: 15) +static constexpr Standard_Real TNorm_C2_D14[15] = {1.21091229812484768580e+00, + 6.69977594907897988641e-01, + 4.71767630582710706388e-01, + 3.71744221577204436713e-01, + 3.12656210957019120578e-01, + 2.74244615082074427725e-01, + 2.47613789556254515478e-01, + 2.28280687965089795766e-01, + 2.13755966172702621675e-01, + 2.02553492675650731458e-01, + 1.93734611865653910678e-01, + 1.86679061317043204493e-01, + 1.80961499829992045196e-01, + 1.76281082236659364382e-01, + 1.72419360155692286130e-01}; +static constexpr Standard_Real CofA_C2_D14[15] = {0.0, + 0.0, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04}; +static constexpr Standard_Real CofB_C2_D14[15] = {0.0, + 0.0, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04}; +static constexpr Standard_Real Denom_C2_D14[15] = {0.0, + 0.0, + 1.27551020408163255128e-03, + 6.94444444444444470947e-04, + 4.34027777777777753684e-04, + 2.94117647058823503646e-04, + 2.10437710437710428493e-04, + 1.56641604010025053961e-04, + 1.20192307692307698980e-04, + 9.44822373393801990225e-05, + 7.57575757575757575100e-05, + 6.17588932806324068889e-05, + 5.10620915032679754063e-05, + 4.27350427350427350057e-05, + 3.61480624638519350083e-05}; + +// NivConstr=2, Degree=15 (array size: 16) +static constexpr Standard_Real TNorm_C2_D15[16] = {1.21091229812484768580e+00, + 6.69977594907897988641e-01, + 4.71767630582710706388e-01, + 3.71744221577204436713e-01, + 3.12656210957019120578e-01, + 2.74244615082074427725e-01, + 2.47613789556254515478e-01, + 2.28280687965089795766e-01, + 2.13755966172702621675e-01, + 2.02553492675650731458e-01, + 1.93734611865653910678e-01, + 1.86679061317043204493e-01, + 1.80961499829992045196e-01, + 1.76281082236659364382e-01, + 1.72419360155692286130e-01, + 1.69214098832854237253e-01}; +static constexpr Standard_Real CofA_C2_D15[16] = {0.0, + 0.0, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04, + 6.88800000000000000000e+04}; +static constexpr Standard_Real CofB_C2_D15[16] = {0.0, + 0.0, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04, + -3.36000000000000000000e+04}; +static constexpr Standard_Real Denom_C2_D15[16] = {0.0, + 0.0, + 1.27551020408163255128e-03, + 6.94444444444444470947e-04, + 4.34027777777777753684e-04, + 2.94117647058823503646e-04, + 2.10437710437710428493e-04, + 1.56641604010025053961e-04, + 1.20192307692307698980e-04, + 9.44822373393801990225e-05, + 7.57575757575757575100e-05, + 6.17588932806324068889e-05, + 5.10620915032679754063e-05, + 4.27350427350427350057e-05, + 3.61480624638519350083e-05, + 3.08641975308641982570e-05}; + +// NivConstr=2, Degree=16 (array size: 17) +static constexpr Standard_Real TNorm_C2_D16[17] = {1.21091229812484768580e+00, + 6.69977594907897988641e-01, + 4.71767630582710706388e-01, + 3.71744221577204436713e-01, + 3.12656210957019120578e-01, + 2.74244615082074427725e-01, + 2.47613789556254515478e-01, + 2.28280687965089795766e-01, + 2.13755966172702621675e-01, + 2.02553492675650731458e-01, + 1.93734611865653910678e-01, + 1.86679061317043204493e-01, + 1.80961499829992045196e-01, + 1.76281082236659364382e-01, + 1.72419360155692286130e-01, + 1.69214098832854237253e-01, + 1.66542431371157206854e-01}; +static constexpr Standard_Real CofA_C2_D16[17] = {0.0, + 0.0, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04, + 6.88800000000000000000e+04, + 7.94640000000000000000e+04}; +static constexpr Standard_Real CofB_C2_D16[17] = {0.0, + 0.0, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04, + -3.36000000000000000000e+04, + -3.88080000000000000000e+04}; +static constexpr Standard_Real Denom_C2_D16[17] = {0.0, + 0.0, + 1.27551020408163255128e-03, + 6.94444444444444470947e-04, + 4.34027777777777753684e-04, + 2.94117647058823503646e-04, + 2.10437710437710428493e-04, + 1.56641604010025053961e-04, + 1.20192307692307698980e-04, + 9.44822373393801990225e-05, + 7.57575757575757575100e-05, + 6.17588932806324068889e-05, + 5.10620915032679754063e-05, + 4.27350427350427350057e-05, + 3.61480624638519350083e-05, + 3.08641975308641982570e-05, + 2.65731292517006792810e-05}; + +// NivConstr=2, Degree=17 (array size: 18) +static constexpr Standard_Real TNorm_C2_D17[18] = {1.21091229812484768580e+00, + 6.69977594907897988641e-01, + 4.71767630582710706388e-01, + 3.71744221577204436713e-01, + 3.12656210957019120578e-01, + 2.74244615082074427725e-01, + 2.47613789556254515478e-01, + 2.28280687965089795766e-01, + 2.13755966172702621675e-01, + 2.02553492675650731458e-01, + 1.93734611865653910678e-01, + 1.86679061317043204493e-01, + 1.80961499829992045196e-01, + 1.76281082236659364382e-01, + 1.72419360155692286130e-01, + 1.69214098832854237253e-01, + 1.66542431371157206854e-01, + 1.64309697607745691661e-01}; +static constexpr Standard_Real CofA_C2_D17[18] = {0.0, + 0.0, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04, + 6.88800000000000000000e+04, + 7.94640000000000000000e+04, + 9.10800000000000000000e+04}; +static constexpr Standard_Real CofB_C2_D17[18] = {0.0, + 0.0, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04, + -3.36000000000000000000e+04, + -3.88080000000000000000e+04, + -4.45280000000000000000e+04}; +static constexpr Standard_Real Denom_C2_D17[18] = {0.0, + 0.0, + 1.27551020408163255128e-03, + 6.94444444444444470947e-04, + 4.34027777777777753684e-04, + 2.94117647058823503646e-04, + 2.10437710437710428493e-04, + 1.56641604010025053961e-04, + 1.20192307692307698980e-04, + 9.44822373393801990225e-05, + 7.57575757575757575100e-05, + 6.17588932806324068889e-05, + 5.10620915032679754063e-05, + 4.27350427350427350057e-05, + 3.61480624638519350083e-05, + 3.08641975308641982570e-05, + 2.65731292517006792810e-05, + 2.30499723400331922563e-05}; + +// NivConstr=2, Degree=18 (array size: 19) +static constexpr Standard_Real TNorm_C2_D18[19] = {1.21091229812484768580e+00, + 6.69977594907897988641e-01, + 4.71767630582710706388e-01, + 3.71744221577204436713e-01, + 3.12656210957019120578e-01, + 2.74244615082074427725e-01, + 2.47613789556254515478e-01, + 2.28280687965089795766e-01, + 2.13755966172702621675e-01, + 2.02553492675650731458e-01, + 1.93734611865653910678e-01, + 1.86679061317043204493e-01, + 1.80961499829992045196e-01, + 1.76281082236659364382e-01, + 1.72419360155692286130e-01, + 1.69214098832854237253e-01, + 1.66542431371157206854e-01, + 1.64309697607745691661e-01, + 1.62441857008287893205e-01}; +static constexpr Standard_Real CofA_C2_D18[19] = {0.0, + 0.0, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04, + 6.88800000000000000000e+04, + 7.94640000000000000000e+04, + 9.10800000000000000000e+04, + 1.03776000000000000000e+05}; +static constexpr Standard_Real CofB_C2_D18[19] = {0.0, + 0.0, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04, + -3.36000000000000000000e+04, + -3.88080000000000000000e+04, + -4.45280000000000000000e+04, + -5.07840000000000000000e+04}; +static constexpr Standard_Real Denom_C2_D18[19] = {0.0, + 0.0, + 1.27551020408163255128e-03, + 6.94444444444444470947e-04, + 4.34027777777777753684e-04, + 2.94117647058823503646e-04, + 2.10437710437710428493e-04, + 1.56641604010025053961e-04, + 1.20192307692307698980e-04, + 9.44822373393801990225e-05, + 7.57575757575757575100e-05, + 6.17588932806324068889e-05, + 5.10620915032679754063e-05, + 4.27350427350427350057e-05, + 3.61480624638519350083e-05, + 3.08641975308641982570e-05, + 2.65731292517006792810e-05, + 2.30499723400331922563e-05, + 2.01288244766505642280e-05}; + +// NivConstr=2, Degree=19 (array size: 20) +static constexpr Standard_Real TNorm_C2_D19[20] = { + 1.21091229812484768580e+00, 6.69977594907897988641e-01, 4.71767630582710706388e-01, + 3.71744221577204436713e-01, 3.12656210957019120578e-01, 2.74244615082074427725e-01, + 2.47613789556254515478e-01, 2.28280687965089795766e-01, 2.13755966172702621675e-01, + 2.02553492675650731458e-01, 1.93734611865653910678e-01, 1.86679061317043204493e-01, + 1.80961499829992045196e-01, 1.76281082236659364382e-01, 1.72419360155692286130e-01, + 1.69214098832854237253e-01, 1.66542431371157206854e-01, 1.64309697607745691661e-01, + 1.62441857008287893205e-01, 1.60880212927578591930e-01}; +static constexpr Standard_Real CofA_C2_D19[20] = {0.0, + 0.0, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04, + 6.88800000000000000000e+04, + 7.94640000000000000000e+04, + 9.10800000000000000000e+04, + 1.03776000000000000000e+05, + 1.17600000000000000000e+05}; +static constexpr Standard_Real CofB_C2_D19[20] = {0.0, + 0.0, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04, + -3.36000000000000000000e+04, + -3.88080000000000000000e+04, + -4.45280000000000000000e+04, + -5.07840000000000000000e+04, + -5.76000000000000000000e+04}; +static constexpr Standard_Real Denom_C2_D19[20] = {0.0, + 0.0, + 1.27551020408163255128e-03, + 6.94444444444444470947e-04, + 4.34027777777777753684e-04, + 2.94117647058823503646e-04, + 2.10437710437710428493e-04, + 1.56641604010025053961e-04, + 1.20192307692307698980e-04, + 9.44822373393801990225e-05, + 7.57575757575757575100e-05, + 6.17588932806324068889e-05, + 5.10620915032679754063e-05, + 4.27350427350427350057e-05, + 3.61480624638519350083e-05, + 3.08641975308641982570e-05, + 2.65731292517006792810e-05, + 2.30499723400331922563e-05, + 2.01288244766505642280e-05, + 1.76853423882286369827e-05}; + +// NivConstr=2, Degree=20 (array size: 21) +static constexpr Standard_Real TNorm_C2_D20[21] = { + 1.21091229812484768580e+00, 6.69977594907897988641e-01, 4.71767630582710706388e-01, + 3.71744221577204436713e-01, 3.12656210957019120578e-01, 2.74244615082074427725e-01, + 2.47613789556254515478e-01, 2.28280687965089795766e-01, 2.13755966172702621675e-01, + 2.02553492675650731458e-01, 1.93734611865653910678e-01, 1.86679061317043204493e-01, + 1.80961499829992045196e-01, 1.76281082236659364382e-01, 1.72419360155692286130e-01, + 1.69214098832854237253e-01, 1.66542431371157206854e-01, 1.64309697607745691661e-01, + 1.62441857008287893205e-01, 1.60880212927578591930e-01, 1.59577669458144805192e-01}; +static constexpr Standard_Real CofA_C2_D20[21] = {0.0, + 0.0, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04, + 6.88800000000000000000e+04, + 7.94640000000000000000e+04, + 9.10800000000000000000e+04, + 1.03776000000000000000e+05, + 1.17600000000000000000e+05, + 1.32600000000000000000e+05}; +static constexpr Standard_Real CofB_C2_D20[21] = {0.0, + 0.0, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04, + -3.36000000000000000000e+04, + -3.88080000000000000000e+04, + -4.45280000000000000000e+04, + -5.07840000000000000000e+04, + -5.76000000000000000000e+04, + -6.50000000000000000000e+04}; +static constexpr Standard_Real Denom_C2_D20[21] = {0.0, + 0.0, + 1.27551020408163255128e-03, + 6.94444444444444470947e-04, + 4.34027777777777753684e-04, + 2.94117647058823503646e-04, + 2.10437710437710428493e-04, + 1.56641604010025053961e-04, + 1.20192307692307698980e-04, + 9.44822373393801990225e-05, + 7.57575757575757575100e-05, + 6.17588932806324068889e-05, + 5.10620915032679754063e-05, + 4.27350427350427350057e-05, + 3.61480624638519350083e-05, + 3.08641975308641982570e-05, + 2.65731292517006792810e-05, + 2.30499723400331922563e-05, + 2.01288244766505642280e-05, + 1.76853423882286369827e-05, + 1.56250000000000003253e-05}; + +// NivConstr=2, Degree=21 (array size: 22) +static constexpr Standard_Real TNorm_C2_D21[22] = { + 1.21091229812484768580e+00, 6.69977594907897988641e-01, 4.71767630582710706388e-01, + 3.71744221577204436713e-01, 3.12656210957019120578e-01, 2.74244615082074427725e-01, + 2.47613789556254515478e-01, 2.28280687965089795766e-01, 2.13755966172702621675e-01, + 2.02553492675650731458e-01, 1.93734611865653910678e-01, 1.86679061317043204493e-01, + 1.80961499829992045196e-01, 1.76281082236659364382e-01, 1.72419360155692286130e-01, + 1.69214098832854237253e-01, 1.66542431371157206854e-01, 1.64309697607745691661e-01, + 1.62441857008287893205e-01, 1.60880212927578591930e-01, 1.59577669458144805192e-01, + 1.58496027352573592983e-01}; +static constexpr Standard_Real CofA_C2_D21[22] = {0.0, + 0.0, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04, + 6.88800000000000000000e+04, + 7.94640000000000000000e+04, + 9.10800000000000000000e+04, + 1.03776000000000000000e+05, + 1.17600000000000000000e+05, + 1.32600000000000000000e+05, + 1.48824000000000000000e+05}; +static constexpr Standard_Real CofB_C2_D21[22] = {0.0, + 0.0, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04, + -3.36000000000000000000e+04, + -3.88080000000000000000e+04, + -4.45280000000000000000e+04, + -5.07840000000000000000e+04, + -5.76000000000000000000e+04, + -6.50000000000000000000e+04, + -7.30080000000000000000e+04}; +static constexpr Standard_Real Denom_C2_D21[22] = {0.0, + 0.0, + 1.27551020408163255128e-03, + 6.94444444444444470947e-04, + 4.34027777777777753684e-04, + 2.94117647058823503646e-04, + 2.10437710437710428493e-04, + 1.56641604010025053961e-04, + 1.20192307692307698980e-04, + 9.44822373393801990225e-05, + 7.57575757575757575100e-05, + 6.17588932806324068889e-05, + 5.10620915032679754063e-05, + 4.27350427350427350057e-05, + 3.61480624638519350083e-05, + 3.08641975308641982570e-05, + 2.65731292517006792810e-05, + 2.30499723400331922563e-05, + 2.01288244766505642280e-05, + 1.76853423882286369827e-05, + 1.56250000000000003253e-05, + 1.38750138750138750018e-05}; + +// NivConstr=2, Degree=22 (array size: 23) +static constexpr Standard_Real TNorm_C2_D22[23] = { + 1.21091229812484768580e+00, 6.69977594907897988641e-01, 4.71767630582710706388e-01, + 3.71744221577204436713e-01, 3.12656210957019120578e-01, 2.74244615082074427725e-01, + 2.47613789556254515478e-01, 2.28280687965089795766e-01, 2.13755966172702621675e-01, + 2.02553492675650731458e-01, 1.93734611865653910678e-01, 1.86679061317043204493e-01, + 1.80961499829992045196e-01, 1.76281082236659364382e-01, 1.72419360155692286130e-01, + 1.69214098832854237253e-01, 1.66542431371157206854e-01, 1.64309697607745691661e-01, + 1.62441857008287893205e-01, 1.60880212927578591930e-01, 1.59577669458144805192e-01, + 1.58496027352573592983e-01, 1.57603998626060365362e-01}; +static constexpr Standard_Real CofA_C2_D22[23] = {0.0, + 0.0, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04, + 6.88800000000000000000e+04, + 7.94640000000000000000e+04, + 9.10800000000000000000e+04, + 1.03776000000000000000e+05, + 1.17600000000000000000e+05, + 1.32600000000000000000e+05, + 1.48824000000000000000e+05, + 1.66320000000000000000e+05}; +static constexpr Standard_Real CofB_C2_D22[23] = {0.0, + 0.0, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04, + -3.36000000000000000000e+04, + -3.88080000000000000000e+04, + -4.45280000000000000000e+04, + -5.07840000000000000000e+04, + -5.76000000000000000000e+04, + -6.50000000000000000000e+04, + -7.30080000000000000000e+04, + -8.16480000000000000000e+04}; +static constexpr Standard_Real Denom_C2_D22[23] = {0.0, + 0.0, + 1.27551020408163255128e-03, + 6.94444444444444470947e-04, + 4.34027777777777753684e-04, + 2.94117647058823503646e-04, + 2.10437710437710428493e-04, + 1.56641604010025053961e-04, + 1.20192307692307698980e-04, + 9.44822373393801990225e-05, + 7.57575757575757575100e-05, + 6.17588932806324068889e-05, + 5.10620915032679754063e-05, + 4.27350427350427350057e-05, + 3.61480624638519350083e-05, + 3.08641975308641982570e-05, + 2.65731292517006792810e-05, + 2.30499723400331922563e-05, + 2.01288244766505642280e-05, + 1.76853423882286369827e-05, + 1.56250000000000003253e-05, + 1.38750138750138750018e-05, + 1.23786888492770842283e-05}; + +// NivConstr=2, Degree=23 (array size: 24) +static constexpr Standard_Real TNorm_C2_D23[24] = { + 1.21091229812484768580e+00, 6.69977594907897988641e-01, 4.71767630582710706388e-01, + 3.71744221577204436713e-01, 3.12656210957019120578e-01, 2.74244615082074427725e-01, + 2.47613789556254515478e-01, 2.28280687965089795766e-01, 2.13755966172702621675e-01, + 2.02553492675650731458e-01, 1.93734611865653910678e-01, 1.86679061317043204493e-01, + 1.80961499829992045196e-01, 1.76281082236659364382e-01, 1.72419360155692286130e-01, + 1.69214098832854237253e-01, 1.66542431371157206854e-01, 1.64309697607745691661e-01, + 1.62441857008287893205e-01, 1.60880212927578591930e-01, 1.59577669458144805192e-01, + 1.58496027352573592983e-01, 1.57603998626060365362e-01, 1.56875727269013304221e-01}; +static constexpr Standard_Real CofA_C2_D23[24] = {0.0, + 0.0, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04, + 6.88800000000000000000e+04, + 7.94640000000000000000e+04, + 9.10800000000000000000e+04, + 1.03776000000000000000e+05, + 1.17600000000000000000e+05, + 1.32600000000000000000e+05, + 1.48824000000000000000e+05, + 1.66320000000000000000e+05, + 1.85136000000000000000e+05}; +static constexpr Standard_Real CofB_C2_D23[24] = {0.0, + 0.0, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04, + -3.36000000000000000000e+04, + -3.88080000000000000000e+04, + -4.45280000000000000000e+04, + -5.07840000000000000000e+04, + -5.76000000000000000000e+04, + -6.50000000000000000000e+04, + -7.30080000000000000000e+04, + -8.16480000000000000000e+04, + -9.09440000000000000000e+04}; +static constexpr Standard_Real Denom_C2_D23[24] = {0.0, + 0.0, + 1.27551020408163255128e-03, + 6.94444444444444470947e-04, + 4.34027777777777753684e-04, + 2.94117647058823503646e-04, + 2.10437710437710428493e-04, + 1.56641604010025053961e-04, + 1.20192307692307698980e-04, + 9.44822373393801990225e-05, + 7.57575757575757575100e-05, + 6.17588932806324068889e-05, + 5.10620915032679754063e-05, + 4.27350427350427350057e-05, + 3.61480624638519350083e-05, + 3.08641975308641982570e-05, + 2.65731292517006792810e-05, + 2.30499723400331922563e-05, + 2.01288244766505642280e-05, + 1.76853423882286369827e-05, + 1.56250000000000003253e-05, + 1.38750138750138750018e-05, + 1.23786888492770842283e-05, + 1.10913930789707191335e-05}; + +// NivConstr=2, Degree=24 (array size: 25) +static constexpr Standard_Real TNorm_C2_D24[25] = { + 1.21091229812484768580e+00, 6.69977594907897988641e-01, 4.71767630582710706388e-01, + 3.71744221577204436713e-01, 3.12656210957019120578e-01, 2.74244615082074427725e-01, + 2.47613789556254515478e-01, 2.28280687965089795766e-01, 2.13755966172702621675e-01, + 2.02553492675650731458e-01, 1.93734611865653910678e-01, 1.86679061317043204493e-01, + 1.80961499829992045196e-01, 1.76281082236659364382e-01, 1.72419360155692286130e-01, + 1.69214098832854237253e-01, 1.66542431371157206854e-01, 1.64309697607745691661e-01, + 1.62441857008287893205e-01, 1.60880212927578591930e-01, 1.59577669458144805192e-01, + 1.58496027352573592983e-01, 1.57603998626060365362e-01, 1.56875727269013304221e-01, + 1.56289672240308957774e-01}; +static constexpr Standard_Real CofA_C2_D24[25] = {0.0, + 0.0, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04, + 6.88800000000000000000e+04, + 7.94640000000000000000e+04, + 9.10800000000000000000e+04, + 1.03776000000000000000e+05, + 1.17600000000000000000e+05, + 1.32600000000000000000e+05, + 1.48824000000000000000e+05, + 1.66320000000000000000e+05, + 1.85136000000000000000e+05, + 2.05320000000000000000e+05}; +static constexpr Standard_Real CofB_C2_D24[25] = {0.0, + 0.0, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04, + -3.36000000000000000000e+04, + -3.88080000000000000000e+04, + -4.45280000000000000000e+04, + -5.07840000000000000000e+04, + -5.76000000000000000000e+04, + -6.50000000000000000000e+04, + -7.30080000000000000000e+04, + -8.16480000000000000000e+04, + -9.09440000000000000000e+04, + -1.00920000000000000000e+05}; +static constexpr Standard_Real Denom_C2_D24[25] = {0.0, + 0.0, + 1.27551020408163255128e-03, + 6.94444444444444470947e-04, + 4.34027777777777753684e-04, + 2.94117647058823503646e-04, + 2.10437710437710428493e-04, + 1.56641604010025053961e-04, + 1.20192307692307698980e-04, + 9.44822373393801990225e-05, + 7.57575757575757575100e-05, + 6.17588932806324068889e-05, + 5.10620915032679754063e-05, + 4.27350427350427350057e-05, + 3.61480624638519350083e-05, + 3.08641975308641982570e-05, + 2.65731292517006792810e-05, + 2.30499723400331922563e-05, + 2.01288244766505642280e-05, + 1.76853423882286369827e-05, + 1.56250000000000003253e-05, + 1.38750138750138750018e-05, + 1.23786888492770842283e-05, + 1.10913930789707191335e-05, + 9.97765006385696102314e-06}; + +// NivConstr=2, Degree=25 (array size: 26) +static constexpr Standard_Real TNorm_C2_D25[26] = { + 1.21091229812484768580e+00, 6.69977594907897988641e-01, 4.71767630582710706388e-01, + 3.71744221577204436713e-01, 3.12656210957019120578e-01, 2.74244615082074427725e-01, + 2.47613789556254515478e-01, 2.28280687965089795766e-01, 2.13755966172702621675e-01, + 2.02553492675650731458e-01, 1.93734611865653910678e-01, 1.86679061317043204493e-01, + 1.80961499829992045196e-01, 1.76281082236659364382e-01, 1.72419360155692286130e-01, + 1.69214098832854237253e-01, 1.66542431371157206854e-01, 1.64309697607745691661e-01, + 1.62441857008287893205e-01, 1.60880212927578591930e-01, 1.59577669458144805192e-01, + 1.58496027352573592983e-01, 1.57603998626060365362e-01, 1.56875727269013304221e-01, + 1.56289672240308957774e-01, 1.55827753672106633642e-01}; +static constexpr Standard_Real CofA_C2_D25[26] = {0.0, + 0.0, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04, + 6.88800000000000000000e+04, + 7.94640000000000000000e+04, + 9.10800000000000000000e+04, + 1.03776000000000000000e+05, + 1.17600000000000000000e+05, + 1.32600000000000000000e+05, + 1.48824000000000000000e+05, + 1.66320000000000000000e+05, + 1.85136000000000000000e+05, + 2.05320000000000000000e+05, + 2.26920000000000000000e+05}; +static constexpr Standard_Real CofB_C2_D25[26] = {0.0, + 0.0, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04, + -3.36000000000000000000e+04, + -3.88080000000000000000e+04, + -4.45280000000000000000e+04, + -5.07840000000000000000e+04, + -5.76000000000000000000e+04, + -6.50000000000000000000e+04, + -7.30080000000000000000e+04, + -8.16480000000000000000e+04, + -9.09440000000000000000e+04, + -1.00920000000000000000e+05, + -1.11600000000000000000e+05}; +static constexpr Standard_Real Denom_C2_D25[26] = {0.0, + 0.0, + 1.27551020408163255128e-03, + 6.94444444444444470947e-04, + 4.34027777777777753684e-04, + 2.94117647058823503646e-04, + 2.10437710437710428493e-04, + 1.56641604010025053961e-04, + 1.20192307692307698980e-04, + 9.44822373393801990225e-05, + 7.57575757575757575100e-05, + 6.17588932806324068889e-05, + 5.10620915032679754063e-05, + 4.27350427350427350057e-05, + 3.61480624638519350083e-05, + 3.08641975308641982570e-05, + 2.65731292517006792810e-05, + 2.30499723400331922563e-05, + 2.01288244766505642280e-05, + 1.76853423882286369827e-05, + 1.56250000000000003253e-05, + 1.38750138750138750018e-05, + 1.23786888492770842283e-05, + 1.10913930789707191335e-05, + 9.97765006385696102314e-06, + 9.00900900900900948652e-06}; + +// NivConstr=2, Degree=26 (array size: 27) +static constexpr Standard_Real TNorm_C2_D26[27] = { + 1.21091229812484768580e+00, 6.69977594907897988641e-01, 4.71767630582710706388e-01, + 3.71744221577204436713e-01, 3.12656210957019120578e-01, 2.74244615082074427725e-01, + 2.47613789556254515478e-01, 2.28280687965089795766e-01, 2.13755966172702621675e-01, + 2.02553492675650731458e-01, 1.93734611865653910678e-01, 1.86679061317043204493e-01, + 1.80961499829992045196e-01, 1.76281082236659364382e-01, 1.72419360155692286130e-01, + 1.69214098832854237253e-01, 1.66542431371157206854e-01, 1.64309697607745691661e-01, + 1.62441857008287893205e-01, 1.60880212927578591930e-01, 1.59577669458144805192e-01, + 1.58496027352573592983e-01, 1.57603998626060365362e-01, 1.56875727269013304221e-01, + 1.56289672240308957774e-01, 1.55827753672106633642e-01, 1.55474692928351670984e-01}; +static constexpr Standard_Real CofA_C2_D26[27] = {0.0, + 0.0, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04, + 6.88800000000000000000e+04, + 7.94640000000000000000e+04, + 9.10800000000000000000e+04, + 1.03776000000000000000e+05, + 1.17600000000000000000e+05, + 1.32600000000000000000e+05, + 1.48824000000000000000e+05, + 1.66320000000000000000e+05, + 1.85136000000000000000e+05, + 2.05320000000000000000e+05, + 2.26920000000000000000e+05, + 2.49984000000000000000e+05}; +static constexpr Standard_Real CofB_C2_D26[27] = {0.0, + 0.0, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04, + -3.36000000000000000000e+04, + -3.88080000000000000000e+04, + -4.45280000000000000000e+04, + -5.07840000000000000000e+04, + -5.76000000000000000000e+04, + -6.50000000000000000000e+04, + -7.30080000000000000000e+04, + -8.16480000000000000000e+04, + -9.09440000000000000000e+04, + -1.00920000000000000000e+05, + -1.11600000000000000000e+05, + -1.23008000000000000000e+05}; +static constexpr Standard_Real Denom_C2_D26[27] = {0.0, + 0.0, + 1.27551020408163255128e-03, + 6.94444444444444470947e-04, + 4.34027777777777753684e-04, + 2.94117647058823503646e-04, + 2.10437710437710428493e-04, + 1.56641604010025053961e-04, + 1.20192307692307698980e-04, + 9.44822373393801990225e-05, + 7.57575757575757575100e-05, + 6.17588932806324068889e-05, + 5.10620915032679754063e-05, + 4.27350427350427350057e-05, + 3.61480624638519350083e-05, + 3.08641975308641982570e-05, + 2.65731292517006792810e-05, + 2.30499723400331922563e-05, + 2.01288244766505642280e-05, + 1.76853423882286369827e-05, + 1.56250000000000003253e-05, + 1.38750138750138750018e-05, + 1.23786888492770842283e-05, + 1.10913930789707191335e-05, + 9.97765006385696102314e-06, + 9.00900900900900948652e-06, + 8.16246571764398669063e-06}; + +// NivConstr=2, Degree=27 (array size: 28) +static constexpr Standard_Real TNorm_C2_D27[28] = { + 1.21091229812484768580e+00, 6.69977594907897988641e-01, 4.71767630582710706388e-01, + 3.71744221577204436713e-01, 3.12656210957019120578e-01, 2.74244615082074427725e-01, + 2.47613789556254515478e-01, 2.28280687965089795766e-01, 2.13755966172702621675e-01, + 2.02553492675650731458e-01, 1.93734611865653910678e-01, 1.86679061317043204493e-01, + 1.80961499829992045196e-01, 1.76281082236659364382e-01, 1.72419360155692286130e-01, + 1.69214098832854237253e-01, 1.66542431371157206854e-01, 1.64309697607745691661e-01, + 1.62441857008287893205e-01, 1.60880212927578591930e-01, 1.59577669458144805192e-01, + 1.58496027352573592983e-01, 1.57603998626060365362e-01, 1.56875727269013304221e-01, + 1.56289672240308957774e-01, 1.55827753672106633642e-01, 1.55474692928351670984e-01, + 1.55217497230446643819e-01}; +static constexpr Standard_Real CofA_C2_D27[28] = {0.0, + 0.0, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04, + 6.88800000000000000000e+04, + 7.94640000000000000000e+04, + 9.10800000000000000000e+04, + 1.03776000000000000000e+05, + 1.17600000000000000000e+05, + 1.32600000000000000000e+05, + 1.48824000000000000000e+05, + 1.66320000000000000000e+05, + 1.85136000000000000000e+05, + 2.05320000000000000000e+05, + 2.26920000000000000000e+05, + 2.49984000000000000000e+05, + 2.74560000000000000000e+05}; +static constexpr Standard_Real CofB_C2_D27[28] = {0.0, + 0.0, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04, + -3.36000000000000000000e+04, + -3.88080000000000000000e+04, + -4.45280000000000000000e+04, + -5.07840000000000000000e+04, + -5.76000000000000000000e+04, + -6.50000000000000000000e+04, + -7.30080000000000000000e+04, + -8.16480000000000000000e+04, + -9.09440000000000000000e+04, + -1.00920000000000000000e+05, + -1.11600000000000000000e+05, + -1.23008000000000000000e+05, + -1.35168000000000000000e+05}; +static constexpr Standard_Real Denom_C2_D27[28] = {0.0, + 0.0, + 1.27551020408163255128e-03, + 6.94444444444444470947e-04, + 4.34027777777777753684e-04, + 2.94117647058823503646e-04, + 2.10437710437710428493e-04, + 1.56641604010025053961e-04, + 1.20192307692307698980e-04, + 9.44822373393801990225e-05, + 7.57575757575757575100e-05, + 6.17588932806324068889e-05, + 5.10620915032679754063e-05, + 4.27350427350427350057e-05, + 3.61480624638519350083e-05, + 3.08641975308641982570e-05, + 2.65731292517006792810e-05, + 2.30499723400331922563e-05, + 2.01288244766505642280e-05, + 1.76853423882286369827e-05, + 1.56250000000000003253e-05, + 1.38750138750138750018e-05, + 1.23786888492770842283e-05, + 1.10913930789707191335e-05, + 9.97765006385696102314e-06, + 9.00900900900900948652e-06, + 8.16246571764398669063e-06, + 7.41927825261158631494e-06}; + +// NivConstr=2, Degree=28 (array size: 29) +static constexpr Standard_Real TNorm_C2_D28[29] = { + 1.21091229812484768580e+00, 6.69977594907897988641e-01, 4.71767630582710706388e-01, + 3.71744221577204436713e-01, 3.12656210957019120578e-01, 2.74244615082074427725e-01, + 2.47613789556254515478e-01, 2.28280687965089795766e-01, 2.13755966172702621675e-01, + 2.02553492675650731458e-01, 1.93734611865653910678e-01, 1.86679061317043204493e-01, + 1.80961499829992045196e-01, 1.76281082236659364382e-01, 1.72419360155692286130e-01, + 1.69214098832854237253e-01, 1.66542431371157206854e-01, 1.64309697607745691661e-01, + 1.62441857008287893205e-01, 1.60880212927578591930e-01, 1.59577669458144805192e-01, + 1.58496027352573592983e-01, 1.57603998626060365362e-01, 1.56875727269013304221e-01, + 1.56289672240308957774e-01, 1.55827753672106633642e-01, 1.55474692928351670984e-01, + 1.55217497230446643819e-01, 1.55045053343003003121e-01}; +static constexpr Standard_Real CofA_C2_D28[29] = {0.0, + 0.0, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04, + 6.88800000000000000000e+04, + 7.94640000000000000000e+04, + 9.10800000000000000000e+04, + 1.03776000000000000000e+05, + 1.17600000000000000000e+05, + 1.32600000000000000000e+05, + 1.48824000000000000000e+05, + 1.66320000000000000000e+05, + 1.85136000000000000000e+05, + 2.05320000000000000000e+05, + 2.26920000000000000000e+05, + 2.49984000000000000000e+05, + 2.74560000000000000000e+05, + 3.00696000000000000000e+05}; +static constexpr Standard_Real CofB_C2_D28[29] = {0.0, + 0.0, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04, + -3.36000000000000000000e+04, + -3.88080000000000000000e+04, + -4.45280000000000000000e+04, + -5.07840000000000000000e+04, + -5.76000000000000000000e+04, + -6.50000000000000000000e+04, + -7.30080000000000000000e+04, + -8.16480000000000000000e+04, + -9.09440000000000000000e+04, + -1.00920000000000000000e+05, + -1.11600000000000000000e+05, + -1.23008000000000000000e+05, + -1.35168000000000000000e+05, + -1.48104000000000000000e+05}; +static constexpr Standard_Real Denom_C2_D28[29] = {0.0, + 0.0, + 1.27551020408163255128e-03, + 6.94444444444444470947e-04, + 4.34027777777777753684e-04, + 2.94117647058823503646e-04, + 2.10437710437710428493e-04, + 1.56641604010025053961e-04, + 1.20192307692307698980e-04, + 9.44822373393801990225e-05, + 7.57575757575757575100e-05, + 6.17588932806324068889e-05, + 5.10620915032679754063e-05, + 4.27350427350427350057e-05, + 3.61480624638519350083e-05, + 3.08641975308641982570e-05, + 2.65731292517006792810e-05, + 2.30499723400331922563e-05, + 2.01288244766505642280e-05, + 1.76853423882286369827e-05, + 1.56250000000000003253e-05, + 1.38750138750138750018e-05, + 1.23786888492770842283e-05, + 1.10913930789707191335e-05, + 9.97765006385696102314e-06, + 9.00900900900900948652e-06, + 8.16246571764398669063e-06, + 7.41927825261158631494e-06, + 6.76406926406926406340e-06}; + +// NivConstr=2, Degree=29 (array size: 30) +static constexpr Standard_Real TNorm_C2_D29[30] = { + 1.21091229812484768580e+00, 6.69977594907897988641e-01, 4.71767630582710706388e-01, + 3.71744221577204436713e-01, 3.12656210957019120578e-01, 2.74244615082074427725e-01, + 2.47613789556254515478e-01, 2.28280687965089795766e-01, 2.13755966172702621675e-01, + 2.02553492675650731458e-01, 1.93734611865653910678e-01, 1.86679061317043204493e-01, + 1.80961499829992045196e-01, 1.76281082236659364382e-01, 1.72419360155692286130e-01, + 1.69214098832854237253e-01, 1.66542431371157206854e-01, 1.64309697607745691661e-01, + 1.62441857008287893205e-01, 1.60880212927578591930e-01, 1.59577669458144805192e-01, + 1.58496027352573592983e-01, 1.57603998626060365362e-01, 1.56875727269013304221e-01, + 1.56289672240308957774e-01, 1.55827753672106633642e-01, 1.55474692928351670984e-01, + 1.55217497230446643819e-01, 1.55045053343003003121e-01, 1.54947804413901907283e-01}; +static constexpr Standard_Real CofA_C2_D29[30] = {0.0, + 0.0, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04, + 6.88800000000000000000e+04, + 7.94640000000000000000e+04, + 9.10800000000000000000e+04, + 1.03776000000000000000e+05, + 1.17600000000000000000e+05, + 1.32600000000000000000e+05, + 1.48824000000000000000e+05, + 1.66320000000000000000e+05, + 1.85136000000000000000e+05, + 2.05320000000000000000e+05, + 2.26920000000000000000e+05, + 2.49984000000000000000e+05, + 2.74560000000000000000e+05, + 3.00696000000000000000e+05, + 3.28440000000000000000e+05}; +static constexpr Standard_Real CofB_C2_D29[30] = {0.0, + 0.0, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04, + -3.36000000000000000000e+04, + -3.88080000000000000000e+04, + -4.45280000000000000000e+04, + -5.07840000000000000000e+04, + -5.76000000000000000000e+04, + -6.50000000000000000000e+04, + -7.30080000000000000000e+04, + -8.16480000000000000000e+04, + -9.09440000000000000000e+04, + -1.00920000000000000000e+05, + -1.11600000000000000000e+05, + -1.23008000000000000000e+05, + -1.35168000000000000000e+05, + -1.48104000000000000000e+05, + -1.61840000000000000000e+05}; +static constexpr Standard_Real Denom_C2_D29[30] = {0.0, + 0.0, + 1.27551020408163255128e-03, + 6.94444444444444470947e-04, + 4.34027777777777753684e-04, + 2.94117647058823503646e-04, + 2.10437710437710428493e-04, + 1.56641604010025053961e-04, + 1.20192307692307698980e-04, + 9.44822373393801990225e-05, + 7.57575757575757575100e-05, + 6.17588932806324068889e-05, + 5.10620915032679754063e-05, + 4.27350427350427350057e-05, + 3.61480624638519350083e-05, + 3.08641975308641982570e-05, + 2.65731292517006792810e-05, + 2.30499723400331922563e-05, + 2.01288244766505642280e-05, + 1.76853423882286369827e-05, + 1.56250000000000003253e-05, + 1.38750138750138750018e-05, + 1.23786888492770842283e-05, + 1.10913930789707191335e-05, + 9.97765006385696102314e-06, + 9.00900900900900948652e-06, + 8.16246571764398669063e-06, + 7.41927825261158631494e-06, + 6.76406926406926406340e-06, + 6.18413892049670980766e-06}; + +// NivConstr=2, Degree=30 (array size: 31) +static constexpr Standard_Real TNorm_C2_D30[31] = { + 1.21091229812484768580e+00, 6.69977594907897988641e-01, 4.71767630582710706388e-01, + 3.71744221577204436713e-01, 3.12656210957019120578e-01, 2.74244615082074427725e-01, + 2.47613789556254515478e-01, 2.28280687965089795766e-01, 2.13755966172702621675e-01, + 2.02553492675650731458e-01, 1.93734611865653910678e-01, 1.86679061317043204493e-01, + 1.80961499829992045196e-01, 1.76281082236659364382e-01, 1.72419360155692286130e-01, + 1.69214098832854237253e-01, 1.66542431371157206854e-01, 1.64309697607745691661e-01, + 1.62441857008287893205e-01, 1.60880212927578591930e-01, 1.59577669458144805192e-01, + 1.58496027352573592983e-01, 1.57603998626060365362e-01, 1.56875727269013304221e-01, + 1.56289672240308957774e-01, 1.55827753672106633642e-01, 1.55474692928351670984e-01, + 1.55217497230446643819e-01, 1.55045053343003003121e-01, 1.54947804413901907283e-01, + 1.54917490845302346925e-01}; +static constexpr Standard_Real CofA_C2_D30[31] = {0.0, + 0.0, + 3.36000000000000000000e+03, + 4.89600000000000000000e+03, + 6.84000000000000000000e+03, + 9.24000000000000000000e+03, + 1.21440000000000000000e+04, + 1.56000000000000000000e+04, + 1.96560000000000000000e+04, + 2.43600000000000000000e+04, + 2.97600000000000000000e+04, + 3.59040000000000000000e+04, + 4.28400000000000000000e+04, + 5.06160000000000000000e+04, + 5.92800000000000000000e+04, + 6.88800000000000000000e+04, + 7.94640000000000000000e+04, + 9.10800000000000000000e+04, + 1.03776000000000000000e+05, + 1.17600000000000000000e+05, + 1.32600000000000000000e+05, + 1.48824000000000000000e+05, + 1.66320000000000000000e+05, + 1.85136000000000000000e+05, + 2.05320000000000000000e+05, + 2.26920000000000000000e+05, + 2.49984000000000000000e+05, + 2.74560000000000000000e+05, + 3.00696000000000000000e+05, + 3.28440000000000000000e+05, + 3.57840000000000000000e+05}; +static constexpr Standard_Real CofB_C2_D30[31] = {0.0, + 0.0, + -1.56800000000000000000e+03, + -2.30400000000000000000e+03, + -3.24000000000000000000e+03, + -4.40000000000000000000e+03, + -5.80800000000000000000e+03, + -7.48800000000000000000e+03, + -9.46400000000000000000e+03, + -1.17600000000000000000e+04, + -1.44000000000000000000e+04, + -1.74080000000000000000e+04, + -2.08080000000000000000e+04, + -2.46240000000000000000e+04, + -2.88800000000000000000e+04, + -3.36000000000000000000e+04, + -3.88080000000000000000e+04, + -4.45280000000000000000e+04, + -5.07840000000000000000e+04, + -5.76000000000000000000e+04, + -6.50000000000000000000e+04, + -7.30080000000000000000e+04, + -8.16480000000000000000e+04, + -9.09440000000000000000e+04, + -1.00920000000000000000e+05, + -1.11600000000000000000e+05, + -1.23008000000000000000e+05, + -1.35168000000000000000e+05, + -1.48104000000000000000e+05, + -1.61840000000000000000e+05, + -1.76400000000000000000e+05}; +static constexpr Standard_Real Denom_C2_D30[31] = {0.0, + 0.0, + 1.27551020408163255128e-03, + 6.94444444444444470947e-04, + 4.34027777777777753684e-04, + 2.94117647058823503646e-04, + 2.10437710437710428493e-04, + 1.56641604010025053961e-04, + 1.20192307692307698980e-04, + 9.44822373393801990225e-05, + 7.57575757575757575100e-05, + 6.17588932806324068889e-05, + 5.10620915032679754063e-05, + 4.27350427350427350057e-05, + 3.61480624638519350083e-05, + 3.08641975308641982570e-05, + 2.65731292517006792810e-05, + 2.30499723400331922563e-05, + 2.01288244766505642280e-05, + 1.76853423882286369827e-05, + 1.56250000000000003253e-05, + 1.38750138750138750018e-05, + 1.23786888492770842283e-05, + 1.10913930789707191335e-05, + 9.97765006385696102314e-06, + 9.00900900900900948652e-06, + 8.16246571764398669063e-06, + 7.41927825261158631494e-06, + 6.76406926406926406340e-06, + 6.18413892049670980766e-06, + 5.66893424036281190747e-06}; + +// Pre-computed coefficient lookup table +// [NivConstr 0-2][Degree 0-30] = 93 combinations +static constexpr JacobiCoefficientsCache PrecomputedCoefficients[3][31] = { + // NivConstr = 0 + {{TNorm_C0_D0, CofA_C0_D0, CofB_C0_D0, Denom_C0_D0, 0}, + {TNorm_C0_D1, CofA_C0_D1, CofB_C0_D1, Denom_C0_D1, 1}, + {TNorm_C0_D2, CofA_C0_D2, CofB_C0_D2, Denom_C0_D2, 2}, + {TNorm_C0_D3, CofA_C0_D3, CofB_C0_D3, Denom_C0_D3, 3}, + {TNorm_C0_D4, CofA_C0_D4, CofB_C0_D4, Denom_C0_D4, 4}, + {TNorm_C0_D5, CofA_C0_D5, CofB_C0_D5, Denom_C0_D5, 5}, + {TNorm_C0_D6, CofA_C0_D6, CofB_C0_D6, Denom_C0_D6, 6}, + {TNorm_C0_D7, CofA_C0_D7, CofB_C0_D7, Denom_C0_D7, 7}, + {TNorm_C0_D8, CofA_C0_D8, CofB_C0_D8, Denom_C0_D8, 8}, + {TNorm_C0_D9, CofA_C0_D9, CofB_C0_D9, Denom_C0_D9, 9}, + {TNorm_C0_D10, CofA_C0_D10, CofB_C0_D10, Denom_C0_D10, 10}, + {TNorm_C0_D11, CofA_C0_D11, CofB_C0_D11, Denom_C0_D11, 11}, + {TNorm_C0_D12, CofA_C0_D12, CofB_C0_D12, Denom_C0_D12, 12}, + {TNorm_C0_D13, CofA_C0_D13, CofB_C0_D13, Denom_C0_D13, 13}, + {TNorm_C0_D14, CofA_C0_D14, CofB_C0_D14, Denom_C0_D14, 14}, + {TNorm_C0_D15, CofA_C0_D15, CofB_C0_D15, Denom_C0_D15, 15}, + {TNorm_C0_D16, CofA_C0_D16, CofB_C0_D16, Denom_C0_D16, 16}, + {TNorm_C0_D17, CofA_C0_D17, CofB_C0_D17, Denom_C0_D17, 17}, + {TNorm_C0_D18, CofA_C0_D18, CofB_C0_D18, Denom_C0_D18, 18}, + {TNorm_C0_D19, CofA_C0_D19, CofB_C0_D19, Denom_C0_D19, 19}, + {TNorm_C0_D20, CofA_C0_D20, CofB_C0_D20, Denom_C0_D20, 20}, + {TNorm_C0_D21, CofA_C0_D21, CofB_C0_D21, Denom_C0_D21, 21}, + {TNorm_C0_D22, CofA_C0_D22, CofB_C0_D22, Denom_C0_D22, 22}, + {TNorm_C0_D23, CofA_C0_D23, CofB_C0_D23, Denom_C0_D23, 23}, + {TNorm_C0_D24, CofA_C0_D24, CofB_C0_D24, Denom_C0_D24, 24}, + {TNorm_C0_D25, CofA_C0_D25, CofB_C0_D25, Denom_C0_D25, 25}, + {TNorm_C0_D26, CofA_C0_D26, CofB_C0_D26, Denom_C0_D26, 26}, + {TNorm_C0_D27, CofA_C0_D27, CofB_C0_D27, Denom_C0_D27, 27}, + {TNorm_C0_D28, CofA_C0_D28, CofB_C0_D28, Denom_C0_D28, 28}, + {TNorm_C0_D29, CofA_C0_D29, CofB_C0_D29, Denom_C0_D29, 29}, + {TNorm_C0_D30, CofA_C0_D30, CofB_C0_D30, Denom_C0_D30, 30}}, + // NivConstr = 1 + {{TNorm_C1_D0, CofA_C1_D0, CofB_C1_D0, Denom_C1_D0, 0}, + {TNorm_C1_D1, CofA_C1_D1, CofB_C1_D1, Denom_C1_D1, 1}, + {TNorm_C1_D2, CofA_C1_D2, CofB_C1_D2, Denom_C1_D2, 2}, + {TNorm_C1_D3, CofA_C1_D3, CofB_C1_D3, Denom_C1_D3, 3}, + {TNorm_C1_D4, CofA_C1_D4, CofB_C1_D4, Denom_C1_D4, 4}, + {TNorm_C1_D5, CofA_C1_D5, CofB_C1_D5, Denom_C1_D5, 5}, + {TNorm_C1_D6, CofA_C1_D6, CofB_C1_D6, Denom_C1_D6, 6}, + {TNorm_C1_D7, CofA_C1_D7, CofB_C1_D7, Denom_C1_D7, 7}, + {TNorm_C1_D8, CofA_C1_D8, CofB_C1_D8, Denom_C1_D8, 8}, + {TNorm_C1_D9, CofA_C1_D9, CofB_C1_D9, Denom_C1_D9, 9}, + {TNorm_C1_D10, CofA_C1_D10, CofB_C1_D10, Denom_C1_D10, 10}, + {TNorm_C1_D11, CofA_C1_D11, CofB_C1_D11, Denom_C1_D11, 11}, + {TNorm_C1_D12, CofA_C1_D12, CofB_C1_D12, Denom_C1_D12, 12}, + {TNorm_C1_D13, CofA_C1_D13, CofB_C1_D13, Denom_C1_D13, 13}, + {TNorm_C1_D14, CofA_C1_D14, CofB_C1_D14, Denom_C1_D14, 14}, + {TNorm_C1_D15, CofA_C1_D15, CofB_C1_D15, Denom_C1_D15, 15}, + {TNorm_C1_D16, CofA_C1_D16, CofB_C1_D16, Denom_C1_D16, 16}, + {TNorm_C1_D17, CofA_C1_D17, CofB_C1_D17, Denom_C1_D17, 17}, + {TNorm_C1_D18, CofA_C1_D18, CofB_C1_D18, Denom_C1_D18, 18}, + {TNorm_C1_D19, CofA_C1_D19, CofB_C1_D19, Denom_C1_D19, 19}, + {TNorm_C1_D20, CofA_C1_D20, CofB_C1_D20, Denom_C1_D20, 20}, + {TNorm_C1_D21, CofA_C1_D21, CofB_C1_D21, Denom_C1_D21, 21}, + {TNorm_C1_D22, CofA_C1_D22, CofB_C1_D22, Denom_C1_D22, 22}, + {TNorm_C1_D23, CofA_C1_D23, CofB_C1_D23, Denom_C1_D23, 23}, + {TNorm_C1_D24, CofA_C1_D24, CofB_C1_D24, Denom_C1_D24, 24}, + {TNorm_C1_D25, CofA_C1_D25, CofB_C1_D25, Denom_C1_D25, 25}, + {TNorm_C1_D26, CofA_C1_D26, CofB_C1_D26, Denom_C1_D26, 26}, + {TNorm_C1_D27, CofA_C1_D27, CofB_C1_D27, Denom_C1_D27, 27}, + {TNorm_C1_D28, CofA_C1_D28, CofB_C1_D28, Denom_C1_D28, 28}, + {TNorm_C1_D29, CofA_C1_D29, CofB_C1_D29, Denom_C1_D29, 29}, + {TNorm_C1_D30, CofA_C1_D30, CofB_C1_D30, Denom_C1_D30, 30}}, + // NivConstr = 2 + {{TNorm_C2_D0, CofA_C2_D0, CofB_C2_D0, Denom_C2_D0, 0}, + {TNorm_C2_D1, CofA_C2_D1, CofB_C2_D1, Denom_C2_D1, 1}, + {TNorm_C2_D2, CofA_C2_D2, CofB_C2_D2, Denom_C2_D2, 2}, + {TNorm_C2_D3, CofA_C2_D3, CofB_C2_D3, Denom_C2_D3, 3}, + {TNorm_C2_D4, CofA_C2_D4, CofB_C2_D4, Denom_C2_D4, 4}, + {TNorm_C2_D5, CofA_C2_D5, CofB_C2_D5, Denom_C2_D5, 5}, + {TNorm_C2_D6, CofA_C2_D6, CofB_C2_D6, Denom_C2_D6, 6}, + {TNorm_C2_D7, CofA_C2_D7, CofB_C2_D7, Denom_C2_D7, 7}, + {TNorm_C2_D8, CofA_C2_D8, CofB_C2_D8, Denom_C2_D8, 8}, + {TNorm_C2_D9, CofA_C2_D9, CofB_C2_D9, Denom_C2_D9, 9}, + {TNorm_C2_D10, CofA_C2_D10, CofB_C2_D10, Denom_C2_D10, 10}, + {TNorm_C2_D11, CofA_C2_D11, CofB_C2_D11, Denom_C2_D11, 11}, + {TNorm_C2_D12, CofA_C2_D12, CofB_C2_D12, Denom_C2_D12, 12}, + {TNorm_C2_D13, CofA_C2_D13, CofB_C2_D13, Denom_C2_D13, 13}, + {TNorm_C2_D14, CofA_C2_D14, CofB_C2_D14, Denom_C2_D14, 14}, + {TNorm_C2_D15, CofA_C2_D15, CofB_C2_D15, Denom_C2_D15, 15}, + {TNorm_C2_D16, CofA_C2_D16, CofB_C2_D16, Denom_C2_D16, 16}, + {TNorm_C2_D17, CofA_C2_D17, CofB_C2_D17, Denom_C2_D17, 17}, + {TNorm_C2_D18, CofA_C2_D18, CofB_C2_D18, Denom_C2_D18, 18}, + {TNorm_C2_D19, CofA_C2_D19, CofB_C2_D19, Denom_C2_D19, 19}, + {TNorm_C2_D20, CofA_C2_D20, CofB_C2_D20, Denom_C2_D20, 20}, + {TNorm_C2_D21, CofA_C2_D21, CofB_C2_D21, Denom_C2_D21, 21}, + {TNorm_C2_D22, CofA_C2_D22, CofB_C2_D22, Denom_C2_D22, 22}, + {TNorm_C2_D23, CofA_C2_D23, CofB_C2_D23, Denom_C2_D23, 23}, + {TNorm_C2_D24, CofA_C2_D24, CofB_C2_D24, Denom_C2_D24, 24}, + {TNorm_C2_D25, CofA_C2_D25, CofB_C2_D25, Denom_C2_D25, 25}, + {TNorm_C2_D26, CofA_C2_D26, CofB_C2_D26, Denom_C2_D26, 26}, + {TNorm_C2_D27, CofA_C2_D27, CofB_C2_D27, Denom_C2_D27, 27}, + {TNorm_C2_D28, CofA_C2_D28, CofB_C2_D28, Denom_C2_D28, 28}, + {TNorm_C2_D29, CofA_C2_D29, CofB_C2_D29, Denom_C2_D29, 29}, + {TNorm_C2_D30, CofA_C2_D30, CofB_C2_D30, Denom_C2_D30, 30}}}; + +// Fast lookup function - simply returns reference to pre-computed data +inline const JacobiCoefficientsCache& GetJacobiCoefficients(const Standard_Integer theNivConstr, + const Standard_Integer theDegree) +{ + return PrecomputedCoefficients[theNivConstr][theDegree]; +} diff --git a/src/FoundationClasses/TKMath/PLib/PLib_JacobiPolynomial_Data.pxx b/src/FoundationClasses/TKMath/PLib/PLib_JacobiPolynomial_Data.pxx index 72c078af90..9be2e16570 100644 --- a/src/FoundationClasses/TKMath/PLib/PLib_JacobiPolynomial_Data.pxx +++ b/src/FoundationClasses/TKMath/PLib/PLib_JacobiPolynomial_Data.pxx @@ -12,7 +12,7 @@ // commercial license or contractual agreement. // Table de la matrice de passage de canonique a Legendre. -static const Standard_Real TransMatrix_C0[2][496] = { +static constexpr double TransMatrix_C0[2][496] = { {0.10000000000000000000000000000000e+01, 0.96824583655185422129481634994560e+00, -0.83852549156242113615344012577423e+00, 0.81639690485082070771553545928344e+00, -0.80850882706220344641712287159348e+00, 0.80478467632289111882626187416566e+00, @@ -510,7 +510,7 @@ static const Standard_Real TransMatrix_C0[2][496] = { 0.46140058580995464268166399254145e+19, -0.13749880967979068629627858754832e+21, -0.31514225650767479973003319980940e+18, 0.19105219164130619270955783772737e+20, -0.12618621827837363164768830985268e+19}}; -static const Standard_Real TransMatrix_C1[2][496] = { +static constexpr double TransMatrix_C1[2][496] = { {0.10000000000000000000000000000000e+01, 0.00000000000000000000000000000000e+00, 0.11092649593311780079813740546678e+01, -0.89431800132838654608058273689677e+00, 0.84797121164650984865925183843688e+00, -0.82905497605424967378584129799260e+00, @@ -1008,7 +1008,7 @@ static const Standard_Real TransMatrix_C1[2][496] = { -0.41856410072403483975662852527252e+19, 0.12552529223030017700587278016720e+21, 0.28488656070222266580294088107554e+18, -0.17384627881743174449497147253921e+20, 0.11444722381343439109843062120372e+19}}; -static const Standard_Real TransMatrix_C2[2][496] = { +static constexpr double TransMatrix_C2[2][496] = { {0.10000000000000000000000000000000e+01, 0.00000000000000000000000000000000e+00, 0.00000000000000000000000000000000e+00, 0.12109122981248476857010221954881e+01, -0.94353526116542141659962602867164e+00, 0.87934559331661608236419185442392e+00, @@ -1508,7 +1508,7 @@ static const Standard_Real TransMatrix_C2[2][496] = { -0.97236055876740752966171973925795e+18}}; // Coefficients de Jqcobi pour C0 -static const Standard_Real WeightsDB_C0[] = { +static constexpr double WeightsDB_C0[] = { 0.339350899760562168358542462460598e+00, 0.219855506883882118158113854613575e+00, 0.786610670785738901620795920210783e-01, 0.762975064488463751780832420182061e-02, 0.164694608682536519162825315977163e+00, 0.305693266475978881881015458286754e+00, @@ -3890,7 +3890,7 @@ static const Standard_Real WeightsDB_C0[] = { -0.219320414267862324584439294930700e-02, 0.391065922004316040753357769329897e-03, 0.141500031239303537992334913456074e-02, -0.340175226747328156548532228607137e-02, 0.648900832329699140908819604998360e-02}; -static const Standard_Real WeightsDB0_C0[] = { +static constexpr double WeightsDB0_C0[] = { 0.196145539320418982378623767812232e+00, -0.169867019890482336776547667013587e+00, 0.165384249698148984804912491794491e+00, -0.163786296767558830870228753559914e+00, 0.163031864858123160298579144326440e+00, -0.162615435404437847268534987968649e+00, @@ -3918,7 +3918,7 @@ static const Standard_Real WeightsDB0_C0[] = { -0.407672808617546723713899270255496e-01}; // Coeficients de Jqcobi pour C1 -static const Standard_Real WeightsDB_C1[] = { +static constexpr double WeightsDB_C1[] = { 0.375693680937234041301644955593695e+00, 0.182311890642854011583827835693142e+00, 0.329219793988290852585859638846444e-01, 0.680427331044466112674073984687531e-03, 0.228565980318601683216333773333760e+00, 0.317768498495851679611240750742674e+00, @@ -6173,7 +6173,7 @@ static const Standard_Real WeightsDB_C1[] = { -0.116362546655176039546713678315008e-01, 0.141506122887467200425613653445967e-01, 0.932027794866696068097791608666759e-03}; -static const Standard_Real WeightsDB0_C1[] = { +static constexpr double WeightsDB0_C1[] = { 0.224712945290939265035185233386492e+00, -0.181169368431486317542623533557901e+00, 0.171780517258837992948232893658993e+00, -0.167948499508708198415142968724267e+00, 0.165968683767246239832670875869561e+00, -0.164802808032970527158344894050198e+00, @@ -6200,7 +6200,7 @@ static const Standard_Real WeightsDB0_C1[] = { // Coefficients de Jacobi Pour C2 -static const Standard_Real WeightsDB_C2[] = { +static constexpr double WeightsDB_C2[] = { 0.396320480216379147641761558479570e+00, 0.144052361182505130848899984065313e+00, 0.131292459415739298593344566233794e-01, 0.578203737578765418998616263243096e-04, 0.281561650684809260829575792995744e+00, 0.293201045908880500974854972162680e+00, @@ -8327,7 +8327,7 @@ static const Standard_Real WeightsDB_C2[] = { 0.159824945014062157037528536233194e-01, 0.630549718085729344152712137497775e-02, 0.469749156882345934031014312986152e-04}; -static const Standard_Real WeightsDB0_C2[] = { +static constexpr double WeightsDB0_C2[] = { 0.245304484480172770561464997165472e+00, -0.191139714401666377930496301274007e+00, 0.178136284339069668689740479411420e+00, -0.172429008691609799715475070508339e+00, 0.169318789594508605864545701233480e+00, 0.149155398292166716250990088960560e+00, @@ -8354,7 +8354,7 @@ static const Standard_Real WeightsDB0_C2[] = { // //---------------- Table des maximums de (1-t2*Ji(t) --------------- // -static const Standard_Real MaxValuesDB_C0[57] = { +static constexpr double MaxValuesDB_C0[57] = { 0.968245836551854221294816349945600, 0.986013297183269340427888048593603, 1.07810420343739860362585159028115, 1.17325804490920057010925920756025, 1.26476561266905634732910520370741, 1.35169950227289626684434056681946, @@ -8387,7 +8387,7 @@ static const Standard_Real MaxValuesDB_C0[57] = { // //---------------- Table des maximums de ((1-t2)2)*Ji(t) --------------- // -static const Standard_Real MaxValuesDB_C1[55] = { +static constexpr double MaxValuesDB_C1[55] = { 1.10926495933117800798137405466780, 1.05299572648705464724876659688996, 1.09497153514341787092816986458130, 1.15078388379719068145021100764647, 1.20948630847187015962782198118690, 1.26806623151369531323304177532868, @@ -8419,7 +8419,7 @@ static const Standard_Real MaxValuesDB_C1[55] = { // // --------------- Table des maximums de ((1-t2)3)*Ji(t) --------------- // -static const Standard_Real MaxValuesDB_C2[53] = { +static constexpr double MaxValuesDB_C2[53] = { 1.21091229812484768570102219548814, 1.11626917091567929907256116528817, 1.13271408102908841062785104742030, 1.16794527226680287535220980221710, 1.20910611986279066645602153641334, 1.25228283758701572089625983127043, -- 2.39.5