Skip to content

Conversation

omelia-iliffe
Copy link

Thanks for your help resolving #92. As mentioned here is a PR with the work I have done to make orbita3d_kinematics no_std compatible.

I have made a number of changes:

  • add an optional std feature (could be default)
  • use core instead of std where possible for const PI, TAU, etc
  • remove ndarray_einsum_beta dependency opting instead to do the calculation manually forward.rs:261
  • remove unused ndarray and nshare dependencies
  • use nalgebra::{ComplexField, RealField}; for methods such as sin, atan2, etc
  • add GammasOutOfRange error instead of returning a Box<dyn std::error:Error> inverse.rs:145
  • refactored compute_valid_solution to remove need for Vec inverse.rs:201
  • add a rem_euclid function

I did some simple bench-marking to ensure I wasn't significantly impacting performance. There was improvements in inverse kinematics (-9%) and significant improvements in forward kinematics (-69%). Bench code here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants