+ ok1(t3.tv_nsec == 500000000);
+
+ /* Divide by huge number. */
+ t1.tv_sec = (1U << 31) - 1;
+ t1.tv_nsec = 999999999;
+ t2 = time_divide(t1, 1 << 30);
+ /* Allow us to round either way. */
+ ok1((t2.tv_sec == 2 && t2.tv_nsec == 0)
+ || (t2.tv_sec == 1 && t2.tv_nsec == 999999999));
+
+ /* Multiply by huge number. */
+ t1.tv_sec = 0;
+ t1.tv_nsec = 1;
+ t2 = time_multiply(t1, 1UL << 31);
+ ok1(t2.tv_sec == 2);
+ ok1(t2.tv_nsec == 147483648);