Print this page
5262 libm needs to be carefully unifdef'd
5268 libm doesn't need to hide symbols which are already local
Reviewed by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
Reviewed by: Igor Kozhukhov <ikozhukhov@gmail.com>
Reviewed by: Gordon Ross <gwr@nexenta.com>
Approved by: Gordon Ross <gwr@nexenta.com>


  12  *
  13  * When distributing Covered Code, include this CDDL HEADER in each
  14  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15  * If applicable, add the following below this CDDL HEADER, with the
  16  * fields enclosed by brackets "[]" replaced with your own identifying
  17  * information: Portions Copyright [yyyy] [name of copyright owner]
  18  *
  19  * CDDL HEADER END
  20  */
  21 /*
  22  * Copyright 2011 Nexenta Systems, Inc.  All rights reserved.
  23  */
  24 /*
  25  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
  26  * Use is subject to license terms.
  27  */
  28 
  29 #ifndef _C_LIBM_PROTOS_H
  30 #define _C_LIBM_PROTOS_H
  31 
  32 #ifdef LIBMOPT_BUILD
  33 #define _TBL_cos        __libmopt_TBL_cos
  34 #define _TBL_exp2_512   __libmopt_TBL_exp2_512
  35 #define _TBL_ipio2_inf  __libmopt_TBL_ipio2_inf
  36 #define _TBL_jlog_n1    __libmopt_TBL_jlog_n1
  37 #define _TBL_jlog_n2    __libmopt_TBL_jlog_n2
  38 #define _TBL_jlog_p1    __libmopt_TBL_jlog_p1
  39 #define _TBL_jlog_p2    __libmopt_TBL_jlog_p2
  40 #define _TBL_log10      __libmopt_TBL_log10
  41 #define _TBL_log2_14    __libmopt_TBL_log2_14
  42 #define _TBL_log2_9     __libmopt_TBL_log2_9
  43 #define _TBL_sin        __libmopt_TBL_sin
  44 #define _TBL_sincosx    __libmopt_TBL_sincosx
  45 #define _TBL_xexp       __libmopt_TBL_xexp
  46 #define _TBL_xlog       __libmopt_TBL_xlog
  47 #define __k_cos_        __libmopt__k_cos_
  48 #define __k_sin_        __libmopt__k_sin_
  49 #define __k_sincos_     __libmopt__k_sincos_
  50 #define __reduction     __libmopt__reduction
  51 #define __rem_pio2      __libmopt__rem_pio2
  52 #define __rem_pio2m     __libmopt__rem_pio2m
  53 #else   /* defined(LIBMOPT_BUILD) */
  54 #ifdef LIBM_BUILD
  55 #define _SVID_libm_err  __libm_SVID_libm_err    /* not used by -lsunmath */
  56 #define _TBL_atan       __libm_TBL_atan
  57 #define _TBL_atan1      __libm_TBL_atan1
  58 #define _TBL_atan_hi    __libm_TBL_atan_hi      /* not used by -lsunmath */
  59 #define _TBL_atan_lo    __libm_TBL_atan_lo      /* not used by -lsunmath */
  60 #define _TBL_exp2_hi    __libm_TBL_exp2_hi      /* not used by -lsunmath */
  61 #define _TBL_exp2_lo    __libm_TBL_exp2_lo      /* not used by -lsunmath */
  62 #define _TBL_ipio2_inf  __libm_TBL_ipio2_inf
  63 #define _TBL_log        __libm_TBL_log
  64 #define _TBL_log2_hi    __libm_TBL_log2_hi      /* not used by -lsunmath */
  65 #define _TBL_log2_lo    __libm_TBL_log2_lo      /* not used by -lsunmath */
  66 #define _TBL_log_hi     __libm_TBL_log_hi       /* not used by -lsunmath */
  67 #define _TBL_log_lo     __libm_TBL_log_lo       /* not used by -lsunmath */
  68 #define _TBL_sincos     __libm_TBL_sincos
  69 #define _TBL_sincosx    __libm_TBL_sincosx
  70 #define _TBL_tan_hi     __libm_TBL_tan_hi       /* not used by -lsunmath */
  71 #define _TBL_tan_lo     __libm_TBL_tan_lo       /* not used by -lsunmath */
  72 #define __k_cexp        __libm__k_cexp          /* C99 libm */
  73 #define __k_cexpl       __libm__k_cexpl         /* C99 libm */
  74 #define __k_clog_r      __libm__k_clog_r        /* C99 libm */
  75 #define __k_clog_rl     __libm__k_clog_rl       /* C99 libm */
  76 #define __k_atan2       __libm__k_atan2         /* C99 libm */
  77 #define __k_atan2l      __libm__k_atan2l        /* C99 libm */
  78 #define __k_cos         __libm__k_cos
  79 #define __k_lgamma      __libm__k_lgamma
  80 #define __k_sin         __libm__k_sin
  81 #define __k_sincos      __libm__k_sincos
  82 #define __k_tan         __libm__k_tan
  83 #define __reduction     __libm__reduction       /* i386 only */
  84 #define __rem_pio2      __libm__rem_pio2
  85 #define __rem_pio2m     __libm__rem_pio2m
  86 #define __k_cosf        __libm__k_cosf          /* C99 libm */
  87 #define __k_cosl        __libm__k_cosl          /* C99 libm */
  88 #define __k_lgammal     __libm__k_lgammal       /* C99 libm */
  89 #define __k_sincosf     __libm__k_sincosf       /* C99 libm */
  90 #define __k_sincosl     __libm__k_sincosl       /* C99 libm */
  91 #define __k_sinf        __libm__k_sinf          /* C99 libm */
  92 #define __k_sinl        __libm__k_sinl          /* C99 libm */
  93 #define __k_tanf        __libm__k_tanf          /* C99 libm */
  94 #define __k_tanl        __libm__k_tanl          /* C99 libm */
  95 #define __poly_libmq    __libm__poly_libmq      /* C99 libm */
  96 #define __rem_pio2l     __libm__rem_pio2l       /* C99 libm */
  97 #define _TBL_atanl_hi   __libm_TBL_atanl_hi     /* C99 libm */
  98 #define _TBL_atanl_lo   __libm_TBL_atanl_lo     /* C99 libm */
  99 #define _TBL_cosl_hi    __libm_TBL_cosl_hi      /* C99 libm */
 100 #define _TBL_cosl_lo    __libm_TBL_cosl_lo      /* C99 libm */
 101 #define _TBL_expl_hi    __libm_TBL_expl_hi      /* C99 libm */
 102 #define _TBL_expl_lo    __libm_TBL_expl_lo      /* C99 libm */
 103 #define _TBL_expm1l     __libm_TBL_expm1l       /* C99 libm */
 104 #define _TBL_expm1lx    __libm_TBL_expm1lx      /* C99 libm */
 105 #define _TBL_ipio2l_inf __libm_TBL_ipio2l_inf   /* C99 libm */
 106 #define _TBL_logl_hi    __libm_TBL_logl_hi      /* C99 libm */
 107 #define _TBL_logl_lo    __libm_TBL_logl_lo      /* C99 libm */
 108 #define _TBL_r_atan_hi  __libm_TBL_r_atan_hi    /* C99 libm */
 109 #define _TBL_r_atan_lo  __libm_TBL_r_atan_lo    /* C99 libm */
 110 #define _TBL_sinl_hi    __libm_TBL_sinl_hi      /* C99 libm */
 111 #define _TBL_sinl_lo    __libm_TBL_sinl_lo      /* C99 libm */
 112 #define _TBL_tanl_hi    __libm_TBL_tanl_hi      /* C99 libm */
 113 #define _TBL_tanl_lo    __libm_TBL_tanl_lo      /* C99 libm */
 114 #endif  /* defined(LIBM_BUILD) */
 115 #endif  /* defined(LIBMOPT_BUILD) */
 116 
 117 #ifndef _ASM
 118 #ifdef __STDC__
 119 #define __P(p)  p
 120 #else
 121 #define __P(p)  ()
 122 #endif
 123 
 124 #include <sys/ieeefp.h>
 125 
 126 extern double _SVID_libm_err __P((double, double, int));
 127 extern double __k_cos __P((double, double));
 128 extern double __k_cos_ __P((double *));
 129 extern double __k_lgamma __P((double, int *));
 130 extern double __k_sin __P((double, double));
 131 extern double __k_sin_ __P((double *));
 132 extern double __k_sincos __P((double, double, double *));
 133 extern double __k_sincos_ __P((double *, double *));
 134 extern double __k_tan __P((double, double, int));
 135 extern double __k_cexp __P((double, int *));




  12  *
  13  * When distributing Covered Code, include this CDDL HEADER in each
  14  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15  * If applicable, add the following below this CDDL HEADER, with the
  16  * fields enclosed by brackets "[]" replaced with your own identifying
  17  * information: Portions Copyright [yyyy] [name of copyright owner]
  18  *
  19  * CDDL HEADER END
  20  */
  21 /*
  22  * Copyright 2011 Nexenta Systems, Inc.  All rights reserved.
  23  */
  24 /*
  25  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
  26  * Use is subject to license terms.
  27  */
  28 
  29 #ifndef _C_LIBM_PROTOS_H
  30 #define _C_LIBM_PROTOS_H
  31 
  32 /*
  33  * Many symbols used to be namespaced with __libm to prevent collisions.  All
  34  * but these two were otherwise scoped local and directly bound, so that
  35  * collision could not occur.
  36  *
  37  * For reasons unknown, these two are global (but private).
  38  */













































  39 #define __rem_pio2      __libm__rem_pio2
  40 #define __rem_pio2m     __libm__rem_pio2m






























  41 
  42 #ifndef _ASM
  43 #ifdef __STDC__
  44 #define __P(p)  p
  45 #else
  46 #define __P(p)  ()
  47 #endif
  48 
  49 #include <sys/ieeefp.h>
  50 
  51 extern double _SVID_libm_err __P((double, double, int));
  52 extern double __k_cos __P((double, double));
  53 extern double __k_cos_ __P((double *));
  54 extern double __k_lgamma __P((double, int *));
  55 extern double __k_sin __P((double, double));
  56 extern double __k_sin_ __P((double *));
  57 extern double __k_sincos __P((double, double, double *));
  58 extern double __k_sincos_ __P((double *, double *));
  59 extern double __k_tan __P((double, double, int));
  60 extern double __k_cexp __P((double, int *));