Adjust for Num hierarchy changes
Project: http://git-wip-us.apache.org/repos/asf/lucy/repo Commit: http://git-wip-us.apache.org/repos/asf/lucy/commit/24df913d Tree: http://git-wip-us.apache.org/repos/asf/lucy/tree/24df913d Diff: http://git-wip-us.apache.org/repos/asf/lucy/diff/24df913d Branch: refs/heads/master Commit: 24df913d7de97d0f15aabcd8ebf243468231ab99 Parents: 8144f5c Author: Nick Wellnhofer <[email protected]> Authored: Thu Jul 9 15:53:47 2015 +0200 Committer: Nick Wellnhofer <[email protected]> Committed: Thu Jul 9 16:38:43 2015 +0200 ---------------------------------------------------------------------- core/Lucy/Util/Freezer.c | 44 +++++++++++++++++-------------------------- core/Lucy/Util/Json.c | 33 ++++++++++++++++++++------------ 2 files changed, 38 insertions(+), 39 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/lucy/blob/24df913d/core/Lucy/Util/Freezer.c ---------------------------------------------------------------------- diff --git a/core/Lucy/Util/Freezer.c b/core/Lucy/Util/Freezer.c index 29b2104..afb37e6 100644 --- a/core/Lucy/Util/Freezer.c +++ b/core/Lucy/Util/Freezer.c @@ -64,19 +64,13 @@ Freezer_serialize(Obj *obj, OutStream *outstream) { else if (Obj_is_a(obj, HASH)) { Freezer_serialize_hash((Hash*)obj, outstream); } - else if (Obj_is_a(obj, NUM)) { - if (Obj_is_a(obj, INTNUM)) { - if (Obj_is_a(obj, INTEGER64)) { - int64_t val = Int64_Get_Value((Integer64*)obj); - OutStream_Write_C64(outstream, (uint64_t)val); - } - } - else if (Obj_is_a(obj, FLOATNUM)) { - if (Obj_is_a(obj, FLOAT64)) { - double val = Float64_Get_Value((Float64*)obj); - OutStream_Write_F64(outstream, val); - } - } + else if (Obj_is_a(obj, INTEGER64)) { + int64_t val = Int64_Get_Value((Integer64*)obj); + OutStream_Write_C64(outstream, (uint64_t)val); + } + else if (Obj_is_a(obj, FLOAT64)) { + double val = Float64_Get_Value((Float64*)obj); + OutStream_Write_F64(outstream, val); } else if (Obj_is_a(obj, BOOLEAN)) { bool val = Bool_Get_Value((Boolean*)obj); @@ -129,19 +123,13 @@ Freezer_deserialize(Obj *obj, InStream *instream) { else if (Obj_is_a(obj, HASH)) { obj = (Obj*)Freezer_deserialize_hash((Hash*)obj, instream); } - else if (Obj_is_a(obj, NUM)) { - if (Obj_is_a(obj, INTNUM)) { - if (Obj_is_a(obj, INTEGER64)) { - int64_t value = (int64_t)InStream_Read_C64(instream); - obj = (Obj*)Int64_init((Integer64*)obj, value); - } - } - else if (Obj_is_a(obj, FLOATNUM)) { - if (Obj_is_a(obj, FLOAT64)) { - double value = InStream_Read_F64(instream); - obj = (Obj*)Float64_init((Float64*)obj, value); - } - } + else if (Obj_is_a(obj, INTEGER64)) { + int64_t value = (int64_t)InStream_Read_C64(instream); + obj = (Obj*)Int64_init((Integer64*)obj, value); + } + else if (Obj_is_a(obj, FLOAT64)) { + double value = InStream_Read_F64(instream); + obj = (Obj*)Float64_init((Float64*)obj, value); } else if (Obj_is_a(obj, BOOLEAN)) { bool value = !!InStream_Read_U8(instream); @@ -370,7 +358,9 @@ Freezer_dump(Obj *obj) { else if (Obj_is_a(obj, QUERY)) { return Query_Dump((Query*)obj); } - else if (Obj_is_a(obj, NUM) || Obj_is_a(obj, BOOLEAN)) { + else if (Obj_is_a(obj, FLOAT64) + || Obj_is_a(obj, INTEGER64) + || Obj_is_a(obj, BOOLEAN)) { return Obj_Clone(obj); } else { http://git-wip-us.apache.org/repos/asf/lucy/blob/24df913d/core/Lucy/Util/Json.c ---------------------------------------------------------------------- diff --git a/core/Lucy/Util/Json.c b/core/Lucy/Util/Json.c index d440fe9..4d5ad8a 100644 --- a/core/Lucy/Util/Json.c +++ b/core/Lucy/Util/Json.c @@ -281,11 +281,11 @@ S_to_json(Obj *dump, CharBuf *buf, int32_t depth) { else if (Obj_is_a(dump, STRING)) { S_append_json_string((String*)dump, buf); } - else if (Obj_is_a(dump, INTNUM)) { - CB_catf(buf, "%i64", IntNum_To_I64((IntNum*)dump)); + else if (Obj_is_a(dump, INTEGER64)) { + CB_catf(buf, "%i64", Int64_Get_Value((Integer64*)dump)); } - else if (Obj_is_a(dump, FLOATNUM)) { - CB_catf(buf, "%f64", FloatNum_To_F64((FloatNum*)dump)); + else if (Obj_is_a(dump, FLOAT64)) { + CB_catf(buf, "%f64", Float64_Get_Value((Float64*)dump)); } else if (Obj_is_a(dump, VECTOR)) { Vector *array = (Vector*)dump; @@ -708,12 +708,15 @@ Json_obj_to_i64(Obj *obj) { if (!obj) { THROW(ERR, "Can't extract integer from NULL"); } + else if (Obj_is_a(obj, INTEGER64)) { + retval = Int64_Get_Value((Integer64*)obj); + } + else if (Obj_is_a(obj, FLOAT64)) { + retval = Float64_To_I64((Float64*)obj); + } else if (Obj_is_a(obj, STRING)) { retval = Str_To_I64((String*)obj); } - else if (Obj_is_a(obj, NUM)) { - retval = Num_To_I64((Num*)obj); - } else { THROW(ERR, "Can't extract integer from object of type %o", Obj_get_class_name(obj)); @@ -729,12 +732,15 @@ Json_obj_to_f64(Obj *obj) { if (!obj) { THROW(ERR, "Can't extract float from NULL"); } + else if (Obj_is_a(obj, FLOAT64)) { + retval = Float64_Get_Value((Float64*)obj); + } + else if (Obj_is_a(obj, INTEGER64)) { + retval = Int64_To_F64((Integer64*)obj); + } else if (Obj_is_a(obj, STRING)) { retval = Str_To_F64((String*)obj); } - else if (Obj_is_a(obj, NUM)) { - retval = Num_To_F64((Num*)obj); - } else { THROW(ERR, "Can't extract float from object of type %o", Obj_get_class_name(obj)); @@ -753,8 +759,11 @@ Json_obj_to_bool(Obj *obj) { else if (Obj_is_a(obj, BOOLEAN)) { retval = Bool_Get_Value((Boolean*)obj); } - else if (Obj_is_a(obj, NUM)) { - retval = Num_To_Bool((Num*)obj); + else if (Obj_is_a(obj, INTEGER64)) { + retval = Int64_To_Bool((Integer64*)obj); + } + else if (Obj_is_a(obj, FLOAT64)) { + retval = Float64_To_Bool((Float64*)obj); } else if (Obj_is_a(obj, STRING)) { retval = (Str_To_I64((String*)obj) != 0);
