Variant INT and REAL are now 64 bits (other types remain at 32)

This commit is contained in:
Juan Linietsky
2017-01-08 20:58:39 -03:00
parent 94ee7798ce
commit 13cdccf23b
9 changed files with 202 additions and 63 deletions

View File

@ -683,7 +683,7 @@ void Variant::evaluate(const Operator& p_op, const Variant& p_a, const Variant&
case INT: {
switch(p_b.type) {
case BOOL: {
int b = p_b._data._bool;
int64_t b = p_b._data._bool;
if (b==0) {
r_valid=false;
@ -693,7 +693,7 @@ void Variant::evaluate(const Operator& p_op, const Variant& p_a, const Variant&
} break;
case INT: {
int b = p_b._data._int;
int64_t b = p_b._data._int;
if (b==0) {
r_valid=false;
@ -3358,8 +3358,8 @@ void Variant::blend(const Variant& a, const Variant& b, float c, Variant &r_dst)
switch(a.type) {
case NIL: { r_dst=Variant(); } return;
case INT:{
int va=a._data._int;
int vb=b._data._int;
int64_t va=a._data._int;
int64_t vb=b._data._int;
r_dst=int(va + vb * c + 0.5);
} return;
case REAL:{
@ -3423,8 +3423,8 @@ void Variant::interpolate(const Variant& a, const Variant& b, float c,Variant &r
case NIL:{ r_dst=Variant(); } return;
case BOOL:{ r_dst=a; } return;
case INT:{
int va=a._data._int;
int vb=b._data._int;
int64_t va=a._data._int;
int64_t vb=b._data._int;
r_dst=int((1.0-c) * va + vb * c);
} return;
case REAL:{