1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- var
- gl: longint;
- gc: cardinal;
- procedure testsigned;
- var
- l1, l2: longint;
- b1: byte;
- i: int64;
- begin
- l1 := longint($80000000);
- gl := longint($80000000);
- l2 := $11;
- b1 := $11;
- i := int64(l1)*l2;
- if (i <> int64($fffffff780000000)) then
- halt(1);
- i := int64(l1)*$11;
- if (i <> int64($fffffff780000000)) then
- halt(2);
- i := int64(gl)*$11;
- if (i <> int64($fffffff780000000)) then
- halt(3);
- i := int64(gl)*b1;
- if (i <> int64($fffffff780000000)) then
- halt(4);
- end;
- procedure testunsigned;
- var
- l1, l2: cardinal;
- b1: byte;
- i: qword;
- begin
- l1 := $80000000;
- l2 := $11;
- gc := $80000000;
- b1 := $11;
- i := qword(l1)*l2;
- if (i <> $880000000) then
- halt(5);
- i := qword(l1)*$11;
- if (i <> $880000000) then
- halt(6);
- i := qword(gc)*$11;
- if (i <> $880000000) then
- halt(7);
- i := qword(gc)*b1;
- if (i <> $880000000) then
- halt(8);
- end;
- begin
- testsigned;
- testunsigned;
- end.
|