1# This file was automatically generated by SWIG (http://www.swig.org).
2# Version 4.0.1
3#
4# Do not make changes to this file unless you know what you are doing--modify
5# the SWIG interface file instead.
6
7package Math::GSL::SparseMatrix;
8use base qw(Exporter);
9use base qw(DynaLoader);
10package Math::GSL::SparseMatrixc;
11bootstrap Math::GSL::SparseMatrix;
12package Math::GSL::SparseMatrix;
13@EXPORT = qw();
14
15# ---------- BASE METHODS -------------
16
17package Math::GSL::SparseMatrix;
18
19sub TIEHASH {
20    my ($classname,$obj) = @_;
21    return bless $obj, $classname;
22}
23
24sub CLEAR { }
25
26sub FIRSTKEY { }
27
28sub NEXTKEY { }
29
30sub FETCH {
31    my ($self,$field) = @_;
32    my $member_func = "swig_${field}_get";
33    $self->$member_func();
34}
35
36sub STORE {
37    my ($self,$field,$newval) = @_;
38    my $member_func = "swig_${field}_set";
39    $self->$member_func($newval);
40}
41
42sub this {
43    my $ptr = shift;
44    return tied(%$ptr);
45}
46
47
48# ------- FUNCTION WRAPPERS --------
49
50package Math::GSL::SparseMatrix;
51
52*gsl_error = *Math::GSL::SparseMatrixc::gsl_error;
53*gsl_stream_printf = *Math::GSL::SparseMatrixc::gsl_stream_printf;
54*gsl_strerror = *Math::GSL::SparseMatrixc::gsl_strerror;
55*gsl_set_error_handler = *Math::GSL::SparseMatrixc::gsl_set_error_handler;
56*gsl_set_error_handler_off = *Math::GSL::SparseMatrixc::gsl_set_error_handler_off;
57*gsl_set_stream_handler = *Math::GSL::SparseMatrixc::gsl_set_stream_handler;
58*gsl_set_stream = *Math::GSL::SparseMatrixc::gsl_set_stream;
59*gsl_spmatrix_cumsum = *Math::GSL::SparseMatrixc::gsl_spmatrix_cumsum;
60*gsl_spmatrix_alloc = *Math::GSL::SparseMatrixc::gsl_spmatrix_alloc;
61*gsl_spmatrix_alloc_nzmax = *Math::GSL::SparseMatrixc::gsl_spmatrix_alloc_nzmax;
62*gsl_spmatrix_free = *Math::GSL::SparseMatrixc::gsl_spmatrix_free;
63*gsl_spmatrix_realloc = *Math::GSL::SparseMatrixc::gsl_spmatrix_realloc;
64*gsl_spmatrix_nnz = *Math::GSL::SparseMatrixc::gsl_spmatrix_nnz;
65*gsl_spmatrix_type = *Math::GSL::SparseMatrixc::gsl_spmatrix_type;
66*gsl_spmatrix_set_zero = *Math::GSL::SparseMatrixc::gsl_spmatrix_set_zero;
67*gsl_spmatrix_tree_rebuild = *Math::GSL::SparseMatrixc::gsl_spmatrix_tree_rebuild;
68*gsl_spmatrix_csc = *Math::GSL::SparseMatrixc::gsl_spmatrix_csc;
69*gsl_spmatrix_csr = *Math::GSL::SparseMatrixc::gsl_spmatrix_csr;
70*gsl_spmatrix_compress = *Math::GSL::SparseMatrixc::gsl_spmatrix_compress;
71*gsl_spmatrix_compcol = *Math::GSL::SparseMatrixc::gsl_spmatrix_compcol;
72*gsl_spmatrix_ccs = *Math::GSL::SparseMatrixc::gsl_spmatrix_ccs;
73*gsl_spmatrix_crs = *Math::GSL::SparseMatrixc::gsl_spmatrix_crs;
74*gsl_spmatrix_memcpy = *Math::GSL::SparseMatrixc::gsl_spmatrix_memcpy;
75*gsl_spmatrix_fprintf = *Math::GSL::SparseMatrixc::gsl_spmatrix_fprintf;
76*gsl_spmatrix_fscanf = *Math::GSL::SparseMatrixc::gsl_spmatrix_fscanf;
77*gsl_spmatrix_fwrite = *Math::GSL::SparseMatrixc::gsl_spmatrix_fwrite;
78*gsl_spmatrix_fread = *Math::GSL::SparseMatrixc::gsl_spmatrix_fread;
79*gsl_spmatrix_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_get;
80*gsl_spmatrix_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_set;
81*gsl_spmatrix_ptr = *Math::GSL::SparseMatrixc::gsl_spmatrix_ptr;
82*gsl_spmatrix_minmax = *Math::GSL::SparseMatrixc::gsl_spmatrix_minmax;
83*gsl_spmatrix_min_index = *Math::GSL::SparseMatrixc::gsl_spmatrix_min_index;
84*gsl_spmatrix_scale = *Math::GSL::SparseMatrixc::gsl_spmatrix_scale;
85*gsl_spmatrix_scale_columns = *Math::GSL::SparseMatrixc::gsl_spmatrix_scale_columns;
86*gsl_spmatrix_scale_rows = *Math::GSL::SparseMatrixc::gsl_spmatrix_scale_rows;
87*gsl_spmatrix_add = *Math::GSL::SparseMatrixc::gsl_spmatrix_add;
88*gsl_spmatrix_d2sp = *Math::GSL::SparseMatrixc::gsl_spmatrix_d2sp;
89*gsl_spmatrix_sp2d = *Math::GSL::SparseMatrixc::gsl_spmatrix_sp2d;
90*gsl_spmatrix_add_to_dense = *Math::GSL::SparseMatrixc::gsl_spmatrix_add_to_dense;
91*gsl_spmatrix_equal = *Math::GSL::SparseMatrixc::gsl_spmatrix_equal;
92*gsl_spmatrix_transpose = *Math::GSL::SparseMatrixc::gsl_spmatrix_transpose;
93*gsl_spmatrix_transpose2 = *Math::GSL::SparseMatrixc::gsl_spmatrix_transpose2;
94*gsl_spmatrix_transpose_memcpy = *Math::GSL::SparseMatrixc::gsl_spmatrix_transpose_memcpy;
95*gsl_spmatrix_complex_long_double_alloc = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_alloc;
96*gsl_spmatrix_complex_long_double_alloc_nzmax = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_alloc_nzmax;
97*gsl_spmatrix_complex_long_double_free = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_free;
98*gsl_spmatrix_complex_long_double_realloc = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_realloc;
99*gsl_spmatrix_complex_long_double_nnz = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_nnz;
100*gsl_spmatrix_complex_long_double_type = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_type;
101*gsl_spmatrix_complex_long_double_set_zero = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_set_zero;
102*gsl_spmatrix_complex_long_double_tree_rebuild = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_tree_rebuild;
103*gsl_spmatrix_complex_long_double_csc = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_csc;
104*gsl_spmatrix_complex_long_double_csr = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_csr;
105*gsl_spmatrix_complex_long_double_compress = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_compress;
106*gsl_spmatrix_complex_long_double_compcol = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_compcol;
107*gsl_spmatrix_complex_long_double_ccs = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_ccs;
108*gsl_spmatrix_complex_long_double_crs = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_crs;
109*gsl_spmatrix_complex_long_double_memcpy = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_memcpy;
110*gsl_spmatrix_complex_long_double_fprintf = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_fprintf;
111*gsl_spmatrix_complex_long_double_fscanf = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_fscanf;
112*gsl_spmatrix_complex_long_double_fwrite = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_fwrite;
113*gsl_spmatrix_complex_long_double_fread = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_fread;
114*gsl_spmatrix_complex_long_double_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_get;
115*gsl_spmatrix_complex_long_double_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_set;
116*gsl_spmatrix_complex_long_double_ptr = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_ptr;
117*gsl_spmatrix_complex_long_double_scale = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_scale;
118*gsl_spmatrix_complex_long_double_scale_columns = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_scale_columns;
119*gsl_spmatrix_complex_long_double_scale_rows = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_scale_rows;
120*gsl_spmatrix_complex_long_double_add = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_add;
121*gsl_spmatrix_complex_long_double_d2sp = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_d2sp;
122*gsl_spmatrix_complex_long_double_sp2d = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_sp2d;
123*gsl_spmatrix_complex_long_double_add_to_dense = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_add_to_dense;
124*gsl_spmatrix_complex_long_double_equal = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_equal;
125*gsl_spmatrix_complex_long_double_transpose = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_transpose;
126*gsl_spmatrix_complex_long_double_transpose2 = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_transpose2;
127*gsl_spmatrix_complex_long_double_transpose_memcpy = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_transpose_memcpy;
128*gsl_spmatrix_complex_float_alloc = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_alloc;
129*gsl_spmatrix_complex_float_alloc_nzmax = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_alloc_nzmax;
130*gsl_spmatrix_complex_float_free = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_free;
131*gsl_spmatrix_complex_float_realloc = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_realloc;
132*gsl_spmatrix_complex_float_nnz = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_nnz;
133*gsl_spmatrix_complex_float_type = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_type;
134*gsl_spmatrix_complex_float_set_zero = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_set_zero;
135*gsl_spmatrix_complex_float_tree_rebuild = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_tree_rebuild;
136*gsl_spmatrix_complex_float_csc = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_csc;
137*gsl_spmatrix_complex_float_csr = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_csr;
138*gsl_spmatrix_complex_float_compress = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_compress;
139*gsl_spmatrix_complex_float_compcol = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_compcol;
140*gsl_spmatrix_complex_float_ccs = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_ccs;
141*gsl_spmatrix_complex_float_crs = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_crs;
142*gsl_spmatrix_complex_float_memcpy = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_memcpy;
143*gsl_spmatrix_complex_float_fprintf = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_fprintf;
144*gsl_spmatrix_complex_float_fscanf = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_fscanf;
145*gsl_spmatrix_complex_float_fwrite = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_fwrite;
146*gsl_spmatrix_complex_float_fread = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_fread;
147*gsl_spmatrix_complex_float_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_get;
148*gsl_spmatrix_complex_float_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_set;
149*gsl_spmatrix_complex_float_ptr = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_ptr;
150*gsl_spmatrix_complex_float_scale = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_scale;
151*gsl_spmatrix_complex_float_scale_columns = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_scale_columns;
152*gsl_spmatrix_complex_float_scale_rows = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_scale_rows;
153*gsl_spmatrix_complex_float_add = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_add;
154*gsl_spmatrix_complex_float_d2sp = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_d2sp;
155*gsl_spmatrix_complex_float_sp2d = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_sp2d;
156*gsl_spmatrix_complex_float_add_to_dense = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_add_to_dense;
157*gsl_spmatrix_complex_float_equal = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_equal;
158*gsl_spmatrix_complex_float_transpose = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_transpose;
159*gsl_spmatrix_complex_float_transpose2 = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_transpose2;
160*gsl_spmatrix_complex_float_transpose_memcpy = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_transpose_memcpy;
161*gsl_spmatrix_long_double_alloc = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_alloc;
162*gsl_spmatrix_long_double_alloc_nzmax = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_alloc_nzmax;
163*gsl_spmatrix_long_double_free = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_free;
164*gsl_spmatrix_long_double_realloc = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_realloc;
165*gsl_spmatrix_long_double_nnz = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_nnz;
166*gsl_spmatrix_long_double_type = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_type;
167*gsl_spmatrix_long_double_set_zero = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_set_zero;
168*gsl_spmatrix_long_double_tree_rebuild = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_tree_rebuild;
169*gsl_spmatrix_long_double_csc = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_csc;
170*gsl_spmatrix_long_double_csr = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_csr;
171*gsl_spmatrix_long_double_compress = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_compress;
172*gsl_spmatrix_long_double_compcol = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_compcol;
173*gsl_spmatrix_long_double_ccs = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_ccs;
174*gsl_spmatrix_long_double_crs = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_crs;
175*gsl_spmatrix_long_double_memcpy = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_memcpy;
176*gsl_spmatrix_long_double_fprintf = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_fprintf;
177*gsl_spmatrix_long_double_fscanf = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_fscanf;
178*gsl_spmatrix_long_double_fwrite = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_fwrite;
179*gsl_spmatrix_long_double_fread = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_fread;
180*gsl_spmatrix_long_double_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_get;
181*gsl_spmatrix_long_double_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_set;
182*gsl_spmatrix_long_double_ptr = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_ptr;
183*gsl_spmatrix_long_double_minmax = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_minmax;
184*gsl_spmatrix_long_double_min_index = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_min_index;
185*gsl_spmatrix_long_double_scale = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_scale;
186*gsl_spmatrix_long_double_scale_columns = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_scale_columns;
187*gsl_spmatrix_long_double_scale_rows = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_scale_rows;
188*gsl_spmatrix_long_double_add = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_add;
189*gsl_spmatrix_long_double_d2sp = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_d2sp;
190*gsl_spmatrix_long_double_sp2d = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_sp2d;
191*gsl_spmatrix_long_double_add_to_dense = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_add_to_dense;
192*gsl_spmatrix_long_double_equal = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_equal;
193*gsl_spmatrix_long_double_transpose = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_transpose;
194*gsl_spmatrix_long_double_transpose2 = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_transpose2;
195*gsl_spmatrix_long_double_transpose_memcpy = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_transpose_memcpy;
196*gsl_spmatrix_uint_alloc = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_alloc;
197*gsl_spmatrix_uint_alloc_nzmax = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_alloc_nzmax;
198*gsl_spmatrix_uint_free = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_free;
199*gsl_spmatrix_uint_realloc = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_realloc;
200*gsl_spmatrix_uint_nnz = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_nnz;
201*gsl_spmatrix_uint_type = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_type;
202*gsl_spmatrix_uint_set_zero = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_set_zero;
203*gsl_spmatrix_uint_tree_rebuild = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_tree_rebuild;
204*gsl_spmatrix_uint_csc = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_csc;
205*gsl_spmatrix_uint_csr = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_csr;
206*gsl_spmatrix_uint_compress = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_compress;
207*gsl_spmatrix_uint_compcol = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_compcol;
208*gsl_spmatrix_uint_ccs = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_ccs;
209*gsl_spmatrix_uint_crs = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_crs;
210*gsl_spmatrix_uint_memcpy = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_memcpy;
211*gsl_spmatrix_uint_fprintf = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_fprintf;
212*gsl_spmatrix_uint_fscanf = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_fscanf;
213*gsl_spmatrix_uint_fwrite = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_fwrite;
214*gsl_spmatrix_uint_fread = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_fread;
215*gsl_spmatrix_uint_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_get;
216*gsl_spmatrix_uint_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_set;
217*gsl_spmatrix_uint_ptr = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_ptr;
218*gsl_spmatrix_uint_minmax = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_minmax;
219*gsl_spmatrix_uint_min_index = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_min_index;
220*gsl_spmatrix_uint_scale = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_scale;
221*gsl_spmatrix_uint_scale_columns = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_scale_columns;
222*gsl_spmatrix_uint_scale_rows = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_scale_rows;
223*gsl_spmatrix_uint_add = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_add;
224*gsl_spmatrix_uint_d2sp = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_d2sp;
225*gsl_spmatrix_uint_sp2d = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_sp2d;
226*gsl_spmatrix_uint_add_to_dense = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_add_to_dense;
227*gsl_spmatrix_uint_equal = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_equal;
228*gsl_spmatrix_uint_transpose = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_transpose;
229*gsl_spmatrix_uint_transpose2 = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_transpose2;
230*gsl_spmatrix_uint_transpose_memcpy = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_transpose_memcpy;
231*gsl_spmatrix_complex_alloc = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_alloc;
232*gsl_spmatrix_complex_alloc_nzmax = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_alloc_nzmax;
233*gsl_spmatrix_complex_free = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_free;
234*gsl_spmatrix_complex_realloc = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_realloc;
235*gsl_spmatrix_complex_nnz = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_nnz;
236*gsl_spmatrix_complex_type = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_type;
237*gsl_spmatrix_complex_set_zero = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_set_zero;
238*gsl_spmatrix_complex_tree_rebuild = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_tree_rebuild;
239*gsl_spmatrix_complex_csc = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_csc;
240*gsl_spmatrix_complex_csr = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_csr;
241*gsl_spmatrix_complex_compress = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_compress;
242*gsl_spmatrix_complex_compcol = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_compcol;
243*gsl_spmatrix_complex_ccs = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_ccs;
244*gsl_spmatrix_complex_crs = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_crs;
245*gsl_spmatrix_complex_memcpy = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_memcpy;
246*gsl_spmatrix_complex_fprintf = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_fprintf;
247*gsl_spmatrix_complex_fscanf = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_fscanf;
248*gsl_spmatrix_complex_fwrite = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_fwrite;
249*gsl_spmatrix_complex_fread = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_fread;
250*gsl_spmatrix_complex_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_get;
251*gsl_spmatrix_complex_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_set;
252*gsl_spmatrix_complex_ptr = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_ptr;
253*gsl_spmatrix_complex_scale = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_scale;
254*gsl_spmatrix_complex_scale_columns = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_scale_columns;
255*gsl_spmatrix_complex_scale_rows = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_scale_rows;
256*gsl_spmatrix_complex_add = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_add;
257*gsl_spmatrix_complex_d2sp = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_d2sp;
258*gsl_spmatrix_complex_sp2d = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_sp2d;
259*gsl_spmatrix_complex_add_to_dense = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_add_to_dense;
260*gsl_spmatrix_complex_equal = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_equal;
261*gsl_spmatrix_complex_transpose = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_transpose;
262*gsl_spmatrix_complex_transpose2 = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_transpose2;
263*gsl_spmatrix_complex_transpose_memcpy = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_transpose_memcpy;
264*gsl_spmatrix_char_alloc = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_alloc;
265*gsl_spmatrix_char_alloc_nzmax = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_alloc_nzmax;
266*gsl_spmatrix_char_free = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_free;
267*gsl_spmatrix_char_realloc = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_realloc;
268*gsl_spmatrix_char_nnz = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_nnz;
269*gsl_spmatrix_char_type = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_type;
270*gsl_spmatrix_char_set_zero = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_set_zero;
271*gsl_spmatrix_char_tree_rebuild = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_tree_rebuild;
272*gsl_spmatrix_char_csc = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_csc;
273*gsl_spmatrix_char_csr = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_csr;
274*gsl_spmatrix_char_compress = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_compress;
275*gsl_spmatrix_char_compcol = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_compcol;
276*gsl_spmatrix_char_ccs = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_ccs;
277*gsl_spmatrix_char_crs = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_crs;
278*gsl_spmatrix_char_memcpy = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_memcpy;
279*gsl_spmatrix_char_fprintf = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_fprintf;
280*gsl_spmatrix_char_fscanf = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_fscanf;
281*gsl_spmatrix_char_fwrite = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_fwrite;
282*gsl_spmatrix_char_fread = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_fread;
283*gsl_spmatrix_char_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_get;
284*gsl_spmatrix_char_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_set;
285*gsl_spmatrix_char_ptr = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_ptr;
286*gsl_spmatrix_char_minmax = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_minmax;
287*gsl_spmatrix_char_min_index = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_min_index;
288*gsl_spmatrix_char_scale = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_scale;
289*gsl_spmatrix_char_scale_columns = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_scale_columns;
290*gsl_spmatrix_char_scale_rows = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_scale_rows;
291*gsl_spmatrix_char_add = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_add;
292*gsl_spmatrix_char_d2sp = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_d2sp;
293*gsl_spmatrix_char_sp2d = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_sp2d;
294*gsl_spmatrix_char_add_to_dense = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_add_to_dense;
295*gsl_spmatrix_char_equal = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_equal;
296*gsl_spmatrix_char_transpose = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_transpose;
297*gsl_spmatrix_char_transpose2 = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_transpose2;
298*gsl_spmatrix_char_transpose_memcpy = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_transpose_memcpy;
299*gsl_spmatrix_uchar_alloc = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_alloc;
300*gsl_spmatrix_uchar_alloc_nzmax = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_alloc_nzmax;
301*gsl_spmatrix_uchar_free = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_free;
302*gsl_spmatrix_uchar_realloc = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_realloc;
303*gsl_spmatrix_uchar_nnz = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_nnz;
304*gsl_spmatrix_uchar_type = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_type;
305*gsl_spmatrix_uchar_set_zero = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_set_zero;
306*gsl_spmatrix_uchar_tree_rebuild = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_tree_rebuild;
307*gsl_spmatrix_uchar_csc = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_csc;
308*gsl_spmatrix_uchar_csr = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_csr;
309*gsl_spmatrix_uchar_compress = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_compress;
310*gsl_spmatrix_uchar_compcol = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_compcol;
311*gsl_spmatrix_uchar_ccs = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_ccs;
312*gsl_spmatrix_uchar_crs = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_crs;
313*gsl_spmatrix_uchar_memcpy = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_memcpy;
314*gsl_spmatrix_uchar_fprintf = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_fprintf;
315*gsl_spmatrix_uchar_fscanf = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_fscanf;
316*gsl_spmatrix_uchar_fwrite = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_fwrite;
317*gsl_spmatrix_uchar_fread = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_fread;
318*gsl_spmatrix_uchar_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_get;
319*gsl_spmatrix_uchar_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_set;
320*gsl_spmatrix_uchar_ptr = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_ptr;
321*gsl_spmatrix_uchar_minmax = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_minmax;
322*gsl_spmatrix_uchar_min_index = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_min_index;
323*gsl_spmatrix_uchar_scale = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_scale;
324*gsl_spmatrix_uchar_scale_columns = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_scale_columns;
325*gsl_spmatrix_uchar_scale_rows = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_scale_rows;
326*gsl_spmatrix_uchar_add = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_add;
327*gsl_spmatrix_uchar_d2sp = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_d2sp;
328*gsl_spmatrix_uchar_sp2d = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_sp2d;
329*gsl_spmatrix_uchar_add_to_dense = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_add_to_dense;
330*gsl_spmatrix_uchar_equal = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_equal;
331*gsl_spmatrix_uchar_transpose = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_transpose;
332*gsl_spmatrix_uchar_transpose2 = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_transpose2;
333*gsl_spmatrix_uchar_transpose_memcpy = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_transpose_memcpy;
334*gsl_spmatrix_int_alloc = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_alloc;
335*gsl_spmatrix_int_alloc_nzmax = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_alloc_nzmax;
336*gsl_spmatrix_int_free = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_free;
337*gsl_spmatrix_int_realloc = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_realloc;
338*gsl_spmatrix_int_nnz = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_nnz;
339*gsl_spmatrix_int_type = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_type;
340*gsl_spmatrix_int_set_zero = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_set_zero;
341*gsl_spmatrix_int_tree_rebuild = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_tree_rebuild;
342*gsl_spmatrix_int_csc = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_csc;
343*gsl_spmatrix_int_csr = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_csr;
344*gsl_spmatrix_int_compress = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_compress;
345*gsl_spmatrix_int_compcol = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_compcol;
346*gsl_spmatrix_int_ccs = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_ccs;
347*gsl_spmatrix_int_crs = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_crs;
348*gsl_spmatrix_int_memcpy = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_memcpy;
349*gsl_spmatrix_int_fprintf = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_fprintf;
350*gsl_spmatrix_int_fscanf = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_fscanf;
351*gsl_spmatrix_int_fwrite = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_fwrite;
352*gsl_spmatrix_int_fread = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_fread;
353*gsl_spmatrix_int_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_get;
354*gsl_spmatrix_int_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_set;
355*gsl_spmatrix_int_ptr = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_ptr;
356*gsl_spmatrix_int_minmax = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_minmax;
357*gsl_spmatrix_int_min_index = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_min_index;
358*gsl_spmatrix_int_scale = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_scale;
359*gsl_spmatrix_int_scale_columns = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_scale_columns;
360*gsl_spmatrix_int_scale_rows = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_scale_rows;
361*gsl_spmatrix_int_add = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_add;
362*gsl_spmatrix_int_d2sp = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_d2sp;
363*gsl_spmatrix_int_sp2d = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_sp2d;
364*gsl_spmatrix_int_add_to_dense = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_add_to_dense;
365*gsl_spmatrix_int_equal = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_equal;
366*gsl_spmatrix_int_transpose = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_transpose;
367*gsl_spmatrix_int_transpose2 = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_transpose2;
368*gsl_spmatrix_int_transpose_memcpy = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_transpose_memcpy;
369*gsl_spmatrix_short_alloc = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_alloc;
370*gsl_spmatrix_short_alloc_nzmax = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_alloc_nzmax;
371*gsl_spmatrix_short_free = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_free;
372*gsl_spmatrix_short_realloc = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_realloc;
373*gsl_spmatrix_short_nnz = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_nnz;
374*gsl_spmatrix_short_type = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_type;
375*gsl_spmatrix_short_set_zero = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_set_zero;
376*gsl_spmatrix_short_tree_rebuild = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_tree_rebuild;
377*gsl_spmatrix_short_csc = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_csc;
378*gsl_spmatrix_short_csr = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_csr;
379*gsl_spmatrix_short_compress = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_compress;
380*gsl_spmatrix_short_compcol = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_compcol;
381*gsl_spmatrix_short_ccs = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_ccs;
382*gsl_spmatrix_short_crs = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_crs;
383*gsl_spmatrix_short_memcpy = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_memcpy;
384*gsl_spmatrix_short_fprintf = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_fprintf;
385*gsl_spmatrix_short_fscanf = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_fscanf;
386*gsl_spmatrix_short_fwrite = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_fwrite;
387*gsl_spmatrix_short_fread = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_fread;
388*gsl_spmatrix_short_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_get;
389*gsl_spmatrix_short_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_set;
390*gsl_spmatrix_short_ptr = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_ptr;
391*gsl_spmatrix_short_minmax = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_minmax;
392*gsl_spmatrix_short_min_index = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_min_index;
393*gsl_spmatrix_short_scale = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_scale;
394*gsl_spmatrix_short_scale_columns = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_scale_columns;
395*gsl_spmatrix_short_scale_rows = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_scale_rows;
396*gsl_spmatrix_short_add = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_add;
397*gsl_spmatrix_short_d2sp = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_d2sp;
398*gsl_spmatrix_short_sp2d = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_sp2d;
399*gsl_spmatrix_short_add_to_dense = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_add_to_dense;
400*gsl_spmatrix_short_equal = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_equal;
401*gsl_spmatrix_short_transpose = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_transpose;
402*gsl_spmatrix_short_transpose2 = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_transpose2;
403*gsl_spmatrix_short_transpose_memcpy = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_transpose_memcpy;
404*gsl_spmatrix_float_alloc = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_alloc;
405*gsl_spmatrix_float_alloc_nzmax = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_alloc_nzmax;
406*gsl_spmatrix_float_free = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_free;
407*gsl_spmatrix_float_realloc = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_realloc;
408*gsl_spmatrix_float_nnz = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_nnz;
409*gsl_spmatrix_float_type = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_type;
410*gsl_spmatrix_float_set_zero = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_set_zero;
411*gsl_spmatrix_float_tree_rebuild = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_tree_rebuild;
412*gsl_spmatrix_float_csc = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_csc;
413*gsl_spmatrix_float_csr = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_csr;
414*gsl_spmatrix_float_compress = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_compress;
415*gsl_spmatrix_float_compcol = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_compcol;
416*gsl_spmatrix_float_ccs = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_ccs;
417*gsl_spmatrix_float_crs = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_crs;
418*gsl_spmatrix_float_memcpy = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_memcpy;
419*gsl_spmatrix_float_fprintf = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_fprintf;
420*gsl_spmatrix_float_fscanf = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_fscanf;
421*gsl_spmatrix_float_fwrite = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_fwrite;
422*gsl_spmatrix_float_fread = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_fread;
423*gsl_spmatrix_float_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_get;
424*gsl_spmatrix_float_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_set;
425*gsl_spmatrix_float_ptr = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_ptr;
426*gsl_spmatrix_float_minmax = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_minmax;
427*gsl_spmatrix_float_min_index = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_min_index;
428*gsl_spmatrix_float_scale = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_scale;
429*gsl_spmatrix_float_scale_columns = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_scale_columns;
430*gsl_spmatrix_float_scale_rows = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_scale_rows;
431*gsl_spmatrix_float_add = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_add;
432*gsl_spmatrix_float_d2sp = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_d2sp;
433*gsl_spmatrix_float_sp2d = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_sp2d;
434*gsl_spmatrix_float_add_to_dense = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_add_to_dense;
435*gsl_spmatrix_float_equal = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_equal;
436*gsl_spmatrix_float_transpose = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_transpose;
437*gsl_spmatrix_float_transpose2 = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_transpose2;
438*gsl_spmatrix_float_transpose_memcpy = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_transpose_memcpy;
439*gsl_spmatrix_ushort_alloc = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_alloc;
440*gsl_spmatrix_ushort_alloc_nzmax = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_alloc_nzmax;
441*gsl_spmatrix_ushort_free = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_free;
442*gsl_spmatrix_ushort_realloc = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_realloc;
443*gsl_spmatrix_ushort_nnz = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_nnz;
444*gsl_spmatrix_ushort_type = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_type;
445*gsl_spmatrix_ushort_set_zero = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_set_zero;
446*gsl_spmatrix_ushort_tree_rebuild = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_tree_rebuild;
447*gsl_spmatrix_ushort_csc = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_csc;
448*gsl_spmatrix_ushort_csr = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_csr;
449*gsl_spmatrix_ushort_compress = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_compress;
450*gsl_spmatrix_ushort_compcol = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_compcol;
451*gsl_spmatrix_ushort_ccs = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_ccs;
452*gsl_spmatrix_ushort_crs = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_crs;
453*gsl_spmatrix_ushort_memcpy = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_memcpy;
454*gsl_spmatrix_ushort_fprintf = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_fprintf;
455*gsl_spmatrix_ushort_fscanf = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_fscanf;
456*gsl_spmatrix_ushort_fwrite = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_fwrite;
457*gsl_spmatrix_ushort_fread = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_fread;
458*gsl_spmatrix_ushort_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_get;
459*gsl_spmatrix_ushort_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_set;
460*gsl_spmatrix_ushort_ptr = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_ptr;
461*gsl_spmatrix_ushort_minmax = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_minmax;
462*gsl_spmatrix_ushort_min_index = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_min_index;
463*gsl_spmatrix_ushort_scale = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_scale;
464*gsl_spmatrix_ushort_scale_columns = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_scale_columns;
465*gsl_spmatrix_ushort_scale_rows = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_scale_rows;
466*gsl_spmatrix_ushort_add = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_add;
467*gsl_spmatrix_ushort_d2sp = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_d2sp;
468*gsl_spmatrix_ushort_sp2d = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_sp2d;
469*gsl_spmatrix_ushort_add_to_dense = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_add_to_dense;
470*gsl_spmatrix_ushort_equal = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_equal;
471*gsl_spmatrix_ushort_transpose = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_transpose;
472*gsl_spmatrix_ushort_transpose2 = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_transpose2;
473*gsl_spmatrix_ushort_transpose_memcpy = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_transpose_memcpy;
474
475############# Class : Math::GSL::SparseMatrix::gsl_spmatrix_pool_node ##############
476
477package Math::GSL::SparseMatrix::gsl_spmatrix_pool_node;
478use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
479@ISA = qw( Math::GSL::SparseMatrix );
480%OWNER = ();
481%ITERATORS = ();
482*swig_next_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_pool_node_next_get;
483*swig_next_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_pool_node_next_set;
484*swig_block_ptr_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_pool_node_block_ptr_get;
485*swig_block_ptr_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_pool_node_block_ptr_set;
486*swig_free_slot_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_pool_node_free_slot_get;
487*swig_free_slot_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_pool_node_free_slot_set;
488sub new {
489    my $pkg = shift;
490    my $self = Math::GSL::SparseMatrixc::new_gsl_spmatrix_pool_node(@_);
491    bless $self, $pkg if defined($self);
492}
493
494sub DESTROY {
495    return unless $_[0]->isa('HASH');
496    my $self = tied(%{$_[0]});
497    return unless defined $self;
498    delete $ITERATORS{$self};
499    if (exists $OWNER{$self}) {
500        Math::GSL::SparseMatrixc::delete_gsl_spmatrix_pool_node($self);
501        delete $OWNER{$self};
502    }
503}
504
505sub DISOWN {
506    my $self = shift;
507    my $ptr = tied(%$self);
508    delete $OWNER{$ptr};
509}
510
511sub ACQUIRE {
512    my $self = shift;
513    my $ptr = tied(%$self);
514    $OWNER{$ptr} = 1;
515}
516
517
518############# Class : Math::GSL::SparseMatrix::gsl_spmatrix ##############
519
520package Math::GSL::SparseMatrix::gsl_spmatrix;
521use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
522@ISA = qw( Math::GSL::SparseMatrix );
523%OWNER = ();
524%ITERATORS = ();
525*swig_size1_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_size1_get;
526*swig_size1_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_size1_set;
527*swig_size2_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_size2_get;
528*swig_size2_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_size2_set;
529*swig_i_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_i_get;
530*swig_i_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_i_set;
531*swig_data_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_data_get;
532*swig_data_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_data_set;
533*swig_p_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_p_get;
534*swig_p_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_p_set;
535*swig_nzmax_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_nzmax_get;
536*swig_nzmax_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_nzmax_set;
537*swig_nz_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_nz_get;
538*swig_nz_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_nz_set;
539*swig_tree_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_tree_get;
540*swig_tree_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_tree_set;
541*swig_pool_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_pool_get;
542*swig_pool_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_pool_set;
543*swig_node_size_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_node_size_get;
544*swig_node_size_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_node_size_set;
545*swig_work_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_work_get;
546*swig_work_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_work_set;
547*swig_sptype_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_sptype_get;
548*swig_sptype_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_sptype_set;
549*swig_spflags_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_spflags_get;
550*swig_spflags_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_spflags_set;
551sub new {
552    my $pkg = shift;
553    my $self = Math::GSL::SparseMatrixc::new_gsl_spmatrix(@_);
554    bless $self, $pkg if defined($self);
555}
556
557sub DESTROY {
558    return unless $_[0]->isa('HASH');
559    my $self = tied(%{$_[0]});
560    return unless defined $self;
561    delete $ITERATORS{$self};
562    if (exists $OWNER{$self}) {
563        Math::GSL::SparseMatrixc::delete_gsl_spmatrix($self);
564        delete $OWNER{$self};
565    }
566}
567
568sub DISOWN {
569    my $self = shift;
570    my $ptr = tied(%$self);
571    delete $OWNER{$ptr};
572}
573
574sub ACQUIRE {
575    my $self = shift;
576    my $ptr = tied(%$self);
577    $OWNER{$ptr} = 1;
578}
579
580
581############# Class : Math::GSL::SparseMatrix::gsl_spmatrix_work ##############
582
583package Math::GSL::SparseMatrix::gsl_spmatrix_work;
584use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
585@ISA = qw( Math::GSL::SparseMatrix );
586%OWNER = ();
587%ITERATORS = ();
588*swig_work_void_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_work_work_void_get;
589*swig_work_void_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_work_work_void_set;
590*swig_work_int_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_work_work_int_get;
591*swig_work_int_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_work_work_int_set;
592*swig_work_atomic_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_work_work_atomic_get;
593*swig_work_atomic_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_work_work_atomic_set;
594sub new {
595    my $pkg = shift;
596    my $self = Math::GSL::SparseMatrixc::new_gsl_spmatrix_work(@_);
597    bless $self, $pkg if defined($self);
598}
599
600sub DESTROY {
601    return unless $_[0]->isa('HASH');
602    my $self = tied(%{$_[0]});
603    return unless defined $self;
604    delete $ITERATORS{$self};
605    if (exists $OWNER{$self}) {
606        Math::GSL::SparseMatrixc::delete_gsl_spmatrix_work($self);
607        delete $OWNER{$self};
608    }
609}
610
611sub DISOWN {
612    my $self = shift;
613    my $ptr = tied(%$self);
614    delete $OWNER{$ptr};
615}
616
617sub ACQUIRE {
618    my $self = shift;
619    my $ptr = tied(%$self);
620    $OWNER{$ptr} = 1;
621}
622
623
624############# Class : Math::GSL::SparseMatrix::gsl_spmatrix_complex_long_double ##############
625
626package Math::GSL::SparseMatrix::gsl_spmatrix_complex_long_double;
627use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
628@ISA = qw( Math::GSL::SparseMatrix );
629%OWNER = ();
630%ITERATORS = ();
631*swig_size1_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_size1_get;
632*swig_size1_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_size1_set;
633*swig_size2_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_size2_get;
634*swig_size2_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_size2_set;
635*swig_i_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_i_get;
636*swig_i_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_i_set;
637*swig_data_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_data_get;
638*swig_data_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_data_set;
639*swig_p_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_p_get;
640*swig_p_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_p_set;
641*swig_nzmax_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_nzmax_get;
642*swig_nzmax_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_nzmax_set;
643*swig_nz_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_nz_get;
644*swig_nz_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_nz_set;
645*swig_tree_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_tree_get;
646*swig_tree_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_tree_set;
647*swig_pool_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_pool_get;
648*swig_pool_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_pool_set;
649*swig_node_size_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_node_size_get;
650*swig_node_size_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_node_size_set;
651*swig_work_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_work_get;
652*swig_work_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_work_set;
653*swig_sptype_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_sptype_get;
654*swig_sptype_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_sptype_set;
655*swig_spflags_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_spflags_get;
656*swig_spflags_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_spflags_set;
657sub new {
658    my $pkg = shift;
659    my $self = Math::GSL::SparseMatrixc::new_gsl_spmatrix_complex_long_double(@_);
660    bless $self, $pkg if defined($self);
661}
662
663sub DESTROY {
664    return unless $_[0]->isa('HASH');
665    my $self = tied(%{$_[0]});
666    return unless defined $self;
667    delete $ITERATORS{$self};
668    if (exists $OWNER{$self}) {
669        Math::GSL::SparseMatrixc::delete_gsl_spmatrix_complex_long_double($self);
670        delete $OWNER{$self};
671    }
672}
673
674sub DISOWN {
675    my $self = shift;
676    my $ptr = tied(%$self);
677    delete $OWNER{$ptr};
678}
679
680sub ACQUIRE {
681    my $self = shift;
682    my $ptr = tied(%$self);
683    $OWNER{$ptr} = 1;
684}
685
686
687############# Class : Math::GSL::SparseMatrix::gsl_spmatrix_complex_long_double_work ##############
688
689package Math::GSL::SparseMatrix::gsl_spmatrix_complex_long_double_work;
690use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
691@ISA = qw( Math::GSL::SparseMatrix );
692%OWNER = ();
693%ITERATORS = ();
694*swig_work_void_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_work_work_void_get;
695*swig_work_void_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_work_work_void_set;
696*swig_work_int_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_work_work_int_get;
697*swig_work_int_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_work_work_int_set;
698*swig_work_atomic_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_work_work_atomic_get;
699*swig_work_atomic_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_long_double_work_work_atomic_set;
700sub new {
701    my $pkg = shift;
702    my $self = Math::GSL::SparseMatrixc::new_gsl_spmatrix_complex_long_double_work(@_);
703    bless $self, $pkg if defined($self);
704}
705
706sub DESTROY {
707    return unless $_[0]->isa('HASH');
708    my $self = tied(%{$_[0]});
709    return unless defined $self;
710    delete $ITERATORS{$self};
711    if (exists $OWNER{$self}) {
712        Math::GSL::SparseMatrixc::delete_gsl_spmatrix_complex_long_double_work($self);
713        delete $OWNER{$self};
714    }
715}
716
717sub DISOWN {
718    my $self = shift;
719    my $ptr = tied(%$self);
720    delete $OWNER{$ptr};
721}
722
723sub ACQUIRE {
724    my $self = shift;
725    my $ptr = tied(%$self);
726    $OWNER{$ptr} = 1;
727}
728
729
730############# Class : Math::GSL::SparseMatrix::gsl_spmatrix_complex_float ##############
731
732package Math::GSL::SparseMatrix::gsl_spmatrix_complex_float;
733use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
734@ISA = qw( Math::GSL::SparseMatrix );
735%OWNER = ();
736%ITERATORS = ();
737*swig_size1_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_size1_get;
738*swig_size1_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_size1_set;
739*swig_size2_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_size2_get;
740*swig_size2_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_size2_set;
741*swig_i_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_i_get;
742*swig_i_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_i_set;
743*swig_data_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_data_get;
744*swig_data_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_data_set;
745*swig_p_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_p_get;
746*swig_p_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_p_set;
747*swig_nzmax_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_nzmax_get;
748*swig_nzmax_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_nzmax_set;
749*swig_nz_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_nz_get;
750*swig_nz_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_nz_set;
751*swig_tree_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_tree_get;
752*swig_tree_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_tree_set;
753*swig_pool_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_pool_get;
754*swig_pool_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_pool_set;
755*swig_node_size_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_node_size_get;
756*swig_node_size_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_node_size_set;
757*swig_work_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_work_get;
758*swig_work_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_work_set;
759*swig_sptype_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_sptype_get;
760*swig_sptype_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_sptype_set;
761*swig_spflags_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_spflags_get;
762*swig_spflags_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_spflags_set;
763sub new {
764    my $pkg = shift;
765    my $self = Math::GSL::SparseMatrixc::new_gsl_spmatrix_complex_float(@_);
766    bless $self, $pkg if defined($self);
767}
768
769sub DESTROY {
770    return unless $_[0]->isa('HASH');
771    my $self = tied(%{$_[0]});
772    return unless defined $self;
773    delete $ITERATORS{$self};
774    if (exists $OWNER{$self}) {
775        Math::GSL::SparseMatrixc::delete_gsl_spmatrix_complex_float($self);
776        delete $OWNER{$self};
777    }
778}
779
780sub DISOWN {
781    my $self = shift;
782    my $ptr = tied(%$self);
783    delete $OWNER{$ptr};
784}
785
786sub ACQUIRE {
787    my $self = shift;
788    my $ptr = tied(%$self);
789    $OWNER{$ptr} = 1;
790}
791
792
793############# Class : Math::GSL::SparseMatrix::gsl_spmatrix_complex_float_work ##############
794
795package Math::GSL::SparseMatrix::gsl_spmatrix_complex_float_work;
796use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
797@ISA = qw( Math::GSL::SparseMatrix );
798%OWNER = ();
799%ITERATORS = ();
800*swig_work_void_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_work_work_void_get;
801*swig_work_void_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_work_work_void_set;
802*swig_work_int_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_work_work_int_get;
803*swig_work_int_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_work_work_int_set;
804*swig_work_atomic_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_work_work_atomic_get;
805*swig_work_atomic_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_float_work_work_atomic_set;
806sub new {
807    my $pkg = shift;
808    my $self = Math::GSL::SparseMatrixc::new_gsl_spmatrix_complex_float_work(@_);
809    bless $self, $pkg if defined($self);
810}
811
812sub DESTROY {
813    return unless $_[0]->isa('HASH');
814    my $self = tied(%{$_[0]});
815    return unless defined $self;
816    delete $ITERATORS{$self};
817    if (exists $OWNER{$self}) {
818        Math::GSL::SparseMatrixc::delete_gsl_spmatrix_complex_float_work($self);
819        delete $OWNER{$self};
820    }
821}
822
823sub DISOWN {
824    my $self = shift;
825    my $ptr = tied(%$self);
826    delete $OWNER{$ptr};
827}
828
829sub ACQUIRE {
830    my $self = shift;
831    my $ptr = tied(%$self);
832    $OWNER{$ptr} = 1;
833}
834
835
836############# Class : Math::GSL::SparseMatrix::gsl_spmatrix_long_double ##############
837
838package Math::GSL::SparseMatrix::gsl_spmatrix_long_double;
839use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
840@ISA = qw( Math::GSL::SparseMatrix );
841%OWNER = ();
842%ITERATORS = ();
843*swig_size1_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_size1_get;
844*swig_size1_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_size1_set;
845*swig_size2_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_size2_get;
846*swig_size2_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_size2_set;
847*swig_i_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_i_get;
848*swig_i_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_i_set;
849*swig_data_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_data_get;
850*swig_data_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_data_set;
851*swig_p_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_p_get;
852*swig_p_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_p_set;
853*swig_nzmax_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_nzmax_get;
854*swig_nzmax_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_nzmax_set;
855*swig_nz_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_nz_get;
856*swig_nz_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_nz_set;
857*swig_tree_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_tree_get;
858*swig_tree_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_tree_set;
859*swig_pool_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_pool_get;
860*swig_pool_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_pool_set;
861*swig_node_size_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_node_size_get;
862*swig_node_size_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_node_size_set;
863*swig_work_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_work_get;
864*swig_work_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_work_set;
865*swig_sptype_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_sptype_get;
866*swig_sptype_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_sptype_set;
867*swig_spflags_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_spflags_get;
868*swig_spflags_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_spflags_set;
869sub new {
870    my $pkg = shift;
871    my $self = Math::GSL::SparseMatrixc::new_gsl_spmatrix_long_double(@_);
872    bless $self, $pkg if defined($self);
873}
874
875sub DESTROY {
876    return unless $_[0]->isa('HASH');
877    my $self = tied(%{$_[0]});
878    return unless defined $self;
879    delete $ITERATORS{$self};
880    if (exists $OWNER{$self}) {
881        Math::GSL::SparseMatrixc::delete_gsl_spmatrix_long_double($self);
882        delete $OWNER{$self};
883    }
884}
885
886sub DISOWN {
887    my $self = shift;
888    my $ptr = tied(%$self);
889    delete $OWNER{$ptr};
890}
891
892sub ACQUIRE {
893    my $self = shift;
894    my $ptr = tied(%$self);
895    $OWNER{$ptr} = 1;
896}
897
898
899############# Class : Math::GSL::SparseMatrix::gsl_spmatrix_long_double_work ##############
900
901package Math::GSL::SparseMatrix::gsl_spmatrix_long_double_work;
902use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
903@ISA = qw( Math::GSL::SparseMatrix );
904%OWNER = ();
905%ITERATORS = ();
906*swig_work_void_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_work_work_void_get;
907*swig_work_void_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_work_work_void_set;
908*swig_work_int_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_work_work_int_get;
909*swig_work_int_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_work_work_int_set;
910*swig_work_atomic_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_work_work_atomic_get;
911*swig_work_atomic_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_long_double_work_work_atomic_set;
912sub new {
913    my $pkg = shift;
914    my $self = Math::GSL::SparseMatrixc::new_gsl_spmatrix_long_double_work(@_);
915    bless $self, $pkg if defined($self);
916}
917
918sub DESTROY {
919    return unless $_[0]->isa('HASH');
920    my $self = tied(%{$_[0]});
921    return unless defined $self;
922    delete $ITERATORS{$self};
923    if (exists $OWNER{$self}) {
924        Math::GSL::SparseMatrixc::delete_gsl_spmatrix_long_double_work($self);
925        delete $OWNER{$self};
926    }
927}
928
929sub DISOWN {
930    my $self = shift;
931    my $ptr = tied(%$self);
932    delete $OWNER{$ptr};
933}
934
935sub ACQUIRE {
936    my $self = shift;
937    my $ptr = tied(%$self);
938    $OWNER{$ptr} = 1;
939}
940
941
942############# Class : Math::GSL::SparseMatrix::gsl_spmatrix_uint ##############
943
944package Math::GSL::SparseMatrix::gsl_spmatrix_uint;
945use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
946@ISA = qw( Math::GSL::SparseMatrix );
947%OWNER = ();
948%ITERATORS = ();
949*swig_size1_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_size1_get;
950*swig_size1_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_size1_set;
951*swig_size2_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_size2_get;
952*swig_size2_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_size2_set;
953*swig_i_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_i_get;
954*swig_i_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_i_set;
955*swig_data_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_data_get;
956*swig_data_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_data_set;
957*swig_p_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_p_get;
958*swig_p_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_p_set;
959*swig_nzmax_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_nzmax_get;
960*swig_nzmax_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_nzmax_set;
961*swig_nz_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_nz_get;
962*swig_nz_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_nz_set;
963*swig_tree_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_tree_get;
964*swig_tree_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_tree_set;
965*swig_pool_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_pool_get;
966*swig_pool_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_pool_set;
967*swig_node_size_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_node_size_get;
968*swig_node_size_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_node_size_set;
969*swig_work_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_work_get;
970*swig_work_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_work_set;
971*swig_sptype_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_sptype_get;
972*swig_sptype_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_sptype_set;
973*swig_spflags_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_spflags_get;
974*swig_spflags_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_spflags_set;
975sub new {
976    my $pkg = shift;
977    my $self = Math::GSL::SparseMatrixc::new_gsl_spmatrix_uint(@_);
978    bless $self, $pkg if defined($self);
979}
980
981sub DESTROY {
982    return unless $_[0]->isa('HASH');
983    my $self = tied(%{$_[0]});
984    return unless defined $self;
985    delete $ITERATORS{$self};
986    if (exists $OWNER{$self}) {
987        Math::GSL::SparseMatrixc::delete_gsl_spmatrix_uint($self);
988        delete $OWNER{$self};
989    }
990}
991
992sub DISOWN {
993    my $self = shift;
994    my $ptr = tied(%$self);
995    delete $OWNER{$ptr};
996}
997
998sub ACQUIRE {
999    my $self = shift;
1000    my $ptr = tied(%$self);
1001    $OWNER{$ptr} = 1;
1002}
1003
1004
1005############# Class : Math::GSL::SparseMatrix::gsl_spmatrix_uint_work ##############
1006
1007package Math::GSL::SparseMatrix::gsl_spmatrix_uint_work;
1008use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
1009@ISA = qw( Math::GSL::SparseMatrix );
1010%OWNER = ();
1011%ITERATORS = ();
1012*swig_work_void_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_work_work_void_get;
1013*swig_work_void_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_work_work_void_set;
1014*swig_work_int_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_work_work_int_get;
1015*swig_work_int_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_work_work_int_set;
1016*swig_work_atomic_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_work_work_atomic_get;
1017*swig_work_atomic_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_uint_work_work_atomic_set;
1018sub new {
1019    my $pkg = shift;
1020    my $self = Math::GSL::SparseMatrixc::new_gsl_spmatrix_uint_work(@_);
1021    bless $self, $pkg if defined($self);
1022}
1023
1024sub DESTROY {
1025    return unless $_[0]->isa('HASH');
1026    my $self = tied(%{$_[0]});
1027    return unless defined $self;
1028    delete $ITERATORS{$self};
1029    if (exists $OWNER{$self}) {
1030        Math::GSL::SparseMatrixc::delete_gsl_spmatrix_uint_work($self);
1031        delete $OWNER{$self};
1032    }
1033}
1034
1035sub DISOWN {
1036    my $self = shift;
1037    my $ptr = tied(%$self);
1038    delete $OWNER{$ptr};
1039}
1040
1041sub ACQUIRE {
1042    my $self = shift;
1043    my $ptr = tied(%$self);
1044    $OWNER{$ptr} = 1;
1045}
1046
1047
1048############# Class : Math::GSL::SparseMatrix::gsl_spmatrix_complex ##############
1049
1050package Math::GSL::SparseMatrix::gsl_spmatrix_complex;
1051use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
1052@ISA = qw( Math::GSL::SparseMatrix );
1053%OWNER = ();
1054%ITERATORS = ();
1055*swig_size1_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_size1_get;
1056*swig_size1_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_size1_set;
1057*swig_size2_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_size2_get;
1058*swig_size2_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_size2_set;
1059*swig_i_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_i_get;
1060*swig_i_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_i_set;
1061*swig_data_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_data_get;
1062*swig_data_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_data_set;
1063*swig_p_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_p_get;
1064*swig_p_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_p_set;
1065*swig_nzmax_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_nzmax_get;
1066*swig_nzmax_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_nzmax_set;
1067*swig_nz_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_nz_get;
1068*swig_nz_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_nz_set;
1069*swig_tree_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_tree_get;
1070*swig_tree_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_tree_set;
1071*swig_pool_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_pool_get;
1072*swig_pool_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_pool_set;
1073*swig_node_size_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_node_size_get;
1074*swig_node_size_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_node_size_set;
1075*swig_work_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_work_get;
1076*swig_work_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_work_set;
1077*swig_sptype_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_sptype_get;
1078*swig_sptype_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_sptype_set;
1079*swig_spflags_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_spflags_get;
1080*swig_spflags_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_spflags_set;
1081sub new {
1082    my $pkg = shift;
1083    my $self = Math::GSL::SparseMatrixc::new_gsl_spmatrix_complex(@_);
1084    bless $self, $pkg if defined($self);
1085}
1086
1087sub DESTROY {
1088    return unless $_[0]->isa('HASH');
1089    my $self = tied(%{$_[0]});
1090    return unless defined $self;
1091    delete $ITERATORS{$self};
1092    if (exists $OWNER{$self}) {
1093        Math::GSL::SparseMatrixc::delete_gsl_spmatrix_complex($self);
1094        delete $OWNER{$self};
1095    }
1096}
1097
1098sub DISOWN {
1099    my $self = shift;
1100    my $ptr = tied(%$self);
1101    delete $OWNER{$ptr};
1102}
1103
1104sub ACQUIRE {
1105    my $self = shift;
1106    my $ptr = tied(%$self);
1107    $OWNER{$ptr} = 1;
1108}
1109
1110
1111############# Class : Math::GSL::SparseMatrix::gsl_spmatrix_complex_work ##############
1112
1113package Math::GSL::SparseMatrix::gsl_spmatrix_complex_work;
1114use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
1115@ISA = qw( Math::GSL::SparseMatrix );
1116%OWNER = ();
1117%ITERATORS = ();
1118*swig_work_void_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_work_work_void_get;
1119*swig_work_void_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_work_work_void_set;
1120*swig_work_int_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_work_work_int_get;
1121*swig_work_int_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_work_work_int_set;
1122*swig_work_atomic_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_work_work_atomic_get;
1123*swig_work_atomic_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_complex_work_work_atomic_set;
1124sub new {
1125    my $pkg = shift;
1126    my $self = Math::GSL::SparseMatrixc::new_gsl_spmatrix_complex_work(@_);
1127    bless $self, $pkg if defined($self);
1128}
1129
1130sub DESTROY {
1131    return unless $_[0]->isa('HASH');
1132    my $self = tied(%{$_[0]});
1133    return unless defined $self;
1134    delete $ITERATORS{$self};
1135    if (exists $OWNER{$self}) {
1136        Math::GSL::SparseMatrixc::delete_gsl_spmatrix_complex_work($self);
1137        delete $OWNER{$self};
1138    }
1139}
1140
1141sub DISOWN {
1142    my $self = shift;
1143    my $ptr = tied(%$self);
1144    delete $OWNER{$ptr};
1145}
1146
1147sub ACQUIRE {
1148    my $self = shift;
1149    my $ptr = tied(%$self);
1150    $OWNER{$ptr} = 1;
1151}
1152
1153
1154############# Class : Math::GSL::SparseMatrix::gsl_spmatrix_char ##############
1155
1156package Math::GSL::SparseMatrix::gsl_spmatrix_char;
1157use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
1158@ISA = qw( Math::GSL::SparseMatrix );
1159%OWNER = ();
1160%ITERATORS = ();
1161*swig_size1_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_size1_get;
1162*swig_size1_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_size1_set;
1163*swig_size2_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_size2_get;
1164*swig_size2_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_size2_set;
1165*swig_i_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_i_get;
1166*swig_i_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_i_set;
1167*swig_data_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_data_get;
1168*swig_data_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_data_set;
1169*swig_p_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_p_get;
1170*swig_p_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_p_set;
1171*swig_nzmax_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_nzmax_get;
1172*swig_nzmax_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_nzmax_set;
1173*swig_nz_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_nz_get;
1174*swig_nz_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_nz_set;
1175*swig_tree_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_tree_get;
1176*swig_tree_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_tree_set;
1177*swig_pool_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_pool_get;
1178*swig_pool_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_pool_set;
1179*swig_node_size_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_node_size_get;
1180*swig_node_size_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_node_size_set;
1181*swig_work_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_work_get;
1182*swig_work_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_work_set;
1183*swig_sptype_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_sptype_get;
1184*swig_sptype_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_sptype_set;
1185*swig_spflags_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_spflags_get;
1186*swig_spflags_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_spflags_set;
1187sub new {
1188    my $pkg = shift;
1189    my $self = Math::GSL::SparseMatrixc::new_gsl_spmatrix_char(@_);
1190    bless $self, $pkg if defined($self);
1191}
1192
1193sub DESTROY {
1194    return unless $_[0]->isa('HASH');
1195    my $self = tied(%{$_[0]});
1196    return unless defined $self;
1197    delete $ITERATORS{$self};
1198    if (exists $OWNER{$self}) {
1199        Math::GSL::SparseMatrixc::delete_gsl_spmatrix_char($self);
1200        delete $OWNER{$self};
1201    }
1202}
1203
1204sub DISOWN {
1205    my $self = shift;
1206    my $ptr = tied(%$self);
1207    delete $OWNER{$ptr};
1208}
1209
1210sub ACQUIRE {
1211    my $self = shift;
1212    my $ptr = tied(%$self);
1213    $OWNER{$ptr} = 1;
1214}
1215
1216
1217############# Class : Math::GSL::SparseMatrix::gsl_spmatrix_char_work ##############
1218
1219package Math::GSL::SparseMatrix::gsl_spmatrix_char_work;
1220use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
1221@ISA = qw( Math::GSL::SparseMatrix );
1222%OWNER = ();
1223%ITERATORS = ();
1224*swig_work_void_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_work_work_void_get;
1225*swig_work_void_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_work_work_void_set;
1226*swig_work_int_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_work_work_int_get;
1227*swig_work_int_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_work_work_int_set;
1228*swig_work_atomic_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_work_work_atomic_get;
1229*swig_work_atomic_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_char_work_work_atomic_set;
1230sub new {
1231    my $pkg = shift;
1232    my $self = Math::GSL::SparseMatrixc::new_gsl_spmatrix_char_work(@_);
1233    bless $self, $pkg if defined($self);
1234}
1235
1236sub DESTROY {
1237    return unless $_[0]->isa('HASH');
1238    my $self = tied(%{$_[0]});
1239    return unless defined $self;
1240    delete $ITERATORS{$self};
1241    if (exists $OWNER{$self}) {
1242        Math::GSL::SparseMatrixc::delete_gsl_spmatrix_char_work($self);
1243        delete $OWNER{$self};
1244    }
1245}
1246
1247sub DISOWN {
1248    my $self = shift;
1249    my $ptr = tied(%$self);
1250    delete $OWNER{$ptr};
1251}
1252
1253sub ACQUIRE {
1254    my $self = shift;
1255    my $ptr = tied(%$self);
1256    $OWNER{$ptr} = 1;
1257}
1258
1259
1260############# Class : Math::GSL::SparseMatrix::gsl_spmatrix_uchar ##############
1261
1262package Math::GSL::SparseMatrix::gsl_spmatrix_uchar;
1263use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
1264@ISA = qw( Math::GSL::SparseMatrix );
1265%OWNER = ();
1266%ITERATORS = ();
1267*swig_size1_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_size1_get;
1268*swig_size1_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_size1_set;
1269*swig_size2_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_size2_get;
1270*swig_size2_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_size2_set;
1271*swig_i_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_i_get;
1272*swig_i_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_i_set;
1273*swig_data_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_data_get;
1274*swig_data_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_data_set;
1275*swig_p_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_p_get;
1276*swig_p_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_p_set;
1277*swig_nzmax_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_nzmax_get;
1278*swig_nzmax_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_nzmax_set;
1279*swig_nz_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_nz_get;
1280*swig_nz_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_nz_set;
1281*swig_tree_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_tree_get;
1282*swig_tree_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_tree_set;
1283*swig_pool_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_pool_get;
1284*swig_pool_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_pool_set;
1285*swig_node_size_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_node_size_get;
1286*swig_node_size_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_node_size_set;
1287*swig_work_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_work_get;
1288*swig_work_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_work_set;
1289*swig_sptype_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_sptype_get;
1290*swig_sptype_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_sptype_set;
1291*swig_spflags_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_spflags_get;
1292*swig_spflags_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_spflags_set;
1293sub new {
1294    my $pkg = shift;
1295    my $self = Math::GSL::SparseMatrixc::new_gsl_spmatrix_uchar(@_);
1296    bless $self, $pkg if defined($self);
1297}
1298
1299sub DESTROY {
1300    return unless $_[0]->isa('HASH');
1301    my $self = tied(%{$_[0]});
1302    return unless defined $self;
1303    delete $ITERATORS{$self};
1304    if (exists $OWNER{$self}) {
1305        Math::GSL::SparseMatrixc::delete_gsl_spmatrix_uchar($self);
1306        delete $OWNER{$self};
1307    }
1308}
1309
1310sub DISOWN {
1311    my $self = shift;
1312    my $ptr = tied(%$self);
1313    delete $OWNER{$ptr};
1314}
1315
1316sub ACQUIRE {
1317    my $self = shift;
1318    my $ptr = tied(%$self);
1319    $OWNER{$ptr} = 1;
1320}
1321
1322
1323############# Class : Math::GSL::SparseMatrix::gsl_spmatrix_uchar_work ##############
1324
1325package Math::GSL::SparseMatrix::gsl_spmatrix_uchar_work;
1326use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
1327@ISA = qw( Math::GSL::SparseMatrix );
1328%OWNER = ();
1329%ITERATORS = ();
1330*swig_work_void_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_work_work_void_get;
1331*swig_work_void_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_work_work_void_set;
1332*swig_work_int_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_work_work_int_get;
1333*swig_work_int_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_work_work_int_set;
1334*swig_work_atomic_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_work_work_atomic_get;
1335*swig_work_atomic_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_uchar_work_work_atomic_set;
1336sub new {
1337    my $pkg = shift;
1338    my $self = Math::GSL::SparseMatrixc::new_gsl_spmatrix_uchar_work(@_);
1339    bless $self, $pkg if defined($self);
1340}
1341
1342sub DESTROY {
1343    return unless $_[0]->isa('HASH');
1344    my $self = tied(%{$_[0]});
1345    return unless defined $self;
1346    delete $ITERATORS{$self};
1347    if (exists $OWNER{$self}) {
1348        Math::GSL::SparseMatrixc::delete_gsl_spmatrix_uchar_work($self);
1349        delete $OWNER{$self};
1350    }
1351}
1352
1353sub DISOWN {
1354    my $self = shift;
1355    my $ptr = tied(%$self);
1356    delete $OWNER{$ptr};
1357}
1358
1359sub ACQUIRE {
1360    my $self = shift;
1361    my $ptr = tied(%$self);
1362    $OWNER{$ptr} = 1;
1363}
1364
1365
1366############# Class : Math::GSL::SparseMatrix::gsl_spmatrix_int ##############
1367
1368package Math::GSL::SparseMatrix::gsl_spmatrix_int;
1369use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
1370@ISA = qw( Math::GSL::SparseMatrix );
1371%OWNER = ();
1372%ITERATORS = ();
1373*swig_size1_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_size1_get;
1374*swig_size1_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_size1_set;
1375*swig_size2_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_size2_get;
1376*swig_size2_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_size2_set;
1377*swig_i_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_i_get;
1378*swig_i_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_i_set;
1379*swig_data_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_data_get;
1380*swig_data_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_data_set;
1381*swig_p_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_p_get;
1382*swig_p_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_p_set;
1383*swig_nzmax_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_nzmax_get;
1384*swig_nzmax_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_nzmax_set;
1385*swig_nz_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_nz_get;
1386*swig_nz_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_nz_set;
1387*swig_tree_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_tree_get;
1388*swig_tree_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_tree_set;
1389*swig_pool_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_pool_get;
1390*swig_pool_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_pool_set;
1391*swig_node_size_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_node_size_get;
1392*swig_node_size_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_node_size_set;
1393*swig_work_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_work_get;
1394*swig_work_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_work_set;
1395*swig_sptype_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_sptype_get;
1396*swig_sptype_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_sptype_set;
1397*swig_spflags_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_spflags_get;
1398*swig_spflags_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_spflags_set;
1399sub new {
1400    my $pkg = shift;
1401    my $self = Math::GSL::SparseMatrixc::new_gsl_spmatrix_int(@_);
1402    bless $self, $pkg if defined($self);
1403}
1404
1405sub DESTROY {
1406    return unless $_[0]->isa('HASH');
1407    my $self = tied(%{$_[0]});
1408    return unless defined $self;
1409    delete $ITERATORS{$self};
1410    if (exists $OWNER{$self}) {
1411        Math::GSL::SparseMatrixc::delete_gsl_spmatrix_int($self);
1412        delete $OWNER{$self};
1413    }
1414}
1415
1416sub DISOWN {
1417    my $self = shift;
1418    my $ptr = tied(%$self);
1419    delete $OWNER{$ptr};
1420}
1421
1422sub ACQUIRE {
1423    my $self = shift;
1424    my $ptr = tied(%$self);
1425    $OWNER{$ptr} = 1;
1426}
1427
1428
1429############# Class : Math::GSL::SparseMatrix::gsl_spmatrix_int_work ##############
1430
1431package Math::GSL::SparseMatrix::gsl_spmatrix_int_work;
1432use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
1433@ISA = qw( Math::GSL::SparseMatrix );
1434%OWNER = ();
1435%ITERATORS = ();
1436*swig_work_void_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_work_work_void_get;
1437*swig_work_void_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_work_work_void_set;
1438*swig_work_int_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_work_work_int_get;
1439*swig_work_int_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_work_work_int_set;
1440*swig_work_atomic_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_work_work_atomic_get;
1441*swig_work_atomic_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_int_work_work_atomic_set;
1442sub new {
1443    my $pkg = shift;
1444    my $self = Math::GSL::SparseMatrixc::new_gsl_spmatrix_int_work(@_);
1445    bless $self, $pkg if defined($self);
1446}
1447
1448sub DESTROY {
1449    return unless $_[0]->isa('HASH');
1450    my $self = tied(%{$_[0]});
1451    return unless defined $self;
1452    delete $ITERATORS{$self};
1453    if (exists $OWNER{$self}) {
1454        Math::GSL::SparseMatrixc::delete_gsl_spmatrix_int_work($self);
1455        delete $OWNER{$self};
1456    }
1457}
1458
1459sub DISOWN {
1460    my $self = shift;
1461    my $ptr = tied(%$self);
1462    delete $OWNER{$ptr};
1463}
1464
1465sub ACQUIRE {
1466    my $self = shift;
1467    my $ptr = tied(%$self);
1468    $OWNER{$ptr} = 1;
1469}
1470
1471
1472############# Class : Math::GSL::SparseMatrix::gsl_spmatrix_short ##############
1473
1474package Math::GSL::SparseMatrix::gsl_spmatrix_short;
1475use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
1476@ISA = qw( Math::GSL::SparseMatrix );
1477%OWNER = ();
1478%ITERATORS = ();
1479*swig_size1_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_size1_get;
1480*swig_size1_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_size1_set;
1481*swig_size2_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_size2_get;
1482*swig_size2_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_size2_set;
1483*swig_i_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_i_get;
1484*swig_i_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_i_set;
1485*swig_data_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_data_get;
1486*swig_data_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_data_set;
1487*swig_p_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_p_get;
1488*swig_p_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_p_set;
1489*swig_nzmax_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_nzmax_get;
1490*swig_nzmax_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_nzmax_set;
1491*swig_nz_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_nz_get;
1492*swig_nz_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_nz_set;
1493*swig_tree_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_tree_get;
1494*swig_tree_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_tree_set;
1495*swig_pool_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_pool_get;
1496*swig_pool_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_pool_set;
1497*swig_node_size_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_node_size_get;
1498*swig_node_size_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_node_size_set;
1499*swig_work_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_work_get;
1500*swig_work_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_work_set;
1501*swig_sptype_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_sptype_get;
1502*swig_sptype_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_sptype_set;
1503*swig_spflags_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_spflags_get;
1504*swig_spflags_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_spflags_set;
1505sub new {
1506    my $pkg = shift;
1507    my $self = Math::GSL::SparseMatrixc::new_gsl_spmatrix_short(@_);
1508    bless $self, $pkg if defined($self);
1509}
1510
1511sub DESTROY {
1512    return unless $_[0]->isa('HASH');
1513    my $self = tied(%{$_[0]});
1514    return unless defined $self;
1515    delete $ITERATORS{$self};
1516    if (exists $OWNER{$self}) {
1517        Math::GSL::SparseMatrixc::delete_gsl_spmatrix_short($self);
1518        delete $OWNER{$self};
1519    }
1520}
1521
1522sub DISOWN {
1523    my $self = shift;
1524    my $ptr = tied(%$self);
1525    delete $OWNER{$ptr};
1526}
1527
1528sub ACQUIRE {
1529    my $self = shift;
1530    my $ptr = tied(%$self);
1531    $OWNER{$ptr} = 1;
1532}
1533
1534
1535############# Class : Math::GSL::SparseMatrix::gsl_spmatrix_short_work ##############
1536
1537package Math::GSL::SparseMatrix::gsl_spmatrix_short_work;
1538use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
1539@ISA = qw( Math::GSL::SparseMatrix );
1540%OWNER = ();
1541%ITERATORS = ();
1542*swig_work_void_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_work_work_void_get;
1543*swig_work_void_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_work_work_void_set;
1544*swig_work_int_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_work_work_int_get;
1545*swig_work_int_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_work_work_int_set;
1546*swig_work_atomic_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_work_work_atomic_get;
1547*swig_work_atomic_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_short_work_work_atomic_set;
1548sub new {
1549    my $pkg = shift;
1550    my $self = Math::GSL::SparseMatrixc::new_gsl_spmatrix_short_work(@_);
1551    bless $self, $pkg if defined($self);
1552}
1553
1554sub DESTROY {
1555    return unless $_[0]->isa('HASH');
1556    my $self = tied(%{$_[0]});
1557    return unless defined $self;
1558    delete $ITERATORS{$self};
1559    if (exists $OWNER{$self}) {
1560        Math::GSL::SparseMatrixc::delete_gsl_spmatrix_short_work($self);
1561        delete $OWNER{$self};
1562    }
1563}
1564
1565sub DISOWN {
1566    my $self = shift;
1567    my $ptr = tied(%$self);
1568    delete $OWNER{$ptr};
1569}
1570
1571sub ACQUIRE {
1572    my $self = shift;
1573    my $ptr = tied(%$self);
1574    $OWNER{$ptr} = 1;
1575}
1576
1577
1578############# Class : Math::GSL::SparseMatrix::gsl_spmatrix_float ##############
1579
1580package Math::GSL::SparseMatrix::gsl_spmatrix_float;
1581use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
1582@ISA = qw( Math::GSL::SparseMatrix );
1583%OWNER = ();
1584%ITERATORS = ();
1585*swig_size1_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_size1_get;
1586*swig_size1_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_size1_set;
1587*swig_size2_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_size2_get;
1588*swig_size2_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_size2_set;
1589*swig_i_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_i_get;
1590*swig_i_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_i_set;
1591*swig_data_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_data_get;
1592*swig_data_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_data_set;
1593*swig_p_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_p_get;
1594*swig_p_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_p_set;
1595*swig_nzmax_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_nzmax_get;
1596*swig_nzmax_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_nzmax_set;
1597*swig_nz_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_nz_get;
1598*swig_nz_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_nz_set;
1599*swig_tree_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_tree_get;
1600*swig_tree_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_tree_set;
1601*swig_pool_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_pool_get;
1602*swig_pool_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_pool_set;
1603*swig_node_size_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_node_size_get;
1604*swig_node_size_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_node_size_set;
1605*swig_work_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_work_get;
1606*swig_work_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_work_set;
1607*swig_sptype_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_sptype_get;
1608*swig_sptype_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_sptype_set;
1609*swig_spflags_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_spflags_get;
1610*swig_spflags_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_spflags_set;
1611sub new {
1612    my $pkg = shift;
1613    my $self = Math::GSL::SparseMatrixc::new_gsl_spmatrix_float(@_);
1614    bless $self, $pkg if defined($self);
1615}
1616
1617sub DESTROY {
1618    return unless $_[0]->isa('HASH');
1619    my $self = tied(%{$_[0]});
1620    return unless defined $self;
1621    delete $ITERATORS{$self};
1622    if (exists $OWNER{$self}) {
1623        Math::GSL::SparseMatrixc::delete_gsl_spmatrix_float($self);
1624        delete $OWNER{$self};
1625    }
1626}
1627
1628sub DISOWN {
1629    my $self = shift;
1630    my $ptr = tied(%$self);
1631    delete $OWNER{$ptr};
1632}
1633
1634sub ACQUIRE {
1635    my $self = shift;
1636    my $ptr = tied(%$self);
1637    $OWNER{$ptr} = 1;
1638}
1639
1640
1641############# Class : Math::GSL::SparseMatrix::gsl_spmatrix_float_work ##############
1642
1643package Math::GSL::SparseMatrix::gsl_spmatrix_float_work;
1644use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
1645@ISA = qw( Math::GSL::SparseMatrix );
1646%OWNER = ();
1647%ITERATORS = ();
1648*swig_work_void_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_work_work_void_get;
1649*swig_work_void_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_work_work_void_set;
1650*swig_work_int_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_work_work_int_get;
1651*swig_work_int_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_work_work_int_set;
1652*swig_work_atomic_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_work_work_atomic_get;
1653*swig_work_atomic_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_float_work_work_atomic_set;
1654sub new {
1655    my $pkg = shift;
1656    my $self = Math::GSL::SparseMatrixc::new_gsl_spmatrix_float_work(@_);
1657    bless $self, $pkg if defined($self);
1658}
1659
1660sub DESTROY {
1661    return unless $_[0]->isa('HASH');
1662    my $self = tied(%{$_[0]});
1663    return unless defined $self;
1664    delete $ITERATORS{$self};
1665    if (exists $OWNER{$self}) {
1666        Math::GSL::SparseMatrixc::delete_gsl_spmatrix_float_work($self);
1667        delete $OWNER{$self};
1668    }
1669}
1670
1671sub DISOWN {
1672    my $self = shift;
1673    my $ptr = tied(%$self);
1674    delete $OWNER{$ptr};
1675}
1676
1677sub ACQUIRE {
1678    my $self = shift;
1679    my $ptr = tied(%$self);
1680    $OWNER{$ptr} = 1;
1681}
1682
1683
1684############# Class : Math::GSL::SparseMatrix::gsl_spmatrix_ushort ##############
1685
1686package Math::GSL::SparseMatrix::gsl_spmatrix_ushort;
1687use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
1688@ISA = qw( Math::GSL::SparseMatrix );
1689%OWNER = ();
1690%ITERATORS = ();
1691*swig_size1_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_size1_get;
1692*swig_size1_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_size1_set;
1693*swig_size2_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_size2_get;
1694*swig_size2_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_size2_set;
1695*swig_i_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_i_get;
1696*swig_i_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_i_set;
1697*swig_data_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_data_get;
1698*swig_data_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_data_set;
1699*swig_p_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_p_get;
1700*swig_p_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_p_set;
1701*swig_nzmax_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_nzmax_get;
1702*swig_nzmax_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_nzmax_set;
1703*swig_nz_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_nz_get;
1704*swig_nz_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_nz_set;
1705*swig_tree_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_tree_get;
1706*swig_tree_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_tree_set;
1707*swig_pool_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_pool_get;
1708*swig_pool_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_pool_set;
1709*swig_node_size_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_node_size_get;
1710*swig_node_size_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_node_size_set;
1711*swig_work_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_work_get;
1712*swig_work_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_work_set;
1713*swig_sptype_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_sptype_get;
1714*swig_sptype_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_sptype_set;
1715*swig_spflags_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_spflags_get;
1716*swig_spflags_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_spflags_set;
1717sub new {
1718    my $pkg = shift;
1719    my $self = Math::GSL::SparseMatrixc::new_gsl_spmatrix_ushort(@_);
1720    bless $self, $pkg if defined($self);
1721}
1722
1723sub DESTROY {
1724    return unless $_[0]->isa('HASH');
1725    my $self = tied(%{$_[0]});
1726    return unless defined $self;
1727    delete $ITERATORS{$self};
1728    if (exists $OWNER{$self}) {
1729        Math::GSL::SparseMatrixc::delete_gsl_spmatrix_ushort($self);
1730        delete $OWNER{$self};
1731    }
1732}
1733
1734sub DISOWN {
1735    my $self = shift;
1736    my $ptr = tied(%$self);
1737    delete $OWNER{$ptr};
1738}
1739
1740sub ACQUIRE {
1741    my $self = shift;
1742    my $ptr = tied(%$self);
1743    $OWNER{$ptr} = 1;
1744}
1745
1746
1747############# Class : Math::GSL::SparseMatrix::gsl_spmatrix_ushort_work ##############
1748
1749package Math::GSL::SparseMatrix::gsl_spmatrix_ushort_work;
1750use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
1751@ISA = qw( Math::GSL::SparseMatrix );
1752%OWNER = ();
1753%ITERATORS = ();
1754*swig_work_void_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_work_work_void_get;
1755*swig_work_void_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_work_work_void_set;
1756*swig_work_int_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_work_work_int_get;
1757*swig_work_int_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_work_work_int_set;
1758*swig_work_atomic_get = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_work_work_atomic_get;
1759*swig_work_atomic_set = *Math::GSL::SparseMatrixc::gsl_spmatrix_ushort_work_work_atomic_set;
1760sub new {
1761    my $pkg = shift;
1762    my $self = Math::GSL::SparseMatrixc::new_gsl_spmatrix_ushort_work(@_);
1763    bless $self, $pkg if defined($self);
1764}
1765
1766sub DESTROY {
1767    return unless $_[0]->isa('HASH');
1768    my $self = tied(%{$_[0]});
1769    return unless defined $self;
1770    delete $ITERATORS{$self};
1771    if (exists $OWNER{$self}) {
1772        Math::GSL::SparseMatrixc::delete_gsl_spmatrix_ushort_work($self);
1773        delete $OWNER{$self};
1774    }
1775}
1776
1777sub DISOWN {
1778    my $self = shift;
1779    my $ptr = tied(%$self);
1780    delete $OWNER{$ptr};
1781}
1782
1783sub ACQUIRE {
1784    my $self = shift;
1785    my $ptr = tied(%$self);
1786    $OWNER{$ptr} = 1;
1787}
1788
1789
1790# ------- VARIABLE STUBS --------
1791
1792package Math::GSL::SparseMatrix;
1793
1794*GSL_VERSION = *Math::GSL::SparseMatrixc::GSL_VERSION;
1795*GSL_MAJOR_VERSION = *Math::GSL::SparseMatrixc::GSL_MAJOR_VERSION;
1796*GSL_MINOR_VERSION = *Math::GSL::SparseMatrixc::GSL_MINOR_VERSION;
1797*GSL_POSZERO = *Math::GSL::SparseMatrixc::GSL_POSZERO;
1798*GSL_NEGZERO = *Math::GSL::SparseMatrixc::GSL_NEGZERO;
1799*GSL_SUCCESS = *Math::GSL::SparseMatrixc::GSL_SUCCESS;
1800*GSL_FAILURE = *Math::GSL::SparseMatrixc::GSL_FAILURE;
1801*GSL_CONTINUE = *Math::GSL::SparseMatrixc::GSL_CONTINUE;
1802*GSL_EDOM = *Math::GSL::SparseMatrixc::GSL_EDOM;
1803*GSL_ERANGE = *Math::GSL::SparseMatrixc::GSL_ERANGE;
1804*GSL_EFAULT = *Math::GSL::SparseMatrixc::GSL_EFAULT;
1805*GSL_EINVAL = *Math::GSL::SparseMatrixc::GSL_EINVAL;
1806*GSL_EFAILED = *Math::GSL::SparseMatrixc::GSL_EFAILED;
1807*GSL_EFACTOR = *Math::GSL::SparseMatrixc::GSL_EFACTOR;
1808*GSL_ESANITY = *Math::GSL::SparseMatrixc::GSL_ESANITY;
1809*GSL_ENOMEM = *Math::GSL::SparseMatrixc::GSL_ENOMEM;
1810*GSL_EBADFUNC = *Math::GSL::SparseMatrixc::GSL_EBADFUNC;
1811*GSL_ERUNAWAY = *Math::GSL::SparseMatrixc::GSL_ERUNAWAY;
1812*GSL_EMAXITER = *Math::GSL::SparseMatrixc::GSL_EMAXITER;
1813*GSL_EZERODIV = *Math::GSL::SparseMatrixc::GSL_EZERODIV;
1814*GSL_EBADTOL = *Math::GSL::SparseMatrixc::GSL_EBADTOL;
1815*GSL_ETOL = *Math::GSL::SparseMatrixc::GSL_ETOL;
1816*GSL_EUNDRFLW = *Math::GSL::SparseMatrixc::GSL_EUNDRFLW;
1817*GSL_EOVRFLW = *Math::GSL::SparseMatrixc::GSL_EOVRFLW;
1818*GSL_ELOSS = *Math::GSL::SparseMatrixc::GSL_ELOSS;
1819*GSL_EROUND = *Math::GSL::SparseMatrixc::GSL_EROUND;
1820*GSL_EBADLEN = *Math::GSL::SparseMatrixc::GSL_EBADLEN;
1821*GSL_ENOTSQR = *Math::GSL::SparseMatrixc::GSL_ENOTSQR;
1822*GSL_ESING = *Math::GSL::SparseMatrixc::GSL_ESING;
1823*GSL_EDIVERGE = *Math::GSL::SparseMatrixc::GSL_EDIVERGE;
1824*GSL_EUNSUP = *Math::GSL::SparseMatrixc::GSL_EUNSUP;
1825*GSL_EUNIMPL = *Math::GSL::SparseMatrixc::GSL_EUNIMPL;
1826*GSL_ECACHE = *Math::GSL::SparseMatrixc::GSL_ECACHE;
1827*GSL_ETABLE = *Math::GSL::SparseMatrixc::GSL_ETABLE;
1828*GSL_ENOPROG = *Math::GSL::SparseMatrixc::GSL_ENOPROG;
1829*GSL_ENOPROGJ = *Math::GSL::SparseMatrixc::GSL_ENOPROGJ;
1830*GSL_ETOLF = *Math::GSL::SparseMatrixc::GSL_ETOLF;
1831*GSL_ETOLX = *Math::GSL::SparseMatrixc::GSL_ETOLX;
1832*GSL_ETOLG = *Math::GSL::SparseMatrixc::GSL_ETOLG;
1833*GSL_EOF = *Math::GSL::SparseMatrixc::GSL_EOF;
1834*GSL_SPMATRIX_COO = *Math::GSL::SparseMatrixc::GSL_SPMATRIX_COO;
1835*GSL_SPMATRIX_CSC = *Math::GSL::SparseMatrixc::GSL_SPMATRIX_CSC;
1836*GSL_SPMATRIX_CSR = *Math::GSL::SparseMatrixc::GSL_SPMATRIX_CSR;
1837*GSL_SPMATRIX_TRIPLET = *Math::GSL::SparseMatrixc::GSL_SPMATRIX_TRIPLET;
1838*GSL_SPMATRIX_CCS = *Math::GSL::SparseMatrixc::GSL_SPMATRIX_CCS;
1839*GSL_SPMATRIX_CRS = *Math::GSL::SparseMatrixc::GSL_SPMATRIX_CRS;
1840*GSL_SPMATRIX_FLG_GROW = *Math::GSL::SparseMatrixc::GSL_SPMATRIX_FLG_GROW;
1841*GSL_SPMATRIX_FLG_FIXED = *Math::GSL::SparseMatrixc::GSL_SPMATRIX_FLG_FIXED;
1842
1843@EXPORT_OK = qw/
1844               gsl_spmatrix_alloc
1845               gsl_spmatrix_get
1846               gsl_spmatrix_set
1847               gsl_spmatrix_free
1848               gsl_spmatrix_transpose
1849               gsl_spmatrix_transpose2
1850               gsl_spmatrix_transpose_memcpy
1851               gsl_spmatrix_set_zero
1852               gsl_spmatrix_add
1853               gsl_spmatrix_nnz
1854               gsl_spmatrix_scale
1855               gsl_spmatrix_d2sp
1856               gsl_spmatrix_sp2d
1857               gsl_spmatrix_minmax
1858               gsl_spmatrix_ccs
1859               gsl_spmatrix_crs
1860               gsl_spmatrix_memcpy
1861               gsl_spmatrix_ptr
1862               gsl_spmatrix_fwrite
1863               gsl_spmatrix_fread
1864               gsl_spmatrix_fprintf
1865               gsl_spmatrix_fscanf
1866             /;
1867%EXPORT_TAGS = ( all => [ @EXPORT_OK ] );
1868
1869__END__
1870
1871=encoding utf8
1872
1873=head1 NAME
1874
1875Math::GSL::SparseMatrix - Sparse Matrices
1876
1877=head1 SYNOPSIS
1878
1879    use Math::GSL::SparseMatrix qw/:all/;
1880    use Math::GSL::Matrix qw/gsl_matrix_alloc/;
1881    my $sparse = gsl_spmatrix_alloc(100,100);
1882    my $status = gsl_spmatrix_set($sparse,50,50,42.42);
1883    my $value  = gsl_spmatrix_get($sparse,50,50);
1884
1885    # multiply every element by 5
1886    $status = gsl_spmatrix_scale($sparse, 5);
1887
1888    # get the number of non-zero elements
1889    my $nnz = gsl_spmatrix_nnz($sparse);
1890
1891    # fine min and max values, other than zero elements
1892    ($status, $min, $max) = gsl_spmatrix_minmax($sparse);
1893
1894    # set all elements to zero
1895    $status = gsl_spmatrix_set_zero($sparse);
1896
1897    my $dense  = gsl_matrix_alloc(100,100);
1898    # convert a sparse matrix to a dense matrix
1899    $status = gsl_spmatrix_sp2d($dense, $sparse);
1900
1901    # convert a dense matrix to a sparse matrix
1902    $status = gsl_spmatrix_d2sp($sparse, $dense);
1903
1904=head1 DESCRIPTION
1905
1906NOTE: This module requires GSL 2.0 or higher.
1907
1908For more informations on the functions, we refer you to the GSL official
1909documentation: L<http://www.gnu.org/software/gsl/manual/html_node/>
1910
1911=head1 AUTHORS
1912
1913Jonathan "Duke" Leto <jonathan@leto.net> and Thierry Moisan <thierry.moisan@gmail.com>
1914
1915=head1 COPYRIGHT AND LICENSE
1916
1917Copyright (C) 2008-2021 Jonathan "Duke" Leto and Thierry Moisan
1918
1919This program is free software; you can redistribute it and/or modify it
1920under the same terms as Perl itself.
1921
1922=cut
1923
1924
19251;
1926