Floating point precision between CHOPs

It looks like channels being passed from one CHOP to another are losing precision.

I have an expression CHOP connected to a math CHOP and then another math CHOP. When the values being fed from the expression CHOP got to be less than -1.0 e^5 then the following math CHOP would take the value as 0.

Running the same formula that the 3 CHOPs were doing in a single expression CHOP works fine:

1.0 / me.inputVal * parent().panel.screenh * .5 * me.inputs[1][0]

cheers
Keith

CHOPs currently only hold 32-bit floats, which Python and parameters all hold 64-bit floats (doubles). So it would make sense that you may get more precision in a single Python expression than in CHOPs.

Found that thread encountering a similar issue, I’m curious if there’s any point in the future where chops would get upgraded to double precision?
I know it can be worked around but it would make some situations easier to deal with :smiley:

1 Like