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 } 663