StrictMath Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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 |
| Pi |
O |
| Tau |
O |
Propriedades
| Nome | Description |
|---|---|
| Class |
Retorna a classe de runtime deste |
| 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 |
| 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 |
| Abs(Int32) |
Retorna o valor absoluto de um |
| Abs(Int64) |
Retorna o valor absoluto de um |
| Abs(Single) |
Retorna o valor absoluto de um |
| AbsExact(Int32) |
Retorna o valor absoluto matemático de um |
| AbsExact(Int64) |
Retorna o valor absoluto matemático de um |
| 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 |
| AddExact(Int64, Int64) |
Retorna a soma de seus argumentos, gerando uma exceção se o resultado estourar um |
| 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 ( |
| Cbrt(Double) |
Retorna a raiz do cubo de um |
| Ceil(Double) |
Retorna o menor valor (mais próximo do infinito negativo) |
| CeilDiv(Int32, Int32) |
Retorna o menor valor (mais próximo ao infinito negativo) |
| CeilDiv(Int64, Int32) |
Retorna o menor valor (mais próximo ao infinito negativo) |
| CeilDiv(Int64, Int64) |
Retorna o menor valor (mais próximo ao infinito negativo) |
| CeilDivExact(Int32, Int32) |
Retorna o menor valor (mais próximo ao infinito negativo) |
| CeilDivExact(Int64, Int64) |
Retorna o menor valor (mais próximo ao infinito negativo) |
| CeilMod(Int32, Int32) |
Retorna o módulo de teto dos |
| CeilMod(Int64, Int32) |
Retorna o módulo de teto do argumento e do |
| CeilMod(Int64, Int64) |
Retorna o módulo de teto dos |
| 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 |
| 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 |
| DecrementExact(Int32) |
Retorna o argumento decremente decremente por um, gerando uma exceção se o resultado estourar um |
| DecrementExact(Int64) |
Retorna o argumento decremente decremente por um, gerando uma exceção se o resultado estourar um |
| 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 |
| DivideExact(Int32, Int32) |
Retorna o quociente dos argumentos, gerando uma exceção se o resultado estourar um |
| DivideExact(Int64, Int64) |
Retorna o quociente dos argumentos, lançando uma exceção se o resultado estourar um |
| Equals(Object) |
A classe |
| 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 |
| Expm1(Double) |
Retorna e<sup>x</sup> -1. |
| Floor(Double) |
Retorna o maior valor (mais próximo do infinito positivo) |
| FloorDiv(Int32, Int32) |
Retorna o maior valor (mais próximo do infinito positivo) |
| FloorDiv(Int64, Int32) |
Retorna o maior valor (mais próximo do infinito positivo) |
| FloorDiv(Int64, Int64) |
Retorna o maior valor (mais próximo do infinito positivo) |
| FloorDivExact(Int32, Int32) |
Retorna o maior valor (mais próximo do infinito positivo) |
| FloorDivExact(Int64, Int64) |
Retorna o maior valor (mais próximo do infinito positivo) |
| FloorMod(Int32, Int32) |
Retorna o módulo de piso dos |
| FloorMod(Int64, Int32) |
Retorna o módulo de piso do e |
| FloorMod(Int64, Int64) |
Retorna o módulo de piso dos |
| 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 |
| 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 |
| GetExponent(Double) |
Retorna o expoente imparcial usado na representação de um |
| GetExponent(Single) |
Retorna o expoente imparcial usado na representação de um |
| 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 |
| IncrementExact(Int64) |
Retorna o argumento incrementado por um, gerando uma exceção se o resultado estourar um |
| 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 |
| Log10(Double) |
Retorna o logaritmo base 10 de um |
| Log1p(Double) |
Retorna o logaritmo natural da soma do argumento e 1. |
| Max(Double, Double) |
Retorna o maior de dois |
| Max(Int32, Int32) |
Retorna o maior de dois |
| Max(Int64, Int64) |
Retorna o maior de dois |
| Max(Single, Single) |
Retorna o maior de dois |
| Min(Double, Double) |
Retorna o menor de dois valores |
| Min(Int32, Int32) |
Retorna o menor de dois valores |
| Min(Int64, Int64) |
Retorna o menor de dois valores |
| Min(Single, Single) |
Retorna o menor de dois valores |
| MultiplyExact(Int32, Int32) |
Retorna o produto dos argumentos, gerando uma exceção se o resultado estourar um |
| MultiplyExact(Int64, Int32) |
Retorna o produto dos argumentos, gerando uma exceção se o resultado estourar um |
| MultiplyExact(Int64, Int64) |
Retorna o produto dos argumentos, gerando uma exceção se o resultado estourar um |
| MultiplyFull(Int32, Int32) |
Retorna o produto matemático exato dos argumentos. |
| MultiplyHigh(Int64, Int64) |
Retorna como um |
| NegateExact(Int32) |
Retorna a negação do argumento, gerando uma exceção se o resultado estourar um |
| NegateExact(Int64) |
Retorna a negação do argumento, lançando uma exceção se o resultado estourar um |
| 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 à |
| NextDown(Single) |
Retorna o valor de ponto flutuante adjacente à |
| NextUp(Double) |
Retorna o valor de ponto flutuante adjacente à |
| NextUp(Single) |
Retorna o valor de ponto flutuante adjacente à |
| 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 |
| Rint(Double) |
Retorna o |
| Round(Double) |
Retorna o mais |
| Round(Single) |
Retorna o mais |
| Scalb(Double, Int32) |
Retorna |
| Scalb(Single, Int32) |
Retorna |
| SetHandle(IntPtr, JniHandleOwnership) |
Define a propriedade Handle (Herdado de Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
A classe |
| 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 |
| Sqrt(Double) |
Retorna a raiz quadrada positiva arredondada corretamente de um |
| SubtractExact(Int32, Int32) |
Retorna a diferença dos argumentos, gerando uma exceção se o resultado estourar um |
| SubtractExact(Int64, Int64) |
Retorna a diferença dos argumentos, gerando uma exceção se o resultado estourar um |
| Tan(Double) |
Retorna a tangente trigonométrica de um ângulo. |
| Tanh(Double) |
Retorna a tangente hiperbólica de um |
| 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 |
| 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 |
| 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 |
| IJavaPeerable.Finalized() |
A classe |
| IJavaPeerable.JniObjectReferenceControlBlock |
A classe |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
A classe |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
A classe |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
A classe |
Métodos de Extensão
| Nome | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtém o nome JNI do tipo da instância |
| JavaAs<TResult>(IJavaPeerable) |
Tente coagir a digitar |
| JavaCast<TResult>(IJavaObject) |
Executa uma conversão de tipo marcada por runtime do Android. |
| JavaCast<TResult>(IJavaObject) |
A classe |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Tente coagir a digitar |