Skip to content

Commit ba50fcb

Browse files
author
stepan-neretin7
committed
Return value from function, which should return angle must be float, not pointer
1 parent 2c4cd20 commit ba50fcb

File tree

7 files changed

+192
-7
lines changed

7 files changed

+192
-7
lines changed

Diff for: Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
PGSPHERE_VERSION = 1.2.2
1+
PGSPHERE_VERSION = 1.2.3
22
EXTENSION = pg_sphere
33
RELEASE_SQL = $(EXTENSION)--$(PGSPHERE_VERSION).sql
44
USE_PGXS = 1

Diff for: expected/euler.out

+138
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,141 @@ SELECT strans '-40d,0d,40d,ZZZ' <> '-40d,0d,40d,XXX' ;
1717
f
1818
(1 row)
1919

20+
SELECT strans ( 20.0*pi()/180.0, -270.0*pi()/180.0, 70.5*pi()/180.0, 'XZY' );
21+
strans
22+
---------------------------------------
23+
0.34906585, 1.5707963, 1.2304571, XZY
24+
(1 row)
25+
26+
SELECT theta( strans ( 20.0*pi()/180.0, -270.0*pi()/180.0, 70.5*pi()/180.0, 'XZY' ) );
27+
theta
28+
---------------
29+
1.57079632679
30+
(1 row)
31+
32+
SELECT psi( strans ( 20.0*pi()/180.0, -270.0*pi()/180.0, 70.5*pi()/180.0, 'XZY' ) );
33+
psi
34+
---------------
35+
1.23045712266
36+
(1 row)
37+
38+
SELECT phi( strans ( 20.0*pi()/180.0, -270.0*pi()/180.0, 70.5*pi()/180.0, 'XZY' ) );
39+
phi
40+
----------------
41+
0.349065850399
42+
(1 row)
43+
44+
SELECT theta( strans( '20d, 30d, 40d, XZY' ) );
45+
theta
46+
----------------
47+
0.523598775598
48+
(1 row)
49+
50+
SELECT psi( strans( '20d, 30d, 40d, XZY' ) );
51+
psi
52+
----------------
53+
0.698131700798
54+
(1 row)
55+
56+
SELECT phi( strans( '20d, 30d, 40d, XZY' ) );
57+
phi
58+
----------------
59+
0.349065850399
60+
(1 row)
61+
62+
SELECT strans( '2d 20m, 10d, 0' );
63+
strans
64+
---------------------------------
65+
0.040724349, 0.17453293, 0, ZXZ
66+
(1 row)
67+
68+
SELECT theta( strans( '2d 20m, 10d, 0' ) );
69+
theta
70+
----------------
71+
0.174532925199
72+
(1 row)
73+
74+
SELECT psi( strans( '2d 20m, 10d, 0' ) );
75+
psi
76+
-----
77+
0
78+
(1 row)
79+
80+
SELECT phi( strans( '2d 20m, 10d, 0' ) );
81+
phi
82+
-----------------
83+
0.0407243492132
84+
(1 row)
85+
86+
SELECT strans ( '10d, 90d, 270d, ZXZ' );
87+
strans
88+
--------------------------------------
89+
0.17453293, 1.5707963, 4.712389, ZXZ
90+
(1 row)
91+
92+
SELECT theta( strans ( '10d, 90d, 270d, ZXZ' ) );
93+
theta
94+
---------------
95+
1.57079632679
96+
(1 row)
97+
98+
SELECT psi( strans ( '10d, 90d, 270d, ZXZ' ) );
99+
psi
100+
---------------
101+
4.71238898038
102+
(1 row)
103+
104+
SELECT phi( strans ( '10d, 90d, 270d, ZXZ' ) );
105+
phi
106+
----------------
107+
0.174532925199
108+
(1 row)
109+
110+
SELECT - strans ( '20d, 50d, 80d, XYZ' );
111+
?column?
112+
--------------------------------------
113+
4.8869219, 5.4105207, 5.9341195, ZYX
114+
(1 row)
115+
116+
SELECT theta( - strans ( '20d, 50d, 80d, XYZ' ) );
117+
theta
118+
-----------------
119+
-0.872664625997
120+
(1 row)
121+
122+
SELECT psi( - strans ( '20d, 50d, 80d, XYZ' ) );
123+
psi
124+
-----------------
125+
-0.349065850399
126+
(1 row)
127+
128+
SELECT phi( - strans ( '20d, 50d, 80d, XYZ' ) );
129+
phi
130+
---------------
131+
-1.3962634016
132+
(1 row)
133+
134+
SELECT strans( '90d, 60d, 30d' );
135+
strans
136+
---------------------------------------
137+
1.5707963, 1.0471976, 0.52359878, ZXZ
138+
(1 row)
139+
140+
SELECT theta( strans( '90d, 60d, 30d' ) );
141+
theta
142+
--------------
143+
1.0471975512
144+
(1 row)
145+
146+
SELECT psi( strans( '90d, 60d, 30d' ) );
147+
psi
148+
----------------
149+
0.523598775598
150+
(1 row)
151+
152+
SELECT phi( strans( '90d, 60d, 30d' ) );
153+
phi
154+
---------------
155+
1.57079632679
156+
(1 row)
157+

