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

sequence

The sequence is a simple "vector of numbers" data structure. More...

Typedefs

typedef stp_sequence stp_sequence_t
 The sequence opaque data type.


Functions

stp_sequence_tstp_sequence_create (void)
 Create a new sequence.

void stp_sequence_destroy (stp_sequence_t *sequence)
 Destroy a sequence.

void stp_sequence_copy (stp_sequence_t *dest, const stp_sequence_t *source)
 Copy an sequence.

stp_sequence_tstp_sequence_create_copy (const stp_sequence_t *sequence)
 Copy and allocate an sequence.

int stp_sequence_set_bounds (stp_sequence_t *sequence, double low, double high)
 Set the lower and upper bounds.

void stp_sequence_get_bounds (const stp_sequence_t *sequence, double *low, double *high)
 Get the lower and upper bounds.

void stp_sequence_get_range (const stp_sequence_t *sequence, double *low, double *high)
 Get range of values stored in the sequence.

int stp_sequence_set_size (stp_sequence_t *sequence, size_t size)
 Set the sequence size.

size_t stp_sequence_get_size (const stp_sequence_t *sequence)
 Get the sequence size.

int stp_sequence_set_data (stp_sequence_t *sequence, size_t count, const double *data)
 Set the data in a sequence.

int stp_sequence_set_subrange (stp_sequence_t *sequence, size_t where, size_t size, const double *data)
 Set the data in a subrange of a sequence.

void stp_sequence_get_data (const stp_sequence_t *sequence, size_t *size, const double **data)
 Get the data in a sequence.

int stp_sequence_set_point (stp_sequence_t *sequence, size_t where, double data)
 Set the data at a single point in a sequence.

int stp_sequence_get_point (const stp_sequence_t *sequence, size_t where, double *data)
 Get the data at a single point in a sequence.

int stp_sequence_set_float_data (stp_sequence_t *sequence, size_t count, const float *data)
 Set the data in a sequence from float values.

int stp_sequence_set_long_data (stp_sequence_t *sequence, size_t count, const long *data)
 Set the data in a sequence from long values.

int stp_sequence_set_ulong_data (stp_sequence_t *sequence, size_t count, const unsigned long *data)
 Set the data in a sequence from unsigned long values.

int stp_sequence_set_int_data (stp_sequence_t *sequence, size_t count, const int *data)
 Set the data in a sequence from int values.

int stp_sequence_set_uint_data (stp_sequence_t *sequence, size_t count, const unsigned int *data)
 Set the data in a sequence from unsigned int values.

int stp_sequence_set_short_data (stp_sequence_t *sequence, size_t count, const short *data)
 Set the data in a sequence from short values.

int stp_sequence_set_ushort_data (stp_sequence_t *sequence, size_t count, const unsigned short *data)
 Set the data in a sequence from unsigned short values.

const float * stp_sequence_get_float_data (const stp_sequence_t *sequence, size_t *count)
 Get the data in a sequence as float data.

const long * stp_sequence_get_long_data (const stp_sequence_t *sequence, size_t *count)
 Get the data in a sequence as long data.

const unsigned long * stp_sequence_get_ulong_data (const stp_sequence_t *sequence, size_t *count)
 Get the data in a sequence as unsigned long data.

const int * stp_sequence_get_int_data (const stp_sequence_t *sequence, size_t *count)
 Get the data in a sequence as int data.

const unsigned int * stp_sequence_get_uint_data (const stp_sequence_t *sequence, size_t *count)
 Get the data in a sequence as unsigned int data.

const short * stp_sequence_get_short_data (const stp_sequence_t *sequence, size_t *count)
 Get the data in a sequence as short data.

const unsigned short * stp_sequence_get_ushort_data (const stp_sequence_t *sequence, size_t *count)
 Get the data in a sequence as unsigned short data.


Detailed Description

The sequence is a simple "vector of numbers" data structure.


Typedef Documentation

typedef struct stp_sequence stp_sequence_t
 

The sequence opaque data type.

Definition at line 50 of file sequence.h.


Function Documentation

void stp_sequence_copy stp_sequence_t   dest,
const stp_sequence_t   source
 

Copy an sequence.

Both dest and source must be valid sequences previously created with stp_sequence_create().

Parameters:
dest  the destination sequence.
source  the source sequence.

Definition at line 119 of file sequence.c.

References stp_sequence::bhi, stp_sequence::blo, check_sequence(), stp_sequence::data, stp_sequence::recompute_range, stp_sequence::rhi, stp_sequence::rlo, stp_sequence::size, and stp_zalloc().

Referenced by stp_sequence_create_copy().

stp_sequence_t* stp_sequence_create void   
 

