This chapter provides a reference to the java.lang.Math functions provided in Oracle Continuous Query Language (Oracle CQL).
For more information, see .
This chapter includes the following section:
java.lang.Math FunctionsTable 12-1 lists the built-in java.lang.Math functions that Oracle CQL provides.
| Table 12-1 Oracle CQL Built-in  
 | 
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 with h (such as h 3800) are heartbeat input tuples. These inform Oracle Event Processing that no further input will have a timestamp lesser than the heartbeat value.
For more information, see http://java.sun.com/javase/6/docs/api/java/lang/Math.html.
Syntax

Purpose
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).
Examples
Consider the query q66. Given the data stream SFunc with schema (c1 integer, c2 double, c3 bigint), the query returns the stream.
<query id="q66"><![CDATA[ 
    select abs(c1) from SFunc
]]></query>
Timestamp Tuple 10 1,0.5,8 1000 -4,0.7,6 1200 -3,0.89,12 2000 8,0.4,4
Timestamp Tuple Kind Tuple 10: + 1 1000: + 4 1200: + 3 2000: + 8
Syntax

Purpose
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).
Examples
Consider the query q67. Given the data stream SFunc with schema (c1 integer, c2 float, c3 long), the query returns the stream.
<query id="q67"><![CDATA[ 
    select abs1(c3) from SFunc
]]></query>
Timestamp Tuple 10 1,0.5,8 1000 4,0.7,-6 1200 3,0.89,-12 2000 8,0.4,4
Timestamp Tuple Kind Tuple 10: + 8 1000: + 6 1200: + 12 2000: + 4
Syntax

Purpose
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).
Examples
Consider the query q68. Given the data stream SFunc with schema (c1 integer, c2 float, c3 bigint), the query returns the stream.
<query id="q68"><![CDATA[ 
    select abs2(c2) from SFunc
]]></query>
Timestamp Tuple 10 1,0.5,8 1000 4,-0.7,6 1200 3,-0.89,12 2000 8,0.4,4
Timestamp Tuple Kind Tuple 10: + 0.5 1000: + 0.7 1200: + 0.89 2000: + 0.4
Syntax

Purpose
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).
Examples
Consider the query q69. Given the data stream SFunc with schema (c1 integer, c2 float, c3 bigint, c4 double), the query returns the stream.
<query id="q69"><![CDATA[ 
    select abs3(c4) from SFunc
]]></query>
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
Timestamp Tuple Kind Tuple 10: + 0.25334 1000: + 4.64322 1200: + 1.4672272 2000: + 2.66777
Syntax

Purpose
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).
Examples
Consider the query q73. Given the data stream SFunc with schema (c1 integer, c2 double, c3 bigint), the query returns the stream.
<query id="q73"><![CDATA[ 
    select acos(c2) from SFunc
]]></query>
Timestamp Tuple 10 1,0.5,8 1000 4,0.7,6 1200 3,0.89,12 2000 8,0.4,4
Timestamp Tuple Kind Tuple 10: + 1.0471976 1000: + 0.79539883 1200: + 0.4734512 2000: + 1.1592795
Syntax

Purpose
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).
Examples
Consider the query q74. Given the data stream SFunc with schema (c1 integer, c2 double, c3 bigint), the query returns the stream.
<query id="q74"><![CDATA[ 
    select asin(c2) from SFunc
]]></query>
Timestamp Tuple 10 1,0.5,8 1000 4,0.7,6 1200 3,0.89,12 2000 8,0.4,4
Timestamp Tuple Kind Tuple 10: + 0.5235988 1000: + 0.7753975 1200: + 1.0973451 2000: + 0.41151685
Syntax

Purpose
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).
Examples
Consider the query q75. Given the data stream SFunc with schema (c1 integer, c2 double, c3 bigint), the query returns the stream.
<query id="q75"><![CDATA[ 
    select atan(c2) from SFunc
]]></query>
Timestamp Tuple 10 1,0.5,8 1000 4,0.7,6 1200 3,0.89,12 2000 8,0.4,4
Timestamp Tuple Kind Tuple 10: + 0.4636476 1000: + 0.61072594 1200: + 0.7272627 2000: + 0.3805064
Syntax

