Main Page   Modules   Alphabetical List   Data Structures   File List   Data Fields   Globals  

array

The array is a simple "two-dimensional array of numbers" data structure. More...

Typedefs

typedef stp_array stp_array_t
 The array opaque data type.


Functions

stp_array_tstp_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_tstp_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_tstp_array_get_sequence (const stp_array_t *array)
 Get the underlying stp_sequence_t.


Detailed Description

The array is a simple "two-dimensional array of numbers" data structure.

array "inherits" from the sequence data structure (implemented via containment).


Typedef Documentation

typedef struct stp_array stp_array_t
 

The array opaque data type.

Definition at line 52 of file array.h.


Function Documentation

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().

Parameters:
dest  the destination array.
source  the source array.

Definition at line 93 of file array.c.

References check_array(), stp_array::data, stp_sequence_create_copy(), stp_sequence_destroy(), stp_array::x_size, and stp_array::y_size.

Referenced by stp_array_create_copy().

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).

Parameters:
x_size  the number of "columns".
y_size  the number of "rows".
Returns :
the newly created array.

Definition at line 65 of file array.c.

References array_ctor(), stp_array::data, stp_zalloc(), stp_array::x_size, and stp_array::y_size.

Referenced by stp_array_create_copy(), and stp_array_create_from_xmltree().

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().

Parameters:
array  the source array.
Returns :
the new copy of the array.

Definition at line 106 of file array.c.

References check_array(), stp_array_copy(), and stp_array_create().

Referenced by stp_set_array_parameter(), stp_set_default_array_parameter(), stp_xml_get_dither_array(), and value_copy().

void stp_array_destroy stp_array_t   array
 

Destroy an array.

It is an error to destroy the array more than once.

Parameters:
array  the array to destroy.

Definition at line 86 of file array.c.

References array_dtor(), check_array(), and stp_free().

Referenced by stp_array_create_from_xmltree(), stp_dither_init(), stp_parameter_description_destroy(), stp_set_array_parameter(), and value_freefunc().

void stp_array_get_data const stp_array_t   array,
size_t *    size,
const double **    data
 

Get the data in an array.

Parameters:
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);

Definition at line 146 of file array.c.

References check_array(), stp_array::data, and stp_sequence_get_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.

Parameters:
array  the array to use.
x  the x location.
y  the y location.
data  the datum is stored in the double pointed to.
Returns :
1 on success, 0 on failure.

Definition at line 163 of file array.c.

References check_array(), stp_array::data, stp_sequence_get_point(), stp_array::x_size, and stp_array::y_size.

const stp_sequence_t* stp_array_get_sequence const stp_array_t   array
 

Get the underlying stp_sequence_t.

Parameters:
array  the array to use.
Returns :
the (constant) stp_sequence_t.

Definition at line 174 of file array.c.

References check_array(), and stp_array::data.

Referenced by stp_dither_matrix_init_from_dither_array(), and stp_dither_matrix_validate_array().

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.

Parameters:
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.

Definition at line 129 of file array.c.

References check_array(), stp_array::x_size, and stp_array::y_size.

Referenced by stp_dither_matrix_init_from_dither_array().

void stp_array_set_data stp_array_t   array,
const double *    data
 

Set the data in an array.

Parameters:
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).

Definition at line 138 of file array.c.

References check_array(), stp_array::data, stp_sequence_set_data(), stp_array::x_size, and stp_array::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.

Parameters:
array  the array to use.
x  the x location.
y  the y location.
data  the datum to set.
Returns :
1 on success, 0 on failure.

Definition at line 153 of file array.c.

References check_array(), stp_array::data, stp_sequence_set_point(), stp_array::x_size, and stp_array::y_size.

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.

Parameters:
array  the array to resize.
x_size  the new number of "columns".
y_size  the new number of "rows".

Definition at line 117 of file array.c.

References check_array(), stp_array::data, stp_sequence_create(), stp_sequence_destroy(), stp_sequence_set_size(), stp_array::x_size, and stp_array::y_size.


Generated on Wed May 12 20:21:38 2004 for libgimpprint API Reference by doxygen1.2.17