int c(char *p) { static struct stat st; if(lstat(p, &st)) perror(p); else if(S_ISDIR(st.st_mode)) return ftw(p, c_file, 1024); else return c_file(p, &st, 0); return 1; }
int c(char *p) { static struct stat st; if(lstat(p, &st)) perror(p); else if(S_ISDIR(st.st_mode)) return nftw(p, c_file, OPEN_MAX, FTW_PHYS); else return c_file(p, &st, 0, 0); return 1; }
void FileWrite() { ofstream r_file( RECTANGLE_FILE, ios::trunc ); copy( Rect_List.begin(), Rect_List.end(), ostream_iterator<CRectangle>( r_file, "\n" ) ); ofstream t_file( TRIANGLE_FILE, ios::trunc ); copy( Tria_List.begin(), Tria_List.end(), ostream_iterator<CTriangle>( t_file, "\n" ) ); ofstream c_file( CIRCLE_FILE, ios::trunc ); copy( Circ_List.begin(), Circ_List.end(), ostream_iterator<CCircle>( c_file, "\n" ) ); cout << "Files written.\n"; }
void FileRead() { ifstream r_file( RECTANGLE_FILE ); copy( istream_iterator<CRectangle>( r_file ), istream_iterator<CRectangle>(), back_inserter( Rect_List ) ); ifstream t_file( TRIANGLE_FILE ); copy( istream_iterator<CTriangle>( t_file ), istream_iterator<CTriangle>(), back_inserter( Tria_List ) ); ifstream c_file( CIRCLE_FILE ); copy( istream_iterator<CCircle>( c_file ), istream_iterator<CCircle>(), back_inserter( Circ_List ) ); cout << "Files read.\n"; }
void DatabaseForm::on_actionSave_triggered() { QFile c_file("CSV.txt"); QFile t_file("TSV.txt"); int row_count = ui->tableWidget->rowCount(); if (!c_file.open(QIODevice::WriteOnly)){ return; } QTextStream c_str(&c_file); c_str << "FirstName,LastName,Salary,HireYear\n"; for (int i=0; i<row_count; i++){ //each row for (int j=0; j<4; j++){ //each column in row c_str << ui->tableWidget->item(i,j)->text(); if (j<3) //add commas except last element c_str << ","; } c_str << "\n"; } c_file.close(); if (!t_file.open(QIODevice::WriteOnly)){ return; } QTextStream t_str(&t_file); t_str << "FirstName\tLastName\tSalary\tHireYear\n"; for (int i=0; i<row_count; i++){ //each row for (int j=0; j<4; j++){ //each column in row t_str << ui->tableWidget->item(i,j)->text(); if (j<3) t_str << "\t"; } t_str << "\n"; } t_file.close(); }
int main(int argc, char *argv[]) { float *a, *b, *c; gmactime_t s, t; ecl::error err; assert(ecl::compileSource(kernel) == eclSuccess); float * orig = (float *) malloc(vecSize * sizeof(float)); std::ifstream o_file(VECTORC); o_file.read((char *)orig, vecSize * sizeof(float)); o_file.close(); getTime(&s); // Alloc & init input data assert(ecl::malloc((void **)&a, vecSize * sizeof(float)) == eclSuccess); assert(ecl::malloc((void **)&b, vecSize * sizeof(float)) == eclSuccess); assert(ecl::malloc((void **)&c, vecSize * sizeof(float)) == eclSuccess); getTime(&t); printTime(&s, &t, "Alloc: ", "\n"); std::ifstream a_file(VECTORA); std::ifstream b_file(VECTORB); getTime(&s); a_file.read((char *)a, vecSize * sizeof(float)); a_file.close(); b_file.read((char *)b, vecSize * sizeof(float)); b_file.close(); getTime(&t); printTime(&s, &t, "Init: ", "\n"); // Call the kernel getTime(&s); ecl::config localSize (blockSize); ecl::config globalSize (vecSize / blockSize); if(vecSize % blockSize) globalSize.x++; globalSize.x *= localSize.x; ecl::kernel kernel("vecAdd", err); assert(err == eclSuccess); #ifndef __GXX_EXPERIMENTAL_CXX0X__ err = kernel.setArg(0, c); assert(err == eclSuccess); err = kernel.setArg(1, a); assert(err == eclSuccess); err = kernel.setArg(2, b); assert(err == eclSuccess); err = kernel.setArg(3, vecSize); assert(err == eclSuccess); err = kernel.callNDRange(globalSize, localSize); assert(err == eclSuccess); #else assert(kernel(c, a, b, vecSize)(globalSize, localSize) == eclSuccess); #endif getTime(&t); printTime(&s, &t, "Run: ", "\n"); getTime(&s); float error = 0.f; for(unsigned i = 0; i < vecSize; i++) { error += orig[i] - (c[i]); } getTime(&t); printTime(&s, &t, "Check: ", "\n"); getTime(&s); std::ofstream c_file("vectorC_shared"); c_file.write((char *)c, vecSize * sizeof(float)); c_file.close(); getTime(&t); printTime(&s, &t, "Write: ", "\n"); getTime(&s); ecl::free(a); ecl::free(b); ecl::free(c); getTime(&t); printTime(&s, &t, "Free: ", "\n"); return error != 0; }