Where is the declaration and definition of C code corresponding to min,max,abs blocks

13 views (last 30 days)
Hi,
If min,max,abs etc blocks related to math operations are used in simulink model, C functions corresponding to these blocks are generated in code i.e. fmaxf(), fminf(), fabsf().
For these functions, where the declaration and defintion is present? During compilation from which path declaration and definition of the function is fetched.
Can someone help me in understanding this?
Thanks in advance

Answers (2)

stozaki
stozaki on 7 Mar 2020
Edited: stozaki on 7 Mar 2020
math.h is standard library. So, mathematical functions are defined in math.h.
for example, If you use MinGW compiler, you can find following folder.
MinGW\include\math.h

stozaki
stozaki on 26 Feb 2020
Edited: stozaki on 26 Feb 2020
For example, min block generate model.c and model.h.
math.h is included in model.h
  1 Comment
Nagaraj Chincholli
Nagaraj Chincholli on 7 Mar 2020
Hi stozaki,
I am elaborating my query.
Target selection : autosar.tlc
Case 1 : If I set the option In the model configuration parameters -> Code generation -> Interface -> Advanced parameters -> Standard math library as C89/90(ANSI), code for the abs,max and min block is generated as in the attachment C89_90_code.PNG.
In the C89/C90 (ANSI) standard, there are no standard functions so the c code for these blocks is generated in model.c file
Case 2 :If I set the option In the model configuration parameters -> Code generation -> Interface -> Advanced parameters -> Standard math library as C99(ISO), code for the abs,max and min block is generated as in the attachment C99_code.PNG.
Here, fabs(),fmin(),fmax() are generated whose declarations are included in <math.h>, I understood. I want to know in which file the definition of these functions is present?
Could you please clarify.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!