Nuitka-winsvc 2.4.11__cp311-cp311-win_amd64.whl → 2.5.6__cp311-cp311-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of Nuitka-winsvc might be problematic. Click here for more details.
- {Nuitka_winsvc-2.4.11.dist-info → Nuitka_winsvc-2.5.6.dist-info}/METADATA +56 -109
- {Nuitka_winsvc-2.4.11.dist-info → Nuitka_winsvc-2.5.6.dist-info}/RECORD +304 -280
- {Nuitka_winsvc-2.4.11.dist-info → Nuitka_winsvc-2.5.6.dist-info}/WHEEL +1 -1
- nuitka/Builtins.py +31 -0
- nuitka/HardImportRegistry.py +8 -0
- nuitka/MainControl.py +9 -4
- nuitka/OptionParsing.py +108 -54
- nuitka/Options.py +69 -13
- nuitka/OutputDirectories.py +7 -2
- nuitka/PostProcessing.py +69 -38
- nuitka/Progress.py +16 -1
- nuitka/PythonVersions.py +2 -1
- nuitka/Serialization.py +4 -2
- nuitka/Tracing.py +69 -1
- nuitka/Version.py +2 -2
- nuitka/build/Backend.scons +45 -5
- nuitka/build/CCompilerVersion.scons +6 -0
- nuitka/build/Onefile.scons +6 -0
- nuitka/build/SconsCaching.py +4 -0
- nuitka/build/SconsCompilerSettings.py +14 -3
- nuitka/build/SconsInterface.py +3 -0
- nuitka/build/SconsUtils.py +5 -0
- nuitka/build/include/nuitka/allocator.h +124 -1
- nuitka/build/include/nuitka/calling.h +6 -6
- nuitka/build/include/nuitka/compiled_asyncgen.h +10 -7
- nuitka/build/include/nuitka/compiled_frame.h +2 -1
- nuitka/build/include/nuitka/constants.h +8 -0
- nuitka/build/include/nuitka/debug_settings.h +60 -0
- nuitka/build/include/nuitka/exceptions.h +264 -121
- nuitka/build/include/nuitka/helper/attributes.h +0 -4
- nuitka/build/include/nuitka/helper/calling_generated.h +52 -52
- nuitka/build/include/nuitka/helper/comparisons_dual_eq.h +47 -0
- nuitka/build/include/nuitka/helper/comparisons_dual_ge.h +39 -0
- nuitka/build/include/nuitka/helper/comparisons_dual_gt.h +39 -0
- nuitka/build/include/nuitka/helper/comparisons_dual_le.h +47 -0
- nuitka/build/include/nuitka/helper/comparisons_dual_lt.h +47 -0
- nuitka/build/include/nuitka/helper/comparisons_dual_ne.h +39 -0
- nuitka/build/include/nuitka/helper/dictionaries.h +75 -31
- nuitka/build/include/nuitka/helper/ints.h +86 -37
- nuitka/build/include/nuitka/helper/iterators.h +82 -34
- nuitka/build/include/nuitka/helper/operations.h +3 -0
- nuitka/build/include/nuitka/helper/operations_binary_add.h +6 -0
- nuitka/build/include/nuitka/helper/operations_binary_dual_add.h +34 -0
- nuitka/build/include/nuitka/helper/operations_binary_sub.h +6 -0
- nuitka/build/include/nuitka/helper/operations_inplace_add.h +3 -0
- nuitka/build/include/nuitka/helper/operations_inplace_sub.h +3 -0
- nuitka/build/include/nuitka/helper/raising.h +47 -28
- nuitka/build/include/nuitka/helper/richcomparisons.h +7 -0
- nuitka/build/include/nuitka/helper/tuples.h +12 -0
- nuitka/build/include/nuitka/helpers.h +12 -2
- nuitka/build/include/nuitka/prelude.h +36 -25
- nuitka/build/include/nuitka/printing.h +9 -7
- nuitka/build/include/nuitka/threading.h +15 -1
- nuitka/build/include/nuitka/type_aliases.h +3 -0
- nuitka/build/inline_copy/stubgen/astunparse.py +938 -0
- nuitka/build/inline_copy/stubgen/six.py +998 -0
- nuitka/build/inline_copy/stubgen/stubgen.py +307 -0
- nuitka/build/static_src/CompiledAsyncgenType.c +45 -39
- nuitka/build/static_src/CompiledCellType.c +6 -4
- nuitka/build/static_src/CompiledCodeHelpers.c +106 -40
- nuitka/build/static_src/CompiledCoroutineType.c +41 -31
- nuitka/build/static_src/CompiledFrameType.c +110 -79
- nuitka/build/static_src/CompiledFunctionType.c +173 -151
- nuitka/build/static_src/CompiledGeneratorType.c +51 -49
- nuitka/build/static_src/CompiledGeneratorTypeUncompiledIntegration.c +433 -46
- nuitka/build/static_src/CompiledMethodType.c +6 -12
- nuitka/build/static_src/HelpersAllocator.c +266 -28
- nuitka/build/static_src/HelpersAttributes.c +0 -21
- nuitka/build/static_src/HelpersBuiltin.c +23 -14
- nuitka/build/static_src/HelpersCalling.c +7 -7
- nuitka/build/static_src/HelpersCallingGenerated.c +70 -70
- nuitka/build/static_src/HelpersComparisonDualEq.c +183 -0
- nuitka/build/static_src/HelpersComparisonDualGe.c +121 -0
- nuitka/build/static_src/HelpersComparisonDualGt.c +121 -0
- nuitka/build/static_src/HelpersComparisonDualLe.c +183 -0
- nuitka/build/static_src/HelpersComparisonDualLt.c +183 -0
- nuitka/build/static_src/HelpersComparisonDualNe.c +121 -0
- nuitka/build/static_src/HelpersComparisonEq.c +18 -4
- nuitka/build/static_src/HelpersComparisonGe.c +18 -4
- nuitka/build/static_src/HelpersComparisonGt.c +18 -4
- nuitka/build/static_src/HelpersComparisonLe.c +18 -4
- nuitka/build/static_src/HelpersComparisonLt.c +18 -4
- nuitka/build/static_src/HelpersComparisonNe.c +18 -4
- nuitka/build/static_src/HelpersConsole.c +34 -8
- nuitka/build/static_src/HelpersConstantsBlob.c +4 -2
- nuitka/build/static_src/HelpersDeepcopy.c +1 -0
- nuitka/build/static_src/HelpersDictionaries.c +195 -36
- nuitka/build/static_src/HelpersDictionariesGenerated.c +12 -107
- nuitka/build/static_src/HelpersExceptions.c +24 -50
- nuitka/build/static_src/HelpersFiles.c +79 -5
- nuitka/build/static_src/HelpersImport.c +13 -9
- nuitka/build/static_src/HelpersImportHard.c +23 -46
- nuitka/build/static_src/HelpersLists.c +98 -9
- nuitka/build/static_src/HelpersOperationBinaryAdd.c +224 -6
- nuitka/build/static_src/HelpersOperationBinaryAddUtils.c +3 -0
- nuitka/build/static_src/HelpersOperationBinaryBitand.c +5 -5
- nuitka/build/static_src/HelpersOperationBinaryBitor.c +5 -5
- nuitka/build/static_src/HelpersOperationBinaryBitxor.c +5 -5
- nuitka/build/static_src/HelpersOperationBinaryDivmod.c +8 -2
- nuitka/build/static_src/HelpersOperationBinaryDualAdd.c +172 -0
- nuitka/build/static_src/HelpersOperationBinaryFloordiv.c +14 -8
- nuitka/build/static_src/HelpersOperationBinaryLshift.c +36 -36
- nuitka/build/static_src/HelpersOperationBinaryMatmult.c +1 -0
- nuitka/build/static_src/HelpersOperationBinaryMod.c +22 -10
- nuitka/build/static_src/HelpersOperationBinaryMult.c +17 -7
- nuitka/build/static_src/HelpersOperationBinaryOlddiv.c +14 -8
- nuitka/build/static_src/HelpersOperationBinaryPow.c +24 -24
- nuitka/build/static_src/HelpersOperationBinaryRshift.c +4 -4
- nuitka/build/static_src/HelpersOperationBinarySub.c +229 -8
- nuitka/build/static_src/HelpersOperationBinaryTruediv.c +8 -2
- nuitka/build/static_src/HelpersOperationInplaceAdd.c +162 -10
- nuitka/build/static_src/HelpersOperationInplaceBitand.c +5 -5
- nuitka/build/static_src/HelpersOperationInplaceBitor.c +5 -5
- nuitka/build/static_src/HelpersOperationInplaceBitxor.c +5 -5
- nuitka/build/static_src/HelpersOperationInplaceFloordiv.c +11 -6
- nuitka/build/static_src/HelpersOperationInplaceLshift.c +20 -20
- nuitka/build/static_src/HelpersOperationInplaceMatmult.c +1 -0
- nuitka/build/static_src/HelpersOperationInplaceMod.c +11 -6
- nuitka/build/static_src/HelpersOperationInplaceMult.c +11 -6
- nuitka/build/static_src/HelpersOperationInplaceOlddiv.c +11 -6
- nuitka/build/static_src/HelpersOperationInplacePow.c +20 -20
- nuitka/build/static_src/HelpersOperationInplaceRshift.c +4 -4
- nuitka/build/static_src/HelpersOperationInplaceSub.c +163 -10
- nuitka/build/static_src/HelpersOperationInplaceTruediv.c +6 -1
- nuitka/build/static_src/HelpersProfiling.c +1 -1
- nuitka/build/static_src/HelpersRaising.c +255 -310
- nuitka/build/static_src/HelpersStrings.c +1 -1
- nuitka/build/static_src/HelpersTuples.c +2 -2
- nuitka/build/static_src/HelpersTypes.c +98 -2
- nuitka/build/static_src/MainProgram.c +132 -28
- nuitka/build/static_src/MetaPathBasedLoader.c +18 -19
- nuitka/build/static_src/MetaPathBasedLoaderResourceReaderFiles.c +134 -11
- nuitka/build/static_src/OnefileBootstrap.c +6 -1
- nuitka/code_generation/AsyncgenCodes.py +2 -6
- nuitka/code_generation/BinaryOperationHelperDefinitions.py +269 -167
- nuitka/code_generation/BuiltinCodes.py +9 -1
- nuitka/code_generation/CallCodes.py +16 -16
- nuitka/code_generation/CodeGeneration.py +14 -2
- nuitka/code_generation/CodeHelperSelection.py +1 -1
- nuitka/code_generation/CodeHelpers.py +4 -1
- nuitka/code_generation/CodeObjectCodes.py +2 -2
- nuitka/code_generation/ComparisonCodes.py +13 -2
- nuitka/code_generation/ComparisonHelperDefinitions.py +23 -8
- nuitka/code_generation/Contexts.py +28 -16
- nuitka/code_generation/CoroutineCodes.py +2 -6
- nuitka/code_generation/DictCodes.py +3 -3
- nuitka/code_generation/ErrorCodes.py +34 -50
- nuitka/code_generation/ExceptionCodes.py +165 -96
- nuitka/code_generation/ExpressionCTypeSelectionHelpers.py +25 -10
- nuitka/code_generation/FrameCodes.py +4 -11
- nuitka/code_generation/FunctionCodes.py +2 -6
- nuitka/code_generation/GeneratorCodes.py +2 -6
- nuitka/code_generation/GlobalConstants.py +8 -2
- nuitka/code_generation/GlobalsLocalsCodes.py +2 -2
- nuitka/code_generation/IteratorCodes.py +67 -54
- nuitka/code_generation/LineNumberCodes.py +1 -3
- nuitka/code_generation/ModuleCodes.py +28 -4
- nuitka/code_generation/OperationCodes.py +51 -20
- nuitka/code_generation/PackageResourceCodes.py +37 -0
- nuitka/code_generation/RaisingCodes.py +164 -90
- nuitka/code_generation/Reports.py +13 -5
- nuitka/code_generation/ReturnCodes.py +2 -16
- nuitka/code_generation/TryCodes.py +12 -24
- nuitka/code_generation/TypeAliasCodes.py +48 -0
- nuitka/code_generation/VariableCodes.py +99 -40
- nuitka/code_generation/VariableDeclarations.py +8 -8
- nuitka/code_generation/YieldCodes.py +1 -1
- nuitka/code_generation/c_types/CTypeBases.py +10 -2
- nuitka/code_generation/c_types/CTypeModuleDictVariables.py +3 -0
- nuitka/code_generation/c_types/CTypeNuitkaBooleans.py +3 -4
- nuitka/code_generation/c_types/CTypeNuitkaInts.py +70 -25
- nuitka/code_generation/c_types/CTypeNuitkaVoids.py +1 -1
- nuitka/code_generation/c_types/CTypePyObjectPointers.py +16 -6
- nuitka/code_generation/templates/CodeTemplatesAsyncgens.py +2 -2
- nuitka/code_generation/templates/CodeTemplatesConstants.py +11 -3
- nuitka/code_generation/templates/CodeTemplatesCoroutines.py +2 -2
- nuitka/code_generation/templates/CodeTemplatesExceptions.py +15 -16
- nuitka/code_generation/templates/CodeTemplatesFrames.py +18 -10
- nuitka/code_generation/templates/CodeTemplatesFunction.py +2 -2
- nuitka/code_generation/templates/CodeTemplatesGeneratorFunction.py +2 -2
- nuitka/code_generation/templates/CodeTemplatesIterators.py +1 -35
- nuitka/code_generation/templates/CodeTemplatesModules.py +34 -4
- nuitka/code_generation/templates/CodeTemplatesVariables.py +76 -0
- nuitka/code_generation/templates_c/CodeTemplateCallsMixed.c.j2 +3 -3
- nuitka/code_generation/templates_c/CodeTemplateCallsPositional.c.j2 +3 -3
- nuitka/code_generation/templates_c/HelperDictionaryCopy.c.j2 +4 -106
- nuitka/code_generation/templates_c/HelperImportHard.c.j2 +1 -2
- nuitka/code_generation/templates_c/HelperLongTools.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperOperationBinaryDual.c.j2 +115 -0
- nuitka/code_generation/templates_c/HelperOperationComparisonBytes.c.j2 +9 -9
- nuitka/code_generation/templates_c/HelperOperationComparisonDual.c.j2 +86 -0
- nuitka/code_generation/templates_c/HelperOperationComparisonFloat.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperOperationComparisonInt.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperOperationComparisonList.c.j2 +9 -9
- nuitka/code_generation/templates_c/HelperOperationComparisonLong.c.j2 +7 -7
- nuitka/code_generation/templates_c/HelperOperationComparisonStr.c.j2 +9 -9
- nuitka/code_generation/templates_c/HelperOperationComparisonTuple.c.j2 +7 -7
- nuitka/code_generation/templates_c/HelperOperationComparisonUnicode.c.j2 +4 -4
- nuitka/code_generation/templates_c/HelperSlotsBinary.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperSlotsInt.c.j2 +31 -31
- nuitka/code_generation/templates_c/HelperSlotsLong.c.j2 +1 -1
- nuitka/containers/Namedtuples.py +6 -0
- nuitka/containers/OrderedSets.py +105 -5
- nuitka/distutils/Build.py +14 -0
- nuitka/distutils/DistutilCommands.py +50 -10
- nuitka/finalizations/Finalization.py +3 -3
- nuitka/finalizations/FinalizeMarkups.py +10 -14
- nuitka/freezer/DependsExe.py +5 -2
- nuitka/freezer/DllDependenciesMacOS.py +18 -1
- nuitka/freezer/DllDependenciesWin32.py +26 -12
- nuitka/freezer/ImportDetection.py +6 -0
- nuitka/freezer/IncludedDataFiles.py +37 -6
- nuitka/freezer/Onefile.py +1 -0
- nuitka/freezer/Standalone.py +72 -18
- nuitka/importing/Importing.py +33 -6
- nuitka/importing/Recursion.py +5 -2
- nuitka/importing/StandardLibrary.py +57 -59
- nuitka/nodes/AsyncgenNodes.py +3 -6
- nuitka/nodes/BuiltinIteratorNodes.py +2 -2
- nuitka/nodes/BuiltinRefNodes.py +14 -30
- nuitka/nodes/ChildrenHavingMixins.py +439 -46
- nuitka/nodes/ConditionalNodes.py +3 -2
- nuitka/nodes/CoroutineNodes.py +3 -6
- nuitka/nodes/DictionaryNodes.py +1 -1
- nuitka/nodes/ExceptionNodes.py +102 -26
- nuitka/nodes/ExpressionBasesGenerated.py +288 -4
- nuitka/nodes/FrameNodes.py +22 -11
- nuitka/nodes/FunctionNodes.py +3 -3
- nuitka/nodes/GeneratorNodes.py +3 -6
- nuitka/nodes/HardImportNodesGenerated.py +182 -0
- nuitka/nodes/ImportNodes.py +2 -2
- nuitka/nodes/NodeBases.py +28 -1
- nuitka/nodes/NodeMakingHelpers.py +71 -50
- nuitka/nodes/OperatorNodesUnary.py +128 -3
- nuitka/nodes/OsSysNodes.py +37 -6
- nuitka/nodes/OutlineNodes.py +2 -2
- nuitka/nodes/StatementBasesGenerated.py +0 -2
- nuitka/nodes/StatementNodes.py +8 -7
- nuitka/nodes/SubscriptNodes.py +1 -1
- nuitka/nodes/TypeNodes.py +28 -1
- nuitka/nodes/VariableAssignNodes.py +2 -1
- nuitka/nodes/shapes/BuiltinTypeShapes.py +24 -7
- nuitka/nodes/shapes/IteratorShapes.py +71 -0
- nuitka/nodes/shapes/ShapeMixins.py +18 -0
- nuitka/nodes/shapes/StandardShapes.py +47 -44
- nuitka/optimizations/BytecodeDemotion.py +2 -1
- nuitka/plugins/PluginBase.py +64 -22
- nuitka/plugins/Plugins.py +16 -3
- nuitka/plugins/standard/AntiBloatPlugin.py +23 -12
- nuitka/plugins/standard/DllFilesPlugin.py +78 -2
- nuitka/plugins/standard/ImplicitImports.py +5 -15
- nuitka/plugins/standard/KivyPlugin.py +3 -12
- nuitka/plugins/standard/MatplotlibPlugin.py +12 -1
- nuitka/plugins/standard/MultiprocessingPlugin.py +11 -20
- nuitka/plugins/standard/OptionsNannyPlugin.py +5 -4
- nuitka/plugins/standard/PlaywrightPlugin.py +184 -0
- nuitka/plugins/standard/PySidePyQtPlugin.py +8 -0
- nuitka/plugins/standard/TkinterPlugin.py +23 -3
- nuitka/plugins/standard/TransformersPlugin.py +70 -275
- nuitka/plugins/standard/standard.nuitka-package.config.yml +413 -30
- nuitka/plugins/standard/stdlib3.nuitka-package.config.yml +35 -2
- nuitka/reports/CompilationReportReader.py +12 -0
- nuitka/reports/Reports.py +11 -0
- nuitka/specs/BuiltinParameterSpecs.py +5 -1
- nuitka/specs/HardImportSpecs.py +7 -0
- nuitka/specs/ParameterSpecs.py +4 -4
- nuitka/tools/environments/Virtualenv.py +13 -5
- nuitka/tools/general/dll_report/__main__.py +10 -1
- nuitka/tools/onefile_compressor/OnefileCompressor.py +1 -1
- nuitka/tools/podman/__main__.py +4 -2
- nuitka/tools/specialize/CTypeDescriptions.py +158 -9
- nuitka/tools/specialize/SpecializeC.py +218 -56
- nuitka/tools/testing/Common.py +69 -62
- nuitka/tools/testing/compare_with_cpython/__main__.py +3 -1
- nuitka/tools/testing/measure_construct_performance/__main__.py +1 -8
- nuitka/tools/testing/run_nuitka_tests/__main__.py +77 -11
- nuitka/tools/watch/AutoStage.py +1 -0
- nuitka/tree/Building.py +10 -37
- nuitka/tree/ComplexCallHelperFunctions.py +4 -0
- nuitka/tree/ReformulationAssertStatements.py +31 -14
- nuitka/tree/ReformulationAssignmentStatements.py +5 -1
- nuitka/tree/ReformulationClasses3.py +94 -19
- nuitka/tree/ReformulationDictionaryCreation.py +1 -0
- nuitka/tree/ReformulationFunctionStatements.py +1 -1
- nuitka/tree/ReformulationMatchStatements.py +3 -1
- nuitka/tree/ReformulationYieldExpressions.py +23 -5
- nuitka/utils/CommandLineOptions.py +27 -3
- nuitka/utils/Download.py +2 -2
- nuitka/utils/Execution.py +36 -31
- nuitka/utils/FileOperations.py +18 -39
- nuitka/utils/Hashing.py +5 -1
- nuitka/utils/Importing.py +2 -14
- nuitka/utils/InlineCopies.py +52 -0
- nuitka/utils/InstalledPythons.py +9 -4
- nuitka/utils/Json.py +2 -2
- nuitka/utils/PackageResources.py +44 -0
- nuitka/utils/SharedLibraries.py +24 -0
- nuitka/utils/Signing.py +9 -1
- nuitka/utils/Utils.py +1 -0
- {Nuitka_winsvc-2.4.11.data → Nuitka_winsvc-2.5.6.data}/scripts/nuitka-run.cmd +0 -0
- {Nuitka_winsvc-2.4.11.data → Nuitka_winsvc-2.5.6.data}/scripts/nuitka.cmd +0 -0
- {Nuitka_winsvc-2.4.11.dist-info → Nuitka_winsvc-2.5.6.dist-info}/LICENSE.txt +0 -0
- {Nuitka_winsvc-2.4.11.dist-info → Nuitka_winsvc-2.5.6.dist-info}/entry_points.txt +0 -0
- {Nuitka_winsvc-2.4.11.dist-info → Nuitka_winsvc-2.5.6.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
// Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
|
+
|
|
3
|
+
/* WARNING, this code is GENERATED. Modify the template HelperOperationComparisonDual.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 "!=" (NE) comparisons */
|
|
11
|
+
|
|
12
|
+
/* Code referring to "NILONG" corresponds to Nuitka int/long/C long value and "CLONG" to C platform long value. */
|
|
13
|
+
PyObject *RICH_COMPARE_NE_OBJECT_NILONG_CLONG(nuitka_ilong *operand1, long operand2) {
|
|
14
|
+
CHECK_NILONG_OBJECT(operand1);
|
|
15
|
+
|
|
16
|
+
bool left_c_usable = IS_NILONG_C_VALUE_VALID(operand1);
|
|
17
|
+
bool right_c_usable = true;
|
|
18
|
+
|
|
19
|
+
if (left_c_usable && right_c_usable) {
|
|
20
|
+
bool r = COMPARE_EQ_CBOOL_CLONG_CLONG(operand1->c_value, operand2);
|
|
21
|
+
|
|
22
|
+
// Convert to target type.
|
|
23
|
+
PyObject *result = BOOL_FROM(!r);
|
|
24
|
+
Py_INCREF_IMMORTAL(result);
|
|
25
|
+
return result;
|
|
26
|
+
} else if (!left_c_usable && !right_c_usable) {
|
|
27
|
+
ENFORCE_NILONG_OBJECT_VALUE(operand1);
|
|
28
|
+
|
|
29
|
+
return COMPARE_NE_OBJECT_LONG_CLONG(operand1->python_value, operand2);
|
|
30
|
+
} else {
|
|
31
|
+
return COMPARE_NE_OBJECT_LONG_CLONG(operand1->python_value, operand2);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/* Code referring to "NILONG" corresponds to Nuitka int/long/C long value and "CLONG" to C platform long value. */
|
|
36
|
+
bool RICH_COMPARE_NE_CBOOL_NILONG_CLONG(nuitka_ilong *operand1, long operand2) {
|
|
37
|
+
CHECK_NILONG_OBJECT(operand1);
|
|
38
|
+
|
|
39
|
+
bool left_c_usable = IS_NILONG_C_VALUE_VALID(operand1);
|
|
40
|
+
bool right_c_usable = true;
|
|
41
|
+
|
|
42
|
+
if (left_c_usable && right_c_usable) {
|
|
43
|
+
bool r = COMPARE_EQ_CBOOL_CLONG_CLONG(operand1->c_value, operand2);
|
|
44
|
+
|
|
45
|
+
// Convert to target type.
|
|
46
|
+
bool result = !r;
|
|
47
|
+
|
|
48
|
+
return result;
|
|
49
|
+
} else if (!left_c_usable && !right_c_usable) {
|
|
50
|
+
ENFORCE_NILONG_OBJECT_VALUE(operand1);
|
|
51
|
+
|
|
52
|
+
return COMPARE_NE_CBOOL_LONG_CLONG(operand1->python_value, operand2);
|
|
53
|
+
} else {
|
|
54
|
+
return COMPARE_NE_CBOOL_LONG_CLONG(operand1->python_value, operand2);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/* Code referring to "NILONG" corresponds to Nuitka int/long/C long value and "DIGIT" to C platform digit value for long
|
|
59
|
+
* Python objects. */
|
|
60
|
+
PyObject *RICH_COMPARE_NE_OBJECT_NILONG_DIGIT(nuitka_ilong *operand1, long operand2) {
|
|
61
|
+
CHECK_NILONG_OBJECT(operand1);
|
|
62
|
+
assert(Py_ABS(operand2) < (1 << PyLong_SHIFT));
|
|
63
|
+
|
|
64
|
+
bool left_c_usable = IS_NILONG_C_VALUE_VALID(operand1);
|
|
65
|
+
bool right_c_usable = true;
|
|
66
|
+
|
|
67
|
+
if (left_c_usable && right_c_usable) {
|
|
68
|
+
bool r = COMPARE_EQ_CBOOL_CLONG_CLONG(operand1->c_value, operand2);
|
|
69
|
+
|
|
70
|
+
// Convert to target type.
|
|
71
|
+
PyObject *result = BOOL_FROM(!r);
|
|
72
|
+
Py_INCREF_IMMORTAL(result);
|
|
73
|
+
return result;
|
|
74
|
+
} else if (!left_c_usable && !right_c_usable) {
|
|
75
|
+
ENFORCE_NILONG_OBJECT_VALUE(operand1);
|
|
76
|
+
|
|
77
|
+
return COMPARE_NE_OBJECT_LONG_DIGIT(operand1->python_value, operand2);
|
|
78
|
+
} else {
|
|
79
|
+
return COMPARE_NE_OBJECT_LONG_DIGIT(operand1->python_value, operand2);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/* Code referring to "NILONG" corresponds to Nuitka int/long/C long value and "DIGIT" to C platform digit value for long
|
|
84
|
+
* Python objects. */
|
|
85
|
+
bool RICH_COMPARE_NE_CBOOL_NILONG_DIGIT(nuitka_ilong *operand1, long operand2) {
|
|
86
|
+
CHECK_NILONG_OBJECT(operand1);
|
|
87
|
+
assert(Py_ABS(operand2) < (1 << PyLong_SHIFT));
|
|
88
|
+
|
|
89
|
+
bool left_c_usable = IS_NILONG_C_VALUE_VALID(operand1);
|
|
90
|
+
bool right_c_usable = true;
|
|
91
|
+
|
|
92
|
+
if (left_c_usable && right_c_usable) {
|
|
93
|
+
bool r = COMPARE_EQ_CBOOL_CLONG_CLONG(operand1->c_value, operand2);
|
|
94
|
+
|
|
95
|
+
// Convert to target type.
|
|
96
|
+
bool result = !r;
|
|
97
|
+
|
|
98
|
+
return result;
|
|
99
|
+
} else if (!left_c_usable && !right_c_usable) {
|
|
100
|
+
ENFORCE_NILONG_OBJECT_VALUE(operand1);
|
|
101
|
+
|
|
102
|
+
return COMPARE_NE_CBOOL_LONG_DIGIT(operand1->python_value, operand2);
|
|
103
|
+
} else {
|
|
104
|
+
return COMPARE_NE_CBOOL_LONG_DIGIT(operand1->python_value, operand2);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
// Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
109
|
+
// integrates with CPython, but also works on its own.
|
|
110
|
+
//
|
|
111
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
112
|
+
// you may not use this file except in compliance with the License.
|
|
113
|
+
// You may obtain a copy of the License at
|
|
114
|
+
//
|
|
115
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
116
|
+
//
|
|
117
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
118
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
119
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
120
|
+
// See the License for the specific language governing permissions and
|
|
121
|
+
// limitations under the License.
|
|
@@ -758,6 +758,8 @@ static PyObject *COMPARE_EQ_OBJECT_STR_STR(PyObject *operand1, PyObject *operand
|
|
|
758
758
|
}
|
|
759
759
|
}
|
|
760
760
|
}
|
|
761
|
+
#endif
|
|
762
|
+
#if PYTHON_VERSION < 0x300
|
|
761
763
|
/* Code referring to "OBJECT" corresponds to any Python object and "STR" to Python2 'str'. */
|
|
762
764
|
PyObject *RICH_COMPARE_EQ_OBJECT_OBJECT_STR(PyObject *operand1, PyObject *operand2) {
|
|
763
765
|
|
|
@@ -1401,6 +1403,8 @@ static bool COMPARE_EQ_CBOOL_STR_STR(PyObject *operand1, PyObject *operand2) {
|
|
|
1401
1403
|
}
|
|
1402
1404
|
}
|
|
1403
1405
|
}
|
|
1406
|
+
#endif
|
|
1407
|
+
#if PYTHON_VERSION < 0x300
|
|
1404
1408
|
/* Code referring to "STR" corresponds to Python2 'str' and "STR" to Python2 'str'. */
|
|
1405
1409
|
bool RICH_COMPARE_EQ_CBOOL_STR_STR(PyObject *operand1, PyObject *operand2) {
|
|
1406
1410
|
|
|
@@ -3616,6 +3620,8 @@ static PyObject *COMPARE_EQ_OBJECT_BYTES_BYTES(PyObject *operand1, PyObject *ope
|
|
|
3616
3620
|
}
|
|
3617
3621
|
}
|
|
3618
3622
|
}
|
|
3623
|
+
#endif
|
|
3624
|
+
#if PYTHON_VERSION >= 0x300
|
|
3619
3625
|
/* Code referring to "OBJECT" corresponds to any Python object and "BYTES" to Python3 'bytes'. */
|
|
3620
3626
|
PyObject *RICH_COMPARE_EQ_OBJECT_OBJECT_BYTES(PyObject *operand1, PyObject *operand2) {
|
|
3621
3627
|
|
|
@@ -4259,6 +4265,8 @@ static bool COMPARE_EQ_CBOOL_BYTES_BYTES(PyObject *operand1, PyObject *operand2)
|
|
|
4259
4265
|
}
|
|
4260
4266
|
}
|
|
4261
4267
|
}
|
|
4268
|
+
#endif
|
|
4269
|
+
#if PYTHON_VERSION >= 0x300
|
|
4262
4270
|
/* Code referring to "BYTES" corresponds to Python3 'bytes' and "BYTES" to Python3 'bytes'. */
|
|
4263
4271
|
bool RICH_COMPARE_EQ_CBOOL_BYTES_BYTES(PyObject *operand1, PyObject *operand2) {
|
|
4264
4272
|
|
|
@@ -11760,7 +11768,6 @@ nuitka_bool RICH_COMPARE_EQ_NBOOL_LIST_LIST(PyObject *operand1, PyObject *operan
|
|
|
11760
11768
|
return COMPARE_EQ_NBOOL_LIST_LIST(operand1, operand2);
|
|
11761
11769
|
}
|
|
11762
11770
|
|
|
11763
|
-
#if PYTHON_VERSION < 0x300
|
|
11764
11771
|
static PyObject *COMPARE_EQ_OBJECT_LONG_CLONG(PyObject *operand1, long operand2) {
|
|
11765
11772
|
CHECK_OBJECT(operand1);
|
|
11766
11773
|
assert(PyLong_CheckExact(operand1));
|
|
@@ -11792,7 +11799,8 @@ static PyObject *COMPARE_EQ_OBJECT_LONG_CLONG(PyObject *operand1, long operand2)
|
|
|
11792
11799
|
}
|
|
11793
11800
|
}
|
|
11794
11801
|
|
|
11795
|
-
Py_ssize_t operand2_size =
|
|
11802
|
+
NUITKA_MAY_BE_UNUSED Py_ssize_t operand2_size =
|
|
11803
|
+
operand2_is_negative == false ? operand2_digit_count : -operand2_digit_count;
|
|
11796
11804
|
|
|
11797
11805
|
bool r;
|
|
11798
11806
|
|
|
@@ -11815,6 +11823,7 @@ static PyObject *COMPARE_EQ_OBJECT_LONG_CLONG(PyObject *operand1, long operand2)
|
|
|
11815
11823
|
Py_INCREF_IMMORTAL(result);
|
|
11816
11824
|
return result;
|
|
11817
11825
|
}
|
|
11826
|
+
#if PYTHON_VERSION < 0x300
|
|
11818
11827
|
/* Code referring to "LONG" corresponds to Python2 'long', Python3 'int' and "INT" to Python2 'int'. */
|
|
11819
11828
|
PyObject *RICH_COMPARE_EQ_OBJECT_LONG_INT(PyObject *operand1, PyObject *operand2) {
|
|
11820
11829
|
|
|
@@ -11822,7 +11831,6 @@ PyObject *RICH_COMPARE_EQ_OBJECT_LONG_INT(PyObject *operand1, PyObject *operand2
|
|
|
11822
11831
|
}
|
|
11823
11832
|
#endif
|
|
11824
11833
|
|
|
11825
|
-
#if PYTHON_VERSION < 0x300
|
|
11826
11834
|
static bool COMPARE_EQ_CBOOL_LONG_CLONG(PyObject *operand1, long operand2) {
|
|
11827
11835
|
CHECK_OBJECT(operand1);
|
|
11828
11836
|
assert(PyLong_CheckExact(operand1));
|
|
@@ -11854,7 +11862,8 @@ static bool COMPARE_EQ_CBOOL_LONG_CLONG(PyObject *operand1, long operand2) {
|
|
|
11854
11862
|
}
|
|
11855
11863
|
}
|
|
11856
11864
|
|
|
11857
|
-
Py_ssize_t operand2_size =
|
|
11865
|
+
NUITKA_MAY_BE_UNUSED Py_ssize_t operand2_size =
|
|
11866
|
+
operand2_is_negative == false ? operand2_digit_count : -operand2_digit_count;
|
|
11858
11867
|
|
|
11859
11868
|
bool r;
|
|
11860
11869
|
|
|
@@ -11877,6 +11886,7 @@ static bool COMPARE_EQ_CBOOL_LONG_CLONG(PyObject *operand1, long operand2) {
|
|
|
11877
11886
|
|
|
11878
11887
|
return result;
|
|
11879
11888
|
}
|
|
11889
|
+
#if PYTHON_VERSION < 0x300
|
|
11880
11890
|
/* Code referring to "LONG" corresponds to Python2 'long', Python3 'int' and "INT" to Python2 'int'. */
|
|
11881
11891
|
bool RICH_COMPARE_EQ_CBOOL_LONG_INT(PyObject *operand1, PyObject *operand2) {
|
|
11882
11892
|
|
|
@@ -11899,6 +11909,8 @@ static PyObject *COMPARE_EQ_OBJECT_INT_CLONG(PyObject *operand1, long operand2)
|
|
|
11899
11909
|
Py_INCREF_IMMORTAL(result);
|
|
11900
11910
|
return result;
|
|
11901
11911
|
}
|
|
11912
|
+
#endif
|
|
11913
|
+
#if PYTHON_VERSION < 0x300
|
|
11902
11914
|
/* Code referring to "INT" corresponds to Python2 'int' and "CLONG" to C platform long value. */
|
|
11903
11915
|
PyObject *RICH_COMPARE_EQ_OBJECT_INT_CLONG(PyObject *operand1, long operand2) {
|
|
11904
11916
|
|
|
@@ -11921,6 +11933,8 @@ static bool COMPARE_EQ_CBOOL_INT_CLONG(PyObject *operand1, long operand2) {
|
|
|
11921
11933
|
|
|
11922
11934
|
return result;
|
|
11923
11935
|
}
|
|
11936
|
+
#endif
|
|
11937
|
+
#if PYTHON_VERSION < 0x300
|
|
11924
11938
|
/* Code referring to "INT" corresponds to Python2 'int' and "CLONG" to C platform long value. */
|
|
11925
11939
|
bool RICH_COMPARE_EQ_CBOOL_INT_CLONG(PyObject *operand1, long operand2) {
|
|
11926
11940
|
|
|
@@ -756,6 +756,8 @@ static PyObject *COMPARE_GE_OBJECT_STR_STR(PyObject *operand1, PyObject *operand
|
|
|
756
756
|
Py_INCREF_IMMORTAL(result);
|
|
757
757
|
return result;
|
|
758
758
|
}
|
|
759
|
+
#endif
|
|
760
|
+
#if PYTHON_VERSION < 0x300
|
|
759
761
|
/* Code referring to "OBJECT" corresponds to any Python object and "STR" to Python2 'str'. */
|
|
760
762
|
PyObject *RICH_COMPARE_GE_OBJECT_OBJECT_STR(PyObject *operand1, PyObject *operand2) {
|
|
761
763
|
|
|
@@ -1390,6 +1392,8 @@ static bool COMPARE_GE_CBOOL_STR_STR(PyObject *operand1, PyObject *operand2) {
|
|
|
1390
1392
|
|
|
1391
1393
|
return result;
|
|
1392
1394
|
}
|
|
1395
|
+
#endif
|
|
1396
|
+
#if PYTHON_VERSION < 0x300
|
|
1393
1397
|
/* Code referring to "OBJECT" corresponds to any Python object and "STR" to Python2 'str'. */
|
|
1394
1398
|
nuitka_bool RICH_COMPARE_GE_NBOOL_OBJECT_STR(PyObject *operand1, PyObject *operand2) {
|
|
1395
1399
|
|
|
@@ -3476,6 +3480,8 @@ static PyObject *COMPARE_GE_OBJECT_BYTES_BYTES(PyObject *operand1, PyObject *ope
|
|
|
3476
3480
|
Py_INCREF_IMMORTAL(result);
|
|
3477
3481
|
return result;
|
|
3478
3482
|
}
|
|
3483
|
+
#endif
|
|
3484
|
+
#if PYTHON_VERSION >= 0x300
|
|
3479
3485
|
/* Code referring to "OBJECT" corresponds to any Python object and "BYTES" to Python3 'bytes'. */
|
|
3480
3486
|
PyObject *RICH_COMPARE_GE_OBJECT_OBJECT_BYTES(PyObject *operand1, PyObject *operand2) {
|
|
3481
3487
|
|
|
@@ -4110,6 +4116,8 @@ static bool COMPARE_GE_CBOOL_BYTES_BYTES(PyObject *operand1, PyObject *operand2)
|
|
|
4110
4116
|
|
|
4111
4117
|
return result;
|
|
4112
4118
|
}
|
|
4119
|
+
#endif
|
|
4120
|
+
#if PYTHON_VERSION >= 0x300
|
|
4113
4121
|
/* Code referring to "OBJECT" corresponds to any Python object and "BYTES" to Python3 'bytes'. */
|
|
4114
4122
|
nuitka_bool RICH_COMPARE_GE_NBOOL_OBJECT_BYTES(PyObject *operand1, PyObject *operand2) {
|
|
4115
4123
|
|
|
@@ -11549,7 +11557,6 @@ nuitka_bool RICH_COMPARE_GE_NBOOL_LIST_LIST(PyObject *operand1, PyObject *operan
|
|
|
11549
11557
|
return COMPARE_GE_NBOOL_LIST_LIST(operand1, operand2);
|
|
11550
11558
|
}
|
|
11551
11559
|
|
|
11552
|
-
#if PYTHON_VERSION < 0x300
|
|
11553
11560
|
static PyObject *COMPARE_GE_OBJECT_LONG_CLONG(PyObject *operand1, long operand2) {
|
|
11554
11561
|
CHECK_OBJECT(operand1);
|
|
11555
11562
|
assert(PyLong_CheckExact(operand1));
|
|
@@ -11581,7 +11588,8 @@ static PyObject *COMPARE_GE_OBJECT_LONG_CLONG(PyObject *operand1, long operand2)
|
|
|
11581
11588
|
}
|
|
11582
11589
|
}
|
|
11583
11590
|
|
|
11584
|
-
Py_ssize_t operand2_size =
|
|
11591
|
+
NUITKA_MAY_BE_UNUSED Py_ssize_t operand2_size =
|
|
11592
|
+
operand2_is_negative == false ? operand2_digit_count : -operand2_digit_count;
|
|
11585
11593
|
|
|
11586
11594
|
bool r;
|
|
11587
11595
|
|
|
@@ -11606,6 +11614,7 @@ static PyObject *COMPARE_GE_OBJECT_LONG_CLONG(PyObject *operand1, long operand2)
|
|
|
11606
11614
|
Py_INCREF_IMMORTAL(result);
|
|
11607
11615
|
return result;
|
|
11608
11616
|
}
|
|
11617
|
+
#if PYTHON_VERSION < 0x300
|
|
11609
11618
|
/* Code referring to "LONG" corresponds to Python2 'long', Python3 'int' and "INT" to Python2 'int'. */
|
|
11610
11619
|
PyObject *RICH_COMPARE_GE_OBJECT_LONG_INT(PyObject *operand1, PyObject *operand2) {
|
|
11611
11620
|
|
|
@@ -11613,7 +11622,6 @@ PyObject *RICH_COMPARE_GE_OBJECT_LONG_INT(PyObject *operand1, PyObject *operand2
|
|
|
11613
11622
|
}
|
|
11614
11623
|
#endif
|
|
11615
11624
|
|
|
11616
|
-
#if PYTHON_VERSION < 0x300
|
|
11617
11625
|
static bool COMPARE_GE_CBOOL_LONG_CLONG(PyObject *operand1, long operand2) {
|
|
11618
11626
|
CHECK_OBJECT(operand1);
|
|
11619
11627
|
assert(PyLong_CheckExact(operand1));
|
|
@@ -11645,7 +11653,8 @@ static bool COMPARE_GE_CBOOL_LONG_CLONG(PyObject *operand1, long operand2) {
|
|
|
11645
11653
|
}
|
|
11646
11654
|
}
|
|
11647
11655
|
|
|
11648
|
-
Py_ssize_t operand2_size =
|
|
11656
|
+
NUITKA_MAY_BE_UNUSED Py_ssize_t operand2_size =
|
|
11657
|
+
operand2_is_negative == false ? operand2_digit_count : -operand2_digit_count;
|
|
11649
11658
|
|
|
11650
11659
|
bool r;
|
|
11651
11660
|
|
|
@@ -11670,6 +11679,7 @@ static bool COMPARE_GE_CBOOL_LONG_CLONG(PyObject *operand1, long operand2) {
|
|
|
11670
11679
|
|
|
11671
11680
|
return result;
|
|
11672
11681
|
}
|
|
11682
|
+
#if PYTHON_VERSION < 0x300
|
|
11673
11683
|
/* Code referring to "LONG" corresponds to Python2 'long', Python3 'int' and "INT" to Python2 'int'. */
|
|
11674
11684
|
bool RICH_COMPARE_GE_CBOOL_LONG_INT(PyObject *operand1, PyObject *operand2) {
|
|
11675
11685
|
|
|
@@ -11692,6 +11702,8 @@ static PyObject *COMPARE_GE_OBJECT_INT_CLONG(PyObject *operand1, long operand2)
|
|
|
11692
11702
|
Py_INCREF_IMMORTAL(result);
|
|
11693
11703
|
return result;
|
|
11694
11704
|
}
|
|
11705
|
+
#endif
|
|
11706
|
+
#if PYTHON_VERSION < 0x300
|
|
11695
11707
|
/* Code referring to "INT" corresponds to Python2 'int' and "CLONG" to C platform long value. */
|
|
11696
11708
|
PyObject *RICH_COMPARE_GE_OBJECT_INT_CLONG(PyObject *operand1, long operand2) {
|
|
11697
11709
|
|
|
@@ -11714,6 +11726,8 @@ static bool COMPARE_GE_CBOOL_INT_CLONG(PyObject *operand1, long operand2) {
|
|
|
11714
11726
|
|
|
11715
11727
|
return result;
|
|
11716
11728
|
}
|
|
11729
|
+
#endif
|
|
11730
|
+
#if PYTHON_VERSION < 0x300
|
|
11717
11731
|
/* Code referring to "INT" corresponds to Python2 'int' and "CLONG" to C platform long value. */
|
|
11718
11732
|
bool RICH_COMPARE_GE_CBOOL_INT_CLONG(PyObject *operand1, long operand2) {
|
|
11719
11733
|
|
|
@@ -740,6 +740,8 @@ static PyObject *COMPARE_GT_OBJECT_STR_STR(PyObject *operand1, PyObject *operand
|
|
|
740
740
|
Py_INCREF_IMMORTAL(result);
|
|
741
741
|
return result;
|
|
742
742
|
}
|
|
743
|
+
#endif
|
|
744
|
+
#if PYTHON_VERSION < 0x300
|
|
743
745
|
/* Code referring to "OBJECT" corresponds to any Python object and "STR" to Python2 'str'. */
|
|
744
746
|
PyObject *RICH_COMPARE_GT_OBJECT_OBJECT_STR(PyObject *operand1, PyObject *operand2) {
|
|
745
747
|
|
|
@@ -1374,6 +1376,8 @@ static bool COMPARE_GT_CBOOL_STR_STR(PyObject *operand1, PyObject *operand2) {
|
|
|
1374
1376
|
|
|
1375
1377
|
return result;
|
|
1376
1378
|
}
|
|
1379
|
+
#endif
|
|
1380
|
+
#if PYTHON_VERSION < 0x300
|
|
1377
1381
|
/* Code referring to "OBJECT" corresponds to any Python object and "STR" to Python2 'str'. */
|
|
1378
1382
|
nuitka_bool RICH_COMPARE_GT_NBOOL_OBJECT_STR(PyObject *operand1, PyObject *operand2) {
|
|
1379
1383
|
|
|
@@ -3460,6 +3464,8 @@ static PyObject *COMPARE_GT_OBJECT_BYTES_BYTES(PyObject *operand1, PyObject *ope
|
|
|
3460
3464
|
Py_INCREF_IMMORTAL(result);
|
|
3461
3465
|
return result;
|
|
3462
3466
|
}
|
|
3467
|
+
#endif
|
|
3468
|
+
#if PYTHON_VERSION >= 0x300
|
|
3463
3469
|
/* Code referring to "OBJECT" corresponds to any Python object and "BYTES" to Python3 'bytes'. */
|
|
3464
3470
|
PyObject *RICH_COMPARE_GT_OBJECT_OBJECT_BYTES(PyObject *operand1, PyObject *operand2) {
|
|
3465
3471
|
|
|
@@ -4094,6 +4100,8 @@ static bool COMPARE_GT_CBOOL_BYTES_BYTES(PyObject *operand1, PyObject *operand2)
|
|
|
4094
4100
|
|
|
4095
4101
|
return result;
|
|
4096
4102
|
}
|
|
4103
|
+
#endif
|
|
4104
|
+
#if PYTHON_VERSION >= 0x300
|
|
4097
4105
|
/* Code referring to "OBJECT" corresponds to any Python object and "BYTES" to Python3 'bytes'. */
|
|
4098
4106
|
nuitka_bool RICH_COMPARE_GT_NBOOL_OBJECT_BYTES(PyObject *operand1, PyObject *operand2) {
|
|
4099
4107
|
|
|
@@ -11533,7 +11541,6 @@ nuitka_bool RICH_COMPARE_GT_NBOOL_LIST_LIST(PyObject *operand1, PyObject *operan
|
|
|
11533
11541
|
return COMPARE_GT_NBOOL_LIST_LIST(operand1, operand2);
|
|
11534
11542
|
}
|
|
11535
11543
|
|
|
11536
|
-
#if PYTHON_VERSION < 0x300
|
|
11537
11544
|
static PyObject *COMPARE_GT_OBJECT_LONG_CLONG(PyObject *operand1, long operand2) {
|
|
11538
11545
|
CHECK_OBJECT(operand1);
|
|
11539
11546
|
assert(PyLong_CheckExact(operand1));
|
|
@@ -11565,7 +11572,8 @@ static PyObject *COMPARE_GT_OBJECT_LONG_CLONG(PyObject *operand1, long operand2)
|
|
|
11565
11572
|
}
|
|
11566
11573
|
}
|
|
11567
11574
|
|
|
11568
|
-
Py_ssize_t operand2_size =
|
|
11575
|
+
NUITKA_MAY_BE_UNUSED Py_ssize_t operand2_size =
|
|
11576
|
+
operand2_is_negative == false ? operand2_digit_count : -operand2_digit_count;
|
|
11569
11577
|
|
|
11570
11578
|
bool r;
|
|
11571
11579
|
|
|
@@ -11590,6 +11598,7 @@ static PyObject *COMPARE_GT_OBJECT_LONG_CLONG(PyObject *operand1, long operand2)
|
|
|
11590
11598
|
Py_INCREF_IMMORTAL(result);
|
|
11591
11599
|
return result;
|
|
11592
11600
|
}
|
|
11601
|
+
#if PYTHON_VERSION < 0x300
|
|
11593
11602
|
/* Code referring to "LONG" corresponds to Python2 'long', Python3 'int' and "INT" to Python2 'int'. */
|
|
11594
11603
|
PyObject *RICH_COMPARE_GT_OBJECT_LONG_INT(PyObject *operand1, PyObject *operand2) {
|
|
11595
11604
|
|
|
@@ -11597,7 +11606,6 @@ PyObject *RICH_COMPARE_GT_OBJECT_LONG_INT(PyObject *operand1, PyObject *operand2
|
|
|
11597
11606
|
}
|
|
11598
11607
|
#endif
|
|
11599
11608
|
|
|
11600
|
-
#if PYTHON_VERSION < 0x300
|
|
11601
11609
|
static bool COMPARE_GT_CBOOL_LONG_CLONG(PyObject *operand1, long operand2) {
|
|
11602
11610
|
CHECK_OBJECT(operand1);
|
|
11603
11611
|
assert(PyLong_CheckExact(operand1));
|
|
@@ -11629,7 +11637,8 @@ static bool COMPARE_GT_CBOOL_LONG_CLONG(PyObject *operand1, long operand2) {
|
|
|
11629
11637
|
}
|
|
11630
11638
|
}
|
|
11631
11639
|
|
|
11632
|
-
Py_ssize_t operand2_size =
|
|
11640
|
+
NUITKA_MAY_BE_UNUSED Py_ssize_t operand2_size =
|
|
11641
|
+
operand2_is_negative == false ? operand2_digit_count : -operand2_digit_count;
|
|
11633
11642
|
|
|
11634
11643
|
bool r;
|
|
11635
11644
|
|
|
@@ -11654,6 +11663,7 @@ static bool COMPARE_GT_CBOOL_LONG_CLONG(PyObject *operand1, long operand2) {
|
|
|
11654
11663
|
|
|
11655
11664
|
return result;
|
|
11656
11665
|
}
|
|
11666
|
+
#if PYTHON_VERSION < 0x300
|
|
11657
11667
|
/* Code referring to "LONG" corresponds to Python2 'long', Python3 'int' and "INT" to Python2 'int'. */
|
|
11658
11668
|
bool RICH_COMPARE_GT_CBOOL_LONG_INT(PyObject *operand1, PyObject *operand2) {
|
|
11659
11669
|
|
|
@@ -11676,6 +11686,8 @@ static PyObject *COMPARE_GT_OBJECT_INT_CLONG(PyObject *operand1, long operand2)
|
|
|
11676
11686
|
Py_INCREF_IMMORTAL(result);
|
|
11677
11687
|
return result;
|
|
11678
11688
|
}
|
|
11689
|
+
#endif
|
|
11690
|
+
#if PYTHON_VERSION < 0x300
|
|
11679
11691
|
/* Code referring to "INT" corresponds to Python2 'int' and "CLONG" to C platform long value. */
|
|
11680
11692
|
PyObject *RICH_COMPARE_GT_OBJECT_INT_CLONG(PyObject *operand1, long operand2) {
|
|
11681
11693
|
|
|
@@ -11698,6 +11710,8 @@ static bool COMPARE_GT_CBOOL_INT_CLONG(PyObject *operand1, long operand2) {
|
|
|
11698
11710
|
|
|
11699
11711
|
return result;
|
|
11700
11712
|
}
|
|
11713
|
+
#endif
|
|
11714
|
+
#if PYTHON_VERSION < 0x300
|
|
11701
11715
|
/* Code referring to "INT" corresponds to Python2 'int' and "CLONG" to C platform long value. */
|
|
11702
11716
|
bool RICH_COMPARE_GT_CBOOL_INT_CLONG(PyObject *operand1, long operand2) {
|
|
11703
11717
|
|
|
@@ -756,6 +756,8 @@ static PyObject *COMPARE_LE_OBJECT_STR_STR(PyObject *operand1, PyObject *operand
|
|
|
756
756
|
Py_INCREF_IMMORTAL(result);
|
|
757
757
|
return result;
|
|
758
758
|
}
|
|
759
|
+
#endif
|
|
760
|
+
#if PYTHON_VERSION < 0x300
|
|
759
761
|
/* Code referring to "OBJECT" corresponds to any Python object and "STR" to Python2 'str'. */
|
|
760
762
|
PyObject *RICH_COMPARE_LE_OBJECT_OBJECT_STR(PyObject *operand1, PyObject *operand2) {
|
|
761
763
|
|
|
@@ -1398,6 +1400,8 @@ static bool COMPARE_LE_CBOOL_STR_STR(PyObject *operand1, PyObject *operand2) {
|
|
|
1398
1400
|
|
|
1399
1401
|
return result;
|
|
1400
1402
|
}
|
|
1403
|
+
#endif
|
|
1404
|
+
#if PYTHON_VERSION < 0x300
|
|
1401
1405
|
/* Code referring to "STR" corresponds to Python2 'str' and "STR" to Python2 'str'. */
|
|
1402
1406
|
bool RICH_COMPARE_LE_CBOOL_STR_STR(PyObject *operand1, PyObject *operand2) {
|
|
1403
1407
|
|
|
@@ -3506,6 +3510,8 @@ static PyObject *COMPARE_LE_OBJECT_BYTES_BYTES(PyObject *operand1, PyObject *ope
|
|
|
3506
3510
|
Py_INCREF_IMMORTAL(result);
|
|
3507
3511
|
return result;
|
|
3508
3512
|
}
|
|
3513
|
+
#endif
|
|
3514
|
+
#if PYTHON_VERSION >= 0x300
|
|
3509
3515
|
/* Code referring to "OBJECT" corresponds to any Python object and "BYTES" to Python3 'bytes'. */
|
|
3510
3516
|
PyObject *RICH_COMPARE_LE_OBJECT_OBJECT_BYTES(PyObject *operand1, PyObject *operand2) {
|
|
3511
3517
|
|
|
@@ -4148,6 +4154,8 @@ static bool COMPARE_LE_CBOOL_BYTES_BYTES(PyObject *operand1, PyObject *operand2)
|
|
|
4148
4154
|
|
|
4149
4155
|
return result;
|
|
4150
4156
|
}
|
|
4157
|
+
#endif
|
|
4158
|
+
#if PYTHON_VERSION >= 0x300
|
|
4151
4159
|
/* Code referring to "BYTES" corresponds to Python3 'bytes' and "BYTES" to Python3 'bytes'. */
|
|
4152
4160
|
bool RICH_COMPARE_LE_CBOOL_BYTES_BYTES(PyObject *operand1, PyObject *operand2) {
|
|
4153
4161
|
|
|
@@ -11635,7 +11643,6 @@ nuitka_bool RICH_COMPARE_LE_NBOOL_LIST_LIST(PyObject *operand1, PyObject *operan
|
|
|
11635
11643
|
return COMPARE_LE_NBOOL_LIST_LIST(operand1, operand2);
|
|
11636
11644
|
}
|
|
11637
11645
|
|
|
11638
|
-
#if PYTHON_VERSION < 0x300
|
|
11639
11646
|
static PyObject *COMPARE_LE_OBJECT_LONG_CLONG(PyObject *operand1, long operand2) {
|
|
11640
11647
|
CHECK_OBJECT(operand1);
|
|
11641
11648
|
assert(PyLong_CheckExact(operand1));
|
|
@@ -11667,7 +11674,8 @@ static PyObject *COMPARE_LE_OBJECT_LONG_CLONG(PyObject *operand1, long operand2)
|
|
|
11667
11674
|
}
|
|
11668
11675
|
}
|
|
11669
11676
|
|
|
11670
|
-
Py_ssize_t operand2_size =
|
|
11677
|
+
NUITKA_MAY_BE_UNUSED Py_ssize_t operand2_size =
|
|
11678
|
+
operand2_is_negative == false ? operand2_digit_count : -operand2_digit_count;
|
|
11671
11679
|
|
|
11672
11680
|
bool r;
|
|
11673
11681
|
|
|
@@ -11692,6 +11700,7 @@ static PyObject *COMPARE_LE_OBJECT_LONG_CLONG(PyObject *operand1, long operand2)
|
|
|
11692
11700
|
Py_INCREF_IMMORTAL(result);
|
|
11693
11701
|
return result;
|
|
11694
11702
|
}
|
|
11703
|
+
#if PYTHON_VERSION < 0x300
|
|
11695
11704
|
/* Code referring to "LONG" corresponds to Python2 'long', Python3 'int' and "INT" to Python2 'int'. */
|
|
11696
11705
|
PyObject *RICH_COMPARE_LE_OBJECT_LONG_INT(PyObject *operand1, PyObject *operand2) {
|
|
11697
11706
|
|
|
@@ -11699,7 +11708,6 @@ PyObject *RICH_COMPARE_LE_OBJECT_LONG_INT(PyObject *operand1, PyObject *operand2
|
|
|
11699
11708
|
}
|
|
11700
11709
|
#endif
|
|
11701
11710
|
|
|
11702
|
-
#if PYTHON_VERSION < 0x300
|
|
11703
11711
|
static bool COMPARE_LE_CBOOL_LONG_CLONG(PyObject *operand1, long operand2) {
|
|
11704
11712
|
CHECK_OBJECT(operand1);
|
|
11705
11713
|
assert(PyLong_CheckExact(operand1));
|
|
@@ -11731,7 +11739,8 @@ static bool COMPARE_LE_CBOOL_LONG_CLONG(PyObject *operand1, long operand2) {
|
|
|
11731
11739
|
}
|
|
11732
11740
|
}
|
|
11733
11741
|
|
|
11734
|
-
Py_ssize_t operand2_size =
|
|
11742
|
+
NUITKA_MAY_BE_UNUSED Py_ssize_t operand2_size =
|
|
11743
|
+
operand2_is_negative == false ? operand2_digit_count : -operand2_digit_count;
|
|
11735
11744
|
|
|
11736
11745
|
bool r;
|
|
11737
11746
|
|
|
@@ -11756,6 +11765,7 @@ static bool COMPARE_LE_CBOOL_LONG_CLONG(PyObject *operand1, long operand2) {
|
|
|
11756
11765
|
|
|
11757
11766
|
return result;
|
|
11758
11767
|
}
|
|
11768
|
+
#if PYTHON_VERSION < 0x300
|
|
11759
11769
|
/* Code referring to "LONG" corresponds to Python2 'long', Python3 'int' and "INT" to Python2 'int'. */
|
|
11760
11770
|
bool RICH_COMPARE_LE_CBOOL_LONG_INT(PyObject *operand1, PyObject *operand2) {
|
|
11761
11771
|
|
|
@@ -11778,6 +11788,8 @@ static PyObject *COMPARE_LE_OBJECT_INT_CLONG(PyObject *operand1, long operand2)
|
|
|
11778
11788
|
Py_INCREF_IMMORTAL(result);
|
|
11779
11789
|
return result;
|
|
11780
11790
|
}
|
|
11791
|
+
#endif
|
|
11792
|
+
#if PYTHON_VERSION < 0x300
|
|
11781
11793
|
/* Code referring to "INT" corresponds to Python2 'int' and "CLONG" to C platform long value. */
|
|
11782
11794
|
PyObject *RICH_COMPARE_LE_OBJECT_INT_CLONG(PyObject *operand1, long operand2) {
|
|
11783
11795
|
|
|
@@ -11800,6 +11812,8 @@ static bool COMPARE_LE_CBOOL_INT_CLONG(PyObject *operand1, long operand2) {
|
|
|
11800
11812
|
|
|
11801
11813
|
return result;
|
|
11802
11814
|
}
|
|
11815
|
+
#endif
|
|
11816
|
+
#if PYTHON_VERSION < 0x300
|
|
11803
11817
|
/* Code referring to "INT" corresponds to Python2 'int' and "CLONG" to C platform long value. */
|
|
11804
11818
|
bool RICH_COMPARE_LE_CBOOL_INT_CLONG(PyObject *operand1, long operand2) {
|
|
11805
11819
|
|
|
@@ -740,6 +740,8 @@ static PyObject *COMPARE_LT_OBJECT_STR_STR(PyObject *operand1, PyObject *operand
|
|
|
740
740
|
Py_INCREF_IMMORTAL(result);
|
|
741
741
|
return result;
|
|
742
742
|
}
|
|
743
|
+
#endif
|
|
744
|
+
#if PYTHON_VERSION < 0x300
|
|
743
745
|
/* Code referring to "OBJECT" corresponds to any Python object and "STR" to Python2 'str'. */
|
|
744
746
|
PyObject *RICH_COMPARE_LT_OBJECT_OBJECT_STR(PyObject *operand1, PyObject *operand2) {
|
|
745
747
|
|
|
@@ -1382,6 +1384,8 @@ static bool COMPARE_LT_CBOOL_STR_STR(PyObject *operand1, PyObject *operand2) {
|
|
|
1382
1384
|
|
|
1383
1385
|
return result;
|
|
1384
1386
|
}
|
|
1387
|
+
#endif
|
|
1388
|
+
#if PYTHON_VERSION < 0x300
|
|
1385
1389
|
/* Code referring to "STR" corresponds to Python2 'str' and "STR" to Python2 'str'. */
|
|
1386
1390
|
bool RICH_COMPARE_LT_CBOOL_STR_STR(PyObject *operand1, PyObject *operand2) {
|
|
1387
1391
|
|
|
@@ -3490,6 +3494,8 @@ static PyObject *COMPARE_LT_OBJECT_BYTES_BYTES(PyObject *operand1, PyObject *ope
|
|
|
3490
3494
|
Py_INCREF_IMMORTAL(result);
|
|
3491
3495
|
return result;
|
|
3492
3496
|
}
|
|
3497
|
+
#endif
|
|
3498
|
+
#if PYTHON_VERSION >= 0x300
|
|
3493
3499
|
/* Code referring to "OBJECT" corresponds to any Python object and "BYTES" to Python3 'bytes'. */
|
|
3494
3500
|
PyObject *RICH_COMPARE_LT_OBJECT_OBJECT_BYTES(PyObject *operand1, PyObject *operand2) {
|
|
3495
3501
|
|
|
@@ -4132,6 +4138,8 @@ static bool COMPARE_LT_CBOOL_BYTES_BYTES(PyObject *operand1, PyObject *operand2)
|
|
|
4132
4138
|
|
|
4133
4139
|
return result;
|
|
4134
4140
|
}
|
|
4141
|
+
#endif
|
|
4142
|
+
#if PYTHON_VERSION >= 0x300
|
|
4135
4143
|
/* Code referring to "BYTES" corresponds to Python3 'bytes' and "BYTES" to Python3 'bytes'. */
|
|
4136
4144
|
bool RICH_COMPARE_LT_CBOOL_BYTES_BYTES(PyObject *operand1, PyObject *operand2) {
|
|
4137
4145
|
|
|
@@ -11619,7 +11627,6 @@ nuitka_bool RICH_COMPARE_LT_NBOOL_LIST_LIST(PyObject *operand1, PyObject *operan
|
|
|
11619
11627
|
return COMPARE_LT_NBOOL_LIST_LIST(operand1, operand2);
|
|
11620
11628
|
}
|
|
11621
11629
|
|
|
11622
|
-
#if PYTHON_VERSION < 0x300
|
|
11623
11630
|
static PyObject *COMPARE_LT_OBJECT_LONG_CLONG(PyObject *operand1, long operand2) {
|
|
11624
11631
|
CHECK_OBJECT(operand1);
|
|
11625
11632
|
assert(PyLong_CheckExact(operand1));
|
|
@@ -11651,7 +11658,8 @@ static PyObject *COMPARE_LT_OBJECT_LONG_CLONG(PyObject *operand1, long operand2)
|
|
|
11651
11658
|
}
|
|
11652
11659
|
}
|
|
11653
11660
|
|
|
11654
|
-
Py_ssize_t operand2_size =
|
|
11661
|
+
NUITKA_MAY_BE_UNUSED Py_ssize_t operand2_size =
|
|
11662
|
+
operand2_is_negative == false ? operand2_digit_count : -operand2_digit_count;
|
|
11655
11663
|
|
|
11656
11664
|
bool r;
|
|
11657
11665
|
|
|
@@ -11676,6 +11684,7 @@ static PyObject *COMPARE_LT_OBJECT_LONG_CLONG(PyObject *operand1, long operand2)
|
|
|
11676
11684
|
Py_INCREF_IMMORTAL(result);
|
|
11677
11685
|
return result;
|
|
11678
11686
|
}
|
|
11687
|
+
#if PYTHON_VERSION < 0x300
|
|
11679
11688
|
/* Code referring to "LONG" corresponds to Python2 'long', Python3 'int' and "INT" to Python2 'int'. */
|
|
11680
11689
|
PyObject *RICH_COMPARE_LT_OBJECT_LONG_INT(PyObject *operand1, PyObject *operand2) {
|
|
11681
11690
|
|
|
@@ -11683,7 +11692,6 @@ PyObject *RICH_COMPARE_LT_OBJECT_LONG_INT(PyObject *operand1, PyObject *operand2
|
|
|
11683
11692
|
}
|
|
11684
11693
|
#endif
|
|
11685
11694
|
|
|
11686
|
-
#if PYTHON_VERSION < 0x300
|
|
11687
11695
|
static bool COMPARE_LT_CBOOL_LONG_CLONG(PyObject *operand1, long operand2) {
|
|
11688
11696
|
CHECK_OBJECT(operand1);
|
|
11689
11697
|
assert(PyLong_CheckExact(operand1));
|
|
@@ -11715,7 +11723,8 @@ static bool COMPARE_LT_CBOOL_LONG_CLONG(PyObject *operand1, long operand2) {
|
|
|
11715
11723
|
}
|
|
11716
11724
|
}
|
|
11717
11725
|
|
|
11718
|
-
Py_ssize_t operand2_size =
|
|
11726
|
+
NUITKA_MAY_BE_UNUSED Py_ssize_t operand2_size =
|
|
11727
|
+
operand2_is_negative == false ? operand2_digit_count : -operand2_digit_count;
|
|
11719
11728
|
|
|
11720
11729
|
bool r;
|
|
11721
11730
|
|
|
@@ -11740,6 +11749,7 @@ static bool COMPARE_LT_CBOOL_LONG_CLONG(PyObject *operand1, long operand2) {
|
|
|
11740
11749
|
|
|
11741
11750
|
return result;
|
|
11742
11751
|
}
|
|
11752
|
+
#if PYTHON_VERSION < 0x300
|
|
11743
11753
|
/* Code referring to "LONG" corresponds to Python2 'long', Python3 'int' and "INT" to Python2 'int'. */
|
|
11744
11754
|
bool RICH_COMPARE_LT_CBOOL_LONG_INT(PyObject *operand1, PyObject *operand2) {
|
|
11745
11755
|
|
|
@@ -11762,6 +11772,8 @@ static PyObject *COMPARE_LT_OBJECT_INT_CLONG(PyObject *operand1, long operand2)
|
|
|
11762
11772
|
Py_INCREF_IMMORTAL(result);
|
|
11763
11773
|
return result;
|
|
11764
11774
|
}
|
|
11775
|
+
#endif
|
|
11776
|
+
#if PYTHON_VERSION < 0x300
|
|
11765
11777
|
/* Code referring to "INT" corresponds to Python2 'int' and "CLONG" to C platform long value. */
|
|
11766
11778
|
PyObject *RICH_COMPARE_LT_OBJECT_INT_CLONG(PyObject *operand1, long operand2) {
|
|
11767
11779
|
|
|
@@ -11784,6 +11796,8 @@ static bool COMPARE_LT_CBOOL_INT_CLONG(PyObject *operand1, long operand2) {
|
|
|
11784
11796
|
|
|
11785
11797
|
return result;
|
|
11786
11798
|
}
|
|
11799
|
+
#endif
|
|
11800
|
+
#if PYTHON_VERSION < 0x300
|
|
11787
11801
|
/* Code referring to "INT" corresponds to Python2 'int' and "CLONG" to C platform long value. */
|
|
11788
11802
|
bool RICH_COMPARE_LT_CBOOL_INT_CLONG(PyObject *operand1, long operand2) {
|
|
11789
11803
|
|