math:fmod: Implement a floating-point remainder function #181
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.
Hello,
This implements a floating-point remainder function, similar to the integer modulo operation.
This function can be useful for trigonometric operations which expect input to be bounded, for example to [0, 2pi].
It is done in three parts. First, the
_fmod
function is defined as astatic inline
function in a header file, so that its code can be re-used internally by other developers (of sine, cosine, etc). Second, thep_fmod_f32
function is declared as part of the library. Finally, the functionp_fmod_2pi_f32
may be useful since [0, 2pi] is the typical domain of the trigonometric functions.I implemented these as an experiment after discussion in #166. I hope others can find them useful.