eguatech / egua

Linguagem de programação em português, simples e moderna

Home Page:https://egua.dev/idegua/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Efetuar teste de complexidade para possível refatoração da função

lucaspompeun opened this issue · comments

egua/src/lib/eguamat.js

Lines 29 to 52 in 5671a03

module.exports.raiz = function(num, root) {
if (isNaN(num) || num === null)
throw new RuntimeError(
this.token,
"Número dado a mat.raiz(numero, raiz) precisa ser um número."
);
if (isNaN(root) || root === null)
throw new RuntimeError(
this.token,
"Raiz dada a mat.raiz(numero, raiz) precisa ser um número."
);
let originalRoot = root;
let negateFlag = root % 2 == 1 && num < 0;
if (negateFlag) num = -num;
let possible = Math.pow(num, 1 / root);
root = Math.pow(possible, root);
if (Math.abs(num - root) < 1 && num > 0 == root > 0)
return negateFlag ? -possible : possible;
else throw new RuntimeError(this.token, `Erro ao encontrar a raiz ${ originalRoot } de ${ num }.`)
};

Removida para que seja feita uma refatoração