void CPlanarGraph::RandomInitGraph() { ClearGraph(); int minSkeletonSize = 5; int additionalSkeletonSize = Random2(5); int mainSkeletonSize = minSkeletonSize + additionalSkeletonSize; AddGraphNodes(mainSkeletonSize); // Add blue key branch: don't let this happen in the main room int blueLoop = Random2(minSkeletonSize-1) + 1; // add red key branch: don't let this happen in the main room int redLoop = Random2(minSkeletonSize-1) + 1; int blueSectionLength = 4 + Random2(4); int redSectionLength = 4 + Random2(4); if ( blueLoop < mainSkeletonSize ) { AddGraphNodes(blueSectionLength, blueLoop); if ( CoinFlip() ) { int idx0 = GetNumOfNodes() - 1; int idx1 = Random2(minSkeletonSize); AddGraphEdge(CGraphEdge(idx0, idx1)); } } if ( redLoop < mainSkeletonSize ) { AddGraphNodes(redSectionLength, redLoop); if ( CoinFlip() ) { int idx0 = GetNumOfNodes() - 1; int idx1 = Random2(minSkeletonSize); AddGraphEdge(CGraphEdge(idx0, idx1)); } } // Add decoration int numStubs = Random2(5); for ( int i=0; i<numStubs; i++ ) { int offset = Random2(mainSkeletonSize); AddGraphNodes(1+Random2(2), offset); } }
static void WriteReadWriteData(CF_DB *db) { bool flip = CoinFlip(); char *data; if(flip) { data = READWRITEDATA1; } else { data = READWRITEDATA2; } //char key[64]; //snprintf(key, sizeof(key), "%050d", READWRITEKEY); static const int key = READWRITEKEY; if(!WriteComplexKeyDB(db, (const char *)&key, sizeof(key), data, sizeof(READWRITEDATA1))) { printf("Error write!\n"); pthread_exit((void*)STATUS_ERROR); } }
static void DBWriteTestData(CF_DB *db) { //char key[64]; //char value[128]; for(int i = 0; i < RECORD_COUNT_JUNK; i++) { bool flip = CoinFlip(); int value_num; if(flip) { value_num = i + VALUE_OFFSET1; } else { value_num = i + VALUE_OFFSET2; } //snprintf(key, sizeof(key), "%050d", i); //snprintf(value, sizeof(value), "%0100d", value_num); if (!WriteComplexKeyDB(db, (const char *)&i, sizeof(i), &value_num, sizeof(value_num))) { CfOut(cf_error, "", "Unable to write data to database"); pthread_exit((void*)STATUS_ERROR); } } WriteReadWriteData(db); }
static void WriteReadWriteData(CF_DB *db) { const char *const data = CoinFlip() ? READWRITEDATA1 : READWRITEDATA2; static const int key = READWRITEKEY; if(!WriteComplexKeyDB(db, (const char *)&key, sizeof(key), data, sizeof(READWRITEDATA1))) { printf("Error write!\n"); pthread_exit((void*)STATUS_ERROR); } }
static void DBWriteTestData(CF_DB *db) { for(int i = 0; i < RECORD_COUNT_JUNK; i++) { bool flip = CoinFlip(); int value_num = i + (flip ? VALUE_OFFSET1 : VALUE_OFFSET2); if (!WriteComplexKeyDB(db, (const char *)&i, sizeof(i), &value_num, sizeof(value_num))) { Log(LOG_LEVEL_ERR, "Unable to write data to database"); pthread_exit((void*)STATUS_ERROR); } } WriteReadWriteData(db); }