Initial commit
This commit is contained in:
76
node_modules/gl-matrix/cjs/common.js
generated
vendored
Normal file
76
node_modules/gl-matrix/cjs/common.js
generated
vendored
Normal file
@@ -0,0 +1,76 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.RANDOM = exports.EPSILON = exports.ARRAY_TYPE = exports.ANGLE_ORDER = void 0;
|
||||
exports.equals = equals;
|
||||
exports.round = round;
|
||||
exports.setMatrixArrayType = setMatrixArrayType;
|
||||
exports.toDegree = toDegree;
|
||||
exports.toRadian = toRadian;
|
||||
/**
|
||||
* Common utilities
|
||||
* @module glMatrix
|
||||
*/
|
||||
|
||||
// Configuration Constants
|
||||
var EPSILON = exports.EPSILON = 0.000001;
|
||||
var ARRAY_TYPE = exports.ARRAY_TYPE = typeof Float32Array !== "undefined" ? Float32Array : Array;
|
||||
var RANDOM = exports.RANDOM = Math.random;
|
||||
var ANGLE_ORDER = exports.ANGLE_ORDER = "zyx";
|
||||
|
||||
/**
|
||||
* Symmetric round
|
||||
* see https://www.npmjs.com/package/round-half-up-symmetric#user-content-detailed-background
|
||||
*
|
||||
* @param {Number} a value to round
|
||||
*/
|
||||
function round(a) {
|
||||
if (a >= 0) return Math.round(a);
|
||||
return a % 0.5 === 0 ? Math.floor(a) : Math.round(a);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the type of array used when creating new vectors and matrices
|
||||
*
|
||||
* @param {Float32ArrayConstructor | ArrayConstructor} type Array type, such as Float32Array or Array
|
||||
*/
|
||||
function setMatrixArrayType(type) {
|
||||
exports.ARRAY_TYPE = ARRAY_TYPE = type;
|
||||
}
|
||||
var degree = Math.PI / 180;
|
||||
var radian = 180 / Math.PI;
|
||||
|
||||
/**
|
||||
* Convert Degree To Radian
|
||||
*
|
||||
* @param {Number} a Angle in Degrees
|
||||
*/
|
||||
function toRadian(a) {
|
||||
return a * degree;
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert Radian To Degree
|
||||
*
|
||||
* @param {Number} a Angle in Radians
|
||||
*/
|
||||
function toDegree(a) {
|
||||
return a * radian;
|
||||
}
|
||||
|
||||
/**
|
||||
* 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.
|
||||
* @param {Number} tolerance Absolute or relative tolerance (default glMatrix.EPSILON)
|
||||
* @returns {Boolean} True if the numbers are approximately equal, false otherwise.
|
||||
*/
|
||||
function equals(a, b) {
|
||||
var tolerance = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : EPSILON;
|
||||
return Math.abs(a - b) <= tolerance * Math.max(1, Math.abs(a), Math.abs(b));
|
||||
}
|
||||
Reference in New Issue
Block a user