int main(int argc, char *argv[]) { struct timeval start, stop; string file = argv[1]; char *l_returnflag = new char[Q1_LINEITEM]; char *l_linestatus = new char[Q1_LINEITEM]; float *l_quantity = new float[Q1_LINEITEM]; float *l_extendedprice = new float[Q1_LINEITEM]; float *l_discount = new float[Q1_LINEITEM]; float *l_tax = new float[Q1_LINEITEM]; long *l_shipdate = new long[Q1_LINEITEM]; init(file, l_returnflag, l_linestatus, l_quantity, l_extendedprice, l_discount, l_tax, l_shipdate); unordered_map<short,char *> *vals = new unordered_map<short,char *>(); test(vals); gettimeofday(&start, NULL); for (int i = 0; i < Q1_LINEITEM; i++) if (pred1(l_shipdate[i])) { short key = getKey(l_returnflag[i], l_linestatus[i]); char *val = getVal(vals, key, l_returnflag[i], l_linestatus[i]); *((int *) (val + 2)) += 1; *((float *) (val + 6)) += l_quantity[i]; *((float *) (val + 10)) += l_extendedprice[i]; *((float *) (val + 14)) += getPrice(l_extendedprice[i], l_discount[i]); *((float *) (val + 18)) += getTax(l_extendedprice[i], l_discount[i], l_tax[i]); *((float *) (val + 22)) += l_discount[i]; } gettimeofday(&stop, NULL); test(vals); printTime("tpch_q1", start, stop); delete[] l_returnflag; delete[] l_linestatus; delete[] l_quantity; delete[] l_extendedprice; delete[] l_discount; delete[] l_tax; delete[] l_shipdate; delete vals; return 0; }
void DoCommitmentNasties(void) { int i; zone_lock(lz_world); for (i = 0; i < 60 - getTax(); i++) { UInt32 loc = GetRandomNumber(MapMul()); welem_t world = getWorld(GetRandomNumber(MapMul())); int x = loc % getMapWidth(); int y = loc % getMapHeight(); if ((IsTransport(world)) && (GetRandomNumber(100) > getUpkeep(ue_traffic))) Build_Destroy(x, y); if ((IsWaterPipe(world) || IsPowerLine(world) || IsPowerWater(world)) && (GetRandomNumber(100) > getUpkeep(ue_power))) Build_Destroy(x, y); } zone_unlock(lz_world); }