ReFRACtor
|
This provides thin wrapper around the GNU Scientific Library gsl_matrix. More...
#include <fp_gsl_matrix.h>
Public Member Functions | |
GslMatrix () | |
Default constructor. More... | |
GslMatrix (gsl_matrix *M, bool Owned=true) | |
Use data owned by gsl_matrix. More... | |
GslMatrix (blitz::Array< double, 2 > &M) | |
Use data owned by blitz::Array. More... | |
~GslMatrix () | |
Destructor. More... | |
const blitz::Array< double, 2 > & | blitz_array () const |
Return blitz::Array look at data. More... | |
blitz::Array< double, 2 > & | blitz_array () |
Return blitz::Array look at data. More... | |
const gsl_matrix * | gsl () const |
Return gsl_matrix look at data. More... | |
gsl_matrix * | gsl () |
Return gsl_matrix look at data. More... | |
void | reset (gsl_matrix *M, bool Owned=true) |
Reset class to point to new matrix. More... | |
void | reset (blitz::Array< double, 2 > &M) |
Reset to Use data owned by blitz::Array. More... | |
Public Attributes | |
blitz::Array< double, 2 > | blitz_array_ |
bool | block_owned_ |
gsl_matrix * | gsl_matrix_ |
bool | owned_ |
This provides thin wrapper around the GNU Scientific Library gsl_matrix.
The GSL is a pretty complete scientific library. However, it is C based and out of the box doesn't place nicely with other C++ classes (such as blitz::Array). We provide some thin wrapper code around the GSL code to interface these two classes. This provides both a blitz::Array and a gsl_matrix view of the same underlying data.
Definition at line 20 of file fp_gsl_matrix.h.
|
inline |
Default constructor.
Definition at line 26 of file fp_gsl_matrix.h.
|
inline |
Use data owned by gsl_matrix.
This data can either have ownership passed to this class (in which case we delete it when done with it), or just a reference (in which case the lifetime is handled outside of this class).
Definition at line 35 of file fp_gsl_matrix.h.
|
inline |
Use data owned by blitz::Array.
Note that if this data isStorageContiguous(), and in C order then we use the data in place. If it isn't be make a contiguous copy of it. This means that in one case the original matrix will be modified if the gsl_matrix view of the data is modified, and the second case it won't. If you don't want this behaviour, you can form a copy before you pass it to this constructor.
Definition at line 49 of file fp_gsl_matrix.h.
GslMatrix::~GslMatrix | ( | ) |
Destructor.
Definition at line 63 of file fp_gsl_matrix.cc.
|
inline |
Return blitz::Array look at data.
Definition at line 70 of file fp_gsl_matrix.h.
|
inline |
Return blitz::Array look at data.
Definition at line 76 of file fp_gsl_matrix.h.
|
inline |
Return gsl_matrix look at data.
Definition at line 58 of file fp_gsl_matrix.h.
|
inline |
Return gsl_matrix look at data.
Definition at line 64 of file fp_gsl_matrix.h.
void GslMatrix::reset | ( | gsl_matrix * | M, |
bool | Owned = true |
||
) |
Reset class to point to new matrix.
This data can either have ownership passed to this class (in which case we delete it when done with it), or just a reference (in which case the lifetime is handled outside of this class).
Definition at line 14 of file fp_gsl_matrix.cc.
void GslMatrix::reset | ( | blitz::Array< double, 2 > & | M | ) |
Reset to Use data owned by blitz::Array.
Note that if this data isStorageContiguous(), and in C order then we use the data in place. If it isn't be make a contiguous copy of it. This means that in one case the original matrix will be modified if the gsl_matrix view of the data is modified, and the second case it won't. If you don't want this behaviour, you can form a copy before you pass it to this constructor.
Definition at line 39 of file fp_gsl_matrix.cc.
blitz::Array<double, 2> FullPhysics::GslMatrix::blitz_array_ |
Definition at line 78 of file fp_gsl_matrix.h.
bool FullPhysics::GslMatrix::block_owned_ |
Definition at line 82 of file fp_gsl_matrix.h.
gsl_matrix* FullPhysics::GslMatrix::gsl_matrix_ |
Definition at line 79 of file fp_gsl_matrix.h.
bool FullPhysics::GslMatrix::owned_ |
Definition at line 80 of file fp_gsl_matrix.h.