Example #1
0
void
TimeTest::testBasics()
{
    SecondTime timeSec(1);

    MilliSecTime timeMillis = timeSec.getMillis();
    CPPUNIT_ASSERT_EQUAL(uint64_t(1000), timeMillis.getTime());
    CPPUNIT_ASSERT_EQUAL(timeSec, timeMillis.getSeconds());

    MicroSecTime timeMicros = timeSec.getMicros();
    CPPUNIT_ASSERT_EQUAL(timeSec.getMicros(), timeMillis.getMicros());
    CPPUNIT_ASSERT_EQUAL(timeMillis, timeMicros.getMillis());
    CPPUNIT_ASSERT_EQUAL(timeSec, timeMicros.getSeconds());

    MicroSecTime timeMicros2 = timeMicros;
    CPPUNIT_ASSERT(timeMicros2 == timeMicros);
    timeMicros2 += MicroSecTime(25000);
    CPPUNIT_ASSERT(timeMicros2 > timeMicros);
    CPPUNIT_ASSERT(timeMicros < timeMicros2);
    timeMicros2 -= MicroSecTime(30000);
    CPPUNIT_ASSERT(timeMicros2 < timeMicros);
    CPPUNIT_ASSERT(timeMicros > timeMicros2);
    timeMicros2 += MicroSecTime(55000);

    MilliSecTime timeMillis2 = timeMicros2.getMillis();
    CPPUNIT_ASSERT(timeMillis2 > timeMillis);
    CPPUNIT_ASSERT_EQUAL(uint64_t(1050), timeMillis2.getTime());
    CPPUNIT_ASSERT_EQUAL(timeSec, timeMillis2.getSeconds());
}
Example #2
0
double Geo::avrSpeed_ms(const Geo::PointList &treck)
{
    double speed(0);
    if(!treck.isEmpty()) {
        double dist = distance(treck);
        time_t dSec = timeSec(treck);
        speed = dSec > 0 ? (dist / dSec) : 0;
    }
    return speed;
}
Example #3
0
double Geo::avrPace(const Geo::PointList &treck)
{
    double pace(0);
    time_t time = timeSec(treck);
    double dist = distance(treck);
    if(time > 0 && dist > 0) {
        pace = (time / 60) / (dist / 1000);
    }
    return pace;
}
Example #4
0
 void saveTimeVector(::NeXus::File * file, TimeSeriesProperty<NumT> * prop)
 {
   std::vector<DateAndTime> times = prop->timesAsVector();
   DateAndTime start = times[0];
   std::vector<double> timeSec(times.size());
   for (size_t i=0; i<times.size(); i++)
     timeSec[i] = double(times[i].totalNanoseconds() - start.totalNanoseconds()) * 1e-9;
   file->writeData("time", timeSec);
   file->openData("time");
   file->putAttr("start", start.toISO8601String() );
   file->closeData();
 }