MATLAB: Does the “unique” function work with 64 bit integers

uint64unique

I was trying to sort a set of 64 bit integers using the "unique" function. This function seems to convert them to a 64 bit integer before sorting, though.
Example:
x=uint64(2^63)+uint64(0:1024)';
y=unique(x);
The output, y, is a single number, 9223372036854775808, rather than a column of 1025 integers, since the last 11 bits are rounded off.
The "sort" sorts the data properly, but does not remove duplicates. Are there any other solutions? I am using Matlab R2012a.

Best Answer

Maybe use something similar to this as a workaround:
y = x(logical([1;diff(sort(x))]));