Hi
I am getting a strange result after adding the fast math supplement to my project. The function of subtraction in the following code seems to break. I am sending out the relevant values over CAN to debug.
mcu_skai2_B is a large struct contained in RAML6.
mcu_skai2_B.max_flux_post_sum = mcu_skai2_B.max_flux_const
- mcu_skai2_B.max_flux_err_lpf;
Usually mcu_skai2_B.max_flux_err_lpf = 0 therefore I expect mcu_skai2_B.max_flux_post_sum = mcu_skai2_B.max_flux_const and I see this when using the normal rts2800_fpu32.lib.
When I include the rts2800_fpu32_fast_supplement.lib I see a dramatic increase in performance of my code +- 100% faster but mcu_skai2_B.max_flux_post_sum = 0.
I am using Code Composer 3.3.82.13 with CGT 5.2.11, I have removed all compiler optimisation. The original code is generated with simulink embedded coder, but I am making these modifications in CCS.
Does anybody have any suggestions as to why this might be happening?
Thanks
Nicholas