12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- "use strict";
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.setMatrixArrayType = setMatrixArrayType;
- exports.toRadian = toRadian;
- exports.equals = equals;
- exports.RANDOM = exports.ARRAY_TYPE = exports.EPSILON = void 0;
- /**
- * Common utilities
- * @module glMatrix
- */
- // Configuration Constants
- var EPSILON = 0.000001;
- exports.EPSILON = EPSILON;
- var ARRAY_TYPE = typeof Float32Array !== 'undefined' ? Float32Array : Array;
- exports.ARRAY_TYPE = ARRAY_TYPE;
- var RANDOM = Math.random;
- /**
- * Sets the type of array used when creating new vectors and matrices
- *
- * @param {Float32ArrayConstructor | ArrayConstructor} type Array type, such as Float32Array or Array
- */
- exports.RANDOM = RANDOM;
- function setMatrixArrayType(type) {
- exports.ARRAY_TYPE = ARRAY_TYPE = type;
- }
- var degree = Math.PI / 180;
- /**
- * Convert Degree To Radian
- *
- * @param {Number} a Angle in Degrees
- */
- function toRadian(a) {
- return a * degree;
- }
- /**
- * Tests whether or not the arguments have approximately the same value, within an absolute
- * or relative tolerance of glMatrix.EPSILON (an absolute tolerance is used for values less
- * than or equal to 1.0, and a relative tolerance is used for larger values)
- *
- * @param {Number} a The first number to test.
- * @param {Number} b The second number to test.
- * @returns {Boolean} True if the numbers are approximately equal, false otherwise.
- */
- function equals(a, b) {
- return Math.abs(a - b) <= EPSILON * Math.max(1.0, Math.abs(a), Math.abs(b));
- }
- if (!Math.hypot) Math.hypot = function () {
- var y = 0,
- i = arguments.length;
- while (i--) {
- y += arguments[i] * arguments[i];
- }
- return Math.sqrt(y);
- };
|