1 /** D bindings for GSL. 2 Authors: Chibisi Chima-Okereke 3 Copyright: Copyright (c) 2016, Chibisi Chima-Okereke. All rights reserved. 4 License: Boost License 1.0 5 */ 6 7 module gsl.matrix; 8 9 import core.stdc.stdio : FILE; 10 import core.stdc.config : c_long, c_ulong; 11 //import core.stdc.complex; 12 import gsl.errno; 13 import gsl.check_range; 14 import gsl.block; 15 import gsl.vector; 16 import gsl.complex; 17 18 extern (C): 19 20 21 // gsl_matrix_char 22 struct gsl_matrix_char 23 { 24 size_t size1; 25 size_t size2; 26 size_t tda; 27 char* data; 28 gsl_block_char* block; 29 int owner; 30 } 31 32 struct _gsl_matrix_char_view 33 { 34 gsl_matrix_char matrix; 35 } 36 37 struct _gsl_matrix_char_const_view 38 { 39 gsl_matrix_char matrix; 40 } 41 42 alias _gsl_matrix_char_view gsl_matrix_char_view; 43 alias const _gsl_matrix_char_const_view gsl_matrix_char_const_view; 44 45 gsl_matrix_char* gsl_matrix_char_alloc (const size_t n1, const size_t n2); 46 gsl_matrix_char* gsl_matrix_char_calloc (const size_t n1, const size_t n2); 47 gsl_matrix_char* gsl_matrix_char_alloc_from_block (gsl_block_char* b, const size_t offset, const size_t n1, const size_t n2, const size_t d2); 48 gsl_matrix_char* gsl_matrix_char_alloc_from_matrix (gsl_matrix_char* m, const size_t k1, const size_t k2, const size_t n1, const size_t n2); 49 gsl_vector_char* gsl_vector_char_alloc_row_from_matrix (gsl_matrix_char* m, const size_t i); 50 gsl_vector_char* gsl_vector_char_alloc_col_from_matrix (gsl_matrix_char* m, const size_t j); 51 void gsl_matrix_char_free (gsl_matrix_char* m); 52 _gsl_matrix_char_view gsl_matrix_char_submatrix (gsl_matrix_char* m, const size_t i, const size_t j, const size_t n1, const size_t n2); 53 _gsl_vector_char_view gsl_matrix_char_row (gsl_matrix_char* m, const size_t i); 54 _gsl_vector_char_view gsl_matrix_char_column (gsl_matrix_char* m, const size_t j); 55 _gsl_vector_char_view gsl_matrix_char_diagonal (gsl_matrix_char* m); 56 _gsl_vector_char_view gsl_matrix_char_subdiagonal (gsl_matrix_char* m, const size_t k); 57 _gsl_vector_char_view gsl_matrix_char_superdiagonal (gsl_matrix_char* m, const size_t k); 58 _gsl_vector_char_view gsl_matrix_char_subrow (gsl_matrix_char* m, const size_t i, const size_t offset, const size_t n); 59 _gsl_vector_char_view gsl_matrix_char_subcolumn (gsl_matrix_char* m, const size_t j, const size_t offset, const size_t n); 60 _gsl_matrix_char_view gsl_matrix_char_view_array (char* base, const size_t n1, const size_t n2); 61 _gsl_matrix_char_view gsl_matrix_char_view_array_with_tda (char* base, const size_t n1, const size_t n2, const size_t tda); 62 _gsl_matrix_char_view gsl_matrix_char_view_vector (gsl_vector_char* v, const size_t n1, const size_t n2); 63 _gsl_matrix_char_view gsl_matrix_char_view_vector_with_tda (gsl_vector_char* v, const size_t n1, const size_t n2, const size_t tda); 64 _gsl_matrix_char_const_view gsl_matrix_char_const_submatrix (const(gsl_matrix_char)* m, const size_t i, const size_t j, const size_t n1, const size_t n2); 65 _gsl_vector_char_const_view gsl_matrix_char_const_row (const(gsl_matrix_char)* m, const size_t i); 66 _gsl_vector_char_const_view gsl_matrix_char_const_column (const(gsl_matrix_char)* m, const size_t j); 67 _gsl_vector_char_const_view gsl_matrix_char_const_diagonal (const(gsl_matrix_char)* m); 68 _gsl_vector_char_const_view gsl_matrix_char_const_subdiagonal (const(gsl_matrix_char)* m, const size_t k); 69 _gsl_vector_char_const_view gsl_matrix_char_const_superdiagonal (const(gsl_matrix_char)* m, const size_t k); 70 _gsl_vector_char_const_view gsl_matrix_char_const_subrow (const(gsl_matrix_char)* m, const size_t i, const size_t offset, const size_t n); 71 _gsl_vector_char_const_view gsl_matrix_char_const_subcolumn (const(gsl_matrix_char)* m, const size_t j, const size_t offset, const size_t n); 72 _gsl_matrix_char_const_view gsl_matrix_char_const_view_array (const(char)* base, const size_t n1, const size_t n2); 73 _gsl_matrix_char_const_view gsl_matrix_char_const_view_array_with_tda (const(char)* base, const size_t n1, const size_t n2, const size_t tda); 74 _gsl_matrix_char_const_view gsl_matrix_char_const_view_vector (const(gsl_vector_char)* v, const size_t n1, const size_t n2); 75 _gsl_matrix_char_const_view gsl_matrix_char_const_view_vector_with_tda (const(gsl_vector_char)* v, const size_t n1, const size_t n2, const size_t tda); 76 void gsl_matrix_char_set_zero (gsl_matrix_char* m); 77 void gsl_matrix_char_set_identity (gsl_matrix_char* m); 78 void gsl_matrix_char_set_all (gsl_matrix_char* m, char x); 79 int gsl_matrix_char_fread (FILE* stream, gsl_matrix_char* m); 80 int gsl_matrix_char_fwrite (FILE* stream, const(gsl_matrix_char)* m); 81 int gsl_matrix_char_fscanf (FILE* stream, gsl_matrix_char* m); 82 int gsl_matrix_char_fprintf (FILE* stream, const(gsl_matrix_char)* m, const(char)* format); 83 int gsl_matrix_char_memcpy (gsl_matrix_char* dest, const(gsl_matrix_char)* src); 84 int gsl_matrix_char_swap (gsl_matrix_char* m1, gsl_matrix_char* m2); 85 int gsl_matrix_char_swap_rows (gsl_matrix_char* m, const size_t i, const size_t j); 86 int gsl_matrix_char_swap_columns (gsl_matrix_char* m, const size_t i, const size_t j); 87 int gsl_matrix_char_swap_rowcol (gsl_matrix_char* m, const size_t i, const size_t j); 88 int gsl_matrix_char_transpose (gsl_matrix_char* m); 89 int gsl_matrix_char_transpose_memcpy (gsl_matrix_char* dest, const(gsl_matrix_char)* src); 90 char gsl_matrix_char_max (const(gsl_matrix_char)* m); 91 char gsl_matrix_char_min (const(gsl_matrix_char)* m); 92 void gsl_matrix_char_minmax (const(gsl_matrix_char)* m, char* min_out, char* max_out); 93 void gsl_matrix_char_max_index (const(gsl_matrix_char)* m, size_t* imax, size_t* jmax); 94 void gsl_matrix_char_min_index (const(gsl_matrix_char)* m, size_t* imin, size_t* jmin); 95 void gsl_matrix_char_minmax_index (const(gsl_matrix_char)* m, size_t* imin, size_t* jmin, size_t* imax, size_t* jmax); 96 int gsl_matrix_char_equal (const(gsl_matrix_char)* a, const(gsl_matrix_char)* b); 97 int gsl_matrix_char_isnull (const(gsl_matrix_char)* m); 98 int gsl_matrix_char_ispos (const(gsl_matrix_char)* m); 99 int gsl_matrix_char_isneg (const(gsl_matrix_char)* m); 100 int gsl_matrix_char_isnonneg (const(gsl_matrix_char)* m); 101 int gsl_matrix_char_add (gsl_matrix_char* a, const(gsl_matrix_char)* b); 102 int gsl_matrix_char_sub (gsl_matrix_char* a, const(gsl_matrix_char)* b); 103 int gsl_matrix_char_mul_elements (gsl_matrix_char* a, const(gsl_matrix_char)* b); 104 int gsl_matrix_char_div_elements (gsl_matrix_char* a, const(gsl_matrix_char)* b); 105 int gsl_matrix_char_scale (gsl_matrix_char* a, const double x); 106 int gsl_matrix_char_add_constant (gsl_matrix_char* a, const double x); 107 int gsl_matrix_char_add_diagonal (gsl_matrix_char* a, const double x); 108 int gsl_matrix_char_get_row (gsl_vector_char* v, const(gsl_matrix_char)* m, const size_t i); 109 int gsl_matrix_char_get_col (gsl_vector_char* v, const(gsl_matrix_char)* m, const size_t j); 110 int gsl_matrix_char_set_row (gsl_matrix_char* m, const size_t i, const(gsl_vector_char)* v); 111 int gsl_matrix_char_set_col (gsl_matrix_char* m, const size_t j, const(gsl_vector_char)* v); 112 char gsl_matrix_char_get (const(gsl_matrix_char)* m, const size_t i, const size_t j); 113 void gsl_matrix_char_set (gsl_matrix_char* m, const size_t i, const size_t j, const char x); 114 char* gsl_matrix_char_ptr (gsl_matrix_char* m, const size_t i, const size_t j); 115 const(char)* gsl_matrix_char_const_ptr (const(gsl_matrix_char)* m, const size_t i, const size_t j); 116 117 118 //gsl_matrix_complex 119 struct gsl_matrix_complex 120 { 121 size_t size1; 122 size_t size2; 123 size_t tda; 124 double* data; 125 gsl_block_complex* block; 126 int owner; 127 } 128 129 struct _gsl_matrix_complex_view 130 { 131 gsl_matrix_complex matrix; 132 } 133 134 struct _gsl_matrix_complex_const_view 135 { 136 gsl_matrix_complex matrix; 137 } 138 139 alias _gsl_matrix_complex_view gsl_matrix_complex_view; 140 alias const _gsl_matrix_complex_const_view gsl_matrix_complex_const_view; 141 142 gsl_matrix_complex* gsl_matrix_complex_alloc (const size_t n1, const size_t n2); 143 gsl_matrix_complex* gsl_matrix_complex_calloc (const size_t n1, const size_t n2); 144 gsl_matrix_complex* gsl_matrix_complex_alloc_from_block (gsl_block_complex* b, const size_t offset, const size_t n1, const size_t n2, const size_t d2); 145 gsl_matrix_complex* gsl_matrix_complex_alloc_from_matrix (gsl_matrix_complex* b, const size_t k1, const size_t k2, const size_t n1, const size_t n2); 146 gsl_vector_complex* gsl_vector_complex_alloc_row_from_matrix (gsl_matrix_complex* m, const size_t i); 147 gsl_vector_complex* gsl_vector_complex_alloc_col_from_matrix (gsl_matrix_complex* m, const size_t j); 148 void gsl_matrix_complex_free (gsl_matrix_complex* m); 149 _gsl_matrix_complex_view gsl_matrix_complex_submatrix (gsl_matrix_complex* m, const size_t i, const size_t j, const size_t n1, const size_t n2); 150 _gsl_vector_complex_view gsl_matrix_complex_row (gsl_matrix_complex* m, const size_t i); 151 _gsl_vector_complex_view gsl_matrix_complex_column (gsl_matrix_complex* m, const size_t j); 152 _gsl_vector_complex_view gsl_matrix_complex_diagonal (gsl_matrix_complex* m); 153 _gsl_vector_complex_view gsl_matrix_complex_subdiagonal (gsl_matrix_complex* m, const size_t k); 154 _gsl_vector_complex_view gsl_matrix_complex_superdiagonal (gsl_matrix_complex* m, const size_t k); 155 _gsl_vector_complex_view gsl_matrix_complex_subrow (gsl_matrix_complex* m, const size_t i, const size_t offset, const size_t n); 156 _gsl_vector_complex_view gsl_matrix_complex_subcolumn (gsl_matrix_complex* m, const size_t j, const size_t offset, const size_t n); 157 _gsl_matrix_complex_view gsl_matrix_complex_view_array (double* base, const size_t n1, const size_t n2); 158 _gsl_matrix_complex_view gsl_matrix_complex_view_array_with_tda (double* base, const size_t n1, const size_t n2, const size_t tda); 159 _gsl_matrix_complex_view gsl_matrix_complex_view_vector (gsl_vector_complex* v, const size_t n1, const size_t n2); 160 _gsl_matrix_complex_view gsl_matrix_complex_view_vector_with_tda (gsl_vector_complex* v, const size_t n1, const size_t n2, const size_t tda); 161 _gsl_matrix_complex_const_view gsl_matrix_complex_const_submatrix (const(gsl_matrix_complex)* m, const size_t i, const size_t j, const size_t n1, const size_t n2); 162 _gsl_vector_complex_const_view gsl_matrix_complex_const_row (const(gsl_matrix_complex)* m, const size_t i); 163 _gsl_vector_complex_const_view gsl_matrix_complex_const_column (const(gsl_matrix_complex)* m, const size_t j); 164 _gsl_vector_complex_const_view gsl_matrix_complex_const_diagonal (const(gsl_matrix_complex)* m); 165 _gsl_vector_complex_const_view gsl_matrix_complex_const_subdiagonal (const(gsl_matrix_complex)* m, const size_t k); 166 _gsl_vector_complex_const_view gsl_matrix_complex_const_superdiagonal (const(gsl_matrix_complex)* m, const size_t k); 167 _gsl_vector_complex_const_view gsl_matrix_complex_const_subrow (const(gsl_matrix_complex)* m, const size_t i, const size_t offset, const size_t n); 168 _gsl_vector_complex_const_view gsl_matrix_complex_const_subcolumn (const(gsl_matrix_complex)* m, const size_t j, const size_t offset, const size_t n); 169 _gsl_matrix_complex_const_view gsl_matrix_complex_const_view_array (const(double)* base, const size_t n1, const size_t n2); 170 _gsl_matrix_complex_const_view gsl_matrix_complex_const_view_array_with_tda (const(double)* base, const size_t n1, const size_t n2, const size_t tda); 171 _gsl_matrix_complex_const_view gsl_matrix_complex_const_view_vector (const(gsl_vector_complex)* v, const size_t n1, const size_t n2); 172 _gsl_matrix_complex_const_view gsl_matrix_complex_const_view_vector_with_tda (const(gsl_vector_complex)* v, const size_t n1, const size_t n2, const size_t tda); 173 void gsl_matrix_complex_set_zero (gsl_matrix_complex* m); 174 void gsl_matrix_complex_set_identity (gsl_matrix_complex* m); 175 void gsl_matrix_complex_set_all (gsl_matrix_complex* m, gsl_complex x); 176 int gsl_matrix_complex_fread (FILE* stream, gsl_matrix_complex* m); 177 int gsl_matrix_complex_fwrite (FILE* stream, const(gsl_matrix_complex)* m); 178 int gsl_matrix_complex_fscanf (FILE* stream, gsl_matrix_complex* m); 179 int gsl_matrix_complex_fprintf (FILE* stream, const(gsl_matrix_complex)* m, const(char)* format); 180 int gsl_matrix_complex_memcpy (gsl_matrix_complex* dest, const(gsl_matrix_complex)* src); 181 int gsl_matrix_complex_swap (gsl_matrix_complex* m1, gsl_matrix_complex* m2); 182 int gsl_matrix_complex_swap_rows (gsl_matrix_complex* m, const size_t i, const size_t j); 183 int gsl_matrix_complex_swap_columns (gsl_matrix_complex* m, const size_t i, const size_t j); 184 int gsl_matrix_complex_swap_rowcol (gsl_matrix_complex* m, const size_t i, const size_t j); 185 int gsl_matrix_complex_transpose (gsl_matrix_complex* m); 186 int gsl_matrix_complex_transpose_memcpy (gsl_matrix_complex* dest, const(gsl_matrix_complex)* src); 187 int gsl_matrix_complex_equal (const(gsl_matrix_complex)* a, const(gsl_matrix_complex)* b); 188 int gsl_matrix_complex_isnull (const(gsl_matrix_complex)* m); 189 int gsl_matrix_complex_ispos (const(gsl_matrix_complex)* m); 190 int gsl_matrix_complex_isneg (const(gsl_matrix_complex)* m); 191 int gsl_matrix_complex_isnonneg (const(gsl_matrix_complex)* m); 192 int gsl_matrix_complex_add (gsl_matrix_complex* a, const(gsl_matrix_complex)* b); 193 int gsl_matrix_complex_sub (gsl_matrix_complex* a, const(gsl_matrix_complex)* b); 194 int gsl_matrix_complex_mul_elements (gsl_matrix_complex* a, const(gsl_matrix_complex)* b); 195 int gsl_matrix_complex_div_elements (gsl_matrix_complex* a, const(gsl_matrix_complex)* b); 196 int gsl_matrix_complex_scale (gsl_matrix_complex* a, const gsl_complex x); 197 int gsl_matrix_complex_add_constant (gsl_matrix_complex* a, const gsl_complex x); 198 int gsl_matrix_complex_add_diagonal (gsl_matrix_complex* a, const gsl_complex x); 199 int gsl_matrix_complex_get_row (gsl_vector_complex* v, const(gsl_matrix_complex)* m, const size_t i); 200 int gsl_matrix_complex_get_col (gsl_vector_complex* v, const(gsl_matrix_complex)* m, const size_t j); 201 int gsl_matrix_complex_set_row (gsl_matrix_complex* m, const size_t i, const(gsl_vector_complex)* v); 202 int gsl_matrix_complex_set_col (gsl_matrix_complex* m, const size_t j, const(gsl_vector_complex)* v); 203 gsl_complex gsl_matrix_complex_get (const(gsl_matrix_complex)* m, const size_t i, const size_t j); 204 void gsl_matrix_complex_set (gsl_matrix_complex* m, const size_t i, const size_t j, const gsl_complex x); 205 gsl_complex* gsl_matrix_complex_ptr (gsl_matrix_complex* m, const size_t i, const size_t j); 206 const(gsl_complex)* gsl_matrix_complex_const_ptr (const(gsl_matrix_complex)* m, const size_t i, const size_t j); 207 208 209 //gsl_matrix_complex_float 210 struct gsl_matrix_complex_float 211 { 212 size_t size1; 213 size_t size2; 214 size_t tda; 215 float* data; 216 gsl_block_complex_float* block; 217 int owner; 218 } 219 220 struct _gsl_matrix_complex_float_view 221 { 222 gsl_matrix_complex_float matrix; 223 } 224 225 struct _gsl_matrix_complex_float_const_view 226 { 227 gsl_matrix_complex_float matrix; 228 } 229 230 alias _gsl_matrix_complex_float_view gsl_matrix_complex_float_view; 231 alias const _gsl_matrix_complex_float_const_view gsl_matrix_complex_float_const_view; 232 233 gsl_matrix_complex_float* gsl_matrix_complex_float_alloc (const size_t n1, const size_t n2); 234 gsl_matrix_complex_float* gsl_matrix_complex_float_calloc (const size_t n1, const size_t n2); 235 gsl_matrix_complex_float* gsl_matrix_complex_float_alloc_from_block (gsl_block_complex_float* b, const size_t offset, const size_t n1, const size_t n2, const size_t d2); 236 gsl_matrix_complex_float* gsl_matrix_complex_float_alloc_from_matrix (gsl_matrix_complex_float* b, const size_t k1, const size_t k2, const size_t n1, const size_t n2); 237 gsl_vector_complex_float* gsl_vector_complex_float_alloc_row_from_matrix (gsl_matrix_complex_float* m, const size_t i); 238 gsl_vector_complex_float* gsl_vector_complex_float_alloc_col_from_matrix (gsl_matrix_complex_float* m, const size_t j); 239 void gsl_matrix_complex_float_free (gsl_matrix_complex_float* m); 240 _gsl_matrix_complex_float_view gsl_matrix_complex_float_submatrix (gsl_matrix_complex_float* m, const size_t i, const size_t j, const size_t n1, const size_t n2); 241 _gsl_vector_complex_float_view gsl_matrix_complex_float_row (gsl_matrix_complex_float* m, const size_t i); 242 _gsl_vector_complex_float_view gsl_matrix_complex_float_column (gsl_matrix_complex_float* m, const size_t j); 243 _gsl_vector_complex_float_view gsl_matrix_complex_float_diagonal (gsl_matrix_complex_float* m); 244 _gsl_vector_complex_float_view gsl_matrix_complex_float_subdiagonal (gsl_matrix_complex_float* m, const size_t k); 245 _gsl_vector_complex_float_view gsl_matrix_complex_float_superdiagonal (gsl_matrix_complex_float* m, const size_t k); 246 _gsl_vector_complex_float_view gsl_matrix_complex_float_subrow (gsl_matrix_complex_float* m, const size_t i, const size_t offset, const size_t n); 247 _gsl_vector_complex_float_view gsl_matrix_complex_float_subcolumn (gsl_matrix_complex_float* m, const size_t j, const size_t offset, const size_t n); 248 _gsl_matrix_complex_float_view gsl_matrix_complex_float_view_array (float* base, const size_t n1, const size_t n2); 249 _gsl_matrix_complex_float_view gsl_matrix_complex_float_view_array_with_tda (float* base, const size_t n1, const size_t n2, const size_t tda); 250 _gsl_matrix_complex_float_view gsl_matrix_complex_float_view_vector (gsl_vector_complex_float* v, const size_t n1, const size_t n2); 251 _gsl_matrix_complex_float_view gsl_matrix_complex_float_view_vector_with_tda (gsl_vector_complex_float* v, const size_t n1, const size_t n2, const size_t tda); 252 _gsl_matrix_complex_float_const_view gsl_matrix_complex_float_const_submatrix (const(gsl_matrix_complex_float)* m, const size_t i, const size_t j, const size_t n1, const size_t n2); 253 _gsl_vector_complex_float_const_view gsl_matrix_complex_float_const_row (const(gsl_matrix_complex_float)* m, const size_t i); 254 _gsl_vector_complex_float_const_view gsl_matrix_complex_float_const_column (const(gsl_matrix_complex_float)* m, const size_t j); 255 _gsl_vector_complex_float_const_view gsl_matrix_complex_float_const_diagonal (const(gsl_matrix_complex_float)* m); 256 _gsl_vector_complex_float_const_view gsl_matrix_complex_float_const_subdiagonal (const(gsl_matrix_complex_float)* m, const size_t k); 257 _gsl_vector_complex_float_const_view gsl_matrix_complex_float_const_superdiagonal (const(gsl_matrix_complex_float)* m, const size_t k); 258 _gsl_vector_complex_float_const_view gsl_matrix_complex_float_const_subrow (const(gsl_matrix_complex_float)* m, const size_t i, const size_t offset, const size_t n); 259 _gsl_vector_complex_float_const_view gsl_matrix_complex_float_const_subcolumn (const(gsl_matrix_complex_float)* m, const size_t j, const size_t offset, const size_t n); 260 _gsl_matrix_complex_float_const_view gsl_matrix_complex_float_const_view_array (const(float)* base, const size_t n1, const size_t n2); 261 _gsl_matrix_complex_float_const_view gsl_matrix_complex_float_const_view_array_with_tda (const(float)* base, const size_t n1, const size_t n2, const size_t tda); 262 _gsl_matrix_complex_float_const_view gsl_matrix_complex_float_const_view_vector (const(gsl_vector_complex_float)* v, const size_t n1, const size_t n2); 263 _gsl_matrix_complex_float_const_view gsl_matrix_complex_float_const_view_vector_with_tda (const(gsl_vector_complex_float)* v, const size_t n1, const size_t n2, const size_t tda); 264 void gsl_matrix_complex_float_set_zero (gsl_matrix_complex_float* m); 265 void gsl_matrix_complex_float_set_identity (gsl_matrix_complex_float* m); 266 void gsl_matrix_complex_float_set_all (gsl_matrix_complex_float* m, gsl_complex_float x); 267 int gsl_matrix_complex_float_fread (FILE* stream, gsl_matrix_complex_float* m); 268 int gsl_matrix_complex_float_fwrite (FILE* stream, const(gsl_matrix_complex_float)* m); 269 int gsl_matrix_complex_float_fscanf (FILE* stream, gsl_matrix_complex_float* m); 270 int gsl_matrix_complex_float_fprintf (FILE* stream, const(gsl_matrix_complex_float)* m, const(char)* format); 271 int gsl_matrix_complex_float_memcpy (gsl_matrix_complex_float* dest, const(gsl_matrix_complex_float)* src); 272 int gsl_matrix_complex_float_swap (gsl_matrix_complex_float* m1, gsl_matrix_complex_float* m2); 273 int gsl_matrix_complex_float_swap_rows (gsl_matrix_complex_float* m, const size_t i, const size_t j); 274 int gsl_matrix_complex_float_swap_columns (gsl_matrix_complex_float* m, const size_t i, const size_t j); 275 int gsl_matrix_complex_float_swap_rowcol (gsl_matrix_complex_float* m, const size_t i, const size_t j); 276 int gsl_matrix_complex_float_transpose (gsl_matrix_complex_float* m); 277 int gsl_matrix_complex_float_transpose_memcpy (gsl_matrix_complex_float* dest, const(gsl_matrix_complex_float)* src); 278 int gsl_matrix_complex_float_equal (const(gsl_matrix_complex_float)* a, const(gsl_matrix_complex_float)* b); 279 int gsl_matrix_complex_float_isnull (const(gsl_matrix_complex_float)* m); 280 int gsl_matrix_complex_float_ispos (const(gsl_matrix_complex_float)* m); 281 int gsl_matrix_complex_float_isneg (const(gsl_matrix_complex_float)* m); 282 int gsl_matrix_complex_float_isnonneg (const(gsl_matrix_complex_float)* m); 283 int gsl_matrix_complex_float_add (gsl_matrix_complex_float* a, const(gsl_matrix_complex_float)* b); 284 int gsl_matrix_complex_float_sub (gsl_matrix_complex_float* a, const(gsl_matrix_complex_float)* b); 285 int gsl_matrix_complex_float_mul_elements (gsl_matrix_complex_float* a, const(gsl_matrix_complex_float)* b); 286 int gsl_matrix_complex_float_div_elements (gsl_matrix_complex_float* a, const(gsl_matrix_complex_float)* b); 287 int gsl_matrix_complex_float_scale (gsl_matrix_complex_float* a, const gsl_complex_float x); 288 int gsl_matrix_complex_float_add_constant (gsl_matrix_complex_float* a, const gsl_complex_float x); 289 int gsl_matrix_complex_float_add_diagonal (gsl_matrix_complex_float* a, const gsl_complex_float x); 290 int gsl_matrix_complex_float_get_row (gsl_vector_complex_float* v, const(gsl_matrix_complex_float)* m, const size_t i); 291 int gsl_matrix_complex_float_get_col (gsl_vector_complex_float* v, const(gsl_matrix_complex_float)* m, const size_t j); 292 int gsl_matrix_complex_float_set_row (gsl_matrix_complex_float* m, const size_t i, const(gsl_vector_complex_float)* v); 293 int gsl_matrix_complex_float_set_col (gsl_matrix_complex_float* m, const size_t j, const(gsl_vector_complex_float)* v); 294 gsl_complex_float gsl_matrix_complex_float_get (const(gsl_matrix_complex_float)* m, const size_t i, const size_t j); 295 void gsl_matrix_complex_float_set (gsl_matrix_complex_float* m, const size_t i, const size_t j, const gsl_complex_float x); 296 gsl_complex_float* gsl_matrix_complex_float_ptr (gsl_matrix_complex_float* m, const size_t i, const size_t j); 297 const(gsl_complex_float)* gsl_matrix_complex_float_const_ptr (const(gsl_matrix_complex_float)* m, const size_t i, const size_t j); 298 299 300 //gsl_matrix_complex_long_double 301 struct gsl_matrix_complex_long_double 302 { 303 size_t size1; 304 size_t size2; 305 size_t tda; 306 real* data; 307 gsl_block_complex_long_double* block; 308 int owner; 309 } 310 311 struct _gsl_matrix_complex_long_double_view 312 { 313 gsl_matrix_complex_long_double matrix; 314 } 315 316 struct _gsl_matrix_complex_long_double_const_view 317 { 318 gsl_matrix_complex_long_double matrix; 319 } 320 321 alias _gsl_matrix_complex_long_double_view gsl_matrix_complex_long_double_view; 322 alias const _gsl_matrix_complex_long_double_const_view gsl_matrix_complex_long_double_const_view; 323 324 gsl_matrix_complex_long_double* gsl_matrix_complex_long_double_alloc (const size_t n1, const size_t n2); 325 gsl_matrix_complex_long_double* gsl_matrix_complex_long_double_calloc (const size_t n1, const size_t n2); 326 gsl_matrix_complex_long_double* gsl_matrix_complex_long_double_alloc_from_block (gsl_block_complex_long_double* b, const size_t offset, const size_t n1, const size_t n2, const size_t d2); 327 gsl_matrix_complex_long_double* gsl_matrix_complex_long_double_alloc_from_matrix (gsl_matrix_complex_long_double* b, const size_t k1, const size_t k2, const size_t n1, const size_t n2); 328 gsl_vector_complex_long_double* gsl_vector_complex_long_double_alloc_row_from_matrix (gsl_matrix_complex_long_double* m, const size_t i); 329 gsl_vector_complex_long_double* gsl_vector_complex_long_double_alloc_col_from_matrix (gsl_matrix_complex_long_double* m, const size_t j); 330 void gsl_matrix_complex_long_double_free (gsl_matrix_complex_long_double* m); 331 _gsl_matrix_complex_long_double_view gsl_matrix_complex_long_double_submatrix (gsl_matrix_complex_long_double* m, const size_t i, const size_t j, const size_t n1, const size_t n2); 332 _gsl_vector_complex_long_double_view gsl_matrix_complex_long_double_row (gsl_matrix_complex_long_double* m, const size_t i); 333 _gsl_vector_complex_long_double_view gsl_matrix_complex_long_double_column (gsl_matrix_complex_long_double* m, const size_t j); 334 _gsl_vector_complex_long_double_view gsl_matrix_complex_long_double_diagonal (gsl_matrix_complex_long_double* m); 335 _gsl_vector_complex_long_double_view gsl_matrix_complex_long_double_subdiagonal (gsl_matrix_complex_long_double* m, const size_t k); 336 _gsl_vector_complex_long_double_view gsl_matrix_complex_long_double_superdiagonal (gsl_matrix_complex_long_double* m, const size_t k); 337 _gsl_vector_complex_long_double_view gsl_matrix_complex_long_double_subrow (gsl_matrix_complex_long_double* m, const size_t i, const size_t offset, const size_t n); 338 _gsl_vector_complex_long_double_view gsl_matrix_complex_long_double_subcolumn (gsl_matrix_complex_long_double* m, const size_t j, const size_t offset, const size_t n); 339 _gsl_matrix_complex_long_double_view gsl_matrix_complex_long_double_view_array (real* base, const size_t n1, const size_t n2); 340 _gsl_matrix_complex_long_double_view gsl_matrix_complex_long_double_view_array_with_tda (real* base, const size_t n1, const size_t n2, const size_t tda); 341 _gsl_matrix_complex_long_double_view gsl_matrix_complex_long_double_view_vector (gsl_vector_complex_long_double* v, const size_t n1, const size_t n2); 342 _gsl_matrix_complex_long_double_view gsl_matrix_complex_long_double_view_vector_with_tda (gsl_vector_complex_long_double* v, const size_t n1, const size_t n2, const size_t tda); 343 _gsl_matrix_complex_long_double_const_view gsl_matrix_complex_long_double_const_submatrix (const(gsl_matrix_complex_long_double)* m, const size_t i, const size_t j, const size_t n1, const size_t n2); 344 _gsl_vector_complex_long_double_const_view gsl_matrix_complex_long_double_const_row (const(gsl_matrix_complex_long_double)* m, const size_t i); 345 _gsl_vector_complex_long_double_const_view gsl_matrix_complex_long_double_const_column (const(gsl_matrix_complex_long_double)* m, const size_t j); 346 _gsl_vector_complex_long_double_const_view gsl_matrix_complex_long_double_const_diagonal (const(gsl_matrix_complex_long_double)* m); 347 _gsl_vector_complex_long_double_const_view gsl_matrix_complex_long_double_const_subdiagonal (const(gsl_matrix_complex_long_double)* m, const size_t k); 348 _gsl_vector_complex_long_double_const_view gsl_matrix_complex_long_double_const_superdiagonal (const(gsl_matrix_complex_long_double)* m, const size_t k); 349 _gsl_vector_complex_long_double_const_view gsl_matrix_complex_long_double_const_subrow (const(gsl_matrix_complex_long_double)* m, const size_t i, const size_t offset, const size_t n); 350 _gsl_vector_complex_long_double_const_view gsl_matrix_complex_long_double_const_subcolumn (const(gsl_matrix_complex_long_double)* m, const size_t j, const size_t offset, const size_t n); 351 _gsl_matrix_complex_long_double_const_view gsl_matrix_complex_long_double_const_view_array (const(real)* base, const size_t n1, const size_t n2); 352 _gsl_matrix_complex_long_double_const_view gsl_matrix_complex_long_double_const_view_array_with_tda (const(real)* base, const size_t n1, const size_t n2, const size_t tda); 353 _gsl_matrix_complex_long_double_const_view gsl_matrix_complex_long_double_const_view_vector (const(gsl_vector_complex_long_double)* v, const size_t n1, const size_t n2); 354 _gsl_matrix_complex_long_double_const_view gsl_matrix_complex_long_double_const_view_vector_with_tda (const(gsl_vector_complex_long_double)* v, const size_t n1, const size_t n2, const size_t tda); 355 void gsl_matrix_complex_long_double_set_zero (gsl_matrix_complex_long_double* m); 356 void gsl_matrix_complex_long_double_set_identity (gsl_matrix_complex_long_double* m); 357 void gsl_matrix_complex_long_double_set_all (gsl_matrix_complex_long_double* m, gsl_complex_long_double x); 358 int gsl_matrix_complex_long_double_fread (FILE* stream, gsl_matrix_complex_long_double* m); 359 int gsl_matrix_complex_long_double_fwrite (FILE* stream, const(gsl_matrix_complex_long_double)* m); 360 int gsl_matrix_complex_long_double_fscanf (FILE* stream, gsl_matrix_complex_long_double* m); 361 int gsl_matrix_complex_long_double_fprintf (FILE* stream, const(gsl_matrix_complex_long_double)* m, const(char)* format); 362 int gsl_matrix_complex_long_double_memcpy (gsl_matrix_complex_long_double* dest, const(gsl_matrix_complex_long_double)* src); 363 int gsl_matrix_complex_long_double_swap (gsl_matrix_complex_long_double* m1, gsl_matrix_complex_long_double* m2); 364 int gsl_matrix_complex_long_double_swap_rows (gsl_matrix_complex_long_double* m, const size_t i, const size_t j); 365 int gsl_matrix_complex_long_double_swap_columns (gsl_matrix_complex_long_double* m, const size_t i, const size_t j); 366 int gsl_matrix_complex_long_double_swap_rowcol (gsl_matrix_complex_long_double* m, const size_t i, const size_t j); 367 int gsl_matrix_complex_long_double_transpose (gsl_matrix_complex_long_double* m); 368 int gsl_matrix_complex_long_double_transpose_memcpy (gsl_matrix_complex_long_double* dest, const(gsl_matrix_complex_long_double)* src); 369 int gsl_matrix_complex_long_double_equal (const(gsl_matrix_complex_long_double)* a, const(gsl_matrix_complex_long_double)* b); 370 int gsl_matrix_complex_long_double_isnull (const(gsl_matrix_complex_long_double)* m); 371 int gsl_matrix_complex_long_double_ispos (const(gsl_matrix_complex_long_double)* m); 372 int gsl_matrix_complex_long_double_isneg (const(gsl_matrix_complex_long_double)* m); 373 int gsl_matrix_complex_long_double_isnonneg (const(gsl_matrix_complex_long_double)* m); 374 int gsl_matrix_complex_long_double_add (gsl_matrix_complex_long_double* a, const(gsl_matrix_complex_long_double)* b); 375 int gsl_matrix_complex_long_double_sub (gsl_matrix_complex_long_double* a, const(gsl_matrix_complex_long_double)* b); 376 int gsl_matrix_complex_long_double_mul_elements (gsl_matrix_complex_long_double* a, const(gsl_matrix_complex_long_double)* b); 377 int gsl_matrix_complex_long_double_div_elements (gsl_matrix_complex_long_double* a, const(gsl_matrix_complex_long_double)* b); 378 int gsl_matrix_complex_long_double_scale (gsl_matrix_complex_long_double* a, const gsl_complex_long_double x); 379 int gsl_matrix_complex_long_double_add_constant (gsl_matrix_complex_long_double* a, const gsl_complex_long_double x); 380 int gsl_matrix_complex_long_double_add_diagonal (gsl_matrix_complex_long_double* a, const gsl_complex_long_double x); 381 int gsl_matrix_complex_long_double_get_row (gsl_vector_complex_long_double* v, const(gsl_matrix_complex_long_double)* m, const size_t i); 382 int gsl_matrix_complex_long_double_get_col (gsl_vector_complex_long_double* v, const(gsl_matrix_complex_long_double)* m, const size_t j); 383 int gsl_matrix_complex_long_double_set_row (gsl_matrix_complex_long_double* m, const size_t i, const(gsl_vector_complex_long_double)* v); 384 int gsl_matrix_complex_long_double_set_col (gsl_matrix_complex_long_double* m, const size_t j, const(gsl_vector_complex_long_double)* v); 385 gsl_complex_long_double gsl_matrix_complex_long_double_get (const(gsl_matrix_complex_long_double)* m, const size_t i, const size_t j); 386 void gsl_matrix_complex_long_double_set (gsl_matrix_complex_long_double* m, const size_t i, const size_t j, const gsl_complex_long_double x); 387 gsl_complex_long_double* gsl_matrix_complex_long_double_ptr (gsl_matrix_complex_long_double* m, const size_t i, const size_t j); 388 const(gsl_complex_long_double)* gsl_matrix_complex_long_double_const_ptr (const(gsl_matrix_complex_long_double)* m, const size_t i, const size_t j); 389 390 391 //gsl_matrix 392 struct gsl_matrix 393 { 394 size_t size1; 395 size_t size2; 396 size_t tda; 397 double* data; 398 gsl_block* block; 399 int owner; 400 } 401 402 struct _gsl_matrix_view 403 { 404 gsl_matrix matrix; 405 } 406 407 struct _gsl_matrix_const_view 408 { 409 gsl_matrix matrix; 410 } 411 412 alias _gsl_matrix_view gsl_matrix_view; 413 alias const _gsl_matrix_const_view gsl_matrix_const_view; 414 415 gsl_matrix* gsl_matrix_alloc (const size_t n1, const size_t n2); 416 gsl_matrix* gsl_matrix_calloc (const size_t n1, const size_t n2); 417 gsl_matrix* gsl_matrix_alloc_from_block (gsl_block* b, const size_t offset, const size_t n1, const size_t n2, const size_t d2); 418 gsl_matrix* gsl_matrix_alloc_from_matrix (gsl_matrix* m, const size_t k1, const size_t k2, const size_t n1, const size_t n2); 419 gsl_vector* gsl_vector_alloc_row_from_matrix (gsl_matrix* m, const size_t i); 420 gsl_vector* gsl_vector_alloc_col_from_matrix (gsl_matrix* m, const size_t j); 421 void gsl_matrix_free (gsl_matrix* m); 422 _gsl_matrix_view gsl_matrix_submatrix (gsl_matrix* m, const size_t i, const size_t j, const size_t n1, const size_t n2); 423 _gsl_vector_view gsl_matrix_row (gsl_matrix* m, const size_t i); 424 _gsl_vector_view gsl_matrix_column (gsl_matrix* m, const size_t j); 425 _gsl_vector_view gsl_matrix_diagonal (gsl_matrix* m); 426 _gsl_vector_view gsl_matrix_subdiagonal (gsl_matrix* m, const size_t k); 427 _gsl_vector_view gsl_matrix_superdiagonal (gsl_matrix* m, const size_t k); 428 _gsl_vector_view gsl_matrix_subrow (gsl_matrix* m, const size_t i, const size_t offset, const size_t n); 429 _gsl_vector_view gsl_matrix_subcolumn (gsl_matrix* m, const size_t j, const size_t offset, const size_t n); 430 _gsl_matrix_view gsl_matrix_view_array (double* base, const size_t n1, const size_t n2); 431 _gsl_matrix_view gsl_matrix_view_array_with_tda (double* base, const size_t n1, const size_t n2, const size_t tda); 432 _gsl_matrix_view gsl_matrix_view_vector (gsl_vector* v, const size_t n1, const size_t n2); 433 _gsl_matrix_view gsl_matrix_view_vector_with_tda (gsl_vector* v, const size_t n1, const size_t n2, const size_t tda); 434 _gsl_matrix_const_view gsl_matrix_const_submatrix (const(gsl_matrix)* m, const size_t i, const size_t j, const size_t n1, const size_t n2); 435 _gsl_vector_const_view gsl_matrix_const_row (const(gsl_matrix)* m, const size_t i); 436 _gsl_vector_const_view gsl_matrix_const_column (const(gsl_matrix)* m, const size_t j); 437 _gsl_vector_const_view gsl_matrix_const_diagonal (const(gsl_matrix)* m); 438 _gsl_vector_const_view gsl_matrix_const_subdiagonal (const(gsl_matrix)* m, const size_t k); 439 _gsl_vector_const_view gsl_matrix_const_superdiagonal (const(gsl_matrix)* m, const size_t k); 440 _gsl_vector_const_view gsl_matrix_const_subrow (const(gsl_matrix)* m, const size_t i, const size_t offset, const size_t n); 441 _gsl_vector_const_view gsl_matrix_const_subcolumn (const(gsl_matrix)* m, const size_t j, const size_t offset, const size_t n); 442 _gsl_matrix_const_view gsl_matrix_const_view_array (const(double)* base, const size_t n1, const size_t n2); 443 _gsl_matrix_const_view gsl_matrix_const_view_array_with_tda (const(double)* base, const size_t n1, const size_t n2, const size_t tda); 444 _gsl_matrix_const_view gsl_matrix_const_view_vector (const(gsl_vector)* v, const size_t n1, const size_t n2); 445 _gsl_matrix_const_view gsl_matrix_const_view_vector_with_tda (const(gsl_vector)* v, const size_t n1, const size_t n2, const size_t tda); 446 void gsl_matrix_set_zero (gsl_matrix* m); 447 void gsl_matrix_set_identity (gsl_matrix* m); 448 void gsl_matrix_set_all (gsl_matrix* m, double x); 449 int gsl_matrix_fread (FILE* stream, gsl_matrix* m); 450 int gsl_matrix_fwrite (FILE* stream, const(gsl_matrix)* m); 451 int gsl_matrix_fscanf (FILE* stream, gsl_matrix* m); 452 int gsl_matrix_fprintf (FILE* stream, const(gsl_matrix)* m, const(char)* format); 453 int gsl_matrix_memcpy (gsl_matrix* dest, const(gsl_matrix)* src); 454 int gsl_matrix_swap (gsl_matrix* m1, gsl_matrix* m2); 455 int gsl_matrix_swap_rows (gsl_matrix* m, const size_t i, const size_t j); 456 int gsl_matrix_swap_columns (gsl_matrix* m, const size_t i, const size_t j); 457 int gsl_matrix_swap_rowcol (gsl_matrix* m, const size_t i, const size_t j); 458 int gsl_matrix_transpose (gsl_matrix* m); 459 int gsl_matrix_transpose_memcpy (gsl_matrix* dest, const(gsl_matrix)* src); 460 double gsl_matrix_max (const(gsl_matrix)* m); 461 double gsl_matrix_min (const(gsl_matrix)* m); 462 void gsl_matrix_minmax (const(gsl_matrix)* m, double* min_out, double* max_out); 463 void gsl_matrix_max_index (const(gsl_matrix)* m, size_t* imax, size_t* jmax); 464 void gsl_matrix_min_index (const(gsl_matrix)* m, size_t* imin, size_t* jmin); 465 void gsl_matrix_minmax_index (const(gsl_matrix)* m, size_t* imin, size_t* jmin, size_t* imax, size_t* jmax); 466 int gsl_matrix_equal (const(gsl_matrix)* a, const(gsl_matrix)* b); 467 int gsl_matrix_isnull (const(gsl_matrix)* m); 468 int gsl_matrix_ispos (const(gsl_matrix)* m); 469 int gsl_matrix_isneg (const(gsl_matrix)* m); 470 int gsl_matrix_isnonneg (const(gsl_matrix)* m); 471 int gsl_matrix_add (gsl_matrix* a, const(gsl_matrix)* b); 472 int gsl_matrix_sub (gsl_matrix* a, const(gsl_matrix)* b); 473 int gsl_matrix_mul_elements (gsl_matrix* a, const(gsl_matrix)* b); 474 int gsl_matrix_div_elements (gsl_matrix* a, const(gsl_matrix)* b); 475 int gsl_matrix_scale (gsl_matrix* a, const double x); 476 int gsl_matrix_add_constant (gsl_matrix* a, const double x); 477 int gsl_matrix_add_diagonal (gsl_matrix* a, const double x); 478 int gsl_matrix_get_row (gsl_vector* v, const(gsl_matrix)* m, const size_t i); 479 int gsl_matrix_get_col (gsl_vector* v, const(gsl_matrix)* m, const size_t j); 480 int gsl_matrix_set_row (gsl_matrix* m, const size_t i, const(gsl_vector)* v); 481 int gsl_matrix_set_col (gsl_matrix* m, const size_t j, const(gsl_vector)* v); 482 double gsl_matrix_get (const(gsl_matrix)* m, const size_t i, const size_t j); 483 void gsl_matrix_set (gsl_matrix* m, const size_t i, const size_t j, const double x); 484 double* gsl_matrix_ptr (gsl_matrix* m, const size_t i, const size_t j); 485 const(double)* gsl_matrix_const_ptr (const(gsl_matrix)* m, const size_t i, const size_t j); 486 487 488 //gsl_matrix_float 489 struct gsl_matrix_float 490 { 491 size_t size1; 492 size_t size2; 493 size_t tda; 494 float* data; 495 gsl_block_float* block; 496 int owner; 497 } 498 499 struct _gsl_matrix_float_view 500 { 501 gsl_matrix_float matrix; 502 } 503 504 struct _gsl_matrix_float_const_view 505 { 506 gsl_matrix_float matrix; 507 } 508 509 alias _gsl_matrix_float_view gsl_matrix_float_view; 510 alias const _gsl_matrix_float_const_view gsl_matrix_float_const_view; 511 512 gsl_matrix_float* gsl_matrix_float_alloc (const size_t n1, const size_t n2); 513 gsl_matrix_float* gsl_matrix_float_calloc (const size_t n1, const size_t n2); 514 gsl_matrix_float* gsl_matrix_float_alloc_from_block (gsl_block_float* b, const size_t offset, const size_t n1, const size_t n2, const size_t d2); 515 gsl_matrix_float* gsl_matrix_float_alloc_from_matrix (gsl_matrix_float* m, const size_t k1, const size_t k2, const size_t n1, const size_t n2); 516 gsl_vector_float* gsl_vector_float_alloc_row_from_matrix (gsl_matrix_float* m, const size_t i); 517 gsl_vector_float* gsl_vector_float_alloc_col_from_matrix (gsl_matrix_float* m, const size_t j); 518 void gsl_matrix_float_free (gsl_matrix_float* m); 519 _gsl_matrix_float_view gsl_matrix_float_submatrix (gsl_matrix_float* m, const size_t i, const size_t j, const size_t n1, const size_t n2); 520 _gsl_vector_float_view gsl_matrix_float_row (gsl_matrix_float* m, const size_t i); 521 _gsl_vector_float_view gsl_matrix_float_column (gsl_matrix_float* m, const size_t j); 522 _gsl_vector_float_view gsl_matrix_float_diagonal (gsl_matrix_float* m); 523 _gsl_vector_float_view gsl_matrix_float_subdiagonal (gsl_matrix_float* m, const size_t k); 524 _gsl_vector_float_view gsl_matrix_float_superdiagonal (gsl_matrix_float* m, const size_t k); 525 _gsl_vector_float_view gsl_matrix_float_subrow (gsl_matrix_float* m, const size_t i, const size_t offset, const size_t n); 526 _gsl_vector_float_view gsl_matrix_float_subcolumn (gsl_matrix_float* m, const size_t j, const size_t offset, const size_t n); 527 _gsl_matrix_float_view gsl_matrix_float_view_array (float* base, const size_t n1, const size_t n2); 528 _gsl_matrix_float_view gsl_matrix_float_view_array_with_tda (float* base, const size_t n1, const size_t n2, const size_t tda); 529 _gsl_matrix_float_view gsl_matrix_float_view_vector (gsl_vector_float* v, const size_t n1, const size_t n2); 530 _gsl_matrix_float_view gsl_matrix_float_view_vector_with_tda (gsl_vector_float* v, const size_t n1, const size_t n2, const size_t tda); 531 _gsl_matrix_float_const_view gsl_matrix_float_const_submatrix (const(gsl_matrix_float)* m, const size_t i, const size_t j, const size_t n1, const size_t n2); 532 _gsl_vector_float_const_view gsl_matrix_float_const_row (const(gsl_matrix_float)* m, const size_t i); 533 _gsl_vector_float_const_view gsl_matrix_float_const_column (const(gsl_matrix_float)* m, const size_t j); 534 _gsl_vector_float_const_view gsl_matrix_float_const_diagonal (const(gsl_matrix_float)* m); 535 _gsl_vector_float_const_view gsl_matrix_float_const_subdiagonal (const(gsl_matrix_float)* m, const size_t k); 536 _gsl_vector_float_const_view gsl_matrix_float_const_superdiagonal (const(gsl_matrix_float)* m, const size_t k); 537 _gsl_vector_float_const_view gsl_matrix_float_const_subrow (const(gsl_matrix_float)* m, const size_t i, const size_t offset, const size_t n); 538 _gsl_vector_float_const_view gsl_matrix_float_const_subcolumn (const(gsl_matrix_float)* m, const size_t j, const size_t offset, const size_t n); 539 _gsl_matrix_float_const_view gsl_matrix_float_const_view_array (const(float)* base, const size_t n1, const size_t n2); 540 _gsl_matrix_float_const_view gsl_matrix_float_const_view_array_with_tda (const(float)* base, const size_t n1, const size_t n2, const size_t tda); 541 _gsl_matrix_float_const_view gsl_matrix_float_const_view_vector (const(gsl_vector_float)* v, const size_t n1, const size_t n2); 542 _gsl_matrix_float_const_view gsl_matrix_float_const_view_vector_with_tda (const(gsl_vector_float)* v, const size_t n1, const size_t n2, const size_t tda); 543 void gsl_matrix_float_set_zero (gsl_matrix_float* m); 544 void gsl_matrix_float_set_identity (gsl_matrix_float* m); 545 void gsl_matrix_float_set_all (gsl_matrix_float* m, float x); 546 int gsl_matrix_float_fread (FILE* stream, gsl_matrix_float* m); 547 int gsl_matrix_float_fwrite (FILE* stream, const(gsl_matrix_float)* m); 548 int gsl_matrix_float_fscanf (FILE* stream, gsl_matrix_float* m); 549 int gsl_matrix_float_fprintf (FILE* stream, const(gsl_matrix_float)* m, const(char)* format); 550 int gsl_matrix_float_memcpy (gsl_matrix_float* dest, const(gsl_matrix_float)* src); 551 int gsl_matrix_float_swap (gsl_matrix_float* m1, gsl_matrix_float* m2); 552 int gsl_matrix_float_swap_rows (gsl_matrix_float* m, const size_t i, const size_t j); 553 int gsl_matrix_float_swap_columns (gsl_matrix_float* m, const size_t i, const size_t j); 554 int gsl_matrix_float_swap_rowcol (gsl_matrix_float* m, const size_t i, const size_t j); 555 int gsl_matrix_float_transpose (gsl_matrix_float* m); 556 int gsl_matrix_float_transpose_memcpy (gsl_matrix_float* dest, const(gsl_matrix_float)* src); 557 float gsl_matrix_float_max (const(gsl_matrix_float)* m); 558 float gsl_matrix_float_min (const(gsl_matrix_float)* m); 559 void gsl_matrix_float_minmax (const(gsl_matrix_float)* m, float* min_out, float* max_out); 560 void gsl_matrix_float_max_index (const(gsl_matrix_float)* m, size_t* imax, size_t* jmax); 561 void gsl_matrix_float_min_index (const(gsl_matrix_float)* m, size_t* imin, size_t* jmin); 562 void gsl_matrix_float_minmax_index (const(gsl_matrix_float)* m, size_t* imin, size_t* jmin, size_t* imax, size_t* jmax); 563 int gsl_matrix_float_equal (const(gsl_matrix_float)* a, const(gsl_matrix_float)* b); 564 int gsl_matrix_float_isnull (const(gsl_matrix_float)* m); 565 int gsl_matrix_float_ispos (const(gsl_matrix_float)* m); 566 int gsl_matrix_float_isneg (const(gsl_matrix_float)* m); 567 int gsl_matrix_float_isnonneg (const(gsl_matrix_float)* m); 568 int gsl_matrix_float_add (gsl_matrix_float* a, const(gsl_matrix_float)* b); 569 int gsl_matrix_float_sub (gsl_matrix_float* a, const(gsl_matrix_float)* b); 570 int gsl_matrix_float_mul_elements (gsl_matrix_float* a, const(gsl_matrix_float)* b); 571 int gsl_matrix_float_div_elements (gsl_matrix_float* a, const(gsl_matrix_float)* b); 572 int gsl_matrix_float_scale (gsl_matrix_float* a, const double x); 573 int gsl_matrix_float_add_constant (gsl_matrix_float* a, const double x); 574 int gsl_matrix_float_add_diagonal (gsl_matrix_float* a, const double x); 575 int gsl_matrix_float_get_row (gsl_vector_float* v, const(gsl_matrix_float)* m, const size_t i); 576 int gsl_matrix_float_get_col (gsl_vector_float* v, const(gsl_matrix_float)* m, const size_t j); 577 int gsl_matrix_float_set_row (gsl_matrix_float* m, const size_t i, const(gsl_vector_float)* v); 578 int gsl_matrix_float_set_col (gsl_matrix_float* m, const size_t j, const(gsl_vector_float)* v); 579 float gsl_matrix_float_get (const(gsl_matrix_float)* m, const size_t i, const size_t j); 580 void gsl_matrix_float_set (gsl_matrix_float* m, const size_t i, const size_t j, const float x); 581 float* gsl_matrix_float_ptr (gsl_matrix_float* m, const size_t i, const size_t j); 582 const(float)* gsl_matrix_float_const_ptr (const(gsl_matrix_float)* m, const size_t i, const size_t j); 583 584 585 //gsl_matrix_int 586 struct gsl_matrix_int 587 { 588 size_t size1; 589 size_t size2; 590 size_t tda; 591 int* data; 592 gsl_block_int* block; 593 int owner; 594 } 595 596 struct _gsl_matrix_int_view 597 { 598 gsl_matrix_int matrix; 599 } 600 601 struct _gsl_matrix_int_const_view 602 { 603 gsl_matrix_int matrix; 604 } 605 606 alias _gsl_matrix_int_view gsl_matrix_int_view; 607 alias const _gsl_matrix_int_const_view gsl_matrix_int_const_view; 608 609 gsl_matrix_int* gsl_matrix_int_alloc (const size_t n1, const size_t n2); 610 gsl_matrix_int* gsl_matrix_int_calloc (const size_t n1, const size_t n2); 611 gsl_matrix_int* gsl_matrix_int_alloc_from_block (gsl_block_int* b, const size_t offset, const size_t n1, const size_t n2, const size_t d2); 612 gsl_matrix_int* gsl_matrix_int_alloc_from_matrix (gsl_matrix_int* m, const size_t k1, const size_t k2, const size_t n1, const size_t n2); 613 gsl_vector_int* gsl_vector_int_alloc_row_from_matrix (gsl_matrix_int* m, const size_t i); 614 gsl_vector_int* gsl_vector_int_alloc_col_from_matrix (gsl_matrix_int* m, const size_t j); 615 void gsl_matrix_int_free (gsl_matrix_int* m); 616 _gsl_matrix_int_view gsl_matrix_int_submatrix (gsl_matrix_int* m, const size_t i, const size_t j, const size_t n1, const size_t n2); 617 _gsl_vector_int_view gsl_matrix_int_row (gsl_matrix_int* m, const size_t i); 618 _gsl_vector_int_view gsl_matrix_int_column (gsl_matrix_int* m, const size_t j); 619 _gsl_vector_int_view gsl_matrix_int_diagonal (gsl_matrix_int* m); 620 _gsl_vector_int_view gsl_matrix_int_subdiagonal (gsl_matrix_int* m, const size_t k); 621 _gsl_vector_int_view gsl_matrix_int_superdiagonal (gsl_matrix_int* m, const size_t k); 622 _gsl_vector_int_view gsl_matrix_int_subrow (gsl_matrix_int* m, const size_t i, const size_t offset, const size_t n); 623 _gsl_vector_int_view gsl_matrix_int_subcolumn (gsl_matrix_int* m, const size_t j, const size_t offset, const size_t n); 624 _gsl_matrix_int_view gsl_matrix_int_view_array (int* base, const size_t n1, const size_t n2); 625 _gsl_matrix_int_view gsl_matrix_int_view_array_with_tda (int* base, const size_t n1, const size_t n2, const size_t tda); 626 _gsl_matrix_int_view gsl_matrix_int_view_vector (gsl_vector_int* v, const size_t n1, const size_t n2); 627 _gsl_matrix_int_view gsl_matrix_int_view_vector_with_tda (gsl_vector_int* v, const size_t n1, const size_t n2, const size_t tda); 628 _gsl_matrix_int_const_view gsl_matrix_int_const_submatrix (const(gsl_matrix_int)* m, const size_t i, const size_t j, const size_t n1, const size_t n2); 629 _gsl_vector_int_const_view gsl_matrix_int_const_row (const(gsl_matrix_int)* m, const size_t i); 630 _gsl_vector_int_const_view gsl_matrix_int_const_column (const(gsl_matrix_int)* m, const size_t j); 631 _gsl_vector_int_const_view gsl_matrix_int_const_diagonal (const(gsl_matrix_int)* m); 632 _gsl_vector_int_const_view gsl_matrix_int_const_subdiagonal (const(gsl_matrix_int)* m, const size_t k); 633 _gsl_vector_int_const_view gsl_matrix_int_const_superdiagonal (const(gsl_matrix_int)* m, const size_t k); 634 _gsl_vector_int_const_view gsl_matrix_int_const_subrow (const(gsl_matrix_int)* m, const size_t i, const size_t offset, const size_t n); 635 _gsl_vector_int_const_view gsl_matrix_int_const_subcolumn (const(gsl_matrix_int)* m, const size_t j, const size_t offset, const size_t n); 636 _gsl_matrix_int_const_view gsl_matrix_int_const_view_array (const(int)* base, const size_t n1, const size_t n2); 637 _gsl_matrix_int_const_view gsl_matrix_int_const_view_array_with_tda (const(int)* base, const size_t n1, const size_t n2, const size_t tda); 638 _gsl_matrix_int_const_view gsl_matrix_int_const_view_vector (const(gsl_vector_int)* v, const size_t n1, const size_t n2); 639 _gsl_matrix_int_const_view gsl_matrix_int_const_view_vector_with_tda (const(gsl_vector_int)* v, const size_t n1, const size_t n2, const size_t tda); 640 void gsl_matrix_int_set_zero (gsl_matrix_int* m); 641 void gsl_matrix_int_set_identity (gsl_matrix_int* m); 642 void gsl_matrix_int_set_all (gsl_matrix_int* m, int x); 643 int gsl_matrix_int_fread (FILE* stream, gsl_matrix_int* m); 644 int gsl_matrix_int_fwrite (FILE* stream, const(gsl_matrix_int)* m); 645 int gsl_matrix_int_fscanf (FILE* stream, gsl_matrix_int* m); 646 int gsl_matrix_int_fprintf (FILE* stream, const(gsl_matrix_int)* m, const(char)* format); 647 int gsl_matrix_int_memcpy (gsl_matrix_int* dest, const(gsl_matrix_int)* src); 648 int gsl_matrix_int_swap (gsl_matrix_int* m1, gsl_matrix_int* m2); 649 int gsl_matrix_int_swap_rows (gsl_matrix_int* m, const size_t i, const size_t j); 650 int gsl_matrix_int_swap_columns (gsl_matrix_int* m, const size_t i, const size_t j); 651 int gsl_matrix_int_swap_rowcol (gsl_matrix_int* m, const size_t i, const size_t j); 652 int gsl_matrix_int_transpose (gsl_matrix_int* m); 653 int gsl_matrix_int_transpose_memcpy (gsl_matrix_int* dest, const(gsl_matrix_int)* src); 654 int gsl_matrix_int_max (const(gsl_matrix_int)* m); 655 int gsl_matrix_int_min (const(gsl_matrix_int)* m); 656 void gsl_matrix_int_minmax (const(gsl_matrix_int)* m, int* min_out, int* max_out); 657 void gsl_matrix_int_max_index (const(gsl_matrix_int)* m, size_t* imax, size_t* jmax); 658 void gsl_matrix_int_min_index (const(gsl_matrix_int)* m, size_t* imin, size_t* jmin); 659 void gsl_matrix_int_minmax_index (const(gsl_matrix_int)* m, size_t* imin, size_t* jmin, size_t* imax, size_t* jmax); 660 int gsl_matrix_int_equal (const(gsl_matrix_int)* a, const(gsl_matrix_int)* b); 661 int gsl_matrix_int_isnull (const(gsl_matrix_int)* m); 662 int gsl_matrix_int_ispos (const(gsl_matrix_int)* m); 663 int gsl_matrix_int_isneg (const(gsl_matrix_int)* m); 664 int gsl_matrix_int_isnonneg (const(gsl_matrix_int)* m); 665 int gsl_matrix_int_add (gsl_matrix_int* a, const(gsl_matrix_int)* b); 666 int gsl_matrix_int_sub (gsl_matrix_int* a, const(gsl_matrix_int)* b); 667 int gsl_matrix_int_mul_elements (gsl_matrix_int* a, const(gsl_matrix_int)* b); 668 int gsl_matrix_int_div_elements (gsl_matrix_int* a, const(gsl_matrix_int)* b); 669 int gsl_matrix_int_scale (gsl_matrix_int* a, const double x); 670 int gsl_matrix_int_add_constant (gsl_matrix_int* a, const double x); 671 int gsl_matrix_int_add_diagonal (gsl_matrix_int* a, const double x); 672 int gsl_matrix_int_get_row (gsl_vector_int* v, const(gsl_matrix_int)* m, const size_t i); 673 int gsl_matrix_int_get_col (gsl_vector_int* v, const(gsl_matrix_int)* m, const size_t j); 674 int gsl_matrix_int_set_row (gsl_matrix_int* m, const size_t i, const(gsl_vector_int)* v); 675 int gsl_matrix_int_set_col (gsl_matrix_int* m, const size_t j, const(gsl_vector_int)* v); 676 int gsl_matrix_int_get (const(gsl_matrix_int)* m, const size_t i, const size_t j); 677 void gsl_matrix_int_set (gsl_matrix_int* m, const size_t i, const size_t j, const int x); 678 int* gsl_matrix_int_ptr (gsl_matrix_int* m, const size_t i, const size_t j); 679 const(int)* gsl_matrix_int_const_ptr (const(gsl_matrix_int)* m, const size_t i, const size_t j); 680 681 682 //gsl_matrix_long 683 struct gsl_matrix_long 684 { 685 size_t size1; 686 size_t size2; 687 size_t tda; 688 c_long* data; 689 gsl_block_long* block; 690 int owner; 691 } 692 693 struct _gsl_matrix_long_view 694 { 695 gsl_matrix_long matrix; 696 } 697 698 struct _gsl_matrix_long_const_view 699 { 700 gsl_matrix_long matrix; 701 } 702 703 alias _gsl_matrix_long_view gsl_matrix_long_view; 704 alias const _gsl_matrix_long_const_view gsl_matrix_long_const_view; 705 706 gsl_matrix_long* gsl_matrix_long_alloc (const size_t n1, const size_t n2); 707 gsl_matrix_long* gsl_matrix_long_calloc (const size_t n1, const size_t n2); 708 gsl_matrix_long* gsl_matrix_long_alloc_from_block (gsl_block_long* b, const size_t offset, const size_t n1, const size_t n2, const size_t d2); 709 gsl_matrix_long* gsl_matrix_long_alloc_from_matrix (gsl_matrix_long* m, const size_t k1, const size_t k2, const size_t n1, const size_t n2); 710 gsl_vector_long* gsl_vector_long_alloc_row_from_matrix (gsl_matrix_long* m, const size_t i); 711 gsl_vector_long* gsl_vector_long_alloc_col_from_matrix (gsl_matrix_long* m, const size_t j); 712 void gsl_matrix_long_free (gsl_matrix_long* m); 713 _gsl_matrix_long_view gsl_matrix_long_submatrix (gsl_matrix_long* m, const size_t i, const size_t j, const size_t n1, const size_t n2); 714 _gsl_vector_long_view gsl_matrix_long_row (gsl_matrix_long* m, const size_t i); 715 _gsl_vector_long_view gsl_matrix_long_column (gsl_matrix_long* m, const size_t j); 716 _gsl_vector_long_view gsl_matrix_long_diagonal (gsl_matrix_long* m); 717 _gsl_vector_long_view gsl_matrix_long_subdiagonal (gsl_matrix_long* m, const size_t k); 718 _gsl_vector_long_view gsl_matrix_long_superdiagonal (gsl_matrix_long* m, const size_t k); 719 _gsl_vector_long_view gsl_matrix_long_subrow (gsl_matrix_long* m, const size_t i, const size_t offset, const size_t n); 720 _gsl_vector_long_view gsl_matrix_long_subcolumn (gsl_matrix_long* m, const size_t j, const size_t offset, const size_t n); 721 _gsl_matrix_long_view gsl_matrix_long_view_array (c_long* base, const size_t n1, const size_t n2); 722 _gsl_matrix_long_view gsl_matrix_long_view_array_with_tda (c_long* base, const size_t n1, const size_t n2, const size_t tda); 723 _gsl_matrix_long_view gsl_matrix_long_view_vector (gsl_vector_long* v, const size_t n1, const size_t n2); 724 _gsl_matrix_long_view gsl_matrix_long_view_vector_with_tda (gsl_vector_long* v, const size_t n1, const size_t n2, const size_t tda); 725 _gsl_matrix_long_const_view gsl_matrix_long_const_submatrix (const(gsl_matrix_long)* m, const size_t i, const size_t j, const size_t n1, const size_t n2); 726 _gsl_vector_long_const_view gsl_matrix_long_const_row (const(gsl_matrix_long)* m, const size_t i); 727 _gsl_vector_long_const_view gsl_matrix_long_const_column (const(gsl_matrix_long)* m, const size_t j); 728 _gsl_vector_long_const_view gsl_matrix_long_const_diagonal (const(gsl_matrix_long)* m); 729 _gsl_vector_long_const_view gsl_matrix_long_const_subdiagonal (const(gsl_matrix_long)* m, const size_t k); 730 _gsl_vector_long_const_view gsl_matrix_long_const_superdiagonal (const(gsl_matrix_long)* m, const size_t k); 731 _gsl_vector_long_const_view gsl_matrix_long_const_subrow (const(gsl_matrix_long)* m, const size_t i, const size_t offset, const size_t n); 732 _gsl_vector_long_const_view gsl_matrix_long_const_subcolumn (const(gsl_matrix_long)* m, const size_t j, const size_t offset, const size_t n); 733 _gsl_matrix_long_const_view gsl_matrix_long_const_view_array (const(c_long)* base, const size_t n1, const size_t n2); 734 _gsl_matrix_long_const_view gsl_matrix_long_const_view_array_with_tda (const(c_long)* base, const size_t n1, const size_t n2, const size_t tda); 735 _gsl_matrix_long_const_view gsl_matrix_long_const_view_vector (const(gsl_vector_long)* v, const size_t n1, const size_t n2); 736 _gsl_matrix_long_const_view gsl_matrix_long_const_view_vector_with_tda (const(gsl_vector_long)* v, const size_t n1, const size_t n2, const size_t tda); 737 void gsl_matrix_long_set_zero (gsl_matrix_long* m); 738 void gsl_matrix_long_set_identity (gsl_matrix_long* m); 739 void gsl_matrix_long_set_all (gsl_matrix_long* m, c_long x); 740 int gsl_matrix_long_fread (FILE* stream, gsl_matrix_long* m); 741 int gsl_matrix_long_fwrite (FILE* stream, const(gsl_matrix_long)* m); 742 int gsl_matrix_long_fscanf (FILE* stream, gsl_matrix_long* m); 743 int gsl_matrix_long_fprintf (FILE* stream, const(gsl_matrix_long)* m, const(char)* format); 744 int gsl_matrix_long_memcpy (gsl_matrix_long* dest, const(gsl_matrix_long)* src); 745 int gsl_matrix_long_swap (gsl_matrix_long* m1, gsl_matrix_long* m2); 746 int gsl_matrix_long_swap_rows (gsl_matrix_long* m, const size_t i, const size_t j); 747 int gsl_matrix_long_swap_columns (gsl_matrix_long* m, const size_t i, const size_t j); 748 int gsl_matrix_long_swap_rowcol (gsl_matrix_long* m, const size_t i, const size_t j); 749 int gsl_matrix_long_transpose (gsl_matrix_long* m); 750 int gsl_matrix_long_transpose_memcpy (gsl_matrix_long* dest, const(gsl_matrix_long)* src); 751 c_long gsl_matrix_long_max (const(gsl_matrix_long)* m); 752 c_long gsl_matrix_long_min (const(gsl_matrix_long)* m); 753 void gsl_matrix_long_minmax (const(gsl_matrix_long)* m, c_long* min_out, c_long* max_out); 754 void gsl_matrix_long_max_index (const(gsl_matrix_long)* m, size_t* imax, size_t* jmax); 755 void gsl_matrix_long_min_index (const(gsl_matrix_long)* m, size_t* imin, size_t* jmin); 756 void gsl_matrix_long_minmax_index (const(gsl_matrix_long)* m, size_t* imin, size_t* jmin, size_t* imax, size_t* jmax); 757 int gsl_matrix_long_equal (const(gsl_matrix_long)* a, const(gsl_matrix_long)* b); 758 int gsl_matrix_long_isnull (const(gsl_matrix_long)* m); 759 int gsl_matrix_long_ispos (const(gsl_matrix_long)* m); 760 int gsl_matrix_long_isneg (const(gsl_matrix_long)* m); 761 int gsl_matrix_long_isnonneg (const(gsl_matrix_long)* m); 762 int gsl_matrix_long_add (gsl_matrix_long* a, const(gsl_matrix_long)* b); 763 int gsl_matrix_long_sub (gsl_matrix_long* a, const(gsl_matrix_long)* b); 764 int gsl_matrix_long_mul_elements (gsl_matrix_long* a, const(gsl_matrix_long)* b); 765 int gsl_matrix_long_div_elements (gsl_matrix_long* a, const(gsl_matrix_long)* b); 766 int gsl_matrix_long_scale (gsl_matrix_long* a, const double x); 767 int gsl_matrix_long_add_constant (gsl_matrix_long* a, const double x); 768 int gsl_matrix_long_add_diagonal (gsl_matrix_long* a, const double x); 769 int gsl_matrix_long_get_row (gsl_vector_long* v, const(gsl_matrix_long)* m, const size_t i); 770 int gsl_matrix_long_get_col (gsl_vector_long* v, const(gsl_matrix_long)* m, const size_t j); 771 int gsl_matrix_long_set_row (gsl_matrix_long* m, const size_t i, const(gsl_vector_long)* v); 772 int gsl_matrix_long_set_col (gsl_matrix_long* m, const size_t j, const(gsl_vector_long)* v); 773 c_long gsl_matrix_long_get (const(gsl_matrix_long)* m, const size_t i, const size_t j); 774 void gsl_matrix_long_set (gsl_matrix_long* m, const size_t i, const size_t j, const c_long x); 775 c_long* gsl_matrix_long_ptr (gsl_matrix_long* m, const size_t i, const size_t j); 776 const(c_long)* gsl_matrix_long_const_ptr (const(gsl_matrix_long)* m, const size_t i, const size_t j); 777 778 779 //gsl_matrix_long_double 780 struct gsl_matrix_long_double 781 { 782 size_t size1; 783 size_t size2; 784 size_t tda; 785 real* data; 786 gsl_block_long_double* block; 787 int owner; 788 } 789 790 struct _gsl_matrix_long_double_view 791 { 792 gsl_matrix_long_double matrix; 793 } 794 795 struct _gsl_matrix_long_double_const_view 796 { 797 gsl_matrix_long_double matrix; 798 } 799 800 alias _gsl_matrix_long_double_view gsl_matrix_long_double_view; 801 alias const _gsl_matrix_long_double_const_view gsl_matrix_long_double_const_view; 802 803 gsl_matrix_long_double* gsl_matrix_long_double_alloc (const size_t n1, const size_t n2); 804 gsl_matrix_long_double* gsl_matrix_long_double_calloc (const size_t n1, const size_t n2); 805 gsl_matrix_long_double* gsl_matrix_long_double_alloc_from_block (gsl_block_long_double* b, const size_t offset, const size_t n1, const size_t n2, const size_t d2); 806 gsl_matrix_long_double* gsl_matrix_long_double_alloc_from_matrix (gsl_matrix_long_double* m, const size_t k1, const size_t k2, const size_t n1, const size_t n2); 807 gsl_vector_long_double* gsl_vector_long_double_alloc_row_from_matrix (gsl_matrix_long_double* m, const size_t i); 808 gsl_vector_long_double* gsl_vector_long_double_alloc_col_from_matrix (gsl_matrix_long_double* m, const size_t j); 809 void gsl_matrix_long_double_free (gsl_matrix_long_double* m); 810 _gsl_matrix_long_double_view gsl_matrix_long_double_submatrix (gsl_matrix_long_double* m, const size_t i, const size_t j, const size_t n1, const size_t n2); 811 _gsl_vector_long_double_view gsl_matrix_long_double_row (gsl_matrix_long_double* m, const size_t i); 812 _gsl_vector_long_double_view gsl_matrix_long_double_column (gsl_matrix_long_double* m, const size_t j); 813 _gsl_vector_long_double_view gsl_matrix_long_double_diagonal (gsl_matrix_long_double* m); 814 _gsl_vector_long_double_view gsl_matrix_long_double_subdiagonal (gsl_matrix_long_double* m, const size_t k); 815 _gsl_vector_long_double_view gsl_matrix_long_double_superdiagonal (gsl_matrix_long_double* m, const size_t k); 816 _gsl_vector_long_double_view gsl_matrix_long_double_subrow (gsl_matrix_long_double* m, const size_t i, const size_t offset, const size_t n); 817 _gsl_vector_long_double_view gsl_matrix_long_double_subcolumn (gsl_matrix_long_double* m, const size_t j, const size_t offset, const size_t n); 818 _gsl_matrix_long_double_view gsl_matrix_long_double_view_array (real* base, const size_t n1, const size_t n2); 819 _gsl_matrix_long_double_view gsl_matrix_long_double_view_array_with_tda (real* base, const size_t n1, const size_t n2, const size_t tda); 820 _gsl_matrix_long_double_view gsl_matrix_long_double_view_vector (gsl_vector_long_double* v, const size_t n1, const size_t n2); 821 _gsl_matrix_long_double_view gsl_matrix_long_double_view_vector_with_tda (gsl_vector_long_double* v, const size_t n1, const size_t n2, const size_t tda); 822 _gsl_matrix_long_double_const_view gsl_matrix_long_double_const_submatrix (const(gsl_matrix_long_double)* m, const size_t i, const size_t j, const size_t n1, const size_t n2); 823 _gsl_vector_long_double_const_view gsl_matrix_long_double_const_row (const(gsl_matrix_long_double)* m, const size_t i); 824 _gsl_vector_long_double_const_view gsl_matrix_long_double_const_column (const(gsl_matrix_long_double)* m, const size_t j); 825 _gsl_vector_long_double_const_view gsl_matrix_long_double_const_diagonal (const(gsl_matrix_long_double)* m); 826 _gsl_vector_long_double_const_view gsl_matrix_long_double_const_subdiagonal (const(gsl_matrix_long_double)* m, const size_t k); 827 _gsl_vector_long_double_const_view gsl_matrix_long_double_const_superdiagonal (const(gsl_matrix_long_double)* m, const size_t k); 828 _gsl_vector_long_double_const_view gsl_matrix_long_double_const_subrow (const(gsl_matrix_long_double)* m, const size_t i, const size_t offset, const size_t n); 829 _gsl_vector_long_double_const_view gsl_matrix_long_double_const_subcolumn (const(gsl_matrix_long_double)* m, const size_t j, const size_t offset, const size_t n); 830 _gsl_matrix_long_double_const_view gsl_matrix_long_double_const_view_array (const(real)* base, const size_t n1, const size_t n2); 831 _gsl_matrix_long_double_const_view gsl_matrix_long_double_const_view_array_with_tda (const(real)* base, const size_t n1, const size_t n2, const size_t tda); 832 _gsl_matrix_long_double_const_view gsl_matrix_long_double_const_view_vector (const(gsl_vector_long_double)* v, const size_t n1, const size_t n2); 833 _gsl_matrix_long_double_const_view gsl_matrix_long_double_const_view_vector_with_tda (const(gsl_vector_long_double)* v, const size_t n1, const size_t n2, const size_t tda); 834 void gsl_matrix_long_double_set_zero (gsl_matrix_long_double* m); 835 void gsl_matrix_long_double_set_identity (gsl_matrix_long_double* m); 836 void gsl_matrix_long_double_set_all (gsl_matrix_long_double* m, real x); 837 int gsl_matrix_long_double_fread (FILE* stream, gsl_matrix_long_double* m); 838 int gsl_matrix_long_double_fwrite (FILE* stream, const(gsl_matrix_long_double)* m); 839 int gsl_matrix_long_double_fscanf (FILE* stream, gsl_matrix_long_double* m); 840 int gsl_matrix_long_double_fprintf (FILE* stream, const(gsl_matrix_long_double)* m, const(char)* format); 841 int gsl_matrix_long_double_memcpy (gsl_matrix_long_double* dest, const(gsl_matrix_long_double)* src); 842 int gsl_matrix_long_double_swap (gsl_matrix_long_double* m1, gsl_matrix_long_double* m2); 843 int gsl_matrix_long_double_swap_rows (gsl_matrix_long_double* m, const size_t i, const size_t j); 844 int gsl_matrix_long_double_swap_columns (gsl_matrix_long_double* m, const size_t i, const size_t j); 845 int gsl_matrix_long_double_swap_rowcol (gsl_matrix_long_double* m, const size_t i, const size_t j); 846 int gsl_matrix_long_double_transpose (gsl_matrix_long_double* m); 847 int gsl_matrix_long_double_transpose_memcpy (gsl_matrix_long_double* dest, const(gsl_matrix_long_double)* src); 848 real gsl_matrix_long_double_max (const(gsl_matrix_long_double)* m); 849 real gsl_matrix_long_double_min (const(gsl_matrix_long_double)* m); 850 void gsl_matrix_long_double_minmax (const(gsl_matrix_long_double)* m, real* min_out, real* max_out); 851 void gsl_matrix_long_double_max_index (const(gsl_matrix_long_double)* m, size_t* imax, size_t* jmax); 852 void gsl_matrix_long_double_min_index (const(gsl_matrix_long_double)* m, size_t* imin, size_t* jmin); 853 void gsl_matrix_long_double_minmax_index (const(gsl_matrix_long_double)* m, size_t* imin, size_t* jmin, size_t* imax, size_t* jmax); 854 int gsl_matrix_long_double_equal (const(gsl_matrix_long_double)* a, const(gsl_matrix_long_double)* b); 855 int gsl_matrix_long_double_isnull (const(gsl_matrix_long_double)* m); 856 int gsl_matrix_long_double_ispos (const(gsl_matrix_long_double)* m); 857 int gsl_matrix_long_double_isneg (const(gsl_matrix_long_double)* m); 858 int gsl_matrix_long_double_isnonneg (const(gsl_matrix_long_double)* m); 859 int gsl_matrix_long_double_add (gsl_matrix_long_double* a, const(gsl_matrix_long_double)* b); 860 int gsl_matrix_long_double_sub (gsl_matrix_long_double* a, const(gsl_matrix_long_double)* b); 861 int gsl_matrix_long_double_mul_elements (gsl_matrix_long_double* a, const(gsl_matrix_long_double)* b); 862 int gsl_matrix_long_double_div_elements (gsl_matrix_long_double* a, const(gsl_matrix_long_double)* b); 863 int gsl_matrix_long_double_scale (gsl_matrix_long_double* a, const double x); 864 int gsl_matrix_long_double_add_constant (gsl_matrix_long_double* a, const double x); 865 int gsl_matrix_long_double_add_diagonal (gsl_matrix_long_double* a, const double x); 866 int gsl_matrix_long_double_get_row (gsl_vector_long_double* v, const(gsl_matrix_long_double)* m, const size_t i); 867 int gsl_matrix_long_double_get_col (gsl_vector_long_double* v, const(gsl_matrix_long_double)* m, const size_t j); 868 int gsl_matrix_long_double_set_row (gsl_matrix_long_double* m, const size_t i, const(gsl_vector_long_double)* v); 869 int gsl_matrix_long_double_set_col (gsl_matrix_long_double* m, const size_t j, const(gsl_vector_long_double)* v); 870 real gsl_matrix_long_double_get (const(gsl_matrix_long_double)* m, const size_t i, const size_t j); 871 void gsl_matrix_long_double_set (gsl_matrix_long_double* m, const size_t i, const size_t j, const real x); 872 real* gsl_matrix_long_double_ptr (gsl_matrix_long_double* m, const size_t i, const size_t j); 873 const(real)* gsl_matrix_long_double_const_ptr (const(gsl_matrix_long_double)* m, const size_t i, const size_t j); 874 875 876 //gsl_matrix_short 877 struct gsl_matrix_short 878 { 879 size_t size1; 880 size_t size2; 881 size_t tda; 882 short* data; 883 gsl_block_short* block; 884 int owner; 885 } 886 887 struct _gsl_matrix_short_view 888 { 889 gsl_matrix_short matrix; 890 } 891 892 struct _gsl_matrix_short_const_view 893 { 894 gsl_matrix_short matrix; 895 } 896 897 alias _gsl_matrix_short_view gsl_matrix_short_view; 898 alias const _gsl_matrix_short_const_view gsl_matrix_short_const_view; 899 900 gsl_matrix_short* gsl_matrix_short_alloc (const size_t n1, const size_t n2); 901 gsl_matrix_short* gsl_matrix_short_calloc (const size_t n1, const size_t n2); 902 gsl_matrix_short* gsl_matrix_short_alloc_from_block (gsl_block_short* b, const size_t offset, const size_t n1, const size_t n2, const size_t d2); 903 gsl_matrix_short* gsl_matrix_short_alloc_from_matrix (gsl_matrix_short* m, const size_t k1, const size_t k2, const size_t n1, const size_t n2); 904 gsl_vector_short* gsl_vector_short_alloc_row_from_matrix (gsl_matrix_short* m, const size_t i); 905 gsl_vector_short* gsl_vector_short_alloc_col_from_matrix (gsl_matrix_short* m, const size_t j); 906 void gsl_matrix_short_free (gsl_matrix_short* m); 907 _gsl_matrix_short_view gsl_matrix_short_submatrix (gsl_matrix_short* m, const size_t i, const size_t j, const size_t n1, const size_t n2); 908 _gsl_vector_short_view gsl_matrix_short_row (gsl_matrix_short* m, const size_t i); 909 _gsl_vector_short_view gsl_matrix_short_column (gsl_matrix_short* m, const size_t j); 910 _gsl_vector_short_view gsl_matrix_short_diagonal (gsl_matrix_short* m); 911 _gsl_vector_short_view gsl_matrix_short_subdiagonal (gsl_matrix_short* m, const size_t k); 912 _gsl_vector_short_view gsl_matrix_short_superdiagonal (gsl_matrix_short* m, const size_t k); 913 _gsl_vector_short_view gsl_matrix_short_subrow (gsl_matrix_short* m, const size_t i, const size_t offset, const size_t n); 914 _gsl_vector_short_view gsl_matrix_short_subcolumn (gsl_matrix_short* m, const size_t j, const size_t offset, const size_t n); 915 _gsl_matrix_short_view gsl_matrix_short_view_array (short* base, const size_t n1, const size_t n2); 916 _gsl_matrix_short_view gsl_matrix_short_view_array_with_tda (short* base, const size_t n1, const size_t n2, const size_t tda); 917 _gsl_matrix_short_view gsl_matrix_short_view_vector (gsl_vector_short* v, const size_t n1, const size_t n2); 918 _gsl_matrix_short_view gsl_matrix_short_view_vector_with_tda (gsl_vector_short* v, const size_t n1, const size_t n2, const size_t tda); 919 _gsl_matrix_short_const_view gsl_matrix_short_const_submatrix (const(gsl_matrix_short)* m, const size_t i, const size_t j, const size_t n1, const size_t n2); 920 _gsl_vector_short_const_view gsl_matrix_short_const_row (const(gsl_matrix_short)* m, const size_t i); 921 _gsl_vector_short_const_view gsl_matrix_short_const_column (const(gsl_matrix_short)* m, const size_t j); 922 _gsl_vector_short_const_view gsl_matrix_short_const_diagonal (const(gsl_matrix_short)* m); 923 _gsl_vector_short_const_view gsl_matrix_short_const_subdiagonal (const(gsl_matrix_short)* m, const size_t k); 924 _gsl_vector_short_const_view gsl_matrix_short_const_superdiagonal (const(gsl_matrix_short)* m, const size_t k); 925 _gsl_vector_short_const_view gsl_matrix_short_const_subrow (const(gsl_matrix_short)* m, const size_t i, const size_t offset, const size_t n); 926 _gsl_vector_short_const_view gsl_matrix_short_const_subcolumn (const(gsl_matrix_short)* m, const size_t j, const size_t offset, const size_t n); 927 _gsl_matrix_short_const_view gsl_matrix_short_const_view_array (const(short)* base, const size_t n1, const size_t n2); 928 _gsl_matrix_short_const_view gsl_matrix_short_const_view_array_with_tda (const(short)* base, const size_t n1, const size_t n2, const size_t tda); 929 _gsl_matrix_short_const_view gsl_matrix_short_const_view_vector (const(gsl_vector_short)* v, const size_t n1, const size_t n2); 930 _gsl_matrix_short_const_view gsl_matrix_short_const_view_vector_with_tda (const(gsl_vector_short)* v, const size_t n1, const size_t n2, const size_t tda); 931 void gsl_matrix_short_set_zero (gsl_matrix_short* m); 932 void gsl_matrix_short_set_identity (gsl_matrix_short* m); 933 void gsl_matrix_short_set_all (gsl_matrix_short* m, short x); 934 int gsl_matrix_short_fread (FILE* stream, gsl_matrix_short* m); 935 int gsl_matrix_short_fwrite (FILE* stream, const(gsl_matrix_short)* m); 936 int gsl_matrix_short_fscanf (FILE* stream, gsl_matrix_short* m); 937 int gsl_matrix_short_fprintf (FILE* stream, const(gsl_matrix_short)* m, const(char)* format); 938 int gsl_matrix_short_memcpy (gsl_matrix_short* dest, const(gsl_matrix_short)* src); 939 int gsl_matrix_short_swap (gsl_matrix_short* m1, gsl_matrix_short* m2); 940 int gsl_matrix_short_swap_rows (gsl_matrix_short* m, const size_t i, const size_t j); 941 int gsl_matrix_short_swap_columns (gsl_matrix_short* m, const size_t i, const size_t j); 942 int gsl_matrix_short_swap_rowcol (gsl_matrix_short* m, const size_t i, const size_t j); 943 int gsl_matrix_short_transpose (gsl_matrix_short* m); 944 int gsl_matrix_short_transpose_memcpy (gsl_matrix_short* dest, const(gsl_matrix_short)* src); 945 short gsl_matrix_short_max (const(gsl_matrix_short)* m); 946 short gsl_matrix_short_min (const(gsl_matrix_short)* m); 947 void gsl_matrix_short_minmax (const(gsl_matrix_short)* m, short* min_out, short* max_out); 948 void gsl_matrix_short_max_index (const(gsl_matrix_short)* m, size_t* imax, size_t* jmax); 949 void gsl_matrix_short_min_index (const(gsl_matrix_short)* m, size_t* imin, size_t* jmin); 950 void gsl_matrix_short_minmax_index (const(gsl_matrix_short)* m, size_t* imin, size_t* jmin, size_t* imax, size_t* jmax); 951 int gsl_matrix_short_equal (const(gsl_matrix_short)* a, const(gsl_matrix_short)* b); 952 int gsl_matrix_short_isnull (const(gsl_matrix_short)* m); 953 int gsl_matrix_short_ispos (const(gsl_matrix_short)* m); 954 int gsl_matrix_short_isneg (const(gsl_matrix_short)* m); 955 int gsl_matrix_short_isnonneg (const(gsl_matrix_short)* m); 956 int gsl_matrix_short_add (gsl_matrix_short* a, const(gsl_matrix_short)* b); 957 int gsl_matrix_short_sub (gsl_matrix_short* a, const(gsl_matrix_short)* b); 958 int gsl_matrix_short_mul_elements (gsl_matrix_short* a, const(gsl_matrix_short)* b); 959 int gsl_matrix_short_div_elements (gsl_matrix_short* a, const(gsl_matrix_short)* b); 960 int gsl_matrix_short_scale (gsl_matrix_short* a, const double x); 961 int gsl_matrix_short_add_constant (gsl_matrix_short* a, const double x); 962 int gsl_matrix_short_add_diagonal (gsl_matrix_short* a, const double x); 963 int gsl_matrix_short_get_row (gsl_vector_short* v, const(gsl_matrix_short)* m, const size_t i); 964 int gsl_matrix_short_get_col (gsl_vector_short* v, const(gsl_matrix_short)* m, const size_t j); 965 int gsl_matrix_short_set_row (gsl_matrix_short* m, const size_t i, const(gsl_vector_short)* v); 966 int gsl_matrix_short_set_col (gsl_matrix_short* m, const size_t j, const(gsl_vector_short)* v); 967 short gsl_matrix_short_get (const(gsl_matrix_short)* m, const size_t i, const size_t j); 968 void gsl_matrix_short_set (gsl_matrix_short* m, const size_t i, const size_t j, const short x); 969 short* gsl_matrix_short_ptr (gsl_matrix_short* m, const size_t i, const size_t j); 970 const(short)* gsl_matrix_short_const_ptr (const(gsl_matrix_short)* m, const size_t i, const size_t j); 971 972 973 //gsl_matrix_uchar 974 struct gsl_matrix_uchar 975 { 976 size_t size1; 977 size_t size2; 978 size_t tda; 979 ubyte* data; 980 gsl_block_uchar* block; 981 int owner; 982 } 983 984 struct _gsl_matrix_uchar_view 985 { 986 gsl_matrix_uchar matrix; 987 } 988 989 struct _gsl_matrix_uchar_const_view 990 { 991 gsl_matrix_uchar matrix; 992 } 993 994 alias _gsl_matrix_uchar_view gsl_matrix_uchar_view; 995 alias const _gsl_matrix_uchar_const_view gsl_matrix_uchar_const_view; 996 997 gsl_matrix_uchar* gsl_matrix_uchar_alloc (const size_t n1, const size_t n2); 998 gsl_matrix_uchar* gsl_matrix_uchar_calloc (const size_t n1, const size_t n2); 999 gsl_matrix_uchar* gsl_matrix_uchar_alloc_from_block (gsl_block_uchar* b, const size_t offset, const size_t n1, const size_t n2, const size_t d2); 1000 gsl_matrix_uchar* gsl_matrix_uchar_alloc_from_matrix (gsl_matrix_uchar* m, const size_t k1, const size_t k2, const size_t n1, const size_t n2); 1001 gsl_vector_uchar* gsl_vector_uchar_alloc_row_from_matrix (gsl_matrix_uchar* m, const size_t i); 1002 gsl_vector_uchar* gsl_vector_uchar_alloc_col_from_matrix (gsl_matrix_uchar* m, const size_t j); 1003 void gsl_matrix_uchar_free (gsl_matrix_uchar* m); 1004 _gsl_matrix_uchar_view gsl_matrix_uchar_submatrix (gsl_matrix_uchar* m, const size_t i, const size_t j, const size_t n1, const size_t n2); 1005 _gsl_vector_uchar_view gsl_matrix_uchar_row (gsl_matrix_uchar* m, const size_t i); 1006 _gsl_vector_uchar_view gsl_matrix_uchar_column (gsl_matrix_uchar* m, const size_t j); 1007 _gsl_vector_uchar_view gsl_matrix_uchar_diagonal (gsl_matrix_uchar* m); 1008 _gsl_vector_uchar_view gsl_matrix_uchar_subdiagonal (gsl_matrix_uchar* m, const size_t k); 1009 _gsl_vector_uchar_view gsl_matrix_uchar_superdiagonal (gsl_matrix_uchar* m, const size_t k); 1010 _gsl_vector_uchar_view gsl_matrix_uchar_subrow (gsl_matrix_uchar* m, const size_t i, const size_t offset, const size_t n); 1011 _gsl_vector_uchar_view gsl_matrix_uchar_subcolumn (gsl_matrix_uchar* m, const size_t j, const size_t offset, const size_t n); 1012 _gsl_matrix_uchar_view gsl_matrix_uchar_view_array (ubyte* base, const size_t n1, const size_t n2); 1013 _gsl_matrix_uchar_view gsl_matrix_uchar_view_array_with_tda (ubyte* base, const size_t n1, const size_t n2, const size_t tda); 1014 _gsl_matrix_uchar_view gsl_matrix_uchar_view_vector (gsl_vector_uchar* v, const size_t n1, const size_t n2); 1015 _gsl_matrix_uchar_view gsl_matrix_uchar_view_vector_with_tda (gsl_vector_uchar* v, const size_t n1, const size_t n2, const size_t tda); 1016 _gsl_matrix_uchar_const_view gsl_matrix_uchar_const_submatrix (const(gsl_matrix_uchar)* m, const size_t i, const size_t j, const size_t n1, const size_t n2); 1017 _gsl_vector_uchar_const_view gsl_matrix_uchar_const_row (const(gsl_matrix_uchar)* m, const size_t i); 1018 _gsl_vector_uchar_const_view gsl_matrix_uchar_const_column (const(gsl_matrix_uchar)* m, const size_t j); 1019 _gsl_vector_uchar_const_view gsl_matrix_uchar_const_diagonal (const(gsl_matrix_uchar)* m); 1020 _gsl_vector_uchar_const_view gsl_matrix_uchar_const_subdiagonal (const(gsl_matrix_uchar)* m, const size_t k); 1021 _gsl_vector_uchar_const_view gsl_matrix_uchar_const_superdiagonal (const(gsl_matrix_uchar)* m, const size_t k); 1022 _gsl_vector_uchar_const_view gsl_matrix_uchar_const_subrow (const(gsl_matrix_uchar)* m, const size_t i, const size_t offset, const size_t n); 1023 _gsl_vector_uchar_const_view gsl_matrix_uchar_const_subcolumn (const(gsl_matrix_uchar)* m, const size_t j, const size_t offset, const size_t n); 1024 _gsl_matrix_uchar_const_view gsl_matrix_uchar_const_view_array (const(ubyte)* base, const size_t n1, const size_t n2); 1025 _gsl_matrix_uchar_const_view gsl_matrix_uchar_const_view_array_with_tda (const(ubyte)* base, const size_t n1, const size_t n2, const size_t tda); 1026 _gsl_matrix_uchar_const_view gsl_matrix_uchar_const_view_vector (const(gsl_vector_uchar)* v, const size_t n1, const size_t n2); 1027 _gsl_matrix_uchar_const_view gsl_matrix_uchar_const_view_vector_with_tda (const(gsl_vector_uchar)* v, const size_t n1, const size_t n2, const size_t tda); 1028 void gsl_matrix_uchar_set_zero (gsl_matrix_uchar* m); 1029 void gsl_matrix_uchar_set_identity (gsl_matrix_uchar* m); 1030 void gsl_matrix_uchar_set_all (gsl_matrix_uchar* m, ubyte x); 1031 int gsl_matrix_uchar_fread (FILE* stream, gsl_matrix_uchar* m); 1032 int gsl_matrix_uchar_fwrite (FILE* stream, const(gsl_matrix_uchar)* m); 1033 int gsl_matrix_uchar_fscanf (FILE* stream, gsl_matrix_uchar* m); 1034 int gsl_matrix_uchar_fprintf (FILE* stream, const(gsl_matrix_uchar)* m, const(char)* format); 1035 int gsl_matrix_uchar_memcpy (gsl_matrix_uchar* dest, const(gsl_matrix_uchar)* src); 1036 int gsl_matrix_uchar_swap (gsl_matrix_uchar* m1, gsl_matrix_uchar* m2); 1037 int gsl_matrix_uchar_swap_rows (gsl_matrix_uchar* m, const size_t i, const size_t j); 1038 int gsl_matrix_uchar_swap_columns (gsl_matrix_uchar* m, const size_t i, const size_t j); 1039 int gsl_matrix_uchar_swap_rowcol (gsl_matrix_uchar* m, const size_t i, const size_t j); 1040 int gsl_matrix_uchar_transpose (gsl_matrix_uchar* m); 1041 int gsl_matrix_uchar_transpose_memcpy (gsl_matrix_uchar* dest, const(gsl_matrix_uchar)* src); 1042 ubyte gsl_matrix_uchar_max (const(gsl_matrix_uchar)* m); 1043 ubyte gsl_matrix_uchar_min (const(gsl_matrix_uchar)* m); 1044 void gsl_matrix_uchar_minmax (const(gsl_matrix_uchar)* m, ubyte* min_out, ubyte* max_out); 1045 void gsl_matrix_uchar_max_index (const(gsl_matrix_uchar)* m, size_t* imax, size_t* jmax); 1046 void gsl_matrix_uchar_min_index (const(gsl_matrix_uchar)* m, size_t* imin, size_t* jmin); 1047 void gsl_matrix_uchar_minmax_index (const(gsl_matrix_uchar)* m, size_t* imin, size_t* jmin, size_t* imax, size_t* jmax); 1048 int gsl_matrix_uchar_equal (const(gsl_matrix_uchar)* a, const(gsl_matrix_uchar)* b); 1049 int gsl_matrix_uchar_isnull (const(gsl_matrix_uchar)* m); 1050 int gsl_matrix_uchar_ispos (const(gsl_matrix_uchar)* m); 1051 int gsl_matrix_uchar_isneg (const(gsl_matrix_uchar)* m); 1052 int gsl_matrix_uchar_isnonneg (const(gsl_matrix_uchar)* m); 1053 int gsl_matrix_uchar_add (gsl_matrix_uchar* a, const(gsl_matrix_uchar)* b); 1054 int gsl_matrix_uchar_sub (gsl_matrix_uchar* a, const(gsl_matrix_uchar)* b); 1055 int gsl_matrix_uchar_mul_elements (gsl_matrix_uchar* a, const(gsl_matrix_uchar)* b); 1056 int gsl_matrix_uchar_div_elements (gsl_matrix_uchar* a, const(gsl_matrix_uchar)* b); 1057 int gsl_matrix_uchar_scale (gsl_matrix_uchar* a, const double x); 1058 int gsl_matrix_uchar_add_constant (gsl_matrix_uchar* a, const double x); 1059 int gsl_matrix_uchar_add_diagonal (gsl_matrix_uchar* a, const double x); 1060 int gsl_matrix_uchar_get_row (gsl_vector_uchar* v, const(gsl_matrix_uchar)* m, const size_t i); 1061 int gsl_matrix_uchar_get_col (gsl_vector_uchar* v, const(gsl_matrix_uchar)* m, const size_t j); 1062 int gsl_matrix_uchar_set_row (gsl_matrix_uchar* m, const size_t i, const(gsl_vector_uchar)* v); 1063 int gsl_matrix_uchar_set_col (gsl_matrix_uchar* m, const size_t j, const(gsl_vector_uchar)* v); 1064 ubyte gsl_matrix_uchar_get (const(gsl_matrix_uchar)* m, const size_t i, const size_t j); 1065 void gsl_matrix_uchar_set (gsl_matrix_uchar* m, const size_t i, const size_t j, const ubyte x); 1066 ubyte* gsl_matrix_uchar_ptr (gsl_matrix_uchar* m, const size_t i, const size_t j); 1067 const(ubyte)* gsl_matrix_uchar_const_ptr (const(gsl_matrix_uchar)* m, const size_t i, const size_t j); 1068 1069 1070 //gsl_matrix_uint 1071 struct gsl_matrix_uint 1072 { 1073 size_t size1; 1074 size_t size2; 1075 size_t tda; 1076 uint* data; 1077 gsl_block_uint* block; 1078 int owner; 1079 } 1080 1081 struct _gsl_matrix_uint_view 1082 { 1083 gsl_matrix_uint matrix; 1084 } 1085 1086 struct _gsl_matrix_uint_const_view 1087 { 1088 gsl_matrix_uint matrix; 1089 } 1090 1091 alias _gsl_matrix_uint_view gsl_matrix_uint_view; 1092 alias const _gsl_matrix_uint_const_view gsl_matrix_uint_const_view; 1093 1094 gsl_matrix_uint* gsl_matrix_uint_alloc (const size_t n1, const size_t n2); 1095 gsl_matrix_uint* gsl_matrix_uint_calloc (const size_t n1, const size_t n2); 1096 gsl_matrix_uint* gsl_matrix_uint_alloc_from_block (gsl_block_uint* b, const size_t offset, const size_t n1, const size_t n2, const size_t d2); 1097 gsl_matrix_uint* gsl_matrix_uint_alloc_from_matrix (gsl_matrix_uint* m, const size_t k1, const size_t k2, const size_t n1, const size_t n2); 1098 gsl_vector_uint* gsl_vector_uint_alloc_row_from_matrix (gsl_matrix_uint* m, const size_t i); 1099 gsl_vector_uint* gsl_vector_uint_alloc_col_from_matrix (gsl_matrix_uint* m, const size_t j); 1100 void gsl_matrix_uint_free (gsl_matrix_uint* m); 1101 _gsl_matrix_uint_view gsl_matrix_uint_submatrix (gsl_matrix_uint* m, const size_t i, const size_t j, const size_t n1, const size_t n2); 1102 _gsl_vector_uint_view gsl_matrix_uint_row (gsl_matrix_uint* m, const size_t i); 1103 _gsl_vector_uint_view gsl_matrix_uint_column (gsl_matrix_uint* m, const size_t j); 1104 _gsl_vector_uint_view gsl_matrix_uint_diagonal (gsl_matrix_uint* m); 1105 _gsl_vector_uint_view gsl_matrix_uint_subdiagonal (gsl_matrix_uint* m, const size_t k); 1106 _gsl_vector_uint_view gsl_matrix_uint_superdiagonal (gsl_matrix_uint* m, const size_t k); 1107 _gsl_vector_uint_view gsl_matrix_uint_subrow (gsl_matrix_uint* m, const size_t i, const size_t offset, const size_t n); 1108 _gsl_vector_uint_view gsl_matrix_uint_subcolumn (gsl_matrix_uint* m, const size_t j, const size_t offset, const size_t n); 1109 _gsl_matrix_uint_view gsl_matrix_uint_view_array (uint* base, const size_t n1, const size_t n2); 1110 _gsl_matrix_uint_view gsl_matrix_uint_view_array_with_tda (uint* base, const size_t n1, const size_t n2, const size_t tda); 1111 _gsl_matrix_uint_view gsl_matrix_uint_view_vector (gsl_vector_uint* v, const size_t n1, const size_t n2); 1112 _gsl_matrix_uint_view gsl_matrix_uint_view_vector_with_tda (gsl_vector_uint* v, const size_t n1, const size_t n2, const size_t tda); 1113 _gsl_matrix_uint_const_view gsl_matrix_uint_const_submatrix (const(gsl_matrix_uint)* m, const size_t i, const size_t j, const size_t n1, const size_t n2); 1114 _gsl_vector_uint_const_view gsl_matrix_uint_const_row (const(gsl_matrix_uint)* m, const size_t i); 1115 _gsl_vector_uint_const_view gsl_matrix_uint_const_column (const(gsl_matrix_uint)* m, const size_t j); 1116 _gsl_vector_uint_const_view gsl_matrix_uint_const_diagonal (const(gsl_matrix_uint)* m); 1117 _gsl_vector_uint_const_view gsl_matrix_uint_const_subdiagonal (const(gsl_matrix_uint)* m, const size_t k); 1118 _gsl_vector_uint_const_view gsl_matrix_uint_const_superdiagonal (const(gsl_matrix_uint)* m, const size_t k); 1119 _gsl_vector_uint_const_view gsl_matrix_uint_const_subrow (const(gsl_matrix_uint)* m, const size_t i, const size_t offset, const size_t n); 1120 _gsl_vector_uint_const_view gsl_matrix_uint_const_subcolumn (const(gsl_matrix_uint)* m, const size_t j, const size_t offset, const size_t n); 1121 _gsl_matrix_uint_const_view gsl_matrix_uint_const_view_array (const(uint)* base, const size_t n1, const size_t n2); 1122 _gsl_matrix_uint_const_view gsl_matrix_uint_const_view_array_with_tda (const(uint)* base, const size_t n1, const size_t n2, const size_t tda); 1123 _gsl_matrix_uint_const_view gsl_matrix_uint_const_view_vector (const(gsl_vector_uint)* v, const size_t n1, const size_t n2); 1124 _gsl_matrix_uint_const_view gsl_matrix_uint_const_view_vector_with_tda (const(gsl_vector_uint)* v, const size_t n1, const size_t n2, const size_t tda); 1125 void gsl_matrix_uint_set_zero (gsl_matrix_uint* m); 1126 void gsl_matrix_uint_set_identity (gsl_matrix_uint* m); 1127 void gsl_matrix_uint_set_all (gsl_matrix_uint* m, uint x); 1128 int gsl_matrix_uint_fread (FILE* stream, gsl_matrix_uint* m); 1129 int gsl_matrix_uint_fwrite (FILE* stream, const(gsl_matrix_uint)* m); 1130 int gsl_matrix_uint_fscanf (FILE* stream, gsl_matrix_uint* m); 1131 int gsl_matrix_uint_fprintf (FILE* stream, const(gsl_matrix_uint)* m, const(char)* format); 1132 int gsl_matrix_uint_memcpy (gsl_matrix_uint* dest, const(gsl_matrix_uint)* src); 1133 int gsl_matrix_uint_swap (gsl_matrix_uint* m1, gsl_matrix_uint* m2); 1134 int gsl_matrix_uint_swap_rows (gsl_matrix_uint* m, const size_t i, const size_t j); 1135 int gsl_matrix_uint_swap_columns (gsl_matrix_uint* m, const size_t i, const size_t j); 1136 int gsl_matrix_uint_swap_rowcol (gsl_matrix_uint* m, const size_t i, const size_t j); 1137 int gsl_matrix_uint_transpose (gsl_matrix_uint* m); 1138 int gsl_matrix_uint_transpose_memcpy (gsl_matrix_uint* dest, const(gsl_matrix_uint)* src); 1139 uint gsl_matrix_uint_max (const(gsl_matrix_uint)* m); 1140 uint gsl_matrix_uint_min (const(gsl_matrix_uint)* m); 1141 void gsl_matrix_uint_minmax (const(gsl_matrix_uint)* m, uint* min_out, uint* max_out); 1142 void gsl_matrix_uint_max_index (const(gsl_matrix_uint)* m, size_t* imax, size_t* jmax); 1143 void gsl_matrix_uint_min_index (const(gsl_matrix_uint)* m, size_t* imin, size_t* jmin); 1144 void gsl_matrix_uint_minmax_index (const(gsl_matrix_uint)* m, size_t* imin, size_t* jmin, size_t* imax, size_t* jmax); 1145 int gsl_matrix_uint_equal (const(gsl_matrix_uint)* a, const(gsl_matrix_uint)* b); 1146 int gsl_matrix_uint_isnull (const(gsl_matrix_uint)* m); 1147 int gsl_matrix_uint_ispos (const(gsl_matrix_uint)* m); 1148 int gsl_matrix_uint_isneg (const(gsl_matrix_uint)* m); 1149 int gsl_matrix_uint_isnonneg (const(gsl_matrix_uint)* m); 1150 int gsl_matrix_uint_add (gsl_matrix_uint* a, const(gsl_matrix_uint)* b); 1151 int gsl_matrix_uint_sub (gsl_matrix_uint* a, const(gsl_matrix_uint)* b); 1152 int gsl_matrix_uint_mul_elements (gsl_matrix_uint* a, const(gsl_matrix_uint)* b); 1153 int gsl_matrix_uint_div_elements (gsl_matrix_uint* a, const(gsl_matrix_uint)* b); 1154 int gsl_matrix_uint_scale (gsl_matrix_uint* a, const double x); 1155 int gsl_matrix_uint_add_constant (gsl_matrix_uint* a, const double x); 1156 int gsl_matrix_uint_add_diagonal (gsl_matrix_uint* a, const double x); 1157 int gsl_matrix_uint_get_row (gsl_vector_uint* v, const(gsl_matrix_uint)* m, const size_t i); 1158 int gsl_matrix_uint_get_col (gsl_vector_uint* v, const(gsl_matrix_uint)* m, const size_t j); 1159 int gsl_matrix_uint_set_row (gsl_matrix_uint* m, const size_t i, const(gsl_vector_uint)* v); 1160 int gsl_matrix_uint_set_col (gsl_matrix_uint* m, const size_t j, const(gsl_vector_uint)* v); 1161 uint gsl_matrix_uint_get (const(gsl_matrix_uint)* m, const size_t i, const size_t j); 1162 void gsl_matrix_uint_set (gsl_matrix_uint* m, const size_t i, const size_t j, const uint x); 1163 uint* gsl_matrix_uint_ptr (gsl_matrix_uint* m, const size_t i, const size_t j); 1164 const(uint)* gsl_matrix_uint_const_ptr (const(gsl_matrix_uint)* m, const size_t i, const size_t j); 1165 1166 1167 //gsl_matrix_ulong 1168 struct gsl_matrix_ulong 1169 { 1170 size_t size1; 1171 size_t size2; 1172 size_t tda; 1173 c_ulong* data; 1174 gsl_block_ulong* block; 1175 int owner; 1176 } 1177 1178 struct _gsl_matrix_ulong_view 1179 { 1180 gsl_matrix_ulong matrix; 1181 } 1182 1183 struct _gsl_matrix_ulong_const_view 1184 { 1185 gsl_matrix_ulong matrix; 1186 } 1187 1188 alias _gsl_matrix_ulong_view gsl_matrix_ulong_view; 1189 alias const _gsl_matrix_ulong_const_view gsl_matrix_ulong_const_view; 1190 1191 gsl_matrix_ulong* gsl_matrix_ulong_alloc (const size_t n1, const size_t n2); 1192 gsl_matrix_ulong* gsl_matrix_ulong_calloc (const size_t n1, const size_t n2); 1193 gsl_matrix_ulong* gsl_matrix_ulong_alloc_from_block (gsl_block_ulong* b, const size_t offset, const size_t n1, const size_t n2, const size_t d2); 1194 gsl_matrix_ulong* gsl_matrix_ulong_alloc_from_matrix (gsl_matrix_ulong* m, const size_t k1, const size_t k2, const size_t n1, const size_t n2); 1195 gsl_vector_ulong* gsl_vector_ulong_alloc_row_from_matrix (gsl_matrix_ulong* m, const size_t i); 1196 gsl_vector_ulong* gsl_vector_ulong_alloc_col_from_matrix (gsl_matrix_ulong* m, const size_t j); 1197 void gsl_matrix_ulong_free (gsl_matrix_ulong* m); 1198 _gsl_matrix_ulong_view gsl_matrix_ulong_submatrix (gsl_matrix_ulong* m, const size_t i, const size_t j, const size_t n1, const size_t n2); 1199 _gsl_vector_ulong_view gsl_matrix_ulong_row (gsl_matrix_ulong* m, const size_t i); 1200 _gsl_vector_ulong_view gsl_matrix_ulong_column (gsl_matrix_ulong* m, const size_t j); 1201 _gsl_vector_ulong_view gsl_matrix_ulong_diagonal (gsl_matrix_ulong* m); 1202 _gsl_vector_ulong_view gsl_matrix_ulong_subdiagonal (gsl_matrix_ulong* m, const size_t k); 1203 _gsl_vector_ulong_view gsl_matrix_ulong_superdiagonal (gsl_matrix_ulong* m, const size_t k); 1204 _gsl_vector_ulong_view gsl_matrix_ulong_subrow (gsl_matrix_ulong* m, const size_t i, const size_t offset, const size_t n); 1205 _gsl_vector_ulong_view gsl_matrix_ulong_subcolumn (gsl_matrix_ulong* m, const size_t j, const size_t offset, const size_t n); 1206 _gsl_matrix_ulong_view gsl_matrix_ulong_view_array (c_ulong* base, const size_t n1, const size_t n2); 1207 _gsl_matrix_ulong_view gsl_matrix_ulong_view_array_with_tda (c_ulong* base, const size_t n1, const size_t n2, const size_t tda); 1208 _gsl_matrix_ulong_view gsl_matrix_ulong_view_vector (gsl_vector_ulong* v, const size_t n1, const size_t n2); 1209 _gsl_matrix_ulong_view gsl_matrix_ulong_view_vector_with_tda (gsl_vector_ulong* v, const size_t n1, const size_t n2, const size_t tda); 1210 _gsl_matrix_ulong_const_view gsl_matrix_ulong_const_submatrix (const(gsl_matrix_ulong)* m, const size_t i, const size_t j, const size_t n1, const size_t n2); 1211 _gsl_vector_ulong_const_view gsl_matrix_ulong_const_row (const(gsl_matrix_ulong)* m, const size_t i); 1212 _gsl_vector_ulong_const_view gsl_matrix_ulong_const_column (const(gsl_matrix_ulong)* m, const size_t j); 1213 _gsl_vector_ulong_const_view gsl_matrix_ulong_const_diagonal (const(gsl_matrix_ulong)* m); 1214 _gsl_vector_ulong_const_view gsl_matrix_ulong_const_subdiagonal (const(gsl_matrix_ulong)* m, const size_t k); 1215 _gsl_vector_ulong_const_view gsl_matrix_ulong_const_superdiagonal (const(gsl_matrix_ulong)* m, const size_t k); 1216 _gsl_vector_ulong_const_view gsl_matrix_ulong_const_subrow (const(gsl_matrix_ulong)* m, const size_t i, const size_t offset, const size_t n); 1217 _gsl_vector_ulong_const_view gsl_matrix_ulong_const_subcolumn (const(gsl_matrix_ulong)* m, const size_t j, const size_t offset, const size_t n); 1218 _gsl_matrix_ulong_const_view gsl_matrix_ulong_const_view_array (const(c_ulong)* base, const size_t n1, const size_t n2); 1219 _gsl_matrix_ulong_const_view gsl_matrix_ulong_const_view_array_with_tda (const(c_ulong)* base, const size_t n1, const size_t n2, const size_t tda); 1220 _gsl_matrix_ulong_const_view gsl_matrix_ulong_const_view_vector (const(gsl_vector_ulong)* v, const size_t n1, const size_t n2); 1221 _gsl_matrix_ulong_const_view gsl_matrix_ulong_const_view_vector_with_tda (const(gsl_vector_ulong)* v, const size_t n1, const size_t n2, const size_t tda); 1222 void gsl_matrix_ulong_set_zero (gsl_matrix_ulong* m); 1223 void gsl_matrix_ulong_set_identity (gsl_matrix_ulong* m); 1224 void gsl_matrix_ulong_set_all (gsl_matrix_ulong* m, c_ulong x); 1225 int gsl_matrix_ulong_fread (FILE* stream, gsl_matrix_ulong* m); 1226 int gsl_matrix_ulong_fwrite (FILE* stream, const(gsl_matrix_ulong)* m); 1227 int gsl_matrix_ulong_fscanf (FILE* stream, gsl_matrix_ulong* m); 1228 int gsl_matrix_ulong_fprintf (FILE* stream, const(gsl_matrix_ulong)* m, const(char)* format); 1229 int gsl_matrix_ulong_memcpy (gsl_matrix_ulong* dest, const(gsl_matrix_ulong)* src); 1230 int gsl_matrix_ulong_swap (gsl_matrix_ulong* m1, gsl_matrix_ulong* m2); 1231 int gsl_matrix_ulong_swap_rows (gsl_matrix_ulong* m, const size_t i, const size_t j); 1232 int gsl_matrix_ulong_swap_columns (gsl_matrix_ulong* m, const size_t i, const size_t j); 1233 int gsl_matrix_ulong_swap_rowcol (gsl_matrix_ulong* m, const size_t i, const size_t j); 1234 int gsl_matrix_ulong_transpose (gsl_matrix_ulong* m); 1235 int gsl_matrix_ulong_transpose_memcpy (gsl_matrix_ulong* dest, const(gsl_matrix_ulong)* src); 1236 c_ulong gsl_matrix_ulong_max (const(gsl_matrix_ulong)* m); 1237 c_ulong gsl_matrix_ulong_min (const(gsl_matrix_ulong)* m); 1238 void gsl_matrix_ulong_minmax (const(gsl_matrix_ulong)* m, c_ulong* min_out, c_ulong* max_out); 1239 void gsl_matrix_ulong_max_index (const(gsl_matrix_ulong)* m, size_t* imax, size_t* jmax); 1240 void gsl_matrix_ulong_min_index (const(gsl_matrix_ulong)* m, size_t* imin, size_t* jmin); 1241 void gsl_matrix_ulong_minmax_index (const(gsl_matrix_ulong)* m, size_t* imin, size_t* jmin, size_t* imax, size_t* jmax); 1242 int gsl_matrix_ulong_equal (const(gsl_matrix_ulong)* a, const(gsl_matrix_ulong)* b); 1243 int gsl_matrix_ulong_isnull (const(gsl_matrix_ulong)* m); 1244 int gsl_matrix_ulong_ispos (const(gsl_matrix_ulong)* m); 1245 int gsl_matrix_ulong_isneg (const(gsl_matrix_ulong)* m); 1246 int gsl_matrix_ulong_isnonneg (const(gsl_matrix_ulong)* m); 1247 int gsl_matrix_ulong_add (gsl_matrix_ulong* a, const(gsl_matrix_ulong)* b); 1248 int gsl_matrix_ulong_sub (gsl_matrix_ulong* a, const(gsl_matrix_ulong)* b); 1249 int gsl_matrix_ulong_mul_elements (gsl_matrix_ulong* a, const(gsl_matrix_ulong)* b); 1250 int gsl_matrix_ulong_div_elements (gsl_matrix_ulong* a, const(gsl_matrix_ulong)* b); 1251 int gsl_matrix_ulong_scale (gsl_matrix_ulong* a, const double x); 1252 int gsl_matrix_ulong_add_constant (gsl_matrix_ulong* a, const double x); 1253 int gsl_matrix_ulong_add_diagonal (gsl_matrix_ulong* a, const double x); 1254 int gsl_matrix_ulong_get_row (gsl_vector_ulong* v, const(gsl_matrix_ulong)* m, const size_t i); 1255 int gsl_matrix_ulong_get_col (gsl_vector_ulong* v, const(gsl_matrix_ulong)* m, const size_t j); 1256 int gsl_matrix_ulong_set_row (gsl_matrix_ulong* m, const size_t i, const(gsl_vector_ulong)* v); 1257 int gsl_matrix_ulong_set_col (gsl_matrix_ulong* m, const size_t j, const(gsl_vector_ulong)* v); 1258 c_ulong gsl_matrix_ulong_get (const(gsl_matrix_ulong)* m, const size_t i, const size_t j); 1259 void gsl_matrix_ulong_set (gsl_matrix_ulong* m, const size_t i, const size_t j, const c_ulong x); 1260 c_ulong* gsl_matrix_ulong_ptr (gsl_matrix_ulong* m, const size_t i, const size_t j); 1261 const(c_ulong)* gsl_matrix_ulong_const_ptr (const(gsl_matrix_ulong)* m, const size_t i, const size_t j); 1262 1263 1264 //gsl_matrix_ushort 1265 struct gsl_matrix_ushort 1266 { 1267 size_t size1; 1268 size_t size2; 1269 size_t tda; 1270 ushort* data; 1271 gsl_block_ushort* block; 1272 int owner; 1273 } 1274 1275 struct _gsl_matrix_ushort_view 1276 { 1277 gsl_matrix_ushort matrix; 1278 } 1279 1280 struct _gsl_matrix_ushort_const_view 1281 { 1282 gsl_matrix_ushort matrix; 1283 } 1284 1285 alias _gsl_matrix_ushort_view gsl_matrix_ushort_view; 1286 alias const _gsl_matrix_ushort_const_view gsl_matrix_ushort_const_view; 1287 1288 gsl_matrix_ushort* gsl_matrix_ushort_alloc (const size_t n1, const size_t n2); 1289 gsl_matrix_ushort* gsl_matrix_ushort_calloc (const size_t n1, const size_t n2); 1290 gsl_matrix_ushort* gsl_matrix_ushort_alloc_from_block (gsl_block_ushort* b, const size_t offset, const size_t n1, const size_t n2, const size_t d2); 1291 gsl_matrix_ushort* gsl_matrix_ushort_alloc_from_matrix (gsl_matrix_ushort* m, const size_t k1, const size_t k2, const size_t n1, const size_t n2); 1292 gsl_vector_ushort* gsl_vector_ushort_alloc_row_from_matrix (gsl_matrix_ushort* m, const size_t i); 1293 gsl_vector_ushort* gsl_vector_ushort_alloc_col_from_matrix (gsl_matrix_ushort* m, const size_t j); 1294 void gsl_matrix_ushort_free (gsl_matrix_ushort* m); 1295 _gsl_matrix_ushort_view gsl_matrix_ushort_submatrix (gsl_matrix_ushort* m, const size_t i, const size_t j, const size_t n1, const size_t n2); 1296 _gsl_vector_ushort_view gsl_matrix_ushort_row (gsl_matrix_ushort* m, const size_t i); 1297 _gsl_vector_ushort_view gsl_matrix_ushort_column (gsl_matrix_ushort* m, const size_t j); 1298 _gsl_vector_ushort_view gsl_matrix_ushort_diagonal (gsl_matrix_ushort* m); 1299 _gsl_vector_ushort_view gsl_matrix_ushort_subdiagonal (gsl_matrix_ushort* m, const size_t k); 1300 _gsl_vector_ushort_view gsl_matrix_ushort_superdiagonal (gsl_matrix_ushort* m, const size_t k); 1301 _gsl_vector_ushort_view gsl_matrix_ushort_subrow (gsl_matrix_ushort* m, const size_t i, const size_t offset, const size_t n); 1302 _gsl_vector_ushort_view gsl_matrix_ushort_subcolumn (gsl_matrix_ushort* m, const size_t j, const size_t offset, const size_t n); 1303 _gsl_matrix_ushort_view gsl_matrix_ushort_view_array (ushort* base, const size_t n1, const size_t n2); 1304 _gsl_matrix_ushort_view gsl_matrix_ushort_view_array_with_tda (ushort* base, const size_t n1, const size_t n2, const size_t tda); 1305 _gsl_matrix_ushort_view gsl_matrix_ushort_view_vector (gsl_vector_ushort* v, const size_t n1, const size_t n2); 1306 _gsl_matrix_ushort_view gsl_matrix_ushort_view_vector_with_tda (gsl_vector_ushort* v, const size_t n1, const size_t n2, const size_t tda); 1307 _gsl_matrix_ushort_const_view gsl_matrix_ushort_const_submatrix (const(gsl_matrix_ushort)* m, const size_t i, const size_t j, const size_t n1, const size_t n2); 1308 _gsl_vector_ushort_const_view gsl_matrix_ushort_const_row (const(gsl_matrix_ushort)* m, const size_t i); 1309 _gsl_vector_ushort_const_view gsl_matrix_ushort_const_column (const(gsl_matrix_ushort)* m, const size_t j); 1310 _gsl_vector_ushort_const_view gsl_matrix_ushort_const_diagonal (const(gsl_matrix_ushort)* m); 1311 _gsl_vector_ushort_const_view gsl_matrix_ushort_const_subdiagonal (const(gsl_matrix_ushort)* m, const size_t k); 1312 _gsl_vector_ushort_const_view gsl_matrix_ushort_const_superdiagonal (const(gsl_matrix_ushort)* m, const size_t k); 1313 _gsl_vector_ushort_const_view gsl_matrix_ushort_const_subrow (const(gsl_matrix_ushort)* m, const size_t i, const size_t offset, const size_t n); 1314 _gsl_vector_ushort_const_view gsl_matrix_ushort_const_subcolumn (const(gsl_matrix_ushort)* m, const size_t j, const size_t offset, const size_t n); 1315 _gsl_matrix_ushort_const_view gsl_matrix_ushort_const_view_array (const(ushort)* base, const size_t n1, const size_t n2); 1316 _gsl_matrix_ushort_const_view gsl_matrix_ushort_const_view_array_with_tda (const(ushort)* base, const size_t n1, const size_t n2, const size_t tda); 1317 _gsl_matrix_ushort_const_view gsl_matrix_ushort_const_view_vector (const(gsl_vector_ushort)* v, const size_t n1, const size_t n2); 1318 _gsl_matrix_ushort_const_view gsl_matrix_ushort_const_view_vector_with_tda (const(gsl_vector_ushort)* v, const size_t n1, const size_t n2, const size_t tda); 1319 void gsl_matrix_ushort_set_zero (gsl_matrix_ushort* m); 1320 void gsl_matrix_ushort_set_identity (gsl_matrix_ushort* m); 1321 void gsl_matrix_ushort_set_all (gsl_matrix_ushort* m, ushort x); 1322 int gsl_matrix_ushort_fread (FILE* stream, gsl_matrix_ushort* m); 1323 int gsl_matrix_ushort_fwrite (FILE* stream, const(gsl_matrix_ushort)* m); 1324 int gsl_matrix_ushort_fscanf (FILE* stream, gsl_matrix_ushort* m); 1325 int gsl_matrix_ushort_fprintf (FILE* stream, const(gsl_matrix_ushort)* m, const(char)* format); 1326 int gsl_matrix_ushort_memcpy (gsl_matrix_ushort* dest, const(gsl_matrix_ushort)* src); 1327 int gsl_matrix_ushort_swap (gsl_matrix_ushort* m1, gsl_matrix_ushort* m2); 1328 int gsl_matrix_ushort_swap_rows (gsl_matrix_ushort* m, const size_t i, const size_t j); 1329 int gsl_matrix_ushort_swap_columns (gsl_matrix_ushort* m, const size_t i, const size_t j); 1330 int gsl_matrix_ushort_swap_rowcol (gsl_matrix_ushort* m, const size_t i, const size_t j); 1331 int gsl_matrix_ushort_transpose (gsl_matrix_ushort* m); 1332 int gsl_matrix_ushort_transpose_memcpy (gsl_matrix_ushort* dest, const(gsl_matrix_ushort)* src); 1333 ushort gsl_matrix_ushort_max (const(gsl_matrix_ushort)* m); 1334 ushort gsl_matrix_ushort_min (const(gsl_matrix_ushort)* m); 1335 void gsl_matrix_ushort_minmax (const(gsl_matrix_ushort)* m, ushort* min_out, ushort* max_out); 1336 void gsl_matrix_ushort_max_index (const(gsl_matrix_ushort)* m, size_t* imax, size_t* jmax); 1337 void gsl_matrix_ushort_min_index (const(gsl_matrix_ushort)* m, size_t* imin, size_t* jmin); 1338 void gsl_matrix_ushort_minmax_index (const(gsl_matrix_ushort)* m, size_t* imin, size_t* jmin, size_t* imax, size_t* jmax); 1339 int gsl_matrix_ushort_equal (const(gsl_matrix_ushort)* a, const(gsl_matrix_ushort)* b); 1340 int gsl_matrix_ushort_isnull (const(gsl_matrix_ushort)* m); 1341 int gsl_matrix_ushort_ispos (const(gsl_matrix_ushort)* m); 1342 int gsl_matrix_ushort_isneg (const(gsl_matrix_ushort)* m); 1343 int gsl_matrix_ushort_isnonneg (const(gsl_matrix_ushort)* m); 1344 int gsl_matrix_ushort_add (gsl_matrix_ushort* a, const(gsl_matrix_ushort)* b); 1345 int gsl_matrix_ushort_sub (gsl_matrix_ushort* a, const(gsl_matrix_ushort)* b); 1346 int gsl_matrix_ushort_mul_elements (gsl_matrix_ushort* a, const(gsl_matrix_ushort)* b); 1347 int gsl_matrix_ushort_div_elements (gsl_matrix_ushort* a, const(gsl_matrix_ushort)* b); 1348 int gsl_matrix_ushort_scale (gsl_matrix_ushort* a, const double x); 1349 int gsl_matrix_ushort_add_constant (gsl_matrix_ushort* a, const double x); 1350 int gsl_matrix_ushort_add_diagonal (gsl_matrix_ushort* a, const double x); 1351 int gsl_matrix_ushort_get_row (gsl_vector_ushort* v, const(gsl_matrix_ushort)* m, const size_t i); 1352 int gsl_matrix_ushort_get_col (gsl_vector_ushort* v, const(gsl_matrix_ushort)* m, const size_t j); 1353 int gsl_matrix_ushort_set_row (gsl_matrix_ushort* m, const size_t i, const(gsl_vector_ushort)* v); 1354 int gsl_matrix_ushort_set_col (gsl_matrix_ushort* m, const size_t j, const(gsl_vector_ushort)* v); 1355 ushort gsl_matrix_ushort_get (const(gsl_matrix_ushort)* m, const size_t i, const size_t j); 1356 void gsl_matrix_ushort_set (gsl_matrix_ushort* m, const size_t i, const size_t j, const ushort x); 1357 ushort* gsl_matrix_ushort_ptr (gsl_matrix_ushort* m, const size_t i, const size_t j); 1358 const(ushort)* gsl_matrix_ushort_const_ptr (const(gsl_matrix_ushort)* m, const size_t i, const size_t j); 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392