ما هو المعيار (أو أفضل معتمدة) رقم (الدقة التعسفي) مكتبة لوا?

StackOverflow https://stackoverflow.com/questions/288707

  •  08-07-2019
  •  | 
  •  

سؤال

أنا أعمل مع الأعداد الكبيرة التي لا أستطيع تقريب.باستخدام لوا القياسية الرياضيات المكتبة ، يبدو أن هناك أي وسيلة مريحة للحفاظ على الدقة في الماضي بعض الحد الداخلي.أرى أيضا أن هناك العديد من المكتبات التي يمكن تحميلها إلى العمل مع أعداد كبيرة:

  1. http://oss.digirati.com.br/luabignum/
  2. http://www.tc.umn.edu/~ringx004/mapm-main.html
  3. http://lua-users.org/lists/lua-l/2002-02/msg00312.html (قد تكون مطابقة #2)
  4. http://www.gammon.com.au/scripts/doc.php?general=lua_bc (ولكن أنا لا يمكن العثور على أي مصدر)

علاوة على ذلك ، هناك العديد من المكتبات في C التي يمكن استدعاؤها من لوا ، إذا كانت الارتباطات حيث أنشأ.

هل كان لديك أي تجربة مع واحد أو أكثر من هذه المكتبات ؟

هل كانت مفيدة؟

المحلول

على lmapm المكتبة قبل فيغيريدو ، واحد من واضعي لوا اللغة.

نصائح أخرى

باستخدام lbc بدلا من lmapm سيكون أسهل لأن lbc هو بذاته.

require"bc"
s=bc.pow(2,1000):tostring()
z=0
for i=1,#s do
        z=z+s:byte(i)-("0"):byte(1)
end
print(z)

اعتدت نورمان رامسي اقتراح لحل مشروع يولر المشكلة #16.أنا لا أعتقد أنه من المفسد أن أقول أن جوهر المشكلة هو حساب 303 رقم صحيح بدقة.

هنا هي الخطوات اللازمة لتثبيت واستخدام المكتبة:

  1. لوا يحتاج إلى أن بنيت مع التحميل الديناميكي تمكين.يمكنني استخدام Cygwin, لكني غيرت PLAT في src/Makefile أن يكون linux.الافتراضي ، none, لا تتيح التحميل الديناميكي.

  2. على MAMP يحتاج إلى وتثبيتها في مكان ما أن المحول البرمجي C يمكن العثور عليه.أنا وضعت libmapm.a في /usr/local/lib/.القادم m_apm.h و m_apm_lc.h ذهب /usr/local/include/.

  3. Makefile على lmamp يحتاج إلى تغيير إلى الموقع الصحيح من لوا و MAMP المكتبات.بالنسبة لي هذا يعني uncommenting الثاني إعلان LUA, LUAINC, LUALIB, ، LUABIN وتحرير إعلان MAMP.

  4. أخيرا ، mapm.so يجب أن يوضع في مكان ما أن لوا سوف تجد ذلك.أنا وضعت في /usr/local/lib/lua/5.1/.

شكرا لكم جميعا على اقتراحات!

لا أستطيع الإجابة ولكن سوف أضيف LGMP, GMP ملزمة.لا تستخدم.

لا مجال خبرتي ، ولكن أتوقع جنو متعددة الدقة الحسابية مكتبة قياسي جدا هنا, أليس كذلك ؟

وإن لم يكن التعسفي الدقة ، لوا decNumber, ، لوا 5.1 المجمع IBM decNumber ، تنفذ العامة المقترحة عشري الحسابي المعيار IEEE 754r.فقد لوا 5.1 العوامل الحسابية وأكثر من ذلك ، السيطرة الكاملة على وسائل التقريب ، والعمل الدقة تصل إلى 69 الأرقام العشرية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top