JavaTM Platform
Standard Ed. 6

java.lang
クラス Math

java.lang.Object
  上位を拡張 java.lang.Math

public final class Math
extends Object

Math クラスは、指数関数、対数関数、平方根、および三角関数といった基本的な数値処理を実行するためのメソッドを含んでいます。  

StrictMath クラスの一部の数値メソッドとは異なり、Math クラスの等価関数のすべての実装は、ビット対ビットの同じ結果を返すようには定義されていません。このゆるやかさによって、厳密な再現性が要求されない実装においてパフォーマンスの向上が可能になります。  

多くの Math メソッドはデフォルトで、StrictMath の等価メソッドにそれらの実装を使用するために単に呼び出します。コードジェネレータは、プラットフォーム固有のネイティブライブラリまたはマイクロプロセッサの命令がある場合は積極的に使用し、高性能な Math メソッドの実装を提供します。そのような高性能な実装でも Math の仕様に準拠する必要があります。  

実装仕様の品質は、2 つのプロパティー、返される結果の正確さ、およびメソッドの単調性と関係があります。浮動小数点 Math メソッドの正確さは、ulp (最新位置の単位) で計測されます。浮動小数点形式が指定された場合、特定の実数値の ulp はその数値を囲んでいる 2 つの浮動小数点値の距離になります。メソッドの正確性を、特定の引数に対してではなく全体として論じる場合に示される ulp 数は、すべての引数における最大誤差になります。メソッドが返すエラーが常に 0.5 ulp 未満の場合、そのメソッドは実際の結果にもっとも近い浮動小数点数を常に返します。 この種のメソッドは「正しく丸められ」ています。通常は、正しく丸められたメソッドを使用するのが浮動小数点近似値を得る最善の方法ですが、多数の浮動小数点メソッドを正しく丸めるのは、実際的ではありません。その代わりに Math クラスの場合、1 または 2 ulp より大きいエラーが特定のメソッドで許可されます。非公式には 1 ulp のエラーでは、正確な結果が表現可能な数値の場合に正確な結果が返されます。そうでない場合、正確な結果を囲む 2 つの浮動小数点値のいずれかが返される可能性があります。正確な結果の絶対値が大きい場合、括弧の一方の端点が無限である可能性があります。個別の引数の正確さに加え、メソッドの異なる引数間の適切な関係も重要です。このため、0.5 ulp より大きいエラーを保持するメソッドは、「半単調」であることが求められます。数学関数が非増加である場合は常に、浮動小数点近似値も非増加になります。1 ulp の正確性を保持する近似値すべてが、自動的に単調要件を満たすわけではありません。

導入されたバージョン:
JDK1.0

フィールドの概要
static double E
          自然対数の底 e にもっとも近い double 値です。
static double PI
          円周とその直径の比 pi にもっとも近い double 値です。
 
メソッドの概要
static double abs(double a)
          double 値の絶対値を返します。
static float abs(float a)
          float 値の絶対値を返します。
static int abs(int a)
          int 値の絶対値を返します。
static long abs(long a)
          long 値の絶対値を返します。
static double acos(double a)
          指定された値の逆余弦 (アークコサイン) を返します。
static double asin(double a)
          指定された値の逆正弦 (アークサイン) を返します。
static double atan(double a)
          指定された値の逆正接 (アークタンジェント) を返します。
static double atan2(double y, double x)
          極座標 (r, theta) への矩形座標 (xy) の変換から角度 theta を返します。
static double cbrt(double a)
          double 値の立方根を返します。
static double ceil(double a)
          引数の値以上で、計算上の整数と等しい、最小の (負の無限大にもっとも近い) double 値を返します。
static double copySign(double magnitude, double sign)
          2 番目の浮動小数点引数の符号を付けた、最初の浮動小数点引数を返します。
static float copySign(float magnitude, float sign)
          2 番目の浮動小数点引数の符号を付けた、最初の浮動小数点引数を返します。
static double cos(double a)
          指定された角度の余弦 (コサイン) を返します。
static double cosh(double x)
          double 値の双曲線余弦を返します。
