mcc_bsplines.h: fixes (use right macro names for the Fortran subroutines)

This commit is contained in:
2026-05-23 11:17:51 +03:00
parent 445a029a2f
commit e9c329d88f
2 changed files with 143 additions and 143 deletions

View File

@@ -21,7 +21,7 @@ include(FortranCInterface)
FortranCInterface_HEADER( FortranCInterface_HEADER(
FortranCInterface.h FortranCInterface.h
MACRO_NAMESPACE "FC_" MACRO_NAMESPACE "FC_"
SYMBOL_NAMESPACE "FC_" SYMBOL_NAMESPACE "fitpack_"
#SYMBOL_NAMESPACE "" #SYMBOL_NAMESPACE ""
# SYMBOLS ${func_str} # SYMBOLS ${func_str}
SYMBOLS ${func_name} SYMBOLS ${func_name}

View File

@@ -8,147 +8,147 @@
extern "C" { extern "C" {
void FC_GLOBAL(insert, INSERT)(int*, double*, int*, double*, int*, double*, double*, int*, double*, int*, int*);
/* fitting on XY-grid */ /* fitting on XY-grid */
void FC_GLOBAL(surfit, SURFIT)(int* iopt, void fitpack_surfit(int* iopt,
// void surfit(int* iopt, // void surfit(int* iopt,
int* m, int* m,
double* x, double* x,
double* y, double* y,
double* z, double* z,
double* w, double* w,
double* xb, double* xb,
double* xe, double* xe,
double* yb, double* yb,
double* ye, double* ye,
int* kx, int* kx,
int* ky, int* ky,
double* s, double* s,
int* nxest, int* nxest,
int* nyest, int* nyest,
int* nmax, int* nmax,
double* eps, double* eps,
int* nx, int* nx,
double* tx, double* tx,
int* ny, int* ny,
double* ty, double* ty,
double* c, double* c,
double* fp, double* fp,
double* wrk1, double* wrk1,
int* lwrk1, int* lwrk1,
double* wrk2, double* wrk2,
int* lwrk2, int* lwrk2,
int* iwrk, int* iwrk,
int* kwrk, int* kwrk,
int* ier); int* ier);
/* XY-grid */ /* XY-grid */
void FC_GLOBAL(bispev, BISPEV)(double* tx, void fitpack_bispev(double* tx,
// void bispev(double* tx, // void bispev(double* tx,
int* nx, int* nx,
double* ty, double* ty,
int* ny, int* ny,
double* c, double* c,
int* kx, int* kx,
int* ky, int* ky,
double* x, double* x,
int* mx, int* mx,
double* y, double* y,
int* my, int* my,
double* z, double* z,
double* wrk, double* wrk,
int* lwrk, int* lwrk,
int* iwrk, int* iwrk,
int* kwrk, int* kwrk,
int* ier); int* ier);
/* XY-grid */ /* XY-grid */
void FC_GLOBAL(parder, PARDER)(double* tx, void fitpack_parder(double* tx,
// void parder(double* tx, // void parder(double* tx,
int* nx, int* nx,
double* ty, double* ty,
int* ny, int* ny,
double* c, double* c,
int* kx, int* kx,
int* ky, int* ky,
int* nux, int* nux,
int* nuy, int* nuy,
double* x, double* x,
int* mx, int* mx,
double* y, double* y,
int* my, int* my,
double* z, double* z,
double* wrk, double* wrk,
int* lwrk, int* lwrk,
int* iwrk, int* iwrk,
int* kwrk, int* kwrk,
int* ier); int* ier);
/* fitting on sphere */ /* fitting on sphere */
void FC_GLOBAL(sphere, SPHERE)(int* iopt, void fitpack_sphere(int* iopt,
// void sphere(int* iopt, // void sphere(int* iopt,
int* m, int* m,
double* teta, double* teta,
double* phi, double* phi,
double* r, double* r,
double* w, double* w,
double* s, double* s,
int* ntest, int* ntest,
int* npest, int* npest,
double* eps, double* eps,
int* nt, int* nt,
double* tt, double* tt,
int* np, int* np,
double* tp, double* tp,
double* c, double* c,
double* fp, double* fp,
double* wrk1, double* wrk1,
int* lwrk1, int* lwrk1,
double* wrk2, double* wrk2,
int* lwrk2, int* lwrk2,
int* iwrk, int* iwrk,
int* kwrk, int* kwrk,
int* ier); int* ier);
/* calculation for set of points (not grid) */ /* calculation for set of points (not grid) */
void FC_GLOBAL(bispeu, BISPEU)(double* tx, void fitpack_bispeu(double* tx,
// void bispeu(double* tx, // void bispeu(double* tx,
int* nx, int* nx,
double* ty, double* ty,
int* ny, int* ny,
double* c, double* c,
int* kx, int* kx,
int* ky, int* ky,
double* x, double* x,
double* y, double* y,
double* z, double* z,
int* m, int* m,
double* wrk, double* wrk,
int* lwrk, int* lwrk,
int* ier); int* ier);
/* calculation for set of points (not grid) */ /* calculation for set of points (not grid) */
void FC_GLOBAL(pardeu, PARDEU)(double* tx, void fitpack_pardeu(double* tx,
// void pardeu(double* tx, // void pardeu(double* tx,
int* nx, int* nx,
double* ty, double* ty,
int* ny, int* ny,
double* c, double* c,
int* kx, int* kx,
int* ky, int* ky,
int* nux, int* nux,
int* nuy, int* nuy,
double* x, double* x,
double* y, double* y,
double* z, double* z,
int* m, int* m,
double* wrk, double* wrk,
int* lwrk, int* lwrk,
int* iwrk, int* iwrk,
int* kwrk, int* kwrk,
int* ier); int* ier);
} }
@@ -265,15 +265,15 @@ int fitpack_sphere_smooth(const TethaT& tetha,
if constexpr (std::ranges::contiguous_range<WeightT>) { if constexpr (std::ranges::contiguous_range<WeightT>) {
auto weight_ptr = const_cast<double*>(std::ranges::data(weight)); auto weight_ptr = const_cast<double*>(std::ranges::data(weight));
FC_GLOBAL(sphere, SPHERE)(&iopt, &m, tetha_ptr, phi_ptr, func_ptr, weight_ptr, &s_par, &nt, &np, &eps, &ntest, fitpack_sphere(&iopt, &m, tetha_ptr, phi_ptr, func_ptr, weight_ptr, &s_par, &nt, &np, &eps, &ntest,
tetha_knots_ptr, &npest, phi_knots_ptr, std::ranges::data(coeffs), &resi2_sum, tetha_knots_ptr, &npest, phi_knots_ptr, std::ranges::data(coeffs), &resi2_sum, wrk1.data(),
wrk1.data(), &lwrk1, wrk2.data(), &lwrk2, iwrk.data(), &kwrk, &res); &lwrk1, wrk2.data(), &lwrk2, iwrk.data(), &kwrk, &res);
} else { } else {
std::vector<double> weight_vec(m, weight); std::vector<double> weight_vec(m, weight);
FC_GLOBAL(sphere, SPHERE)(&iopt, &m, tetha_ptr, phi_ptr, func_ptr, weight_vec.data(), &s_par, &nt, &np, &eps, fitpack_sphere(&iopt, &m, tetha_ptr, phi_ptr, func_ptr, weight_vec.data(), &s_par, &nt, &np, &eps, &ntest,
&ntest, tetha_knots_ptr, &npest, phi_knots_ptr, std::ranges::data(coeffs), &resi2_sum, tetha_knots_ptr, &npest, phi_knots_ptr, std::ranges::data(coeffs), &resi2_sum, wrk1.data(),
wrk1.data(), &lwrk1, wrk2.data(), &lwrk2, iwrk.data(), &kwrk, &res); &lwrk1, wrk2.data(), &lwrk2, iwrk.data(), &kwrk, &res);
} }
@@ -367,8 +367,8 @@ int fitpack_eval_spl2d_grid(const TXT& tx,
auto x_ptr = const_cast<double*>(std::ranges::data(x)); auto x_ptr = const_cast<double*>(std::ranges::data(x));
auto y_ptr = const_cast<double*>(std::ranges::data(y)); auto y_ptr = const_cast<double*>(std::ranges::data(y));
FC_GLOBAL(bispev, BISPEV)(tx_ptr, &ntx, ty_ptr, &nty, coeffs_ptr, &kx, &ky, x_ptr, &mx, y_ptr, &my, fitpack_bispev(tx_ptr, &ntx, ty_ptr, &nty, coeffs_ptr, &kx, &ky, x_ptr, &mx, y_ptr, &my, std::ranges::data(func),
std::ranges::data(func), wrk.data(), &lwrk, iwrk.data(), &kwrk, &ier); wrk.data(), &lwrk, iwrk.data(), &kwrk, &ier);
return ier; return ier;
} }
@@ -431,8 +431,8 @@ int fitpack_eval_spl2d(const TXT& tx,
int lwrk = kx + ky + 2; int lwrk = kx + ky + 2;
std::vector<double> wrk(lwrk); std::vector<double> wrk(lwrk);
FC_GLOBAL(bispeu, BISPEU)(tx_ptr, &ntx, ty_ptr, &nty, coeffs_ptr, &kx, &ky, x_ptr, y_ptr, std::ranges::data(func), fitpack_bispeu(tx_ptr, &ntx, ty_ptr, &nty, coeffs_ptr, &kx, &ky, x_ptr, y_ptr, std::ranges::data(func), &m,
&m, wrk.data(), &lwrk, &ier); wrk.data(), &lwrk, &ier);
// bispeu(tx_ptr, &ntx, ty_ptr, &nty, coeffs_ptr, &kx, &ky, x_ptr, y_ptr, std::ranges::data(func), &m, wrk.data(), // bispeu(tx_ptr, &ntx, ty_ptr, &nty, coeffs_ptr, &kx, &ky, x_ptr, y_ptr, std::ranges::data(func), &m, wrk.data(),
// &lwrk, &ier); // &lwrk, &ier);
@@ -538,8 +538,8 @@ int fitpack_parder_spl2d_grid(const TXT& tx,
int ier = 0; int ier = 0;
FC_GLOBAL(parder, PARDER)(tx_ptr, &ntx, ty_ptr, &nty, coeffs_ptr, &kx, &ky, &dx, &dy, x_ptr, &mx, y_ptr, &my, fitpack_parder(tx_ptr, &ntx, ty_ptr, &nty, coeffs_ptr, &kx, &ky, &dx, &dy, x_ptr, &mx, y_ptr, &my,
std::ranges::data(pder), wrk.data(), &lwrk, iwrk.data(), &kwrk, &ier); std::ranges::data(pder), wrk.data(), &lwrk, iwrk.data(), &kwrk, &ier);
return ier; return ier;
} }
@@ -606,8 +606,8 @@ int fitpack_parder_spl2d(const TXT& tx,
int kwrk = 2 * m; int kwrk = 2 * m;
std::vector<int> iwrk(kwrk); std::vector<int> iwrk(kwrk);
FC_GLOBAL(pardeu, PARDEU)(tx_ptr, &ntx, ty_ptr, &nty, coeffs_ptr, &kx, &ky, &dx, &dy, x_ptr, y_ptr, fitpack_pardeu(tx_ptr, &ntx, ty_ptr, &nty, coeffs_ptr, &kx, &ky, &dx, &dy, x_ptr, y_ptr, std::ranges::data(pder),
std::ranges::data(pder), &m, wrk.data(), &lwrk, iwrk.data(), &kwrk, &ier); &m, wrk.data(), &lwrk, iwrk.data(), &kwrk, &ier);
return ier; return ier;
} }