UNPKG

@designliquido/delegua-matematica

Version:

Biblioteca de manejo de operações matemáticas em português, para JavaScript e Delégua

60 lines 1.93 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.aprox = aprox; exports.pontosAleatorios = pontosAleatorios; exports.arredondarParaBaixo = arredondarParaBaixo; /** * Aproximação de valores. * @param {any} _ O visitante da instrução, normalmente um interpretador. * @param {number} x Um valor a ser arredondado. * @param {number} casasDecimais O número de casas decimais. * @returns O arredondamento do valor. */ function aprox(_, x, casasDecimais) { if (casasDecimais == undefined) { casasDecimais = 2; } if (typeof x == "number") { return x.toFixed(casasDecimais); } if (x[0].length == undefined) { // Vetor de 1 dimensão for (let i = 0; i < x.length; i++) { x[i] = parseFloat(x[i].toFixed(casasDecimais)); } return x; } for (let i = 0; i < x.length; i++) { // Vetor de 2 dimensões for (let j = 0; j < x[0].length; j++) { x[i][j] = parseFloat(x[i][j].toFixed(casasDecimais)); } } return x; } /** * Cria um vetor de números aleatórios. * @param {any} _ O visitante da instrução, normalmente um interpretador. * @param {number} numeroPontos O número de pontos aleatórios a ser gerado. * @returns O vetor de números aleatórios. */ function pontosAleatorios(_, numeroPontos) { let ex = 0; const x = []; x[0] = 100; for (let i = 1; i < numeroPontos; i++) { x[i] = ex + x[i - 1] + Math.random() * 2 - 1; } return aprox(x, 2); } // /** * Arredonda o número passado por parâmetro para baixo. * @param {any} _ O visitante da instrução, normalmente um interpretador. * @param {number} valor O valor a ser arredondado. * @returns O valor arredondado para baixo, como um número inteiro. */ function arredondarParaBaixo(_, valor) { return Math.floor(valor); } //# sourceMappingURL=miscelanea.js.map