/* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2011 Nexenta Systems, Inc. All rights reserved. */ /* * Copyright 2005 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ #ifndef _C_LIBM_PROTOS_H #define _C_LIBM_PROTOS_H /* * Many symbols used to be namespaced with __libm to prevent collisions. All * but these two were otherwise scoped local and directly bound, so that * collision could not occur. * * For reasons unknown, these two are global (but private). */ #define __rem_pio2 __libm__rem_pio2 #define __rem_pio2m __libm__rem_pio2m #ifndef _ASM #ifdef __STDC__ #define __P(p) p #else #define __P(p) () #endif #include extern double _SVID_libm_err __P((double, double, int)); extern double __k_cos __P((double, double)); extern double __k_cos_ __P((double *)); extern double __k_lgamma __P((double, int *)); extern double __k_sin __P((double, double)); extern double __k_sin_ __P((double *)); extern double __k_sincos __P((double, double, double *)); extern double __k_sincos_ __P((double *, double *)); extern double __k_tan __P((double, double, int)); extern double __k_cexp __P((double, int *)); extern long double __k_cexpl __P((long double, int *)); extern double __k_clog_r __P((double, double, double *)); extern long double __k_clog_rl __P((long double, long double, long double *)); extern double __k_atan2 __P((double, double, double *)); extern long double __k_atan2l __P((long double, long double, long double *)); extern int __rem_pio2 __P((double, double *)); extern int __rem_pio2m __P((double *, double *, int, int, int, const int *)); /* * entry points that are in-lined */ extern double copysign __P((double, double)); extern int finite __P((double)); extern enum fp_class_type fp_class __P((double)); extern double infinity __P((void)); extern int isinf __P((double)); extern int signbit __P((double)); /* * new C99 entry points */ extern double fdim __P((double, double)); extern double fma __P((double, double, double)); extern double fmax __P((double, double)); extern double fmin __P((double, double)); extern double frexp __P((double, int *)); extern double ldexp __P((double, int)); extern double modf __P((double, double *)); extern double nan __P((const char *)); extern double nearbyint __P((double)); extern double nexttoward __P((double, long double)); extern double remquo __P((double, double, int *)); extern double round __P((double)); extern double scalbln __P((double, long int)); extern double tgamma __P((double)); extern double trunc __P((double)); extern float fdimf __P((float, float)); extern float fmaf __P((float, float, float)); extern float fmaxf __P((float, float)); extern float fminf __P((float, float)); extern float frexpf __P((float, int *)); extern float ldexpf __P((float, int)); extern float modff __P((float, float *)); extern float nanf __P((const char *)); extern float nearbyintf __P((float)); extern float nextafterf __P((float, float)); extern float nexttowardf __P((float, long double)); extern float remquof __P((float, float, int *)); extern float roundf __P((float)); extern float scalblnf __P((float, long int)); extern float tgammaf __P((float)); extern float truncf __P((float)); extern long double frexpl(long double, int *); extern long double fdiml __P((long double, long double)); extern long double fmal __P((long double, long double, long double)); extern long double fmaxl __P((long double, long double)); extern long double fminl __P((long double, long double)); extern long double ldexpl __P((long double, int)); extern long double modfl __P((long double, long double *)); extern long double nanl __P((const char *)); extern long double nearbyintl __P((long double)); extern long double nextafterl __P((long double, long double)); extern long double nexttowardl __P((long double, long double)); extern long double remquol __P((long double, long double, int *)); extern long double roundl __P((long double)); extern long double scalblnl __P((long double, long int)); extern long double tgammal __P((long double)); extern long double truncl __P((long double)); extern long int lrint __P((double)); extern long int lrintf __P((float)); extern long int lrintl __P((long double)); extern long int lround __P((double)); extern long int lroundf __P((float)); extern long int lroundl __P((long double)); extern long long int llrint __P((double)); extern long long int llrintf __P((float)); extern long long int llrintl __P((long double)); extern long long int llround __P((double)); extern long long int llroundf __P((float)); extern long long int llroundl __P((long double)); #endif /* _ASM */ #endif /* _C_LIBM_PROTOS_H */