Go to the documentation of this file.00001 #ifndef H_MATH_UTILS_GSL
00002 #define H_MATH_UTILS_GSL
00003
00004 #include <gsl/gsl_math.h>
00005 #include <egsl/egsl.h>
00006
00007 #include "laser_data.h"
00008
00009 #define gvg gsl_vector_get
00010 #define gvs gsl_vector_set
00011
00012
00013
00014 const char* gsl_friendly_pose(gsl_vector*v);
00015 gsl_vector * vector_from_array(unsigned int n, double *x);
00016 void vector_to_array(const gsl_vector*v, double*);
00017 void copy_from_array(gsl_vector*v, double*);
00018
00019 void oplus(const gsl_vector*x1,const gsl_vector*x2, gsl_vector*res);
00020 void ominus(const gsl_vector*x, gsl_vector*res);
00021 void pose_diff(const gsl_vector*pose2,const gsl_vector*pose1,gsl_vector*res);
00022
00023 void transform(const gsl_vector* point2d, const gsl_vector* pose, gsl_vector*result2d);
00024 void gsl_vector_set_nan(gsl_vector*v);
00025
00026 double distance(const gsl_vector* a,const gsl_vector* b);
00027 double distance_squared(const gsl_vector* a,const gsl_vector* b);
00028
00030 double norm(const gsl_vector*p);
00031 const char* egsl_friendly_pose(val pose);
00032 const char* egsl_friendly_cov(val cov);
00033
00036 val ld_fisher0(LDP ld);
00037
00038
00039 #endif
00040
00041