Numeri grossi? GMP!

Quando si dice la serendipità! L’altro giorno, cercando altro per colpamerito di Zar (è solo rimandato, ma poi arriva, forse) sono capitato su una cosa davvero fantabulosa: GMP.

GMP the GNU Multiple Precision Arithmetic Library– vale mooolto più di un post. Per cui altri ne seguiranno, per intanto un assaggino da dove ho scoperto il tutto. Il merito è dell’autore di Introduction to newLISP, anonimo ma forse il mitico Cormullion.

If you have installed the GMP (GNU Multiple Precision Arithmetic Library) on your computer, and downloaded the GMP interface module from the newLISP site, you can import those superhuman numeric functions into your code

UAU!, presto!

Il modulo gmp.lsp e il manuale lo trovate qui.

Dal file gmp.lsp ho eliminato quanto segue a (context 'MAIN) dopo aver visto che il test era superato.

Fatto! Ed ecco

(println "test GMP con newLISP")
(load "gmp.lsp")
(set 'bigs (GMP:+ "123456789012345678901234567890" "123456789012345678901234567890"))
(println bigs)
(set 'cont "246913578024691357802469135780")
(println "controllo: " (= bigs cont))

(set 'bigp (GMP:* "123456789012345678901234567890" "123456789012345678901234567890"))
(println bigp)
(set 'cont (GMP:/ bigp "123456789012345678901234567890"))
(println cont)
(exit)

Sono soddisfazioni! Adesso posso contare i $$$ di Paperon de’ Paperoni, senza arrotondare. Ah! sì, dimenticavo, di GMP ci sono le interfacce per parecchi linguaggi, quelli sensati, prossimamente qui.
No, non c’è per Windoze ma tanto a loro non serve ;-)

Posta un commento o usa questo indirizzo per il trackback.

Trackback

  • [...] è cominciato con questo post Numeri grossi? GMP! Mi era sembrata una cosa bella e poi mi ricordo che una volta, parecchio tempo fa, avevo dovuto [...]

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

Iscriviti

Ricevi al tuo indirizzo email tutti i nuovi post del sito.

Unisciti agli altri 63 follower

%d blogger cliccano Mi Piace per questo: