@@ -657,7 +657,8 @@ struct bisectx
657657
658658 bisectx (double x) : m_x(x) {}
659659
660- void bisect (double sx, double sy, double px, double py, double * bx, double * by) const
660+ inline void bisect (double sx, double sy, double px, double py,
661+ double * bx, double * by) const
661662 {
662663 *bx = m_x;
663664 double dx = px - sx;
@@ -670,7 +671,7 @@ struct xlt : public bisectx
670671{
671672 xlt (double x) : bisectx(x) {}
672673
673- bool is_inside (double x, double y) const
674+ inline bool is_inside (double x, double y) const
674675 {
675676 return x <= m_x;
676677 }
@@ -680,7 +681,7 @@ struct xgt : public bisectx
680681{
681682 xgt (double x) : bisectx(x) {}
682683
683- bool is_inside (double x, double y) const
684+ inline bool is_inside (double x, double y) const
684685 {
685686 return x >= m_x;
686687 }
@@ -692,7 +693,7 @@ struct bisecty
692693
693694 bisecty (double y) : m_y(y) {}
694695
695- void bisect (double sx, double sy, double px, double py, double * bx, double * by) const
696+ inline void bisect (double sx, double sy, double px, double py, double * bx, double * by) const
696697 {
697698 *by = m_y;
698699 double dx = px - sx;
@@ -705,7 +706,7 @@ struct ylt : public bisecty
705706{
706707 ylt (double y) : bisecty(y) {}
707708
708- bool is_inside (double x, double y) const
709+ inline bool is_inside (double x, double y) const
709710 {
710711 return y <= m_y;
711712 }
@@ -715,15 +716,15 @@ struct ygt : public bisecty
715716{
716717 ygt (double y) : bisecty(y) {}
717718
718- bool is_inside (double x, double y) const
719+ inline bool is_inside (double x, double y) const
719720 {
720721 return y >= m_y;
721722 }
722723};
723724}
724725
725726template <class Filter >
726- void clip_to_rect_one_step (const Polygon& polygon, Polygon& result, const Filter& filter)
727+ inline void clip_to_rect_one_step (const Polygon& polygon, Polygon& result, const Filter& filter)
727728{
728729 double sx, sy, px, py, bx, by;
729730 bool sinside, pinside;
@@ -899,8 +900,9 @@ Py::Object _path_module::affine_transform(const Py::Tuple& args)
899900
900901 transform = (PyArrayObject*) PyArray_FromObject
901902 (transform_obj.ptr (), PyArray_DOUBLE, 2 , 2 );
902- if (!transform || PyArray_NDIM (transform) != 2 ||
903- PyArray_DIM (transform, 0 ) != 3 || PyArray_DIM (transform, 1 ) != 3 )
903+ if (!transform ||
904+ PyArray_DIM (transform, 0 ) != 3 ||
905+ PyArray_DIM (transform, 1 ) != 3 )
904906 throw Py::ValueError (" Invalid transform." );
905907
906908 double a, b, c, d, e, f;
@@ -964,6 +966,7 @@ Py::Object _path_module::affine_transform(const Py::Tuple& args)
964966 Py_XDECREF (vertices);
965967 Py_XDECREF (transform);
966968 Py_XDECREF (result);
969+ throw ;
967970 }
968971
969972 Py_XDECREF (vertices);
@@ -1020,10 +1023,10 @@ Py::Object _path_module::count_bboxes_overlapping_bbox(const Py::Tuple& args)
10201023 return Py::Int (count);
10211024}
10221025
1023- bool segments_intersect (const double & x1, const double & y1,
1024- const double & x2, const double & y2,
1025- const double & x3, const double & y3,
1026- const double & x4, const double & y4)
1026+ inline bool segments_intersect (const double & x1, const double & y1,
1027+ const double & x2, const double & y2,
1028+ const double & x3, const double & y3,
1029+ const double & x4, const double & y4)
10271030{
10281031 double den = ((y4-y3)*(x2-x1)) - ((x4-x3)*(y2-y1));
10291032 if (den == 0.0 )
0 commit comments