Float AgeOf(Ts *ts, Obj *obj) { Dur dur; Obj *born; TsRange *tsr; if (!TsIsSpecific(ts)) return(FLOATNA); born = R1E(&TsNA, L(N("born"), obj, ObjWild, E)); if (born) { tsr = ObjToTsRange(born); dur = TsMinus(ts, &tsr->startts); return(((Float)dur)/SECONDSPERYEARF); } /* todo: Make inferences based on occupation etc. */ return(20.0); }
void Load() { Ts ts1, ts2; Dur d; TsSetNow(&ts1); if (StringIn(F_FRENCH, StdDiscourse->langs)) { LexEntryReadInflFile("db/frinfl.txt"); } if (StringIn(F_ENGLISH, StdDiscourse->langs)) { LexEntryReadInflFile("db/eninfl.txt"); } DbFileRead("db/name.txt", DBFILETYPE_ISA); DbFileRead("db/fooddrug.txt", DBFILETYPE_ISA); DbFileRead("db/geog.txt", DBFILETYPE_POLITY); DbFileRead("db/absobj.txt", DBFILETYPE_ISA); DbFileRead("db/street.txt", DBFILETYPE_ISA); DbFileRead("db/grid.txt", DBFILETYPE_ISA); DbFileRead("db/all.txt", DBFILETYPE_ISA); DbFileRead("db/physics.txt", DBFILETYPE_ISA); DbFileRead("db/chem.txt", DBFILETYPE_ISA); DbFileRead("db/trans.txt", DBFILETYPE_ISA); DbFileRead("db/celest.txt", DBFILETYPE_ISA); DbFileRead("db/physobj.txt", DBFILETYPE_ISA); DbFileRead("db/ling.txt", DBFILETYPE_ISA); /* FeatPrintUnused(stdout); */ DbFileRead("db/relation.txt", DBFILETYPE_ISA); DbFileRead("db/action.txt", DBFILETYPE_ISA); DbFileRead("db/attr.txt", DBFILETYPE_ISA); DbFileRead("db/enum.txt", DBFILETYPE_ISA); DbFileRead("db/living.txt", DBFILETYPE_ISA); DbFileRead("db/human.txt", DBFILETYPE_ISA); DbFileRead("db/clothing.txt", DBFILETYPE_ISA); DbFileRead("db/mediaobj.txt", DBFILETYPE_ISA); DbFileRead("db/music.txt", DBFILETYPE_ISA); DbFileRead("db/tv.txt", DBFILETYPE_ISA); DbFileRead("db/company.txt", DBFILETYPE_ISA); DbFileRead("db/elec.txt", DBFILETYPE_ISA); TsSetNow(&ts2); d = TsMinus(&ts2, &ts1); Dbg(DBGGEN, DBGBAD, "Load time = %.2ld:%.2ld.", d/60, d%60); }