Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Infinite Integer Class

[es] :: C/C++ programiranje :: Infinite Integer Class

[ Pregleda: 3715 | Odgovora: 16 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

NrmMyth
Ivan Maček
Split

Član broj: 63456
Poruke: 849
*.cmu.carnet.hr.

Sajt: www.dump.hr


Profil

icon Infinite Integer Class10.09.2005. u 11:29 - pre 226 meseci
Ako ikoga zanima besplatan C++ razred za jednostavan i efikasan rad sa beskonacnim cijelim (integer) brojevima neka pogleda donji link.

NB: Donji link vodi do drugoga foruma na kojem sam ja hostao svoju biblioteku, pa ako tko gleda na ovo kao na reklamu foruma neka ne slijedi link.

Hvala.
http://www.code-it.net/forum/v...rum_id=29&thread_id=32#265

[Ovu poruku je menjao NrmMyth dana 10.09.2005. u 12:30 GMT+1]

[Ovu poruku je menjao NrmMyth dana 10.09.2005. u 12:31 GMT+1]
 
Odgovor na temu

itf
Zagreb

Član broj: 59794
Poruke: 993
*.bar.novatv.hr.



+9 Profil

icon Re: Infinite Integer Class10.09.2005. u 12:03 - pre 226 meseci
Impresivno, zaista... No nekako mi se aritmetički operatori + i - čine sumnjivim... Na poslu sam pa ne mogu provjeriti no jesi li pokušao zbojiti npr. 138 + 4332142123?
 
Odgovor na temu

NrmMyth
Ivan Maček
Split

Član broj: 63456
Poruke: 849
*.cmu.carnet.hr.

Sajt: www.dump.hr


Profil

icon Re: Infinite Integer Class10.09.2005. u 19:16 - pre 226 meseci
Prvo veliko hvala Tebi jer je uvijek drago covjeku vidjeti da se netko interesira.

Problem koji si vjerojatno primjetio nije bio oko - i + operatora nego neki minorni interni bugovi kojima vas sad necu zamarati, sad je to sredjeno i radi.

138 + 4332142123 = ... TOCNO VRACA

UPLOADANA JE 1.01b verzija na prijasnjem linku
 
Odgovor na temu

itf
Zagreb

Član broj: 59794
Poruke: 993
*.bar.novatv.hr.



+9 Profil

icon Re: Infinite Integer Class11.09.2005. u 19:02 - pre 226 meseci
Ma nema problema, no još ću te malo gnjaviti ;)

Mogući problem kod ove klase jest.. Što će vratiti operator sizeof? Što će se desiti ukoliko ja taj podatak koristim kao član neke strukture, a tu strukturu npr. sekvencijalno upisujem u neku neformatiranu datoteku? Kako ću znati kolike blokove čitati kada taj podatak može stalno imati različitu veličinu (zauzeće memorije)?

Pitam jer si u operatorima + i - dinamički realocirao memoriju potrebnu za spremanje novih znamenaka (ukoliko se broj povećava). Prema kodu, moguće je da se novonastale znamenke ne spreme ukoliko je taj inifinite integer već član neke strukture koja zauzima fiksnu veličinu u memoriji..

[Ovu poruku je menjao itf dana 11.09.2005. u 20:11 GMT+1]
 
Odgovor na temu

NrmMyth
Ivan Maček
Split

Član broj: 63456
Poruke: 849
*.cmu.carnet.hr.

Sajt: www.dump.hr


Profil

icon Re: Infinite Integer Class12.09.2005. u 08:20 - pre 226 meseci
Citat:
Što će vratiti operator sizeof?

Razred je radjen na prijasnjem projektu, polja bitova, u kojem se radi' ne opterecivanja sa dinamickom alokacijom koristio vector<T>. Pa sada sizeof bi trebao vratiti tocnu memoriju.
Citat:
Pitam jer si u operatorima + i - dinamički realocirao memoriju potrebnu za spremanje novih znamenaka (ukoliko se broj povećava). Prema kodu, moguće je da se novonastale znamenke ne spreme ukoliko je taj inifinite integer već član neke strukture koja zauzima fiksnu veličinu u memoriji..

A ovdje koliko mi se cini, usao si dublje u jos jedan stariji projekt, "bint__", koji je imao istu namjenu kao i "Z" samo je sve operacije obavljao prekao char*, on sada samo sluzi u konstruktoru i destruktoru kao privremeni/lokalni objekt.
... A mozda govoris o mjestu gdje se expandira polje bitova da bi upali novi bitovi nastali preljevom originalne velicine polja.
Pa mogao bih napraviti da pomocu predprocesorskih narebi ti na pocetku programa definiras zelis li imati konstantnu velicinu polja (broja) ili promjenjivu.

