Repository navigation
Level ramps: build under CircuitPython's -Werror=float-equal - #405
Merged
Merged
Conversation
audiodsp_level_ramp_aim compared two floats with ==, which CircuitPython's espressif builds refuse. Every audiodynamics, delay and shaper binding includes the header, so no CircuitPython firmware with audiodsp built at 84b8b45 or later. The test is now written with < and >, as SamplerVoice already does; a NaN target now leaves the walk alone instead of aiming it at NaN.
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.
Since the level ramps landed (#400), CircuitPython firmware with audiodsp in it doesn't build:
audiodsp_level_ramp_aimcompares two floats with==, and CircuitPython's espressif builds use-Werror=float-equal. The audiodynamics, delay and shaper bindings all include the header, so all four CircuitPython cells in micropython-pydevices fail at the first one.The comparison is now
!(a < b || a > b), the form SamplerVoice already uses. It gives the same answer for every number. For a NaN target the walk is left alone instead of aimed at NaN.I checked the header compiles clean with
-Wall -Wfloat-equal -Werror, and the other comparisons #400 and #403 added are on integers or pointers. The CircuitPython cells themselves get run when micropython-pydevices moves its pin to this fix.