Nuitka
The Python compiler
Loading...
Searching...
No Matches
comparisons_ge.h
1// Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
3/* WARNING, this code is GENERATED. Modify the template HelperOperationComparison.c.j2 instead! */
4
5/* This file is included from another C file, help IDEs to still parse it on its own. */
6#ifdef __IDE_ONLY__
7#include "nuitka/prelude.h"
8#endif
9
10/* C helpers for type specialized ">=" (GE) comparisons */
11
12/* Code referring to "OBJECT" corresponds to any Python object and "OBJECT" to any Python object. */
13extern PyObject *RICH_COMPARE_GE_OBJECT_OBJECT_OBJECT(PyObject *operand1, PyObject *operand2);
14
15/* Code referring to "OBJECT" corresponds to any Python object and "OBJECT" to any Python object. */
16extern nuitka_bool RICH_COMPARE_GE_NBOOL_OBJECT_OBJECT(PyObject *operand1, PyObject *operand2);
17
18#if PYTHON_VERSION < 0x300
19/* Code referring to "OBJECT" corresponds to any Python object and "STR" to Python2 'str'. */
20extern PyObject *RICH_COMPARE_GE_OBJECT_OBJECT_STR(PyObject *operand1, PyObject *operand2);
21#endif
22
23#if PYTHON_VERSION < 0x300
24/* Code referring to "STR" corresponds to Python2 'str' and "OBJECT" to any Python object. */
25extern PyObject *RICH_COMPARE_GE_OBJECT_STR_OBJECT(PyObject *operand1, PyObject *operand2);
26#endif
27
28#if PYTHON_VERSION < 0x300
29/* Code referring to "OBJECT" corresponds to any Python object and "STR" to Python2 'str'. */
30extern nuitka_bool RICH_COMPARE_GE_NBOOL_OBJECT_STR(PyObject *operand1, PyObject *operand2);
31#endif
32
33#if PYTHON_VERSION < 0x300
34/* Code referring to "STR" corresponds to Python2 'str' and "OBJECT" to any Python object. */
35extern nuitka_bool RICH_COMPARE_GE_NBOOL_STR_OBJECT(PyObject *operand1, PyObject *operand2);
36#endif
37
38/* Code referring to "OBJECT" corresponds to any Python object and "UNICODE" to Python2 'unicode', Python3 'str'. */
39extern PyObject *RICH_COMPARE_GE_OBJECT_OBJECT_UNICODE(PyObject *operand1, PyObject *operand2);
40
41/* Code referring to "UNICODE" corresponds to Python2 'unicode', Python3 'str' and "OBJECT" to any Python object. */
42extern PyObject *RICH_COMPARE_GE_OBJECT_UNICODE_OBJECT(PyObject *operand1, PyObject *operand2);
43
44/* Code referring to "OBJECT" corresponds to any Python object and "UNICODE" to Python2 'unicode', Python3 'str'. */
45extern nuitka_bool RICH_COMPARE_GE_NBOOL_OBJECT_UNICODE(PyObject *operand1, PyObject *operand2);
46
47/* Code referring to "UNICODE" corresponds to Python2 'unicode', Python3 'str' and "OBJECT" to any Python object. */
48extern nuitka_bool RICH_COMPARE_GE_NBOOL_UNICODE_OBJECT(PyObject *operand1, PyObject *operand2);
49
50#if PYTHON_VERSION >= 0x300
51/* Code referring to "OBJECT" corresponds to any Python object and "BYTES" to Python3 'bytes'. */
52extern PyObject *RICH_COMPARE_GE_OBJECT_OBJECT_BYTES(PyObject *operand1, PyObject *operand2);
53#endif
54
55#if PYTHON_VERSION >= 0x300
56/* Code referring to "BYTES" corresponds to Python3 'bytes' and "OBJECT" to any Python object. */
57extern PyObject *RICH_COMPARE_GE_OBJECT_BYTES_OBJECT(PyObject *operand1, PyObject *operand2);
58#endif
59
60#if PYTHON_VERSION >= 0x300
61/* Code referring to "OBJECT" corresponds to any Python object and "BYTES" to Python3 'bytes'. */
62extern nuitka_bool RICH_COMPARE_GE_NBOOL_OBJECT_BYTES(PyObject *operand1, PyObject *operand2);
63#endif
64
65#if PYTHON_VERSION >= 0x300
66/* Code referring to "BYTES" corresponds to Python3 'bytes' and "OBJECT" to any Python object. */
67extern nuitka_bool RICH_COMPARE_GE_NBOOL_BYTES_OBJECT(PyObject *operand1, PyObject *operand2);
68#endif
69
70#if PYTHON_VERSION < 0x300
71/* Code referring to "OBJECT" corresponds to any Python object and "INT" to Python2 'int'. */
72extern PyObject *RICH_COMPARE_GE_OBJECT_OBJECT_INT(PyObject *operand1, PyObject *operand2);
73#endif
74
75#if PYTHON_VERSION < 0x300
76/* Code referring to "INT" corresponds to Python2 'int' and "OBJECT" to any Python object. */
77extern PyObject *RICH_COMPARE_GE_OBJECT_INT_OBJECT(PyObject *operand1, PyObject *operand2);
78#endif
79
80#if PYTHON_VERSION < 0x300
81/* Code referring to "OBJECT" corresponds to any Python object and "INT" to Python2 'int'. */
82extern nuitka_bool RICH_COMPARE_GE_NBOOL_OBJECT_INT(PyObject *operand1, PyObject *operand2);
83#endif
84
85#if PYTHON_VERSION < 0x300
86/* Code referring to "INT" corresponds to Python2 'int' and "OBJECT" to any Python object. */
87extern nuitka_bool RICH_COMPARE_GE_NBOOL_INT_OBJECT(PyObject *operand1, PyObject *operand2);
88#endif
89
90/* Code referring to "OBJECT" corresponds to any Python object and "LONG" to Python2 'long', Python3 'int'. */
91extern PyObject *RICH_COMPARE_GE_OBJECT_OBJECT_LONG(PyObject *operand1, PyObject *operand2);
92
93/* Code referring to "LONG" corresponds to Python2 'long', Python3 'int' and "OBJECT" to any Python object. */
94extern PyObject *RICH_COMPARE_GE_OBJECT_LONG_OBJECT(PyObject *operand1, PyObject *operand2);
95
96/* Code referring to "OBJECT" corresponds to any Python object and "LONG" to Python2 'long', Python3 'int'. */
97extern nuitka_bool RICH_COMPARE_GE_NBOOL_OBJECT_LONG(PyObject *operand1, PyObject *operand2);
98
99/* Code referring to "LONG" corresponds to Python2 'long', Python3 'int' and "OBJECT" to any Python object. */
100extern nuitka_bool RICH_COMPARE_GE_NBOOL_LONG_OBJECT(PyObject *operand1, PyObject *operand2);
101
102/* Code referring to "OBJECT" corresponds to any Python object and "FLOAT" to Python 'float'. */
103extern PyObject *RICH_COMPARE_GE_OBJECT_OBJECT_FLOAT(PyObject *operand1, PyObject *operand2);
104
105/* Code referring to "FLOAT" corresponds to Python 'float' and "OBJECT" to any Python object. */
106extern PyObject *RICH_COMPARE_GE_OBJECT_FLOAT_OBJECT(PyObject *operand1, PyObject *operand2);
107
108/* Code referring to "OBJECT" corresponds to any Python object and "FLOAT" to Python 'float'. */
109extern nuitka_bool RICH_COMPARE_GE_NBOOL_OBJECT_FLOAT(PyObject *operand1, PyObject *operand2);
110
111/* Code referring to "FLOAT" corresponds to Python 'float' and "OBJECT" to any Python object. */
112extern nuitka_bool RICH_COMPARE_GE_NBOOL_FLOAT_OBJECT(PyObject *operand1, PyObject *operand2);
113
114/* Code referring to "OBJECT" corresponds to any Python object and "TUPLE" to Python 'tuple'. */
115extern PyObject *RICH_COMPARE_GE_OBJECT_OBJECT_TUPLE(PyObject *operand1, PyObject *operand2);
116
117/* Code referring to "TUPLE" corresponds to Python 'tuple' and "OBJECT" to any Python object. */
118extern PyObject *RICH_COMPARE_GE_OBJECT_TUPLE_OBJECT(PyObject *operand1, PyObject *operand2);
119
120/* Code referring to "TUPLE" corresponds to Python 'tuple' and "TUPLE" to Python 'tuple'. */
121extern PyObject *RICH_COMPARE_GE_OBJECT_TUPLE_TUPLE(PyObject *operand1, PyObject *operand2);
122
123/* Code referring to "OBJECT" corresponds to any Python object and "TUPLE" to Python 'tuple'. */
124extern nuitka_bool RICH_COMPARE_GE_NBOOL_OBJECT_TUPLE(PyObject *operand1, PyObject *operand2);
125
126/* Code referring to "TUPLE" corresponds to Python 'tuple' and "OBJECT" to any Python object. */
127extern nuitka_bool RICH_COMPARE_GE_NBOOL_TUPLE_OBJECT(PyObject *operand1, PyObject *operand2);
128
129/* Code referring to "TUPLE" corresponds to Python 'tuple' and "TUPLE" to Python 'tuple'. */
130extern nuitka_bool RICH_COMPARE_GE_NBOOL_TUPLE_TUPLE(PyObject *operand1, PyObject *operand2);
131
132/* Code referring to "OBJECT" corresponds to any Python object and "LIST" to Python 'list'. */
133extern PyObject *RICH_COMPARE_GE_OBJECT_OBJECT_LIST(PyObject *operand1, PyObject *operand2);
134
135/* Code referring to "LIST" corresponds to Python 'list' and "OBJECT" to any Python object. */
136extern PyObject *RICH_COMPARE_GE_OBJECT_LIST_OBJECT(PyObject *operand1, PyObject *operand2);
137
138/* Code referring to "LIST" corresponds to Python 'list' and "LIST" to Python 'list'. */
139extern PyObject *RICH_COMPARE_GE_OBJECT_LIST_LIST(PyObject *operand1, PyObject *operand2);
140
141/* Code referring to "OBJECT" corresponds to any Python object and "LIST" to Python 'list'. */
142extern nuitka_bool RICH_COMPARE_GE_NBOOL_OBJECT_LIST(PyObject *operand1, PyObject *operand2);
143
144/* Code referring to "LIST" corresponds to Python 'list' and "OBJECT" to any Python object. */
145extern nuitka_bool RICH_COMPARE_GE_NBOOL_LIST_OBJECT(PyObject *operand1, PyObject *operand2);
146
147/* Code referring to "LIST" corresponds to Python 'list' and "LIST" to Python 'list'. */
148extern nuitka_bool RICH_COMPARE_GE_NBOOL_LIST_LIST(PyObject *operand1, PyObject *operand2);
149
150#if PYTHON_VERSION < 0x300
151/* Code referring to "LONG" corresponds to Python2 'long', Python3 'int' and "INT" to Python2 'int'. */
152extern PyObject *RICH_COMPARE_GE_OBJECT_LONG_INT(PyObject *operand1, PyObject *operand2);
153#endif
154
155#if PYTHON_VERSION < 0x300
156/* Code referring to "LONG" corresponds to Python2 'long', Python3 'int' and "INT" to Python2 'int'. */
157extern bool RICH_COMPARE_GE_CBOOL_LONG_INT(PyObject *operand1, PyObject *operand2);
158#endif
159
160#if PYTHON_VERSION < 0x300
161/* Code referring to "INT" corresponds to Python2 'int' and "CLONG" to C platform long value. */
162extern PyObject *RICH_COMPARE_GE_OBJECT_INT_CLONG(PyObject *operand1, long operand2);
163#endif
164
165#if PYTHON_VERSION < 0x300
166/* Code referring to "INT" corresponds to Python2 'int' and "CLONG" to C platform long value. */
167extern bool RICH_COMPARE_GE_CBOOL_INT_CLONG(PyObject *operand1, long operand2);
168#endif
169
170/* Code referring to "LONG" corresponds to Python2 'long', Python3 'int' and "DIGIT" to C platform digit value for long
171 * Python objects. */
172extern PyObject *RICH_COMPARE_GE_OBJECT_LONG_DIGIT(PyObject *operand1, long operand2);
173
174/* Code referring to "LONG" corresponds to Python2 'long', Python3 'int' and "DIGIT" to C platform digit value for long
175 * Python objects. */
176extern bool RICH_COMPARE_GE_CBOOL_LONG_DIGIT(PyObject *operand1, long operand2);
177
178/* Code referring to "FLOAT" corresponds to Python 'float' and "CFLOAT" to C platform float value. */
179extern PyObject *RICH_COMPARE_GE_OBJECT_FLOAT_CFLOAT(PyObject *operand1, double operand2);
180
181/* Code referring to "FLOAT" corresponds to Python 'float' and "CFLOAT" to C platform float value. */
182extern bool RICH_COMPARE_GE_CBOOL_FLOAT_CFLOAT(PyObject *operand1, double operand2);
183
184// Part of "Nuitka", an optimizing Python compiler that is compatible and
185// integrates with CPython, but also works on its own.
186//
187// Licensed under the Apache License, Version 2.0 (the "License");
188// you may not use this file except in compliance with the License.
189// You may obtain a copy of the License at
190//
191// http://www.apache.org/licenses/LICENSE-2.0
192//
193// Unless required by applicable law or agreed to in writing, software
194// distributed under the License is distributed on an "AS IS" BASIS,
195// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
196// See the License for the specific language governing permissions and
197// limitations under the License.