StrictMath Classe

Definição

A classe StrictMath contém métodos para executar operações numéricas básicas, como as funções exponencial, logaritmo, raiz quadrada e trigonométrica elementares.

[Android.Runtime.Register("java/lang/StrictMath", DoNotGenerateAcw=true)]
public sealed class StrictMath : Java.Lang.Object
[<Android.Runtime.Register("java/lang/StrictMath", DoNotGenerateAcw=true)>]
type StrictMath = class
    inherit Object
Herança
StrictMath
Atributos

Comentários

A classe StrictMath contém métodos para executar operações numéricas básicas, como as funções exponencial, logaritmo, raiz quadrada e trigonométrica elementares.

Para ajudar a garantir a portabilidade de programas Java, as definições de algumas das funções numéricas neste pacote exigem que elas produzam os mesmos resultados de determinados algoritmos publicados. Esses algoritmos estão disponíveis na conhecida biblioteca netlib de rede como o pacote "Biblioteca matemática distribuível livremente" fdlibmhttps://www.netlib.org/fdlibm/. Esses algoritmos, que são escritos na linguagem de programação C, devem ser entendidos como transliterados em Java e executados com todas as operações de ponto flutuante e inteiro seguindo as regras de Java aritméticas. As seguintes transformações são usadas na transliteração:

<Ul><li>Extração e configuração das metades alta e baixa de um C de 64 bits double é expressa usando Java métodos de plataforma que executam conversões bit-wise Double#doubleToRawLongBits(double) de {@code double to long} e Double#longBitsToDouble(long) {@code long to double}.

<os valores não assinados > liintem C são mapeados para valores assinados int em Java com atualizações em operações para replicar semântica sem sinal em que os resultados na mesma operação textual seriam diferentes. Por exemplo, >> turnos em valores C não assinados são substituídos >>> por turnos em valores de Java assinados. Comparações dimensionadas em valores C não assinados (<, , <=, >, >=) são substituídas por chamadas semanticamente equivalentes para Integer#compareUnsigned(int, int) compareUnsigned. </ul>

A biblioteca de matemática Java é definida em relação à fdlibm versão 5.3. Onde fdlibm fornece mais de uma definição para uma função (como acos), use a versão "Função de núcleo IEEE 754" (que reside em um arquivo cujo nome começa com a letra e). Os métodos que exigem fdlibm semântica são sin, , cos, tan, asin, acos, atan, exp, log, , log10, cbrt, atan2, pow, , sinh, cosh, tanh, , hypot, , expm1e log1p.

A plataforma usa a aritmética de inteiros complementares de dois assinados com tipos primitivos int e longos. O desenvolvedor deve escolher o tipo primitivo para garantir que as operações aritméticas produzam resultados corretos de forma consistente, o que, em alguns casos, significa que as operações não estourarão o intervalo de valores da computação. A melhor prática é escolher o tipo primitivo e o algoritmo para evitar estouro. Nos casos em que o tamanho é int ou long e erros de estouro precisam ser detectados, os métodos cujos nomes terminam com Exact geração de um ArithmeticException quando os resultados transbordam.

<h2>Ieee754RecommendedOps>IEEE 754 Operações recomendadas</h2>

A java.lang.Math Math classe discute como a qualidade compartilhada dos critérios de implementação para selecionados Math e StrictMath os métodos se relacionam com as operações recomendadas do IEEE 754.

Adicionado em 1.3.

Documentação Java para java.lang.StrictMath.

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usadas de acordo com os termos descritos na Licença de Atribuição Creative Commons 2.5.

Campos

Nome Description
E

O double valor mais próximo do que qualquer outro, a base dos logaritmos naturais.

Pi

O double valor mais próximo do que qualquer outro para pi (π), a razão da circunferência de um círculo para seu diâmetro.

Tau

O double valor mais próximo do que qualquer outro para tau (τ), a razão da circunferência de um círculo para seu raio.

Propriedades

Nome Description
Class

Retorna a classe de runtime deste Object.

(Herdado de Object)
Handle

