UNPKG

1.77 kBJavaScriptView Raw
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.createSquare = void 0;
7
8var _factory = require("../../utils/factory");
9
10var _collection = require("../../utils/collection");
11
12var _number = require("../../plain/number");
13
14var name = 'square';
15var dependencies = ['typed'];
16var createSquare = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
17 var typed = _ref.typed;
18
19 /**
20 * Compute the square of a value, `x * x`.
21 * For matrices, the function is evaluated element wise.
22 *
23 * Syntax:
24 *
25 * math.square(x)
26 *
27 * Examples:
28 *
29 * math.square(2) // returns number 4
30 * math.square(3) // returns number 9
31 * math.pow(3, 2) // returns number 9
32 * math.multiply(3, 3) // returns number 9
33 *
34 * math.square([1, 2, 3, 4]) // returns Array [1, 4, 9, 16]
35 *
36 * See also:
37 *
38 * multiply, cube, sqrt, pow
39 *
40 * @param {number | BigNumber | Fraction | Complex | Array | Matrix | Unit} x
41 * Number for which to calculate the square
42 * @return {number | BigNumber | Fraction | Complex | Array | Matrix | Unit}
43 * Squared value
44 */
45 var square = typed(name, {
46 number: _number.squareNumber,
47 Complex: function Complex(x) {
48 return x.mul(x);
49 },
50 BigNumber: function BigNumber(x) {
51 return x.times(x);
52 },
53 Fraction: function Fraction(x) {
54 return x.mul(x);
55 },
56 'Array | Matrix': function ArrayMatrix(x) {
57 // deep map collection, skip zeros since square(0) = 0
58 return (0, _collection.deepMap)(x, square, true);
59 },
60 Unit: function Unit(x) {
61 return x.pow(2);
62 }
63 });
64 return square;
65});
66exports.createSquare = createSquare;
\No newline at end of file