Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > pl.comp.programming > #28732 > unrolled thread
| Started by | Borneq <borneq@antyspam.hidden.pl> |
|---|---|
| First post | 2016-09-15 10:15 +0200 |
| Last post | 2016-10-02 02:12 +0200 |
| Articles | 13 — 4 participants |
Back to article view | Back to pl.comp.programming
Dowolna precyzja - Boost? Borneq <borneq@antyspam.hidden.pl> - 2016-09-15 10:15 +0200
Re: Dowolna precyzja - Boost? bartekltg <bartekltg@gmail.com> - 2016-09-15 11:08 +0200
Re: Dowolna precyzja - Boost? Borneq <borneq@antyspam.hidden.pl> - 2016-09-15 11:47 +0200
Re: Dowolna precyzja - Boost? Borneq <borneq@antyspam.hidden.pl> - 2016-09-29 00:06 +0200
Re: Dowolna precyzja - Boost? bartekltg <bartekltg@gmail.com> - 2016-09-29 10:46 +0200
Re: Dowolna precyzja - Boost? Borneq <borneq@antyspam.hidden.pl> - 2016-09-29 13:54 +0200
Re: Dowolna precyzja - Boost? Piotrne <piotr12ne@poczta.onet.pl> - 2016-09-30 21:16 +0200
Re: Dowolna precyzja - Boost? Borneq <borneq@antyspam.hidden.pl> - 2016-09-30 23:49 +0200
Re: Dowolna precyzja - Boost? bartekltg <bartekltg@gmail.com> - 2016-09-30 23:56 +0200
Re: Dowolna precyzja - Boost? Borneq <borneq@antyspam.hidden.pl> - 2016-10-01 00:49 +0200
Re: Dowolna precyzja - Boost? bartekltg <bartekltg@gmail.com> - 2016-10-01 01:44 +0200
Re: Dowolna precyzja - Boost? "M.M." <mmarszik@gmail.com> - 2016-10-01 15:30 -0700
Re: Dowolna precyzja - Boost? bartekltg <bartekltg@gmail.com> - 2016-10-02 02:12 +0200
| From | Borneq <borneq@antyspam.hidden.pl> |
|---|---|
| Date | 2016-09-15 10:15 +0200 |
| Subject | Dowolna precyzja - Boost? |
| Message-ID | <nrdlab$mn9$1@node1.news.atman.pl> |
Wiem, już jak użyć float 128 bit, ale jak użyć dowolnej precyzji. W Boost katalog multiprecision zawiera: katalogi: concepts\ cpp_bin_float\ cpp_int\ detail\ traits\ pliki: cpp_bin_float.hpp cpp_dec_float.hpp cpp_int.hpp debug_adaptor.hpp float128.hpp gmp.hpp integer.hpp logged_adaptor.hpp miller_rabin.hpp mpfi.hpp mpfr.hpp number.hpp random.hpp rational_adaptor.hpp tommath.hpp Czy użyć gmp.hpp inne ? Help jest http://www.boost.org/doc/libs/1_57_0/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/ są tam: cpp_bin_float, gmp_float,mpfr_float - czym się różnią, które lepsze, szybsze? potrzebują bibliotek tak jak float128 potrzebował quadmath?
[toc] | [next] | [standalone]
| From | bartekltg <bartekltg@gmail.com> |
|---|---|
| Date | 2016-09-15 11:08 +0200 |
| Message-ID | <nrdoen$plr$2@node1.news.atman.pl> |
| In reply to | #28732 |
On 15.09.2016 10:15, Borneq wrote: > Wiem, już jak użyć float 128 bit, ale jak użyć dowolnej precyzji. W > Boost katalog multiprecision zawiera: > katalogi: > concepts\ > cpp_bin_float\ > cpp_int\ > detail\ > traits\ > > > pliki: > cpp_bin_float.hpp > cpp_dec_float.hpp > cpp_int.hpp > debug_adaptor.hpp > float128.hpp > gmp.hpp > integer.hpp > logged_adaptor.hpp > miller_rabin.hpp > mpfi.hpp > mpfr.hpp > number.hpp > random.hpp > rational_adaptor.hpp > tommath.hpp > > Czy użyć gmp.hpp inne ? > Help jest > http://www.boost.org/doc/libs/1_57_0/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/ > > są tam: cpp_bin_float, gmp_float,mpfr_float - czym się różnią, które > lepsze, szybsze? potrzebują bibliotek tak jak float128 potrzebował > quadmath? A nie łątwiej skorzystać z dokumentacji? http://www.boost.org/doc/libs/1_61_0/libs/multiprecision/doc/html/boost_multiprecision/tut.html pzdr bartekltg
[toc] | [prev] | [next] | [standalone]
| From | Borneq <borneq@antyspam.hidden.pl> |
|---|---|
| Date | 2016-09-15 11:47 +0200 |
| Message-ID | <nrdqnk$nuq$2@node2.news.atman.pl> |
| In reply to | #28733 |
W dniu 15.09.2016 o 11:08, bartekltg pisze: > A nie łątwiej skorzystać z dokumentacji? > http://www.boost.org/doc/libs/1_61_0/libs/multiprecision/doc/html/boost_multiprecision/tut.html Rzeczywiście, jakoś nie natrafiłem na to.
[toc] | [prev] | [next] | [standalone]
| From | Borneq <borneq@antyspam.hidden.pl> |
|---|---|
| Date | 2016-09-29 00:06 +0200 |
| Message-ID | <nshetc$lk2$1@node2.news.atman.pl> |
| In reply to | #28733 |
W dniu 15.09.2016 o 11:08, bartekltg pisze: > http://www.boost.org/doc/libs/1_61_0/libs/multiprecision/doc/html/boost_multiprecision/tut.html Czy cpp_int jest dużo wolniejsze od gmp_int? gmp_int potrzebuje GMP a to typowa biblioteka Linuxowa, trudno ją użyć z Windows i Visualem
[toc] | [prev] | [next] | [standalone]
| From | bartekltg <bartekltg@gmail.com> |
|---|---|
| Date | 2016-09-29 10:46 +0200 |
| Message-ID | <nsikd9$lb0$1@node1.news.atman.pl> |
| In reply to | #28917 |
On 29.09.2016 00:06, Borneq wrote: > W dniu 15.09.2016 o 11:08, bartekltg pisze: >> http://www.boost.org/doc/libs/1_61_0/libs/multiprecision/doc/html/boost_multiprecision/tut.html >> > > Czy cpp_int jest dużo wolniejsze od gmp_int? Piszą o tym w linku, który cytujesz:> > gmp_int potrzebuje GMP a to typowa biblioteka Linuxowa, trudno ją użyć z > Windows i Visualem A o tym też piszą na stronie o gmp_int:> MPRI jest forkiem GMP i z punktu widzenia boost jest wymienny. A dziala pod VS. pzdr bartekltg
[toc] | [prev] | [next] | [standalone]
| From | Borneq <borneq@antyspam.hidden.pl> |
|---|---|
| Date | 2016-09-29 13:54 +0200 |
| Message-ID | <nsivdi$2ku$1@node2.news.atman.pl> |
| In reply to | #28918 |
W dniu 29.09.2016 o 10:46, bartekltg pisze: >> Czy cpp_int jest dużo wolniejsze od gmp_int? > > Piszą o tym w linku, który cytujesz:> Trochę niejasno, piszą że jest nieco wolniejszy, ale w testowych operacjach typu dodawanie czy mnożenie nierzadko cpp_int było szybsze, tylko z określeniem "fixed". > MPRI jest forkiem GMP i z punktu widzenia boost jest wymienny. > A dziala pod VS. dzięki, tego mi było trzeba, spróbuje zainstalować pod VStudio
[toc] | [prev] | [next] | [standalone]
| From | Piotrne <piotr12ne@poczta.onet.pl> |
|---|---|
| Date | 2016-09-30 21:16 +0200 |
| Message-ID | <nsmdlk$cgr$1@node2.news.atman.pl> |
| In reply to | #28920 |
W dniu 2016-09-29 o 13:54, Borneq pisze: >> MPRI jest forkiem GMP i z punktu widzenia boost jest wymienny. >> A dziala pod VS. > > dzięki, tego mi było trzeba, spróbuje zainstalować pod VStudio Są też mniejsze projekty, np. taki: Arbitrary precision package: Arbitrary precision for integers, floating points, complex numbers etc. (...) A collections of 4 C++ header files. One for arbitrary integer precision, one for arbitrary floating point precision, a portable complex template<class T> and finally a portable interval arithmetic template<class T>. All standard C++ operators are supported plus all trigonometric and logarithm functions (...) we have been working with number that exceed 10-100 million digits without any issues (...) http://www.hvks.com/Numerical/arbitrary_precision.html Całość to jeden właściwy plik .cpp i cztery nagłówkowe. Działa z VisualStudio, ale ma jakieś problemy pod g++. Problemy podczas wykonania - indeks łańcucha poza zakresem itp. Czyli być może zawiera błędy. P.
[toc] | [prev] | [next] | [standalone]
| From | Borneq <borneq@antyspam.hidden.pl> |
|---|---|
| Date | 2016-09-30 23:49 +0200 |
| Message-ID | <nsmml9$q6s$1@node1.news.atman.pl> |
| In reply to | #28955 |
W dniu 30.09.2016 o 21:16, Piotrne pisze: > > http://www.hvks.com/Numerical/arbitrary_precision.html Ciekawe: "It support all relevant trigonometric, logarithms and exponential functions like exp(), log(), sin(), cos() etc. which GMP does not" ;-)
[toc] | [prev] | [next] | [standalone]
| From | bartekltg <bartekltg@gmail.com> |
|---|---|
| Date | 2016-09-30 23:56 +0200 |
| Message-ID | <nsmn1k$qi0$1@node1.news.atman.pl> |
| In reply to | #28955 |
On 30.09.2016 21:16, Piotrne wrote: > W dniu 2016-09-29 o 13:54, Borneq pisze: > >>> MPRI jest forkiem GMP i z punktu widzenia boost jest wymienny. >>> A dziala pod VS. >> >> dzięki, tego mi było trzeba, spróbuje zainstalować pod VStudio > > Są też mniejsze projekty, np. taki: > > Arbitrary precision package: Arbitrary precision for integers, > floating points, complex numbers etc. (...) A collections of 4 > C++ header files. One for arbitrary integer precision, one for > arbitrary floating point precision, a portable complex > template<class T> and finally a portable interval arithmetic > template<class T>. All standard C++ operators are supported > plus all trigonometric and logarithm functions (...) > we have been working with number that exceed 10-100 million > digits without any issues (...) > > http://www.hvks.com/Numerical/arbitrary_precision.html > > Całość to jeden właściwy plik .cpp i cztery nagłówkowe. > > Działa z VisualStudio, ale ma jakieś problemy pod g++. > Problemy podczas wykonania - indeks łańcucha poza zakresem itp. > Czyli być może zawiera błędy. A znasz może jakaś bibliotekę, która udostępnia szerokie liczby zmiennoprzecinkowe, zle zafiksowanej długości i zwarte? GMP trzyma inta z długośćią liczby (co w tym zastosowaniu nie jest potrzebne, bo to argument szablonu) i wskaźnik na dane z liczbami. To spory narzut pamięciowy jeśli potrzebuję jedynie poczwórnej...szesznastokrotnej precyzji, oraz rozwala spójność pamieci przy operacjach macierzowych. Nosze się od jakiegoś czasui by coś takeigo napsiać (przy okazji mieć kontrolę nad mnozeniem liczb różnej precyzji), pewnie wyjmując nieco bebechów z GMP, ale być mozę jest gotowiec. O double_double i quad_doble wiem. CO ciekawe, nie są wcale szybsze nić podobnej precyzji MPFR. pzdr bartekltg
[toc] | [prev] | [next] | [standalone]
| From | Borneq <borneq@antyspam.hidden.pl> |
|---|---|
| Date | 2016-10-01 00:49 +0200 |
| Message-ID | <nsmq64$tu5$1@node1.news.atman.pl> |
| In reply to | #28975 |
W dniu 30.09.2016 o 23:56, bartekltg pisze: > na dane z liczbami. To spory narzut pamięciowy jeśli > potrzebuję jedynie poczwórnej...szesznastokrotnej precyzji, > oraz rozwala spójność pamieci przy operacjach macierzowych. Poczwórnej - czy to nie to co mi podawałeś gdy pytałem się o 128 bitów? http://www.boost.org/doc/libs/1_57_0/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/float128.html Ale szesnaście razy 32 bity to już narzut na długość i wskaźnik nie jest tak duży, chyba że rozwala spójność pamięci.
[toc] | [prev] | [next] | [standalone]
| From | bartekltg <bartekltg@gmail.com> |
|---|---|
| Date | 2016-10-01 01:44 +0200 |
| Message-ID | <nsmtda$sqh$1@node2.news.atman.pl> |
| In reply to | #28980 |
On 01.10.2016 00:49, Borneq wrote: > W dniu 30.09.2016 o 23:56, bartekltg pisze: >> na dane z liczbami. To spory narzut pamięciowy jeśli >> potrzebuję jedynie poczwórnej...szesznastokrotnej precyzji, >> oraz rozwala spójność pamieci przy operacjach macierzowych. > > Poczwórnej - czy to nie to co mi podawałeś gdy pytałem się o 128 bitów? > http://www.boost.org/doc/libs/1_57_0/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/float128.html To jest wrapper na bibliotekę quadmath, albo intelowy, albo włąśnie double double. > Ale szesnaście razy 32 bity to już narzut na długość i wskaźnik nie jest > tak duży, chyba że rozwala spójność pamięci. GMP ma Wskaźnik i dwa inty na długość:/ NArzut czasowy niewielki, ale spojność pamięći jest dla mnie dość istotna. pzdr bartekltg
[toc] | [prev] | [next] | [standalone]
| From | "M.M." <mmarszik@gmail.com> |
|---|---|
| Date | 2016-10-01 15:30 -0700 |
| Message-ID | <3cfca169-ce10-4992-9e26-fbe2d20fc40f@googlegroups.com> |
| In reply to | #28981 |
On Saturday, October 1, 2016 at 1:44:43 AM UTC+2, bartekltg wrote: > On 01.10.2016 00:49, Borneq wrote: > > W dniu 30.09.2016 o 23:56, bartekltg pisze: > >> na dane z liczbami. To spory narzut pamięciowy jeśli > >> potrzebuję jedynie poczwórnej...szesznastokrotnej precyzji, > >> oraz rozwala spójność pamieci przy operacjach macierzowych. > > > > Poczwórnej - czy to nie to co mi podawałeś gdy pytałem się o 128 bitów? > > http://www.boost.org/doc/libs/1_57_0/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/float128.html > > To jest wrapper na bibliotekę quadmath, albo intelowy, albo włąśnie > double double. > > > > Ale szesnaście razy 32 bity to już narzut na długość i wskaźnik nie jest > > tak duży, chyba że rozwala spójność pamięci. > > GMP ma Wskaźnik i dwa inty na długość:/ > > NArzut czasowy niewielki, ale spojność pamięći jest dla mnie dość > istotna. Jeśli są allokowane dane w takiej kolejności w jakiej będzie je przeglądał algorytm, to wbrew pozorom jakaś sensowna spójność pamięci będzie zachowana. Oczywiście wydajność nie będzie taka jak w C++ na wyspecjalizowanym szablonie dla określonej precyzji, ale tragedii też nie powinno być. Pozdrawiam
[toc] | [prev] | [next] | [standalone]
| From | bartekltg <bartekltg@gmail.com> |
|---|---|
| Date | 2016-10-02 02:12 +0200 |
| Message-ID | <nspje6$e8u$1@node2.news.atman.pl> |
| In reply to | #29015 |
On 02.10.2016 00:30, M.M. wrote: > On Saturday, October 1, 2016 at 1:44:43 AM UTC+2, bartekltg wrote: >> On 01.10.2016 00:49, Borneq wrote: >>> W dniu 30.09.2016 o 23:56, bartekltg pisze: >>>> na dane z liczbami. To spory narzut pamięciowy jeśli >>>> potrzebuję jedynie poczwórnej...szesznastokrotnej precyzji, >>>> oraz rozwala spójność pamieci przy operacjach macierzowych. >>> >>> Poczwórnej - czy to nie to co mi podawałeś gdy pytałem się o 128 bitów? >>> http://www.boost.org/doc/libs/1_57_0/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/float128.html >> >> To jest wrapper na bibliotekę quadmath, albo intelowy, albo włąśnie >> double double. >> >> >>> Ale szesnaście razy 32 bity to już narzut na długość i wskaźnik nie jest >>> tak duży, chyba że rozwala spójność pamięci. >> >> GMP ma Wskaźnik i dwa inty na długość:/ >> >> NArzut czasowy niewielki, ale spojność pamięći jest dla mnie dość >> istotna. > > Jeśli są allokowane dane w takiej kolejności w jakiej będzie > je przeglądał algorytm, to wbrew pozorom jakaś sensowna spójność > pamięci będzie zachowana. A teraz robię na tych macierzach rozkłądy LLT albo LUP jakiś gotowcem, a on przestawia liczby, moze im robi swap. > Oczywiście wydajność nie będzie taka > jak w C++ na wyspecjalizowanym szablonie dla określonej precyzji, > ale tragedii też nie powinno być. Czasy obliczeń liczy się w godzinach lub dniach, miłoby było coś wykroić ;-) pzdr bartekltg
[toc] | [prev] | [standalone]
Back to top | Article view | pl.comp.programming
csiph-web