Oracle CQL provides a variety of built-in functions based on the java.lang.Math
class.
For more information, see Section 1.1.11, "Functions".
Table 12-1 lists the built-in
java.lang.Math
functions that Oracle CQL provides.
Table 12-1 Oracle CQL Built-in java.lang.Math Functions
Type | Function |
---|---|
Trigonometric |
|
Logarithmic |
|
Euler's Number |
|
Roots |
|
Signum Function |
|
Unit of Least Precision |
|
Other |
Note:
Built-in function names are case sensitive and you must use them in the case shown (in lower case).Note:
In stream input examples, lines beginning withh
(such as h 3800
) are heartbeat input tuples. These inform Oracle CEP that no further input will have a timestamp lesser than the heartbeat value.For more information, see:
abs
returns the absolute value of the input integer
argument as an integer
.
For more information, see http://java.sun.com/javase/6/docs/api/java/lang/Math.html#abs(int)
.
Consider the query q66
in Example 12-1. Given the data stream
SFunc
with schema (c1 integer, c2 double, c3 bigint)
in Example 12-2, the query returns the stream in Example 12-3
.
abs1
returns the absolute value of the input long
argument as a long
.
For more information, see http://java.sun.com/javase/6/docs/api/java/lang/Math.html#abs(long)
.
Consider the query q67
in Example 12-4. Given the data stream
SFunc
with schema (c1 integer, c2 float, c3 long)
in Example 12-5, the query returns the stream in Example 12-6
.
abs2
returns the absolute value of the input float
argument as a float
.
For more information, see http://java.sun.com/javase/6/docs/api/java/lang/Math.html#abs(float)
.
Consider the query q68
in Example 12-7. Given the data stream
SFunc
with schema (c1 integer, c2 float, c3 bigint)
in Example 12-8, the query returns the stream in Example 12-9
.
abs3
returns the absolute value of the input double
argument as a double
.
For more information, see http://java.sun.com/javase/6/docs/api/java/lang/Math.html#abs(double)
.
Consider the query q69
in Example 12-10. Given the data stream
SFunc
with schema (c1 integer, c2 float, c3 bigint, c4 double)
in Example 12-11, the query returns the stream in Example 12-12
.
acos
returns the arc cosine of a double
angle, in the range of 0.0
through pi
, as a double
.
For more information, see http://java.sun.com/javase/6/docs/api/java/lang/Math.html#acos(double)
.
Consider the query q73
in Example 12-13. Given the data stream
SFunc
with schema (c1 integer, c2 double, c3 bigint)
in Example 12-14, the query returns the stream in Example 12-15
.
asin
returns the arc sine of a double
angle, in the range of -pi/2
through pi/2
, as a double
.
For more information, see http://java.sun.com/javase/6/docs/api/java/lang/Math.html#asin(double)
.
Consider the query q74
in Example 12-16. Given the data stream
SFunc
with schema (c1 integer, c2 double, c3 bigint)
in Example 12-17, the query returns the stream in Example 12-18
.
atan
returns the arc tangent of a double
angle, in the range of -pi/2
through pi/2,
as a double
.
For more information, see http://java.sun.com/javase/6/docs/api/java/lang/Math.html#atan(double)
.
Consider the query q75
in Example 12-19. Given the data stream
SFunc
with schema (c1 integer, c2 double, c3 bigint)
in Example 12-20, the query returns the stream in Example 12-21
.
atan2
converts rectangular coordinates (x,y
) to polar (r,theta
) coordinates.
This function takes the following arguments:
double1
: the ordinate coordinate.
double2
: the abscissa coordinate.
This function returns the theta component of the point (r,theta
) in polar coordinates that corresponds to the point (x,y
) in Cartesian coordinates as a double
.
For more information, see http://java.sun.com/javase/6/docs/api/java/lang/Math.html#atan2(double,%20double)
.
Consider the query q63
in Example 12-22. Given the data stream
SFunc
with schema (c1 integer, c2 double, c3 bigint)
in Example 12-23, the query returns the stream in Example 12-24
.
Example 12-22 atan2 Function Query
<query id="q63"><![CDATA[ select atan2(c2,c2) from SFunc ]]></query>
cbrt
returns the cube root of the double
argument as a double
.
For positive finite a
, cbrt(-a) == -cbrt(a)
; that is, the cube root of a negative value is the negative of the cube root of that value's magnitude.
For more information, see http://java.sun.com/javase/6/docs/api/java/lang/Math.html#cbrt(double)
.
Consider the query q76
in Example 12-25. Given the data stream
SFunc
with schema (c1 integer, c2 float, c3 bigint)
in Example 12-26, the query returns the stream in Example 12-27
.
ceil1
returns the smallest (closest to negative infinity) double
value that is greater than or equal to the double
argument and equals a mathematical integer.
To avoid possible rounding error, consider using (long) cern.jet.math.Arithmetic.ceil(double)
.
For more information, see:
Consider the query q77
in Example 12-28. Given the data stream
SFunc
with schema (c1 integer, c2 double, c3 bigint)
in Example 12-29, the query returns the stream in Example 12-30
.
Example 12-28 ceil1 Function Query
<query id="q77"><![CDATA[ select ceil1(c2) from SFunc ]]></query>
cos
returns the trigonometric cosine of a double
angle as a double
.
For more information, see http://java.sun.com/javase/6/docs/api/java/lang/Math.html#cos(double)
.
Consider the query q61
in Example 12-31. Given the data stream
SFunc
with schema (c1 integer, c2 double, c3 bigint)
in Example 12-32, the query returns the stream in Example 12-33
.
cosh
returns the hyperbolic cosine of a double
value as a double
.
For more information, see http://java.sun.com/javase/6/docs/api/java/lang/Math.html#cosh(double)
.
Consider the query q78
in Example 12-34. Given the data stream
SFunc
with schema (c1 integer, c2 double, c3 bigint)
in Example 12-35, the query returns the stream in Example 12-36
.
exp
returns Euler's number e raised to the power of the double
argument as a double
.
Note that for values of x
near 0, the exact sum of expm1(x) + 1
is much closer to the true result of Euler's number e raised to the power of x
than EXP(x)
.
For more information, see:
Consider the query q79
in Example 12-37. Given the data stream
SFunc
with schema (c1 integer, c2 double, c3 bigint)
in Example 12-38, the query returns the stream in Example 12-39
.
expm1
returns the computation that Figure 12-1 shows as a
double
, where x
is the double
argument and e is Euler's number.
Note that for values of x
near 0, the exact sum of expm1(x) + 1
is much closer to the true result of Euler's number e raised to the power of x
than exp(x)
.
For more information, see:
Consider the query q80
in Example 12-40. Given the data stream
SFunc
with schema (c1 integer, c2 double, c3 bigint)
in Example 12-41, the query returns the stream in Example 12-42
.
Example 12-40 expm1 Function Query
<query id="q80"><![CDATA[ select expm1(c2) from SFunc ]]></query>
floor1
returns the largest (closest to positive infinity) double
value that is less than or equal to the double
argument and equals a mathematical integer.
To avoid possible rounding error, consider using (long) cern.jet.math.Arithmetic.floor(double)
.
For more information, see:
Consider the query q81
in Example 12-43. Given the data stream
SFunc
with schema (c1 integer, c2 double, c3 bigint)
in Example 12-44, the query returns the stream in Example 12-45
.
Example 12-43 floor1 Function Query
<query id="q81"><![CDATA[ select floor1(c2) from SFunc ]]></query>
hypot
returns the hypotenuse (see Figure 12-2) of the
double
arguments as a double
.
This function takes the following arguments:
double1
: the x
value.
double2
: the y
value.
The hypotenuse is computed without intermediate overflow or underflow.
For more information, see http://java.sun.com/javase/6/docs/api/java/lang/Math.html#hypot(double,%20double)
.
Consider the query q82
in Example 12-46. Given the data stream
SFunc
with schema (c1 integer, c2 double, c3 bigint)
in Example 12-47, the query returns the stream in Example 12-48
.
Example 12-46 hypot Function Query
<query id="q82"><![CDATA[ select hypot(c2,c2) from SFunc ]]></query>
ieeeremainder
computes the remainder operation on two double
arguments as prescribed by the IEEE 754 standard and returns the result as a double
.
This function takes the following arguments:
double1
: the dividend.
double2
: the divisor.
The remainder value is mathematically equal to f1 - f2 × n
, where n
is the mathematical integer closest to the exact mathematical value of the quotient f1/f2
, and if two mathematical integers are equally close to f1/f2
, then n
is the integer that is even. If the remainder is zero, its sign is the same as the sign of the first argument.
For more information, see http://java.sun.com/javase/6/docs/api/java/lang/Math.html#IEEEremainder(double,%20double)
.
Consider the query q72
in Example 12-49. Given the data stream
SFunc
with schema (c1 integer, c2 double, c3 bigint)
in Example 12-50, the query returns the stream in Example 12-51
.
Example 12-49 ieeeremainder Function Query
<query id="q72"><![CDATA[ select ieeeremainder(c2,c2) from SFunc ]]></query>
log1
returns the natural logarithm (base e) of a double
value as a double
.
Note that for small values x
, the result of log1p(x)
is much closer to the true result of ln(1 + x)
than the floating-point evaluation of log(1.0+x)
.
For more information, see:
Consider the query q83
in Example 12-52. Given the data stream
SFunc
with schema (c1 integer, c2 double, c3 bigint)
in Example 12-53, the query returns the stream in Example 12-54
.
log101
returns the base 10 logarithm of a double
value as a double
.
For more information, see http://java.sun.com/javase/6/docs/api/java/lang/Math.html#log10(double)
.
Consider the query q84
in Example 12-55. Given the data stream
SFunc
with schema (c1 integer, c2 double, c3 bigint)
in Example 12-56, the query returns the stream in Example 12-57
.
Example 12-55 log101 Function Query
<query id="q84"><![CDATA[ select log101(c2) from SFunc ]]></query>
log1p
returns the natural logarithm of the sum of the double
argument and 1 as a double
.
Note that for small values x
, the result of log1p(x)
is much closer to the true result of ln(1 + x)
than the floating-point evaluation of log(1.0+x)
.
For more information, see:
Consider the query q85
in Example 12-58. Given the data stream
SFunc
with schema (c1 integer, c2 double, c3 bigint)
in Example 12-59, the query returns the stream in Example 12-60
.
Example 12-58 log1p Function Query
<query id="q85"><![CDATA[ select log1p(c2) from SFunc ]]></query>
pow
returns the value of the first double
argument (the base) raised to the power of the second double
argument (the exponent) as a double
.
This function takes the following arguments:
double1
: the base.
double2
: the exponent.
For more information, see http://java.sun.com/javase/6/docs/api/java/lang/Math.html#pow(double,%20double)
.
Consider the query q65
in Example 12-61. Given the data stream
SFunc
with schema (c1 integer, c2 double, c3 bigint)
in Example 12-62, the query returns the stream in Example 12-63
.
rint
returns the double
value that is closest in value to the double
argument and equals a mathematical integer. If two double
values that are mathematical integers are equally close, the result is the integer value that is even.
For more information, see http://java.sun.com/javase/6/docs/api/java/lang/Math.html#rint(double)
.
Consider the query q86
in Example 12-64. Given the data stream
SFunc
with schema (c1 integer, c2 double, c3 bigint)
in Example 12-65, the query returns the stream in Example 12-66
.
round
returns the closest integer
to the float
argument.
For more information, see http://java.sun.com/javase/6/docs/api/java/lang/Math.html#round(float)
.
Consider the query q87
in Example 12-67. Given the data stream
SFunc
with schema (c1 integer, c2 double, c3 bigint)
in Example 12-68, the query returns the stream in Example 12-69
.
Example 12-67 round Function Query
<query id="q87"><![CDATA[ select round(c2) from SFunc ]]></query>
round1
returns the closest integer
to the float
argument.
For more information, see http://java.sun.com/javase/6/docs/api/java/lang/Math.html#round(float)
.
Consider the query q88
in Example 12-70. Given the data stream
SFunc
with schema (c1 integer, c2 double, c3 bigint)
in Example 12-71, the query returns the stream in Example 12-72
.
Example 12-70 round1 Function Query
<query id="q88"><![CDATA[ select round1(c2) from SFunc ]]></query>
signum
returns the signum function of the double
argument as a double
:
zero if the argument is zero
1.0 if the argument is greater than zero
-1.0 if the argument is less than zero
For more information, see http://java.sun.com/javase/6/docs/api/java/lang/Math.html#signum(double)
.
Consider the query q70
in Example 12-73. Given the data stream
SFunc
with schema (c1 integer, c2 double, c3 bigint)
in Example 12-74, the query returns the stream in Example 12-75
.
Example 12-73 signum Function Query
<query id="q70"><![CDATA[ select signum(c2) from SFunc ]]></query>
signum1
returns the signum function of the float
argument as a float
:
zero if the argument is zero
1.0 if the argument is greater than zero
-1.0 if the argument is less than zero
For more information, see http://java.sun.com/javase/6/docs/api/java/lang/Math.html#signum(float)
.
Consider the query q71
in Example 12-76. Given the data stream
SFunc
with schema (c1 integer, c2 double, c3 bigint)
in Example 12-77, the query returns the relation in Example 12-78
.
Example 12-76 signum1 Function Query
<query id="q71"><![CDATA[ select signum1(c2) from SFunc ]]></query>
sin
returns the trigonometric sine of a double
angle as a double
.
For more information, see http://java.sun.com/javase/6/docs/api/java/lang/Math.html#sin(double)
.
Consider the query q60
in Example 12-79. Given the data stream
SFunc
with schema (c1 integer
, c2 float
, c3 bigint
) in Example 12-80, the query returns the stream in Example 12-81
.
sinh
returns the hyperbolic sine of a double
value as a double
.
For more information, see http://java.sun.com/javase/6/docs/api/java/lang/Math.html#sinh(double)
.
Consider the query q89
in Example 12-82. Given the data stream
SFunc
with schema (c1 integer, c2 double, c3 bigint)
in Example 12-83, the query returns the stream in Example 12-84
.
sqrt
returns the correctly rounded positive square root of a double
value as a double
.
For more information, see http://java.sun.com/javase/6/docs/api/java/lang/Math.html#sqrt(double)
.
Consider the query q64
in Example 12-85. Given the data stream
SFunc
with schema (c1 integer
, c2 float
, c3 bigint
) in Example 12-86, the query returns the stream in Example 12-87
.
tan
returns the trigonometric tangent of a double
angle as a double
.
For more information, see http://java.sun.com/javase/6/docs/api/java/lang/Math.html#tan(double)
.
Consider the query q62
in Example 12-88. Given the data stream
SFunc
with schema (c1 integer, c2 double, c3 bigint)
in Example 12-89, the query returns the stream in Example 12-90
.
tanh
returns the hyperbolic tangent of a double
value as a double
.
For more information, see http://java.sun.com/javase/6/docs/api/java/lang/Math.html#tanh(double)
.
Consider the query q90
in Example 12-91. Given the data stream
SFunc
with schema (c1 integer, c2 double, c3 bigint)
in Example 12-92, the query returns the stream in Example 12-93
.
todegrees
converts a double
angle measured in radians to an approximately equivalent angle measured in degrees as a double
.
The conversion from radians to degrees is generally inexact; do not expect COS(TORADIANS(90.0))
to exactly equal 0.0
.
For more information, see:
Consider the query q91
in Example 12-94. Given the data stream
SFunc
with schema (c1 integer, c2 double, c3 bigint)
in Example 12-95, the query returns the stream in Example 12-96
.
Example 12-94 todegrees Function Query
<query id="q91"><![CDATA[ select todegrees(c2) from SFunc ]]></query>
toradians
converts a double
angle measured in degrees to an approximately equivalent angle measured in radians as a double
.
For more information, see:
Consider the query q92
in Example 12-97. Given the data stream
SFunc
with schema (c1 integer, c2 double, c3 bigint)
in Example 12-98, the query returns the stream in Example 12-99
.
Example 12-97 toradians Function Query
<query id="q92"><![CDATA[ select toradians(c2) from SFunc ]]></query>
ulp
returns the size of an ulp of the double
argument as a double
. In this case, an ulp of the argument value is the positive distance between this floating-point value and the double value next larger in magnitude.
For more information, see http://java.sun.com/javase/6/docs/api/java/lang/Math.html#ulp(double)
.
Consider the query q93
in Example 12-100. Given the data stream
SFunc
with schema (c1 integer, c2 double, c3 bigint)
in Example 12-101, the query returns the stream in Example 12-102
.
ulp1
returns the size of an ulp of the float
argument as a float
. An ulp of a float value is the positive distance between this floating-point value and the float value next larger in magnitude.
For more information, see http://java.sun.com/javase/6/docs/api/java/lang/Math.html#ulp(float)
.
Consider the query q94
in Example 12-103. Given the data stream
SFunc
with schema (c1 integer, c2 double, c3 bigint)
in Example 12-104, the query returns the relation in Example 12-105
.