1/*
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
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/*
23 * Copyright 2011 Nexenta Systems, Inc.  All rights reserved.
24 */
25/*
26 * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
27 * Use is subject to license terms.
28 */
29
30#pragma weak _lib_version = __libm_lib_version
31#pragma weak acos = __acos
32#pragma weak acosh = __acosh
33#pragma weak asin = __asin
34#pragma weak asinh = __asinh
35#pragma weak atan = __atan
36#pragma weak atan2 = __atan2
37#pragma weak atanh = __atanh
38#pragma weak cbrt = __cbrt
39#pragma weak ceil = __ceil
40#pragma weak copysign = __copysign
41#pragma weak cos = __cos
42#pragma weak cosh = __cosh
43#pragma weak erf = __erf
44#pragma weak erfc = __erfc
45#pragma weak exp = __exp
46#pragma weak expm1 = __expm1
47#pragma weak fabs = __fabs
48#pragma weak floor = __floor
49#pragma weak fmod = __fmod
50#pragma weak gamma = __gamma
51#pragma weak gamma_r = __gamma_r
52#pragma weak hypot = __hypot
53#pragma weak ilogb = __ilogb
54#pragma weak isnan = __isnan
55#pragma weak j0 = __j0
56#pragma weak j1 = __j1
57#pragma weak jn = __jn
58#pragma weak lgamma = __lgamma
59#pragma weak lgamma_r = __lgamma_r
60#pragma weak log = __log
61#pragma weak log10 = __log10
62#pragma weak log1p = __log1p
63#pragma weak logb = __logb
64#pragma weak nextafter = __nextafter
65#pragma weak pow = __pow
66#pragma weak remainder = __remainder
67#pragma weak rint = __rint
68#pragma weak scalb = __scalb
69#pragma weak scalbn = __scalbn
70#pragma weak signgam = __signgam
71#pragma weak significand = __significand
72#pragma weak sin = __sin
73#pragma weak sinh = __sinh
74#pragma weak sqrt = __sqrt
75#pragma weak tan = __tan
76#pragma weak tanh = __tanh
77#pragma weak y0 = __y0
78#pragma weak y1 = __y1
79#pragma weak yn = __yn
80
81#include <math.h>
82
83const enum version __libm_lib_version = libm_ieee;
84int __signgam = 0;
85
86#if !defined(__sparcv9) && !defined(__amd64)
87/* ARGSUSED */
88int *
89__libm_errno(void) {
90	return (0);
91}
92#endif
93
94/* ARGSUSED */
95int
96__libm__rem_pio2(double x, double *y) {
97	return (0);
98}
99
100/* ARGSUSED */
101int
102__libm__rem_pio2m(double *x, double *y, int e0, int nx, int p, const int *ip) {
103	return (0);
104}
105
106/* ARGSUSED */
107double
108__acos(double x) {
109	return (0.0);
110}
111
112/* ARGSUSED */
113double
114__acosh(double x) {
115	return (0.0);
116}
117
118/* ARGSUSED */
119double
120__asin(double x) {
121	return (0.0);
122}
123
124/* ARGSUSED */
125double
126__asinh(double x) {
127	return (0.0);
128}
129
130/* ARGSUSED */
131double
132__atan(double x) {
133	return (0.0);
134}
135
136/* ARGSUSED */
137double
138__atan2(double y, double x) {
139	return (0.0);
140}
141
142/* ARGSUSED */
143double
144__atanh(double x) {
145	return (0.0);
146}
147
148/* ARGSUSED */
149double
150__cbrt(double x) {
151	return (0.0);
152}
153
154/* ARGSUSED */
155double
156__ceil(double x) {
157	return (0.0);
158}
159
160/* ARGSUSED */
161double
162__copysign(double x, double y) {
163	return (0.0);
164}
165
166/* ARGSUSED */
167double
168__cos(double x) {
169	return (0.0);
170}
171
172/* ARGSUSED */
173double
174__cosh(double x) {
175	return (0.0);
176}
177
178/* ARGSUSED */
179double
180__erf(double x) {
181	return (0.0);
182}
183
184/* ARGSUSED */
185double
186__erfc(double x) {
187	return (0.0);
188}
189
190/* ARGSUSED */
191double
192__exp(double x) {
193	return (0.0);
194}
195
196/* ARGSUSED */
197double
198__expm1(double x) {
199	return (0.0);
200}
201
202/* ARGSUSED */
203double
204__fabs(double x) {
205	return (0.0);
206}
207
208/* ARGSUSED */
209double
210__floor(double x) {
211	return (0.0);
212}
213
214/* ARGSUSED */
215double
216__fmod(double x, double y) {
217	return (0.0);
218}
219
220/* ARGSUSED */
221double
222__gamma(double x) {
223	return (0.0);
224}
225
226/* ARGSUSED */
227double
228__gamma_r(double x, int *signgamp) {
229	return (0.0);
230}
231
232/* ARGSUSED */
233double
234__hypot(double x, double y) {
235	return (0.0);
236}
237
238/* ARGSUSED */
239int
240__ilogb(double x) {
241	return (0);
242}
243
244/* ARGSUSED */
245int
246__isnan(double x) {
247	return (0);
248}
249
250/* ARGSUSED */
251double
252__j0(double x) {
253	return (0.0);
254}
255
256/* ARGSUSED */
257double
258__j1(double x) {
259	return (0.0);
260}
261
262/* ARGSUSED */
263double
264__jn(int n, double y) {
265	return (0.0);
266}
267
268/* ARGSUSED */
269double
270__lgamma(double x) {
271	return (0.0);
272}
273
274/* ARGSUSED */
275double
276__lgamma_r(double x, int *signgamp) {
277	return (0.0);
278}
279
280/* ARGSUSED */
281double
282__log(double x) {
283	return (0.0);
284}
285
286/* ARGSUSED */
287double
288__log10(double x) {
289	return (0.0);
290}
291
292/* ARGSUSED */
293double
294__log1p(double x) {
295	return (0.0);
296}
297
298/* ARGSUSED */
299double
300__logb(double x) {
301	return (0.0);
302}
303
304/* ARGSUSED */
305double
306__nextafter(double x, double y) {
307	return (0.0);
308}
309
310/* ARGSUSED */
311double
312__pow(double x, double y) {
313	return (0.0);
314}
315
316/* ARGSUSED */
317double
318__remainder(double x, double y) {
319	return (0.0);
320}
321
322/* ARGSUSED */
323double
324__rint(double x) {
325	return (0.0);
326}
327
328/* ARGSUSED */
329double
330__scalb(double x, double y) {
331	return (0.0);
332}
333
334/* ARGSUSED */
335double
336__scalbn(double x, int n) {
337	return (0.0);
338}
339
340/* ARGSUSED */
341double
342__significand(double x) {
343	return (0.0);
344}
345
346/* ARGSUSED */
347double
348__sin(double x) {
349	return (0.0);
350}
351
352/* ARGSUSED */
353double
354__sinh(double x) {
355	return (0.0);
356}
357
358/* ARGSUSED */
359double
360__sqrt(double x) {
361	return (0.0);
362}
363
364/* ARGSUSED */
365double
366__tan(double x) {
367	return (0.0);
368}
369
370/* ARGSUSED */
371double
372__tanh(double x) {
373	return (0.0);
374}
375
376/* ARGSUSED */
377double
378__y0(double x) {
379	return (0.0);
380}
381
382/* ARGSUSED */
383double
384__y1(double x) {
385	return (0.0);
386}
387
388/* ARGSUSED */
389double
390__yn(int n, double x) {
391	return (0.0);
392}
393
394/* ARGSUSED */
395int
396matherr(struct exception *excep) {
397	return (0);
398}
399
400/* ARGSUSED */
401float
402__acosf(float x) {
403	return (0.0F);
404}
405
406/* ARGSUSED */
407float
408__asinf(float x) {
409	return (0.0F);
410}
411
412/* ARGSUSED */
413float
414__atanf(float x) {
415	return (0.0F);
416}
417
418/* ARGSUSED */
419float
420__atan2f(float y, float x) {
421	return (0.0F);
422}
423
424/* ARGSUSED */
425float
426__ceilf(float x) {
427	return (0.0F);
428}
429
430/* ARGSUSED */
431float
432__cosf(float x) {
433	return (0.0F);
434}
435
436/* ARGSUSED */
437float
438__coshf(float x) {
439	return (0.0F);
440}
441
442/* ARGSUSED */
443float
444__expf(float x) {
445	return (0.0F);
446}
447
448/* ARGSUSED */
449float
450__fabsf(float x) {
451	return (0.0F);
452}
453
454/* ARGSUSED */
455float
456__floorf(float x) {
457	return (0.0F);
458}
459
460/* ARGSUSED */
461float
462__fmodf(float x, float y) {
463	return (0.0F);
464}
465
466/* ARGSUSED */
467float
468__frexpf(float x, int *e) {
469	return (0.0F);
470}
471
472/* ARGSUSED */
473float
474__ldexpf(float x, int n) {
475	return (0.0F);
476}
477
478/* ARGSUSED */
479float
480__logf(float x) {
481	return (0.0F);
482}
483
484/* ARGSUSED */
485float
486__log10f(float x) {
487	return (0.0F);
488}
489
490/* ARGSUSED */
491float
492__modff(float x, float *iptr) {
493	return (0.0F);
494}
495
496/* ARGSUSED */
497float
498__powf(float x, float y) {
499	return (0.0F);
500}
501
502/* ARGSUSED */
503float
504__sinf(float x) {
505	return (0.0F);
506}
507
508/* ARGSUSED */
509float
510__sinhf(float x) {
511	return (0.0F);
512}
513
514/* ARGSUSED */
515float
516__sqrtf(float x) {
517	return (0.0F);
518}
519
520/* ARGSUSED */
521float
522__tanf(float x) {
523	return (0.0F);
524}
525
526/* ARGSUSED */
527float
528__tanhf(float x) {
529	return (0.0F);
530}
531
532/* ARGSUSED */
533long double
534__acosl(long double x) {
535	return (0.0L);
536}
537
538/* ARGSUSED */
539long double
540__asinl(long double x) {
541	return (0.0L);
542}
543
544/* ARGSUSED */
545long double
546__atanl(long double x) {
547	return (0.0L);
548}
549
550/* ARGSUSED */
551long double
552__atan2l(long double y, long double x) {
553	return (0.0L);
554}
555
556/* ARGSUSED */
557long double
558__ceill(long double x) {
559	return (0.0L);
560}
561
562/* ARGSUSED */
563long double
564__cosl(long double x) {
565	return (0.0L);
566}
567
568/* ARGSUSED */
569long double
570__coshl(long double x) {
571	return (0.0L);
572}
573
574/* ARGSUSED */
575long double
576__expl(long double x) {
577	return (0.0L);
578}
579
580/* ARGSUSED */
581long double
582__fabsl(long double x) {
583	return (0.0L);
584}
585
586/* ARGSUSED */
587long double
588__floorl(long double x) {
589	return (0.0L);
590}
591
592/* ARGSUSED */
593long double
594__fmodl(long double x, long double y) {
595	return (0.0L);
596}
597
598/* ARGSUSED */
599long double
600__frexpl(long double x, int *e) {
601	return (0.0L);
602}
603
604/* ARGSUSED */
605long double
606__ldexpl(long double x, int n) {
607	return (0.0L);
608}
609
610/* ARGSUSED */
611long double
612__logl(long double x) {
613	return (0.0L);
614}
615
616/* ARGSUSED */
617long double
618__log10l(long double x) {
619	return (0.0L);
620}
621
622/* ARGSUSED */
623long double
624__modfl(long double x, long double *iptr) {
625	return (0.0L);
626}
627
628/* ARGSUSED */
629long double
630__powl(long double x, long double y) {
631	return (0.0L);
632}
633
634/* ARGSUSED */
635long double
636__sinl(long double x) {
637	return (0.0L);
638}
639
640/* ARGSUSED */
641long double
642__sinhl(long double x) {
643	return (0.0L);
644}
645
646/* ARGSUSED */
647long double
648__sqrtl(long double x) {
649	return (0.0L);
650}
651
652/* ARGSUSED */
653long double
654__tanl(long double x) {
655	return (0.0L);
656}
657
658/* ARGSUSED */
659long double
660__tanhl(long double x) {
661	return (0.0L);
662}
663