SVF
|
Go to the source code of this file.
Classes | |
struct | IeeeDoubleStruct |
struct | IeeeNanStruct |
union | EpTypeUnion |
struct | EpDoubleStruct |
Macros | |
#define | EPD_MAX_BIN 1023 |
#define | EPD_MAX_DEC 308 |
#define | EPD_EXP_INF 0x7ff |
Typedefs | |
typedef struct EpDoubleStruct | EpDouble |
typedef struct IeeeDoubleStruct | IeeeDouble |
typedef struct IeeeNanStruct | IeeeNan |
typedef union EpTypeUnion | EpType |
Functions | |
EpDouble * | EpdAlloc (void) |
int | EpdCmp (const char *key1, const char *key2) |
void | EpdFree (EpDouble *epd) |
void | EpdGetString (EpDouble *epd, char *str) |
void | EpdConvert (double value, EpDouble *epd) |
void | EpdMultiply (EpDouble *epd1, double value) |
void | EpdMultiply2 (EpDouble *epd1, EpDouble *epd2) |
void | EpdMultiply2Decimal (EpDouble *epd1, EpDouble *epd2) |
void | EpdMultiply3 (EpDouble *epd1, EpDouble *epd2, EpDouble *epd3) |
void | EpdMultiply3Decimal (EpDouble *epd1, EpDouble *epd2, EpDouble *epd3) |
void | EpdDivide (EpDouble *epd1, double value) |
void | EpdDivide2 (EpDouble *epd1, EpDouble *epd2) |
void | EpdDivide3 (EpDouble *epd1, EpDouble *epd2, EpDouble *epd3) |
void | EpdAdd (EpDouble *epd1, double value) |
void | EpdAdd2 (EpDouble *epd1, EpDouble *epd2) |
void | EpdAdd3 (EpDouble *epd1, EpDouble *epd2, EpDouble *epd3) |
void | EpdSubtract (EpDouble *epd1, double value) |
void | EpdSubtract2 (EpDouble *epd1, EpDouble *epd2) |
void | EpdSubtract3 (EpDouble *epd1, EpDouble *epd2, EpDouble *epd3) |
void | EpdPow2 (int n, EpDouble *epd) |
void | EpdPow2Decimal (int n, EpDouble *epd) |
void | EpdNormalize (EpDouble *epd) |
void | EpdNormalizeDecimal (EpDouble *epd) |
void | EpdGetValueAndDecimalExponent (EpDouble *epd, double *value, int *exponent) |
int | EpdGetExponent (double value) |
int | EpdGetExponentDecimal (double value) |
void | EpdMakeInf (EpDouble *epd, int sign) |
void | EpdMakeZero (EpDouble *epd, int sign) |
void | EpdMakeNan (EpDouble *epd) |
void | EpdCopy (EpDouble *from, EpDouble *to) |
int | EpdIsInf (EpDouble *epd) |
int | EpdIsZero (EpDouble *epd) |
int | EpdIsNan (EpDouble *epd) |
int | EpdIsNanOrInf (EpDouble *epd) |
int | IsInfDouble (double value) |
int | IsNanDouble (double value) |
int | IsNanOrInfDouble (double value) |
#define EPD_MAX_BIN 1023 |
CHeaderFile*****************************************************************
FileName [epd.h]
PackageName [epd]
Synopsis [The University of Colorado extended double precision package.]
Description [arithmetic functions with extended double precision.]
SeeAlso []
Author [In-Ho Moon]
Copyright [Copyright (c) 1995-2004, Regents of the University of Colorado
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.]
Revision [
]
typedef struct EpDoubleStruct EpDouble |
typedef union EpTypeUnion EpType |
typedef struct IeeeDoubleStruct IeeeDouble |
typedef struct IeeeNanStruct IeeeNan |
void EpdAdd | ( | EpDouble * | epd1, |
double | value | ||
) |
EpDouble* EpdAlloc | ( | void | ) |
AutomaticStart
CFile***********************************************************************
FileName [epd.c]
PackageName [epd]
Synopsis [Arithmetic functions with extended double precision.]
Description []
SeeAlso []
Author [In-Ho Moon]
Copyright [Copyright (c) 1995-2004, Regents of the University of Colorado
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.]
Revision [
] Function********************************************************************
Synopsis [Allocates an EpDouble struct.]
Description [Allocates an EpDouble struct.]
SideEffects []
SeeAlso []
int EpdCmp | ( | const char * | key1, |
const char * | key2 | ||
) |
void EpdConvert | ( | double | value, |
EpDouble * | epd | ||
) |
void EpdDivide | ( | EpDouble * | epd1, |
double | value | ||
) |
void EpdFree | ( | EpDouble * | epd | ) |
int EpdGetExponent | ( | double | value | ) |
int EpdGetExponentDecimal | ( | double | value | ) |
Function********************************************************************
Synopsis [Returns the decimal exponent value of a double.]
Description [Returns the decimal exponent value of a double.]
SideEffects []
SeeAlso []
void EpdGetString | ( | EpDouble * | epd, |
char * | str | ||
) |
Function********************************************************************
Synopsis [Converts an arbitrary precision double value to a string.]
Description [Converts an arbitrary precision double value to a string.]
SideEffects []
SeeAlso []
Definition at line 134 of file epd.c.
void EpdGetValueAndDecimalExponent | ( | EpDouble * | epd, |
double * | value, | ||
int * | exponent | ||
) |
int EpdIsInf | ( | EpDouble * | epd | ) |
int EpdIsNan | ( | EpDouble * | epd | ) |
int EpdIsNanOrInf | ( | EpDouble * | epd | ) |
int EpdIsZero | ( | EpDouble * | epd | ) |
void EpdMakeInf | ( | EpDouble * | epd, |
int | sign | ||
) |
void EpdMakeNan | ( | EpDouble * | epd | ) |
void EpdMakeZero | ( | EpDouble * | epd, |
int | sign | ||
) |
void EpdMultiply | ( | EpDouble * | epd1, |
double | value | ||
) |
void EpdNormalize | ( | EpDouble * | epd | ) |
void EpdNormalizeDecimal | ( | EpDouble * | epd | ) |
void EpdPow2 | ( | int | n, |
EpDouble * | epd | ||
) |
void EpdPow2Decimal | ( | int | n, |
EpDouble * | epd | ||
) |
Function********************************************************************
Synopsis [Computes arbitrary precision pow of base 2.]
Description [Computes arbitrary precision pow of base 2.]
SideEffects []
SeeAlso []
void EpdSubtract | ( | EpDouble * | epd1, |
double | value | ||
) |
int IsInfDouble | ( | double | value | ) |
int IsNanDouble | ( | double | value | ) |
int IsNanOrInfDouble | ( | double | value | ) |