Issue 1)
Code: Select all
dt0 := Clock(); ok := dt0 > 0;
Code: Select all
dt0 := Clock(); ok := dt0 # 0954A5965H;
Code: Select all
ok := dt1 - dt0 = 1
Code: Select all
time Clock()
08:18:57 1427539129
08:18:58 1427539130
08:18:59 1427539131
08:19:00 1427539136
08:19:01 1427539137
08:19:02 1427539138
08:19:03 1427539139
Code: Select all
ok := dt1 # dt0
Code: Select all
ok := (dt1 - dt0 = 1) OR (dt1 - dt0 = 5)
Code: Select all
ABS(ticks1 - ticks0) > 1010
To confirm, here's the output from a small test program with values around the roll-over point.
Case 1: ticks0 and ticks1 are positive:
Code: Select all
ticks1 ticks0 ticks1 - ticks0
7FFFFFF1 2147483633 7FFFFFF0 2147483632 1
7FFFFFF2 2147483634 7FFFFFF0 2147483632 2
7FFFFFF3 2147483635 7FFFFFF0 2147483632 3
7FFFFFF4 2147483636 7FFFFFF0 2147483632 4
7FFFFFF5 2147483637 7FFFFFF0 2147483632 5
7FFFFFF6 2147483638 7FFFFFF0 2147483632 6
7FFFFFF7 2147483639 7FFFFFF0 2147483632 7
7FFFFFF8 2147483640 7FFFFFF0 2147483632 8
Code: Select all
ticks1 ticks0 ticks1 - ticks0
80000001 -2147483647 80000000 -2147483648 1
80000002 -2147483646 80000000 -2147483648 2
80000003 -2147483645 80000000 -2147483648 3
80000004 -2147483644 80000000 -2147483648 4
80000005 -2147483643 80000000 -2147483648 5
80000006 -2147483642 80000000 -2147483648 6
80000007 -2147483641 80000000 -2147483648 7
80000008 -2147483640 80000000 -2147483648 8
Code: Select all
ticks1 ticks0 ticks1 - ticks0
7FFFFFFC 2147483644 7FFFFFFB 2147483643 1
7FFFFFFD 2147483645 7FFFFFFB 2147483643 2
7FFFFFFE 2147483646 7FFFFFFB 2147483643 3
7FFFFFFF 2147483647 7FFFFFFB 2147483643 4
80000000 -2147483648 7FFFFFFB 2147483643 5
80000001 -2147483647 7FFFFFFB 2147483643 6
80000002 -2147483646 7FFFFFFB 2147483643 7
80000003 -2147483645 7FFFFFFB 2147483643 8