freemarker.core

Class ArithmeticEngine.ConservativeEngine

Enclosing Class:
ArithmeticEngine

public static class ArithmeticEngine.ConservativeEngine
extends ArithmeticEngine

An arithmetic engine that conservatively widens the operation arguments to extent that they can hold the result of the operation. Widening conversions occur in following situations:

Nested Class Summary

Nested classes/interfaces inherited from class freemarker.core.ArithmeticEngine

ArithmeticEngine.BigDecimalEngine, ArithmeticEngine.ConservativeEngine

Field Summary

Fields inherited from class freemarker.core.ArithmeticEngine

BIGDECIMAL_ENGINE, CONSERVATIVE_ENGINE, maxScale, minScale, roundingPolicy

Method Summary

Number
add(Number first, Number second)
int
compareNumbers(Number first, Number second)
Number
divide(Number first, Number second)
Number
modulus(Number first, Number second)
Number
multiply(Number first, Number second)
Number
subtract(Number first, Number second)
Number
toNumber(String s)

Methods inherited from class freemarker.core.ArithmeticEngine

add, compareNumbers, divide, modulus, multiply, setMaxScale, setMinScale, setRoundingPolicy, subtract, toNumber

Method Details

add

public Number add(Number first,
                  Number second)
            throws TemplateException
Overrides:
add in interface ArithmeticEngine

compareNumbers

public int compareNumbers(Number first,
                          Number second)
            throws TemplateException
Overrides:
compareNumbers in interface ArithmeticEngine

divide

public Number divide(Number first,
                     Number second)
            throws TemplateException
Overrides:
divide in interface ArithmeticEngine

modulus

public Number modulus(Number first,
                      Number second)
            throws TemplateException
Overrides:
modulus in interface ArithmeticEngine

multiply

public Number multiply(Number first,
                       Number second)
            throws TemplateException
Overrides:
multiply in interface ArithmeticEngine

subtract

public Number subtract(Number first,
                       Number second)
            throws TemplateException
Overrides:
subtract in interface ArithmeticEngine

toNumber

public Number toNumber(String s)
Overrides:
toNumber in interface ArithmeticEngine