|
| | fpPeriodicCurve () |
| | Default constructor - allocates new fitpack_periodic_curve.
|
| |
| | ~fpPeriodicCurve () override |
| | Destructor - deallocates if owned.
|
| |
| | fpPeriodicCurve (const fpPeriodicCurve &other) |
| | Copy constructor - deep copy.
|
| |
| fpPeriodicCurve & | operator= (const fpPeriodicCurve &other) |
| | Copy assignment - deep copy.
|
| |
| | fpPeriodicCurve (fpPeriodicCurve &&other) noexcept |
| | Move constructor - transfer ownership.
|
| |
| fpPeriodicCurve & | operator= (fpPeriodicCurve &&other) noexcept |
| | Move assignment - transfer ownership.
|
| |
| | fpPeriodicCurve (fitpack_periodic_curve_c &c_wrapper, bool move=false) |
| | Construct from existing C wrapper (takes ownership if move=true)
|
| |
| | fpPeriodicCurve (fitpack_periodic_curve_c &c_wrapper, ViewTag) |
| | Non-owning view ctor: bit-copy the C handle, mark is_pointer=true. Used by parent classes' polymorphic accessors to wrap a base-class handle as the correct concrete subtype.
|
| |
| bool | is_allocated () const override |
| | Check if object is allocated.
|
| |
| bool | is_pointer () const override |
| | Check if this is a non-owning pointer.
|
| |
| const char * | c_type_name () const override |
| | Return the C wrapper struct name for this class (e.g. "fitpack_periodic_curve_c").
|
| |
| const char * | cpp_type_name () const override |
| | Return the fully-qualified C++ class name for this class. Owned by the C++ layer — does not round-trip through Fortran.
|
| |
| fitpack_periodic_curve_c & | c_handle () |
| | Get underlying C wrapper (for interop)
|
| |
| const fitpack_periodic_curve_c & | c_handle () const |
| | Get underlying C wrapper (const, for interop)
|
| |
| fpCurve & | as_parent () |
| | Upcast to parent type (reference, no copy)
|
| |
| const fpCurve & | as_parent () const |
| |
| void | new_points (std::vector< double > &x, std::vector< double > &y, double *w=nullptr) override |
| | new_points
|
| |
| int32_t | new_fit (std::vector< double > &x, std::vector< double > &y, double *w=nullptr, double *smoothing=nullptr, int32_t *order=nullptr) override |
| | new_fit
|
| |
| int32_t | fit (double *smoothing=nullptr, int32_t *order=nullptr, bool *keep_knots=nullptr) override |
| |
| int32_t | interpolate (int32_t *order=nullptr, bool *reset_knots=nullptr) override |
| |
| int32_t | least_squares (double *smoothing=nullptr, bool *reset_knots=nullptr) override |
| |
| double | eval (double x, int32_t &ierr) override |
| |
| double | eval (double x) const override |
| |
| std::vector< double > | eval (std::vector< double > &x, int32_t &ierr) override |
| | eval
|
| |
| std::vector< double > | eval (std::vector< double > &x) override |
| | eval
|
| |
| double | integral (double from, double to) override |
| |
| void | fourier_coefficients (std::vector< double > &alpha, std::vector< double > &a, std::vector< double > &b, int32_t *ierr=nullptr) override |
| | fourier_coefficients
|
| |
| std::vector< double > | zeros (int32_t max_size, int32_t *ierr=nullptr) override |
| | zeros
|
| |
| double | dfdx (double x, int32_t order, int32_t *ierr=nullptr) override |
| |
| std::vector< double > | dfdx (std::vector< double > &x, int32_t order, int32_t *ierr=nullptr) override |
| | dfdx
|
| |
| std::vector< double > | dfdx_all (double x, int32_t &ierr, int32_t n_result) override |
| | dfdx_all
|
| |
| std::vector< double > | dfdx_all (double x, int32_t n_result) override |
| | dfdx_all
|
| |
| void | insert_knot (double x, int32_t *ierr=nullptr) override |
| |
| void | insert_knot (std::vector< double > &x, int32_t *ierr=nullptr) override |
| | insert_knot
|
| |
| int32_t | comm_size () const override |
| |
| void | comm_pack (std::vector< double > &buffer) const override |
| | comm_pack
|
| |
| void | comm_expand (std::vector< double > &buffer) override |
| | comm_expand
|
| |
| double | mse () const override |
| |
| int32_t | core_comm_size () const override |
| |
| void | core_comm_pack (std::vector< double > &buffer) const override |
| | core_comm_pack
|
| |
| void | core_comm_expand (std::vector< double > &buffer) override |
| | core_comm_expand
|
| |
| void | destroy_base () override |
| |
| FP_FLAG | new_fit (const std::vector< FP_REAL > &x, const std::vector< FP_REAL > &y, FP_REAL smoothing=1000.0) |
| | Fit a new curve through (x, y).
|
| |
| FP_FLAG | new_fit (const std::vector< FP_REAL > &x, const std::vector< FP_REAL > &y, const std::vector< FP_REAL > &w, FP_REAL smoothing=1000.0) |
| | Fit a new curve through (x, y) with per-point weights w.
|
| |
| FP_FLAG | fit (FP_SIZE order) |
| | Refit the current points with a new spline order.
|
| |
| FP_FLAG | fit (FP_REAL smoothing) |
| | Refit the current points with a new smoothing.
|
| |
| FP_FLAG | fit (FP_REAL smoothing, FP_SIZE order) |
| | Refit the current points with a new smoothing and spline order.
|
| |
| FP_FLAG | interpolate (FP_SIZE order) |
| | Interpolating fit of the given spline order.
|
| |
| FP_REAL | eval (FP_REAL x, FP_FLAG *ierr) |
| | Evaluate the curve at x, reporting the status through ierr.
|
| |
| std::vector< FP_REAL > | eval (const std::vector< FP_REAL > &x, FP_FLAG *ierr) |
| | Evaluate the curve at every x, reporting the status through ierr.
|
| |
| std::vector< fpPoint< 2 > > | eval (FP_REAL xmin, FP_REAL xmax, FP_SIZE npts, FP_FLAG *ierr=nullptr) |
| | Evaluate the curve at npts points evenly spaced over [xmin, xmax].
|
| |
| | fpCurve () |
| | Default constructor - allocates new fitpack_curve.
|
| |
| | ~fpCurve () override |
| | Destructor - deallocates if owned.
|
| |
| | fpCurve (const fpCurve &other) |
| | Copy constructor - deep copy.
|
| |
| fpCurve & | operator= (const fpCurve &other) |
| | Copy assignment - deep copy.
|
| |
| | fpCurve (fpCurve &&other) noexcept |
| | Move constructor - transfer ownership.
|
| |
| fpCurve & | operator= (fpCurve &&other) noexcept |
| | Move assignment - transfer ownership.
|
| |
| | fpCurve (fitpack_curve_c &c_wrapper, bool move=false) |
| | Construct from existing C wrapper (takes ownership if move=true)
|
| |
| | fpCurve (fitpack_curve_c &c_wrapper, ViewTag) |
| | Non-owning view ctor: bit-copy the C handle, mark is_pointer=true. Used by parent classes' polymorphic accessors to wrap a base-class handle as the correct concrete subtype.
|
| |
| fitpack_curve_c & | c_handle () |
| | Get underlying C wrapper (for interop)
|
| |
| const fitpack_curve_c & | c_handle () const |
| | Get underlying C wrapper (const, for interop)
|
| |
| fpFitter & | as_parent () |
| | Upcast to parent type (reference, no copy)
|
| |
| const fpFitter & | as_parent () const |
| |
| std::vector< double > | x_vector () const |
| | Deep copy of component 'x' as a std::vector.
|
| |
| fxArray< double > | x () const |
| | Zero-copy fxArray view of component 'x'.
|
| |
| std::vector< double > | y_vector () const |
| | Deep copy of component 'y' as a std::vector.
|
| |
| fxArray< double > | y () const |
| | Zero-copy fxArray view of component 'y'.
|
| |
| std::vector< double > | sp_vector () const |
| | Deep copy of component 'sp' as a std::vector.
|
| |
| fxArray< double > | sp () const |
| | Zero-copy fxArray view of component 'sp'.
|
| |
| std::vector< double > | w_vector () const |
| | Deep copy of component 'w' as a std::vector.
|
| |
| fxArray< double > | w () const |
| | Zero-copy fxArray view of component 'w'.
|
| |
| std::vector< double > | wrk_fou_vector () const |
| | Deep copy of component 'wrk_fou' as a std::vector.
|
| |
| std::array< int64_t, 2 > | wrk_fou_shape () const |
| | Extents of component 'wrk_fou', leading dimension first.
|
| |
| fxArray< double > | wrk_fou () const |
| | Zero-copy fxArray view of component 'wrk_fou'.
|
| |
| std::vector< double > | t_vector () const |
| | Deep copy of component 't' as a std::vector.
|
| |
| fxArray< double > | t () const |
| | Zero-copy fxArray view of component 't'.
|
| |
| int32_t & | m () |
| |
| const int32_t & | m () const |
| |
| int32_t & | order () |
| |
| const int32_t & | order () const |
| |
| double & | xleft () |
| |
| const double & | xleft () const |
| |
| double & | xright () |
| |
| const double & | xright () const |
| |
| int32_t & | nest () |
| |
| const int32_t & | nest () const |
| |
| int32_t & | bc () |
| |
| const int32_t & | bc () const |
| |
| int32_t & | knots () |
| |
| const int32_t & | knots () const |
| |
| FP_SIZE | degree () const |
| | Spline degree k of the current fit.
|
| |
| FP_FLAG | new_fit (const std::vector< FP_REAL > &x, const std::vector< FP_REAL > &y, FP_REAL smoothing=1000.0) |
| | Fit a new curve through (x, y).
|
| |
| FP_FLAG | new_fit (const std::vector< FP_REAL > &x, const std::vector< FP_REAL > &y, const std::vector< FP_REAL > &w, FP_REAL smoothing=1000.0) |
| | Fit a new curve through (x, y) with per-point weights w.
|
| |
| FP_FLAG | fit (FP_SIZE order) |
| | Refit the current points with a new spline order.
|
| |
| FP_FLAG | fit (FP_REAL smoothing) |
| | Refit the current points with a new smoothing.
|
| |
| FP_FLAG | fit (FP_REAL smoothing, FP_SIZE order) |
| | Refit the current points with a new smoothing and spline order.
|
| |
| FP_FLAG | interpolate (FP_SIZE order) |
| | Interpolating fit of the given spline order.
|
| |
| FP_REAL | eval (FP_REAL x, FP_FLAG *ierr) |
| | Evaluate the curve at x, reporting the status through ierr.
|
| |
| std::vector< FP_REAL > | eval (const std::vector< FP_REAL > &x, FP_FLAG *ierr) |
| | Evaluate the curve at every x, reporting the status through ierr.
|
| |
| std::vector< fpPoint< 2 > > | eval (FP_REAL xmin, FP_REAL xmax, FP_SIZE npts, FP_FLAG *ierr=nullptr) |
| | Evaluate the curve at npts points evenly spaced over [xmin, xmax].
|
| |
| FP_REAL | ddx (FP_REAL x, FP_SIZE order, FP_FLAG *ierr=nullptr) |
| | Derivative of the given order at x.
|
| |
| std::vector< FP_REAL > | ddx (FP_REAL x, FP_FLAG *ierr=nullptr) |
| | All derivatives (orders 0..k) at x.
|
| |
| void | set_bc (FP_FLAG value) |
| | Spline behaviour outside the support (one of the OUTSIDE_* flags).
|
| |
| FP_FLAG | get_bc () const |
| |
| FP_FLAG | fourier (const std::vector< FP_REAL > &alpha, std::vector< FP_REAL > &A, std::vector< FP_REAL > &B) |
| | Fourier coefficients A, B of the curve at the given angular frequencies.
|
| |
| virtual | ~fpFitter ()=default |
| |
| const char * | fortran_type_name () const |
| | Return the dynamic Fortran type name of the underlying object.
|
| |
| fitpack_fitter_c & | c_handle () |
| | Get underlying C wrapper (for interop)
|
| |
| const fitpack_fitter_c & | c_handle () const |
| | Get underlying C wrapper (const, for interop)
|
| |
| std::vector< double > | c_vector () const |
| | Deep copy of component 'c' as a std::vector.
|
| |
| fxArray< double > | c () const |
| | Zero-copy fxArray view of component 'c'.
|
| |
| std::vector< double > | wrk_vector () const |
| | Deep copy of component 'wrk' as a std::vector.
|
| |
| fxArray< double > | wrk () const |
| | Zero-copy fxArray view of component 'wrk'.
|
| |
| std::vector< int32_t > | iwrk_vector () const |
| | Deep copy of component 'iwrk' as a std::vector.
|
| |
| fxArray< int32_t > | iwrk () const |
| | Zero-copy fxArray view of component 'iwrk'.
|
| |
| int32_t & | iopt () |
| |
| const int32_t & | iopt () const |
| |
| double & | smoothing () |
| |
| const double & | smoothing () const |
| |
| double & | fp () |
| |
| const double & | fp () const |
| |
| int32_t & | lwrk () |
| |
| const int32_t & | lwrk () const |
| |
| int32_t & | liwrk () |
| |
| const int32_t & | liwrk () const |
| |
Standalone C++ RAII wrapper for Fortran fitpack_periodic_curve.
This class provides automatic memory management (RAII) and a natural C++ API for the underlying Fortran fitpack_periodic_curve, without requiring the fortran-arrays library. Array arguments use std::vector<T> for standalone operation. Extends fpCurve (Fortran: extends(fitpack_curve))