| 757 | } |
| 758 | |
| 759 | inline void DcheckAddSubResult(const TimestampVal& input, const TimestampVal& result, |
| 760 | bool is_add, int64_t interval) { |
| 761 | #ifndef NDEBUG |
| 762 | if (!result.is_null) { |
| 763 | const TimestampValue& input_value = TimestampValue::FromTimestampVal(input); |
| 764 | const TimestampValue& result_value = TimestampValue::FromTimestampVal(result); |
| 765 | if (interval == 0) { |
| 766 | DCHECK_EQ(result_value, input_value); |
| 767 | } else if (is_add == (interval > 0)) { |
| 768 | DCHECK_GT(result_value, input_value); |
| 769 | } else { |
| 770 | DCHECK_LT(result_value, input_value); |
| 771 | } |
| 772 | } |
| 773 | #endif |
| 774 | } |
| 775 | |
| 776 | /// Template parameters: |
| 777 | /// 'is_add': Set to false for subtraction. |