コード例 #1
0
ファイル: tpch_q1.cpp プロジェクト: twareproj/tware
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;
}
コード例 #2
0
ファイル: disaster.c プロジェクト: petesh/pocketcity
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);
}