Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
x_math.c
Go to the documentation of this file.
00001 /* $Id: x_math.c,v 1.3 2005-03-24 21:56:35 eraxxon Exp $ */
00002 /* -*-Mode: C;-*- */
00003 /* * BeginRiceCopyright *****************************************************
00004  * 
00005  * ******************************************************* EndRiceCopyright */
00006 
00007 /*************************** System Include Files ***************************/
00008 
00009 #include <math.h>
00010 
00011 /**************************** User Include Files ****************************/
00012 
00013 #include "x_math.h"
00014 
00015 /**************************** Forward Declarations **************************/
00016 
00017 /* Solaris workaround: The Solaris standard C library does not have
00018  * "float" version of mathematic functions even though they are
00019  * now in C99.
00020  * cf. common/com/ia64/targ_const.cxx 
00021  */
00022 #ifdef _SOLARIS_SOLARIS
00023 /* eraxxon: Use static instead of inline because Sun cc 5.6 skips the
00024    inline and leaves a reference to an externed hypotf, resulting in a
00025    link error. */
00026 static /* inline */
00027 float hypotf(float x, float y) { return (float)hypot(x, y); }
00028 
00029 static /* inline */
00030 long double hypotl(long double x, long double y) 
00031   { return hypot((double)x, (double)y); }
00032 #endif
00033 
00034 /****************************************************************************/
00035 
00036 extern double c_hypot(double x, double y) 
00037 { return hypot(x,y); }
00038 
00039 extern float c_hypotf(float x, float y) 
00040 { return hypotf(x,y); }
00041 
00042 extern long double c_hypotl(long double x, long double y) 
00043 { return hypotl(x,y); }
00044 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines