Date: Sun, 9 Jun 2002 07:56:35 +0300 (IDT) From: Eli Zaretskii X-Sender: eliz AT is To: djgpp-workers AT delorie DOT com cc: Kbwms AT aol DOT com Subject: ISO C99 double math functions In-Reply-To: <49.1e8b75d3.2a3236b9@aol.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Reply-To: djgpp-workers AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp-workers AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk K.B. Williams kindly agreed to work on adding the missing C99 math functions to the DJGPP library. However, apart of the long double functions, C99 also codifies several functions which return a double result, and which were not in the Standard C library before C99. We have those functions in libm.a. The question is, should we leave them in libm.a, move them to libc.a, or write replacement functions of our own and put those into libc.a? Leaving them in libm.a means users will have to say "-lm" for some math functions but not for others; that can lead to confusion. Moving them into libc.a means we take apart fdlibm-originated code, which will make it harder to upgrade to newer versions of fdlibm should we want to. Coming up with our own implementations means more work. Opinions? Here's the list of the functions we are talking about, compiled by K.B. Williams: > 1: copysign > 2: erf > 3: erfc > 4: fdim > 5: fma > 6: fmax > 7: fmin > 8: ilogb > 9: lgamma > 10: llrint > 11: llround > 12: logb > 13: lrint > 14: lround > 15: nearbyint > 16: nextafter > 17: nexttoward > 18: remainder > 19: remquo > 20: rint > 21: round > 22: scalbln > 23: scalbn > 24: tgamma > 25: trunc