ヘッダーをスキップ
Oracle® CEP CQL 言語リファレンス
11g リリース 1 (11.1.1)
B55504-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

9 関数 : java.lang.Math

Oracle CQL には、java.lang.Math クラスに基づいた、さまざまな組み込みの関数が用意されています。

詳細については、節 1.1.9「関数」を参照してください。

9.1 Oracle CQL の組み込みの java.lang.Math 関数の概要

表 9-1 は、Oracle CQL に用意されている組み込みの java.lang.Math 関数を示しています。

表 9-1 Oracle CQL の組み込みの java.lang.Math 関数

関数

三角


対数


オイラー数


ルート


符号関数


最終桁単位


その他




注意 :

ストリーム入力の例で、h で始まる行 (h 3800 など) はハートビート入力タプルです。これは、ハートビート値よりも小さいタイムスタンプを持つこれ以上の入力がないことを Oracle CEP に通知します。

詳細については、以下を参照してください。


ABS

構文

abs.gif を説明する関連テキスト

目的

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 に示すストリームを返します。

例 9-1 ABS 関数のクエリ

<query id="q66"><![CDATA[ 
    select abs(c1) from SFunc
]]></query>

例 9-2 ABS 関数のストリーム入力

Timestamp   Tuple
  10         1,0.5,8
1000        -4,0.7,6
1200        -3,0.89,12
2000         8,0.4,4

例 9-3 ABS 関数のストリーム出力

Timestamp   Tuple Kind  Tuple
  10:       +           1
1000:       +           4
1200:       +           3
2000:       +           8

ABS1

構文

abs1.gif を説明する関連テキスト

目的

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 に示すストリームを返します。

例 9-4 ABS1 関数のクエリ

<query id="q67"><![CDATA[ 
    select abs1(c3) from SFunc
]]></query>

例 9-5 ABS1 関数のストリーム入力

Timestamp   Tuple
  10        1,0.5,8
1000        4,0.7,-6
1200        3,0.89,-12
2000        8,0.4,4

例 9-6 ABS1 関数のストリーム出力

Timestamp   Tuple Kind  Tuple
  10:       +           8
1000:       +           6
1200:       +           12
2000:       +           4

ABS2

構文

abs2.gif を説明する関連テキスト

目的

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 に示すストリームを返します。

例 9-7 ABS2 関数のクエリ

<query id="q68"><![CDATA[ 
    select abs2(c2) from SFunc
]]></query>

例 9-8 ABS2 関数のストリーム入力

Timestamp   Tuple
  10        1,0.5,8
1000        4,-0.7,6
1200        3,-0.89,12
2000        8,0.4,4

例 9-9 ABS2 関数のストリーム出力

Timestamp   Tuple Kind  Tuple
  10:       +           0.5 
1000:       +           0.7 
1200:       +           0.89
2000:       +           0.4 

ABS3

構文

abs3.gif を説明する関連テキスト

目的

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 に示すストリームを返します。

例 9-10 ABS3 関数のクエリ

<query id="q69"><![CDATA[ 
    select abs3(c4) from SFunc
]]></query>

例 9-11 ABS3 関数のストリーム入力

Timestamp   Tuple
  10        1,0.5,8,0.25334
1000        4,0.7,6,-4.64322
1200        3,0.89,12,-1.4672272
2000        8,0.4,4,2.66777

例 9-12 ABS3 関数のストリーム出力

Timestamp   Tuple Kind  Tuple
  10:       +           0.25334
1000:       +           4.64322
1200:       +           1.4672272
2000:       +           2.66777

ACOS

構文

acos.gif を説明する関連テキスト

目的

ACOS は、0.0pi の範囲の、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 に示すストリームを返します。

例 9-13 ACOS 関数のクエリ

<query id="q73"><![CDATA[ 
    select acos(c2) from SFunc
]]></query>

例 9-14 ACOS 関数のストリーム入力

Timestamp   Tuple
  10        1,0.5,8
1000        4,0.7,6
1200        3,0.89,12
2000        8,0.4,4

