35 #include <tnt/tnt_array1d.h>    36 #include <tnt/tnt_array1d_utils.h>    37 #include <tnt/tnt_array2d.h>    38 #include <tnt/tnt_array2d_utils.h>    40 #include <gsl/gsl_vector.h>    41 #include <gsl/gsl_matrix.h>    46 #define GSL_RANGE_CHECK_OFF 1    88         typedef TNT::Array1D<double> GSLVector;
    89         typedef TNT::Array2D<double> GSLMatrix;
    95           return (
status == GSL_SUCCESS);
   104         inline QString 
status(
int gsl_errno)
 const {
   105           return (QString(gsl_strerror(gsl_errno)));
   108         void check(
int gsl_status, 
const char *src = __FILE__, 
int line = __LINE__)
   112         size_t Rows(
const gsl_matrix *m) 
const;
   113         size_t Columns(
const gsl_matrix *m) 
const;
   115         size_t Rows(
const GSLMatrix &m) 
const;
   116         size_t Columns(
const GSLMatrix &m) 
const;
   118         size_t size(
const gsl_vector *v) 
const;
   119         size_t size(
const gsl_matrix *m) 
const;
   121         gsl_vector *
vector(
size_t n, 
bool zero = 
false) 
const;
   122         gsl_matrix *
matrix(
size_t n1, 
size_t n2, 
bool zero = 
false) 
const;
   123         gsl_matrix *
identity(
size_t n1, 
size_t n2) 
const;
   126         void free(gsl_vector *v) 
const;
   127         void free(gsl_matrix *m) 
const;
   129         GSLVector 
gslToGSL(
const gsl_vector *v) 
const;
   130         GSLMatrix 
gslToGSL(
const gsl_matrix *m) 
const;
   131         gsl_vector *
GSLTogsl(
const GSLVector &v, gsl_vector *gv = 0) 
const;
   132         gsl_matrix *
GSLTogsl(
const GSLMatrix &m, gsl_matrix *gm = 0) 
const;
   142         static void handler(
const char *reason, 
const char *file, 
int line,
 GSLVector gslToGSL(const gsl_vector *v) const
Converts a GSL vector to a TNT-based vector. 
 
size_t Rows(const gsl_matrix *m) const
Returns number of rows in a GSL matrix. 
 
static GSLUtility * getInstance()
Return a reference to the GSL (singleton) object. 
 
void free(gsl_vector *v) const
Frees a GSL vector. 
 
bool success(int status) const
Tests if status is success. 
 
static void handler(const char *reason, const char *file, int line, int gsl_errno)
Special GSL errror handler. 
 
size_t Columns(const gsl_matrix *m) const
Returns the number of coulumns in a GSL matrix. 
 
static GSLUtility * _instance
Singleton self-reference pointer. 
 
QString status(int gsl_errno) const
Returns GSL specific error text. 
 
gsl_vector * GSLTogsl(const GSLVector &v, gsl_vector *gv=0) const
Converts TNT-based vector to GSL vector. 
 
GSLUtility()
Contructs a GSLUtility object with an error handler. 
 
gsl_matrix * matrix(size_t n1, size_t n2, bool zero=false) const
Creates a GSL matrix. 
 
void check(int gsl_status, const char *src=__FILE__, int line=__LINE__) const
Performs a check on GSL library function return status. 
 
Namespace for ISIS/Bullet specific routines. 
 
size_t size(const gsl_vector *v) const
Returns the size of a GSL vector. 
 
gsl_vector * vector(size_t n, bool zero=false) const
Creates a GSL vector. 
 
gsl_matrix * identity(size_t n1, size_t n2) const
Returns a GSL identity matrix of the specified size. 
 
void setIdentity(gsl_matrix *m) const
Initializes an existing GSL matrix to the identity matrix. 
 
GSLUtility Provides top level interface to the GNU GSL.