ds: formatting tweaks

This commit is contained in:
2026-04-20 22:03:20 +01:00
parent 321622ac16
commit c76008e498
6 changed files with 466 additions and 152 deletions
+130 -35
View File
@@ -34,7 +34,8 @@ struct fx_number_p {
typedef int (*number_converter_t)(const struct fx_number_p *, void *);
static number_converter_t converters[FX_NUMBER_TYPE_COUNT][FX_NUMBER_TYPE_COUNT];
static number_converter_t converters[FX_NUMBER_TYPE_COUNT]
[FX_NUMBER_TYPE_COUNT];
/*** PRIVATE FUNCTIONS ********************************************************/
@@ -44,7 +45,9 @@ static fx_number_type number_get_number_type(const struct fx_number_p *number)
}
static int number_get_value(
const struct fx_number_p *number, fx_number_type type, void *value_ptr)
const struct fx_number_p *number,
fx_number_type type,
void *value_ptr)
{
fx_number_type srb_type = number->n_type;
fx_number_type dest_type = type;
@@ -738,27 +741,37 @@ fx_number *fx_number_create(fx_number_type type, void *value_ptr)
memcpy(&p->n_value.v_int8, value_ptr, sizeof p->n_value.v_int8);
break;
case FX_NUMBER_INT16:
memcpy(&p->n_value.v_int16, value_ptr, sizeof p->n_value.v_int16);
memcpy(&p->n_value.v_int16,
value_ptr,
sizeof p->n_value.v_int16);
break;
case FX_NUMBER_INT32:
memcpy(&p->n_value.v_int32, value_ptr, sizeof p->n_value.v_int32);
memcpy(&p->n_value.v_int32,
value_ptr,
sizeof p->n_value.v_int32);
break;
case FX_NUMBER_INT64:
memcpy(&p->n_value.v_int64, value_ptr, sizeof p->n_value.v_int64);
memcpy(&p->n_value.v_int64,
value_ptr,
sizeof p->n_value.v_int64);
break;
case FX_NUMBER_FLOAT32:
memcpy(&p->n_value.v_float32, value_ptr,
memcpy(&p->n_value.v_float32,
value_ptr,
sizeof p->n_value.v_float32);
break;
case FX_NUMBER_FLOAT64:
memcpy(&p->n_value.v_float64, value_ptr,
memcpy(&p->n_value.v_float64,
value_ptr,
sizeof p->n_value.v_float64);
break;
case FX_NUMBER_CHAR:
memcpy(&p->n_value.v_char, value_ptr, sizeof p->n_value.v_char);
break;
case FX_NUMBER_SHORT:
memcpy(&p->n_value.v_short, value_ptr, sizeof p->n_value.v_short);
memcpy(&p->n_value.v_short,
value_ptr,
sizeof p->n_value.v_short);
break;
case FX_NUMBER_INT:
memcpy(&p->n_value.v_int, value_ptr, sizeof p->n_value.v_int);
@@ -767,17 +780,24 @@ fx_number *fx_number_create(fx_number_type type, void *value_ptr)
memcpy(&p->n_value.v_long, value_ptr, sizeof p->n_value.v_long);
break;
case FX_NUMBER_LONGLONG:
memcpy(&p->n_value.v_longlong, value_ptr,
memcpy(&p->n_value.v_longlong,
value_ptr,
sizeof p->n_value.v_longlong);
break;
case FX_NUMBER_FLOAT:
memcpy(&p->n_value.v_float, value_ptr, sizeof p->n_value.v_float);
memcpy(&p->n_value.v_float,
value_ptr,
sizeof p->n_value.v_float);
break;
case FX_NUMBER_DOUBLE:
memcpy(&p->n_value.v_double, value_ptr, sizeof p->n_value.v_double);
memcpy(&p->n_value.v_double,
value_ptr,
sizeof p->n_value.v_double);
break;
case FX_NUMBER_SIZE_T:
memcpy(&p->n_value.v_size_t, value_ptr, sizeof p->n_value.v_size_t);
memcpy(&p->n_value.v_size_t,
value_ptr,
sizeof p->n_value.v_size_t);
break;
default:
break;
@@ -788,13 +808,23 @@ fx_number *fx_number_create(fx_number_type type, void *value_ptr)
fx_number_type fx_number_get_number_type(const fx_number *number)
{
FX_CLASS_DISPATCH_STATIC_0(FX_TYPE_NUMBER, number_get_number_type, number);
FX_CLASS_DISPATCH_STATIC_0(
FX_TYPE_NUMBER,
number_get_number_type,
number);
}
int fx_number_get_value(const fx_number *number, fx_number_type type, void *value_ptr)
int fx_number_get_value(
const fx_number *number,
fx_number_type type,
void *value_ptr)
{
FX_CLASS_DISPATCH_STATIC(
FX_TYPE_NUMBER, number_get_value, number, type, value_ptr);
FX_TYPE_NUMBER,
number_get_value,
number,
type,
value_ptr);
}
bool fx_number_is_integer(const fx_number *number)
@@ -814,12 +844,18 @@ bool fx_number_is_inf(const fx_number *number)
bool fx_number_is_inf_positive(const fx_number *number)
{
FX_CLASS_DISPATCH_STATIC_0(FX_TYPE_NUMBER, number_is_inf_positive, number);
FX_CLASS_DISPATCH_STATIC_0(
FX_TYPE_NUMBER,
number_is_inf_positive,
number);
}
bool fx_number_is_inf_negative(const fx_number *number)
{
FX_CLASS_DISPATCH_STATIC_0(FX_TYPE_NUMBER, number_is_inf_negative, number);
FX_CLASS_DISPATCH_STATIC_0(
FX_TYPE_NUMBER,
number_is_inf_negative,
number);
}
bool fx_number_is_nan(const fx_number *number)
@@ -829,32 +865,54 @@ bool fx_number_is_nan(const fx_number *number)
bool fx_number_is_nan_positive(const fx_number *number)
{
FX_CLASS_DISPATCH_STATIC_0(FX_TYPE_NUMBER, number_is_nan_positive, number);
FX_CLASS_DISPATCH_STATIC_0(
FX_TYPE_NUMBER,
number_is_nan_positive,
number);
}
bool fx_number_is_nan_negative(const fx_number *number)
{
FX_CLASS_DISPATCH_STATIC_0(FX_TYPE_NUMBER, number_is_nan_negative, number);
FX_CLASS_DISPATCH_STATIC_0(
FX_TYPE_NUMBER,
number_is_nan_negative,
number);
}
void fx_number_set_inf_positive(fx_number *number, bool v)
{
FX_CLASS_DISPATCH_STATIC(FX_TYPE_NUMBER, number_set_inf_positive, number, v);
FX_CLASS_DISPATCH_STATIC(
FX_TYPE_NUMBER,
number_set_inf_positive,
number,
v);
}
void fx_number_set_inf_negative(fx_number *number, bool v)
{
FX_CLASS_DISPATCH_STATIC(FX_TYPE_NUMBER, number_set_inf_negative, number, v);
FX_CLASS_DISPATCH_STATIC(
FX_TYPE_NUMBER,
number_set_inf_negative,
number,
v);
}
void fx_number_set_nan_positive(fx_number *number, bool v)
{
FX_CLASS_DISPATCH_STATIC(FX_TYPE_NUMBER, number_set_nan_positive, number, v);
FX_CLASS_DISPATCH_STATIC(
FX_TYPE_NUMBER,
number_set_nan_positive,
number,
v);
}
void fx_number_set_nan_negative(fx_number *number, bool v)
{
FX_CLASS_DISPATCH_STATIC(FX_TYPE_NUMBER, number_set_nan_negative, number, v);
FX_CLASS_DISPATCH_STATIC(
FX_TYPE_NUMBER,
number_set_nan_negative,
number,
v);
}
size_t fx_number_data_size(const fx_number *number)
@@ -890,22 +948,42 @@ static void number_to_string(const fx_object *obj, fx_stream *out)
switch (number->n_type) {
case FX_NUMBER_INT8:
fx_stream_write_fmt(out, NULL, "%" PRIu8, number->n_value.v_int8);
fx_stream_write_fmt(
out,
NULL,
"%" PRIu8,
number->n_value.v_int8);
break;
case FX_NUMBER_INT16:
fx_stream_write_fmt(out, NULL, "%" PRIu16, number->n_value.v_int16);
fx_stream_write_fmt(
out,
NULL,
"%" PRIu16,
number->n_value.v_int16);
break;
case FX_NUMBER_INT32:
fx_stream_write_fmt(out, NULL, "%" PRIu32, number->n_value.v_int32);
fx_stream_write_fmt(
out,
NULL,
"%" PRIu32,
number->n_value.v_int32);
break;
case FX_NUMBER_INT64:
fx_stream_write_fmt(out, NULL, "%" PRIu64, number->n_value.v_int64);
fx_stream_write_fmt(
out,
NULL,
"%" PRIu64,
number->n_value.v_int64);
break;
case FX_NUMBER_FLOAT32:
fx_stream_write_fmt(out, NULL, "%f", number->n_value.v_float32);
break;
case FX_NUMBER_FLOAT64:
fx_stream_write_fmt(out, NULL, "%lf", number->n_value.v_float64);
fx_stream_write_fmt(
out,
NULL,
"%lf",
number->n_value.v_float64);
break;
case FX_NUMBER_CHAR:
fx_stream_write_fmt(out, NULL, "%d", number->n_value.v_char);
@@ -920,7 +998,11 @@ static void number_to_string(const fx_object *obj, fx_stream *out)
fx_stream_write_fmt(out, NULL, "%ld", number->n_value.v_long);
break;
case FX_NUMBER_LONGLONG:
fx_stream_write_fmt(out, NULL, "%lld", number->n_value.v_longlong);
fx_stream_write_fmt(
out,
NULL,
"%lld",
number->n_value.v_longlong);
break;
case FX_NUMBER_FLOAT:
fx_stream_write_fmt(out, NULL, "%f", number->n_value.v_float);
@@ -933,7 +1015,10 @@ static void number_to_string(const fx_object *obj, fx_stream *out)
break;
case FX_NUMBER_HANDLE:
fx_stream_write_fmt(
out, NULL, "%016" PRIx64, number->n_value.v_size_t);
out,
NULL,
"%016" PRIx64,
number->n_value.v_size_t);
break;
default:
break;
@@ -1364,7 +1449,9 @@ static int float32_to_long(const struct fx_number_p *number, void *value_ptr)
return 0;
}
static int float32_to_longlong(const struct fx_number_p *number, void *value_ptr)
static int float32_to_longlong(
const struct fx_number_p *number,
void *value_ptr)
{
*(long long *)value_ptr = number->n_value.v_float32;
return 0;
@@ -1450,7 +1537,9 @@ static int float64_to_long(const struct fx_number_p *number, void *value_ptr)
return 0;
}
static int float64_to_longlong(const struct fx_number_p *number, void *value_ptr)
static int float64_to_longlong(
const struct fx_number_p *number,
void *value_ptr)
{
*(long long *)value_ptr = number->n_value.v_float64;
return 0;
@@ -1844,13 +1933,17 @@ static int longlong_to_int64(const struct fx_number_p *number, void *value_ptr)
return 0;
}
static int longlong_to_float32(const struct fx_number_p *number, void *value_ptr)
static int longlong_to_float32(
const struct fx_number_p *number,
void *value_ptr)
{
*(float *)value_ptr = number->n_value.v_longlong;
return 0;
}
static int longlong_to_float64(const struct fx_number_p *number, void *value_ptr)
static int longlong_to_float64(
const struct fx_number_p *number,
void *value_ptr)
{
*(double *)value_ptr = number->n_value.v_longlong;
return 0;
@@ -1880,7 +1973,9 @@ static int longlong_to_long(const struct fx_number_p *number, void *value_ptr)
return 0;
}
static int longlong_to_longlong(const struct fx_number_p *number, void *value_ptr)
static int longlong_to_longlong(
const struct fx_number_p *number,
void *value_ptr)
{
*(long long *)value_ptr = number->n_value.v_longlong;
return 0;