Drage matematicarke i matematicari,
obzirom da sam u nekim projektima imao veliku potrebu za suvislom preciznoscu ne pruza postojeca x86 (a ni jedna druga, no nije sad toliko bitno) arhitektura, ukazala se potreba za [url=https://gmplib.org/]GMP-om[/url].
Obzirom da je GMP u trenutnoj verziji bez poznatih (racunskih) bugova vec preko 6 mjeseci, cinio se kao idealno rjesenje.
Nazalost, GMP je zamisljen za rad u POSIX kompatibilnim okruzenjima, što Windowsi jesu, bilo kroz nativnu podršku od NT-a do 2000 odnosno kroz Interx i ostale 3rd party knjiznice nadalje.
Ipak, unatoc pokusajima traznja elegantnog nacina za implementaciju, nije bilo brzog rjesenja na Internetima, a [url=http://mpir.org/]MPIR[/url] odnosno GMP port za Windowse je poprilicno zaostao; sto je znacilo da cu morati potraziti nacin da pokusam to nekako realizirati sam. Sto se nakon malo muke i dogodilo, a rezultati su ispod.
Bilo kako bilo, ukratko, kome ce trebati za buducu referencu, datoteke se nalaze ispod, i to za Windowse, Linux (gdje ga u principu nije problem trivijalno dobiti) i OS X.
Sve knjiznice su thread safe ([i]--enable-alloca=malloc-reentrant[/i]), (osim x86 OS X zbog bugova s X Code compilerom za neke AMD specificne kombinacije) asembler optimizirane ([i]--enable-fat[/i]) i digitalno potpisane (Windows i OS X).
[b]DLL/so/dylib[/b]
[list][i]Windows[/i]
[list][url=http://dev.banelli.biz/tmp/gmp/libgmp-10.dll]libgmp-10.dll[/url] (GMP x86)
[url=http://dev.banelli.biz/tmp/gmp/libgmp-10x64.dll]libgmp-10x64.dll[/url] (GMP x64)
[url=http://dev.banelli.biz/tmp/gmp/msys-1.0.dll]msys-1.0.dll[/url] [b](obavezno!)[/b][/list:u][/list:u]
[list][i]Linux[/i]
[list][url=http://dev.banelli.biz/tmp/gmp/libgmp.so.10.2.0]libgmp.so.10.2.0[/url] (GMP x86)
[url=http://dev.banelli.biz/tmp/gmp/libgmp.so.10.2.x64.0]libgmp.so.10.2.x64.0[/url] (GMP x64)[/list:u][/list:u]
[list][i]Mac OS X[/i]
[list][url=http://dev.banelli.biz/tmp/gmp/libgmp.10.dylib]libgmp.10.dylib[/url] (GMP x86)
[url=http://dev.banelli.biz/tmp/gmp/libgmp.10.x64.dylib]libgmp.10.x64.dylib[/url] (GMP x64)[/list:u][/list:u]
Par primjera kako stvar radi:
[img]http://www.pohrani.com/f/5/aH/4UMbsbUf/1.png[/img]
[img]http://www.pohrani.com/f/2S/tq/2WUbPrXa/screenshot-from-2015-01-.png[/img]
[img]http://www.pohrani.com/f/1u/QW/tXI0BwJ/1.png[/img]
Za primjere potrebno je preuzeti x64 GMP knjiznicu i MSYS knjiznicu.
[list][url=http://dev.banelli.biz/tmp/gmp/GMP-Consolex64.exe]GMP-Consolex64.exe[/url] (racuna 2^11213 - 1 i provjerava Miller-Rabin testom je li broj prost) ([url=https://www.virustotal.com/en/file/2dce3ecdc94149a5caceb17c6e1fccfdae258ce4ae0bd3e1306ae75195000bc3/analysis/]VirusTotal[/url])
[url=http://dev.banelli.biz/tmp/gmp/GMP-Console2x64.exe]GMP-Console2x64.exe[/url] (visedretvenost - matricno mnozenje 1000x1000 matrice s velikim brojevima) ([url=https://www.virustotal.com/en/file/4b1c001d77ecb62faca9bb45ba4073b8ff8e73eed30aa5a6edadaaa392f63727/analysis/]VirusTotal[/url])
[url=http://dev.banelli.biz/tmp/gmp/GMP-Console3x64.exe]GMP-Console3x64.exe[/url] (Chudnovsky algoritam za racunanje decimala pi) ([url=https://www.virustotal.com/en/file/9ee3c3b611124b1b3c3b5c7cb41f4e44726b8e0886ff26d3d7e1794890e13dfe/analysis/1420314459/]VirusTotal[/url])[/list:u]
Ako ne pak netko s druge strane uspio dobiti bilo staticke bilo dinamicke knjiznice s "nativnijim" rjesenjem (Visual Studio, recimo), biljezim se sa stovanjem za upute i informacije!
Uzivajte,
Bruno
Drage matematicarke i matematicari,
obzirom da sam u nekim projektima imao veliku potrebu za suvislom preciznoscu ne pruza postojeca x86 (a ni jedna druga, no nije sad toliko bitno) arhitektura, ukazala se potreba za GMP-om.
Obzirom da je GMP u trenutnoj verziji bez poznatih (racunskih) bugova vec preko 6 mjeseci, cinio se kao idealno rjesenje.
Nazalost, GMP je zamisljen za rad u POSIX kompatibilnim okruzenjima, što Windowsi jesu, bilo kroz nativnu podršku od NT-a do 2000 odnosno kroz Interx i ostale 3rd party knjiznice nadalje.
Ipak, unatoc pokusajima traznja elegantnog nacina za implementaciju, nije bilo brzog rjesenja na Internetima, a MPIR odnosno GMP port za Windowse je poprilicno zaostao; sto je znacilo da cu morati potraziti nacin da pokusam to nekako realizirati sam. Sto se nakon malo muke i dogodilo, a rezultati su ispod.
Bilo kako bilo, ukratko, kome ce trebati za buducu referencu, datoteke se nalaze ispod, i to za Windowse, Linux (gdje ga u principu nije problem trivijalno dobiti) i OS X.
Sve knjiznice su thread safe (–enable-alloca=malloc-reentrant), (osim x86 OS X zbog bugova s X Code compilerom za neke AMD specificne kombinacije) asembler optimizirane (–enable-fat) i digitalno potpisane (Windows i OS X).
DLL/so/dylib
Par primjera kako stvar radi:
Za primjere potrebno je preuzeti x64 GMP knjiznicu i MSYS knjiznicu.
Ako ne pak netko s druge strane uspio dobiti bilo staticke bilo dinamicke knjiznice s "nativnijim" rjesenjem (Visual Studio, recimo), biljezim se sa stovanjem za upute i informacije!
Uzivajte,
Bruno
_________________ Matematika
Dijeli ljude na dvije grupe. One kojima nije jasna i one kojima nije jasno kako ovim prvima nije jasna.
§ https://www.pci-z.com/ §
|