MATLAB: How to deal with 32 bit and 64 bit integers in matlab

32-64 bit arithmeticsquare root

I want to find out correlation coefficient. It need to do 64 or 32 bit integer addition,multiplication and square root. sqrt() doesn't support 32 bit integer. What is solution?

Best Answer

Just convert to double or single, using for example
y = sqrt(double(x));
Round the result and convert back to an integer if necessary.
Alternatively, write a square root function that uses purely integer arithmetic. It will probably be slow though. I'd do the conversion.