LinearSpline Class ReferenceΒΆ

Splines: Splines::LinearSpline Class Reference
Splines
Splines::LinearSpline Class Reference

Linear spline class. More...

#include <SplineLinear.hxx>

Inheritance diagram for Splines::LinearSpline:
Splines::Spline

Public Member Functions

 LinearSpline (string const &name="LinearSpline")
 
 ~LinearSpline () override
 
void reserve_external (integer n, real_type *&p_x, real_type *&p_y)
 Use externally allocated memory for npts points.
 
real_type eval (real_type x) const override
 
real_type D (real_type x) const override
 
real_type DD (real_type) const override
 
real_type DDD (real_type) const override
 
real_type id_eval (integer ni, real_type x) const override
 
real_type id_D (integer, real_type) const override
 
real_type id_DD (integer, real_type) const override
 
real_type id_DDD (integer, real_type) const override
 
void write_to_stream (ostream_type &s) const override
 
SplineType1D type () const override
 
void reserve (integer npts) override
 
void build () override
 
void clear () override
 
integer coeffs (real_type cfs[], real_type nodes[], bool transpose=false) const override
 
integer order () const override
 
void setup (GenericContainer const &gc) override
 
void y_min_max (integer &i_min_pos, real_type &x_min_pos, real_type &y_min, integer &i_max_pos, real_type &x_max_pos, real_type &y_max) const override
 
void y_min_max (vector< integer > &i_min_pos, vector< real_type > &x_min_pos, vector< real_type > &y_min, vector< integer > &i_max_pos, vector< real_type > &x_max_pos, vector< real_type > &y_max) const override
 
- Public Member Functions inherited from Splines::Spline
void search (std::pair< integer, real_type > &res) const
 
 Spline (string const &name="Spline")
 
virtual ~Spline ()
 
string const & name () const
 
bool is_closed () const
 
void make_closed ()
 
void make_opened ()
 
bool is_bounded () const
 
void make_unbounded ()
 
void make_bounded ()
 
bool is_extended_constant () const
 
void make_extended_constant ()
 
void make_extended_not_constant ()
 
integer num_points () const
 
real_type x_node (integer i) const
 
real_type y_node (integer i) const
 
real_type x_begin () const
 
real_type y_begin () const
 
real_type x_end () const
 
real_type y_end () const
 
real_type x_min () const
 
real_type x_max () const
 
real_type y_min () const
 
real_type y_max () const
 
void build (GenericContainer const &gc)
 
virtual void build (real_type const x[], integer incx, real_type const y[], integer incy, integer n)
 
void build (real_type const x[], real_type const y[], integer n)
 
void build (vector< real_type > const &x, vector< real_type > const &y)
 
void push_back (real_type x, real_type y)
 
void drop_back ()
 
void set_origin (real_type x0)
 
void set_range (real_type xmin, real_type xmax)
 
void dump (ostream_type &s, integer nintervals, char const header[]="x\ty") const
 
void dump (char const fname[], integer nintervals, char const header[]="x\ty") const
 
virtual real_type DDDD (real_type) const
 
virtual real_type DDDDD (real_type) const
 
real_type operator() (real_type x) const
 
real_type eval_D (real_type x) const
 
real_type eval_DD (real_type x) const
 
real_type eval_DDD (real_type x) const
 
real_type eval_DDDD (real_type x) const
 
real_type eval_DDDDD (real_type x) const
 
virtual real_type id_DDDD (integer, real_type) const
 
virtual real_type id_DDDDD (integer, real_type) const
 
char const * type_name () const
 
string info () const
 
void info (ostream_type &stream) const
 

Detailed Description

Linear spline class.

Constructor & Destructor Documentation

◆ LinearSpline()

Splines::LinearSpline::LinearSpline ( string const & name = "LinearSpline")

Build an empty spline of LinearSpline type

Parameters
namethe name of the spline

◆ ~LinearSpline()

Splines::LinearSpline::~LinearSpline ( )
inlineoverride

Spline destructor.

Member Function Documentation

◆ build()

void Splines::LinearSpline::build ( )
inlineoverridevirtual

Build a spline using internal stored data

Implements Splines::Spline.

◆ clear()

