In https://github.com/numpy/numpy/issues/6428 scheint die Ursache für den Fehler zu sein, dass bei simd.inc.src:543
ein Compiler !(tmp == 0.)
zu tmp != 0.
optimiert.Fälle, in denen float == und! = Keine direkten Gegensätze sind
A comment sagt, dass diese „nicht ganz das gleiche.“ Aber gibt keine Details an. NaNs sind weiter oben erwähnt, aber ein Test zeigt, dass ein NaN im Vergleich zu 0.
der erwartete Weg ist.
In welchen Fällen können ==
und !=
beide wahr/falsch zurückgeben?
Oder die Diskrepanz ist in einem anderen Feld - z.B. Rückkehr Werte, die den gleichen Wahrheitswert haben, aber anders als Ints (aber Tests haben gezeigt, auch das scheint nicht der Fall ist) ?
Wenn 'f'' NaN' sein kann, ist es kein 'int'. –
Nan kann nicht 0 werden. Da 0 eine Zahl ist, bedeutet NaN keine Zahl. Also sagst du, wenn du das tust "int a = 0;" a ist ein NaN? – amanuel2
Entschuldigung, wenn mir etwas offensichtlich fehlt, aber: Wo in diesem Thread identifizieren sie das als die Ursache? Die nächste Referenz, die ich sehe, beginnt mit "Ich werde raten"! Wie auch immer, dieser verknüpfte Fehler scheint näher zu sein: https://github.com/numpy/numpy/pull/6438 –