-
1. Data: 2016-09-15 10:15:15
Temat: Dowolna precyzja - Boost?
Od: Borneq <b...@a...hidden.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/multipreci
sion/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?
-
2. Data: 2016-09-15 11:08:39
Temat: Re: Dowolna precyzja - Boost?
Od: bartekltg <b...@g...com>
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/multipreci
sion/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/multipreci
sion/doc/html/boost_multiprecision/tut.html
pzdr
bartekltg
-
3. Data: 2016-09-15 11:47:40
Temat: Re: Dowolna precyzja - Boost?
Od: Borneq <b...@a...hidden.pl>
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/multipreci
sion/doc/html/boost_multiprecision/tut.html
Rzeczywiście, jakoś nie natrafiłem na to.
-
4. Data: 2016-09-29 00:06:43
Temat: Re: Dowolna precyzja - Boost?
Od: Borneq <b...@a...hidden.pl>
W dniu 15.09.2016 o 11:08, bartekltg pisze:
> http://www.boost.org/doc/libs/1_61_0/libs/multipreci
sion/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
-
5. Data: 2016-09-29 10:46:33
Temat: Re: Dowolna precyzja - Boost?
Od: bartekltg <b...@g...com>
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/multipreci
sion/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
-
6. Data: 2016-09-29 13:54:34
Temat: Re: Dowolna precyzja - Boost?
Od: Borneq <b...@a...hidden.pl>
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
-
7. Data: 2016-09-30 21:16:05
Temat: Re: Dowolna precyzja - Boost?
Od: Piotrne <p...@p...onet.pl>
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.ht
ml
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.
-
8. Data: 2016-09-30 23:49:39
Temat: Re: Dowolna precyzja - Boost?
Od: Borneq <b...@a...hidden.pl>
W dniu 30.09.2016 o 21:16, Piotrne pisze:
>
> http://www.hvks.com/Numerical/arbitrary_precision.ht
ml
Ciekawe:
"It support all relevant trigonometric, logarithms and exponential
functions like exp(), log(), sin(), cos() etc. which GMP does not"
;-)
-
9. Data: 2016-09-30 23:56:04
Temat: Re: Dowolna precyzja - Boost?
Od: bartekltg <b...@g...com>
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.ht
ml
>
> 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
-
10. Data: 2016-10-01 00:49:50
Temat: Re: Dowolna precyzja - Boost?
Od: Borneq <b...@a...hidden.pl>
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/multipreci
sion/doc/html/boost_multiprecision/tut/floats/float1
28.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.