main
| Line | |
|---|
| 1 | #include <stdio.h>
|
|---|
| 2 | #include <math.h>
|
|---|
| 3 |
|
|---|
| 4 | // Possible implementation of the tgmath.h macro cbrt
|
|---|
| 5 | #define cbrt(X) _Generic((X), \
|
|---|
| 6 | long double: cbrtl, \
|
|---|
| 7 | default: cbrt, \
|
|---|
| 8 | float: cbrtf \
|
|---|
| 9 | )(X)
|
|---|
| 10 |
|
|---|
| 11 | int main(void)
|
|---|
| 12 | {
|
|---|
| 13 | double x = 8.0;
|
|---|
| 14 | const float y = 3.375;
|
|---|
| 15 | printf("cbrt(8.0) = %f\n", cbrt(x)); // selects the default cbrt
|
|---|
| 16 | printf("cbrtf(3.375) = %f\n", cbrt(y)); // converts const float to float,
|
|---|
| 17 | // then selects cbrtf
|
|---|
| 18 | }
|
|---|
Note:
See
TracBrowser
for help on using the repository browser.