Special Math Functions Draft Technical Report


There were three major items to come out of the Berlin ISO C standard committee meeting which will move forward in the process of becoming Technical Reports.
  • Decimal Floating Point DTR
  • Extensions to the C Library Part I: Bounds-checking interfaces DTR
  • Special Math Functions DTR
I talked about the Decimal Floating Point and Bounds-checking interface Draft Technical Reports in previous blog entries:  Decimal Floating Point Types & Managed Strings.

Today, I'll briefly mention the Special Math Functions DTR, which the committee also is moving forward through the SC22 registration process.  These are essentially the same functions being adopted by C++ in their library TR, tailored to the C language.  They include, among others:
  • Bessel functions
  • confluent hypergeometric functions
  • Neumann functions
  • Riemann zeta function
  • Legendre functions
For details of the functions in the draft have a look at the last committee draft:

http://www.dkuug.dk/jtc1/sc22/wg14/www/docs/n1051.pdf

During the committee discussions it was pointed out that the values computed with special math functions are very susceptible to ‘sensitivities’ based on the input values provided.  Outside of specific ranges, the values computed are essentially useless.  Thus, implementations of these functions are not likely to be nearly as robust as implementations of the C90, and C99 math libraries.  A few functions will likely be dropped from the TR in sync with those already dropped from the C++ TR.  WG14 will extract from the existing C++ TR, account for DRs that exist for the C++ TR, have a small editorial review committee review the document, and forward it to SC22 for registration.

Comments:

Post a Comment:
  • HTML Syntax: NOT allowed
About

Douglas is a principal software engineer working as the C compiler project lead and the Oracle Solaris Studio technical lead.

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today