[cctbxbb] pyyaml - iotbx.pdb incompatibility
xtald00d at gmail.com
Mon Apr 15 23:21:47 PDT 2013
On Apr 15, 2013, at 11:21 PM, Nathaniel Echols wrote:
> Is your example more or less what YAML does that triggers the crash?
Yes, the example I gave is essentially the YAML code distilled. For some reason yaml wants to make infs and nans. Here is around 256 of yaml/constructor.py:
inf_value = 1e300
while inf_value != inf_value*inf_value: # ⇐ Line 256
inf_value *= inf_value
nan_value = -inf_value/inf_value # Trying to make a quiet NaN (like C99).
But what they are doing really doesn't make any sense to do, because infs and nans can be made in python without all of the gymnastics:
>>> inf_value == float('inf')
>>> nan_value = flaot('nan')
I would agree that boost's trapping the conditional on line 256 is not a bug. If 1e300 * 1e300 were defined, they wouldn't "need" to use a loop to find the nan.
More information about the cctbxbb