O identificador para a instância subjacente do Android.

(Herdado de Object)
JniIdentityHashCode

Obtém o código de hash de identidade atribuído a esse par Java pelo runtime de interoperabilidade.

(Herdado de Object)
JniManagedPeerState

A classe StrictMath contém métodos para executar operações numéricas básicas, como as funções exponencial, logaritmo, raiz quadrada e trigonométrica elementares.

(Herdado de JavaObject)
JniPeerMembers

Obtém os metadados JNI usados para invocar membros desse par Java.

PeerReference

Obtém a referência de objeto JNI para este par Java.

(Herdado de Object)
ThresholdClass

Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código.

(Herdado de Object)
ThresholdType

Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código.

(Herdado de Object)

Métodos

Nome Description
Abs(Double)

Retorna o valor absoluto de um double valor.

Abs(Int32)

Retorna o valor absoluto de um int valor.

Abs(Int64)

Retorna o valor absoluto de um long valor.

Abs(Single)

Retorna o valor absoluto de um float valor.

AbsExact(Int32)

Retorna o valor absoluto matemático de um int valor se ele for exatamente representável como um int, lançando ArithmeticException se o resultado exceder o intervalo positivo int .

AbsExact(Int64)

Retorna o valor absoluto matemático de um long valor se ele for exatamente representável como um long, lançando ArithmeticException se o resultado exceder o intervalo positivo long .

Acos(Double)

Retorna o cosseno de arco de um valor; o ângulo retornado está no intervalo 0.

AddExact(Int32, Int32)

Retorna a soma de seus argumentos, gerando uma exceção se o resultado estourar um int.

AddExact(Int64, Int64)

Retorna a soma de seus argumentos, gerando uma exceção se o resultado estourar um long.

Asin(Double)

Retorna o seno do arco de um valor; o ângulo retornado está no intervalo -pi/2 a pi/2.

Atan(Double)

Retorna a tangente do arco de um valor; o ângulo retornado está no intervalo -pi/2 a pi/2.

Atan2(Double, Double)

Retorna a teta angular da conversão de coordenadas retangulares (xy) em coordenadas polares (r, theta).

Cbrt(Double)

Retorna a raiz do cubo de um double valor.

Ceil(Double)

Retorna o menor valor (mais próximo do infinito negativo) double que é maior ou igual ao argumento e é igual a um inteiro matemático.

CeilDiv(Int32, Int32)

Retorna o menor valor (mais próximo ao infinito negativo) int maior ou igual ao quociente algébrico.

CeilDiv(Int64, Int32)

Retorna o menor valor (mais próximo ao infinito negativo) long maior ou igual ao quociente algébrico.

CeilDiv(Int64, Int64)

Retorna o menor valor (mais próximo ao infinito negativo) long maior ou igual ao quociente algébrico.

CeilDivExact(Int32, Int32)

Retorna o menor valor (mais próximo ao infinito negativo) int maior ou igual ao quociente algébrico.

CeilDivExact(Int64, Int64)

Retorna o menor valor (mais próximo ao infinito negativo) long maior ou igual ao quociente algébrico.

CeilMod(Int32, Int32)

Retorna o módulo de teto dos int argumentos.

CeilMod(Int64, Int32)

Retorna o módulo de teto do argumento e do long teto int .

CeilMod(Int64, Int64)

Retorna o módulo de teto dos long argumentos.

Clamp(Double, Double, Double)

Fixa o valor para ajustar entre o mínimo e o máximo.

Clamp(Int64, Int32, Int32)

Fixa o valor para ajustar entre o mínimo e o máximo.

Clamp(Int64, Int64, Int64)

Fixa o valor para ajustar entre o mínimo e o máximo.

Clamp(Single, Single, Single)

Fixa o valor para ajustar entre o mínimo e o máximo.

Clone()

Cria e retorna uma cópia desse objeto.