Diff for: expected/init.out

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@ CREATE EXTENSION pg_sphere;
66
select pg_sphere_version();
77
pg_sphere_version
88
-------------------
9-
1.2.2
9+
1.2.3
1010
(1 row)
1111

Diff for: pg_sphere--1.2.3.sql.in

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
-- complain if this script is run via psql
2+
\echo Use "CREATE EXTENSION pg_sphere" to load this file. \quit

Diff for: pg_sphere.control

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# pg_sphere extension
22
comment = 'spherical objects with useful functions, operators and index support'
3-
default_version = '1.2.2'
3+
default_version = '1.2.3'
44
module_pathname = '$libdir/pg_sphere'
55
relocatable = true

Diff for: sql/euler.sql

+46
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,55 @@
11
\set ECHO none
22
SELECT set_sphere_output_precision(8);
3+
SET extra_float_digits TO -3;
34
\set ECHO all
45

56
-- checking Euler transformation operators
67

78
SELECT strans '-10d,0d,10d,ZZZ' = '-10d,0d,10d,XXX' ;
89
SELECT strans '-40d,0d,40d,ZZZ' <> '-40d,0d,40d,XXX' ;
910

11+
SELECT strans ( 20.0*pi()/180.0, -270.0*pi()/180.0, 70.5*pi()/180.0, 'XZY' );
12+
13+
SELECT theta( strans ( 20.0*pi()/180.0, -270.0*pi()/180.0, 70.5*pi()/180.0, 'XZY' ) );
14+
15+
SELECT psi( strans ( 20.0*pi()/180.0, -270.0*pi()/180.0, 70.5*pi()/180.0, 'XZY' ) );
16+
17+
SELECT phi( strans ( 20.0*pi()/180.0, -270.0*pi()/180.0, 70.5*pi()/180.0, 'XZY' ) );
18+
19+
SELECT theta( strans( '20d, 30d, 40d, XZY' ) );
20+
21+
SELECT psi( strans( '20d, 30d, 40d, XZY' ) );
22+
23+
SELECT phi( strans( '20d, 30d, 40d, XZY' ) );
24+
25+
SELECT strans( '2d 20m, 10d, 0' );
26+
27+
SELECT theta( strans( '2d 20m, 10d, 0' ) );
28+
29+
SELECT psi( strans( '2d 20m, 10d, 0' ) );
30+
31+
SELECT phi( strans( '2d 20m, 10d, 0' ) );
32+
33+
SELECT strans ( '10d, 90d, 270d, ZXZ' );
34+
35+
SELECT theta( strans ( '10d, 90d, 270d, ZXZ' ) );
36+
37+
SELECT psi( strans ( '10d, 90d, 270d, ZXZ' ) );
38+
39+
SELECT phi( strans ( '10d, 90d, 270d, ZXZ' ) );
40+
41+
SELECT - strans ( '20d, 50d, 80d, XYZ' );
42+
43+
SELECT theta( - strans ( '20d, 50d, 80d, XYZ' ) );
44+
45+
SELECT psi( - strans ( '20d, 50d, 80d, XYZ' ) );
46+
47+
SELECT phi( - strans ( '20d, 50d, 80d, XYZ' ) );
48+
49+
SELECT strans( '90d, 60d, 30d' );
50+
51+
SELECT theta( strans( '90d, 60d, 30d' ) );
52+
53+
SELECT psi( strans( '90d, 60d, 30d' ) );
54+
55+
SELECT phi( strans( '90d, 60d, 30d' ) );

Diff for: src/euler.c

+3-4
Original file line numberDiff line numberDiff line change
@@ -203,23 +203,22 @@ spheretrans_phi(PG_FUNCTION_ARGS)
203203
{
204204
SEuler *se = (SEuler *) PG_GETARG_POINTER(0);
205205

206-
PG_RETURN_POINTER(&se->phi);
206+
PG_RETURN_FLOAT8(se->phi);
207207
}
208208

209209
Datum
210210
spheretrans_theta(PG_FUNCTION_ARGS)
211211
{
212212
SEuler *se = (SEuler *) PG_GETARG_POINTER(0);
213-
214-
PG_RETURN_POINTER(&se->theta);
213+
PG_RETURN_FLOAT8(se->theta);
215214
}
216215

217216
Datum
218217
spheretrans_psi(PG_FUNCTION_ARGS)
219218
{
220219
SEuler *se = (SEuler *) PG_GETARG_POINTER(0);
221220

222-
PG_RETURN_POINTER(&se->psi);
221+
PG_RETURN_FLOAT8(se->psi);
223222
}
224223

225224
Datum

0 commit comments

Comments
 (0)