Skip to content

Commit 83da680

Browse files
committed
Add methodology section
1 parent 2379d2c commit 83da680

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

README.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -534,6 +534,26 @@ const s_xt = -Math.asin(dot(c_E, n_EB_E)) * r_Earth;
534534
const d_xt = -dot(c_E, n_EB_E) * r_Earth;
535535
```
536536

537+
## Methodology
538+
539+
If you look at the test suite for this library, you'll see that there are very
540+
few concrete test cases. Instead, this library uses model-based testing, powered
541+
by [fast-check], and using the [Python nvector library] as the "model", or
542+
reference implementation.
543+
544+
[fast-check]: https://fast-check.dev/
545+
[python nvector library]: https://nvector.readthedocs.io/
546+
547+
In other words, this library is tested by generating large amounts of "random"
548+
inputs, and then comparing the output with the Python library. This allowed me
549+
to quickly port the library with a high degree of confidence in its correctness,
550+
without a deep understanding of the underlying mathematics.
551+
552+
If you find any issues with the implementations, there's a good chance that the
553+
issue will also be present in the Python library, and an equally good chance
554+
that I won't personally understand how to fix it 😅 Still, don't let that stop
555+
you from opening an issue or a pull request!
556+
537557
## References
538558

539559
- Gade, K. (2010). [A Non-singular Horizontal Position Representation], The

0 commit comments

Comments
 (0)