this repo has no description
1/*
2 * Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * The contents of this file constitute Original Code as defined in and
7 * are subject to the Apple Public Source License Version 1.1 (the
8 * "License"). You may not use this file except in compliance with the
9 * License. Please obtain a copy of the License at
10 * http://www.apple.com/publicsource and read it before using this file.
11 *
12 * This Original Code and all software distributed under the License are
13 * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
14 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
15 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
17 * License for the specific language governing rights and limitations
18 * under the License.
19 *
20 * @APPLE_LICENSE_HEADER_END@
21 */
22//
23// DD.h
24//
25// Double-double Function Library
26// Copyright: � 1995-96 by Apple Computer, Inc., all rights reserved
27//
28// september 03 1996 ali deleted entries that conflicted with <fp.h>
29//
30#include "fenv_private.h"
31#include "stdint.h"
32
33typedef union {
34 uint32_t i;
35 float f;
36} Float;
37
38typedef union {
39 uint32_t i[2];
40 double f;
41} Double;
42
43typedef union {
44 uint32_t i[4];
45 double d[2];
46 long double f;
47} DblDbl;
48
49
50// d3ops.c (private triple-double basic operations required by ErfDD.c and GammaDD.c)
51
52void _d3div(double a, double b, double c, double d, double e, double f,
53 double *high, double *mid, double *low);
54void _d3mul(double a, double b, double c, double d, double e, double f,
55 double *high, double *mid, double *low);
56void _d3add(double a, double b, double c, double d, double e, double f,
57 double *high, double *mid, double *low);
58
59
60long double _ExpInnerLD(double, double, double, double *, int);
61
62long double _LogInnerLD(double, double, double, double *, int);
63
64long double __sqrtldextra( double x, double y, double *pextra );
65