Purpose
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).
Examples
Consider the query q63. Given the data stream SFunc with schema (c1 integer, c2 double, c3 bigint), the query returns the stream.
<query id="q63"><![CDATA[ 
    select atan2(c2,c2) from SFunc
]]></query>
Timestamp Tuple 10 1,0.5,8 1000 4,0.7,6 1200 3,0.89,12 2000 8,0.4,4
Timestamp Tuple Kind Tuple 10: + 0.7853982 1000: + 0.7853982 1200: + 0.7853982 2000: + 0.7853982
Syntax

Purpose
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).
Examples
Consider the query q76. Given the data stream SFunc with schema (c1 integer, c2 float, c3 bigint), the query returns the stream.
<query id="q76"><![CDATA[ 
    select cbrt(c2) from SFunc
]]></query>
Timestamp Tuple 10 1,0.5,8 1000 4,0.7,6 1200 3,0.89,12 2000 8,0.4,4
Timestamp Tuple Kind Tuple 10: + 0.7937005 1000: + 0.887904 1200: + 0.9619002 2000: + 0.73680633
Syntax

Purpose
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:
Examples
Consider the query q77. Given the data stream SFunc with schema (c1 integer, c2 double, c3 bigint), the query returns the stream.
<query id="q77"><![CDATA[ 
    select ceil1(c2) from SFunc
]]></query>
Timestamp Tuple 10 1,0.5,8 1000 4,0.7,6 1200 3,0.89,12 2000 8,0.4,4
Timestamp Tuple Kind Tuple 10: + 1.0 1000: + 1.0 1200: + 1.0 2000: + 1.0
Syntax

Purpose
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).
Examples
Consider the query q61. Given the data stream SFunc with schema (c1 integer, c2 double, c3 bigint), the query returns the stream.
<query id="q61"><![CDATA[ 
    select cos(c2) from SFunc
]]></query>
Timestamp Tuple 10 1,0.5,8 1000 4,0.7,6 1200 3,0.89,12 2000 8,0.4,4
Timestamp Tuple Kind Tuple 10: + 0.87758255 1000: + 0.7648422 1200: + 0.62941206 2000: + 0.921061
Syntax

Purpose
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).
Examples
Consider the query q78. Given the data stream SFunc with schema (c1 integer, c2 double, c3 bigint), the query returns the stream.
tkdata140.cqlx, data/inpSColtFunc.txt, log/outSColtcosh.txt
<query id="q78"><![CDATA[ 
    select cosh(c2) from SFunc
]]></query>
Timestamp Tuple 10 1,0.5,8 1000 4,0.7,6 1200 3,0.89,12 2000 8,0.4,4
Timestamp Tuple Kind Tuple 10: + 1.127626 1000: + 1.255169 1200: + 1.4228927 2000: + 1.0810723
Syntax

Purpose
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:
Examples
Consider the query q79. Given the data stream SFunc with schema (c1 integer, c2 double, c3 bigint), the query returns the stream.
<query id="q79"><![CDATA[ 
    select exp(c2) from SFunc
]]></query>
Timestamp Tuple 10 1,0.5,8 1000 4,0.7,6 1200 3,0.89,12 2000 8,0.4,4
Timestamp Tuple Kind Tuple 10: + 1.6487212 1000: + 2.0137527 1200: + 2.4351296 2000: + 1.4918247
Syntax

Purpose
expm1 returns the computation that Figure 12-1 shows as a double, where x is the double argument and e is Euler's number.
Figure 12-1 java.lang.Math Expm1

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:
Examples
Consider the query q80. Given the data stream SFunc with schema (c1 integer, c2 double, c3 bigint), the query returns the stream.
<query id="q80"><![CDATA[ 
    select expm1(c2) from SFunc
]]></query>
Timestamp Tuple 10 1,0.5,8 1000 4,0.7,6 1200 3,0.89,12 2000 8,0.4,4
Timestamp Tuple Kind Tuple 10: + 0.6487213 1000: + 1.0137527 1200: + 1.4351296 2000: + 0.49182472
Syntax