Ovo mi je dalo ideju, napravit cu poboljsanja:
reserve( size_t );
min( ) i max( );

Kako ti se ovo sve cini?
 
Odgovor na temu

Buffy
Stanko Culaja
Sipovo, BiH

Član broj: 45310
Poruke: 312
*.teol.net.



Profil

icon Re: Infinite Integer Class12.09.2005. u 15:07 - pre 226 meseci
Unaprijed da kazem da nisam probao klasu na djelu, ali imam par zamjerki.
Na primjer lijepo bi bilo da si napravio staticku biblioteku i da si sve deklaracije stavio u *.h fajl, a definicije klasa u *.a(*.lib) fajl, jer ipak ovaj nacin je vise u duhu naseg jezika! ;)
Glupo bi bili da ja sad i source datoteke i header datoteke stavljam u include direktorijum.
Pozdrav!
 
Odgovor na temu

itf
Zagreb

Član broj: 59794
Poruke: 993
*.bar.novatv.hr.



+9 Profil

icon Re: Infinite Integer Class12.09.2005. u 17:08 - pre 226 meseci
U svakom slučaju bi bilo dobro da daš mogućnost definiranja fiksne veličine podatka
 
Odgovor na temu

NrmMyth
Ivan Maček
Split

Član broj: 63456
Poruke: 849
*.cmu.carnet.hr.

Sajt: www.dump.hr


Profil

icon Re: Infinite Integer Class12.09.2005. u 21:48 - pre 226 meseci
Sve cemo mi to popraviti kroz ovaj tjedan ili sljedeci, jer ja sam biznismen i neman vrimena. ;)
Citat:
Buffy: Unaprijed da kazem da nisam probao klasu na djelu, ali imam par zamjerki.
Na primjer lijepo bi bilo da si napravio staticku biblioteku i da si sve deklaracije stavio u *.h fajl, a definicije klasa u *.a(*.lib) fajl, jer ipak ovaj nacin je vise u duhu naseg jezika! ;)
Glupo bi bili da ja sad i source datoteke i header datoteke stavljam u include direktorijum.
Pozdrav!

Istina razmisljao sam o tome, ali onda moram dijeliti razlicite objektne datoteke za razlicite compilere ( jesam u pravu? ). Za sad to jos nije potrebno, no ako bude zelja za tim onda cemo i to srediti.
 
Odgovor na temu

Buffy
Stanko Culaja
Sipovo, BiH

Član broj: 45310
Poruke: 312
*.teol.net.



Profil

icon Re: Infinite Integer Class12.09.2005. u 21:53 - pre 226 meseci
Svakako ti kod nije portabilan, jer sam ja pokusao da kompajliram tvoju klasu sa gcc-om i nije moglo(prijavi dosta gresaka).
Pozdrav!
 
Odgovor na temu

itf
Zagreb

Član broj: 59794
Poruke: 993
*.bar.novatv.hr.



+9 Profil

icon Re: Infinite Integer Class12.09.2005. u 22:06 - pre 226 meseci
Ma stavi ti to u komponentu pa sa tim neće biti problema. Moći će se compilirati gdje god hoćeš. Kolega, samo naprijed!

[Ovu poruku je menjao itf dana 12.09.2005. u 23:29 GMT+1]
 
Odgovor na temu

NrmMyth
Ivan Maček
Split

Član broj: 63456
Poruke: 849
*.cmu.carnet.hr.

Sajt: www.dump.hr


Profil

icon Re: Infinite Integer Class13.09.2005. u 21:26 - pre 226 meseci
Citat:
Buffy: Svakako ti kod nije portabilan, jer sam ja pokusao da kompajliram tvoju klasu sa gcc-om i nije moglo(prijavi dosta gresaka).
Pozdrav!

Svakako ti hvala na obavijesti.

Kad nadjem vremena sve ce se ovo srediti pa mozda i bude neke koristi od ovoga, tko zna.
The time is not my friend!

Kad napravim ikakav progress javiti cu vam se.

[Ovu poruku je menjao NrmMyth dana 13.09.2005. u 22:27 GMT+1]
 
Odgovor na temu

NrmMyth
Ivan Maček
Split

Član broj: 63456
Poruke: 849
*.cmu.carnet.hr.

Sajt: www.dump.hr


Profil

icon Re: Infinite Integer Class14.09.2005. u 22:14 - pre 226 meseci
Sredjeno, kompajlirano i radi u Dev-Cpp IDE => Mingw/GCC .
Zasad jos nije nista uploadano na prijasnji link.
Iza vikenda cete dobiti nove verzije, sa implementiranim fixed_Z i sredjenom stvari oko statickih library-ja.
Pozdrav.
 
Odgovor na temu

#Ninja#
Tuzla

Član broj: 28925
Poruke: 259
*.bih.net.ba.



