@@ -33,23 +33,6 @@ extern "C"
3333
3434 /* assign */
3535
36- /* ! Assigns number of type 'float' to the given value. */
37- void value_assign_float (ValueData *v, float numberValue)
38- {
39- value_free (v);
40-
41- if (value_isInf (numberValue))
42- v->type = ValueType::Infinity;
43- else if (value_isNegativeInf (numberValue))
44- v->type = ValueType::NegativeInfinity;
45- else if (std::isnan (numberValue))
46- v->type = ValueType::NaN;
47- else {
48- v->type = ValueType::Number;
49- v->numberValue = value_floatToDouble (numberValue);
50- }
51- }
52-
5336 /* ! Assigns number of type 'double' to the given value. */
5437 void value_assign_double (ValueData *v, double numberValue)
5538 {
@@ -67,33 +50,6 @@ extern "C"
6750 }
6851 }
6952
70- /* ! Assigns number of type 'int' to the given value. */
71- void value_assign_int (ValueData *v, int numberValue)
72- {
73- value_free (v);
74-
75- v->type = ValueType::Number;
76- v->numberValue = numberValue;
77- }
78-
79- /* ! Assigns number of type 'size_t' to the given value. */
80- void value_assign_size_t (ValueData *v, size_t numberValue)
81- {
82- value_free (v);
83-
84- v->type = ValueType::Number;
85- v->numberValue = numberValue;
86- }
87-
88- /* ! Assigns number of type 'long' to the given value. */
89- void value_assign_long (ValueData *v, long numberValue)
90- {
91- value_free (v);
92-
93- v->type = ValueType::Number;
94- v->numberValue = numberValue;
95- }
96-
9753 /* ! Assigns boolean to the given value. */
9854 void value_assign_bool (ValueData *v, bool boolValue)
9955 {
@@ -434,7 +390,7 @@ extern "C"
434390 value_assign_double (dst, v1->numberValue + v2->numberValue );
435391 return ;
436392 } else if (v1->type == ValueType::Bool && v2->type == ValueType::Bool) {
437- value_assign_long (dst, v1->boolValue + v2->boolValue );
393+ value_assign_double (dst, v1->boolValue + v2->boolValue );
438394 return ;
439395 } else if ((static_cast <int >(v1->type ) < 0 ) || (static_cast <int >(v2->type ) < 0 )) {
440396 if ((v1->type == ValueType::Infinity && v2->type == ValueType::NegativeInfinity) || (v1->type == ValueType::NegativeInfinity && v2->type == ValueType::Infinity)) {
@@ -459,7 +415,7 @@ extern "C"
459415 value_assign_double (dst, v1->numberValue - v2->numberValue );
460416 return ;
461417 } else if (v1->type == ValueType::Bool && v2->type == ValueType::Bool) {
462- value_assign_long (dst, v1->boolValue - v2->boolValue );
418+ value_assign_double (dst, v1->boolValue - v2->boolValue );
463419 return ;
464420 } else if ((static_cast <int >(v1->type ) < 0 ) || (static_cast <int >(v2->type ) < 0 )) {
465421 if ((v1->type == ValueType::Infinity && v2->type == ValueType::Infinity) || (v1->type == ValueType::NegativeInfinity && v2->type == ValueType::NegativeInfinity)) {
@@ -484,7 +440,7 @@ extern "C"
484440 if (v1->type == ValueType::Number && v2->type == ValueType::Number)
485441 value_assign_double (dst, v1->numberValue * v2->numberValue );
486442 else if (v1->type == ValueType::Bool && v2->type == ValueType::Bool)
487- value_assign_long (dst, v1->boolValue * v2->boolValue );
443+ value_assign_double (dst, v1->boolValue * v2->boolValue );
488444 else {
489445 const ValueType t1 = v1->type , t2 = v2->type ;
490446
@@ -535,7 +491,7 @@ extern "C"
535491 value_assign_special (dst, SpecialValue::NegativeInfinity);
536492 }
537493 } else if (v2->type == ValueType::Infinity || v2->type == ValueType::NegativeInfinity) {
538- value_assign_long (dst, 0 );
494+ value_assign_double (dst, 0 );
539495 } else
540496 value_assign_double (dst, value_toDouble (v1) / value_toDouble (v2));
541497 }
0 commit comments