WTime WTimePicker::time() const { int hours = 0, minutes = 0, seconds = 0, milliseconds = 0; try { hours = boost::lexical_cast<int>(sbhour_->text().toUTF8()); minutes = boost::lexical_cast<int>(sbminute_->text().toUTF8()); seconds = boost::lexical_cast<int>(sbsecond_->text().toUTF8()); if (formatMs()) milliseconds = boost::lexical_cast<int>(sbmillisecond_->text().toUTF8()); if (formatAp()) { if (cbAP_->currentIndex() == 1) { if (hours != 12) hours += 12; } else if (hours == 12) hours = 0; } } catch(const boost::bad_lexical_cast& ex) { LOG_ERROR("boost::bad_lexical_cast caught in WTimePicker::time()"); } return WTime(hours, minutes, seconds, milliseconds); }
bool WTimePicker::formatMs() const { WT_USTRING format = timeEdit_->format(); return WTime::fromString(WTime(4, 5, 6, 123).toString(format), format).msec() == 123; }
WTime WTime::addMSecs(int ms) const { if (valid_) { long t = ((time_ + ms) % MSECS_PER_DAY + MSECS_PER_DAY) % MSECS_PER_DAY; return WTime(t); } else return *this; }
WTime WTimePicker::time() { int hours = 0, minutes = 0, seconds = 0; try { hours = boost::lexical_cast<int>(hourText_->text().toUTF8()); minutes = boost::lexical_cast<int>(minuteText_->text().toUTF8()); seconds = boost::lexical_cast<int>(secondText_->text().toUTF8()); } catch(const boost::bad_lexical_cast& ex) { LOG_ERROR("boost::bad_lexical_cast caught in WTimePicker::time()"); } return WTime(hours, minutes, seconds); }
int main(int argc, char **argv) { const int m = 10000, n = 10000; double tbeg, tend; tbeg = WTime(); struct vector *x = vector_create(n); struct vector *y = vector_create(m); struct vector *y_ref = vector_create(m); struct matrix *A = matrix_create(m, n); // setup values in our test vector and in our reference result setup_test_vectors(x, y_ref); // build a test matrix setup_test_matrix(A); tend = WTime(); printf("setup took %g sec\n", tend - tbeg); // calculate y = Ax tbeg = WTime(); matrix_vector_multiply(y, A, x); tend = WTime(); printf("matrix_vector_multiply() took %g sec\n", tend - tbeg); // the resulting vector for this test should equal our reference result tbeg = WTime(); assert(vector_is_equal(y, y_ref)); tend = WTime(); printf("checking result took %g sec\n", tend - tbeg); // clean up vector_destroy(x); vector_destroy(y); vector_destroy(y_ref); matrix_destroy(A); return 0; }
WTime WTime::currentServerTime() { return WTime((long)boost::posix_time::microsec_clock::local_time() .time_of_day().total_milliseconds()); }