Working with incompatible data types
10 views (last 30 days)
Show older comments
I'm currently working with legacy code (MATLABv2012) with the most current MATLAB version (2013a). In the old code base many calculations of the following form were performed:
c = a + b
where "a" was an uint64 and b was a double. In my MATLAB version this produces following error: Error using + Invalid type of input arguments (should be uint64)
In old MATLAB Versions this was not an error. Is it possible to use the old behavior?
0 Comments
Accepted Answer
Walter Roberson
on 7 Sep 2013
There is no problem in adding uint64 and double, so there must be something else going on. Please show some lines of code that reproduce the error.
>> uint64(532432234) + 3234.51
ans =
532435469
6 Comments
Walter Roberson
on 8 Sep 2013
R2013a on OS-X, the code gives me the expected numeric answer.
Please use
which -all plus
to check to see if you have an interfering plus() routine.
More Answers (2)
dpb
on 7 Sep 2013
From
help uint64
"You can define your own methods for the uint64 class (as you can for any object) by placing the appropriately named method in an @uint64 directory within a directory on your path.
Type HELP DATATYPES for the names of the methods you can overload."
0 Comments
David
on 7 Sep 2013
1 Comment
dpb
on 7 Sep 2013
If you mean a compatibility switch, afaik, no.
The way to make a method that mimics the previous is to write them it appears. I can find nothing regarding a change in behavior in the release notes and don't have other versions installed to test against for behavior different than 2012b.
See Also
Categories
Find more on Interactive Control and Callbacks in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!