Typedefs | |
typedef struct stp_array | stp_array_t |
The array opaque data type. | |
Functions | |
stp_array_t * | stp_array_create (int x_size, int y_size) |
Create a new array. | |
void | stp_array_destroy (stp_array_t *array) |
Destroy an array. | |
void | stp_array_copy (stp_array_t *dest, const stp_array_t *source) |
Copy an array. | |
stp_array_t * | stp_array_create_copy (const stp_array_t *array) |
Copy and allocate an array. | |
void | stp_array_set_size (stp_array_t *array, int x_size, int y_size) |
Resize an array. | |
void | stp_array_get_size (const stp_array_t *array, int *x_size, int *y_size) |
Get the size of an array. | |
void | stp_array_set_data (stp_array_t *array, const double *data) |
Set the data in an array. | |
void | stp_array_get_data (const stp_array_t *array, size_t *size, const double **data) |
Get the data in an array. | |
int | stp_array_set_point (stp_array_t *array, int x, int y, double data) |
Set the data at a single point in the array. | |
int | stp_array_get_point (const stp_array_t *array, int x, int y, double *data) |
Get the data at a single point in the array. | |
const stp_sequence_t * | stp_array_get_sequence (const stp_array_t *array) |
Get the underlying stp_sequence_t. |
array "inherits" from the sequence data structure (implemented via containment).
typedef struct stp_array stp_array_t |
The array opaque data type.
void stp_array_copy | ( | stp_array_t * | dest, | |
const stp_array_t * | source | |||
) |
Copy an array.
Both dest and source must be valid arrays previously created with stp_array_create().
dest | the destination array. | |
source | the source array. |
stp_array_t* stp_array_create | ( | int | x_size, | |
int | y_size | |||
) |
Create a new array.
The total size of the array will be (x_size * y_size).
x_size | the number of "columns". | |
y_size | the number of "rows". |
stp_array_t* stp_array_create_copy | ( | const stp_array_t * | array | ) |
Copy and allocate an array.
dest will be created, and then the contents of source will be copied into it. dest must not have been previously allocated with stp_array_create().
array | the source array. |
void stp_array_destroy | ( | stp_array_t * | array | ) |
Destroy an array.
It is an error to destroy the array more than once.
array | the array to destroy. |
void stp_array_get_data | ( | const stp_array_t * | array, | |
size_t * | size, | |||
const double ** | data | |||
) |
Get the data in an array.
array | the array to get the data from. | |
size | the number of elements in the array (x_size * y_size) are stored in the size_t pointed to. | |
data | a pointer to the first element of an array of doubles is stored in a pointer to double*. stp_array_t *array; size_t size; double *data; stp_array_get_data(array, &size, &data); |
int stp_array_get_point | ( | const stp_array_t * | array, | |
int | x, | |||
int | y, | |||
double * | data | |||
) |
Get the data at a single point in the array.
array | the array to use. | |
x | the x location. | |
y | the y location. | |
data | the datum is stored in the double pointed to. |
const stp_sequence_t* stp_array_get_sequence | ( | const stp_array_t * | array | ) |
Get the underlying stp_sequence_t.
array | the array to use. |
void stp_array_get_size | ( | const stp_array_t * | array, | |
int * | x_size, | |||
int * | y_size | |||
) |
Get the size of an array.
The current x and y sizes are stored in the integers pointed to by x_size and y_size.
array | the array to get the size of. | |
x_size | a pointer to an integer to store the x size in. | |
y_size | a pointer to an integer to store the y size in. |
void stp_array_set_data | ( | stp_array_t * | array, | |
const double * | data | |||
) |
Set the data in an array.
array | the array to set. | |
data | a pointer to the first member of an array containing the data to set. This array must be at least as long as (x_size * y_size). |
int stp_array_set_point | ( | stp_array_t * | array, | |
int | x, | |||
int | y, | |||
double | data | |||
) |
Set the data at a single point in the array.
array | the array to use. | |
x | the x location. | |
y | the y location. | |
data | the datum to set. |
void stp_array_set_size | ( | stp_array_t * | array, | |
int | x_size, | |||
int | y_size | |||
) |
Resize an array.
Resizing an array will destroy all data stored in the array.
array | the array to resize. | |
x_size | the new number of "columns". | |
y_size | the new number of "rows". |