su un sistema a 64 bit Int64 dovrebbe andrebbe bene, non so per certo però.
Ancora più importante se si sta facendo Crypto o generazione di numeri casuali è DEVE utilizzare il tipo di dati che l'algoritmo dice di usare, fare anche attenzione alla firma. Se non lo fai, otterrai risultati errati, il che potrebbe significare che la tua crittografia non è sicura o il tuo generatore di numeri casuali non è realmente casuale (gli RNG sono difficili e molti sembrano casuali ma non lo sono).
Per qualsiasi altro tipo di lavoro, utilizzare l'intero ovunque sia possibile, o ancora meglio, rendere il programma polimorfico utilizzando la classe di tipo integrale. Quindi, se ritieni che il tuo programma sia più lento di quanto dovrebbe essere profilato per determinare dove dovresti concentrarti quando cerchi di accelerarlo. se usi la classe di classe integrale che cambia da Integer a Int è facile. Haskell dovrebbe essere abbastanza intelligente da specializzare (la maggior parte) codice che usa il polimorfismo per evitare i costi generali.
fonte
2011-08-05 02:10:12
Si consiglia di utilizzare 'Integer' come prima volta. – Gabe
Ho bisogno di una dimensione di parola fissa per implementare Xorshift, quindi l'intero non è una scelta. – fuz
Userei qualsiasi cosa di 'Int32' e' Int64' è più adatto per il tuo algoritmo RNG. Creare un sinonimo di tipo in modo da poterlo testare facilmente in seguito. Sappi anche che un 'Int' non è lo stesso di' Int32' (la specifica Haskell garantisce solo che un 'Int' sia di almeno 31 bit). –