Hi,
During development I found that I was subtracting two integer type variables and putting the result in a long type, my experience is the compiler will either complain or just cast it. I found that if I took the result and defined it as an int it would work, BUT if I typecast the result from int to long to be passed to the long version, it would break without saying there was an Error or Warning (or Info).
Is this the expected bahaviior? Why does CCS not flag it?
The reality is that the motor control loop i am development ends up with wrong result (the difference value) and does not work.
See attached
I suggest you read this app note. It describes the proper way to perform a 16x16 to 32 multiply. That may not be the exact problem you have. But, at a conceptual level, I think it is close enough.
Thanks and regards,
-George
TI C/C++ Compiler Forum ModeratorPlease click Verify Answer on the best reply to your question.The Compiler Wiki answers most common questions.Track an issue with SDOWP. Enter your bug id in the "Find Record ID" box.
George,
Are you perhaps using MSP compiler version 4.0.1?
I'm having trouble picturing the failure scenario for subtraction. Could you post a compilable test case where the compiler does not behave as you want it to?