浏览代码

[php] fix Math.min() and Math.max() for NAN on PHP 7.1.9 and 7.1.10

Alexander Kuzmenko 8 年之前
父节点
当前提交
ce7d39302d
共有 3 个文件被更改,包括 5 次插入2 次删除
  1. 2 0
      .gitignore
  2. 1 0
      extra/CHANGES.txt
  3. 2 2
      std/php/_std/Math.hx

+ 2 - 0
.gitignore

@@ -110,3 +110,5 @@ tests/server/test.js
 
 tests/unit/pypy3-*
 tmp.tmp
+
+dev-display.hxml

+ 1 - 0
extra/CHANGES.txt

@@ -23,6 +23,7 @@
 	cs/java : fixed DCE bug that would lose toString method of thrown objects
 	php/python : fixed some bit operators for Int32 (#5938)
 	php : fixed accessing `static inline var` via reflection (#6630)
+	php : fixed Math.min() and Math.max() for NAN on PHP 7.1.9 and 7.1.10
 
 2017-09-12: 4.0.0-preview.1
 

+ 2 - 2
std/php/_std/Math.hx

@@ -31,8 +31,8 @@ import php.Syntax.*;
 	public static var NEGATIVE_INFINITY(default,null) : Float = -Const.INF;
 
 	public static inline function abs( v:Float ) : Float return Global.abs(v);
-	public static inline function min( a:Float, b:Float ) : Float return isNaN(a) ? NaN : Global.min(a, b);
-	public static inline function max( a:Float, b:Float ) : Float return isNaN(b) ? NaN : Global.max(a, b);
+	public static inline function min( a:Float, b:Float ) : Float return isNaN(a) || isNaN(b) ? NaN : Global.min(a, b);
+	public static inline function max( a:Float, b:Float ) : Float return isNaN(b) || isNaN(b) ? NaN : Global.max(a, b);
 	public static inline function sin( v:Float ) : Float return Global.sin(v);
 	public static inline function cos( v:Float ) : Float return Global.cos(v);
 	public static inline function atan2( y:Float, x:Float ) : Float return Global.atan2(y, x);