static double exp(double a)
          オイラー数 edouble 値で累乗した値を返します。
static double expm1(double x)
          ex -1 を返します。
static double floor(double a)
          引数の値以下で、計算上の整数と等しい、最大の (正の無限大にもっとも近い) double 値を返します。
static int getExponent(double d)
          double の表現で使用される不偏指数を返します。
static int getExponent(float f)
          float の表現で使用される不偏指数を返します。
static double hypot(double x, double y)
          中間のオーバーフローやアンダーフローなしに sqrt(x2 +y2) が返されます。
static double IEEEremainder(double f1, double f2)
          IEEE 754 標準に従って、2 個の引数について剰余を計算します。
static double log(double a)
          指定された double 値の自然対数値 (底は e) を返します。
static double log10(double a)
          double 値の 10 を底とする対数を返します。
static double log1p(double x)
          引数と 1 の合計の自然対数を返します。
static double max(double a, double b)
          2 つの double 値のうち大きいほうを返します。
static float max(float a, float b)
          2 つの float 値のうち大きいほうを返します。
static int max(int a, int b)
          2 つの int 値のうち大きいほうを返します。
static long max(long a, long b)
          2 つの long 値のうち大きいほうを返します。
static double min(double a, double b)
          2 つの double 値のうち小さいほうを返します。
static float min(float a, float b)
          2 つの float 値のうち小さいほうを返します。
static int min(int a, int b)
          2 つの int 値のうち小さいほうを返します。
static long min(long a, long b)
          2 つの long 値のうち小さいほうを返します。
static double nextAfter(double start, double direction)
          2 番目の引数の方向で、最初の引数に隣接する浮動小数点値を返します。
static float nextAfter(float start, double direction)
          2 番目の引数の方向で、最初の引数に隣接する浮動小数点値を返します。
static double nextUp(double d)
          正の無限大方向で d に隣接する浮動小数点値を返します。
static float nextUp(float f)
          正の無限大方向で f に隣接する浮動小数点値を返します。
static double pow(double a, double b)
          1 番目の引数を、2 番目の引数で累乗した値を返します。
static double random()
          0.0 以上で、1.0 より小さい正の符号の付いた double 値を返します。
static double rint(double a)
          引数の値にもっとも近く、計算上の整数に等しい double 値を返します。
static long round(double a)
          引数にもっとも近い long を返します。
static int round(float a)
          引数にもっとも近い int を返します。
static double scalb(double d, int scaleFactor)
          double 値セットのメンバーに単一の正しく丸められた浮動小数点を掛けることによって実行される場合と同様に、d × 2scaleFactor を返します。
static float scalb(float f, int scaleFactor)
          float 値セットのメンバーに単一の正しく丸められた浮動小数点を掛けることによって実行される場合と同様に、d × 2scaleFactor を返します。
static double signum(double d)
          引数の符号要素を返します。
static float signum(float f)
          引数の符号要素を返します。
static double sin(double a)
          指定された角度の正弦 (サイン) を返します。
static double sinh(double x)
          double 値の双曲線正弦を返します。
static double sqrt(double a)
          double 値の正しく丸めた正の平方根を返します。
static double tan(double a)
          指定された角度の正接 (タンジェント) を返します。
static double tanh(double x)
          double 値の双曲線正接を返します。
static double toDegrees(double angrad)
          ラジアンで計測した角度を、相当する度に変換します。
static double toRadians(double angdeg)
          度で計測した角度を、相当するラジアンに変換します。
static double ulp(double d)
          引数の ulp のサイズを返します。
static float ulp(float f)
          引数の ulp のサイズを返します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

E

public static final double E
自然対数の底 e にもっとも近い double 値です。

関連項目:
定数フィールド値

PI

public static final double PI
円周とその直径の比 pi にもっとも近い double 値です。

関連項目:
定数フィールド値
メソッドの詳細

sin

public static double sin(double a)
指定された角度の正弦 (サイン) を返します。特例として :  

計算結果は、正確な結果の 1 ulp 以内である必要があります。結果は半単調なものに限ります。

