Open64 (mfef90, whirl2f, and IR tools)
TAG: version-openad; SVN changeset: 916
|
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