math:fmod: Implement a floating-point remainder function#181
Open
mansourmoufid wants to merge 8 commits intoparallella:masterfrom
mansourmoufid:fmod
Open
math:fmod: Implement a floating-point remainder function#181mansourmoufid wants to merge 8 commits intoparallella:masterfrom mansourmoufid:fmod
mansourmoufid wants to merge 8 commits intoparallella:masterfrom
mansourmoufid:fmod
Conversation
Add a basic implementation of the function p_fmod_f32. The function _fmod is defined as static inline in the p_fmod.h header so that other functions in that directory could use it. Signed-off-by: Mansour Moufid <mansourmoufid@gmail.com>
Signed-off-by: Mansour Moufid <mansourmoufid@gmail.com>
Signed-off-by: Mansour Moufid <mansourmoufid@gmail.com>
Signed-off-by: Mansour Moufid <mansourmoufid@gmail.com>
Signed-off-by: Mansour Moufid <mansourmoufid@gmail.com>
Use unambiguous variable names. Signed-off-by: Mansour Moufid <mansourmoufid@gmail.com>
Signed-off-by: Mansour Moufid <mansourmoufid@gmail.com>
Signed-off-by: Mansour Moufid <mansourmoufid@gmail.com>
Contributor
Author
|
By the way, I wasn't sure how to generate the gold data file, so I just used a bit of Python: Let me know if that's incorrect. |
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.
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
_fmodfunction is defined as astatic inlinefunction in a header file, so that its code can be re-used internally by other developers (of sine, cosine, etc). Second, thep_fmod_f32function is declared as part of the library. Finally, the functionp_fmod_2pi_f32may 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.