You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucy.apache.org by nw...@apache.org on 2015/07/11 14:54:27 UTC

[3/6] lucy git commit: Adjust for Num hierarchy changes

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 <we...@aevum.de>
Authored: Thu Jul 9 15:53:47 2015 +0200
Committer: Nick Wellnhofer <we...@aevum.de>
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);