Repository navigation
Commit 7782731
perf: compute Twist3.Ad() directly instead of via a throwaway SE3
Ad() was self.SE3().Ad() -- constructs a full validated SE3 object
just to immediately extract its array and discard the object. Computes
the same result directly (trexp then tr2adjoint, skipping the SE3
constructor/validation overhead): bit-identical output, ~1.4x faster.
No existing test covered Ad() at all; added one first (hand-verified
pure-rotation and pure-translation cases, plus a cross-check against
SE3.Ad() over 20 random transforms) and confirmed it passes unchanged
against both the old and new implementation.1 parent 824a459 commit 7782731
2 files changed
Lines changed: 30 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
886 | 886 | | |
887 | 887 | | |
888 | 888 | | |
889 | | - | |
890 | | - | |
| 889 | + | |
| 890 | + | |
| 891 | + | |
891 | 892 | | |
892 | 893 | | |
893 | 894 | | |
894 | | - | |
| 895 | + | |
895 | 896 | | |
896 | 897 | | |
897 | 898 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
190 | 190 | | |
191 | 191 | | |
192 | 192 | | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
193 | 219 | | |
194 | 220 | | |
195 | 221 | | |
| |||
0 commit comments