2011-01-26 12 views
9

Qualcuno sa di una libreria JavaScript che implementa con precisione la specifica IEEE 754 per i valori a virgola mobile a 32 bit? Lo sto chiedendo perché sto provando a scrivere un cross-compiler in JavaScript e, poiché il linguaggio sorgente ha requisiti rigorosi che i valori in virgola mobile rispettano IEEE 754, anche il codice JavaScript generato deve farlo. Ciò significa che devo essere in grado di ottenere esattamente i valori IEEE 754 corretti per addizione, sottrazione, moltiplicazione e divisione di float a 32 bit. Sfortunatamente, il tipo di numero JavaScript standard è un doppio a 64 bit, che darà risultati diversi da quelli che mi aspetto. Il progetto deve davvero essere in JavaScript, e questo è l'unico grosso ostacolo che devo ancora superare.Implementazione di float a 32 bit o long a 64 bit in JavaScript?

Sono anche in esecuzione in questo problema con long a 64 bit.

+1

Stai facendo un cosa?!? (impressionato) Un compilatore per cosa, esattamente? – amphetamachine

+0

@ amphetamachine- Se tutto va bene (incrocia le dita!) Un'implementazione della JVM che viene eseguita in JavaScript. È per insegnare a intro CS online. Non mi aspettavo che questo fosse il collo di bottiglia - ho capito come fare il threading e tutto ciò prima che mi confondesse. :-) – templatetypedef

+0

Immagino che tu abbia già investito molto impegno in questo, quindi penso che valga la pena tentare l'implementazione da solo. I dettagli sono lasciati come esercizio per il lettore. :) – nss

risposta

8

Il Closure library ha un'implementazione lunga 64 bit, almeno.

+0

@ gsnedders- È bellissimo! Grazie mille per il link. Oggi ho esaurito i voti, ma sarò sicuro di darti +1 non appena il giorno successivo sarà in giro. – templatetypedef

Problemi correlati