Purpose
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:
Examples
Consider the query q81. Given the data stream SFunc with schema (c1 integer, c2 double, c3 bigint), the query returns the stream.
<query id="q81"><![CDATA[ 
    select floor1(c2) from SFunc
]]></query>
Timestamp Tuple 10 1,0.5,8 1000 4,0.7,6 1200 3,0.89,12 2000 8,0.4,4
Timestamp Tuple Kind Tuple 10: + 0.0 1000: + 0.0 1200: + 0.0 2000: + 0.0
Syntax

Purpose
hypot returns the hypotenuse (see Figure 12-2) of the double arguments as a double.
Figure 12-2 java.lang.Math hypot

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).
Examples
Consider the query q82. Given the data stream SFunc with schema (c1 integer, c2 double, c3 bigint), the query returns the stream.
<query id="q82"><![CDATA[ 
    select hypot(c2,c2) from SFunc
]]></query>
Timestamp Tuple 10 1,0.5,8 1000 4,0.7,6 1200 3,0.89,12 2000 8,0.4,4
Timestamp Tuple Kind Tuple 10: + 0.70710677 1000: + 0.98994946 1200: + 1.2586501 2000: + 0.56568545
Syntax

Purpose
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).
Examples
Consider the query q72. Given the data stream SFunc with schema (c1 integer, c2 double, c3 bigint), the query returns the stream.
<query id="q72"><![CDATA[ 
    select IEEEremainder(c2,c2) from SFunc
]]></query>
Timestamp Tuple 10 1,0.5,8 1000 4,0.7,6 1200 3,0.89,12 2000 8,0.4,4
Timestamp Tuple Kind Tuple 10: + 0.0 1000: + 0.0 1200: + 0.0 2000: + 0.0
Syntax

Purpose
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:
Examples
Consider the query q83. Given the data stream SFunc with schema (c1 integer, c2 double, c3 bigint), the query returns the stream.
<query id="q83"><![CDATA[ 
    select log1(c2) from SFunc
]]></query>
Timestamp Tuple 10 1,0.5,8 1000 4,0.7,6 1200 3,0.89,12 2000 8,0.4,4
Timestamp Tuple Kind Tuple 10: + -0.6931472 1000: + -0.35667497 1200: + -0.11653383 2000: + -0.9162907
Syntax

Purpose
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).
Examples
Consider the query q84. Given the data stream SFunc with schema (c1 integer, c2 double, c3 bigint), the query returns the stream.
<query id="q84"><![CDATA[ 
    select log101(c2) from SFunc
]]></query>
Timestamp Tuple 10 1,0.5,8 1000 4,0.7,6 1200 3,0.89,12 2000 8,0.4,4
Timestamp Tuple Kind Tuple 10: + -0.30103 1000: + -0.15490197 1200: + -0.050610002 2000: + -0.39794
Syntax

Purpose
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:
Examples
Consider the query q85. Given the data stream SFunc with schema (c1 integer, c2 double, c3 bigint), the query returns the stream.
<query id="q85"><![CDATA[ 
    select log1p(c2) from SFunc
]]></query>
Timestamp Tuple 10 1,0.5,8 1000 4,0.7,6 1200 3,0.89,12 2000 8,0.4,4
Timestamp Tuple Kind Tuple 10: + 0.4054651 1000: + 0.53062826 1200: + 0.63657683 2000: + 0.33647224
Syntax

Purpose
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).
Examples
Consider the query q65. Given the data stream SFunc with schema (c1 integer, c2 double, c3 bigint), the query returns the stream.
<query id="q65"><![CDATA[ 
    select pow(c2,c2) from SFunc
]]></query>
Timestamp Tuple 10 1,0.5,8 1000 4,0.7,6 1200 3,0.89,12 2000 8,0.4,4
Timestamp Tuple Kind Tuple 10: + 0.70710677 1000: + 0.7790559 1200: + 0.9014821 2000: + 0.69314486
Syntax

