
O bloco de função CALCULATE calcula uma fórmula matemática complexa.
A fórmula completa é compilada diretamente, portanto a execução deste bloco de função é muito eficiente.
Atenção: Uma divisão por zero pode levar a resultados indesejados.
O banco de dados define o cálculo como uma string. Pode ser usado opcionalmente um sinal de igual (=) para especificar a saída. As variáveis no cálculo são exibidas ordenadas. Observe as operações possíveis abaixo. Estas diferem das fórmulas matemáticas.
Nota: Se um número for definido com expoente, este pode não ser reconhecido corretamente. Use parênteses se necessário.
Fórmulas incorretas não são compiladas e retornam o erro como uma string.
As entradas podem ser representadas de qualquer forma. Dependendo de quantas variáveis aparecem na fórmula, estas serão geradas automaticamente.
As saídas retornam o resultado calculado ou o resultado intermediário. O nome pode ser definido por um sinal de igual (=) na fórmula. Use um ; (ponto e vírgula) na fórmula para criar múltiplos cálculos. O último cálculo será exibido na primeira saída.
Observe que o primeiro sinal de igual (=) é usado para declarar a saída.
| Função | Descrição |
|---|---|
| -a | Negação. Valor oposto de a. |
| a . b | Concatena os dois valores como uma string. |
| a + b | Adição. Soma de a e b. |
| a - b | Subtração. Diferença entre a e b. |
| a * b | Multiplicação. Produto de a e b. |
| a / b | Divisão. Quociente de a e b. |
| a % b ou mod (a,b) | Módulo. Resto da divisão de a por b. |
| expt(a,b) | Potência. Potência b-ésima de a. |
| exrt(a,b) | Raiz arbitrária b de a. |
| sqrt(a) | Raiz quadrada. |
| ln(a,b) | Calcula o logaritmo natural de a na base b. |
| log(a) | Calcula o logaritmo decimal. |
| abs(a) | Valor absoluto de a. |
| neg(a) | Valor negativo de a. Igual a -a. |
| deg2rad(a) | Conversão de graus para radianos. |
| rad2deg(a) | Conversão de radianos para graus. |
| hex2dec(a) | Conversão de hexadecimal para decimal. |
| dec2hex(a) | Conversão de decimal para hexadecimal. |
| oct2dec(a) | Conversão de octal para decimal. |
| dec2oct(a) | Conversão de decimal para octal. |
| fmod(a,b) | Resto de uma divisão de ponto flutuante |
| cos(a) | Cosseno. |
| acos(a) | Arco cosseno. |
| sin(a) | Seno. |
| asin(a) | Arco seno. |
| tan(a) | Tangente. |
| atan(a) | Arco tangente. |
| hypot(a,b) | Calcula a hipotenusa de um triângulo retângulo. |
| ceil(a) | Arredondar para cima. |
| floor(a) | Arredondar para baixo. |
| round(a,b) | Arredonda um valor de ponto flutuante. |
| min(a,b[,..]) | Retorna o menor valor. |
| max(a,b[,..]) | Retorna o maior valor. |
| a & b | Operação bit a bit AND. |
| a | b | Operação bit a bit OR. |
| a ^ b | Operação bit a bit XOR. |
| ~a | Operação bit a bit NOT. |
| a << b | Desloca os bits de a para a esquerda em b posições. |
| a >> b | Desloca os bits de a para a direita em b posições. |
| !a | Operação NOT (valor booleano) |
| a && b ou a and b | E (valor booleano) |
| a || b ou a or b | OU (valor booleano) |
| ++a | Aumenta a em um, e então retorna a. |
| a++ | Retorna a, e então aumenta a em um. |
| --a | Diminui a em um, e então retorna a. |
| a-- | Retorna a, e então diminui a em um. |
| == | Igual (valor booleano) |
| === | Exatamente idêntico (valor booleano) |
| is_null(a) ou a === null | é igual a NULL. |
| a <> b ou a != b | a é diferente de b. |
| a < b | Menor que (valor booleano) |
| a <= b | Menor ou igual a (valor booleano) |
| a > b | Maior que (valor booleano) |
| a >=b | Maior ou igual a (valor booleano) |
| s?a:b ou (s == 1)?a:b | Seleciona entre a e b. Se s for verdadeiro, retorna a. |
| ; | Separador para cálculos em múltiplos passos. |
Todas as constantes do Antcas Control podem ser usadas. Observe a diferença entre maiúsculas e minúsculas.
