/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/* Copyright (C) 1989 AT&T */
/* All Rights Reserved */
/*
* Copyright 2011 Nexenta Systems, Inc. All rights reserved.
*/
/*
* Copyright 2004 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _FLOATINGPOINT_H
#define _FLOATINGPOINT_H
#ifdef __STDC__
#include <stdio_tag.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif
/*
* <floatingpoint.h> contains definitions for constants, types, variables,
* and functions for:
* IEEE floating-point arithmetic base conversion;
* IEEE floating-point arithmetic modes;
* IEEE floating-point arithmetic exception handling.
*/
#ifndef __P
#ifdef __STDC__
#define __P(p) p
#else
#define __P(p) ()
#endif
#endif /* !defined(__P) */
#if defined(__STDC__) && !defined(_FILEDEFED)
#define _FILEDEFED
#endif
/*
* Types for IEEE floating point.
*/
typedef float single;
#ifndef _EXTENDED
#define _EXTENDED
#endif
typedef unsigned fp_exception_field_type;
/*
* A field containing fp_exceptions OR'ed
* together.
*/
/*
* Definitions for base conversion.
*/
/* Decimal significand. */
typedef struct {
int sign;
int exponent;
/* digit, except the string-terminating */
/* ascii null. */
/* indicates more non-zero digits following */
/* ds. */
/* decimal, contains number of digits */
/* required for ds. */
enum decimal_form {
/* of digits after point; if negative, */
/* specifies rounding to occur to left of */
/* point. */
/* of significant digits. */
};
typedef struct {
/* Rounding direction. */
/* decimal. */
} decimal_mode;
};
enum decimal_string_form *, char **));
enum decimal_string_form *, char **,
int (*)(void), int *, int (*)(int)));
enum decimal_string_form *, char **,
FILE *, int *));
#if __cplusplus >= 199711L
#endif
/*
* ANSI C Standard says the following entry points should be
* prototyped in <stdlib.h>. They are now, but weren't before.
*/
#if __cplusplus >= 199711L
}
#endif /* end of namespace std */
#ifdef __cplusplus
}
#endif
#endif /* _FLOATINGPOINT_H */