Purpose
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).
Examples
Consider the query q86. Given the data stream SFunc with schema (c1 integer, c2 double, c3 bigint), the query returns the stream.
<query id="q86"><![CDATA[ 
    select rint(c2) from SFunc
]]></query>
Timestamp Tuple 10 1,0.5,8 1000 4,0.7,6 1200 3,0.89,12 2000 8,0.4,4
Timestamp Tuple Kind Tuple 10: + 0.0 1000: + 1.0 1200: + 1.0 2000: + 0.0
Syntax

Purpose
round returns the closest integer to the argument.
For more information, see http://java.sun.com/javase/6/docs/api/java/lang/Math.html#round(float).
Input/Output Types
The input/output types for this function are as follows:
| Input Type | Output Type | 
|---|---|
| DOUBLE | DOUBLE | 
| INTEGER | INTEGER | 
| FLOAT | FLOAT | 
| BIGINT | BIGINT | 
| BIGDECIMAL | BIGDECIMAL | 
Examples
Consider the query q87. Given the data stream SFunc with schema (c1 integer, c2 double, c3 bigint), the query returns the stream.
<query id="q87"><![CDATA[ 
    select round(c2) from SFunc
]]></query>
Timestamp Tuple 10 1,0.5,8 1000 4,0.7,6 1200 3,0.89,12 2000 8,0.4,4
Timestamp Tuple Kind Tuple 10: + 1 1000: + 1 1200: + 1 2000: + 0
Syntax

Purpose
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).
Examples
Consider the query q88. Given the data stream SFunc with schema (c1 integer, c2 double, c3 bigint), the query returns the stream.
<query id="q88"><![CDATA[ 
    select round1(c2) from SFunc
]]></query>
Timestamp Tuple 10 1,0.5,8 1000 4,0.7,6 1200 3,0.89,12 2000 8,0.4,4
Timestamp Tuple Kind Tuple 10: + 1 1000: + 1 1200: + 1 2000: + 0
Syntax

Purpose
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).
Examples
Consider the query q70. Given the data stream SFunc with schema (c1 integer, c2 double, c3 bigint), the query returns the stream.
<query id="q70"><![CDATA[ 
    select signum(c2) from SFunc
]]></query>
Timestamp Tuple 10 1,0.5,8 1000 4,-0.7,6 1200 3,-0.89,12 2000 8,0.4,4
Timestamp Tuple Kind Tuple 10: + 1.0 1000: + -1.0 1200: + -1.0 2000: + 1.0
Syntax

Purpose
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).
Examples
Consider the query q71. Given the data stream SFunc with schema (c1 integer, c2 double, c3 bigint), the query returns the relation.
<query id="q71"><![CDATA[ 
    select signum1(c2) from SFunc
]]></query>
Timestamp Tuple 10 1,0.5,8 1000 4,-0.7,6 1200 3,-0.89,12 2000 8,0.4,4
Timestamp Tuple Kind Tuple 10: + 1.0 1000: + -1.0 1200: + -1.0 2000: + 1.0
Syntax

Purpose
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).
Examples
Consider the query q60. Given the data stream SFunc with schema (c1 integer, c2 float, c3 bigint), the query returns the stream.
<query id="q60"><![CDATA[ 
    select sin(c2) from SFunc
]]></query>
Timestamp Tuple 10 1,0.5,8 1000 4,0.7,6 1200 3,0.89,12 2000 8,0.4,4
Timestamp Tuple Kind Tuple 10: + 0.47942555 1000: + 0.64421767 1200: + 0.7770717 2000: + 0.38941833
Syntax

Purpose
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).
Examples
Consider the query q89. Given the data stream SFunc with schema (c1 integer, c2 double, c3 bigint), the query returns the stream.
<query id="q89"><![CDATA[ 
    select sinh(c2) from SFunc
]]></query>
Timestamp Tuple 10 1,0.5,8 1000 4,0.7,6 1200 3,0.89,12 2000 8,0.4,4
Timestamp Tuple Kind Tuple 10: + 0.5210953 1000: + 0.75858366 1200: + 1.012237 2000: + 0.41075233
Syntax

