Mi a double (számtípus) duplája?

Fórumok

Sziasztok.

1XXXX*1XXXX-es képeket kell feldolgoznom (fourier transzformáció + sok egyéb), és kénytelen vagyok 64bites double számokkal dolgozni, amit CV_64FC2-típusú opencv tömbökben tárolok, igen ám de elemenként műveleteket kell végrehajtanom, amit a CV_MAT_ELEM nevű függvény végez. aminek a formalizmosa:
CV_MAT_ELEM(tömb,számtípus,xkoordináta,ykoordináta).
De ezzel az a baj, hogy a legpontosabb számtípus amit be tudok írni az a double, ill a long double, ami meg már túl sok. Szóval biztosan trivialitás a megoldás, de nem tudom, hogy mi kell oda.

Jóra gondoltam, de rosszat írtam, nem akarom megmásítani amit írtam:
Szóval a long double is kevés, és attól hosszabb kelene mert a long double 96-bite-os, nekem 128-bite a számábrázolás. Ja még valamit, valójában 128 bite az azért 128, mert az eredmény komplex így az egyik csatornán a valós rész van a másikon az immaginárius.

Hozzászólások

Tudomásom szerint a double (64 bit), és a long double (96 bit) között nincs más.

Petya

kíváncsiságból kérdem, miért nem elég a double?
eddigi tapasztalatom szerint amikor az volt a válasz hogy sok egymás utáni művelet miatt romlik a pontosság, mindig lehetett modell/implementálásbeli hibát találni (ez persze nem jelenti azt hogy a double mindenre elég, csak hogy a delikvens mindig túl kényelmes)

Részben igazad van, elvileg elegendő, de van minőségben különbség. Csak képen tudom megmutatni, amit a rekonstruált hologrammon nagyon jól látszik. Egyébként azért ennyire nagy pomtosságú számok kellenek mert egy nagyon nagy szám és nagyon kis szám szorzata a kimenet. nagyásgrendieg a 10^40-150 * minusz hatványban ennyi, és még komplex is, szóval van mit rajta mazsolázni a gépnek.Ja és a lényeg, hogy ez valójában 2*64 bit mert 2 csatornás, az egyik az immaginárius a másik a képzetes rész. A sima double méretű azaz 2*float, na az a kevés.
------
3 fajta matematikus létezik. Aki tud számolni, és aki nem.

Igen erre én is gondoltam, a 128 bit bőven elég, a gond annyi, hogy iszonyat sok munkám van már az opencv-s részben, ráadásul a dft-t is teljesen előlről kellene akor irni. Gondoltam, csinálok egy 128-bites struktúra definíciót, és azt átadni sizeoffal, de nem jött be.
------
3 fajta matematikus létezik. Aki tud számolni, és aki nem.

a double 8 byte, a long double 10 byte (általában, x86-on)

mi lenne a kettő közt? 9 byte-os double ??
nem értem a problémát.

AFAIK x86-on az FPU nem tud 128 bites pontossagot, probald meg libgmp-vel.

--
Fontos feladatot soha ne bizz olyan gepre, amit egyedul is fel tudsz emelni!

128 byte -os szám, KOMOLYAN? ez tuti? merthát akkor ugye:

-8,9884656743115795386465259539451e+307 tól +8,9884656743115795386465259539451e+307

terjed a skála (nagyjából)
Te a naprendszert akarod miliméter pontossággal ábrázolni?
Esetleg valami szubatomi mozgásmodelleket számolgatsz?

----
概略情報