Additional fixes to number conversion#14
Merged
kblaschke merged 5 commits intoprojectM-visualizer:masterfrom Nov 10, 2025
Merged
Additional fixes to number conversion#14kblaschke merged 5 commits intoprojectM-visualizer:masterfrom
kblaschke merged 5 commits intoprojectM-visualizer:masterfrom
Conversation
72d0279 to
74ee64a
Compare
mbaetgen-wup
approved these changes
Nov 10, 2025
ns-eel2 parses numbers without decimal point with atoi(), which causes overflows as it has a lower value range than double. We now mimic this behavior.
Also convert integers in bitwise and modulo operators to the same bit-width as PRJM_EVAL_F to prevent overflows.
Instead, directly include it where it's actually being used.
01d1ae5 to
4668c08
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
One fix in the scanner to parse integers (literal numbers without a decimal point) with
atoi, which is what ns-eel2 does. The other fix uses fixed-size int types for type conversions within a few expression operators like bitwise and/or and modulo. Now, the floating-point numbers are converted into the same-size int, depending on the whetherfloatordoubleis used during compilation. Most builds will use 64-bit numbers for both. This prevents further overflows and also more closely resembles what ns-eel2 does internally.The third commit only moves an
#includefrom a header where it wasn't needed to the files which actually use the header's single function declaration.Additionally fixed a warning with Clang as
-Ofastis deprecated.