fitpack
Modern Fortran library for curve and surface fitting with splines
Loading...
Searching...
No Matches
fitpack_fitters::fitpack_fitter Type Referenceabstract

Abstract base type for all FITPACK OOP fitters. More...

Inheritance diagram for fitpack_fitters::fitpack_fitter:

Public Member Functions

procedure, non_overridable mse (this)
 MSE accessor (shared by all types)
 
procedure, non_overridable core_comm_size (this)
 Base field helpers for comm (non-overridable, called by subtypes)
 
procedure, non_overridable core_comm_pack (this, buffer)
 Pack base fields into communication buffer.
 
procedure, non_overridable core_comm_expand (this, buffer)
 Expand base fields from communication buffer.
 
procedure, non_overridable destroy_base (this)
 Base field reset (called by subtype destroy methods)
 
procedure(comm_size_if), deferred comm_size (this)
 Deferred communication interface.
 
procedure(comm_pack_if), deferred comm_pack (this, buffer)
 
procedure(comm_expand_if), deferred comm_expand (this, buffer)
 

Public Attributes

integer(fp_flagiopt = IOPT_NEW_SMOOTHING
 Fitting state flag.
 
real(fp_realsmoothing = 1000.0_FP_REAL
 Smoothing parameter.
 
real(fp_realfp = zero
 Weighted sum of squared residuals.
 
real(fp_real), dimension(:), allocatable c
 B-spline coefficients.
 
integer(fp_sizelwrk = 0
 Real workspace and its size.
 
real(fp_real), dimension(:), allocatable wrk
 
integer(fp_sizeliwrk = 0
 Integer workspace and its size.
 
integer(fp_size), dimension(:), allocatable iwrk
 

Detailed Description

Abstract base type for all FITPACK OOP fitters.

Stores the common fitting state: computation mode (iopt), smoothing parameter, weighted sum of squared residuals (fp), B-spline coefficients, and workspaces. Subtypes extend this with domain-specific data (knots, data points, etc.).

Member Function/Subroutine Documentation

◆ comm_expand()

procedure(comm_expand_if), deferred fitpack_fitters::fitpack_fitter::comm_expand ( class(fitpack_fitter), intent(inout) this,
real(fp_comm), dimension(:), intent(in) buffer )
pure virtual

◆ comm_pack()

procedure(comm_pack_if), deferred fitpack_fitters::fitpack_fitter::comm_pack ( class(fitpack_fitter), intent(in) this,
real(fp_comm), dimension(:), intent(out) buffer )
pure virtual

◆ comm_size()

procedure(comm_size_if), deferred fitpack_fitters::fitpack_fitter::comm_size ( class(fitpack_fitter), intent(in) this)
pure virtual

Deferred communication interface.

◆ core_comm_expand()

procedure, non_overridable fitpack_fitters::fitpack_fitter::core_comm_expand ( class(fitpack_fitter), intent(inout) this,
real(fp_comm), dimension(:), intent(in) buffer )
final

Expand base fields from communication buffer.

◆ core_comm_pack()

procedure, non_overridable fitpack_fitters::fitpack_fitter::core_comm_pack ( class(fitpack_fitter), intent(in) this,
real(fp_comm), dimension(:), intent(out) buffer )
final

Pack base fields into communication buffer.

◆ core_comm_size()

procedure, non_overridable fitpack_fitters::fitpack_fitter::core_comm_size ( class(fitpack_fitter), intent(in) this)
final

Base field helpers for comm (non-overridable, called by subtypes)

◆ destroy_base()

procedure, non_overridable fitpack_fitters::fitpack_fitter::destroy_base ( class(fitpack_fitter), intent(inout) this)
final

Base field reset (called by subtype destroy methods)

◆ mse()

procedure, non_overridable fitpack_fitters::fitpack_fitter::mse ( class(fitpack_fitter), intent(in) this)
final

MSE accessor (shared by all types)

Member Data Documentation

◆ c

real(fp_real), dimension(:), allocatable fitpack_fitters::fitpack_fitter::c

B-spline coefficients.

◆ fp

real(fp_real) fitpack_fitters::fitpack_fitter::fp = zero

Weighted sum of squared residuals.

◆ iopt

integer(fp_flag) fitpack_fitters::fitpack_fitter::iopt = IOPT_NEW_SMOOTHING

Fitting state flag.

◆ iwrk

integer(fp_size), dimension(:), allocatable fitpack_fitters::fitpack_fitter::iwrk

◆ liwrk

integer(fp_size) fitpack_fitters::fitpack_fitter::liwrk = 0

Integer workspace and its size.

◆ lwrk

integer(fp_size) fitpack_fitters::fitpack_fitter::lwrk = 0

Real workspace and its size.

◆ smoothing

real(fp_real) fitpack_fitters::fitpack_fitter::smoothing = 1000.0_FP_REAL

Smoothing parameter.

◆ wrk

real(fp_real), dimension(:), allocatable fitpack_fitters::fitpack_fitter::wrk

The documentation for this type was generated from the following file: