10000 Update cube.c · fantomancer/postgres@6349798 · GitHub
[go: up one dir, main page]

Skip to content

Commit 6349798

Browse files
authored
Update cube.c
1 parent 14317b8 commit 6349798

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

contrib/cube/cube.c

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -874,19 +874,28 @@ cube_size(PG_FUNCTION_ARGS)
874874
}
875875

876876
void
877-
rt_cube_perimeter(NDBOX *a, double *size)
877+
rt_cube_size(NDBOX *a, double *size)
878878
{
879+
double result;
879880
int i;
880881

881882
if (a == (NDBOX *) NULL)
882-
*size = 0.0;
883+
{
884+
/* special case for GiST */
885+
result = 0.0;
886+
}
887+
else if (IS_POINT(a) || DIM(a) == 0)
888+
{
889+
/* necessarily has zero size */
890+
result = 0.0;
891+
}
883892
else
884893
{
885-
*size = 0.0;
894+
result = 1.0;
886895
for (i = 0; i < DIM(a); i++)
887-
*size = (*size) + Abs(UR_COORD(a, i) - LL_COORD(a, i));
896+
result *= Abs(UR_COORD(a, i) - LL_COORD(a, i));
888897
}
889-
return;
898+
*size = result;
890899
}
891900

892901

0 commit comments

Comments
 (0)
0