diff options
| author | Paul Eggert | 2023-02-04 15:53:40 -0800 |
|---|---|---|
| committer | Paul Eggert | 2023-02-04 15:58:42 -0800 |
| commit | d27d9a43d4d1b3f8a213cb739f4d27793158a050 (patch) | |
| tree | 7ff6efdf11cdddcabc1bb63d8e21ba0687d7099f /src/floatfns.c | |
| parent | b429274c5b4b2b511d2d351111dea2d354498e0f (diff) | |
| download | emacs-d27d9a43d4d1b3f8a213cb739f4d27793158a050.tar.gz emacs-d27d9a43d4d1b3f8a213cb739f4d27793158a050.zip | |
Update some commentary for C23
Diffstat (limited to 'src/floatfns.c')
| -rw-r--r-- | src/floatfns.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/floatfns.c b/src/floatfns.c index 1d891ef3ce1..13f0ca3e129 100644 --- a/src/floatfns.c +++ b/src/floatfns.c | |||
| @@ -27,19 +27,22 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */ | |||
| 27 | frexp, ldexp, log, log10 [via (log X 10)], *modf, pow, sin, *sinh, | 27 | frexp, ldexp, log, log10 [via (log X 10)], *modf, pow, sin, *sinh, |
| 28 | sqrt, tan, *tanh. | 28 | sqrt, tan, *tanh. |
| 29 | 29 | ||
| 30 | C99 and C11 require the following math.h functions in addition to | 30 | C99, C11 and C17 require the following math.h functions in addition to |
| 31 | the C89 functions. Of these, Emacs currently exports only the | 31 | the C89 functions. Of these, Emacs currently exports only the |
| 32 | starred ones to Lisp, since we haven't found a use for the others. | 32 | starred ones to Lisp, since we haven't found a use for the others. |
| 33 | Also, it uses the ones marked "+" internally: | 33 | Also, it uses the ones marked "+" internally: |
| 34 | acosh, atanh, cbrt, copysign (implemented by signbit), erf, erfc, | 34 | acosh, atanh, cbrt, copysign (implemented by signbit), erf, erfc, |
| 35 | exp2, expm1, fdim, fma, fmax, fmin, fpclassify, hypot, +ilogb, | 35 | exp2, expm1, fdim, fma, fmax, fmin, fpclassify, hypot, +ilogb, |
| 36 | isfinite, isgreater, isgreaterequal, isinf, isless, islessequal, | 36 | +isfinite, isgreater, isgreaterequal, +isinf, isless, islessequal, |
| 37 | islessgreater, *isnan, isnormal, isunordered, lgamma, log1p, *log2 | 37 | islessgreater, *isnan, isnormal, isunordered, lgamma, log1p, *log2 |
| 38 | [via (log X 2)], logb (approximately; implemented by frexp), | 38 | [via (log X 2)], logb (approximately; implemented by frexp), |
| 39 | +lrint/llrint, +lround/llround, nan, nearbyint, nextafter, | 39 | +lrint/llrint, +lround/llround, nan, nearbyint, nextafter, |
| 40 | nexttoward, remainder, remquo, *rint, round, scalbln, +scalbn, | 40 | nexttoward, remainder, remquo, *rint, round, scalbln, +scalbn, |
| 41 | +signbit, tgamma, *trunc. | 41 | +signbit, tgamma, *trunc. |
| 42 | 42 | ||
| 43 | C23 requires many more math.h functions. Emacs does not yet export | ||
| 44 | or use them. | ||
| 45 | |||
| 43 | The C standard also requires functions for float and long double | 46 | The C standard also requires functions for float and long double |
| 44 | that are not listed above. Of these functions, Emacs uses only the | 47 | that are not listed above. Of these functions, Emacs uses only the |
| 45 | following internally: fabsf, powf, sprintf. | 48 | following internally: fabsf, powf, sprintf. |