Content deleted Content added
Created libfixmath wikipedia page. |
Citation bot (talk | contribs) Added website. | Use this bot. Report bugs. | Suggested by Dominic3203 | Category:Numerical software | #UCB_Category 67/119 |
||
(45 intermediate revisions by 20 users not shown) | |||
Line 1:
{{Primary sources|date=January 2023}}
{{lowercase|title=libfixmath}}
{{Infobox software
| name = libfixmath
| developer =
| latest_release_version =
| latest_release_date = {{Start date and age|
| programming language
| operating_system = [[Cross-platform software|Cross-platform]]
| genre = [[fixed-point arithmetic|fixed
| license = [[
| website =
}}
'''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 [[
==History==
▲'''libfixmath''' was originally developed by [[Ben Brewer]] (aka flatmush) and first released publicly as part of the [[Dingoo A320|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 (currently closed source) 3d graphics library called FGL.<ref>{{cite web|url=http://boards.dingoonity.org/dingoo-development/platform-independant-dingoo-sdk/|title=Dingoo SDK Release Page}}</ref>
▲==Q16.16 Functions==
{|class="wikitable"
|-
Line 35 ⟶ 33:
|-
|<code>fix16_cos</code> || [[cosine]]
|-
|<code>fix16_exp</code> || [[exponential function]]
|-
|<code>fix16_sin</code> || [[sine]]
Line 42:
|<code>fix16_tan</code> || [[tangent (trigonometric function)|tangent]]
|-
|<code>fix16_mul</code> || [[
|-
|<code>fix16_div</code> || [[Division (mathematics)|division]]
|-
|<code>fix16_sadd</code> || [[Saturation arithmetic|saturated]] [[
|-
|<code>fix16_smul</code> || [[Saturation arithmetic|saturated]] [[
|-
|<code>fix16_sdiv</code> || [[Saturation arithmetic|saturated]] [[Division (mathematics)|division]]
|}
==Other
{|class="wikitable"
|-
Line 72 ⟶ 71:
|}
==
For the most intensive function ([[atan2]]) benchmark results show the following results:
{|class="wikitable"
'''libfixmath''' is released under the [[GNU Lesser General Public License|GNU LGPL]], a [[permissive free software licence]], and is [[free software]].▼
|-
! Name !! Time Compared to Float
|-
|[[ARM Cortex-M0]] || 26.3%
|-
|[[Marvell Technology Group|Marvell]] [[XScale|PXA270]] ([[ARM architecture|ARM]]) @ 312 MHz || 58.45%
|-
|[[List of Intel Core 2 microprocessors|Intel T5500]] || 120%
|-
|[[Intel atom|Intel Atom N280]] || 141%
|}
Note: These results were calculated using fixtest with caching optimizations turned off.<ref>{{cite web|url=https://code.google.com/p/libfixmath/downloads/detail?name=fixtest_r16.zip|title=fixtest Download Page}}</ref>
==
▲'''libfixmath''' is released under the [[
* [http://code.google.com/p/libfixmath|title=libfixmath Project Page]▼
==See also==
{{Portal|Free Software}}
* [[Binary scaling]]
* [[Fixed-point arithmetic]]
* [[Floating-point arithmetic]]
* [[Q (number format)]]
==References==
{{Reflist}}
==External links==
* [https://github.com/PetteriAimonen/libfixmath Project Page]
[[Category:Numerical software]]
[[Category:C (programming language) libraries]]
[[Category:Free
[[Category:Free software programmed in C]]
|