Libfixmath: Difference between revisions

Content deleted Content added
m Performance: fixed a too general wiki-link
Citation bot (talk | contribs)
Added website. | Use this bot. Report bugs. | Suggested by Dominic3203 | Category:Numerical software | #UCB_Category 67/119
 
(19 intermediate revisions by 10 users not shown)
Line 1:
{{Primary sources|date=January 2023}}
{{lowercase|title=libfixmath}}
{{Infobox software
| name = libfixmath
| developer = Ben Brewer (aka flatmush)
| latest_release_version = r64
| latest_release_date = {{Start date and age|2012|02|02}}
| programming language = [[C (programming language)|C99]]
| operating_system = [[Cross-platform software|Cross-platform]]
| genre = [[fixed-point arithmetic|fixed -point math library]]
| license = [[MIT License|MIT]]
| website = http://code.google.com/p/libfixmath
| status = active
}}
 
'''libfixmath''' is a [[platform independent|platform-independent]] [[fixed-point arithmetic|fixed point]] maths library aimed at developers wanting to perform fast non-integer maths on platforms lacking a (or with a low performance) [[Floating Point Unit|FPU]]. It offers developers a similar interface to the standard [[math.h]] functions for use on [[Q (number format)|Q16.16]] [[fixed-point arithmetic|fixed point]] numbers.
'''libfixmath''' is a [[cross-platform software|platform-independent]] [[fixed-point arithmetic|fixed-point]] math library aimed at developers wanting to perform fast non-integer math on platforms lacking a (or with a low performance) [[Floating Point Unit|FPU]]. It offers developers a similar interface to the standard [[math.h]] functions for use on [[Q (number format)|Q16.16]] [[fixed-point arithmetic|fixed-point]] numbers. libfixmath has no external dependencies other than [[stdint.h]] and a compiler which supports [[64-bit]] integer arithmetic (such as [[GNU Compiler Collection|GCC]]).<ref>{{cite web|url=httphttps://code.googlegithub.com/pPetteriAimonen/libfixmath|title=libfixmath Project Page|website=[[GitHub]] }}</ref>
Conditional compilation options exist to remove the requirement for a [[64-bit]] capable [[compiler]] as many compilers for [[Microcontroller|microcontrollersmicrocontroller]]s and [[Digital signal processor|DSPs]] do not support [[64-bit]] arithmetic.<ref>{{cite web|url=httphttps://code.google.com/p/libfixmath/issues/detail?id=4|title=64-bit Compiler Support Issues}}</ref>
 
==History==
'''libfixmath''' was originally developed by Ben Brewer (aka flatmush) and first released publicly as part of the [[Dingoo SDK]].<ref>{{cite web|url=httphttps://code.google.com/p/dingoo-sdk|title=Dingoo SDK Project Page}}</ref> It has since been used to implement a software [[3D graphics]] library called FGL.<ref>{{cite web|url=httphttps://code.google.com/p/fgl|title=FGL Flatmush/Fixed-Point Graphics Library Project Page}}</ref>
 
==Q16.16 Functionsfunctions==
'''libfixmath''' was originally developed by Ben Brewer (aka flatmush) and first released publicly as part of the [[Dingoo SDK]].<ref>{{cite web|url=http://code.google.com/p/dingoo-sdk|title=Dingoo SDK Project Page}}</ref> It has since been used to implement a software [[3D graphics]] library called FGL.<ref>{{cite web|url=http://code.google.com/p/fgl|title=FGL Flatmush/Fixed-Point Graphics Library Project Page}}</ref>
 
==Q16.16 Functions==
 
{|class="wikitable"
|-
Line 55 ⟶ 53:
|}
 
==Other Functionsfunctions==
 
{|class="wikitable"
|-
Line 75 ⟶ 72:
 
==Performance==
 
For the most intensive function ([[atan2]]) benchmark results show the following results:
 
Line 84 ⟶ 80:
|[[ARM Cortex-M0]] || 26.3%
|-
|[[Marvell Technology Group|Marvell]] [[XScale|PXA270]] ([[ARM architecture|ARM]]) @ 312MHz312&nbsp;MHz || 58.45%
|-
|[[List of Intel Core 2 microprocessors|Intel T5500]] || 120%
Line 90 ⟶ 86:
|[[Intel atom|Intel Atom N280]] || 141%
|}
Note: These results were calculated using fixtest with caching optimizations turned off.<ref>{{cite web|url=httphttps://code.google.com/p/libfixmath/downloads/detail?name=fixtest_r16.zip|title=fixtest Download Page}}</ref>
 
==Licensing==
 
'''libfixmath''' is released under the [[MIT License]], a [[permissive free software licence]], and is [[free software]].
 
==ExternalSee linksalso==
{{Portal|Free Software}}
* [[Binary scaling]]
* [http://code.google.com/p/libfixmath Project Page]
* [[Fixed-point arithmetic]]
* [http://groups.google.com/group/libfixmath Group Page/Mailing List]
* [[Floating-point arithmetic]]
* [[Q (number format)]]
 
==References==
{{Reflist}}
 
==External links==
* [https://github.com/PetteriAimonen/libfixmath Project Page]
* [http://codegroups.google.com/pgroup/libfixmath ProjectGroup Page/Mailing List]
 
[[Category:Numerical software]]
[[Category:C (programming language) libraries]]
[[Category:Free computer libraries]]
[[Category:Free software programmed in C]]