Qfplib: a family of floating-point libraries for ARM Cortex-M cores![]()
Quinapalus Home :: Things Technical :: Qfplib: a family of floating-point libraries for ARM Cortex-M cores
![]() Qfplib is a family of IEEE 754 floating-point libraries for ARM Cortex-M cores. The various members of the family target different cores and are written with different optimisation goals.
For more detail see below. LicensingAll the Qfplib libraries are open source, licensed under version 2 of the GNU GPL. Broadly speaking, that means that they can be used freely as part of other GPLv2 projects, commercial or otherwise. However, the licence does not permit their use as part of closed-source projects. In any case, use at your own risk. If you wish to enquire about alternative licensing please use the e-mail address on the home page. Qfplib-M0-tinyQfplib-M0-tiny is a library of IEEE 754 single-precision floating-point arithmetic routines for microcontrollers based on the ARM Cortex-M0 core (ARMv6-M architecture). It should also run on Cortex-M3 and Cortex-M4 microcontrollers and will give reasonable performance, but it is not optimised for these devices. Many Cortex-M0 microcontrollers have very little program memory available, and so the primary design goal was to minimise the code size of the library without sacrificing too much in speed or in usefulness. To that end it provides correctly rounded (to nearest, even-on-tie) addition, subtraction, multiplication and division operations, and sine, cosine, tangent, arctangent, logarithm, exponential and square root functions that give a high degree of accuracy. There are also conversion functions between floating-point values and signed or unsigned integer or fixed-point values. The library fits in 1 kbyte of program memory. If you can afford the luxury of an additional 200 bytes in code size fast divide and square root functions (that do not guarantee correctly rounded results) are also available. Find out more.Qfplib-M0-fullQfplib-M0-tiny is a library of IEEE 754 single- and double-precision floating-point arithmetic routines for microcontrollers based on the ARM Cortex-M0 core (ARMv6-M architecture). It should also run on Cortex-M3 and Cortex-M4 microcontrollers and will give reasonable performance, but it is not optimised for these devices.The optimisation emphasis for Qfplib-M0-full is more on speed than is the case for Qfplib-M0-tiny. Nevertheless, the complete set of functions (both single- and double-precision) occupies less than 6 kbyte of code space. The library provides correctly rounded (to nearest, even-on-tie) addition, subtraction, multiplication, division and square root operations, and sine, cosine, tangent, arctangent, logarithm and exponential that give a high degree of accuracy. There are also conversion functions between floating-point values and signed or unsigned integer or fixed-point values. The Raspberry Pi RP2040 microcontroller includes a version of this library, slightly modified to take advantage of special hardware available on that device. Find out more.Qfplib-M3Qfplib-M3 is a library of IEEE 754 single-precision floating-point arithmetic routines for microcontrollers based on the ARM Cortex-M3 core (ARMv7-M architecture). It will also run on Cortex-M4 microcontrollers but is not optimised for these devices. The optimisation goals for Qfplib-M3 are speed and accuracy, while keeping code size within reasonable bounds: the complete set of functions in Qfplib-M3 occupies a little under 12 kbyte. Qfplib-M3 provides correctly rounded (to nearest, even-on-tie) addition, subtraction, multiplication, division and square root operations, and sine, cosine, tangent, arctangent, logarithm and exponential functions that give a very high degree of accuracy. Find out more.This page most recently updated Fri 4 Feb 16:49:53 GMT 2022 |
Word Matcher
New:
ARM Cortex-M7 cycle counts and dual-issue combinations;
Free, fast, and compact ARM Cortex-M0
single- and double-precision floating-point library;
Offline SOWPODS checker
![]()
Qxw is a free (GPL) crossword construction program.
New! Release 20200708 for both Linux and Windows. Non-Roman alphabets, batch mode, multiplex lights,
answer treatments, circular and hex grids, jumbled entries, lots more besides.
More...
You can order my book, ‘Practical Signal Processing’,
directly from CUP
or via
Hive,
Amazon UK or
Amazon US.
![]()
If you find this site useful or diverting, please consider a donation to
NASS (a UK registered
charity), to KickAS
(in the US), or to a similar body in your own
country.
Copyright ©2004–2022.
All trademarks used are hereby acknowledged. |