|
@@ -142,12 +142,34 @@ class HxOverrides {
|
|
|
|
|
|
@:ifFeature("binop_%")
|
|
|
static public function modf(a:Float, b:Float) {
|
|
|
- return Syntax.code("float('nan') if (b == 0.0) else a % b if a >= 0 and b >= 0 else -(-a % b)");
|
|
|
+ if(b == 0.0) {
|
|
|
+ return Syntax.code("float('nan')");
|
|
|
+ } else if(a < 0) {
|
|
|
+ if(b < 0) {
|
|
|
+ return Syntax.code("-(-{0} % (-{1}))", a, b);
|
|
|
+ } else {
|
|
|
+ return Syntax.code("-(-{0} % {1})", a, b);
|
|
|
+ }
|
|
|
+ } else if(b < 0) {
|
|
|
+ return Syntax.code("{0} % (-{1})", a, b);
|
|
|
+ } else {
|
|
|
+ return Syntax.code("{0} % {1}", a, b);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@:ifFeature("binop_%")
|
|
|
static public function mod(a:Int, b:Int) {
|
|
|
- return Syntax.code("a % b if a >= 0 and b >= 0 else -(-a % b)");
|
|
|
+ if(a < 0) {
|
|
|
+ if(b < 0) {
|
|
|
+ return Syntax.code("-(-{0} % (-{1}))", a, b);
|
|
|
+ } else {
|
|
|
+ return Syntax.code("-(-{0} % {1})", a, b);
|
|
|
+ }
|
|
|
+ } else if(b < 0) {
|
|
|
+ return Syntax.code("{0} % (-{1})", a, b);
|
|
|
+ } else {
|
|
|
+ return Syntax.code("{0} % {1}", a, b);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@:ifFeature("dynamic_array_read")
|