aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/python/matplotlib/py2/src/mplutils.h
diff options
context:
space:
mode:
authorzverevgeny <zverevgeny@yandex-team.com>2025-05-13 19:00:02 +0300
committerzverevgeny <zverevgeny@yandex-team.com>2025-05-13 19:13:54 +0300
commit92e06374736aa28637dc0e706455b65c8268a5e6 (patch)
tree3df370c199ae25d308e542f02af20f43eab78f8a /contrib/python/matplotlib/py2/src/mplutils.h
parentdc63d5794da99c2ebe3f32914d0351d9707660b0 (diff)
downloadydb-92e06374736aa28637dc0e706455b65c8268a5e6.tar.gz
Import matplotlib
commit_hash:d59c2338025ef8fd1e1f961ed9d8d5fd52d0bd96
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