why are all java types returned as double

In the documentation for the Java interface, it stipulates that scalars returned from Java routines are converted to double precision floats (<http://www.mathworks.com/help/matlab/matlab_external/handling-data-returned-from-a-java-method.html)>. This includes double precision integers. This is problematic as double precision (int64/long) integers cannot accurately be represented by double precision floats. Now if array's are returned, then the types returned seem appropriate. My question is twofold: Why are scalars uniformly cast to double precision floats, but arrays not? Is there anything I can do to have a Java scalar long properly returned as an int64 in Matlab?

Answers (0)

This question is closed.

Tags

Asked:

on 19 Jul 2016

Closed:

on 20 Aug 2021

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!