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
83 const enum version __libm_lib_version = libm_ieee;
84 int __signgam = 0;
85
86 #if !defined(__sparcv9) && !defined(__amd64)
87 /* ARGSUSED */
88 int *
89 __libm_errno(void) {
90 return (0);
91 }
92 #endif
93
94 /* ARGSUSED */
95 int
96 __libm__rem_pio2(double x, double *y) {
97 return (0);
98 }
99
100 /* ARGSUSED */
101 int
102 __libm__rem_pio2m(double *x, double *y, int e0, int nx, int p, const int *ip) {
103 return (0);
104 }
105
106 /* ARGSUSED */
107 double
108 __acos(double x) {
109 return (0.0);
110 }
111
112 /* ARGSUSED */
113 double
114 __acosh(double x) {
115 return (0.0);
116 }
117
118 /* ARGSUSED */
119 double
120 __asin(double x) {
121 return (0.0);
122 }
123
124 /* ARGSUSED */
125 double
126 __asinh(double x) {
127 return (0.0);
128 }
129
130 /* ARGSUSED */
131 double
132 __atan(double x) {
133 return (0.0);
134 }
135
136 /* ARGSUSED */
137 double
138 __atan2(double y, double x) {
139 return (0.0);
140 }
141
142 /* ARGSUSED */
143 double
144 __atanh(double x) {
145 return (0.0);
146 }
147
148 /* ARGSUSED */
149 double
150 __cbrt(double x) {
151 return (0.0);
152 }
153
154 /* ARGSUSED */
155 double
156 __ceil(double x) {
157 return (0.0);
158 }
159
160 /* ARGSUSED */
161 double
162 __copysign(double x, double y) {
163 return (0.0);
164 }
165
166 /* ARGSUSED */
167 double
168 __cos(double x) {
169 return (0.0);
170 }
171
172 /* ARGSUSED */
173 double
174 __cosh(double x) {
175 return (0.0);
176 }
177
178 /* ARGSUSED */
179 double
180 __erf(double x) {
181 return (0.0);
182 }
183
184 /* ARGSUSED */
185 double
186 __erfc(double x) {
187 return (0.0);
188 }
189
190 /* ARGSUSED */
191 double
192 __exp(double x) {
193 return (0.0);
194 }
195
196 /* ARGSUSED */
197 double
198 __expm1(double x) {
199 return (0.0);
200 }
201
202 /* ARGSUSED */
203 double
204 __fabs(double x) {
205 return (0.0);
206 }
207
208 /* ARGSUSED */
209 double
210 __floor(double x) {
211 return (0.0);
212 }
213
214 /* ARGSUSED */
215 double
216 __fmod(double x, double y) {
217 return (0.0);
218 }
219
220 /* ARGSUSED */
221 double
222 __gamma(double x) {
223 return (0.0);
224 }
225
226 /* ARGSUSED */
227 double
228 __gamma_r(double x, int *signgamp) {
229 return (0.0);
230 }
231
232 /* ARGSUSED */
233 double
234 __hypot(double x, double y) {
235 return (0.0);
236 }
237
238 /* ARGSUSED */
239 int
240 __ilogb(double x) {
241 return (0);
242 }
243
244 /* ARGSUSED */
245 int
246 __isnan(double x) {
247 return (0);
248 }
249
250 /* ARGSUSED */
251 double
252 __j0(double x) {
253 return (0.0);
254 }
255
256 /* ARGSUSED */
257 double
258 __j1(double x) {
259 return (0.0);
260 }
261
262 /* ARGSUSED */
263 double
264 __jn(int n, double y) {
265 return (0.0);
266 }
267
268 /* ARGSUSED */
269 double
270 __lgamma(double x) {
271 return (0.0);
272 }
273
274 /* ARGSUSED */
275 double
276 __lgamma_r(double x, int *signgamp) {
277 return (0.0);
278 }
279
280 /* ARGSUSED */
281 double
282 __log(double x) {
283 return (0.0);
284 }
285
286 /* ARGSUSED */
287 double
288 __log10(double x) {
289 return (0.0);
290 }
291
292 /* ARGSUSED */
293 double
294 __log1p(double x) {
295 return (0.0);
296 }
297
298 /* ARGSUSED */
299 double
300 __logb(double x) {
301 return (0.0);
302 }
303
304 /* ARGSUSED */
305 double
306 __nextafter(double x, double y) {
307 return (0.0);
308 }
309
310 /* ARGSUSED */
311 double
312 __pow(double x, double y) {
313 return (0.0);
314 }
315
316 /* ARGSUSED */
317 double
318 __remainder(double x, double y) {
319 return (0.0);
320 }
321
322 /* ARGSUSED */
323 double
324 __rint(double x) {
325 return (0.0);
326 }
327
328 /* ARGSUSED */
329 double
330 __scalb(double x, double y) {
331 return (0.0);
332 }
333
334 /* ARGSUSED */
335 double
336 __scalbn(double x, int n) {
337 return (0.0);
338 }
339
340 /* ARGSUSED */
341 double
342 __significand(double x) {
343 return (0.0);
344 }
345
346 /* ARGSUSED */
347 double
348 __sin(double x) {
349 return (0.0);
350 }
351
352 /* ARGSUSED */
353 double
354 __sinh(double x) {
355 return (0.0);
356 }
357
358 /* ARGSUSED */
359 double
360 __sqrt(double x) {
361 return (0.0);
362 }
363
364 /* ARGSUSED */
365 double
366 __tan(double x) {
367 return (0.0);
368 }
369
370 /* ARGSUSED */
371 double
372 __tanh(double x) {
373 return (0.0);
374 }
375
376 /* ARGSUSED */
377 double
378 __y0(double x) {
379 return (0.0);
380 }
381
382 /* ARGSUSED */
383 double
384 __y1(double x) {
385 return (0.0);
386 }
387
388 /* ARGSUSED */
389 double
390 __yn(int n, double x) {
391 return (0.0);
392 }
393
394 /* ARGSUSED */
395 int
396 matherr(struct exception *excep) {
397 return (0);
398 }
399
400 /* ARGSUSED */
401 float
402 __acosf(float x) {
403 return (0.0F);
404 }
405
406 /* ARGSUSED */
407 float
408 __asinf(float x) {
409 return (0.0F);
410 }
411
412 /* ARGSUSED */
413 float
414 __atanf(float x) {
415 return (0.0F);
416 }
417
418 /* ARGSUSED */
419 float
420 __atan2f(float y, float x) {
421 return (0.0F);
422 }
423
424 /* ARGSUSED */
425 float
426 __ceilf(float x) {
427 return (0.0F);
428 }
429
430 /* ARGSUSED */
431 float
432 __cosf(float x) {
433 return (0.0F);
434 }
435
436 /* ARGSUSED */
437 float
438 __coshf(float x) {
439 return (0.0F);
440 }
441
442 /* ARGSUSED */
443 float
444 __expf(float x) {
445 return (0.0F);
446 }
447
448 /* ARGSUSED */
449 float
450 __fabsf(float x) {
451 return (0.0F);
452 }
453
454 /* ARGSUSED */
455 float
456 __floorf(float x) {
457 return (0.0F);
458 }
459
460 /* ARGSUSED */
461 float
462 __fmodf(float x, float y) {
463 return (0.0F);
464 }
465
466 /* ARGSUSED */
467 float
468 __frexpf(float x, int *e) {
469 return (0.0F);
470 }
471
472 /* ARGSUSED */
473 float
474 __ldexpf(float x, int n) {
475 return (0.0F);
476 }
477
478 /* ARGSUSED */
479 float
480 __logf(float x) {
481 return (0.0F);
482 }
483
484 /* ARGSUSED */
485 float
486 __log10f(float x) {
487 return (0.0F);
488 }
489
490 /* ARGSUSED */
491 float
492 __modff(float x, float *iptr) {
493 return (0.0F);
494 }
495
496 /* ARGSUSED */
497 float
498 __powf(float x, float y) {
499 return (0.0F);
500 }
501
502 /* ARGSUSED */
503 float
504 __sinf(float x) {
505 return (0.0F);
506 }
507
508 /* ARGSUSED */
509 float
510 __sinhf(float x) {
511 return (0.0F);
512 }
513
514 /* ARGSUSED */
515 float
516 __sqrtf(float x) {
517 return (0.0F);
518 }
519
520 /* ARGSUSED */
521 float
522 __tanf(float x) {
523 return (0.0F);
524 }
525
526 /* ARGSUSED */
527 float
528 __tanhf(float x) {
529 return (0.0F);
530 }
531
532 /* ARGSUSED */
533 long double
534 __acosl(long double x) {
535 return (0.0L);
536 }
537
538 /* ARGSUSED */
539 long double
540 __asinl(long double x) {
541 return (0.0L);
542 }
543
544 /* ARGSUSED */
545 long double
546 __atanl(long double x) {
547 return (0.0L);
548 }
549
550 /* ARGSUSED */
551 long double
552 __atan2l(long double y, long double x) {
553 return (0.0L);
554 }
555
556 /* ARGSUSED */
557 long double
558 __ceill(long double x) {
559 return (0.0L);
560 }
561
562 /* ARGSUSED */
563 long double
564 __cosl(long double x) {
565 return (0.0L);
566 }
567
568 /* ARGSUSED */
569 long double
570 __coshl(long double x) {
571 return (0.0L);
572 }
573
574 /* ARGSUSED */
575 long double
576 __expl(long double x) {
577 return (0.0L);
578 }
579
580 /* ARGSUSED */
581 long double
582 __fabsl(long double x) {
583 return (0.0L);
584 }
585
586 /* ARGSUSED */
587 long double
588 __floorl(long double x) {
589 return (0.0L);
590 }
591
592 /* ARGSUSED */
593 long double
594 __fmodl(long double x, long double y) {
595 return (0.0L);
596 }
597
598 /* ARGSUSED */
599 long double
600 __frexpl(long double x, int *e) {
601 return (0.0L);
602 }
603
604 /* ARGSUSED */
605 long double
606 __ldexpl(long double x, int n) {
607 return (0.0L);
608 }
609
610 /* ARGSUSED */
611 long double
612 __logl(long double x) {
613 return (0.0L);
614 }
615
616 /* ARGSUSED */
617 long double
618 __log10l(long double x) {
619 return (0.0L);
620 }
621
622 /* ARGSUSED */
623 long double
624 __modfl(long double x, long double *iptr) {
625 return (0.0L);
626 }
627
628 /* ARGSUSED */
629 long double
630 __powl(long double x, long double y) {
631 return (0.0L);
632 }
633
634 /* ARGSUSED */
635 long double
636 __sinl(long double x) {
637 return (0.0L);
638 }
639
640 /* ARGSUSED */
641 long double
642 __sinhl(long double x) {
643 return (0.0L);
644 }
645
646 /* ARGSUSED */
647 long double
648 __sqrtl(long double x) {
649 return (0.0L);
650 }
651
652 /* ARGSUSED */
653 long double
654 __tanl(long double x) {
655 return (0.0L);
656 }
657
658 /* ARGSUSED */
659 long double
660 __tanhl(long double x) {
661 return (0.0L);
662 }