projects
/
libfirm
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
be: remove unused reg_class_for_mode callback
[libfirm]
/
ir
/
tv
/
fltcalc.c
diff --git
a/ir/tv/fltcalc.c
b/ir/tv/fltcalc.c
index
f9ac91f
..
c6edcc2
100644
(file)
--- a/
ir/tv/fltcalc.c
+++ b/
ir/tv/fltcalc.c
@@
-22,7
+22,6
@@
* @brief tarval floating point calculations
* @date 2003
* @author Mathias Heil
* @brief tarval floating point calculations
* @date 2003
* @author Mathias Heil
- * @version $Id$
*/
#include "config.h"
*/
#include "config.h"
@@
-110,7
+109,7
@@
typedef union {
/* our floating point value */
struct fp_value {
/* our floating point value */
struct fp_value {
-
ieee
_descriptor_t desc;
+
float
_descriptor_t desc;
unsigned char clss;
char sign;
char value[1]; /* exp[value_size] + mant[value_size] */
unsigned char clss;
char sign;
char value[1]; /* exp[value_size] + mant[value_size] */
@@
-722,7
+721,7
@@
static void _fdiv(const fp_value *a, const fp_value *b, fp_value *result)
}
#if 0
}
#if 0
-static void _power_of_ten(int exp,
ieee
_descriptor_t *desc, char *result)
+static void _power_of_ten(int exp,
float
_descriptor_t *desc, char *result)
{
char *build;
char *temp;
{
char *build;
char *temp;
@@
-787,8
+786,10
@@
static void _trunc(const fp_value *a, fp_value *result)
temp = (char*) alloca(value_size);
temp = (char*) alloca(value_size);
- if (a != result)
+ if (a != result)
{
result->desc = a->desc;
result->desc = a->desc;
+ result->clss = a->clss;
+ }
exp_bias = (1 << (a->desc.exponent_size - 1)) - 1;
exp_val = sc_val_to_long(_exp(a)) - exp_bias;
exp_bias = (1 << (a->desc.exponent_size - 1)) - 1;
exp_val = sc_val_to_long(_exp(a)) - exp_bias;
@@
-838,14
+839,14
@@
int fc_get_buffer_length(void)
}
void *fc_val_from_str(const char *str, size_t len,
}
void *fc_val_from_str(const char *str, size_t len,
- const
ieee
_descriptor_t *desc, void *result)
+ const
float
_descriptor_t *desc, void *result)
{
char *buffer;
/* XXX excuse of an implementation to make things work */
long double val;
fp_value *tmp = (fp_value*) alloca(calc_buffer_size);
{
char *buffer;
/* XXX excuse of an implementation to make things work */
long double val;
fp_value *tmp = (fp_value*) alloca(calc_buffer_size);
-
ieee
_descriptor_t tmp_desc;
+
float
_descriptor_t tmp_desc;
buffer = (char*) alloca(len+1);
memcpy(buffer, str, len);
buffer = (char*) alloca(len+1);
memcpy(buffer, str, len);
@@
-861,7
+862,7
@@
void *fc_val_from_str(const char *str, size_t len,
return fc_cast(tmp, desc, (fp_value*) result);
}
return fc_cast(tmp, desc, (fp_value*) result);
}
-fp_value *fc_val_from_ieee754(long double l, const
ieee
_descriptor_t *desc,
+fp_value *fc_val_from_ieee754(long double l, const
float
_descriptor_t *desc,
fp_value *result)
{
char *temp;
fp_value *result)
{
char *temp;
@@
-973,7
+974,7
@@
long double fc_val_to_ieee754(const fp_value *val)
uint32_t mantissa1;
value_t buildval;
uint32_t mantissa1;
value_t buildval;
-
ieee
_descriptor_t desc;
+
float
_descriptor_t desc;
unsigned mantissa_size;
size_t long_double_size = sizeof(long double);
unsigned mantissa_size;
size_t long_double_size = sizeof(long double);
@@
-1027,7
+1028,7
@@
long double fc_val_to_ieee754(const fp_value *val)
return buildval.d;
}
return buildval.d;
}
-fp_value *fc_cast(const fp_value *value, const
ieee
_descriptor_t *desc,
+fp_value *fc_cast(const fp_value *value, const
float
_descriptor_t *desc,
fp_value *result)
{
char *temp;
fp_value *result)
{
char *temp;
@@
-1087,7
+1088,7
@@
fp_value *fc_cast(const fp_value *value, const ieee_descriptor_t *desc,
return result;
}
return result;
}
-fp_value *fc_get_max(const
ieee
_descriptor_t *desc, fp_value *result)
+fp_value *fc_get_max(const
float
_descriptor_t *desc, fp_value *result)
{
if (result == NULL) result = calc_buffer;
{
if (result == NULL) result = calc_buffer;
@@
-1104,7
+1105,7
@@
fp_value *fc_get_max(const ieee_descriptor_t *desc, fp_value *result)
return result;
}
return result;
}
-fp_value *fc_get_min(const
ieee
_descriptor_t *desc, fp_value *result)
+fp_value *fc_get_min(const
float
_descriptor_t *desc, fp_value *result)
{
if (result == NULL) result = calc_buffer;
{
if (result == NULL) result = calc_buffer;
@@
-1114,7
+1115,7
@@
fp_value *fc_get_min(const ieee_descriptor_t *desc, fp_value *result)
return result;
}
return result;
}
-fp_value *fc_get_snan(const
ieee
_descriptor_t *desc, fp_value *result)
+fp_value *fc_get_snan(const
float
_descriptor_t *desc, fp_value *result)
{
if (result == NULL) result = calc_buffer;
{
if (result == NULL) result = calc_buffer;
@@
-1130,7
+1131,7
@@
fp_value *fc_get_snan(const ieee_descriptor_t *desc, fp_value *result)
return result;
}
return result;
}
-fp_value *fc_get_qnan(const
ieee
_descriptor_t *desc, fp_value *result)
+fp_value *fc_get_qnan(const
float
_descriptor_t *desc, fp_value *result)
{
if (result == NULL) result = calc_buffer;
{
if (result == NULL) result = calc_buffer;
@@
-1149,7
+1150,7
@@
fp_value *fc_get_qnan(const ieee_descriptor_t *desc, fp_value *result)
return result;
}
return result;
}
-fp_value *fc_get_plusinf(const
ieee
_descriptor_t *desc, fp_value *result)
+fp_value *fc_get_plusinf(const
float
_descriptor_t *desc, fp_value *result)
{
char *mant;
{
char *mant;
@@
-1170,7
+1171,7
@@
fp_value *fc_get_plusinf(const ieee_descriptor_t *desc, fp_value *result)
return result;
}
return result;
}
-fp_value *fc_get_minusinf(const
ieee
_descriptor_t *desc, fp_value *result)
+fp_value *fc_get_minusinf(const
float
_descriptor_t *desc, fp_value *result)
{
if (result == NULL) result = calc_buffer;
{
if (result == NULL) result = calc_buffer;
@@
-1332,7
+1333,7
@@
int fc_get_exponent(const fp_value *value)
}
/* Return non-zero if a given value can be converted lossless into another precision */
}
/* Return non-zero if a given value can be converted lossless into another precision */
-int fc_can_lossless_conv_to(const fp_value *value, const
ieee
_descriptor_t *desc)
+int fc_can_lossless_conv_to(const fp_value *value, const
float
_descriptor_t *desc)
{
int v;
int exp_bias;
{
int v;
int exp_bias;