125c28e83SPiotr Jasiukajtis /* 225c28e83SPiotr Jasiukajtis * CDDL HEADER START 325c28e83SPiotr Jasiukajtis * 425c28e83SPiotr Jasiukajtis * The contents of this file are subject to the terms of the 525c28e83SPiotr Jasiukajtis * Common Development and Distribution License (the "License"). 625c28e83SPiotr Jasiukajtis * You may not use this file except in compliance with the License. 725c28e83SPiotr Jasiukajtis * 825c28e83SPiotr Jasiukajtis * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 925c28e83SPiotr Jasiukajtis * or http://www.opensolaris.org/os/licensing. 1025c28e83SPiotr Jasiukajtis * See the License for the specific language governing permissions 1125c28e83SPiotr Jasiukajtis * and limitations under the License. 1225c28e83SPiotr Jasiukajtis * 1325c28e83SPiotr Jasiukajtis * When distributing Covered Code, include this CDDL HEADER in each 1425c28e83SPiotr Jasiukajtis * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1525c28e83SPiotr Jasiukajtis * If applicable, add the following below this CDDL HEADER, with the 1625c28e83SPiotr Jasiukajtis * fields enclosed by brackets "[]" replaced with your own identifying 1725c28e83SPiotr Jasiukajtis * information: Portions Copyright [yyyy] [name of copyright owner] 1825c28e83SPiotr Jasiukajtis * 1925c28e83SPiotr Jasiukajtis * CDDL HEADER END 2025c28e83SPiotr Jasiukajtis */ 2125c28e83SPiotr Jasiukajtis /* 2225c28e83SPiotr Jasiukajtis * Copyright 2011 Nexenta Systems, Inc. All rights reserved. 2325c28e83SPiotr Jasiukajtis */ 2425c28e83SPiotr Jasiukajtis /* 2525c28e83SPiotr Jasiukajtis * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 2625c28e83SPiotr Jasiukajtis * Use is subject to license terms. 2725c28e83SPiotr Jasiukajtis */ 2825c28e83SPiotr Jasiukajtis 2925c28e83SPiotr Jasiukajtis #ifndef _C_LIBM_PROTOS_H 3025c28e83SPiotr Jasiukajtis #define _C_LIBM_PROTOS_H 3125c28e83SPiotr Jasiukajtis 32*1ec68d33SRichard Lowe /* 33*1ec68d33SRichard Lowe * Many symbols used to be namespaced with __libm to prevent collisions. All 34*1ec68d33SRichard Lowe * but these two were otherwise scoped local and directly bound, so that 35*1ec68d33SRichard Lowe * collision could not occur. 36*1ec68d33SRichard Lowe * 37*1ec68d33SRichard Lowe * For reasons unknown, these two are global (but private). 38*1ec68d33SRichard Lowe */ 3925c28e83SPiotr Jasiukajtis #define __rem_pio2 __libm__rem_pio2 4025c28e83SPiotr Jasiukajtis #define __rem_pio2m __libm__rem_pio2m 4125c28e83SPiotr Jasiukajtis 4225c28e83SPiotr Jasiukajtis #ifndef _ASM 4325c28e83SPiotr Jasiukajtis #ifdef __STDC__ 4425c28e83SPiotr Jasiukajtis #define __P(p) p 4525c28e83SPiotr Jasiukajtis #else 4625c28e83SPiotr Jasiukajtis #define __P(p) () 4725c28e83SPiotr Jasiukajtis #endif 4825c28e83SPiotr Jasiukajtis 4925c28e83SPiotr Jasiukajtis #include <sys/ieeefp.h> 5025c28e83SPiotr Jasiukajtis 5125c28e83SPiotr Jasiukajtis extern double _SVID_libm_err __P((double, double, int)); 5225c28e83SPiotr Jasiukajtis extern double __k_cos __P((double, double)); 5325c28e83SPiotr Jasiukajtis extern double __k_cos_ __P((double *)); 5425c28e83SPiotr Jasiukajtis extern double __k_lgamma __P((double, int *)); 5525c28e83SPiotr Jasiukajtis extern double __k_sin __P((double, double)); 5625c28e83SPiotr Jasiukajtis extern double __k_sin_ __P((double *)); 5725c28e83SPiotr Jasiukajtis extern double __k_sincos __P((double, double, double *)); 5825c28e83SPiotr Jasiukajtis extern double __k_sincos_ __P((double *, double *)); 5925c28e83SPiotr Jasiukajtis extern double __k_tan __P((double, double, int)); 6025c28e83SPiotr Jasiukajtis extern double __k_cexp __P((double, int *)); 6125c28e83SPiotr Jasiukajtis extern long double __k_cexpl __P((long double, int *)); 6225c28e83SPiotr Jasiukajtis extern double __k_clog_r __P((double, double, double *)); 6325c28e83SPiotr Jasiukajtis extern long double __k_clog_rl __P((long double, long double, long double *)); 6425c28e83SPiotr Jasiukajtis extern double __k_atan2 __P((double, double, double *)); 6525c28e83SPiotr Jasiukajtis extern long double __k_atan2l __P((long double, long double, long double *)); 6625c28e83SPiotr Jasiukajtis extern int __rem_pio2 __P((double, double *)); 6725c28e83SPiotr Jasiukajtis extern int __rem_pio2m __P((double *, double *, int, int, int, const int *)); 6825c28e83SPiotr Jasiukajtis 6925c28e83SPiotr Jasiukajtis /* 7025c28e83SPiotr Jasiukajtis * entry points that are in-lined 7125c28e83SPiotr Jasiukajtis */ 7225c28e83SPiotr Jasiukajtis extern double copysign __P((double, double)); 7325c28e83SPiotr Jasiukajtis extern int finite __P((double)); 7425c28e83SPiotr Jasiukajtis extern enum fp_class_type fp_class __P((double)); 7525c28e83SPiotr Jasiukajtis extern double infinity __P((void)); 7625c28e83SPiotr Jasiukajtis extern int isinf __P((double)); 7725c28e83SPiotr Jasiukajtis extern int signbit __P((double)); 7825c28e83SPiotr Jasiukajtis 7925c28e83SPiotr Jasiukajtis /* 8025c28e83SPiotr Jasiukajtis * new C99 entry points 8125c28e83SPiotr Jasiukajtis */ 8225c28e83SPiotr Jasiukajtis extern double fdim __P((double, double)); 8325c28e83SPiotr Jasiukajtis extern double fma __P((double, double, double)); 8425c28e83SPiotr Jasiukajtis extern double fmax __P((double, double)); 8525c28e83SPiotr Jasiukajtis extern double fmin __P((double, double)); 8625c28e83SPiotr Jasiukajtis extern double frexp __P((double, int *)); 8725c28e83SPiotr Jasiukajtis extern double ldexp __P((double, int)); 8825c28e83SPiotr Jasiukajtis extern double modf __P((double, double *)); 8925c28e83SPiotr Jasiukajtis extern double nan __P((const char *)); 9025c28e83SPiotr Jasiukajtis extern double nearbyint __P((double)); 9125c28e83SPiotr Jasiukajtis extern double nexttoward __P((double, long double)); 9225c28e83SPiotr Jasiukajtis extern double remquo __P((double, double, int *)); 9325c28e83SPiotr Jasiukajtis extern double round __P((double)); 9425c28e83SPiotr Jasiukajtis extern double scalbln __P((double, long int)); 9525c28e83SPiotr Jasiukajtis extern double tgamma __P((double)); 9625c28e83SPiotr Jasiukajtis extern double trunc __P((double)); 9725c28e83SPiotr Jasiukajtis extern float fdimf __P((float, float)); 9825c28e83SPiotr Jasiukajtis extern float fmaf __P((float, float, float)); 9925c28e83SPiotr Jasiukajtis extern float fmaxf __P((float, float)); 10025c28e83SPiotr Jasiukajtis extern float fminf __P((float, float)); 10125c28e83SPiotr Jasiukajtis extern float frexpf __P((float, int *)); 10225c28e83SPiotr Jasiukajtis extern float ldexpf __P((float, int)); 10325c28e83SPiotr Jasiukajtis extern float modff __P((float, float *)); 10425c28e83SPiotr Jasiukajtis extern float nanf __P((const char *)); 10525c28e83SPiotr Jasiukajtis extern float nearbyintf __P((float)); 10625c28e83SPiotr Jasiukajtis extern float nextafterf __P((float, float)); 10725c28e83SPiotr Jasiukajtis extern float nexttowardf __P((float, long double)); 10825c28e83SPiotr Jasiukajtis extern float remquof __P((float, float, int *)); 10925c28e83SPiotr Jasiukajtis extern float roundf __P((float)); 11025c28e83SPiotr Jasiukajtis extern float scalblnf __P((float, long int)); 11125c28e83SPiotr Jasiukajtis extern float tgammaf __P((float)); 11225c28e83SPiotr Jasiukajtis extern float truncf __P((float)); 11325c28e83SPiotr Jasiukajtis extern long double frexpl(long double, int *); 11425c28e83SPiotr Jasiukajtis extern long double fdiml __P((long double, long double)); 11525c28e83SPiotr Jasiukajtis extern long double fmal __P((long double, long double, long double)); 11625c28e83SPiotr Jasiukajtis extern long double fmaxl __P((long double, long double)); 11725c28e83SPiotr Jasiukajtis extern long double fminl __P((long double, long double)); 11825c28e83SPiotr Jasiukajtis extern long double ldexpl __P((long double, int)); 11925c28e83SPiotr Jasiukajtis extern long double modfl __P((long double, long double *)); 12025c28e83SPiotr Jasiukajtis extern long double nanl __P((const char *)); 12125c28e83SPiotr Jasiukajtis extern long double nearbyintl __P((long double)); 12225c28e83SPiotr Jasiukajtis extern long double nextafterl __P((long double, long double)); 12325c28e83SPiotr Jasiukajtis extern long double nexttowardl __P((long double, long double)); 12425c28e83SPiotr Jasiukajtis extern long double remquol __P((long double, long double, int *)); 12525c28e83SPiotr Jasiukajtis extern long double roundl __P((long double)); 12625c28e83SPiotr Jasiukajtis extern long double scalblnl __P((long double, long int)); 12725c28e83SPiotr Jasiukajtis extern long double tgammal __P((long double)); 12825c28e83SPiotr Jasiukajtis extern long double truncl __P((long double)); 12925c28e83SPiotr Jasiukajtis extern long int lrint __P((double)); 13025c28e83SPiotr Jasiukajtis extern long int lrintf __P((float)); 13125c28e83SPiotr Jasiukajtis extern long int lrintl __P((long double)); 13225c28e83SPiotr Jasiukajtis extern long int lround __P((double)); 13325c28e83SPiotr Jasiukajtis extern long int lroundf __P((float)); 13425c28e83SPiotr Jasiukajtis extern long int lroundl __P((long double)); 13525c28e83SPiotr Jasiukajtis extern long long int llrint __P((double)); 13625c28e83SPiotr Jasiukajtis extern long long int llrintf __P((float)); 13725c28e83SPiotr Jasiukajtis extern long long int llrintl __P((long double)); 13825c28e83SPiotr Jasiukajtis extern long long int llround __P((double)); 13925c28e83SPiotr Jasiukajtis extern long long int llroundf __P((float)); 14025c28e83SPiotr Jasiukajtis extern long long int llroundl __P((long double)); 14125c28e83SPiotr Jasiukajtis #endif /* _ASM */ 14225c28e83SPiotr Jasiukajtis 14325c28e83SPiotr Jasiukajtis #endif /* _C_LIBM_PROTOS_H */ 144