// // // #include #include #include #include "cognitive_engine.h" ce ce_create(char * _xmlfilename) { // parse xml ce engine = (ce) malloc(sizeof(struct ce_s)); // TODO read length, name from XML file engine->num_utilities = 1; engine->num_parameters = 2; engine->num_observables = 1; engine->u = (object*) malloc((engine->num_utilities)*sizeof(object)); engine->p = (object*) malloc((engine->num_parameters)*sizeof(object)); engine->o = (object*) malloc((engine->num_observables)*sizeof(object)); // Just to test strcpy(engine->u[0].name,"BER"); engine->u[0].value = 0.2f; strcpy(engine->p[0].name, "mod_scheme"); engine->p[0].value = 1.0f; strcpy(engine->p[1].name,"tx_power"); engine->p[1].value = 20.0f; strcpy(engine->o[0].name, "path_loss"); engine->o[0].value = 120.0f; return engine; } void ce_destroy(ce _engine) { free(_engine->u); free(_engine->p); free(_engine->o); free(_engine); } void ce_print(ce _engine) { printf("engine : %s\n", _engine->name); unsigned int i; for (i=0; i<_engine->num_utilities; i++) printf(" u[%2d] : %8.2f (%s)\n", i, _engine->u[i].value, _engine->u[i].name); for (i=0; i<_engine->num_parameters; i++) printf(" p[%2d] : %8.2f (%s)\n", i, _engine->p[i].value, _engine->p[i].name); for (i=0; i<_engine->num_observables; i++) printf(" o[%2d] : %8.2f (%s)\n", i, _engine->o[i].value, _engine->o[i].name); }