+1 Profil

icon Re: Infinite Integer Class25.01.2006. u 16:56 - pre 222 meseci
NrmMyth, koristim se ovom tvojom klasom već neko vrijeme (kao entuzijast, hehe). Sve je bilo OK do danas, kad sam instalirao Visual Studio 2005 (original, dobio od fakulteta). VS 2005 izbacuje sljedeću grešku i odbija kompajliranje:

Code:
Error    1    error C2668: 'pow' : ambiguous call to overloaded function    
d:\visual studio projects\include\bigint\paper functions complet\paperbigint.h    (Line 162)    


I, usput, jesi li siguran da ova klasa podržava beskonačno velike brojeve, pošto sizeof kaže da zauzima 24 bajta? 24 bajta je prilično golemo, ali nije beskonačno.





[Ovu poruku je menjao #Ninja# dana 25.01.2006. u 17:57 GMT+1]
 
Odgovor na temu

NastyBoy
Bojan Nastic
UK

Član broj: 12041
Poruke: 895
*.dsl.pipex.com.



+4 Profil

icon Re: Infinite Integer Class25.01.2006. u 17:23 - pre 222 meseci
Citat:
I, usput, jesi li siguran da ova klasa podržava beskonačno velike brojeve, pošto sizeof kaže da zauzima 24 bajta?


Shta treba da kazhe ? "Compiler Error : size of class is Infinite! Stopping compilation!"? :))
 
Odgovor na temu

NrmMyth
Ivan Maček
Split

Član broj: 63456
Poruke: 849
*.net.t-com.hr.

Sajt: www.dump.hr


Profil

icon Re: Infinite Integer Class25.01.2006. u 18:42 - pre 222 meseci
Wow! Nevjerojatno da se netko javlja nakon pola godine. Ja sam skoro zaboravio da sam radio ovo (a tek kad pogledam uzasni dizajn koda..., mnogo se toga promjenilo od ljeta).
Mogao bi sve to ponovno rekonstruirati...


Error ti se javlja vjerojatno zbog nerazrijesenosti poziva funkcije, a sve je to zbog definiranog konstruktora pretvorbe:
Code:
Z(size_t word);

Code:
Z pow(const Z& livi, const Z& desni);
Z pow(const Z& livi, unsigned int desni);

Sredi to, ako ne uspijes postaj dio koda pa cu ti pomoci tako.


Klasa je radjena tako da dinamicki alocira sebi potrebnu memoriju, na temelju std::vectora. Sad ne znam tocno kako on alocira pa ti ne mogu reci hoce li svaki objekt imati konstantnu velicinu ili ne.
Naravno da nisu beskonacni brojevi, ovisi o tvojoj memoriji! Ako imas 128 MB radne memorije onda mozes spremiti brojeve do 21073741824, a vjeruj mi to jesu beskonacni brojevi.


Posto se vec neko vrijeme koristis, reci kakva su ti iskustva i prvenstveno ima li sta bugova?
 
Odgovor na temu

#Ninja#
Tuzla

Član broj: 28925
Poruke: 259
*.bih.net.ba.



+1 Profil

icon Re: Infinite Integer Class25.01.2006. u 20:04 - pre 222 meseci
Upotrebljavao sam ovo umjesto int kad očekujem velike rezultate (faktoriel i sl). Nema mogućnost konverzije u int i obratno (ako upotrijebim Z kao povratnu vrijednost u funkciji, funkcija ne može vratiti vrijednost u int varijablu).

Pokušao bih ja to samostalno ispraviti, ali nisam još na tom nivou znanja.
 
Odgovor na temu

NrmMyth
Ivan Maček
Split

Član broj: 63456
Poruke: 849
*.net.t-com.hr.

Sajt: www.dump.hr


Profil

icon Re: Infinite Integer Class25.01.2006. u 21:33 - pre 222 meseci
Citat:
#Ninja#:Nema mogućnost konverzije u int i obratno (ako upotrijebim Z kao povratnu vrijednost u funkciji, funkcija ne može vratiti vrijednost u int varijablu).

Konverziju u int sam vjerojatno izostavio jer sam mislio (i jos mislim) da ako koristis ovu klasu za brojeve onad ces valjda raditi sa vecim brojevima od int-a, pa se backward konverziranje i ne isplati. Konverziju inta u Z mozes napraviti jer je prisutan prije navedeni konstruktor konverzije
Code:
Z( size_t x );

s kojim mozes pretvoriti int u Z, i zbog njega ti se javlja error gore.

Ako jos imas problema, postaj kod pa cu ti razjasniti.
 
Odgovor na temu

[es] :: C/C++ programiranje :: Infinite Integer Class

[ Pregleda: 3715 | Odgovora: 16 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.