void convert_csv(CsvFloat * the_float,CsvData * the_data){ int i; Float_init(the_float,the_data); for (i=0;i<the_data->nheaders;i++){ copy_line((the_float->headers[i]),(the_data->headers[i])); } for (i=0;i<the_data->line_count;i++){ convert_line(*(the_float->data + i),(the_data->lines[i])); } }
Obj* Freezer_deserialize(Obj *obj, InStream *instream) { if (Obj_is_a(obj, STRING)) { obj = (Obj*)Freezer_deserialize_string((String*)obj, instream); } else if (Obj_is_a(obj, BLOB)) { obj = (Obj*)Freezer_deserialize_blob((Blob*)obj, instream); } else if (Obj_is_a(obj, VECTOR)) { obj = (Obj*)Freezer_deserialize_varray((Vector*)obj, instream); } else if (Obj_is_a(obj, HASH)) { obj = (Obj*)Freezer_deserialize_hash((Hash*)obj, instream); } else if (Obj_is_a(obj, INTEGER)) { int64_t value = (int64_t)InStream_Read_C64(instream); obj = (Obj*)Int_init((Integer*)obj, value); } else if (Obj_is_a(obj, FLOAT)) { double value = InStream_Read_F64(instream); obj = (Obj*)Float_init((Float*)obj, value); } else if (Obj_is_a(obj, BOOLEAN)) { bool value = !!InStream_Read_U8(instream); Obj *result = value ? INCREF(CFISH_TRUE) : INCREF(CFISH_FALSE); // FIXME: This DECREF is essentially a no-op causing a // memory leak. DECREF(obj); obj = result; } else if (Obj_is_a(obj, QUERY)) { obj = (Obj*)Query_Deserialize((Query*)obj, instream); } else if (Obj_is_a(obj, DOC)) { obj = (Obj*)Doc_Deserialize((Doc*)obj, instream); } else if (Obj_is_a(obj, DOCVECTOR)) { obj = (Obj*)DocVec_Deserialize((DocVector*)obj, instream); } else if (Obj_is_a(obj, TERMVECTOR)) { obj = (Obj*)TV_Deserialize((TermVector*)obj, instream); } else if (Obj_is_a(obj, SIMILARITY)) { obj = (Obj*)Sim_Deserialize((Similarity*)obj, instream); } else if (Obj_is_a(obj, MATCHDOC)) { obj = (Obj*)MatchDoc_Deserialize((MatchDoc*)obj, instream); } else if (Obj_is_a(obj, TOPDOCS)) { obj = (Obj*)TopDocs_Deserialize((TopDocs*)obj, instream); } else if (Obj_is_a(obj, SORTSPEC)) { obj = (Obj*)SortSpec_Deserialize((SortSpec*)obj, instream); } else if (Obj_is_a(obj, SORTRULE)) { obj = (Obj*)SortRule_Deserialize((SortRule*)obj, instream); } else { THROW(ERR, "Don't know how to deserialize a %o", Obj_get_class_name(obj)); } return obj; }
Float* Float_new(double value) { Float *self = (Float*)Class_Make_Obj(FLOAT); return Float_init(self, value); }