Extension:BCmath/hi

From Linux Web Expert

मीडियाविकि एक्सटेंशन मैन्युअल
BCmath
प्रकाशन की स्थिति: प्रयोगात्मक
File:PI constant.svg
कार्यान्वयन API
विवरण Scribunto के लिए विवेकाधीन-परिशुद्धता अंकगणित प्रदान करता है।
लेखक
  • John Erling Blad (Jebladtalk)
संगतता नीति Master में पीछे की तरफ से संगतता है।
MediaWiki
डेटाबेस बदलता है नहीं
लाइसेंस GNU साधारण सार्वजनिक लाइसेंस 2.0 या उसके बाद
डाउनलोड करें
README, LDoc
Quarterly downloads Lua error in Module:Extension at line 172: bad argument #1 to 'inNamespace' (unrecognized namespace name 'skin').
Public wikis using Lua error in Module:Extension at line 172: bad argument #1 to 'inNamespace' (unrecognized namespace name 'skin').
BCmath एक्सटेंशन को अनुवादित करें

BCmath लुआ मॉड्यूल्स को विवेकाधीन-परिशुद्धता अंकगणित प्रदान करता है। इस एक्सटेंशन के lib से 125 अंकों वाले 𝜋 के हिसाब भी समर्थित होंगे, 𝜋 ≅ 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… (असल में तो 𝜋 का वैल्यू अनंत है!)।

यह एक्सटेंशन bc प्रोग्रामिंग भाषा का इस्तेमाल करने के लिए phpseclib/bcmath_compat के ज़रिए PHP BCMath Arbitrary Precision Mathematics API का इस्तेमाल करता है।

स्थापना

Expect Scribunto एक्सटेंशन के मॉड्यूल्स पर निर्भर है।

  • <translate> <tvar name=1>डाउनलोड करें</tvar> and place the file(s) in a directory called <tvar name=name>BCmath/hi</tvar> in your <tvar name=ext>extensions/</tvar> folder.</translate>
  • <translate> Add the following code at the bottom of your <tvar name=1>LocalSettings.php </tvar> file:</translate>
    wfLoadExtension( 'BCmath/hi' );
    
  • File:OOjs UI icon check-constructive.svg <translate> Done</translate> – <translate> Navigate to <tvar name=special>Special:Version</tvar> on your wiki to verify that the extension is successfully installed.</translate>

उपयोग

कार्यप्रवाह है पहले एक BCMath उदाहरण परिभाषित करना, और फिर मामूली सूत्रों में, जंजीर संचालनों में, या फ़ंक्शन कॉल्स पर उसका इस्तेमाल करना। समर्थित संचालनों में किसी उदाहरण के मौजूद होने पर विशेष फ़ंक्शन्स और साधनों का इस्तेमाल किया जाएगा।

-- Used for chained operations
local sum1 = mw.bcmath.new( 0.0 ):add( 42.0 )                   -- 42.000000000000000
local sum2 = mw.bcmath.new( '0' ):add( '42' )                   -- 42

-- Used in an equation
local sum3 = sum1 * sum2 + 3.14                                 -- 1767.140000000000000

-- Used in function calls
local sum4 = mw.bcmath.add( mw.bcmath.mul( sum1, sum2 ), 3.14 ) -- 1767.140000000000000
local str1 = sum4 'sci'                                         -- 1.767140000000000000e3
local str2 = sum4( 'sci', 4 )                                   -- 1.767e3

अधिक सहायता के लिए निर्मित LDoc प्रलेख देखें।

विकास

Vagrant-आधारित विकास पर्यावरण को पुनः निर्मित करने के लिए BCmath: Manual/Vagrant देखें।

विकल्प

सबसे अच्छा और शायद एकमात्र विकल्प है C-लाइब्रेरी 'decNumber', जो decNumber के साथ इंटरफ़ेस करने के लिए IEEE 754r और लुआ रैपर 'ldecNumber' को लागू करता है। इन दोनों का इस्तेमाल साथ में किया जाना चाहिए।

'decNumber' के इस्तेमाल से पहले इसपर एक सुरक्षा ऑडिट मौजूद होना चाहिए, मगर यह सुरक्षित ही होगा। लुआ लाइब्रेरी कालग्रस्त है, और बदकिस्मती से इसका आखिरी संस्करण (ldecNumber-21) अगस्त 2007 से है। decNumber/ldecNumber के लिए कोई ज्ञात मीडियाविकि-एकीकरण नहीं है।

ये भी देखें