- publishing free software manuals
GNU Scientific Library Reference Manual - Third Edition (v1.12)
by M. Galassi, J. Davies, J. Theiler, B. Gough, G. Jungman, P. Alken, M. Booth, F. Rossi
Paperback (6"x9"), 592 pages, 60 figures
ISBN 0954612078
RRP £24.95 ($39.95)

Get a printed copy>>>

8.2 Blocks

For consistency all memory is allocated through a gsl_block structure. The structure contains two components, the size of an area of memory and a pointer to the memory. The gsl_block structure looks like this,

typedef struct
  size_t size;
  double * data;
} gsl_block;

Vectors and matrices are made by slicing an underlying block. A slice is a set of elements formed from an initial offset and a combination of indices and step-sizes. In the case of a matrix the step-size for the column index represents the row-length. The step-size for a vector is known as the stride.

The functions for allocating and deallocating blocks are defined in the header file ‘gsl_block.h’

ISBN 0954612078GNU Scientific Library Reference Manual - Third Edition (v1.12)See the print edition