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 }