include/rb_gsl_common.h in gsl-1.14.7 vs include/rb_gsl_common.h in gsl-1.15.3
- old
+ new
@@ -23,10 +23,11 @@
#include <gsl/gsl_matrix.h>
#include <gsl/gsl_permutation.h>
#include <gsl/gsl_ieee_utils.h>
#ifdef HAVE_NARRAY_H
#include "narray.h"
+#include "rb_gsl_with_narray.h"
#endif
EXTERN ID rb_gsl_id_beg, rb_gsl_id_end, rb_gsl_id_excl, rb_gsl_id_to_a;
#ifndef CHECK_FIXNUM
@@ -133,16 +134,14 @@
#endif
#ifdef HAVE_NARRAY_H
#define Data_Get_Vector(obj,sval) do {\
if (NA_IsNArray(obj)) {\
- (sval)->data = NA_PTR_TYPE(obj,double*);\
- (sval)->size = NA_TOTAL(obj);\
- (sval)->stride = 1;\
- } else {\
- CHECK_VECTOR(obj);\
- Data_Get_Struct(obj,gsl_vector,sval);\
+ /* Convert obj to GSL::Vector::View */\
+ obj = rb_gsl_na_to_gsl_vector_view_method(obj);\
}\
+ CHECK_VECTOR(obj);\
+ Data_Get_Struct(obj,gsl_vector,sval);\
} while (0)
#else
#define Data_Get_Vector(obj,sval) do {\
CHECK_VECTOR(obj);\
Data_Get_Struct(obj,gsl_vector,sval);\