Skip to content

Commit

Permalink
added shortcut to return zero if any number in a multiplication array…
Browse files Browse the repository at this point in the history
… is zero
  • Loading branch information
DanielJDufour committed May 4, 2023
1 parent ed02762 commit 9cb7ac6
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 0 deletions.
3 changes: 3 additions & 0 deletions multiply_array.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

const is_imaginary = require("./is_imaginary.js");
const is_odd = require("./is_odd.js");
const is_zero = require("./is_zero.js");
const multiply_rational = require("./multiply_rational.js");

/**
Expand All @@ -12,6 +13,8 @@ const multiply_rational = require("./multiply_rational.js");
* @returns {String} product as a numerical string
*/
function multiply_array(nums, { max_decimal_digits } = {}) {
if (nums.some(n => is_zero(n))) return "0";

const imaginary = is_odd(nums.filter(n => is_imaginary(n)).length.toString());
let product = multiply_rational(
nums.map(n => n.replace(/i$/, "")),
Expand Down
1 change: 1 addition & 0 deletions test.js
Original file line number Diff line number Diff line change
Expand Up @@ -279,6 +279,7 @@ test("exp", ({ eq }) => {
});

test("multiply", ({ eq }) => {
eq(multiply('-0.5767759114507439', '0'), '0');
eq(multiply("2", "3", "4"), "24");
eq(multiply(["2", "3", "4"]), "24");
eq(multiply("0745148275059136", "05931602"), "4419922998637321215872");
Expand Down

0 comments on commit 9cb7ac6

Please sign in to comment.