Selon la documentation Matlab, quand une méthode en Java renvoie une long
, il est converti en double
avant d'être affecté dans Matlab.
La précision a été perdu. Je suis intéressé par la baisse des chiffres de l' long
retournée par la méthode Java. Un double
ne peut pas les représenter, mais Matlab int64
peut. (C'est clair, en considérant que les deux types ont des 64 bits, et un double
utilise certains d'entre eux pour représenter l'exposant.)
Si j'avais le contrôle du code Java, je pourrais retourner un tableau avec un seul élément, contenant l' long
- dans ce cas, Matlab garde que int64
s, mais dans mon cas, je suis d'appeler une fonction de la bibliothèque.
Actuellement, la meilleure façon que je peux voir, c'est d'écrire un wrapper en Java qui va appeler la méthode et retourner la réponse dans un tableau. Mais il y a des problèmes de portabilité avec cette approche. Est-il un meilleur moyen?