subtraction negate single argument
This commit is contained in:
@@ -103,6 +103,10 @@ class Prelude {
|
||||
public static var add:Function = makeVarArgsWithArrayCheck(_add, "+");
|
||||
|
||||
static function _subtract(values:Array<Dynamic>):Dynamic {
|
||||
// with one argument, just negate:
|
||||
if (values.length == 1)
|
||||
return -values[0];
|
||||
|
||||
var difference:Float = values[0];
|
||||
for (value in values.slice(1))
|
||||
difference -= value;
|
||||
|
@@ -72,11 +72,11 @@ class BasicTestCase extends Test {
|
||||
Assert.equals(6, BasicTestCase.mySum);
|
||||
}
|
||||
|
||||
function testVariadicSubtract() {
|
||||
Assert.equals(-2, BasicTestCase.myDifference);
|
||||
function testSubtraction() {
|
||||
_testSubtraction();
|
||||
}
|
||||
|
||||
function testVariadicMultiply() {
|
||||
function testMultiplication() {
|
||||
_testMultiplication();
|
||||
}
|
||||
|
||||
|
@@ -46,10 +46,11 @@
|
||||
(function _testCollect []
|
||||
(Assert.equals "[0,1,2]" (Std.string (collect (range 3)))))
|
||||
|
||||
// Variadic math uses haxe's Lambda.fold under the hood
|
||||
(var mySum (+ 1 2 3))
|
||||
|
||||
(var myDifference (- 5 4 3))
|
||||
(function _testSubtraction []
|
||||
(Assert.equals -2 (- 5 4 3))
|
||||
(Assert.equals -2 (- 2)))
|
||||
|
||||
(function _testMultiplication []
|
||||
(Assert.equals 60 (* 2 5 6))
|
||||
|
Reference in New Issue
Block a user