freemarker.core
Class ArithmeticEngine.BigDecimalEngine

java.lang.Object
  extended by freemarker.core.ArithmeticEngine
      extended by freemarker.core.ArithmeticEngine.BigDecimalEngine
Enclosing class:
ArithmeticEngine

public static class ArithmeticEngine.BigDecimalEngine
extends ArithmeticEngine

This is the default arithmetic engine in FreeMarker. It converts every number it receives into BigDecimal, then operates on these converted BigDecimals.


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
 
Constructor Summary
ArithmeticEngine.BigDecimalEngine()
           
 
Method Summary
 java.lang.Number add(java.lang.Number first, java.lang.Number second)
           
 int compareNumbers(java.lang.Number first, java.lang.Number second)
           
 java.lang.Number divide(java.lang.Number first, java.lang.Number second)
           
 java.lang.Number modulus(java.lang.Number first, java.lang.Number second)
           
 java.lang.Number multiply(java.lang.Number first, java.lang.Number second)
           
 java.lang.Number subtract(java.lang.Number first, java.lang.Number second)
           
 java.lang.Number toNumber(java.lang.String s)
           
 
Methods inherited from class freemarker.core.ArithmeticEngine
setMaxScale, setMinScale, setRoundingPolicy
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ArithmeticEngine.BigDecimalEngine

public ArithmeticEngine.BigDecimalEngine()
Method Detail

compareNumbers

public int compareNumbers(java.lang.Number first,
                          java.lang.Number second)
Specified by:
compareNumbers in class ArithmeticEngine

add

public java.lang.Number add(java.lang.Number first,
                            java.lang.Number second)
Specified by:
add in class ArithmeticEngine

subtract

public java.lang.Number subtract(java.lang.Number first,
                                 java.lang.Number second)
Specified by:
subtract in class ArithmeticEngine

multiply

public java.lang.Number multiply(java.lang.Number first,
                                 java.lang.Number second)
Specified by:
multiply in class ArithmeticEngine

divide

public java.lang.Number divide(java.lang.Number first,
                               java.lang.Number second)
Specified by:
divide in class ArithmeticEngine

modulus

public java.lang.Number modulus(java.lang.Number first,
                                java.lang.Number second)
Specified by:
modulus in class ArithmeticEngine

toNumber

public java.lang.Number toNumber(java.lang.String s)
Specified by:
toNumber in class ArithmeticEngine