92 EpdCmp(
const char *key1,
const char *key2)
145 sprintf(str,
"-Inf");
155 sprintf(str,
"%e", value);
159 sprintf(pos + 1,
"+0%d", exponent);
161 sprintf(pos + 1,
"+%d", exponent);
165 sprintf(pos + 1,
"-0%d", exponent);
167 sprintf(pos + 1,
"-%d", exponent);
625 epd2->
type.
value / pow((
double)2.0, (
double)diff);
632 value = epd1->
type.
value / pow((
double)2.0, (
double)diff) +
691 epd2->
type.
value / pow((
double)2.0, (
double)diff);
698 value = epd1->
type.
value / pow((
double)2.0, (
double)diff) +
815 epd2->
type.
value / pow((
double)2.0, (
double)diff);
822 value = epd1->
type.
value / pow((
double)2.0, (
double)diff) -
825 value = epd2->
type.
value * (double)(-1.0);
882 epd2->
type.
value / pow((
double)2.0, (
double)diff);
889 value = epd1->
type.
value / pow((
double)2.0, (
double)diff) -
892 value = epd2->
type.
value * (double)(-1.0);
948 epd->
type.
value = pow((
double)2.0, (
double)n);
1016 epd->
type.
value /= pow((
double)10.0, (
double)exponent);
1095 sprintf(str,
"%E", value);
1097 sscanf(pos,
"E%d", &exponent);
int IsNanDouble(double value)
void EpdSubtract(EpDouble *epd1, double value)
int EpdGetExponentDecimal(double value)
int EpdCmp(const char *key1, const char *key2)
void EpdConvert(double value, EpDouble *epd)
void EpdDivide3(EpDouble *epd1, EpDouble *epd2, EpDouble *epd3)
void EpdGetValueAndDecimalExponent(EpDouble *epd, double *value, int *exponent)
void EpdCopy(EpDouble *from, EpDouble *to)
EpDouble * EpdAlloc(void)
int EpdIsNan(EpDouble *epd)
void EpdPow2(int n, EpDouble *epd)
void EpdSubtract3(EpDouble *epd1, EpDouble *epd2, EpDouble *epd3)
void EpdNormalize(EpDouble *epd)
int IsInfDouble(double value)
void EpdNormalizeDecimal(EpDouble *epd)
void EpdAdd3(EpDouble *epd1, EpDouble *epd2, EpDouble *epd3)
void EpdDivide(EpDouble *epd1, double value)
void EpdPow2Decimal(int n, EpDouble *epd)
void EpdDivide2(EpDouble *epd1, EpDouble *epd2)
void EpdMakeZero(EpDouble *epd, int sign)
void EpdAdd(EpDouble *epd1, double value)
struct IeeeDoubleStruct bits
void EpdMakeInf(EpDouble *epd, int sign)
int EpdIsZero(EpDouble *epd)
void EpdMakeNan(EpDouble *epd)
void EpdMultiply2Decimal(EpDouble *epd1, EpDouble *epd2)
int IsNanOrInfDouble(double value)
void EpdMultiply2(EpDouble *epd1, EpDouble *epd2)
void EpdMultiply3Decimal(EpDouble *epd1, EpDouble *epd2, EpDouble *epd3)
void EpdMultiply(EpDouble *epd1, double value)
void EpdFree(EpDouble *epd)
int EpdIsInf(EpDouble *epd)
void EpdGetString(EpDouble *epd, char *str)
void EpdMultiply3(EpDouble *epd1, EpDouble *epd2, EpDouble *epd3)
void EpdAdd2(EpDouble *epd1, EpDouble *epd2)
int EpdGetExponent(double value)
void EpdSubtract2(EpDouble *epd1, EpDouble *epd2)
int EpdIsNanOrInf(EpDouble *epd)