8c230f1 Replace float with Decimal

Authored and Committed by mkosek 12 years ago
    Replace float with Decimal
    
    Having float type as a base type for floating point parameters in
    ipalib introduces several issues, e.g. problem with representation
    or value comparison. Python language provides a Decimal type which
    help overcome these issues.
    
    This patch replaces a float type and Float parameter with a
    decimal.Decimal type in Decimal parameter. A precision attribute
    was added to Decimal parameter that can be used to limit a number
    of decimal places in parameter representation. This approach fixes
    a problem with API.txt validation where comparison of float values
    may fail on different architectures due to float representation error.
    
    In order to safely transfer the parameter value over RPC it is
    being converted to string which is then converted back to
    decimal.Decimal number on a server side.
    
    https://fedorahosted.org/freeipa/ticket/2260
    
        
file modified
+18 -18
file modified
+4 -4
file modified
+1 -1
file modified
+4 -2
file modified
+69 -18
file modified
+31 -20
file modified
+4 -0
file modified
+3 -0
file modified
+1 -1