[EXT_EP-12594] Incorrect value when converting UINT_MAX to float Created: 20/May/25 Updated: 20/May/25 |
|
| Status: | Accepted |
| Project: | Embedded Software & Tools |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Low |
| Reporter: | TI User | Assignee: | TI User |
| Resolution: | Unresolved | Votes: | 0 |
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Product: | Code Generation Tools |
| Internal ID: | CODEGEN-10971 |
| Affected Platform/Device: | default |
| Description |
|
Conversions of the form: float convert(unsigned value) { return (float)value; }Result in an incorrect value if value is equal to UINT_MAX. Specifically, the conversion results in the IEEE-754 value 4 294 967 040 instead of the expected value of 4 294 967 296. For most applications this should not be issue with a margin of error of 5.96e-8. However, direct comparisons to known floating point values without the use of epsilon values may fail. |