ما هو المعيار (أو أفضل معتمدة) رقم (الدقة التعسفي) مكتبة لوا?
سؤال
أنا أعمل مع الأعداد الكبيرة التي لا أستطيع تقريب.باستخدام لوا القياسية الرياضيات المكتبة ، يبدو أن هناك أي وسيلة مريحة للحفاظ على الدقة في الماضي بعض الحد الداخلي.أرى أيضا أن هناك العديد من المكتبات التي يمكن تحميلها إلى العمل مع أعداد كبيرة:
- http://oss.digirati.com.br/luabignum/
- http://www.tc.umn.edu/~ringx004/mapm-main.html
- http://lua-users.org/lists/lua-l/2002-02/msg00312.html (قد تكون مطابقة #2)
- 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 رقم صحيح بدقة.
هنا هي الخطوات اللازمة لتثبيت واستخدام المكتبة:
لوا يحتاج إلى أن بنيت مع التحميل الديناميكي تمكين.يمكنني استخدام Cygwin, لكني غيرت
PLAT
فيsrc/Makefile
أن يكونlinux
.الافتراضي ،none
, لا تتيح التحميل الديناميكي.على MAMP يحتاج إلى وتثبيتها في مكان ما أن المحول البرمجي C يمكن العثور عليه.أنا وضعت
libmapm.a
في/usr/local/lib/
.القادمm_apm.h
وm_apm_lc.h
ذهب/usr/local/include/
.Makefile على lmamp يحتاج إلى تغيير إلى الموقع الصحيح من لوا و MAMP المكتبات.بالنسبة لي هذا يعني uncommenting الثاني إعلان
LUA
,LUAINC
,LUALIB
, ،LUABIN
وتحرير إعلانMAMP
.أخيرا ،
mapm.so
يجب أن يوضع في مكان ما أن لوا سوف تجد ذلك.أنا وضعت في/usr/local/lib/lua/5.1/
.
شكرا لكم جميعا على اقتراحات!
لا أستطيع الإجابة ولكن سوف أضيف LGMP, GMP ملزمة.لا تستخدم.
لا مجال خبرتي ، ولكن أتوقع جنو متعددة الدقة الحسابية مكتبة قياسي جدا هنا, أليس كذلك ؟
وإن لم يكن التعسفي الدقة ، لوا decNumber, ، لوا 5.1 المجمع IBM decNumber ، تنفذ العامة المقترحة عشري الحسابي المعيار IEEE 754r.فقد لوا 5.1 العوامل الحسابية وأكثر من ذلك ، السيطرة الكاملة على وسائل التقريب ، والعمل الدقة تصل إلى 69 الأرقام العشرية.