Purpose
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).
Examples
Consider the query q64. Given the data stream SFunc with schema (c1 integer, c2 float, c3 bigint), the query returns the stream.
<query id="q64"><![CDATA[ 
    select sqrt(c2) from SFunc
]]></query>
Timestamp Tuple 10 1,0.5,8 1000 4,0.7,6 1200 3,0.89,12 2000 8,0.4,4
Timestamp Tuple Kind Tuple 10: + 0.70710677 1000: + 0.83666 1200: + 0.9433981 2000: + 0.6324555
Syntax

Purpose
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).
Examples
Consider the query q62. Given the data stream SFunc with schema (c1 integer, c2 double, c3 bigint), the query returns the stream.
<query id="q62"><![CDATA[ 
    select tan(c2) from SFunc
]]></query>
Timestamp Tuple 10 1,0.5,8 1000 4,0.7,6 1200 3,0.89,12 2000 8,0.4,4
Timestamp Tuple Kind Tuple 10: + 0.5463025 1000: + 0.8422884 1200: + 1.2345995 2000: + 0.42279324
Syntax

Purpose
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).
Examples
Consider the query q90. Given the data stream SFunc with schema (c1 integer, c2 double, c3 bigint), the query returns the stream.
<query id="q90"><![CDATA[ 
    select tanh(c2) from SFunc
]]></query>
Timestamp Tuple 10 1,0.5,8 1000 4,0.7,6 1200 3,0.89,12 2000 8,0.4,4
Timestamp Tuple Kind Tuple 10: + 0.46211717 1000: + 0.6043678 1200: + 0.7113937 2000: + 0.37994897
Syntax

Purpose
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:
Examples
Consider the query q91. Given the data stream SFunc with schema (c1 integer, c2 double, c3 bigint), the query returns the stream.
<query id="q91"><![CDATA[ 
    select todegrees(c2) from SFunc
]]></query>
Timestamp Tuple 10 1,0.5,8 1000 4,0.7,6 1200 3,0.89,12 2000 8,0.4,4
Timestamp Tuple Kind Tuple 10: + 28.64789 1000: + 40.107044 1200: + 50.993244 2000: + 22.918312
Syntax

Purpose
toradians converts a double angle measured in degrees to an approximately equivalent angle measured in radians as a double.
For more information, see:
Examples
Consider the query q92. Given the data stream SFunc with schema (c1 integer, c2 double, c3 bigint), the query returns the stream.
<query id="q92"><![CDATA[ 
    select toradians(c2) from SFunc
]]></query>
Timestamp Tuple 10 1,0.5,8 1000 4,0.7,6 1200 3,0.89,12 2000 8,0.4,4
Timestamp Tuple Kind Tuple 10: + 0.008726646 1000: + 0.012217305 1200: + 0.0155334305 2000: + 0.006981317
Syntax

Purpose
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).
Examples
Consider the query q93. Given the data stream SFunc with schema (c1 integer, c2 double, c3 bigint), the query returns the stream.
<query id="q93"><![CDATA[ 
    select ulp(c2) from SFunc
]]></query>
Timestamp Tuple 10 1,0.5,8 1000 4,0.7,6 1200 3,0.89,12 2000 8,0.4,4
Timestamp Tuple Kind Tuple 10: + 1.110223E-16 1000: + 1.110223E-16 1200: + 1.110223E-16 2000: + 5.551115E-17
Syntax

Purpose
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).
Examples
Consider the query q94. Given the data stream SFunc with schema (c1 integer, c2 double, c3 bigint), the query returns the relation.
<query id="q94"><![CDATA[ 
    select ulp1(c2) from SFunc
]]></query>
Timestamp Tuple 10 1,0.5,8 1000 4,0.7,6 1200 3,0.89,12 2000 8,0.4,4
Timestamp Tuple Kind Tuple 10: + 5.9604645E-8 1000: + 5.9604645E-8 1200: + 5.9604645E-8 2000: + 2.9802322E-8