[zxspectrum] Re: Situazione disegno frattale

  • From: Enrico Maria Giordano <e.m.giordano@xxxxxxxxxxxxxxx>
  • To: zxspectrum@xxxxxxxxxxxxx
  • Date: Mon, 09 Mar 2015 23:22:51 +0100



Il 09/03/2015 21:39, Stefano Bodrato ha scritto:

No, non ci sono numeri interi in un calcolo di frattale.

In maggioranza no, ma forse riconoscere lo ‘0’ o moltiplicare un FP per
valori interi noti in modo specifico potrebbe essere utile.

Non vedo come. Ti assicuro che sono coinvolti solo numeri con cifre frazionarie, tante cifre frazionarie.

Inoltre ti sta sfuggendo una cosa molto importante: lo scopo di tutto questo non è disegnare un frattale. Quello è solo un banco di prova per testare la funzionalità (in primis) e anche l'efficienza delle routine. Ora la funzionalità mi sembra ci sia. L'efficienza un po' meno ma è il prezzo da pagare per la maggior precisione (esponente decimale invece che binario) e per il numero di cifre significative dinamico (nel senso che è indicabile per ogni singola operazione tramite apposito registro).

- fare bit-shifting quando possibile

Puoi essere più preciso, per favore? Che vuoi dire? Gli algoritmi che
uso si basano già sul bit-shifting ma forse intendevi altro...

Sto parlando un po’ a vanvera, in effetti con la mantissa non credo
abbia senso controllare se è divisibile per due.
Però forse se ne può “pesare” la precisione e scegliere una scorciatoia
quando possibile ?

Non posso dire di aver capito altro che vagamente... :-(

Ci avevo pensato ma, oltre alla maggiore occupazione di memoria, non
capisco come applicarle... :-(

certo.. ma di RAM ne hai da vendere per il tuo frattale ..

Sì, ma qui non si tratta del frattale, come ho scritto sopra.

La ROM dello zx (4 byte di mantissa, ma immagino la conoscessi già):
http://www.wearmouth.demon.co.uk/zx82.htm
si inizia dalla RST 28h
z88dk (5 byte di mantissa, + veloce):
http://z88dk.cvs.sourceforge.net/viewvc/z88dk/z88dk/libsrc/math/genmath/

Ho visto che anche nello z88dk vengono usati i registri alternativi. Purtroppo è un'ottimizzazione che non posso adottare proprio a causa della precisione dinamica. Come farei a mettere nei registri un operando da 256 bytes? :-)

EMG

--
EMAG Software Homepage: http://www.emagsoftware.it
The EMG Music page: http://www.emagsoftware.it/emgmusic
The EMG's ZX-Spectrum Page: http://www.emagsoftware.it/spectrum
The Best of Spectrum Games: http://www.emagsoftware.it/tbosg

Other related posts: