Hash* NumType_dump_for_schema(NumericType *self) { Hash *dump = Hash_new(0); Hash_Store_Str(dump, "type", 4, (Obj*)NumType_Specifier(self)); // Store attributes that override the defaults. if (self->boost != 1.0) { Hash_Store_Str(dump, "boost", 5, (Obj*)CB_newf("%f64", self->boost)); } if (!self->indexed) { Hash_Store_Str(dump, "indexed", 7, (Obj*)CFISH_FALSE); } if (!self->stored) { Hash_Store_Str(dump, "stored", 6, (Obj*)CFISH_FALSE); } if (self->sortable) { Hash_Store_Str(dump, "sortable", 8, (Obj*)CFISH_TRUE); } return dump; }
Hash* NumType_Dump_For_Schema_IMP(NumericType *self) { NumericTypeIVARS *const ivars = NumType_IVARS(self); Hash *dump = Hash_new(0); Hash_Store_Utf8(dump, "type", 4, (Obj*)NumType_Specifier(self)); // Store attributes that override the defaults. if (ivars->boost != 1.0) { Hash_Store_Utf8(dump, "boost", 5, (Obj*)Str_newf("%f64", ivars->boost)); } if (!ivars->indexed) { Hash_Store_Utf8(dump, "indexed", 7, (Obj*)CFISH_FALSE); } if (!ivars->stored) { Hash_Store_Utf8(dump, "stored", 6, (Obj*)CFISH_FALSE); } if (ivars->sortable) { Hash_Store_Utf8(dump, "sortable", 8, (Obj*)CFISH_TRUE); } return dump; }