例 9-15 ACOS 関数のストリーム出力

Timestamp   Tuple Kind  Tuple
  10:       +           1.0471976 
1000:       +           0.79539883
1200:       +           0.4734512 
2000:       +           1.1592795 

ASIN

構文

asin.gif を説明する関連テキスト

目的

ASIN は、-pi/2pi/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 に示すストリームを返します。

例 9-16 ASIN 関数のクエリ

<query id="q74"><![CDATA[ 
    select asin(c2) from SFunc
]]></query>

例 9-17 ASIN 関数のストリーム入力

Timestamp   Tuple
  10        1,0.5,8
1000        4,0.7,6
1200        3,0.89,12
2000        8,0.4,4

例 9-18 ASIN 関数のストリーム出力

Timestamp   Tuple Kind  Tuple
  10:       +           0.5235988 
1000:       +           0.7753975 
1200:       +           1.0973451 
2000:       +           0.41151685

ATAN

構文

atan.gif を説明する関連テキスト

目的

ATAN は、-pi/2pi/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 に示すストリームを返します。

例 9-19 ATAN 関数のクエリ

<query id="q75"><![CDATA[ 
    select atan(c2) from SFunc
]]></query>

例 9-20 ATAN 関数のストリーム入力

Timestamp   Tuple
  10        1,0.5,8
1000        4,0.7,6
1200        3,0.89,12
2000        8,0.4,4

例 9-21 ATAN 関数のストリーム出力

Timestamp   Tuple Kind  Tuple
  10:       +           0.4636476 
1000:       +           0.61072594
1200:       +           0.7272627 
2000:       +           0.3805064 

ATAN2

構文

atan2.gif を説明する関連テキスト

目的

ATAN2 は、直交座標 (x,y) を極座標 (r,theta) に変換します。

この関数は次の引数を使用します。

