python hack converting floats to decimals

Viewed 92

I've written a large program, with dependencies on libraries written in my lab. I'm getting wrong (and somewhat random) results, which are caused by floating-point errors.
I would like to do some python magic and change all floats to decimals, or some other more precise type.
I can't write the full code here, but following is the general flow -

def run(n):
  ...
  x = 0.5  # initializes as float
  for _ in range(n):
    x = calc(x)
  ...
  return x

What I'm trying to avoid is to go over all initialization in the code and add a manual cast to decimal.
Is there a trick I can do to make python initialize all floats in lines such as x = 0.5 as decimals? or perhaps use a custom interpreter which has more exact floats?
Thanks,

I can't post the full code, hope my edit makes it clearer.

1 Answers

I think you can use this:

from decimal import Decimal
Decimal(variable)
Related