パラメータ:
a - ラジアンで表した角度
戻り値:
引数の正弦 (サイン)

cos

public static double cos(double a)
指定された角度の余弦 (コサイン) を返します。特例として :  

計算結果は、正確な結果の 1 ulp 以内である必要があります。結果は半単調なものに限ります。

パラメータ:
a - ラジアンで表した角度
戻り値:
引数の余弦 (コサイン)

tan

public static double tan(double a)
指定された角度の正接 (タンジェント) を返します。特例として :  

計算結果は、正確な結果の 1 ulp 以内である必要があります。結果は半単調なものに限ります。

パラメータ:
a - ラジアンで表した角度
戻り値:
引数の正接 (タンジェント)

asin

public static double asin(double a)
指定された値の逆正弦 (アークサイン) を返します。返される角度の範囲は、-pi/2 〜 pi/2 の範囲です。特例として、  

計算結果は、正確な結果の 1 ulp 以内である必要があります。結果は半単調なものに限ります。

パラメータ:
a - この値の逆正弦 (アークサイン) が返される
戻り値:
引数の逆正弦 (アークサイン)

acos

public static double acos(double a)
指定された値の逆余弦 (アークコサイン) を返します。返される角度の範囲は、0.0 〜 pi です。特例として、  

計算結果は、正確な結果の 1 ulp 以内である必要があります。結果は半単調なものに限ります。

パラメータ:
a - この値の逆余弦 (アークコサイン) が返される
戻り値:
引数の逆余弦 (アークコサイン)

atan

public static double atan(double a)
指定された値の逆正接 (アークタンジェント) を返します。返される角度の範囲は、-pi/2 〜 pi/2 の範囲です。特例として、  

計算結果は、正確な結果の 1 ulp 以内である必要があります。結果は半単調なものに限ります。

パラメータ:
a - この値の逆正接 (アークタンジェント) が返される
戻り値:
引数の逆正接 (アークタンジェント)

toRadians

public static double toRadians(double angdeg)
度で計測した角度を、相当するラジアンに変換します。通常、度からラジアンへの変換は正確ではありません。

パラメータ:
angdeg - 度で計測した角度
戻り値:
ラジアンで表した、角度 angdeg の計測値
導入されたバージョン:
1.2

toDegrees

public static double toDegrees(double angrad)
ラジアンで計測した角度を、相当する度に変換します。通常、ラジアンから度への変換は正確ではありません。 ユーザーは、cos(toRadians(90.0)) が正確に 0.0 に対応することを期待できません。

パラメータ:
angrad - ラジアンで表した角度
戻り値:
度で表した、角度 angrad の計測値
導入されたバージョン:
1.2

exp

public static double exp(double a)
オイラー数 edouble 値で累乗した値を返します。特例として :  

計算結果は、正確な結果の 1 ulp 以内である必要があります。結果は半単調なものに限ります。

パラメータ:
a - e に設定した指数
戻り値:
ea の値。e は自然対数の底

log

public static double log(double a)
指定された double 値の自然対数値 (底は e) を返します。特例として :  

計算結果は、正確な結果の 1 ulp 以内である必要があります。結果は半単調なものに限ります。

パラメータ:
a - 値
戻り値:
ln a の値。a の自然対数

log10

public static double log10(double a)
double 値の 10 を底とする対数を返します。特例として :  

計算結果は、正確な結果の 1 ulp 以内である必要があります。結果は半単調なものに限ります。

パラメータ:
a - 値
戻り値:
a の 10 を底とする対数
導入されたバージョン:
1.5

sqrt

public static double sqrt(double a)
double 値の正しく丸めた正の平方根を返します。特例として : そうでない場合は、引数値の真の数学の平方根にもっとも近い double 値が返されます。

パラメータ:
a - 値
戻り値:
a 正の平方根引数が NaN であるかゼロよりも小さい場合は、結果も NaN

cbrt

public static double cbrt(double a)
double 値の立方根を返します。正の有限値 x の場合、cbrt(-x) == -cbrt(x)。 つまり、負の値の立方根は、値の絶対値の立方根を負にしたものです。 特例として :  

