Owen Taylor > CORBA-MICO-0.6.0 > CORBA::MICO::Fixed

Download:
CORBA-MICO-0.6.0.tar.gz

Annotate this POD

View/Report Bugs
Source   Latest Release: CORBA-MICO-0.6.7

NAME ^

CORBA::MICO::Fixed - Fixed point arithmetic for CORBA.

SYNOPSIS ^

 use CORBA:::MICO::Fixed;

 $a = new CORBA::Fixed "+123454", 3
 print $a + 1.0                            # produces "+124.454"

DESCRIPTION ^

CORBA::MICO::Fixed implements arithmetic operations on fixed point numbers. It is meant to be used in conjuction with the CORBA::MICO module, but could conceivable be useful otherwise. Note that the file is called CORBA::MICO::Fixed, but it implements the generic package CORBA::Fixed.

Internal representation ^

Internally, numbers are as represented as a pair of a Math::BigInt multiple precision integer, and a integer scale. (positive or negative).

Arithmetic operations ^

Addition, subtraction, and multiplication are carried out precisely. For adddition and subtraction, of two numbers with scales s1 and s2, the resulting scale is MAX(s1,s2). For multiplication the resulting scale is s1+s2.

Division is carried out to 31 decimals places, with additional digits truncated without rounding.

Methods in CORBA::MICO::Fixed ^

Aside from overloaded +, -, *, / <=> and "" operations, CORBA::MICO::Fixed provides the following methods:

new STRING SCALE

Given a string (as suitable for input to Math::BigInt), and a scale, create a fixed-point value with the digits and sign of STRING, and the scale SCALE.

from_string STRING

Create a CORBA::Fixed object from a string according to the rules in the CORBA manual for fixed literals. That is, the scale is given by the number of digits to the right of the decimal point, ignoring trailing zeros. If the number has no non-zero digits to the right of the decimal point, the scale will be the negative of the number of trailing zeros to the left of the decimal point.

to_digits ( NDIGITS, SCALE )

Gives the digits (with a leading + or - sign) of the the object's value, rounded to the SCALE, and padded to NDIGITS.

AUTHOR ^

Owen Taylor <otaylor@gtk.org>

SEE ALSO ^

perl(1).

syntax highlighting: