NAME

QuantLib::Rounding - basic rounding class

SYNOPSIS


#include <ql/math/rounding.hpp>

Inherited by CeilingTruncation, ClosestRounding, DownRounding, FloorTruncation, and UpRounding.

Public Types


enum Type { None, Up, Down, Closest, Floor, Ceiling }
rounding methods

Public Member Functions


Rounding ()
default constructor
Rounding (Integer precision, Type type=Closest, Integer digit=5)

Decimal operator() (Decimal value) const
perform rounding

Inspectors


Integer precision () const

Type type () const

Integer roundingDigit () const

Detailed Description

basic rounding class

Tests

the correctness of the returned values is tested by checking them against known good results.

Member Enumeration Documentation

enum Type

rounding methods

The rounding methods follow the OMG specification available at ftp://ftp.omg.org/pub/docs/formal/00-06-29.pdf

Warning

the names of the Floor and Ceiling methods might be misleading. Check the provided reference.

Enumerator:

None
do not round: return the number unmodified
Up
the first decimal place past the precision will be rounded up. This differs from the OMG rule which rounds up only if the decimal to be rounded is greater than or equal to the rounding digit
Down
all decimal places past the precision will be truncated
Closest
the first decimal place past the precision will be rounded up if greater than or equal to the rounding digit; this corresponds to the OMG round-up rule. When the rounding digit is 5, the result will be the one closest to the original number, hence the name.
Floor
positive numbers will be rounded up and negative numbers will be rounded down using the OMG round up and round down rules
Ceiling
positive numbers will be rounded down and negative numbers will be rounded up using the OMG round up and round down rules

Constructor & Destructor Documentation

Rounding ()

default constructor

Instances built through this constructor don't perform any rounding.

Author

Generated automatically by Doxygen for QuantLib from the source code.