in src/dt.c [270:294]
dt_status_t dt_compare_intervals(const dt_interval_t *lhs, const dt_interval_t *rhs, dt_compare_result_t *result)
{
if (dt_validate_interval(lhs) == DT_FALSE || dt_validate_interval(rhs) == DT_FALSE || !result) {
return DT_INVALID_ARGUMENT;
}
if (lhs->seconds > rhs->seconds) {
*result = DT_GREATER;
return DT_OK;
}
if (lhs->seconds < rhs->seconds) {
*result = DT_LESSER;
return DT_OK;
}
if (lhs->nano_seconds > rhs->nano_seconds) {
*result = DT_GREATER;
return DT_OK;
}
if (lhs->nano_seconds < rhs->nano_seconds) {
*result = DT_LESSER;
return DT_OK;
}
*result = DT_EQUALS;
return DT_OK;
}