Create a new sequence.

Returns :
the newly created sequence.

Definition at line 81 of file sequence.c.

References sequence_ctor(), and stp_zalloc().

Referenced by array_ctor(), stp_array_set_size(), stp_sequence_create_copy(), stp_sequence_create_from_xmltree(), stp_xmltree_create_from_curve(), and stpi_curve_ctor().

stp_sequence_t* stp_sequence_create_copy const stp_sequence_t   sequence
 

Copy and allocate an sequence.

A new sequence will be created, and then the contents of source will be copied into it. The destination must not have been previously allocated with stp_sequence_create().

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

Definition at line 135 of file sequence.c.

References check_sequence(), stp_sequence_copy(), and stp_sequence_create().

Referenced by stp_array_copy(), and stp_curve_copy().

void stp_sequence_destroy stp_sequence_t   sequence
 

Destroy a sequence.

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

Parameters:
sequence  the sequence to destroy.

Definition at line 111 of file sequence.c.

References check_sequence(), sequence_dtor(), and stp_free().

Referenced by array_dtor(), curve_dtor(), stp_array_copy(), stp_array_create_from_xmltree(), stp_array_set_size(), stp_curve_create_from_xmltree(), stp_sequence_create_from_xmltree(), and stp_xmltree_create_from_curve().

void stp_sequence_get_bounds const stp_sequence_t   sequence,
double *    low,
double *    high
 

Get the lower and upper bounds.

The values are stored in the variables pointed to by low and high.

Parameters:
sequence  the sequence to work on.
low  a pointer to a double to store the low bound in.
high  a pointer to a double to store the high bound in.

Definition at line 157 of file sequence.c.

References stp_sequence::bhi, stp_sequence::blo, and check_sequence().

Referenced by interpolate_gamma_internal(), interpolate_point_internal(), stp_curve_create_from_xmltree(), stp_curve_get_bounds(), stp_curve_rescale(), stp_curve_set_data(), stp_curve_set_subrange(), stp_dither_matrix_validate_array(), stp_xmltree_create_from_sequence(), and stpi_curve_check_parameters().

void stp_sequence_get_data const stp_sequence_t   sequence,
size_t *    size,
const double **    data
 

Get the data in a sequence.

Parameters:
sequence  the sequence to get the data from.
size  the number of elements in the sequence are stored in the size_t pointed to.
data  a pointer to the first element of an sequence of doubles is stored in a pointer to double*.
 stp_sequence_t *sequence;
 size_t size;
 double *data;
 stp_sequence_get_data(sequence, &size, &data);

Definition at line 256 of file sequence.c.

References check_sequence(), stp_sequence::data, and stp_sequence::size.

Referenced by compute_linear_deltas(), compute_spline_deltas(), stp_array_get_data(), stp_curve_create_from_xmltree(), stp_curve_get_data(), stp_curve_rescale(), and stp_curve_set_subrange().

const float* stp_sequence_get_float_data const stp_sequence_t   sequence,
size_t *    count
 

Get the data in a sequence as float data.

The pointer returned is owned by the curve, and is not guaranteed to be valid beyond the next non-const curve call; If the bounds of the curve exceed the limits of the data type, NULL is returned.

Parameters:
sequence  the sequence to get the data from.
count  the number of elements in the sequence are stored in the size_t pointed to.
Returns :
a pointer to the first element of an sequence of floats is stored in a pointer to float*.

const int* stp_sequence_get_int_data const stp_sequence_t   sequence,
size_t *    count
 

Get the data in a sequence as int data.

The pointer returned is owned by the curve, and is not guaranteed to be valid beyond the next non-const curve call; If the bounds of the curve exceed the limits of the data type, NULL is returned.

Parameters:
sequence  the sequence to get the data from.
count  the number of elements in the sequence are stored in the size_t pointed to.
Returns :
a pointer to the first element of an sequence of ints is stored in a pointer to int*.

const long* stp_sequence_get_long_data const stp_sequence_t   sequence,
size_t *    count
 

Get the data in a sequence as long data.

The pointer returned is owned by the curve, and is not guaranteed to be valid beyond the next non-const curve call; If the bounds of the curve exceed the limits of the data type, NULL is returned.

Parameters:
sequence  the sequence to get the data from.
count  the number of elements in the sequence are stored in the size_t pointed to.
Returns :
a pointer to the first element of an sequence of longs is stored in a pointer to long*.

int stp_sequence_get_point const stp_sequence_t   sequence,
size_t    where,
double *    data
 

Get the data at a single point in a sequence.

Parameters:
sequence  the sequence to use.
where  the location (indexed from zero).
data  the datum is stored in the double pointed to.
Returns :
1 on success, 0 on failure.