計算結果は、正確な結果の 1 ulp 以内である必要があります。

パラメータ:
a - 値
戻り値:
a の立方根
導入されたバージョン:
1.5

IEEEremainder

public static double IEEEremainder(double f1,
                                   double f2)
IEEE 754 標準に従って、2 個の引数について剰余を計算します。剰余の値は、計算上は f1 - f2 × n に等しくなります。 ここで、nf1/f2 の商の正確な値にもっとも近い整数です。 f1/f2 に同じ程度に近似する整数が 2 つ存在する場合、n には偶数が選択されます。剰余がゼロになる場合、その符号は 1 番目の引数の符号と同じになります。特例として :

パラメータ:
f1 - 被除数
f2 - 除数
戻り値:
f1f2 で除算したときの剰余

ceil

public static double ceil(double a)
引数の値以上で、計算上の整数と等しい、最小の (負の無限大にもっとも近い) double 値を返します。特例として : Math.ceil(x) の値は -Math.floor(-x) とまったく同じである点に注意してください。

パラメータ:
a - 値
戻り値:
引数の値以上で、計算上の整数と等しい、最小の (負の無限大にもっとも近い) 浮動小数点値

floor

public static double floor(double a)
引数の値以下で、計算上の整数と等しい、最大の (正の無限大にもっとも近い) double 値を返します。特例として :

パラメータ:
a - 値
戻り値:
引数の値以上で、計算上の整数と等しい、最大の (正の無限大にもっとも近い) 浮動小数点値

rint

public static double rint(double a)
引数の値にもっとも近く、計算上の整数に等しい double 値を返します。2 つの double 値の整数が同じ程度に近似している場合、結果は偶数の整数値になります。特例として :

パラメータ:
a - double
戻り値:
計算上の整数に等しい a にもっとも近い浮動小数点値

atan2

public static double atan2(double y,
                           double x)
極座標 (r, theta) への矩形座標 (xy) の変換から角度 theta を返します。このメソッドは、y/x の逆正接 (アークタンジェント) を -pipi の範囲で計算して、位相 theta (シータ) を求めます。特例として :  

計算結果は、正確な結果の 2 ulp 以内である必要があります。結果は半単調なものに限ります。

パラメータ:
y - 縦座標
x - 横座標
戻り値:
直交座標 (デカルト座標) 上の点 (xy) に対応する極座標上の点 (rtheta) の theta (シータ) 成分

pow

public static double pow(double a,
                         double b)
1 番目の引数を、2 番目の引数で累乗した値を返します。特例として :  

