As funções aritméticas executam cálculos básicos e matemáticos nos valores de campo de um log. Este tópico lista as funções e constantes matemáticas disponíveis por tipo e descreve a sintaxe, os parâmetros, o valor de retorno e exemplos de cada função.
Notas de uso
As seguintes convenções aplicam-se a todas as funções aritméticas deste tópico:
Famílias de funções — Funções cujos nomes começam com
op_realizam cálculos básicos. Funções cujos nomes começam commat_executam cálculos matemáticos.MATH_PIeMATCH_Esão constantes matemáticas passadas para uma função como valor.Operações sobrepostas — Algumas operações estão disponíveis em ambas as famílias de funções. Por exemplo, tanto
op_absquantomat_fabscalculam o valor absoluto. Compare o exemplo em cada seção para verificar o resultado retornado por cada função.Tipos de entrada — A tabela de parâmetros em cada seção lista os tipos aceitos por um parâmetro. A maioria dos parâmetros aceita um número ou uma string numérica. O parâmetro
value1da funçãoop_multambém aceita uma string, uma tupla ou uma lista.Unidades angulares — As funções
mat_sin,mat_cosemat_tanaceitam o valor de entrada em radianos, enquantomat_acos,mat_asinemat_atanretornam o resultado em radianos. Para converter graus em radianos, usemat_radians. Para converter radianos em graus, usemat_degrees.Exemplos — Cada exemplo apresenta o log bruto, a regra de transformação aplicada ao log e o resultado da transformação.
Para usar um valor negativo, utilize a função op_neg(positive value). Por exemplo, para representar -1, use op_neg(1).
Lista de funções
A tabela a seguir lista as funções aritméticas e as constantes matemáticas por tipo.
|
Tipo |
Função |
Descrição |
|
Cálculos básicos |
op_sum |
Calcula a soma dos valores de entrada. |
|
op_abs |
Calcula o valor absoluto de um valor de entrada. |
|
|
op_div_floor |
Executa a divisão inteira nos valores de entrada. |
|
|
op_div_true |
Executa a divisão nos valores de entrada. |
|
|
op_pow |
Eleva um valor a uma potência especificada. |
|
|
op_mul |
Multiplica os valores de entrada. |
|
|
op_neg |
Inverte o sinal de um valor de entrada. |
|
|
op_mod |
Executa uma operação de módulo nos valores de entrada. |
|
|
op_sub |
Subtrai um valor de entrada de outro. |
|
|
op_round |
Arredonda um valor de entrada. |
|
|
Cálculos matemáticos |
mat_ceil |
Arredonda um valor de entrada para cima até o inteiro mais próximo. |
|
mat_exp |
Calcula uma função exponencial com base e. |
|
|
mat_fabs |
Calcula o valor absoluto de um valor de entrada. |
|
|
mat_floor |
Arredonda um valor de entrada para baixo até o inteiro mais próximo. |
|
|
mat_log |
Calcula o logaritmo de um valor de entrada. |
|
|
mat_log10 |
Calcula o logaritmo na base 10 de um valor de entrada. |
|
|
mat_sqrt |
Calcula a raiz quadrada de um valor de entrada. |
|
|
mat_degrees |
Converte radianos em graus. |
|
|
mat_radians |
Converte graus em radianos. |
|
|
mat_sin |
Calcula o seno de um valor de entrada em radianos. |
|
|
mat_cos |
Calcula o cosseno de um valor de entrada em radianos. |
|
|
mat_tan |
Calcula a tangente de um valor de entrada em radianos. |
|
|
mat_acos |
Calcula o arco cosseno de um valor de entrada. O resultado é dado em radianos. |
|
|
mat_asin |
Calcula o arco seno de um valor de entrada. O resultado é dado em radianos. |
|
|
mat_atan |
Calcula o arco tangente de um valor de entrada. O resultado é dado em radianos. |
|
|
mat_atan2 |
Calcula o arco tangente das coordenadas especificadas. |
|
|
mat_atanh |
Calcula a tangente hiperbólica inversa de um valor de entrada. |
|
|
mat_hypot |
Calcula a norma euclidiana dos valores de entrada. |
|
|
Constantes matemáticas |
MATH_PI |
A constante matemática pi. |
|
MATCH_E |
A constante matemática e. |
op_sum
Calcula a soma dos valores de entrada.
Sintaxe
op_sum(value1, value2, ...)
Parâmetros
|
Nome do parâmetro |
Tipo do parâmetro |
Obrigatório |
Descrição |
|
value1 |
Número ou string (numérica) |
Sim |
O valor a ser calculado. |
|
value2 |
Número ou string (numérica) |
Sim |
O valor a ser calculado. |
-
Resposta
A soma dos valores de entrada.
-
Exemplos
Calcule o preço total a partir dos campos course_price e goods_price.
Log bruto
course_price: 12
goods_price: 2
Regra de transformação
e_set("total_price", op_sum(v("course_price"), v("goods_price")))
Resultado
course_price: 12
goods_price: 2
total_price: 14
op_abs
Calcula o valor absoluto de um valor de entrada.
Sintaxe
op_abs(value)
Parâmetros
|
Nome do parâmetro |
Tipo do parâmetro |
Obrigatório |
Descrição |
|
value |
Número ou string (numérica) |
Sim |
O valor a ser calculado. |
-
Resposta
O valor absoluto do valor de entrada.
-
Exemplos
Calcule o valor absoluto do campo course_price.
Log bruto
course_price: -4
Regra de transformação
e_set("op_abs", op_abs(v("course_price")))
Resultado
course_price: -4
op_abs: 4
op_div_floor
Executa a divisão inteira nos valores de entrada.
Sintaxe
op_div_floor(value1, value2)
Parâmetros
|
Nome do parâmetro |
Tipo do parâmetro |
Obrigatório |
Descrição |
|
value1 |
Número ou string (numérica) |
Sim |
O valor a ser calculado. |
|
value2 |
Número ou string (numérica) |
Sim |
O valor a ser calculado. |
-
Resposta
A parte inteira do quociente da divisão de value1 por value2.
-
Exemplos
Calcule o preço unitário com base nos campos course_price e count.
Log bruto
course_price: 4
count: 2
Regra de transformação
e_set("op_div_floor", op_div_floor(v("course_price"), v("count")))
Resultado
course_price: 4
count: 2
op_div_floor: 2
op_div_true
Executa a divisão nos valores de entrada.
Esta função converte automaticamente os tipos de dados. É possível passar dados do tipo string ou inteiro.
Sintaxe
op_div_true(value1, value2)
Parâmetros
|
Nome do parâmetro |
Tipo do parâmetro |
Obrigatório |
Descrição |
|
value1 |
Número ou string (numérica) |
Sim |
O valor a ser calculado. |
|
value2 |
Número ou string (numérica) |
Sim |
O valor a ser calculado. |
-
Resposta
O quociente da divisão de value1 por value2.
-
Exemplos
Exemplo 1: Calcule o preço unitário com base nos campos fruit_price e count.
Log bruto
fruit_price: 9
count: 2
Regra de transformação
e_set("op_div_true", op_div_true(v("fruit_price"), v("count")))
Resultado
fruit_price: 9
count: 2
op_div_true: 4.5
Exemplo 2: Calcule a aceleração e arredonde o resultado. A fórmula é
a = (one_speed-two_speed)/time.Log bruto
one_speed: 9
two_speed: 2
time: 3
Regra de transformação
e_set("a", op_round(op_div_true(op_sub(v("one_speed"), v("two_speed")), v("time")), 2))
Resultado
one_speed: 9
two_speed: 2
time: 3
a: 2.33
op_pow
Eleva um valor a uma potência especificada.
Sintaxe
op_pow(value1, value2)
Parâmetros
|
Nome do parâmetro |
Tipo do parâmetro |
Obrigatório |
Descrição |
|
value1 |
Número ou string (numérica) |
Sim |
O valor a ser calculado. |
|
value2 |
Número ou string (numérica) |
Sim |
O valor a ser calculado. |
-
Resposta
O valor de value1 elevado à potência de value2.
-
Exemplos
Calcule o valor de course elevado à potência de pow.
Log bruto
course: 100
pow: 2
Regra de transformação
e_set("pow_course", op_pow(v("course"), v("pow")))
Resultado
course: 100
pow: 2
pow_course: 10000
op_mul
Multiplica os valores de entrada.
Sintaxe
op_mul(value1, value2)
Parâmetros
|
Nome do parâmetro |
Tipo do parâmetro |
Obrigatório |
Descrição |
|
value1 |
Número, string, tupla, lista, etc. |
Sim |
O valor a ser calculado. |
|
value2 |
Número |
Sim |
O valor a ser calculado. |
-
Resposta
Se value1 e value2 forem números, a função retorna o product dos dois valores.
Se value1 for uma string, uma tupla ou uma lista, a função retorna um valor do mesmo tipo repetido value2 vezes.
-
Exemplos
Exemplo 1: Calcule o preço total com base nos campos course e price.
Log bruto
course: 10
price: 23
Regra de transformação
e_set("total_price", op_mul(ct_int(v("course")), ct_int(v("price"))))
Resultado
course: 10
price: 23
total_price: 230
Exemplo 2: Multiplique o valor do campo course por 3.
Log bruto
course: "abc"
Regra de transformação
e_set("course", op_mul(v("course"), 3))
Resultado
course: "abcabcabc"
op_neg
Inverte o sinal de um valor de entrada.
Sintaxe
op_neg(value)
Parâmetros
|
Nome do parâmetro |
Tipo do parâmetro |
Obrigatório |
Descrição |
|
value |
Número ou string (numérica) |
Sim |
O valor a ser calculado. |
-
Resposta
O valor de entrada com o sinal invertido.
-
Exemplos
Log bruto
course: -100
Regra de transformação
e_set("account", op_neg(v("course")))
Resultado
course: -100
account: 100
op_mod
Executa uma operação de módulo nos valores de entrada.
Sintaxe
op_mod(value1, value2)
Parâmetros
|
Nome do parâmetro |
Tipo do parâmetro |
Obrigatório |
Descrição |
|
value1 |
Número ou string (numérica) |
Sim |
O valor a ser calculado. |
|
value2 |
Número ou string (numérica) |
Sim |
O valor a ser calculado. |
-
Resposta
O resto da divisão de value1 por value2.
-
Exemplos
Log bruto
course: 4
count: 3
Regra de transformação
e_set("op_mod", op_mod(v("course"), v("count")))
Resultado
course: 4
count: 3
op_mod: 1
op_sub
Subtrai um valor de entrada de outro.
Sintaxe
op_sub(value1, value2)
Parâmetros
|
Nome do parâmetro |
Tipo do parâmetro |
Obrigatório |
Descrição |
|
value1 |
Número ou string (numérica) |
Sim |
O valor a ser calculado. |
|
value2 |
Número ou string (numérica) |
Sim |
O valor a ser calculado. |
-
Resposta
O resultado da subtração de value2 de value1.
-
Exemplos
Calcule o resultado da subtração do valor count_apple do valor count.
Log bruto
count: 6
count_apple: 3
Regra de transformação
e_set("sub_number", op_sub(v("count"),v("count_apple")))
Resultado
count: 6
count_apple: 3
sub_number: 3
op_round
Arredonda um valor de entrada.
Sintaxe
op_round(value, number)
Parâmetros
|
Nome do parâmetro |
Tipo do parâmetro |
Obrigatório |
Descrição |
|
value |
Número ou string (numérica) |
Sim |
O valor a ser calculado. |
|
number |
Número |
Sim |
O número de casas decimais a serem mantidas após o arredondamento. O valor padrão é 0. |
-
Resposta
O valor arredondado.
-
Exemplos
Arredonde o valor do campo price para uma casa decimal.
Log bruto
price: 4.56
Regra de transformação
e_set("round_price", op_round(v("price"),1))
Resultado
price: 4.56
round_price: 4.6
mat_ceil
Arredonda um valor de entrada para cima até o inteiro mais próximo.
Sintaxe
mat_ceil(value)
Parâmetros
|
Nome do parâmetro |
Tipo do parâmetro |
Obrigatório |
Descrição |
|
value |
Número ou string (numérica) |
Sim |
O valor a ser calculado. |
-
Resposta
O menor inteiro maior ou igual ao valor especificado.
-
Exemplos
Log bruto
price: 4.1
Regra de transformação
e_set("mat_ceil", mat_ceil(v("price")))
Resultado
price: 4.1
mat_ceil: 5
mat_exp
Calcula uma função exponencial com base e.
Sintaxe
mat_exp(value)
Parâmetros
|
Nome do parâmetro |
Tipo do parâmetro |
Obrigatório |
Descrição |
|
value |
Número ou string (numérica) |
Sim |
O valor a ser calculado. |
-
Resposta
e elevado à potência do valor de entrada.
-
Exemplos
Log bruto
number: 2
Regra de transformação
e_set("e_x", mat_exp(v("number")))
Resultado
number: 2
e_x: 7.38905609893065
mat_fabs
Calcula o valor absoluto de um valor de entrada.
Sintaxe
mat_fabs(value)
Parâmetros
|
Nome do parâmetro |
Tipo do parâmetro |
Obrigatório |
Descrição |
|
value |
Número ou string (numérica) |
Sim |
O valor a ser calculado. |
-
Resposta
O valor absoluto do valor de entrada.
-
Exemplos
Log bruto
course_price: -10
Regra de transformação
e_set("mat_fabs", mat_fabs(v("course_price")))
Resultado
course_price: -10
mat_fabs: 10.0
mat_floor
Arredonda um valor de entrada para baixo até o inteiro mais próximo.
Sintaxe
mat_floor(value)
Parâmetros
|
Nome do parâmetro |
Tipo do parâmetro |
Obrigatório |
Descrição |
|
value |
Número ou string (numérica) |
Sim |
O valor a ser calculado. |
-
Resposta
O maior inteiro menor ou igual ao valor especificado.
-
Exemplos
Log bruto
course_price: 4.9
Regra de transformação
e_set("mat_floor", mat_floor(v("course_price")))
Resultado
course_price: 4.9
mat_floor: 4
mat_log
Calcula o logaritmo de um valor de entrada.
Sintaxe
mat_log(value1,value2)
Parâmetros
|
Nome do parâmetro |
Tipo do parâmetro |
Obrigatório |
Descrição |
|
value1 |
Número ou string (numérica) |
Sim |
O valor a ser calculado. |
|
value2 |
Número ou string (numérica) |
Sim |
O valor a ser calculado. |
-
Resposta
O logaritmo do valor de entrada.
-
Exemplos
Log bruto
number1: 100
number2: 10
Regra de transformação
e_set("mat_log", mat_log(v("number1"),v("number2")))
Resultado
number1: 100
number2: 10
mat_log: 2.0
mat_log10
Calcula o logaritmo na base 10 de um valor de entrada.
Sintaxe
mat_log10(value)
Parâmetros
|
Nome do parâmetro |
Tipo do parâmetro |
Obrigatório |
Descrição |
|
value |
Número ou string (numérica) |
Sim |
O valor a ser calculado. |
-
Resposta
O logaritmo na base 10 do valor de entrada.
-
Exemplos
Log bruto
number: 100
Regra de transformação
e_set("number2", mat_log10(v("number")))
Resultado
number: 100
number2: 2.0
mat_sqrt
Calcula a raiz quadrada de um valor de entrada.
Sintaxe
mat_sqrt(value)
Parâmetros
|
Nome do parâmetro |
Tipo do parâmetro |
Obrigatório |
Descrição |
|
value |
Número ou string (numérica) |
Sim |
O valor a ser calculado. |
-
Resposta
A raiz quadrada do valor de entrada.
-
Exemplos
Log bruto
number1: 100
Regra de transformação
e_set("sqrt_account", mat_sqrt(v("number1")))
Resultado
number1: 100
sqrt_account: 10.0
mat_degrees
Converte radianos em graus.
Sintaxe
mat_degrees(value)
Parâmetros
|
Nome do parâmetro |
Tipo do parâmetro |
Obrigatório |
Descrição |
|
value |
Número ou string (numérica) |
Sim |
O valor a ser calculado. |
-
Resposta
O resultado em graus.
-
Exemplos
Log bruto
num: 1
Regra de transformação
e_set("mat_degrees", mat_degrees(v("num")))
Resultado
num: 1
mat_degrees: 57.29577951308232
mat_radians
Converte graus em radianos.
Sintaxe
mat_radians(value)
Parâmetros
|
Nome do parâmetro |
Tipo do parâmetro |
Obrigatório |
Descrição |
|
value |
Número ou string (numérica) |
Sim |
O valor a ser calculado. |
-
Resposta
O resultado em radianos.
-
Exemplos
Log bruto
rad: 30
Regra de transformação
e_set("mat_radians", mat_radians(v("rad")))
Resultado
rad: 30
mat_radians: 0.5235987755982988
mat_sin
Calcula o seno de um valor de entrada em radianos.
Sintaxe
mat_sin(value)
Parâmetros
|
Nome do parâmetro |
Tipo do parâmetro |
Obrigatório |
Descrição |
|
value |
Número ou string (numérica) |
Sim |
O valor a ser calculado. |
-
Resposta
O seno do valor de entrada.
-
Exemplos
Log bruto
sin: 90
Regra de transformação
e_set("mat_sin", mat_sin(v("sin")))
Resultado
sin: 90
mat_sin: 0.8939966636005579
mat_cos
Calcula o cosseno de um valor de entrada em radianos.
Sintaxe
mat_cos(value)
Parâmetros
|
Nome do parâmetro |
Tipo do parâmetro |
Obrigatório |
Descrição |
|
value |
Número ou string (numérica) |
Sim |
O valor a ser calculado. |
-
Resposta
O cosseno do valor de entrada.
-
Exemplos
Log bruto
cos: 30
Regra de transformação
e_set("mat_cos", mat_cos(v("cos")))
Resultado
cos: 30
mat_cos: 0.15425144988758405
mat_tan
Calcula a tangente de um valor de entrada em radianos.
Sintaxe
mat_tan(value)
Parâmetros
|
Nome do parâmetro |
Tipo do parâmetro |
Obrigatório |
Descrição |
|
value |
Número ou string (numérica) |
Sim |
O valor a ser calculado. |
-
Resposta
A tangente do valor de entrada.
-
Exemplos
Log bruto
tan: 30
Regra de transformação
e_set("mat_tan", mat_tan(v("tan")))
Resultado
tan: 30
mat_tan: 1.6197751905438615
mat_acos
Calcula o arco cosseno de um valor de entrada. O resultado é dado em radianos.
Sintaxe
mat_acos(value)
Parâmetros
|
Nome do parâmetro |
Tipo do parâmetro |
Obrigatório |
Descrição |
|
value |
Número ou string (numérica) |
Sim |
O valor a ser calculado. |
-
Resposta
O arco cosseno do valor de entrada, em radianos.
-
Exemplos
Log bruto
acos: 1
Regra de transformação
e_set("mat_acos", mat_acos(v("acos")))
Resultado
acos: 1
mat_acos: 0.0
mat_asin
Calcula o arco seno de um valor de entrada. O resultado é dado em radianos.
Sintaxe
mat_asin(value)
Parâmetros
|
Nome do parâmetro |
Tipo do parâmetro |
Obrigatório |
Descrição |
|
value |
Número ou string (numérica) |
Sim |
O valor a ser calculado. |
-
Resposta
O arco seno do valor de entrada, em radianos.
-
Exemplos
Log bruto
asin: 1
Regra de transformação
e_set("mat_asin", mat_asin(v("asin")))
Resultado
asin: 1
mat_asin: 1.5707963267948966
mat_atan
Calcula o arco tangente de um valor de entrada. O resultado é dado em radianos.
Sintaxe
mat_atan(value)
Parâmetros
|
Nome do parâmetro |
Tipo do parâmetro |
Obrigatório |
Descrição |
|
value |
Número ou string (numérica) |
Sim |
O valor a ser calculado. |
-
Resposta
O arco tangente do valor de entrada, em radianos.
-
Exemplos
Log bruto
atan: 1
Regra de transformação
e_set("mat_atan", mat_atan(v("atan")))
Resultado
atan: 1
mat_atan: 0.7853981633974483
mat_atan2
Calcula o arco tangente das coordenadas especificadas.
Sintaxe
mat_atan2(x,y)
Parâmetros
|
Nome do parâmetro |
Tipo do parâmetro |
Obrigatório |
Descrição |
|
x |
Número ou string (numérica) |
Sim |
A coordenada x. |
|
y |
Número ou string (numérica) |
Sim |
A coordenada y. |
-
Resposta
O arco tangente das coordenadas especificadas.
-
Exemplos
Log bruto
atan1: 1
atan2: 2
Regra de transformação
e_set("mat_atan2", mat_atan2(v("atan1"),v("atan2")))
Resultado
atan1: 1
atan2: 2
mat_atan2: 0.4636476090008061
mat_atanh
Calcula a tangente hiperbólica inversa de um valor de entrada.
Sintaxe
mat_atanh(value)
Parâmetros
|
Nome do parâmetro |
Tipo do parâmetro |
Obrigatório |
Descrição |
|
value |
Número ou string (numérica) |
Sim |
O valor a ser calculado. |
-
Resposta
A tangente hiperbólica inversa do valor de entrada.
-
Exemplos
Log bruto
atanh: 0.5
Regra de transformação
e_set("mat_atanh", mat_atanh(v("atanh")))
Resultado
atanh: 0.5
mat_atanh: 0.5493061443340548
mat_hypot
Calcula a norma euclidiana dos valores de entrada.
Sintaxe
mat_hypot(value1,value2)
Parâmetros
|
Nome do parâmetro |
Tipo do parâmetro |
Obrigatório |
Descrição |
|
value1 |
Número ou string (numérica) |
Sim |
A coordenada x. |
|
value2 |
Número ou string (numérica) |
Sim |
A coordenada y. |
-
Resposta
A norma euclidiana dos valores de entrada.
-
Exemplos
Log bruto
hypot1: 1
hypot2: 2
Regra de transformação
e_set("mat_hypot", mat_hypot(v("hypot1"),v("hypot2")))
Resultado
hypot1: 1
hypot2: 2
mat_hypot: 2.23606797749979
MATH_PI
A constante matemática pi.
Log bruto
a: 2
Regra de transformação
e_set("result", op_sum(v("a"), MATH_PI))
Resultado
a: 2
result: 5.141592653589793
MATCH_E
A constante matemática e.
Log bruto
a: 2
Regra de transformação
e_set("result", op_sum(v("a"), MATCH_E))
Resultado
a: 2
result: 4.718281828459045