MLFS - Mathematical Library for Flight Software
Mathematical libraries are used in nearly any Flight Software and in particular in the AOCS/GNC and scientific algorithms. The common practice to manage the mathematical functions in a flight software project is to isolate well known and established functions from libraries like libm from newlib, and to characterise these functions with respect to input ranges, errors and performance. This common practice doesn’t typically cover corner cases where some of these functions might reveal an unexpected behaviour in term of accuracy or timing.
The objective of the "Mathematical Library for Flight Software" project is the development of a mathematical library, reusing libm present in newlib and pre-qualifying the library to ECSS criticality category B.
The set of functions provided by the Mathematical Library for Flight Software (MLFS) has been, on purpose, limited to the functions typically needed in flight software. This means that not all functions exepected by ISO/POSIX C99 standard in a math.h is provided and hence the header file of the MLFS is called mlfs.h and not math.h.
A qualification data package (MLFS-QDP_I1_R1.zip - md5:62a01914eb82b1f185d5e5093b8fc0c1) is provided that includes
- the source code of the Basic mathematical Library (BL),
- the Basic mathematical Library Test Suite (BLTS) to qualify on a target environment, and the
- full set of ECSS compliant software life cycle documentation for both the mathematical library and test suite,
allowing the delta-qualification of the mathematical library in space projects with minimized effort.