    class
    	ECOM_CURRENCY

    General
    	cluster: structures
    	description: "COM Currency Structure"
    	create: make_from_decimal, make_from_pointer, make

    Ancestors
    	ECOM_STRUCTURE*
    	NUMERIC*

    Queries
    	absolute: ECOM_CURRENCY
    	ceiled_integer_portion: ECOM_CURRENCY
    	divisible (other: ECOM_CURRENCY): BOOLEAN
    	exists: BOOLEAN
    	exponentiable (other: ECOM_CURRENCY): BOOLEAN
    	high_bits: INTEGER_32
    	infix "*" (other: ECOM_CURRENCY): ECOM_CURRENCY
    	infix "+" (other: ECOM_CURRENCY): ECOM_CURRENCY
    	infix "-" (other: ECOM_CURRENCY): ECOM_CURRENCY
    	infix "/" (other: ECOM_CURRENCY): ECOM_CURRENCY
    	infix "^" (other: NUMERIC): NUMERIC
    	is_equal (other: [like Current] ECOM_CURRENCY): BOOLEAN
    	item: POINTER
    	low_bits: INTEGER_32
    	multiply_integer (an_integer: INTEGER_32): ECOM_CURRENCY
    	one: ECOM_CURRENCY
    	prefix "+": ECOM_CURRENCY
    	prefix "-": ECOM_CURRENCY
    	rounded (value: INTEGER_32): ECOM_CURRENCY
    	shared: BOOLEAN
    	structure_size: INTEGER_32
    	truncated_to_double: REAL_64
    	truncated_to_integer_portion: ECOM_CURRENCY
    	zero: ECOM_CURRENCY

    Commands
    	copy (other: [like Current] ECOM_CURRENCY)
    	dispose
    	initialize
    	initialize_with_character (a_character: CHARACTER_8)
    	make
    	make_from_decimal (dec_value: ECOM_DECIMAL)
    	memory_copy (source_pointer: POINTER; length: INTEGER_32)
    	set_high_bits (an_integer: INTEGER_32)
    	set_low_bits (an_integer: INTEGER_32)
    	set_shared
    	set_unshared
    	set_value (source: [like Current] ECOM_CURRENCY)