Definition at line 287 of file sequence.c.

References check_sequence(), stp_sequence::data, and stp_sequence::size.

Referenced by interpolate_point_internal(), stp_array_get_point(), stp_curve_get_point(), and stp_xmltree_create_from_sequence().

void stp_sequence_get_range const stp_sequence_t   sequence,
double *    low,
double *    high
 

Get range of values stored in the sequence.

The values are stored in the variables pointed to by low and high.

Parameters:
sequence  the sequence to work on.
low  a pointer to a double to store the low bound in.
high  a pointer to a double to store the high bound in.

Definition at line 187 of file sequence.c.

References stp_sequence::recompute_range, stp_sequence::rhi, stp_sequence::rlo, and scan_sequence_range().

Referenced by stp_curve_get_range(), and stp_curve_set_subrange().

const short* stp_sequence_get_short_data const stp_sequence_t   sequence,
size_t *    count
 

Get the data in a sequence as short data.

The pointer returned is owned by the curve, and is not guaranteed to be valid beyond the next non-const curve call; If the bounds of the curve exceed the limits of the data type, NULL is returned.

Parameters:
sequence  the sequence to get the data from.
count  the number of elements in the sequence are stored in the size_t pointed to.
Returns :
a pointer to the first element of an sequence of shorts is stored in a pointer to short*.

size_t stp_sequence_get_size const stp_sequence_t   sequence
 

Get the sequence size.

Returns :
the sequence size.

Definition at line 218 of file sequence.c.

References check_sequence(), and stp_sequence::size.

Referenced by compute_intervals(), get_point_count(), get_real_point_count(), stp_array_create_from_xmltree(), and stp_xmltree_create_from_sequence().

const unsigned int* stp_sequence_get_uint_data const stp_sequence_t   sequence,
size_t *    count
 

Get the data in a sequence as unsigned int data.

The pointer returned is owned by the curve, and is not guaranteed to be valid beyond the next non-const curve call; If the bounds of the curve exceed the limits of the data type, NULL is returned.

Parameters:
sequence  the sequence to get the data from.
count  the number of elements in the sequence are stored in the size_t pointed to.
Returns :
a pointer to the first element of an sequence of unsigned ints is stored in a pointer to unsigned int*.

const unsigned long* stp_sequence_get_ulong_data const stp_sequence_t   sequence,
size_t *    count
 

Get the data in a sequence as unsigned long data.

The pointer returned is owned by the curve, and is not guaranteed to be valid beyond the next non-const curve call; If the bounds of the curve exceed the limits of the data type, NULL is returned.

Parameters:
sequence  the sequence to get the data from.
count  the number of elements in the sequence are stored in the size_t pointed to.
Returns :
a pointer to the first element of an sequence of unsigned longs is stored in a pointer to unsigned long*.

const unsigned short* stp_sequence_get_ushort_data const stp_sequence_t   sequence,
size_t *    count
 

Get the data in a sequence as unsigned short data.

The pointer returned is owned by the curve, and is not guaranteed to be valid beyond the next non-const curve call; If the bounds of the curve exceed the limits of the data type, NULL is returned.

Parameters:
sequence  the sequence to get the data from.
count  the number of elements in the sequence are stored in the size_t pointed to.
Returns :
a pointer to the first element of an sequence of unsigned shorts is stored in a pointer to unsigned short*.

Referenced by stp_dither_matrix_init_from_dither_array().

int stp_sequence_set_bounds stp_sequence_t   sequence,
double    low,
double    high
 

Set the lower and upper bounds.

The lower and upper bounds set the minimum and maximum values that a point in the sequence may hold.

Parameters:
sequence  the sequence to work on.
low  the lower bound.
high  the upper bound.
Returns :
1 on success, or 0 if the lower bound is greater than the upper bound.

Definition at line 145 of file sequence.c.

References stp_sequence::bhi, stp_sequence::blo, check_sequence(), stp_sequence::recompute_range, stp_sequence::rhi, and stp_sequence::rlo.

Referenced by stp_curve_rescale(), stp_curve_set_bounds(), stp_sequence_create_from_xmltree(), stp_xmltree_create_from_curve(), and stpi_curve_ctor().

int stp_sequence_set_data stp_sequence_t   sequence,
size_t    count,
const double *    data
 

Set the data in a sequence.

Parameters:
sequence  the sequence to set.
count  the number of elements in the data.
data  a pointer to the first member of a sequence containing the data to set.
Returns :
1 on success, 0 on failure.

Definition at line 227 of file sequence.c.

