Jpp test-rotations-old
the software that should make you happy
Loading...
Searching...
No Matches
JTOOLS::JGrid< JAbscissa_t > Struct Template Reference

Simple data structure for an abstract collection of equidistant abscissa values. More...

#include <JGrid.hh>

Inheritance diagram for JTOOLS::JGrid< JAbscissa_t >:
JTOOLS::JAbstractCollection< JAbscissa_t > JOSCPROB::JOscillogramAxis

Public Types

typedef JAbstractCollection< JAbscissa_t >::abscissa_type abscissa_type
 

Public Member Functions

 JGrid ()
 Default constructor.
 
 JGrid (const int nx, const abscissa_type Xmin, const abscissa_type Xmax)
 Constructor.
 
virtual int getSize () const override
 Get number of elements.
 
virtual abscissa_type getX (int index) const override
 Get abscissa value.
 
virtual abscissa_type getXmin () const override
 Get minimal abscissa value.
 
virtual abscissa_type getXmax () const override
 Get maximal abscissa value.
 
int getIndex (typename JClass< abscissa_type >::argument_type x) const
 Get index of given abscissa value.
 
template<class JElement_t , class JDistance_t >
const JGridoperator() (JCollection< JElement_t, JDistance_t > &collection) const
 Configure collection.
 
bool is_equal (const JAbstractCollection &collection) const
 Test whether abstract collections are equal.
 

Protected Attributes

int size
 
abscissa_type xmin
 
abscissa_type xmax
 

Friends

JReaderoperator>> (JReader &in, JGrid< JAbscissa_t > &grid)
 Binary stream input.
 
JWriteroperator<< (JWriter &out, const JGrid< JAbscissa_t > &grid)
 Binary stream output.
 
std::istream & operator>> (std::istream &in, JGrid< JAbscissa_t > &grid)
 Read grid from input.
 
std::ostream & operator<< (std::ostream &out, const JGrid< JAbscissa_t > &grid)
 Write grid to output.
 

Detailed Description

template<class JAbscissa_t>
struct JTOOLS::JGrid< JAbscissa_t >

Simple data structure for an abstract collection of equidistant abscissa values.

This class implements the JAbstractCollection interface.

Definition at line 38 of file JGrid.hh.

Member Typedef Documentation

◆ abscissa_type

template<class JAbscissa_t >
JAbstractCollection<JAbscissa_t>::abscissa_type JTOOLS::JGrid< JAbscissa_t >::abscissa_type

Definition at line 41 of file JGrid.hh.

Constructor & Destructor Documentation

◆ JGrid() [1/2]

template<class JAbscissa_t >
JTOOLS::JGrid< JAbscissa_t >::JGrid ( )
inline

Default constructor.

Definition at line 47 of file JGrid.hh.

47 :
48 size(0),
49 xmin(),
50 xmax()
51 {}
abscissa_type xmax
Definition JGrid.hh:196
abscissa_type xmin
Definition JGrid.hh:195

◆ JGrid() [2/2]

template<class JAbscissa_t >
JTOOLS::JGrid< JAbscissa_t >::JGrid ( const int nx,
const abscissa_type Xmin,
const abscissa_type Xmax )
inline

Constructor.

Parameters
nxnumber of elements
Xminlower limit
Xmaxupper limit

Definition at line 61 of file JGrid.hh.

63 :
64 size(nx),
65 xmin(Xmin),
66 xmax(Xmax)
67 {}

Member Function Documentation

◆ getSize()

template<class JAbscissa_t >
virtual int JTOOLS::JGrid< JAbscissa_t >::getSize ( ) const
inlineoverridevirtual

Get number of elements.

Returns
number of elements

Implements JTOOLS::JAbstractCollection< JAbscissa_t >.

Definition at line 75 of file JGrid.hh.

76 {
77 return size;
78 }

◆ getX()

template<class JAbscissa_t >
virtual abscissa_type JTOOLS::JGrid< JAbscissa_t >::getX ( int index) const
inlineoverridevirtual

Get abscissa value.

Parameters
indexindex
Returns
abscissa value

Implements JTOOLS::JAbstractCollection< JAbscissa_t >.

Definition at line 87 of file JGrid.hh.

88 {
89 return (index == 0 ? xmin : xmin + index * ((xmax - xmin) / (size - 1)));
90 }

◆ getXmin()

template<class JAbscissa_t >
virtual abscissa_type JTOOLS::JGrid< JAbscissa_t >::getXmin ( ) const
inlineoverridevirtual

