This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F28388D: Is there an FPU64 power function?

Part Number: TMS320F28388D
Other Parts Discussed in Thread: C2000WARE

I have an application requiring X^0.333, but the bounds of X are unclear. In my particular test, X ~= 1E-4, and powf sometimes returns infinity. I found in the FASTRTS_SW_LIB_UG.pdf, that X must be >=1 for powf, which is strange because it sometimes works. I have couple of questions:

1. If the X>=1 requirement for powf is real, why does it sometimes work?

2. I tried linking rts2800_fpu64_fast_supplement.lib, but "pow" is not found -- is there a 64bit pow function?

3. If there is a 64 bit pow function, does it have the same X>=1 limitation?

4. Is this rts2800_fpu64_fast_supplement.lib EABI or COFF?

Thanks,

Jim

  • Hello Jim,

    1. Looking at the assembly file for powf, x^y is calculated as exp(y*log(x)). I would refer to the comments at the beginning of the header file for any math explanations of how the functions works; if you have further questions about the explanation provided in the comments, feel free to ask
      1. Because of the stated requirement you should not design your program to violate any recommendations or rules that are made for that function; this answer will just be for your understanding, not necessarily stating that it is okay to violate the X >= 1 requirement.
    2. No
    3. ^
    4. From the latest version of C2000Ware I see, it looks to be EABI (but you can try to recompile the library in COFF output format if necessary, although there may or may not be errors).

    Best regards,

    Omer Amir