-
-
Notifications
You must be signed in to change notification settings - Fork 495
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Generalized slerp()
and powf()
for Rotation<T,N>
#1100
Open
jsmith628
wants to merge
14
commits into
dimforge:main
Choose a base branch
from
jsmith628:rot-interp
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 11 commits
Commits
Show all changes
14 commits
Select commit
Hold shift + click to select a range
7b92e11
added generalized rotational slerp
jsmith628 e52057b
added powf proptest for 4d rotations
jsmith628 d4cba8f
generalized powf rotation test
jsmith628 bffc316
removed some unnecessary code
jsmith628 04d6f4f
merged specific powf and slerp into generalized fns
jsmith628 6eab8f5
added considerations for 180deg rotations in Rotation::powf
jsmith628 d8fcbd1
added more 180 rotation tests
jsmith628 7a458cd
cleaned up imports
jsmith628 7a43827
added docs to slerp and powf for Rotation
jsmith628 686ed10
fixed general slerp formula
jsmith628 063140d
formatting
jsmith628 5a1f9a5
Merge remote-tracking branch 'upstream/dev' into rot-interp
jsmith628 3235751
removed potentially unsound unsafe code
jsmith628 0c343fd
fmt and test fixes
jsmith628 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This makes this a breaking change, right? Would it be acceptable to instead leave the existing
slerp
functions in place and call this something likegeneralized_slerp
instead? That would mean it wouldn't be an issue for this to have different bounds.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That is correct. This was basically me leaving the final API choice to later; it's not great to change that without input from everyone else.
Obviously, it'd be nice to just have one
slerp()
function that gets specialized for all of them, but if changing the bounds is going to send some people into generic hell, we can also just accept it and change the names.I don't know how often people try to use
Complex
with a SIMD scalar though? I can't imagine it's really that often, but I suppose the real issue is that this will propagate to all of the dependent trait bounds.