Skip to content

Commit c6c7d20

Browse files
authored
Merge pull request #2952 from zoldalma999/use-static-inline
Use static inline instead of inline
2 parents 778d471 + 4879429 commit c6c7d20

File tree

3 files changed

+33
-45
lines changed

3 files changed

+33
-45
lines changed

src_c/geometry_common.c

Lines changed: 0 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -146,39 +146,3 @@ pgCircle_FromObjectFastcall(PyObject *const *args, Py_ssize_t nargs,
146146
return 0;
147147
}
148148
}
149-
150-
/* === Collision Functions === */
151-
152-
inline int
153-
pgCollision_CirclePoint(pgCircleBase *circle, double Cx, double Cy)
154-
{
155-
double dx = circle->x - Cx;
156-
double dy = circle->y - Cy;
157-
return dx * dx + dy * dy <= circle->r * circle->r;
158-
}
159-
160-
inline int
161-
pgCollision_CircleCircle(pgCircleBase *A, pgCircleBase *B)
162-
{
163-
double dx, dy;
164-
double sum_radii;
165-
166-
dx = A->x - B->x;
167-
dy = A->y - B->y;
168-
sum_radii = A->r + B->r;
169-
170-
return dx * dx + dy * dy <= sum_radii * sum_radii;
171-
}
172-
173-
inline int
174-
pgCollision_RectCircle(double rx, double ry, double rw, double rh,
175-
pgCircleBase *circle)
176-
{
177-
const double cx = circle->x, cy = circle->y;
178-
const double r_bottom = ry + rh, r_right = rx + rw;
179-
180-
const double test_x = (cx < rx) ? rx : ((cx > r_right) ? r_right : cx);
181-
const double test_y = (cy < ry) ? ry : ((cy > r_bottom) ? r_bottom : cy);
182-
183-
return pgCollision_CirclePoint(circle, test_x, test_y);
184-
}

src_c/geometry_common.h

Lines changed: 31 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,38 @@ pgCircle_FromObjectFastcall(PyObject *const *args, Py_ssize_t nargs,
1515

1616
/* === Collision Functions === */
1717

18-
inline int
19-
pgCollision_CirclePoint(pgCircleBase *circle, double Cx, double Cy);
18+
static inline int
19+
pgCollision_CirclePoint(pgCircleBase *circle, double Cx, double Cy)
20+
{
21+
double dx = circle->x - Cx;
22+
double dy = circle->y - Cy;
23+
return dx * dx + dy * dy <= circle->r * circle->r;
24+
}
25+
26+
static inline int
27+
pgCollision_CircleCircle(pgCircleBase *A, pgCircleBase *B)
28+
{
29+
double dx, dy;
30+
double sum_radii;
31+
32+
dx = A->x - B->x;
33+
dy = A->y - B->y;
34+
sum_radii = A->r + B->r;
35+
36+
return dx * dx + dy * dy <= sum_radii * sum_radii;
37+
}
38+
39+
static inline int
40+
pgCollision_RectCircle(double rx, double ry, double rw, double rh,
41+
pgCircleBase *circle)
42+
{
43+
const double cx = circle->x, cy = circle->y;
44+
const double r_bottom = ry + rh, r_right = rx + rw;
2045

21-
inline int
22-
pgCollision_CircleCircle(pgCircleBase *A, pgCircleBase *B);
46+
const double test_x = (cx < rx) ? rx : ((cx > r_right) ? r_right : cx);
47+
const double test_y = (cy < ry) ? ry : ((cy > r_bottom) ? r_bottom : cy);
2348

24-
inline int
25-
pgCollision_RectCircle(double rx, double ry, double rw, double rh,
26-
pgCircleBase *circle);
49+
return pgCollision_CirclePoint(circle, test_x, test_y);
50+
}
2751

2852
#endif // PYGAME_CE_GEOMETRY_COMMON_H

src_c/math.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4192,13 +4192,13 @@ vector_elementwise(pgVector *vec, PyObject *_null)
41924192
return (PyObject *)proxy;
41934193
}
41944194

4195-
inline double
4195+
static inline double
41964196
lerp(double a, double b, double v)
41974197
{
41984198
return a + (b - a) * v;
41994199
}
42004200

4201-
inline double
4201+
static inline double
42024202
invlerp(double a, double b, double v)
42034203
{
42044204
return (v - a) / (b - a);

0 commit comments

Comments
 (0)