2010-03-29 11 views
0

J'écris un cadre pour écrire des fichiers HDF avec JAVA (en utilisant un framework existant). Je dois garder la compatibilité avec l'octave. Autrement dit, l'octave devrait être capable de lire les fichiers écrits par mon framework et vice versa.Types de données Octave - float & double

Ma question est, est-ce que Octave a deux types de données - float et double ou utilise seulement le double?

grâce

Répondre

1

interne Octave gère à la fois à double scalaire et flotteur scalaire, ainsi que float/matrices doubles. octave utilise des modèles pour instancier le type scalaire afin que l'octave puisse gérer efficacement les deux types. Mais votre problème semble être le format de données à utiliser lors de l'échange de données avec Octave en utilisant des fichiers.

Le format de données par défaut Octaves pour enregistrer est binaire, par exemple des valeurs à virgule flottante double précision. Mais Octave peut enregistrer au format flottant, tronquant ainsi les données. Octave peut également enregistrer en format HDF5. Tous les formats pris en charge sont répertoriés here.

La sérialisation des objets binaires Java est par contre un peu délicate. En effet, Java prend en charge la réflexion et peut sérialiser et réinstancier les objets automatiquement, mais d'après mon expérience, le fichier écrit n'est pas compatible entre les versions de JVM.