Foundation 1.1.2

java.lang
クラス StrictMath

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

public final class StrictMath
extends Object

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

Java プログラムの移植性を保つために、このパッケージにある多数の数値関数の定義は、既存のアルゴリズムと同一の計算結果を出すことが求められています。こうしたアルゴリズムは、有名なネットワークライブラリである netlib から「Freely Distributable Math Library」(fdlibm) パッケージとして入手可能です。これらのアルゴリズムは C 言語で記述されており、すべての浮動小数点演算が Java の浮動小数点演算規則に従って実行されるものとみなされます。  

ネットワークライブラリは次の URL から入手できます。

   http://metalab.unc.edu/
 

Java の数学ライブラリは fdlibm 1995 年 1 月 4 日付けのバージョンを基に定義されています。fdlibm で複数の定義が与えられている関数 (たとえば acos) については、IEEE 754 コア関数のバージョンを使用してください (ファイル名が e で始まるファイルの中にある)。

導入されたバージョン:
1.3

フィールドの概要
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)
          指定された角度の逆余弦 (アークコサイン) を、0.0 〜 pi の範囲で返します。
static double asin(double a)
          指定された角度の逆正弦 (アークサイン) を、-pi/2 〜 pi/2 の範囲で返します。
static double atan(double a)
          指定された角度の逆正接 (アークタンジェント) を、-pi/2 〜 pi/2 の範囲で返します。
static double atan2(double y, double x)
          直交座標 (xy) を極座標 (r, theta) に変換します。
static double ceil(double a)
          引数の値以上で、計算上の整数と等しい、最小の (負の無限大にもっとも近い) double 値を返します。
static double cos(double a)
          指定された角度の余弦 (コサイン) を返します。
static double exp(double a)
          オイラー数 edouble 値で累乗した値を返します。
static double floor(double a)
          引数の値以下で、計算上の整数と等しい、最大の (無限大にもっとも近い) double 値を返します。
static double IEEEremainder(double f1, double f2)
          IEEE 754 標準に従って、2 個の引数について剰余を計算します。
static double log(double a)
          指定された double 値の自然対数値 (底は e) を返します。
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 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 sin(double a)
          指定された角度の正弦 (サイン) を返します。
static double sqrt(double a)
          double 値の正しく丸めた正の平方根を返します。
static double tan(double a)
          指定された角度の正接 (タンジェント) を返します。
static double toDegrees(double angrad)
          ラジアンで計測した角度を、相当する度に変換します。
static double toRadians(double angdeg)
          度で計測した角度を、相当するラジアンに変換します。
 
クラス 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)
指定された角度の正弦 (サイン) を返します。次のような例外があります。

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

cos

public static double cos(double a)
指定された角度の余弦 (コサイン) を返します。次のような例外があります。

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

tan

public static double tan(double a)
指定された角度の正接 (タンジェント) を返します。次のような例外があります。

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

asin

public static double asin(double a)
指定された角度の逆正弦 (アークサイン) を、-pi/2 〜 pi/2 の範囲で返します。次のような例外があります。

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

acos

public static double acos(double a)
指定された角度の逆余弦 (アークコサイン) を、0.0 〜 pi の範囲で返します。次のような例外があります。

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

atan

public static double atan(double a)
指定された角度の逆正接 (アークタンジェント) を、-pi/2 〜 pi/2 の範囲で返します。次のような例外があります。

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

toRadians

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

パラメータ:
angdeg - 度で計測した角度
戻り値:
ラジアンで表した、角度 angdeg の計測値

toDegrees

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

パラメータ:
angrad - ラジアンで表した角度
戻り値:
度で表した、角度 angrad の計測値

exp

public static double exp(double a)
オイラー数 edouble 値で累乗した値を返します。次のような例外があります。

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

log

public static double log(double a)
指定された double 値の自然対数値 (底は e) を返します。次のような例外があります。

パラメータ:
a - 0.0 よりも大きい数値
戻り値:
ln a の値。a の自然対数

sqrt

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

パラメータ:
a - 値
戻り値:
a 正の平方根

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 - double
戻り値:
引数の値以下で、計算上の整数と等しい、最大の (無限大にもっとも近い) 浮動小数点値

rint

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

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

atan2

public static double atan2(double y,
                           double x)
直交座標 (xy) を極座標 (r, theta) に変換します。このメソッドは、y/x の逆正接 (アークタンジェント) を -pipi の範囲で計算して、位相 theta (シータ) を求めます。次のような例外があります。

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

pow

public static double pow(double a,
                         double b)
1 番目の引数を、2 番目の引数で累乗した値を返します。次のような例外があります。

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

パラメータ:
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 のどちらか小さい方

Foundation 1.1.2

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

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