QString Percentile::getMaleHead(QDateTime birthday, double measure) { QString a; a = "Unknown"; if (isweekMinorOf13(birthday.date())) { int nweek = week(birthday.date()); if (maleMapHead13Week == NULL) maleMapHead13Week = new PercentileMap(":/tab_hcfa_boys_p_0_13.txt", this); Interval percentile = maleMapHead13Week->find(nweek, measure); a = intervalString(percentile); }else { int nmonth = month(birthday.date()); if (nmonth >= 0 && nmonth <= 60) { if (maleMapHead5Year == NULL) maleMapHead5Year = new PercentileMap(":/tab_hcfa_boys_p_0_5.txt", this); Interval percentile = maleMapHead5Year->find(nmonth, measure); a = intervalString(percentile); } } return a; }
QString Percentile::getFemaleWeight(QDateTime birthday, double measure) { QString a; a = "Unknown"; qDebug() << "IN getFemaleWeight " << endl; if (isweekMinorOf13(birthday.date())) { int nweek = week(birthday.date()); if (femaleMapWeight13Week == NULL) femaleMapWeight13Week = new PercentileMap(":/data/tab_wfa_girls_p_0_13.txt", this); Interval percentile = femaleMapWeight13Week->find(nweek, measure); a = intervalString(percentile); }else { int nmonth = month(birthday.date()); if (nmonth >= 0 && nmonth <= 60) { if (femaleMapWeight5Year == NULL) femaleMapWeight5Year = new PercentileMap(":/data/tab_wfa_girls_p_0_5.txt", this); Interval percentile = femaleMapWeight5Year->find(nmonth, measure); qDebug() << "PErcemtila " << percentile << endl; a = intervalString(percentile); } } return a; }
QString Percentile::getFemaleHeight(QDateTime birthday, double measure) { QString a; a = "Unknown"; if (isweekMinorOf13(birthday.date())) { int nweek = week(birthday.date()); if (femaleMapHeight13Week == NULL) femaleMapHeight13Week = new PercentileMap(":/data/tab_lhfa_girls_p_0_13.txt", this); Interval percentile = femaleMapHeight13Week->find(nweek, measure); a = intervalString(percentile); }else { int nmonth = month(birthday.date()); if (nmonth < 25) { if (femaleMapHeight2Year == NULL) femaleMapHeight2Year = new PercentileMap(":/data/tab_lhfa_girls_p_0_2.txt", this); Interval percentile = femaleMapHeight2Year->find(nmonth, measure); fprintf(stdout, "percentile %d", percentile); fflush(stdout); a = intervalString(percentile); } else if (nmonth >= 25 && nmonth <= 60) { if (femaleMapHeight5Year == NULL) femaleMapHeight5Year = new PercentileMap(":/data/tab_lhfa_girls_p_2_5.txt", this); Interval percentile = femaleMapHeight5Year->find(nmonth, measure); a = intervalString(percentile); } } return a; }
static GLOBAL_FUNC(cmd_list) { struct globalMessage *message; struct helpfile_table table; unsigned int length, nn; if(!messageList) { global_notice(user, "GMSG_NO_MESSAGES"); return 1; } for(nn=0, message = messageList; message; nn++, message=message->next) ; table.length = nn+1; table.width = 5; table.flags = TABLE_NO_FREE; table.contents = calloc(table.length, sizeof(char**)); table.contents[0] = calloc(table.width, sizeof(char*)); table.contents[0][0] = "ID"; table.contents[0][1] = "Target"; table.contents[0][2] = "Expires"; table.contents[0][3] = "From"; table.contents[0][4] = "Message"; for(nn=1, message = messageList; message; nn++, message = message->next) { char buffer[64]; table.contents[nn] = calloc(table.width, sizeof(char*)); snprintf(buffer, sizeof(buffer), "%lu", message->id); table.contents[nn][0] = strdup(buffer); table.contents[nn][1] = messageType(message); if(message->duration) intervalString(buffer, message->posted + message->duration - now, user->handle_info); else strcpy(buffer, "Never."); table.contents[nn][2] = strdup(buffer); table.contents[nn][3] = message->from; length = strlen(message->message); safestrncpy(buffer, message->message, sizeof(buffer)); if(length > (sizeof(buffer) - 4)) { buffer[sizeof(buffer) - 1] = 0; buffer[sizeof(buffer) - 2] = buffer[sizeof(buffer) - 3] = buffer[sizeof(buffer) - 4] = '.'; } table.contents[nn][4] = strdup(buffer); } table_send(global, user->nick, 0, NULL, table); for (nn=1; nn<table.length; nn++) { free((char*)table.contents[nn][0]); free((char*)table.contents[nn][2]); free((char*)table.contents[nn][4]); free(table.contents[nn]); } free(table.contents[0]); free(table.contents); return 1; }