10#ifndef GIDI_data_hpp_included
11#define GIDI_data_hpp_included 1
27 std::vector<double> m_xs;
28 std::vector<double> m_ys;
31 Data1d( std::size_t a_number,
double const *
const a_xs );
32 Data1d( std::size_t a_number,
double const *
const a_xs,
double const *
const a_ys );
33 Data1d( std::vector<double>
const &a_xs );
34 Data1d( std::vector<double>
const &a_xs, std::vector<double>
const &a_ys );
38 std::size_t
size( )
const {
return( m_xs.size( ) ); }
55 void print( std::string
const &a_prefix )
const ;
66 std::vector<double> m_vector;
68 void writeWithBoundaries2( FILE *a_file,
char const *a_format, std::vector<double>
const &a_boundaries,
double a_epsilon )
const ;
71 Vector( std::size_t a_number = 0 );
72 Vector( std::vector<double>
const &a_values );
73 Vector( std::size_t a_number,
double const *a_values );
79 std::size_t
size( )
const {
return( m_vector.size( ) ); }
80 void resize( std::size_t a_number,
double a_value = 0.0 ) { m_vector.resize( a_number, a_value ); }
81 std::vector<double> &
data( ) {
return( m_vector ); }
83 double &
operator[]( std::size_t a_index ) {
return( m_vector[a_index] ); }
84 double operator[]( std::size_t a_index )
const {
return( m_vector[a_index] ); }
106 void print( std::string
const &a_prefix )
const ;
107 void write( FILE *a_file, std::string
const &a_prefix )
const ;
108 void writeWithBoundaries( FILE *a_file,
char const *a_format, std::vector<double>
const &a_boundaries,
double a_epsilon )
const ;
119 std::vector<Vector> m_matrix;
122 Matrix( std::size_t a_rows, std::size_t a_columns );
127 std::size_t
size( )
const {
return( m_matrix.size( ) ); }
134 std::size_t a_column ,
136 { m_matrix[a_row][a_column] = a_value; }
138 std::vector<Vector>
const &
matrix( )
const {
return( m_matrix ); }
158 void set( std::size_t a_row ,
159 std::size_t a_column ,
161 { m_matrix[a_row][a_column] = a_value; }
163 void set( std::size_t a_row ,
165 { m_matrix[a_row] = a_vector; }
169 void print( std::string
const &a_prefixForRow )
const ;
Data1d(std::size_t a_number, double const *const a_xs)
Data1d & operator-=(double a_value)
Data1d operator/(double a_value) const
Data1d & operator*=(double a_value)
Data1d operator*(double a_value) const
void print(std::string const &a_prefix) const
Data1d operator+(double a_value) const
Data1d operator-(double a_value) const
Data1d & operator+=(double a_value)
Data1d & operator/=(double a_value)
Matrix operator*(double a_value) const
Matrix & operator/=(double a_value)
Matrix & operator+=(double a_value)
Matrix & operator*=(double a_value)
std::vector< Vector > const & matrix() const
Matrix operator/(double a_value) const
Matrix & operator=(Matrix const &a_rhs)
void set(std::size_t a_row, Vector const &a_vector)
Matrix operator-(double a_value) const
Matrix(std::size_t a_rows, std::size_t a_columns)
Matrix operator+(double a_value) const
Vector & operator[](std::size_t a_index)
void operator()(std::size_t a_row, std::size_t a_column, double a_value)
void print(std::string const &a_prefixForRow) const
std::size_t numberOfColumns() const
void set(std::size_t a_row, std::size_t a_column, double a_value)
Vector const & operator[](std::size_t a_index) const
void push_back(Vector const &a_vector)
Matrix & operator-=(double a_value)
std::vector< double > & data()
Vector & operator+=(double a_value)
Vector operator+(double a_value) const
Vector & operator*=(double a_value)
double & operator[](std::size_t a_index)
Vector operator/(double a_value) const
void setToValueInFlatRange(std::size_t a_start, std::size_t a_end, double a_value)
Vector & operator=(Vector const &a_rhs)
void writeWithBoundaries(FILE *a_file, char const *a_format, std::vector< double > const &a_boundaries, double a_epsilon) const
Vector & operator-=(double a_value)
void write(FILE *a_file, std::string const &a_prefix) const
double operator[](std::size_t a_index) const
Vector & operator/=(double a_value)
void print(std::string const &a_prefix) const
Vector operator-(double a_value) const
Vector(std::size_t a_number=0)
void resize(std::size_t a_number, double a_value=0.0)
Vector operator*(double a_value) const