Extension:BCmath/nb

BCmath tilbyr aritmetikk med vilkårlig presisjon for Lua moduler. Med biblioteket fra denne utvidelsen så er det fullstendig gyldig å gjøre beregninger med 𝜋 <! - matematisk kursiv liten pi -> på 125 tegn, 𝜋 ≅ 3,141 592 653 589 793 238 462 643 383 279 502 884 197 169 399 375 105 820 974 944 592 307 816 406 286 208 998 628 034 825 342 117 067 982 148 086 513 282 306 647 093 8… (Egentlig er den virkelige 𝜋 uendelig mye lengre!)

Denne utvidelsen bruker PHP BCMath Arbitrary Precision Mathematics APIet ved å bruke phpseclib/bcmath_compat for for å få tilgang til bc-programmeringsspråket.

Installering
Expect er avhengig av moduler fra -utvidelsen.

Bruk
Arbeidsflyten er først å definere en BCmath-instans, og deretter bruke den i vanlige ligninger, i lenkede operasjoner, eller som en del av funksjonskall. Eksistens av en instans i støttede operasjoner vil utløse bruk av de spesielle funksjonene og metodene.

For mer hjelp, se den genererte LDoc dokumentasjonen.

Utvikling
For å gjenskape det Vagrant-baserte utviklingsmiljøet, se BCmath: Topics/Vagrant.

Alternativer
Det beste og kanskje eneste virkelige alternativet er C-biblioteket decNumber som implementerer IEEE 754r og Lua-biblioteket ldecNumber for innpakning. Disse to må brukes sammen.
 * decNumber (C-library)
 * Biblioteket decNumber
 * Github: gcc-mirror/libdecnumber
 * ldecNumber (Lua-library)
 * LuaForge: Lua decNumber
 * ldocNumber dokumentasjon

Biblioteket decNumber bør gjennomgå en sikkerhetsrevisjon før det brukes, men det er sannsynligvis trygt. Lua-biblioteket er arkivert, og er håpløst umoderne med siste versjon (ldecNumber-21) fra august 2007. Det er ingen kjent Mediawiki-integrasjon for decNumber/ldecNumber.