void Splines::LinearSpline::clear ( )
overridevirtual

Delete the support points, empty the spline.

Implements Splines::Spline.

◆ coeffs()

integer Splines::LinearSpline::coeffs ( real_type cfs[],
real_type nodes[],
bool transpose = false ) const
overridevirtual

get the piecewise polinomials of the spline

Implements Splines::Spline.

◆ D()

real_type Splines::LinearSpline::D ( real_type x) const
overridevirtual

First derivative

Implements Splines::Spline.

◆ DD()

real_type Splines::LinearSpline::DD ( real_type x) const
inlineoverridevirtual

Second derivative

Implements Splines::Spline.

◆ DDD()

real_type Splines::LinearSpline::DDD ( real_type x) const
inlineoverridevirtual

Third derivative

Implements Splines::Spline.

◆ eval()

real_type Splines::LinearSpline::eval ( real_type x) const
overridevirtual

Evaluate spline value

Implements Splines::Spline.

◆ id_D()

real_type Splines::LinearSpline::id_D ( integer ni,
real_type x ) const
overridevirtual

First derivative

Implements Splines::Spline.

◆ id_DD()

real_type Splines::LinearSpline::id_DD ( integer ni,
real_type x ) const
inlineoverridevirtual

Second derivative

Implements Splines::Spline.

◆ id_DDD()

real_type Splines::LinearSpline::id_DDD ( integer ni,
real_type x ) const
inlineoverridevirtual

Third derivative

Implements Splines::Spline.

◆ id_eval()

real_type Splines::LinearSpline::id_eval ( integer ni,
real_type x ) const
overridevirtual

Evaluate spline value

Implements Splines::Spline.

◆ order()

integer Splines::LinearSpline::order ( ) const
overridevirtual

Spline order of the piecewise polynomial

Implements Splines::Spline.

◆ reserve()

void Splines::LinearSpline::reserve ( integer npts)
overridevirtual

Allocate memory for npts points

Implements Splines::Spline.

◆ setup()

void Splines::LinearSpline::setup ( GenericContainer const & gc)
overridevirtual

Setup a spline using a GenericContainer

  • gc("xdata") vector with the x coordinate of the data
  • gc("ydata") vector with the y coordinate of the data

Reimplemented from Splines::Spline.

◆ type()

SplineType1D Splines::LinearSpline::type ( ) const
inlineoverridevirtual

spline type returned as integer

Implements Splines::Spline.

◆ write_to_stream()

void Splines::LinearSpline::write_to_stream ( ostream_type & s) const
overridevirtual

Print spline coefficients

Implements Splines::Spline.

◆ y_min_max() [1/2]

void Splines::LinearSpline::y_min_max ( integer & i_min_pos,
real_type & x_min_pos,
real_type & y_min,
integer & i_max_pos,
real_type & x_max_pos,
real_type & y_max ) const
overridevirtual

Search the max and min values of y along the spline with the corresponding x position

Parameters
[out]i_min_posinterval where is the minimum
[out]x_min_poswhere is the minimum
[out]y_minthe minimum value
[out]i_max_posinterval where is the maximum
[out]x_max_poswhere is the maximum
[out]y_maxthe maximum value

Reimplemented from Splines::Spline.

◆ y_min_max() [2/2]

void Splines::LinearSpline::y_min_max ( vector< integer > & i_min_pos,
vector< real_type > & x_min_pos,
vector< real_type > & y_min,
vector< integer > & i_max_pos,
vector< real_type > & x_max_pos,
vector< real_type > & y_max ) const
overridevirtual

Search the max and min values of y along the spline with the corresponding x position

Parameters
[out]i_min_posinterval where is the minimum
[out]x_min_poswhere is the minimum
[out]y_minthe minimum value
[out]i_max_posinterval where is the maximum
[out]x_max_poswhere is the maximum
[out]y_maxthe maximum value

Reimplemented from Splines::Spline.


The documentation for this class was generated from the following files:
  • /Users/enrico/Ricerca/develop/PINS/pins-mechatronix/LibSources/submodules/Splines/src/Splines/SplineLinear.hxx
  • /Users/enrico/Ricerca/develop/PINS/pins-mechatronix/LibSources/submodules/Splines/src/SplineLinear.cc