aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/python/matplotlib/py2/src/mplutils.h
diff options
context:
space:
mode:
authorAlexander Smirnov <alex@ydb.tech>2025-05-14 00:51:55 +0000
committerAlexander Smirnov <alex@ydb.tech>2025-05-14 00:51:55 +0000
commitb2d03716ee053cd32dccb8dd189d0b4bc3540d90 (patch)
treed329b3f92d5f80b8a76cac17d9e30bd1c8dc4b06 /contrib/python/matplotlib/py2/src/mplutils.h
parent645c59acc8ced6d89eb8559e26a7405d42ae9fb4 (diff)
parent0bf9db6399352012396e7791bcfd762e944b33c2 (diff)
downloadydb-b2d03716ee053cd32dccb8dd189d0b4bc3540d90.tar.gz
Merge branch 'rightlib' into merge-libs-250514-0050
Diffstat (limited to 'contrib/python/matplotlib/py2/src/mplutils.h')
-rw-r--r--contrib/python/matplotlib/py2/src/mplutils.h73
1 files changed, 73 insertions, 0 deletions
diff --git a/contrib/python/matplotlib/py2/src/mplutils.h b/contrib/python/matplotlib/py2/src/mplutils.h
new file mode 100644
index 00000000000..4b59e08bbd4
--- /dev/null
+++ b/contrib/python/matplotlib/py2/src/mplutils.h
@@ -0,0 +1,73 @@
+/* -*- mode: c++; c-basic-offset: 4 -*- */
+
+/* Small utilities that are shared by most extension modules. */
+
+#ifndef _MPLUTILS_H
+#define _MPLUTILS_H
+#define PY_SSIZE_T_CLEAN
+
+#if defined(_MSC_VER) && _MSC_VER <= 1600
+typedef unsigned __int8 uint8_t;
+#else
+#include <stdint.h>
+#endif
+
+#ifdef _POSIX_C_SOURCE
+# undef _POSIX_C_SOURCE
+#endif
+#ifndef _AIX
+#ifdef _XOPEN_SOURCE
+# undef _XOPEN_SOURCE
+#endif
+#endif
+
+// Prevent multiple conflicting definitions of swab from stdlib.h and unistd.h
+#if defined(__sun) || defined(sun)
+#if defined(_XPG4)
+#undef _XPG4
+#endif
+#if defined(_XPG3)
+#undef _XPG3
+#endif
+#endif
+
+#include <Python.h>
+
+#if PY_MAJOR_VERSION >= 3
+#define PY3K 1
+#define Py_TPFLAGS_HAVE_NEWBUFFER 0
+#else
+#define PY3K 0
+#endif
+
+#undef CLAMP
+#define CLAMP(x, low, high) (((x) > (high)) ? (high) : (((x) < (low)) ? (low) : (x)))
+
+#undef MAX
+#define MAX(a, b) (((a) > (b)) ? (a) : (b))
+
+inline double mpl_round(double v)
+{
+ return (double)(int)(v + ((v >= 0.0) ? 0.5 : -0.5));
+}
+
+enum {
+ STOP = 0,
+ MOVETO = 1,
+ LINETO = 2,
+ CURVE3 = 3,
+ CURVE4 = 4,
+ ENDPOLY = 0x4f
+};
+
+const size_t NUM_VERTICES[] = { 1, 1, 1, 2, 3, 1 };
+
+extern "C" int add_dict_int(PyObject *dict, const char *key, long val);
+
+#if defined(_MSC_VER) && (_MSC_VER < 1800)
+namespace std {
+ inline bool isfinite(double num) { return _finite(num); }
+}
+#endif
+
+#endif