この関数は、デカルト座標の点 (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 に示すストリームを返します。

例 9-22 ATAN2 関数のクエリ

<query id="q63"><![CDATA[ 
    select atan2(c2,c2) from SFunc
]]></query>

例 9-23 ATAN2 関数のストリーム入力

Timestamp   Tuple
  10        1,0.5,8
1000        4,0.7,6
1200        3,0.89,12
2000        8,0.4,4

例 9-24 ATAN2 関数のストリーム出力

Timestamp   Tuple Kind  Tuple
  10:       +           0.7853982
1000:       +           0.7853982
1200:       +           0.7853982
2000:       +           0.7853982

CBRT

構文

cbrt.gif を説明する関連テキスト

目的

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 に示すストリームを返します。

例 9-25 CBRT 関数のクエリ

<query id="q76"><![CDATA[ 
    select cbrt(c2) from SFunc
]]></query>

例 9-26 CBRT 関数のストリーム入力

Timestamp   Tuple
  10        1,0.5,8
1000        4,0.7,6
1200        3,0.89,12
2000        8,0.4,4

例 9-27 CBRT 関数のストリーム出力

Timestamp   Tuple Kind  Tuple
  10:       +           0.7937005 
1000:       +           0.887904  
1200:       +           0.9619002 
2000:       +           0.73680633

CEIL1

構文

ceil1.gif を説明する関連テキスト

目的

CEIL1 は、double の引数以上であり、数学的整数に等しい double の最小 (負の無限大に最も近い) 値を返します。

丸めエラーの発生を回避するには、(long) cern.jet.math.Arithmetic.ceil(double) の使用を検討してください。

詳細については、以下を参照してください。

例 9-28 では q77 クエリを示しています。例 9-29 では、スキーマ (c1 integer, c2 double, c3 bigint) を持つデータ ストリーム SFunc を示しています。このクエリは、例 9-30 に示すストリームを返します。

例 9-28 CEIL1 関数のクエリ

<query id="q77"><![CDATA[ 
    select ceil1(c2) from SFunc
]]></query>

例 9-29 CEIL1 関数のストリーム入力

Timestamp   Tuple
  10        1,0.5,8
1000        4,0.7,6
1200        3,0.89,12
2000        8,0.4,4

例 9-30 CEIL1 関数のストリーム出力

Timestamp   Tuple Kind  Tuple
  10:       +           1.0
1000:       +           1.0
1200:       +           1.0
2000:       +           1.0

COS

構文

cos.gif を説明する関連テキスト

目的

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 に示すストリームを返します。

例 9-31 COS 関数のクエリ

<query id="q61"><![CDATA[ 
    select cos(c2) from SFunc
]]></query>

例 9-32 COS 関数のストリーム入力

Timestamp   Tuple
  10        1,0.5,8
1000        4,0.7,6
1200        3,0.89,12
2000        8,0.4,4

例 9-33 COS 関数のストリーム出力

Timestamp   Tuple Kind  Tuple
  10:       +           0.87758255
1000:       +           0.7648422 
1200:       +           0.62941206
2000:       +           0.921061  

COSH

構文

cosh.gif を説明する関連テキスト

目的

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 に示すストリームを返します。

例 9-34 COSH 関数のクエリ

<query id="q78"><![CDATA[ 
    select cosh(c2) from SFunc
]]></query>

例 9-35 COSH 関数のストリーム入力

Timestamp   Tuple
  10        1,0.5,8
1000        4,0.7,6
1200        3,0.89,12
2000        8,0.4,4

例 9-36 COSH 関数のストリーム出力

Timestamp   Tuple Kind  Tuple
  10:       +           1.127626 
1000:       +           1.255169 
1200:       +           1.4228927
2000:       +           1.0810723

EXP

構文

exp.gif を説明する関連テキスト

目的

EXP は、オイラー数 edouble 引数を指数とする累乗を double として返します。

0 に近い値 x の場合、EXP(x) よりも EXPM1(x) + 1 の厳密な合計の方が、x を指数として累乗するオイラー数 e の実際の結果にはるかに近くなります。

詳細については、以下を参照してください。

例 9-37 では q79 クエリを示しています。例 9-38 では、スキーマ (c1 integer, c2 double, c3 bigint) を持つデータ ストリーム SFunc を示しています。このクエリは、例 9-39 に示すストリームを返します。

例 9-37 EXP 関数のクエリ

<query id="q79"><![CDATA[ 
    select exp(c2) from SFunc
]]></query>

例 9-38 EXP 関数のストリーム入力

Timestamp   Tuple
  10        1,0.5,8
1000        4,0.7,6
1200        3,0.89,12
2000        8,0.4,4

例 9-39 EXP 関数のストリーム出力

Timestamp   Tuple Kind  Tuple
  10:       +           1.6487212
1000:       +           2.0137527
1200:       +           2.4351296
2000:       +           1.4918247

EXPM1

構文

expm1.gif を説明する関連テキスト

目的

EXPM1 は、図 9-1 に示す計算を double として返します。xdouble の引数、e はオイラー数です。

図 9-1 java.lang.Math EXPM1 関数

図 9-1 を説明する関連テキスト

0 に近い値 x の場合、EXP(x) よりも EXPM1(x) + 1 の厳密な合計の方が、x を指数として累乗するオイラー数 e の実際の結果にはるかに近くなります。

詳細については、以下を参照してください。

例 9-40 では q80 クエリを示しています。例 9-41 では、スキーマ (c1 integer, c2 double, c3 bigint) を持つデータ ストリーム SFunc を示しています。このクエリは、例 9-42 に示すストリームを返します。

例 9-40 EXPM1 関数のクエリ

<query id="q80"><![CDATA[ 
    select expm1(c2) from SFunc
]]></query>

例 9-41 EXPM1 関数のストリーム入力

Timestamp   Tuple
  10        1,0.5,8
1000        4,0.7,6
1200        3,0.89,12
2000        8,0.4,4

例 9-42 EXPM1 関数のストリーム出力

Timestamp   Tuple Kind  Tuple
  10:       +           0.6487213 
1000:       +           1.0137527 
1200:       +           1.4351296 
2000:       +           0.49182472

FLOOR1

構文

floor1.gif を説明する関連テキスト

目的

FLOOR1 は、double の引数以下であり、数学的整数に等しい double の最大 (正の無限大に最も近い) 値を返します。

丸めエラーの発生を回避するには、(long) cern.jet.math.Arithmetic.floor(double) の使用を検討してください。

詳細については、以下を参照してください。

例 9-43 では q81 クエリを示しています。例 9-44 では、スキーマ (c1 integer, c2 double, c3 bigint) を持つデータ ストリーム SFunc を示しています。このクエリは、例 9-45 に示すストリームを返します。

例 9-43 FLOOR1 関数のクエリ

<query id="q81"><![CDATA[ 
    select floor1(c2) from SFunc
]]></query>

例 9-44 FLOOR1 関数のストリーム入力

Timestamp   Tuple
  10        1,0.5,8
1000        4,0.7,6
1200        3,0.89,12
2000        8,0.4,4

例 9-45 FLOOR1 関数のストリーム出力

Timestamp   Tuple Kind  Tuple
  10:       +           0.0
1000:       +           0.0
1200:       +           0.0
2000:       +           0.0

HYPOT

構文

hypot.gif を説明する関連テキスト

目的

HYPOT は、double の引数の斜辺 (図 9-2 を参照) を double として返します。

図 9-2 java.lang.Math HYPOT 関数

図 9-2 を説明する関連テキスト

この関数は次の引数を使用します。

斜辺の計算は、中間のオーバーフローまたはアンダーフローなく行われます。

詳細については、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 に示すストリームを返します。

例 9-46 HYPOT 関数のクエリ

<query id="q82"><![CDATA[ 
    select hypot(c2,c2) from SFunc
]]></query>

例 9-47 HYPOT 関数のストリーム入力

Timestamp   Tuple
  10        1,0.5,8
1000        4,0.7,6
1200        3,0.89,12
2000        8,0.4,4

例 9-48 HYPOT 関数のストリーム出力

Timestamp   Tuple Kind  Tuple
  10:       +           0.70710677
1000:       +           0.98994946
1200:       +           1.2586501 
2000:       +           0.56568545

IEEEREMAINDER

構文

ieeeremainder.gif を説明する関連テキスト

目的

IEEEREMAINDER は、IEEE 754 標準の規定に従って 2 つの double の引数の剰余演算を行い、その結果を double として返します。

この関数は次の引数を使用します。

剰余値は、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 に示すストリームを返します。

例 9-49 IEEEREMAINDER 関数のクエリ

<query id="q72"><![CDATA[ 
    select IEEEremainder(c2,c2) from SFunc
]]></query>

例 9-50 IEEEREMAINDER 関数のストリーム入力

Timestamp   Tuple
  10        1,0.5,8
1000        4,0.7,6
1200        3,0.89,12
2000        8,0.4,4

例 9-51 IEEEREMAINDER 関数のストリーム出力

Timestamp   Tuple Kind  Tuple
  10:       +           0.0
1000:       +           0.0
1200:       +           0.0
2000:       +           0.0

LOG1

構文

log1.gif を説明する関連テキスト

目的

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 に示すストリームを返します。

例 9-52 LOG1 関数のクエリ

<query id="q83"><![CDATA[ 
    select log1(c2) from SFunc
]]></query>

例 9-53 LOG1 関数のストリーム入力

Timestamp   Tuple
  10        1,0.5,8
1000        4,0.7,6
1200        3,0.89,12
2000        8,0.4,4

例 9-54 LOG1 関数のストリーム出力

Timestamp   Tuple Kind  Tuple
  10:       +           -0.6931472 
1000:       +           -0.35667497
1200:       +           -0.11653383
2000:       +           -0.9162907 

LOG101

構文

log101.gif を説明する関連テキスト

目的

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 に示すストリームを返します。

例 9-55 LOG101 関数のクエリ

<query id="q84"><![CDATA[ 
    select log101(c2) from SFunc
]]></query>

例 9-56 LOG101 関数のストリーム入力

Timestamp   Tuple
  10        1,0.5,8
1000        4,0.7,6
1200        3,0.89,12
2000        8,0.4,4

例 9-57 LOG101 関数のストリーム出力

Timestamp   Tuple Kind  Tuple
  10:       +           -0.30103    
1000:       +           -0.15490197 
1200:       +           -0.050610002
2000:       +           -0.39794    

LOG1P

構文

log1p.gif を説明する関連テキスト

目的

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 に示すストリームを返します。

例 9-58 LOG1P 関数のクエリ

<query id="q85"><![CDATA[ 
    select log1p(c2) from SFunc
]]></query>

例 9-59 LOG1P 関数のストリーム入力

Timestamp   Tuple
  10        1,0.5,8
1000        4,0.7,6
1200        3,0.89,12
2000        8,0.4,4

例 9-60 LOG1P 関数のストリーム出力

Timestamp   Tuple Kind  Tuple
  10:       +           0.4054651 
1000:       +           0.53062826
1200:       +           0.63657683
2000:       +           0.33647224

POW

構文

pow.gif を説明する関連テキスト

目的

POW は、2 番目の double の引数を指数として累乗する最初の double の引数 (底) の値を double として返します。

この関数は次の引数を使用します。

詳細については、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 に示すストリームを返します。

例 9-61 POW 関数のクエリ

<query id="q65"><![CDATA[ 
    select pow(c2,c2) from SFunc
]]></query>

例 9-62 POW 関数のストリーム入力

Timestamp   Tuple
  10        1,0.5,8
1000        4,0.7,6
1200        3,0.89,12
2000        8,0.4,4

例 9-63 POW 関数のストリーム出力

Timestamp   Tuple Kind  Tuple
  10:       +           0.70710677
1000:       +           0.7790559 
1200:       +           0.9014821 
2000:       +           0.69314486

RINT

構文

rint.gif を説明する関連テキスト

目的

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 に示すストリームを返します。

例 9-64 RINT 関数のクエリ

<query id="q86"><![CDATA[ 
    select rint(c2) from SFunc
]]></query>

例 9-65 RINT 関数のストリーム入力

Timestamp   Tuple
  10        1,0.5,8
1000        4,0.7,6
1200        3,0.89,12
2000        8,0.4,4

例 9-66 RINT 関数のストリーム出力

Timestamp   Tuple Kind  Tuple
  10:       +           0.0
1000:       +           1.0
1200:       +           1.0
2000:       +           0.0

ROUND

構文

round.gif を説明する関連テキスト

目的

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 に示すストリームを返します。

例 9-67 ROUND 関数のクエリ

<query id="q87"><![CDATA[ 
    select round(c2) from SFunc
]]></query>

例 9-68 ROUND 関数のストリーム入力

Timestamp   Tuple
  10        1,0.5,8
1000        4,0.7,6
1200        3,0.89,12
2000        8,0.4,4

例 9-69 ROUND 関数のストリーム出力

Timestamp   Tuple Kind  Tuple
  10:       +           1
1000:       +           1
1200:       +           1
2000:       +           0

ROUND1

構文

round1.gif を説明する関連テキスト

目的

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 に示すストリームを返します。

例 9-70 ROUND1 関数のクエリ

<query id="q88"><![CDATA[ 
    select round1(c2) from SFunc
]]></query>

例 9-71 ROUND1 関数のストリーム入力

Timestamp   Tuple
  10        1,0.5,8
1000        4,0.7,6
1200        3,0.89,12
2000        8,0.4,4

例 9-72 ROUND1 関数のストリーム出力

Timestamp   Tuple Kind  Tuple
  10:       +           1
1000:       +           1
1200:       +           1
2000:       +           0

SIGNUM

構文

signum.gif を説明する関連テキスト

目的

SIGNUM は、double の引数の符号関数を double として返します。

詳細については、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 に示すストリームを返します。

例 9-73 SIGNUM 関数のクエリ

<query id="q70"><![CDATA[ 
    select signum(c2) from SFunc
]]></query>

例 9-74 SIGNUM 関数のストリーム入力

Timestamp   Tuple
  10        1,0.5,8
1000        4,-0.7,6
1200        3,-0.89,12
2000        8,0.4,4

例 9-75 SIGNUM 関数のストリーム出力

Timestamp   Tuple Kind  Tuple
  10:       +           1.0
1000:       +           -1.0
1200:       +           -1.0
2000:       +           1.0

SIGNUM1

構文

signum1.gif を説明する関連テキスト

目的

SIGNUM1 は、float の引数の符号関数を float として返します。

詳細については、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 に示すリレーションを返します。

例 9-76 SIGNUM1 関数のクエリ

<query id="q71"><![CDATA[ 
    select signum1(c2) from SFunc
]]></query>

例 9-77 SIGNUM1 関数のストリーム入力

Timestamp   Tuple
  10        1,0.5,8
1000        4,-0.7,6
1200        3,-0.89,12
2000        8,0.4,4

例 9-78 SIGNUM1 関数のリレーション出力

Timestamp   Tuple Kind  Tuple
  10:       +           1.0
1000:       +           -1.0
1200:       +           -1.0
2000:       +           1.0

SIN

構文

sin.gif を説明する関連テキスト

目的

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 に示すストリームを返します。

例 9-79 SIN 関数のクエリ

<query id="q60"><![CDATA[ 
    select sin(c2) from SFunc
]]></query>

例 9-80 SIN 関数のストリーム入力

Timestamp   Tuple
  10        1,0.5,8
1000        4,0.7,6
1200        3,0.89,12
2000        8,0.4,4

例 9-81 SIN 関数のストリーム出力

Timestamp   Tuple Kind  Tuple
  10:       +           0.47942555
1000:       +           0.64421767
1200:       +           0.7770717 
2000:       +           0.38941833

SINH

構文

sinh.gif を説明する関連テキスト

目的

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 に示すストリームを返します。

例 9-82 SINH 関数のクエリ

<query id="q89"><![CDATA[ 
    select sinh(c2) from SFunc
]]></query>

例 9-83 SINH 関数のストリーム入力

Timestamp   Tuple
  10        1,0.5,8
1000        4,0.7,6
1200        3,0.89,12
2000        8,0.4,4

例 9-84 SINH 関数のストリーム出力

Timestamp   Tuple Kind  Tuple
  10:       +           0.5210953 
1000:       +           0.75858366
1200:       +           1.012237  
2000:       +           0.41075233

SQRT

構文

sqrt.gif を説明する関連テキスト

目的

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 に示すストリームを返します。

例 9-85 SQRT 関数のクエリ

<query id="q64"><![CDATA[ 
    select sqrt(c2) from SFunc
]]></query>

例 9-86 SQRT 関数のストリーム入力

Timestamp   Tuple
  10        1,0.5,8
1000        4,0.7,6
1200        3,0.89,12
2000        8,0.4,4

例 9-87 SQRT 関数のストリーム出力

Timestamp   Tuple Kind  Tuple
  10:       +           0.70710677
1000:       +           0.83666   
1200:       +           0.9433981 
2000:       +           0.6324555 

TAN

構文

tan.gif を説明する関連テキスト

目的

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 に示すストリームを返します。

例 9-88 TAN 関数のクエリ

<query id="q62"><![CDATA[ 
    select tan(c2) from SFunc
]]></query>

例 9-89 TAN 関数のストリーム入力

Timestamp   Tuple
  10        1,0.5,8
1000        4,0.7,6
1200        3,0.89,12
2000        8,0.4,4

例 9-90 TAN 関数のストリーム出力

Timestamp   Tuple Kind  Tuple
  10:       +           0.5463025 
1000:       +           0.8422884 
1200:       +           1.2345995 
2000:       +           0.42279324

TANH

構文

tanh.gif を説明する関連テキスト

目的

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 に示すストリームを返します。

例 9-91 TANH 関数のクエリ

<query id="q90"><![CDATA[ 
    select tanh(c2) from SFunc
]]></query>

例 9-92 TANH 関数のストリーム入力

Timestamp   Tuple
  10        1,0.5,8
1000        4,0.7,6
1200        3,0.89,12
2000        8,0.4,4

例 9-93 TANH 関数のストリーム出力

Timestamp   Tuple Kind  Tuple
  10:       +           0.46211717
1000:       +           0.6043678 
1200:       +           0.7113937 
2000:       +           0.37994897

TODEGREES

構文

todegrees.gif を説明する関連テキスト

目的

TODEGREES は、ラジアン単位で測定される double の角度を、度数で測定されるほぼ等しい double の角度に変換します。

一般に、ラジアンから度数への変換は厳密ではありません。COS(TORADIANS(90.0))0.0 に等しいと見なさないようにしてください。

詳細については、以下を参照してください。

例 9-94 では q91 クエリを示しています。例 9-95 では、スキーマ (c1 integer, c2 double, c3 bigint) を持つデータ ストリーム SFunc を示しています。このクエリは、例 9-96 に示すストリームを返します。

例 9-94 TODEGREES 関数のクエリ

<query id="q91"><![CDATA[ 
    select toDegrees(c2) from SFunc
]]></query>

例 9-95 TODEGREES 関数のストリーム入力

Timestamp   Tuple
  10        1,0.5,8
1000        4,0.7,6
1200        3,0.89,12
2000        8,0.4,4

例 9-96 TODEGREES 関数のストリーム出力

Timestamp   Tuple Kind  Tuple
  10:       +           28.64789 
1000:       +           40.107044
1200:       +           50.993244
2000:       +           22.918312

TORADIANS

構文

toradians.gif を説明する関連テキスト

目的

TORADIANS は、度数で測定される double の角度を、ラジアン単位で測定されるほぼ等しい double の角度に変換します。

詳細については、以下を参照してください。

例 9-97 では q92 クエリを示しています。例 9-98 では、スキーマ (c1 integer, c2 double, c3 bigint) を持つデータ ストリーム SFunc を示しています。このクエリは、例 9-99 に示すストリームを返します。

例 9-97 TORADIANS 関数のクエリ

<query id="q92"><![CDATA[ 
    select toRadians(c2) from SFunc
]]></query>

例 9-98 TORADIANS 関数のストリーム入力

Timestamp   Tuple
  10        1,0.5,8
1000        4,0.7,6
1200        3,0.89,12
2000        8,0.4,4

例 9-99 TORADIANS 関数のストリーム出力

Timestamp   Tuple Kind  Tuple
  10:       +           0.008726646 
1000:       +           0.012217305 
1200:       +           0.0155334305
2000:       +           0.006981317 

ULP

構文

ulp.gif を説明する関連テキスト

目的

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 に示すストリームを返します。

例 9-100 ULP 関数のクエリ

<query id="q93"><![CDATA[ 
    select ulp(c2) from SFunc
]]></query>

例 9-101 ULP 関数のストリーム入力

Timestamp   Tuple
  10        1,0.5,8
1000        4,0.7,6
1200        3,0.89,12
2000        8,0.4,4

例 9-102 ULP 関数のストリーム出力

Timestamp   Tuple Kind  Tuple
  10:       +           1.110223E-16
1000:       +           1.110223E-16
1200:       +           1.110223E-16
2000:       +           5.551115E-17

ULP1

構文

ulp1.gif を説明する関連テキスト

目的

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 に示すリレーションを返します。

例 9-103 ULP1 関数のクエリ

<query id="q94"><![CDATA[ 
    select ulp1(c2) from SFunc
]]></query>

例 9-104 ULP1 関数のストリーム入力

Timestamp   Tuple
  10        1,0.5,8
1000        4,0.7,6
1200        3,0.89,12
2000        8,0.4,4

例 9-105 ULP1 関数のリレーション出力

Timestamp   Tuple Kind  Tuple
  10:       +           5.9604645E-8
1000:       +           5.9604645E-8
1200:       +           5.9604645E-8
2000:       +           2.9802322E-8