Print this page
5262 libm needs to be carefully unifdef'd
5268 libm doesn't need to hide symbols which are already local


  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 #if defined(ELFOBJ)
  31 #pragma weak fmaxf = __fmaxf
  32 #endif
  33 
  34 /*
  35  * fmax(x,y) returns the larger of x and y.  If just one of the
  36  * arguments is NaN, fmax returns the other argument.  If both
  37  * arguments are NaN, fmax returns NaN (ideally, one of the
  38  * argument NaNs).
  39  *
  40  * C99 does not require that fmax(-0,+0) = fmax(+0,-0) = +0, but
  41  * ideally fmax should satisfy this.
  42  *
  43  * C99 makes no mention of exceptions for fmax.  I suppose ideally
  44  * either fmax never raises any exceptions or else it raises the
  45  * invalid operation exception if and only if some argument is a
  46  * signaling NaN.  In the former case, fmax should always return
  47  * one of its arguments.  In the latter, fmax shouldn't return a
  48  * signaling NaN, although when both arguments are signaling NaNs,
  49  * this ideal is at odds with the stipulation that fmax should
  50  * always return one of its arguments.
  51  *
  52  * Commutativity of fmax follows from the properties listed above




  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 fmaxf = __fmaxf

  31 
  32 /*
  33  * fmax(x,y) returns the larger of x and y.  If just one of the
  34  * arguments is NaN, fmax returns the other argument.  If both
  35  * arguments are NaN, fmax returns NaN (ideally, one of the
  36  * argument NaNs).
  37  *
  38  * C99 does not require that fmax(-0,+0) = fmax(+0,-0) = +0, but
  39  * ideally fmax should satisfy this.
  40  *
  41  * C99 makes no mention of exceptions for fmax.  I suppose ideally
  42  * either fmax never raises any exceptions or else it raises the
  43  * invalid operation exception if and only if some argument is a
  44  * signaling NaN.  In the former case, fmax should always return
  45  * one of its arguments.  In the latter, fmax shouldn't return a
  46  * signaling NaN, although when both arguments are signaling NaNs,
  47  * this ideal is at odds with the stipulation that fmax should
  48  * always return one of its arguments.
  49  *
  50  * Commutativity of fmax follows from the properties listed above