(Herdado de Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

A classe StrictMath contém métodos para executar operações numéricas básicas, como as funções exponencial, logaritmo, raiz quadrada e trigonométrica elementares.

(Herdado de JavaObject)
CopySign(Double, Double)

Retorna o primeiro argumento de ponto flutuante com o sinal do segundo argumento de ponto flutuante.

CopySign(Single, Single)

Retorna o primeiro argumento de ponto flutuante com o sinal do segundo argumento de ponto flutuante.

Cos(Double)

Retorna o cosseno trigonométrico de um ângulo.

Cosh(Double)

Retorna o cosseno hiperbólico de um double valor.

DecrementExact(Int32)

Retorna o argumento decremente decremente por um, gerando uma exceção se o resultado estourar um int.

DecrementExact(Int64)

Retorna o argumento decremente decremente por um, gerando uma exceção se o resultado estourar um long.

Dispose()

Libera os recursos mantidos por esse par Java.

(Herdado de Object)
Dispose(Boolean)

Libera os recursos mantidos por esse par Java.

(Herdado de Object)
DisposeUnlessReferenced()

A classe StrictMath contém métodos para executar operações numéricas básicas, como as funções exponencial, logaritmo, raiz quadrada e trigonométrica elementares.

(Herdado de JavaObject)
DivideExact(Int32, Int32)

Retorna o quociente dos argumentos, gerando uma exceção se o resultado estourar um int.

DivideExact(Int64, Int64)

Retorna o quociente dos argumentos, lançando uma exceção se o resultado estourar um long.

Equals(Object)

A classe StrictMath contém métodos para executar operações numéricas básicas, como as funções exponencial, logaritmo, raiz quadrada e trigonométrica elementares.

(Herdado de JavaObject)
Equals(Object)

Indica se algum outro objeto é "igual a" este.

(Herdado de Object)
Exp(Double)

Retorna o número de Euler e elevado ao poder de um double valor.

Expm1(Double)

Retorna e<sup>x</sup> -1.

Floor(Double)

Retorna o maior valor (mais próximo do infinito positivo) double que é menor ou igual ao argumento e é igual a um inteiro matemático.

FloorDiv(Int32, Int32)

Retorna o maior valor (mais próximo do infinito positivo) int menor ou igual ao quociente algébrico.

FloorDiv(Int64, Int32)

Retorna o maior valor (mais próximo do infinito positivo) long menor ou igual ao quociente algébrico.

FloorDiv(Int64, Int64)

Retorna o maior valor (mais próximo do infinito positivo) long menor ou igual ao quociente algébrico.

FloorDivExact(Int32, Int32)

Retorna o maior valor (mais próximo do infinito positivo) int menor ou igual ao quociente algébrico.

FloorDivExact(Int64, Int64)

Retorna o maior valor (mais próximo do infinito positivo) long menor ou igual ao quociente algébrico.

FloorMod(Int32, Int32)

Retorna o módulo de piso dos int argumentos.

FloorMod(Int64, Int32)

Retorna o módulo de piso do e long dos int argumentos.

FloorMod(Int64, Int64)

Retorna o módulo de piso dos long argumentos.

Fma(Double, Double, Double)

Retorna a adição de multiplicação fundida dos três argumentos; ou seja, retorna o produto exato dos dois primeiros argumentos resumidos com o terceiro argumento e arredondados uma vez para o mais próximo double.

Fma(Single, Single, Single)

Retorna a adição de multiplicação fundida dos três argumentos; ou seja, retorna o produto exato dos dois primeiros argumentos resumidos com o terceiro argumento e arredondados uma vez para o mais próximo float.

GetExponent(Double)

Retorna o expoente imparcial usado na representação de um double.

GetExponent(Single)

Retorna o expoente imparcial usado na representação de um float.

GetHashCode()

Retorna um valor de código hash para o objeto.

(Herdado de Object)
Hypot(Double, Double)

Retorna sqrt(x<sup>2</sup> +y<sup>2</sup>) sem estouro intermediário ou subfluxo.

IEEEremainder(Double, Double)

Calcula a operação restante em dois argumentos conforme prescrito pelo padrão IEEE 754.

IncrementExact(Int32)

Retorna o argumento incrementado por um, gerando uma exceção se o resultado estourar um int.

IncrementExact(Int64)

Retorna o argumento incrementado por um, gerando uma exceção se o resultado estourar um long.

JavaFinalize()

Chamado pelo coletor de lixo em um objeto quando a coleta de lixo determina que não há mais referências ao objeto.

(Herdado de Object)
Log(Double)

Retorna o logaritmo natural (base e) de um double valor.

Log10(Double)

Retorna o logaritmo base 10 de um double valor.

Log1p(Double)

Retorna o logaritmo natural da soma do argumento e 1.

Max(Double, Double)

Retorna o maior de dois double valores.

Max(Int32, Int32)

Retorna o maior de dois int valores.

Max(Int64, Int64)

Retorna o maior de dois long valores.

Max(Single, Single)

Retorna o maior de dois float valores.

Min(Double, Double)

Retorna o menor de dois valores double.

Min(Int32, Int32)

Retorna o menor de dois valores int.

Min(Int64, Int64)

Retorna o menor de dois valores long.

Min(Single, Single)

Retorna o menor de dois valores float.

MultiplyExact(Int32, Int32)

Retorna o produto dos argumentos, gerando uma exceção se o resultado estourar um int.

MultiplyExact(Int64, Int32)

Retorna o produto dos argumentos, gerando uma exceção se o resultado estourar um long.

MultiplyExact(Int64, Int64)

Retorna o produto dos argumentos, gerando uma exceção se o resultado estourar um long.

MultiplyFull(Int32, Int32)

Retorna o produto matemático exato dos argumentos.

MultiplyHigh(Int64, Int64)

Retorna como um long dos 64 bits mais significativos do produto de 128 bits de dois fatores de 64 bits.

NegateExact(Int32)

Retorna a negação do argumento, gerando uma exceção se o resultado estourar um int.

NegateExact(Int64)

Retorna a negação do argumento, lançando uma exceção se o resultado estourar um long.

NextAfter(Double, Double)

Retorna o número de ponto flutuante adjacente ao primeiro argumento na direção do segundo argumento.

NextAfter(Single, Double)

Retorna o número de ponto flutuante adjacente ao primeiro argumento na direção do segundo argumento.

NextDown(Double)

Retorna o valor de ponto flutuante adjacente à d direção do infinito negativo.

NextDown(Single)

Retorna o valor de ponto flutuante adjacente à f direção do infinito negativo.

NextUp(Double)

Retorna o valor de ponto flutuante adjacente à d direção do infinito positivo.

NextUp(Single)

Retorna o valor de ponto flutuante adjacente à f direção do infinito positivo.

Notify()

Ativa um único thread que está aguardando no monitor deste objeto.

(Herdado de Object)
NotifyAll()

Ativa todos os threads que estão aguardando no monitor deste objeto.

(Herdado de Object)
Pow(Double, Double)

Retorna o valor do primeiro argumento gerado ao poder do segundo argumento.

Random()

Retorna um double valor com um sinal positivo, maior ou igual a 0.0 e menor que 1.0.

Rint(Double)

Retorna o double valor mais próximo do valor do argumento e é igual a um inteiro matemático.

Round(Double)

Retorna o mais long próximo do argumento, com laços arredondando para infinito positivo.

Round(Single)

Retorna o mais int próximo do argumento, com laços arredondando para infinito positivo.

Scalb(Double, Int32)

Retorna d &vezes; 2<sup>scaleFactor</sup> arredondado como se fosse executado por uma única multiplicação de ponto flutuante arredondado corretamente.

Scalb(Single, Int32)

Retorna f &vezes; 2<sup>scaleFactor</sup> arredondado como se fosse executado por uma única multiplicação de ponto flutuante arredondado corretamente.

SetHandle(IntPtr, JniHandleOwnership)

Define a propriedade Handle

(Herdado de Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

A classe StrictMath contém métodos para executar operações numéricas básicas, como as funções exponencial, logaritmo, raiz quadrada e trigonométrica elementares.

(Herdado de JavaObject)
Signum(Double)

Retorna a função signum do argumento; zero se o argumento for zero, 1.

Signum(Single)

Retorna a função signum do argumento; zero se o argumento for zero, 1.

Sin(Double)

Retorna o seno trigonométrico de um ângulo.

Sinh(Double)

Retorna o seno hiperbólico de um double valor.

Sqrt(Double)

Retorna a raiz quadrada positiva arredondada corretamente de um double valor.

SubtractExact(Int32, Int32)

Retorna a diferença dos argumentos, gerando uma exceção se o resultado estourar um int.

SubtractExact(Int64, Int64)

Retorna a diferença dos argumentos, gerando uma exceção se o resultado estourar um long.

Tan(Double)

Retorna a tangente trigonométrica de um ângulo.

Tanh(Double)

Retorna a tangente hiperbólica de um double valor.

ToArray<T>()

Cria uma matriz gerenciada com base nesse wrapper de matriz Java.

(Herdado de Object)
ToDegrees(Double)

Converte um ângulo medido em radianos em um ângulo aproximadamente equivalente medido em graus.

ToIntExact(Int64)

Retorna o valor do long argumento, gerando uma exceção se o valor exceder um int.

ToRadians(Double)

Converte um ângulo medido em graus em um ângulo aproximadamente equivalente medido em radianos.

ToString()

Retorna uma representação de cadeia de caracteres do objeto.

(Herdado de Object)
Ulp(Double)

Retorna o tamanho de uma ulp do argumento.

Ulp(Single)

Retorna o tamanho de uma ulp do argumento.

UnregisterFromRuntime()

Cancela o registro desse par Java do runtime de interoperabilidade.

(Herdado de Object)
UnsignedMultiplyHigh(Int64, Int64)

Retorna como um long dos 64 bits mais significativos do produto de 128 bits sem sinal de dois fatores sem sinal de 64 bits.

Wait()

Faz com que o thread atual aguarde até ser despertado, normalmente por ser <notificado/em> ou <em>interrompido</em>.<>

(Herdado de Object)
Wait(Int64, Int32)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido.

(Herdado de Object)
Wait(Int64)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido.

(Herdado de Object)

Implantações explícitas de interface

Nome Description
IJavaPeerable.Disposed()

A classe StrictMath contém métodos para executar operações numéricas básicas, como as funções exponencial, logaritmo, raiz quadrada e trigonométrica elementares.

(Herdado de JavaObject)
IJavaPeerable.Finalized()

A classe StrictMath contém métodos para executar operações numéricas básicas, como as funções exponencial, logaritmo, raiz quadrada e trigonométrica elementares.

(Herdado de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

A classe StrictMath contém métodos para executar operações numéricas básicas, como as funções exponencial, logaritmo, raiz quadrada e trigonométrica elementares.

(Herdado de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

A classe StrictMath contém métodos para executar operações numéricas básicas, como as funções exponencial, logaritmo, raiz quadrada e trigonométrica elementares.

(Herdado de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

A classe StrictMath contém métodos para executar operações numéricas básicas, como as funções exponencial, logaritmo, raiz quadrada e trigonométrica elementares.

(Herdado de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

A classe StrictMath contém métodos para executar operações numéricas básicas, como as funções exponencial, logaritmo, raiz quadrada e trigonométrica elementares.

(Herdado de JavaObject)

Métodos de Extensão

Nome Description
GetJniTypeName(IJavaPeerable)

Obtém o nome JNI do tipo da instância self.

JavaAs<TResult>(IJavaPeerable)

Tente coagir a digitar selfTResult, verificando se a coerção é válida no lado Java.

JavaCast<TResult>(IJavaObject)

Executa uma conversão de tipo marcada por runtime do Android.

JavaCast<TResult>(IJavaObject)

A classe StrictMath contém métodos para executar operações numéricas básicas, como as funções exponencial, logaritmo, raiz quadrada e trigonométrica elementares.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Tente coagir a digitar selfTResult, verificando se a coerção é válida no lado Java.

Aplica-se a