(上記の説明においては、ceil メソッドによる固定小数点、または同じことですが、floor メソッドによる固定小数点の場合に限り、浮動小数点値は整数として考えます。そのメソッドを適用した結果と同じ場合に限り、値は引数が 1 つのメソッドの固定小数点となります。  

計算結果は、正確な結果の 1 ulp 以内である必要があります。結果は半単調なものに限ります。

パラメータ:
a - ベース
b - 指数
戻り値:
ab

round

public static int round(float a)
引数にもっとも近い int を返します。結果は 1/2 を加えて floor メソッドで取り int にキャストして整数に丸められます。つまり、次の式の値に等しくなります。 

(int)Math.floor(a + 0.5f)

特例として :

パラメータ:
a - 整数に丸める浮動小数点値
戻り値:
引数をもっとも近い int 値に丸めた値
関連項目:
Integer.MAX_VALUE, Integer.MIN_VALUE

round

public static long round(double a)
引数にもっとも近い long を返します。結果は 1/2 を加えて floor メソッドで取り int にキャストして整数に丸められます。つまり、次の式の値に等しくなります。 

(long)Math.floor(a + 0.5d)

特例として :

パラメータ:
a - long に丸める浮動小数点値
戻り値:
引数をもっとも近い long 値に丸めた値
関連項目:
Long.MAX_VALUE, Long.MIN_VALUE

random

public static double random()
0.0 以上で、1.0 より小さい正の符号の付いた double 値を返します。戻り値は、この範囲からの一様分布によって擬似乱数的に選択されます。  

最初にこのメソッドが呼び出されたときに、メソッドは単一の新しい擬似乱数ジェネレータを作成します。これは、次の式とまったく同じです。

new java.util.Random
この新しい擬似乱数ジェネレータは、以後このメソッドへのすべての呼び出しに使われます。ほかの場所では使われません。  

このメソッドは、複数のスレッドが正しく使えるよう適切に同期されます。しかし、多数のスレッドで擬似乱数を高頻度で発生する必要がある場合は、スレッド独自の擬似乱数ジェネレータを用意して各スレッドのコンテンションを減らしてもかまいません。

戻り値:
double の擬似乱数。範囲は、0.0 以上 1.0 未満
関連項目:
Random.nextDouble()

abs

public static int abs(int a)
int 値の絶対値を返します。引数が負でない場合は引数そのものを返します。負のときは、その正負を逆にした値を返します。  

引数が Integer.MIN_VALUE の値 (int の最小値) と等しい場合は、結果も同じ値 (負の値) になります。

パラメータ:
a - 属性値を決める引数
戻り値:
引数の絶対値
関連項目:
Integer.MIN_VALUE

abs

public static long abs(long a)
long 値の絶対値を返します。引数が負でない場合は引数そのものを返します。負のときは、その正負を逆にした値を返します。  

引数が Long.MIN_VALUE の値 (long の最小値) と等しい場合は、結果も同じ値 (負の値) になります。

パラメータ:
a - 属性値を決める引数
戻り値:
引数の絶対値
関連項目:
Long.MIN_VALUE

abs

public static float abs(float a)
float 値の絶対値を返します。引数が負でない場合は引数そのものを返します。負のときは、その正負を逆にした値を返します。特例として : つまり、次の式の値に等しくなります。 

Float.intBitsToFloat(0x7fffffff & Float.floatToIntBits(a))

パラメータ:
a - 属性値を決める引数
戻り値:
引数の絶対値

abs

public static double abs(double a)
double 値の絶対値を返します。引数が負でない場合は引数そのものを返します。負のときは、その正負を逆にした値を返します。特例として : つまり、次の式の値に等しくなります。 

Double.longBitsToDouble((Double.doubleToLongBits(a)<<1)>>>1)

パラメータ:
a - 属性値を決める引数
戻り値:
引数の絶対値

max

public static int max(int a,
                      int b)
2 つの int 値のうち大きいほうを返します。つまり、結果は Integer.MAX_VALUE の値に近いほうの引数となります。引数の値が同じ場合は同じ値を返します。

パラメータ:
a - 引数
b - 別の引数
戻り値:
ab のどちらか大きい方
関連項目:
Long.MAX_VALUE

max

public static long max(long a,
                       long b)
2 つの long 値のうち大きいほうを返します。つまり、結果は Long.MAX_VALUE の値に近いほうの引数となります。引数の値が同じ場合は同じ値を返します。

パラメータ:
a - 引数
b - 別の引数
戻り値:
ab のどちらか大きい方
関連項目:
Long.MAX_VALUE

max

public static float max(float a,
                        float b)
2 つの float 値のうち大きいほうを返します。つまり、結果は正の無限大に近いほうの引数となります。引数の値が同じ場合は同じ値を返します。どちらかの値が NaN の場合は NaN を返します。数値比較演算子とは異なり、このメソッドは負のゼロが厳密には正のゼロよりも小さいと見なします。一方の引数が正のゼロでもう一方が負のゼロの場合は、正のゼロを返します。

パラメータ:
a - 引数
b - 別の引数
戻り値:
ab のどちらか大きい方

max

public static double max(double a,
                         double b)
2 つの double 値のうち大きいほうを返します。つまり、結果は正の無限大に近いほうの引数となります。引数の値が同じ場合は同じ値を返します。どちらかの値が NaN の場合は NaN を返します。数値比較演算子とは異なり、このメソッドは負のゼロが厳密には正のゼロよりも小さいと見なします。一方の引数が正のゼロでもう一方が負のゼロの場合は、正のゼロを返します。

パラメータ:
a - 引数
b - 別の引数
戻り値:
ab のどちらか大きい方

min

public static int min(int a,
                      int b)
2 つの int 値のうち小さいほうを返します。つまり、結果は Integer.MIN_VALUE の値に近いほうの引数となります。引数の値が同じ場合は同じ値を返します。

パラメータ:
a - 引数
b - 別の引数
戻り値:
ab のどちらか小さい方
関連項目:
Long.MIN_VALUE

min

public static long min(long a,
                       long b)
2 つの long 値のうち小さいほうを返します。つまり、結果は Long.MIN_VALUE の値に近いほうの引数となります。引数の値が同じ場合は同じ値を返します。

パラメータ:
a - 引数
b - 別の引数
戻り値:
ab のどちらか小さい方
関連項目:
Long.MIN_VALUE

min

public static float min(float a,
                        float b)
2 つの float 値のうち小さいほうを返します。つまり、結果は負の無限大に近いほうの値となります。引数の値が同じ場合は同じ値を返します。どちらかの値が NaN の場合は NaN を返します。数値比較演算子とは異なり、このメソッドは負のゼロが厳密には正のゼロよりも小さいと見なします。一方の引数が正のゼロでもう一方が負のゼロの場合は、負のゼロを返します。

パラメータ:
a - 引数
b - 別の引数
戻り値:
ab のどちらか小さい方

min

public static double min(double a,
                         double b)
2 つの double 値のうち小さいほうを返します。つまり、結果は負の無限大に近いほうの値となります。引数の値が同じ場合は同じ値を返します。どちらかの値が NaN の場合は NaN を返します。数値比較演算子とは異なり、このメソッドは負のゼロが厳密には正のゼロよりも小さいと見なします。一方の引数が正のゼロでもう一方が負のゼロの場合は、負のゼロを返します。

パラメータ:
a - 引数
b - 別の引数
戻り値:
ab のどちらか小さい方

ulp

public static double ulp(double d)
引数の ulp のサイズを返します。double 値の ulp は、この浮動小数点値と、絶対値で次に大きい double 値との間の正の距離です。x が NaN 以外の場合、ulp(-x) == ulp(x) です。  

特例として:

パラメータ:
d - ulp が返される浮動小数点値
戻り値:
引数の ulp のサイズ
導入されたバージョン:
1.5

ulp

public static float ulp(float f)
引数の ulp のサイズを返します。float 値の ulp は、この浮動小数点値と、絶対値で次に大きい float 値との間の正の距離です。x が NaN 以外の場合、ulp(-x) == ulp(x) です。  

特例として:

パラメータ:
f - ulp が返される浮動小数点値
戻り値:
引数の ulp のサイズ
導入されたバージョン:
1.5

signum

public static double signum(double d)
引数の符号要素を返します。 引数がゼロの場合はゼロ、引数がゼロより大きい場合は 1.0、引数がゼロより小さい場合は -1.0 です。  

特例として:

パラメータ:
d - 符号が返される浮動小数点値
戻り値:
引数の符号要素
導入されたバージョン:
1.5

signum

public static float signum(float f)
引数の符号要素を返します。 引数がゼロの場合はゼロ、引数がゼロより大きい場合は 1、引数がゼロより小さい場合は -1 です。  

特例として:

パラメータ:
f - 符号が返される浮動小数点値
戻り値:
引数の符号要素
導入されたバージョン:
1.5

sinh

public static double sinh(double x)
double 値の双曲線正弦を返します。x の双曲線正弦は (ex - e-x)/2 で表されます。 ここで、eEuler's number です。  

特例として :

 

計算結果は、正確な結果の 2.5 ulp 以内である必要があります。

パラメータ:
x - 双曲線正弦が返される数字
戻り値:
x の双曲線正弦
導入されたバージョン:
1.5

cosh

public static double cosh(double x)
double 値の双曲線余弦を返します。x の双曲線余弦は (ex + e-x)/2 で表されます。 ここで、eEuler's number です。  

特例として :

 

計算結果は、正確な結果の 2.5 ulp 以内である必要があります。

パラメータ:
x - 双曲線余弦が返される数字
戻り値:
x の双曲線余弦
導入されたバージョン:
1.5

tanh

public static double tanh(double x)
double 値の双曲線正接を返します。x の双曲線正接は (ex - e-x)/(ex + e-x) で表されます。 つまり、sinh(x)/cosh(x)。正確な tanh の絶対値は常に 1 未満です。  

特例として :

 

計算結果は、正確な結果の 2.5 ulp 以内である必要があります。有限入力の tanh の結果は、1 以下の絶対値を持たなければいけません。± 1 の制限値の ulp の 1/2 以内である場合、正しく符号が付けられた ±1.0 が返されます。

パラメータ:
x - 双曲線正接が返される数字
戻り値:
x の双曲線正接
導入されたバージョン:
1.5

hypot

public static double hypot(double x,
                           double y)
中間のオーバーフローやアンダーフローなしに sqrt(x2 +y2) が返されます。  

特例として :

 

計算結果は、正確な結果の 1 ulp 以内である必要があります。1 つのパラメータが一定の場合、結果はもう一方のパラメータで半単調なものに限ります。

パラメータ:
x - 値
y - 値
戻り値:
中間のオーバーフローやアンダーフローのない sqrt(x2 +y2)
導入されたバージョン:
1.5

expm1

public static double expm1(double x)
ex -1 を返します。 0 に近い x の値の場合、expm1(x) + 1 の正確な合計は、exp(x) よりも ex の真の結果にかなり近くなります。  

特例として :

 

計算結果は、正確な結果の 1 ulp 以内である必要があります。結果は半単調なものに限ります。有限入力の expm1 の結果は、-1.0 以上である必要があります。ex -  の正確な結果が制限値 -1 の 1/2 ulp 以内である場合、-1.0 が返されます。

パラメータ:
x - ex -1 の計算に設定した e の指数
戻り値:
ex - 1
導入されたバージョン:
1.5

log1p

public static double log1p(double x)
引数と 1 の合計の自然対数を返します。 x の値が小さい場合、log1p(x) の結果は、log(1.0+x) の浮動小数点評価よりも ln(1 + x) の真の結果にかなり近くなります。  

特例として :

 

計算結果は、正確な結果の 1 ulp 以内である必要があります。結果は半単調なものに限ります。

パラメータ:
x - 値
戻り値:
ln(x + 1) の値。 x + 1 の自然対数
導入されたバージョン:
1.5

copySign

public static double copySign(double magnitude,
                              double sign)
2 番目の浮動小数点引数の符号を付けた、最初の浮動小数点引数を返します。StrictMath.copySign メソッドとは異なり、このメソッドは、正の値として扱われるために NaN sign 引数を必要としません。実装は、パフォーマンスを向上させるために、一部の NaN 引数を正として扱い、その他の NaN 引数を負として扱うよう許可されます。

パラメータ:
magnitude - 結果の絶対値を提供するパラメータ
sign - 結果の符号を提供するパラメータ
戻り値:
magnitude の絶対値と sign の符号を持つ値
導入されたバージョン:
1.6

copySign

public static float copySign(float magnitude,
                             float sign)
2 番目の浮動小数点引数の符号を付けた、最初の浮動小数点引数を返します。StrictMath.copySign メソッドとは異なり、このメソッドは、正の値として扱われるために NaN sign 引数を必要としません。実装は、パフォーマンスを向上させるために、一部の NaN 引数を正として扱い、その他の NaN 引数を負として扱うよう許可されます。

パラメータ:
magnitude - 結果の絶対値を提供するパラメータ
sign - 結果の符号を提供するパラメータ
戻り値:
magnitude の絶対値と sign の符号を持つ値
導入されたバージョン:
1.6

getExponent

public static int getExponent(float f)
float の表現で使用される不偏指数を返します。特例として :

パラメータ:
f - float
戻り値:
引数の不偏指数
導入されたバージョン:
1.6

getExponent

public static int getExponent(double d)
double の表現で使用される不偏指数を返します。特例として :

パラメータ:
d - double
戻り値:
引数の不偏指数
導入されたバージョン:
1.6

nextAfter

public static double nextAfter(double start,
                               double direction)
2 番目の引数の方向で、最初の引数に隣接する浮動小数点値を返します。両方の引数が等しいと見なされる場合は、2 番目の引数が返されます。

特例として :

パラメータ:
start - 開始浮動小数点値
direction - start の隣りか start のどちらが返されるかを示す値
戻り値:
direction の方向で start に隣接する浮動小数点値
導入されたバージョン:
1.6

nextAfter

public static float nextAfter(float start,
                              double direction)
2 番目の引数の方向で、最初の引数に隣接する浮動小数点値を返します。両方の引数が等しいと見なされる場合は、2 番目の引数に等しい値が返されます。

特例として :

パラメータ:
start - 開始浮動小数点値
direction - start の隣りか start のどちらが返されるかを示す値
戻り値:
direction の方向で start に隣接する浮動小数点値
導入されたバージョン:
1.6

nextUp

public static double nextUp(double d)
正の無限大方向で d に隣接する浮動小数点値を返します。このメソッドは意味上は nextAfter(d, Double.POSITIVE_INFINITY) と同じです。ただし、nextUp 実装は、それに等しい nextAfter 呼び出しよりも高速に実行できることもあります。  

特例として:

パラメータ:
d - 開始浮動小数点値
戻り値:
正の無限大に近いほうの、隣接する浮動小数点値
導入されたバージョン:
1.6

nextUp

public static float nextUp(float f)
正の無限大方向で f に隣接する浮動小数点値を返します。このメソッドは意味上は nextAfter(f, Float.POSITIVE_INFINITY) と同じです。ただし、nextUp 実装は、それに等しい nextAfter 呼び出しよりも高速に実行できることもあります。  

特例として:

パラメータ:
f - 開始浮動小数点値
戻り値:
正の無限大に近いほうの、隣接する浮動小数点値
導入されたバージョン:
1.6

scalb

public static double scalb(double d,
                           int scaleFactor)
double 値セットのメンバーに単一の正しく丸められた浮動小数点を掛けることによって実行される場合と同様に、d × 2scaleFactor を返します。浮動小数点値セットについては、『Java 言語仕様』を参照してください。結果の指数が Double.MIN_EXPONENT から Double.MAX_EXPONENT の間の場合、答は正確に計算されます。結果の指数が Double.MAX_EXPONENT より大きくなる場合、無限大が返されます。結果が非正規の場合は、精度が失われる可能性があります。つまり、scalb(x, n) が非正規の場合、scalb(scalb(x, n), -n)x と等しくない可能性があります。結果が NaN 以外の場合、その結果は d と同じ符号を持ちます。

特例として :

パラメータ:
d - 2 の累乗によってスケーリングされる数
scaleFactor - d をスケーリングするために使用される 2 の累乗
戻り値:
d × 2scaleFactor
導入されたバージョン:
1.6

scalb

public static float scalb(float f,
                          int scaleFactor)
float 値セットのメンバーに単一の正しく丸められた浮動小数点を掛けることによって実行される場合と同様に、d × 2scaleFactor を返します。浮動小数点値セットについては、『Java 言語仕様』を参照してください。結果の指数が Float.MIN_EXPONENT から Float.MAX_EXPONENT の間の場合、答は正確に計算されます。結果の指数が Float.MAX_EXPONENT より大きくなる場合、無限大が返されます。結果が非正規の場合は、精度が失われる可能性があります。つまり、scalb(x, n) が非正規の場合、scalb(scalb(x, n), -n)x と等しくない可能性があります。結果が NaN 以外の場合、その結果は f と同じ符号を持ちます。

特例として :

パラメータ:
f - 2 の累乗によってスケーリングされる数
scaleFactor - f をスケーリングするために使用される 2 の累乗
戻り値:
f × 2scaleFactor
導入されたバージョン:
1.6

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。