Get minimal abscissa value.

Returns
abscissa value

Implements JTOOLS::JAbstractCollection< JAbscissa_t >.

Definition at line 98 of file JGrid.hh.

99 {
100 return xmin;
101 }

◆ getXmax()

template<class JAbscissa_t >
virtual abscissa_type JTOOLS::JGrid< JAbscissa_t >::getXmax ( ) const
inlineoverridevirtual

Get maximal abscissa value.

Returns
abscissa value

Implements JTOOLS::JAbstractCollection< JAbscissa_t >.

Definition at line 109 of file JGrid.hh.

110 {
111 return xmax;
112 }

◆ getIndex()

template<class JAbscissa_t >
int JTOOLS::JGrid< JAbscissa_t >::getIndex ( typename JClass< abscissa_type >::argument_type x) const
inline

Get index of given abscissa value.

Parameters
xabscissa value
Returns
index

Definition at line 121 of file JGrid.hh.

122 {
123 return (int) ((size - 1) * (x - xmin) / (xmax - xmin));
124 }

◆ operator()()

template<class JAbscissa_t >
template<class JElement_t , class JDistance_t >
const JGrid & JTOOLS::JGrid< JAbscissa_t >::operator() ( JCollection< JElement_t, JDistance_t > & collection) const
inline

Configure collection.

Parameters
collectioncollection
Returns
this grid

Definition at line 134 of file JGrid.hh.

135 {
136 collection.configure(*this);
137
138 return *this;
139 }

◆ is_equal()

template<class JAbscissa_t >
bool JTOOLS::JAbstractCollection< JAbscissa_t >::is_equal ( const JAbstractCollection< JAbscissa_t > & collection) const
inlineinherited

Test whether abstract collections are equal.

Parameters
collectionabstract collection
Returns
true if collections are equals; else false

Definition at line 72 of file JAbstractCollection.hh.

73 {
74 if (this->getSize() == collection.getSize()) {
75
76 for (int i = 0; i != this->getSize(); ++i) {
77
78 if (this->getX(i) != collection.getX(i)) {
79 return false;
80 }
81 }
82
83 return true;
84 }
85
86 return false;
87 }
virtual int getSize() const =0
Get number of elements.
virtual abscissa_type getX(int index) const =0
Get abscissa value.

Friends And Related Symbol Documentation

◆ operator>> [1/2]

template<class JAbscissa_t >
JReader & operator>> ( JReader & in,
JGrid< JAbscissa_t > & grid )
friend

Binary stream input.

Parameters
ininput stream
gridgrid
Returns
input stream

Definition at line 149 of file JGrid.hh.

150 {
151 return in >> grid.size >> grid.xmin >> grid.xmax;
152 }

◆ operator<< [1/2]

template<class JAbscissa_t >
JWriter & operator<< ( JWriter & out,
const JGrid< JAbscissa_t > & grid )
friend

Binary stream output.

Parameters
outoutput stream
gridgrid
Returns
output stream

Definition at line 162 of file JGrid.hh.

163 {
164 return out << grid.size << grid.xmin << grid.xmax;
165 }

◆ operator>> [2/2]

template<class JAbscissa_t >
std::istream & operator>> ( std::istream & in,
JGrid< JAbscissa_t > & grid )
friend

Read grid from input.

Parameters
ininput stream
gridgrid
Returns
input stream

Definition at line 175 of file JGrid.hh.

176 {
177 return in >> grid.size >> grid.xmin >> grid.xmax;
178 }

◆ operator<< [2/2]

template<class JAbscissa_t >
std::ostream & operator<< ( std::ostream & out,
const JGrid< JAbscissa_t > & grid )
friend

Write grid to output.

Parameters
outoutput stream
gridgrid
Returns
output stream

Definition at line 188 of file JGrid.hh.

189 {
190 return out << grid.size << ' ' << grid.xmin << ' ' << grid.xmax;
191 }

Member Data Documentation

◆ size

template<class JAbscissa_t >
int JTOOLS::JGrid< JAbscissa_t >::size
protected

Definition at line 194 of file JGrid.hh.

◆ xmin

template<class JAbscissa_t >
abscissa_type JTOOLS::JGrid< JAbscissa_t >::xmin
protected

Definition at line 195 of file JGrid.hh.

◆ xmax

template<class JAbscissa_t >
abscissa_type JTOOLS::JGrid< JAbscissa_t >::xmax
protected

Definition at line 196 of file JGrid.hh.


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