Oracle CQL には、java.lang.Math
クラスに基づいた、さまざまな組み込みの関数が用意されています。
詳細については、節 1.1.9「関数」を参照してください。
表 9-1 は、Oracle CQL に用意されている組み込みの java.lang.Math
関数を示しています。
注意 : ストリーム入力の例で、h で始まる行 (h 3800 など) はハートビート入力タプルです。これは、ハートビート値よりも小さいタイムスタンプを持つこれ以上の入力がないことを Oracle CEP に通知します。 |
詳細については、以下を参照してください。
構文
目的
ABS
は、integer
の入力引数の絶対値を integer
として返します。
詳細については、http://java.sun.com/javase/6/docs/api/java/lang/Math.html#abs(int)
を参照してください。
例
例 9-1 では q66
クエリを示しています。例 9-2 では、スキーマ (c1 integer, c2 double, c3 bigint)
を持つデータ ストリーム SFunc
を示しています。このクエリは、例 9-3 に示すストリームを返します。
構文
目的
ABS1
は、long
の入力引数の絶対値を long
として返します。
詳細については、http://java.sun.com/javase/6/docs/api/java/lang/Math.html#abs(long)
を参照してください。
例
例 9-4 では q67
クエリを示しています。例 9-5 では、スキーマ (c1 integer, c2 float, c3 long)
を持つデータ ストリーム SFunc
を示しています。このクエリは、例 9-6 に示すストリームを返します。
構文
目的
ABS2
は、float
の入力引数の絶対値を float
として返します。
詳細については、http://java.sun.com/javase/6/docs/api/java/lang/Math.html#abs(float)
を参照してください。
例
例 9-7 では q68
クエリを示しています。例 9-8 では、スキーマ (c1 integer, c2 float, c3 bigint)
を持つデータ ストリーム SFunc
を示しています。このクエリは、例 9-9 に示すストリームを返します。
構文
目的
ABS3
は、double
の入力引数の絶対値を double
として返します。
詳細については、http://java.sun.com/javase/6/docs/api/java/lang/Math.html#abs(double)
を参照してください。
例
例 9-10 では q69
クエリを示しています。例 9-11 では、スキーマ (c1 integer, c2 float, c3 bigint, c4 double)
を持つデータ ストリーム SFunc
を示しています。このクエリは、例 9-12 に示すストリームを返します。
構文
目的
ACOS
は、0.0
~ pi
の範囲の、double
の角度の逆余弦を double
として返します。
詳細については、http://java.sun.com/javase/6/docs/api/java/lang/Math.html#acos(double)
を参照してください。
例
例 9-13 では q73
クエリを示しています。例 9-14 では、スキーマ (c1 integer, c2 double, c3 bigint)
を持つデータ ストリーム SFunc
を示しています。このクエリは、例 9-15 に示すストリームを返します。
構文
目的
ASIN
は、-pi/2
~ pi/2
の範囲の、double
の角度の逆正弦を double
として返します。
詳細については、http://java.sun.com/javase/6/docs/api/java/lang/Math.html#asin(double)
を参照してください。
例
例 9-16 では q74
クエリを示しています。例 9-17 では、スキーマ (c1 integer, c2 double, c3 bigint)
を持つデータ ストリーム SFunc
を示しています。このクエリは、例 9-18 に示すストリームを返します。
構文
目的
ATAN
は、-pi/2
~ pi/2
の範囲の、double
の角度の逆正接を double
として返します。
詳細については、http://java.sun.com/javase/6/docs/api/java/lang/Math.html#atan(double)
を参照してください。
例
例 9-19 では q75
クエリを示しています。例 9-20 では、スキーマ (c1 integer, c2 double, c3 bigint)
を持つデータ ストリーム SFunc
を示しています。このクエリは、例 9-21 に示すストリームを返します。
構文
目的
ATAN2
は、直交座標 (x,y
) を極座標 (r,theta
) に変換します。
この関数は次の引数を使用します。
double1
: 縦座標。
double2
: 横座標。
この関数は、デカルト座標の点 (x,y
) に対応する極座標の点 (r,theta
) のシータ成分を double
として返します。
詳細については、http://java.sun.com/javase/6/docs/api/java/lang/Math.html#atan2(double,%20double)
を参照してください。
例
例 9-22 では q63
クエリを示しています。例 9-23 では、スキーマ (c1 integer, c2 double, c3 bigint)
を持つデータ ストリーム SFunc
を示しています。このクエリは、例 9-24 に示すストリームを返します。
構文
目的
CBRT
は、double
の引数の立方根を double
として返します。
正の有限の a
の場合は、cbrt(-a) == -cbrt(a)
になります。つまり、負の値の立方根は、その値の大きさの立方根の負量です。
詳細については、http://java.sun.com/javase/6/docs/api/java/lang/Math.html#cbrt(double)
を参照してください。
例
例 9-25 では q76
クエリを示しています。例 9-26 では、スキーマ (c1 integer, c2 float, c3 bigint)
を持つデータ ストリーム SFunc
を示しています。このクエリは、例 9-27 に示すストリームを返します。
構文
目的
CEIL1
は、double
の引数以上であり、数学的整数に等しい double
の最小 (負の無限大に最も近い) 値を返します。
丸めエラーの発生を回避するには、(long) cern.jet.math.Arithmetic.ceil(double)
の使用を検討してください。
詳細については、以下を参照してください。
例
例 9-28 では q77
クエリを示しています。例 9-29 では、スキーマ (c1 integer, c2 double, c3 bigint)
を持つデータ ストリーム SFunc
を示しています。このクエリは、例 9-30 に示すストリームを返します。
構文
目的
COS
は、double
の角度の三角法の余弦を double
として返します。
詳細については、http://java.sun.com/javase/6/docs/api/java/lang/Math.html#cos(double)
を参照してください。
例
例 9-31 では q61
クエリを示しています。例 9-32 では、スキーマ (c1 integer, c2 double, c3 bigint)
を持つデータ ストリーム SFunc
を示しています。このクエリは、例 9-33 に示すストリームを返します。
構文
目的
COSH
は、double
の値の双曲線余弦を double
として返します。
詳細については、http://java.sun.com/javase/6/docs/api/java/lang/Math.html#cosh(double)
を参照してください。
例
例 9-34 では q78
クエリを示しています。例 9-35 では、スキーマ (c1 integer, c2 double, c3 bigint)
を持つデータ ストリーム SFunc
を示しています。このクエリは、例 9-36 に示すストリームを返します。
構文
目的
EXP
は、オイラー数 e の double
引数を指数とする累乗を double
として返します。
0 に近い値 x
の場合、EXP(x)
よりも EXPM1(x) + 1
の厳密な合計の方が、x
を指数として累乗するオイラー数 e の実際の結果にはるかに近くなります。
詳細については、以下を参照してください。
例
例 9-37 では q79
クエリを示しています。例 9-38 では、スキーマ (c1 integer, c2 double, c3 bigint)
を持つデータ ストリーム SFunc
を示しています。このクエリは、例 9-39 に示すストリームを返します。
構文
目的
EXPM1
は、図 9-1 に示す計算を double
として返します。x
は double
の引数、e はオイラー数です。
0 に近い値 x
の場合、EXP(x)
よりも EXPM1(x) + 1
の厳密な合計の方が、x
を指数として累乗するオイラー数 e の実際の結果にはるかに近くなります。
詳細については、以下を参照してください。
例
例 9-40 では q80
クエリを示しています。例 9-41 では、スキーマ (c1 integer, c2 double, c3 bigint)
を持つデータ ストリーム SFunc
を示しています。このクエリは、例 9-42 に示すストリームを返します。
構文
目的
FLOOR1
は、double
の引数以下であり、数学的整数に等しい double
の最大 (正の無限大に最も近い) 値を返します。
丸めエラーの発生を回避するには、(long) cern.jet.math.Arithmetic.floor(double)
の使用を検討してください。
詳細については、以下を参照してください。
例
例 9-43 では q81
クエリを示しています。例 9-44 では、スキーマ (c1 integer, c2 double, c3 bigint)
を持つデータ ストリーム SFunc
を示しています。このクエリは、例 9-45 に示すストリームを返します。
構文
目的
HYPOT
は、double
の引数の斜辺 (図 9-2 を参照) を double
として返します。
この関数は次の引数を使用します。
double1
: x
の値。
double2
: y
の値。
斜辺の計算は、中間のオーバーフローまたはアンダーフローなく行われます。
詳細については、http://java.sun.com/javase/6/docs/api/java/lang/Math.html#hypot(double,%20double)
を参照してください。
例
例 9-46 では q82
クエリを示しています。例 9-47 では、スキーマ (c1 integer, c2 double, c3 bigint)
を持つデータ ストリーム SFunc
を示しています。このクエリは、例 9-48 に示すストリームを返します。
構文
目的
IEEEREMAINDER
は、IEEE 754 標準の規定に従って 2 つの double
の引数の剰余演算を行い、その結果を double
として返します。
この関数は次の引数を使用します。
double1
: 被除数。
double2
: 除数。
剰余値は、f1 - f2 × n
と数学的に等しくなります。n
は、商 f1/f2
の数学的に厳密な値に最も近い数学的整数です。2 つの数学的整数が f1/f2
にどちらも等しく近い場合、n
は同等の整数です。剰余が 0 の場合、符号は最初の引数の符号と同じになります。
詳細については、http://java.sun.com/javase/6/docs/api/java/lang/Math.html#IEEEremainder(double,%20double)
を参照してください。
例
例 9-49 では q72
クエリを示しています。例 9-50 では、スキーマ (c1 integer, c2 double, c3 bigint)
を持つデータ ストリーム SFunc
を示しています。このクエリは、例 9-51 に示すストリームを返します。
構文
目的
LOG1
は、double
の値の自然対数 (底は e) を double
として返します。
値 x
が小さい場合、log(1.0+x)
の浮動小数点評価よりも log1p(x)
の結果の方が、ln(1 + x)
の実際の結果にはるかに近くなります。
詳細については、以下を参照してください。
例
例 9-52 では q83
クエリを示しています。例 9-53 では、スキーマ (c1 integer, c2 double, c3 bigint)
を持つデータ ストリーム SFunc
を示しています。このクエリは、例 9-54 に示すストリームを返します。
構文
目的
LOG101
は、double
の値の 10 を底とする対数を double
として返します。
詳細については、http://java.sun.com/javase/6/docs/api/java/lang/Math.html#log10(double)
を参照してください。
例
例 9-55 では q84
クエリを示しています。例 9-56 では、スキーマ (c1 integer, c2 double, c3 bigint)
を持つデータ ストリーム SFunc
を示しています。このクエリは、例 9-57 に示すストリームを返します。
構文
目的
LOG1P
は、double
の引数と 1 の合計の自然対数を double
として返します。
値 x
が小さい場合、log(1.0+x)
の浮動小数点評価よりも log1p(x)
の結果の方が、ln(1 + x)
の実際の結果にはるかに近くなります。
詳細については、以下を参照してください。
例
例 9-58 では q85
クエリを示しています。例 9-59 では、スキーマ (c1 integer, c2 double, c3 bigint)
を持つデータ ストリーム SFunc
を示しています。このクエリは、例 9-60 に示すストリームを返します。
構文
目的
POW
は、2 番目の double
の引数を指数として累乗する最初の double
の引数 (底) の値を double
として返します。
この関数は次の引数を使用します。
double1
: 底。
double2
: 累乗の指数。
詳細については、http://java.sun.com/javase/6/docs/api/java/lang/Math.html#pow(double,%20double)
を参照してください。
例
例 9-61 では q65
クエリを示しています。例 9-62 では、スキーマ (c1 integer, c2 double, c3 bigint)
を持つデータ ストリーム SFunc
を示しています。このクエリは、例 9-63 に示すストリームを返します。
構文
目的
RINT
は、double
の引数に最も近く、数学的整数に等しい double
の値を返します。数学的整数である 2 つの double
の値がどちらも等しく近い場合、結果は同等の整数値になります。
詳細については、http://java.sun.com/javase/6/docs/api/java/lang/Math.html#rint(double)
を参照してください。
例
例 9-64 では q86
クエリを示しています。例 9-65 では、スキーマ (c1 integer, c2 double, c3 bigint)
を持つデータ ストリーム SFunc
を示しています。このクエリは、例 9-66 に示すストリームを返します。
構文
目的
ROUND
は、float
の引数に最も近い integer
を返します。
詳細については、http://java.sun.com/javase/6/docs/api/java/lang/Math.html#round(float)
を参照してください。
例
例 9-67 では q87
クエリを示しています。例 9-68 では、スキーマ (c1 integer, c2 double, c3 bigint)
を持つデータ ストリーム SFunc
を示しています。このクエリは、例 9-69 に示すストリームを返します。
構文
目的
ROUND1
は、float
の引数に最も近い integer
を返します。
詳細については、http://java.sun.com/javase/6/docs/api/java/lang/Math.html#round(float)
を参照してください。
例
例 9-70 では q88
クエリを示しています。例 9-71 では、スキーマ (c1 integer, c2 double, c3 bigint)
を持つデータ ストリーム SFunc
を示しています。このクエリは、例 9-72 に示すストリームを返します。
構文
目的
SIGNUM
は、double
の引数の符号関数を double
として返します。
引数が 0 の場合は 0 です
引数が 0 より大きい場合は 1.0 です
引数が 0 より小さい場合は -1.0 です
詳細については、http://java.sun.com/javase/6/docs/api/java/lang/Math.html#signum(double)
を参照してください。
例
例 9-73 では q70
クエリを示しています。例 9-74 では、スキーマ (c1 integer, c2 double, c3 bigint)
を持つデータ ストリーム SFunc
を示しています。このクエリは、例 9-75 に示すストリームを返します。
構文
目的
SIGNUM1
は、float
の引数の符号関数を float
として返します。
引数が 0 の場合は 0 です
引数が 0 より大きい場合は 1.0 です
引数が 0 より小さい場合は -1.0 です
詳細については、http://java.sun.com/javase/6/docs/api/java/lang/Math.html#signum(float)
を参照してください。
例
例 9-76 では q71
クエリを示しています。例 9-77 では、スキーマ (c1 integer, c2 double, c3 bigint)
を持つデータ ストリーム SFunc
を示しています。このクエリは、例 9-78 に示すリレーションを返します。
構文
目的
SIN
は、double
の角度の三角法の正弦を double
として返します。
詳細については、http://java.sun.com/javase/6/docs/api/java/lang/Math.html#sin(double)
を参照してください。
例
例 9-79 では q60
クエリを示しています。例 9-80 では、スキーマ (c1 integer
, c2 float
, c3 bigint
) を持つデータ ストリーム SFunc
を示しています。このクエリは、例 9-81 に示すストリームを返します。
構文
目的
SINH
は、double
の値の双曲線正弦を double
として返します。
詳細については、http://java.sun.com/javase/6/docs/api/java/lang/Math.html#sinh(double)
を参照してください。
例
例 9-82 では q89
クエリを示しています。例 9-83 では、スキーマ (c1 integer, c2 double, c3 bigint)
を持つデータ ストリーム SFunc
を示しています。このクエリは、例 9-84 に示すストリームを返します。
構文
目的
SQRT
は、double
の値の正しく丸められた正の平方根を double
として返します。
詳細については、http://java.sun.com/javase/6/docs/api/java/lang/Math.html#sqrt(double)
を参照してください。
例
例 9-85 では q64
クエリを示しています。例 9-86 では、スキーマ (c1 integer
, c2 float
, c3 bigint
) を持つデータ ストリーム SFunc
を示しています。このクエリは、例 9-87 に示すストリームを返します。
構文
目的
TAN
は、double
の角度の三角法の正接を double
として返します。
詳細については、http://java.sun.com/javase/6/docs/api/java/lang/Math.html#tan(double)
を参照してください。
例
例 9-88 では q62
クエリを示しています。例 9-89 では、スキーマ (c1 integer, c2 double, c3 bigint)
を持つデータ ストリーム SFunc
を示しています。このクエリは、例 9-90 に示すストリームを返します。
構文
目的
TANH
は、double
の値の双曲線正接を double
として返します。
詳細については、http://java.sun.com/javase/6/docs/api/java/lang/Math.html#tanh(double)
を参照してください。
例
例 9-91 では q90
クエリを示しています。例 9-92 では、スキーマ (c1 integer, c2 double, c3 bigint)
を持つデータ ストリーム SFunc
を示しています。このクエリは、例 9-93 に示すストリームを返します。
構文
目的
TODEGREES
は、ラジアン単位で測定される double
の角度を、度数で測定されるほぼ等しい double
の角度に変換します。
一般に、ラジアンから度数への変換は厳密ではありません。COS(TORADIANS(90.0))
が 0.0
に等しいと見なさないようにしてください。
詳細については、以下を参照してください。
例
例 9-94 では q91
クエリを示しています。例 9-95 では、スキーマ (c1 integer, c2 double, c3 bigint)
を持つデータ ストリーム SFunc
を示しています。このクエリは、例 9-96 に示すストリームを返します。
構文
目的
TORADIANS
は、度数で測定される double
の角度を、ラジアン単位で測定されるほぼ等しい double
の角度に変換します。
詳細については、以下を参照してください。
例
例 9-97 では q92
クエリを示しています。例 9-98 では、スキーマ (c1 integer, c2 double, c3 bigint)
を持つデータ ストリーム SFunc
を示しています。このクエリは、例 9-99 に示すストリームを返します。
構文
目的
ULP
は、double
の引数の ULP の大きさを double
として返します。この場合、引数値の ULP は、この浮動小数点値と次に大きい double の値との間の正の距離です。
詳細については、http://java.sun.com/javase/6/docs/api/java/lang/Math.html#ulp(double)
を参照してください。
例
例 9-100 では q93
クエリを示しています。例 9-101 では、スキーマ (c1 integer, c2 double, c3 bigint)
を持つデータ ストリーム SFunc
を示しています。このクエリは、例 9-102 に示すストリームを返します。
構文
目的
ULP1
は、float
の引数の ULP の大きさを float
として返します。float の値の ULP は、この浮動小数点値と次に大きい float の値との間の正の距離です。
詳細については、http://java.sun.com/javase/6/docs/api/java/lang/Math.html#ulp(float)
を参照してください。
例
例 9-103 では q94
クエリを示しています。例 9-104 では、スキーマ (c1 integer, c2 double, c3 bigint)
を持つデータ ストリーム SFunc
を示しています。このクエリは、例 9-105 に示すリレーションを返します。