| |
| |
| Normal priority: |
| ---------------- |
| |
| 1) Add C-API importable as capsule. |
| |
| 2) Add --with-system-libmpdec to ./configure. |
| |
| 3) Use same default emin/emax on 32-bit (MAX_EMAX=425000000) and 64-bit |
| (MAX_EMAX=10**18-1). |
| |
| 4) Order of arguments in Context(). |
| |
| 5) Documentation. |
| |
| 6) quantize() |
| - exp argument is misleading: |
| Decimal('0.321000e+2').quantize(exp=9) -> user might expect |
| that the result will have exp=9. |
| - watchexp |
| |
| 7) Match the exception hierarchy of decimal.py: |
| |
| exceptions.ArithmeticError(exceptions.Exception) |
| DecimalException |
| Clamped |
| DivisionByZero(DecimalException, exceptions.ZeroDivisionError) |
| Inexact |
| Overflow(Inexact, Rounded) |
| Underflow(Inexact, Rounded, Subnormal) |
| InvalidOperation |
| Rounded |
| Subnormal |
| FloatOperation |
| |
| |
| Low priority: |
| ------------- |
| |
| 1) Convert tabs (wait until commit). |
| |
| 2) Pre-ANSI compilers require '#' in the first column (should be done |
| for the whole Python source tree if we support such compilers). (?) |
| |
| 3) FETCH_CURRENT_CONTEXT vs. CURRENT_CONTEXT? |
| |
| 4) Justify remaining uses of exit on overflow in bignum arith. Short |
| answer: with correct context values the coefficients never get big |
| enough for that to happen. |
| |
| 5) Justify remaining uses of abort() in mpdecimal: These uses are |
| for debug purposes and can't be reached when the library is used |
| correctly. |
| |
| |