You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

17 lines
999 B

# EKF
Executes TinyEKF as shows by [You Chong's GPS example](http://www.mathworks.com/matlabcentral/fileexchange/31487-extended-kalman-filter-ekf--for-gps)
This test executes multiple runs of three iterations (the output of a previous iteration is refed as input), comparing the binary result against a known memoized result stored in `initial_state.dat`, `one_iteration.dat`, `two_iterations.dat`, and `three_iterations.dat`.
The `rust.sh` script stores per-run results to temporary files suffixed with `*.res.dat` and `diff -s` because I had trouble using cURL to pass a bash string of binary input.
In order to be compatible with the stdin/stdout model of serverless, the input and output files are binary concatenations of various C structs.
See `main()` in `runtime/tests/TinyEKF/extras/c/gps_ekf_fn.c` for specifics.
## Useful parsing of the log
_What is the average execution time of the first iteration?_
cat log.csv | grep ekf_first_iter | awk -F , '{ sum+=$5 } END{ print sum/NR }'