diff options
author | Bruce Momjian | 2002-08-29 23:03:58 +0000 |
---|---|---|
committer | Bruce Momjian | 2002-08-29 23:03:58 +0000 |
commit | 32784cddf1da985b736d91402ad3eb22136751cc (patch) | |
tree | 41b9fcb5d30a89137ad0f811af0fb4599e8efb80 /contrib/cube/README.cube | |
parent | 6d27cfdd894af3a428fd9a540dbac576978319f5 (diff) |
The changes I have made are described in CHANGES. This was based on
diffs to 7.3-devel and may not be applicable to 7.2. I have included a
change covered by a previous bugfix patch I submitted (the problem with
-.1 not being accepted by cube_in). It does not include a fix for the
potential buffer overrun issue I reported for cube_yyerror in
cubeparse.y.
Bruno Wolff III
Diffstat (limited to 'contrib/cube/README.cube')
-rw-r--r-- | contrib/cube/README.cube | 52 |
1 files changed, 49 insertions, 3 deletions
diff --git a/contrib/cube/README.cube b/contrib/cube/README.cube index cba90f67448..6cd57ab3534 100644 --- a/contrib/cube/README.cube +++ b/contrib/cube/README.cube @@ -99,7 +99,7 @@ Tokens n [0-9]+ integer [+-]?{n} -real [+-]?({n}\.{n}?)|(\.{n}) +real [+-]?({n}\.{n}?|\.{n}) FLOAT ({integer}|{real})([eE]{integer})? O_BRACKET \[ C_BRACKET \] @@ -182,8 +182,8 @@ t PRECISION ========= -Values are stored internally as 32-bit floating point numbers. This means that -numbers with more than 7 significant digits will be truncated. +Values are stored internally as 64-bit floating point numbers. This means that +numbers with more than about 16 significant digits will be truncated. USAGE @@ -253,6 +253,44 @@ Other operators: reasonably good sorting in most cases, which is useful if you want to use ORDER BY with this type +The following functions are available: + +cube_distance(cube, cube) returns double + cube_distance returns the distance between two cubes. If both cubes are + points, this is the normal distance function. + +cube(text) returns cube + cube takes text input and returns a cube. This is useful for making cubes + from computed strings. + +cube_dim(cube) returns int + cube_dim returns the number of dimensions stored in the the data structure + for a cube. This is useful for constraints on the dimensions of a cube. + +cube_ll_coord(cube, int) returns double + cube_ll_coord returns the nth coordinate value for the lower left corner + of a cube. This is useful for doing coordinate transformations. + +cube_ur_coord(cube, int) returns double + cube_ur_coord returns the nth coordinate value for the upper right corner + of a cube. This is useful for doing coordinate transformations. + +cube_is_point(cube) returns bool + cube_is_point returns true if a cube is also a point. This is true when the + two defining corners are the same. + +cube_enlarge(cube, double, int) returns cube + cube_enlarge increases the size of a cube by a specified radius in at least + n dimensions. If the radius is negative the box is shrunk instead. This + is useful for creating bounding boxes around a point for searching for + nearby points. All defined dimensions are changed by the radius. If n + is greater than the number of defined dimensions and the cube is being + increased (r >= 0) then 0 is used as the base for the extra coordinates. + LL coordinates are decreased by r and UR coordinates are increased by r. If + a LL coordinate is increased to larger than the corresponding UR coordinate + (this can only happen when r < 0) than both coordinates are set to their + average. + There are a few other potentially useful functions defined in cube.c that vanished from the schema because I stopped using them. Some of these were meant to support type casting. Let me know if I was wrong: @@ -287,3 +325,11 @@ Building 221 Argonne, IL 60439-4844 selkovjr@mcs.anl.gov + +------------------------------------------------------------------------ + +Minor updates to this package were made by Bruno Wolff III <bruno@wolff.to> +in August of 2002. + +These include changing the precision from single precision to double +precision and adding some new functions. |