classes/resizablefloatarray.pmc - resizable size array for floating point numbers only


This class, ResizableFloatArray, implements an array of resizable size, which stores FLOATVALs. It uses Float PMCs to do all necessary conversions.

Functions ^

FLOATVAL get_number_keyed_int(INTVAL key)

Returns the floating-point value of the element at index key.

void set_number_keyed_int(INTVAL key, FLOATVAL value)

Sets the floating-point value of the element at index key to value.

void set_integer_native(INTVAL size)

Resizes the array to size elements.

When growing, if the new size stays smaller than twice the old size, grow to two twice the old size, otherwise grow to the new size.

When shrinking, if the new size gets smaller than half the old size, shrink to one and half times the new size (three thirds of the old size).

PMC *clone()

Creates and returns a copy of the array.

void push_float(FLOATVAL value)

Adds value to the end of the array.

FLOATVAL pop_float()

Removes and returns the last element in the array.




Initial version 2004.06.11 by Matt Fowles Changed allocator to double size - MF 2004.06.15