References check_sequence(), stp_sequence::data, invalidate_auxilliary_data(), stp_sequence::recompute_range, stp_sequence::size, stp_free(), and stp_zalloc().

Referenced by stp_array_set_data(), and stp_xmltree_create_from_curve().

int stp_sequence_set_float_data stp_sequence_t   sequence,
size_t    count,
const float *    data
 

Set the data in a sequence from float values.

Parameters:
sequence  the sequence to set.
count  the number of elements in the data.
data  a pointer to the first member of a sequence containing the data to set.
Returns :
1 on success, 0 on failure.

int stp_sequence_set_int_data stp_sequence_t   sequence,
size_t    count,
const int *    data
 

Set the data in a sequence from int values.

Parameters:
sequence  the sequence to set.
count  the number of elements in the data.
data  a pointer to the first member of a sequence containing the data to set.
Returns :
1 on success, 0 on failure.

int stp_sequence_set_long_data stp_sequence_t   sequence,
size_t    count,
const long *    data
 

Set the data in a sequence from long values.

Parameters:
sequence  the sequence to set.
count  the number of elements in the data.
data  a pointer to the first member of a sequence containing the data to set.
Returns :
1 on success, 0 on failure.

int stp_sequence_set_point stp_sequence_t   sequence,
size_t    where,
double    data
 

Set the data at a single point in a sequence.

Parameters:
sequence  the sequence to use.
where  the location (indexed from zero).
data  the datum to set.
Returns :
1 on success, 0 on failure.

Definition at line 266 of file sequence.c.

References stp_sequence::bhi, stp_sequence::blo, check_sequence(), stp_sequence::data, invalidate_auxilliary_data(), stp_sequence::recompute_range, stp_sequence::rhi, stp_sequence::rlo, and stp_sequence::size.

Referenced by stp_array_set_point(), stp_curve_set_data(), stp_curve_set_point(), and stp_sequence_create_from_xmltree().

int stp_sequence_set_short_data stp_sequence_t   sequence,
size_t    count,
const short *    data
 

Set the data in a sequence from short values.

Parameters:
sequence  the sequence to set.
count  the number of elements in the data.
data  a pointer to the first member of a sequence containing the data to set.
Returns :
1 on success, 0 on failure.

int stp_sequence_set_size stp_sequence_t   sequence,
size_t    size
 

Set the sequence size.

The size is the number of elements the sequence contains. Note that resizing will destroy all data contained in the sequence.

Parameters:
sequence  the sequence to work on.
size  the size to set the sequence to.
Returns :
1 on success, 0 on failure.

Definition at line 199 of file sequence.c.

References check_sequence(), stp_sequence::data, invalidate_auxilliary_data(), stp_sequence::recompute_range, stp_sequence::size, stp_free(), and stp_zalloc().

Referenced by array_ctor(), clear_curve_data(), stp_array_set_size(), stp_sequence_create_from_xmltree(), stp_xmltree_create_from_curve(), and stpi_curve_set_points().

int stp_sequence_set_subrange stp_sequence_t   sequence,
size_t    where,
size_t    size,
const double *    data
 

Set the data in a subrange of a sequence.

Parameters:
sequence  the sequence to set.
where  the starting element in the sequence (indexed from 0).
size  the number of elements in the data.
data  a pointer to the first member of a sequence containing the data to set.
Returns :
1 on success, 0 on failure.

Definition at line 242 of file sequence.c.

References check_sequence(), stp_sequence::data, invalidate_auxilliary_data(), stp_sequence::recompute_range, and stp_sequence::size.

Referenced by stp_curve_resample(), stp_curve_rescale(), stp_curve_set_data(), and stp_curve_set_subrange().

int stp_sequence_set_uint_data stp_sequence_t   sequence,
size_t    count,
const unsigned int *    data
 

Set the data in a sequence from unsigned int values.

Parameters:
sequence  the sequence to set.
count  the number of elements in the data.
data  a pointer to the first member of a sequence containing the data to set.
Returns :
1 on success, 0 on failure.

int stp_sequence_set_ulong_data stp_sequence_t   sequence,
size_t    count,
const unsigned long *    data
 

Set the data in a sequence from unsigned long values.

Parameters:
sequence  the sequence to set.
count  the number of elements in the data.
data  a pointer to the first member of a sequence containing the data to set.
Returns :
1 on success, 0 on failure.

int stp_sequence_set_ushort_data stp_sequence_t   sequence,
size_t    count,
const unsigned short *    data
 

Set the data in a sequence from unsigned short values.

Parameters:
sequence  the sequence to set.
count  the number of elements in the data.
data  a pointer to the first member of a sequence containing the data to set.
Returns :
1 on success, 0 on failure.


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