tint641.pp 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. {$R-}
  2. {$Q-}
  3. const
  4. q2 : qword = 1234;
  5. i2 : int64 = -1234;
  6. var
  7. q : qword;
  8. i : int64;
  9. l1,l2 : longint;
  10. s : string;
  11. procedure p1(q : qword;i : int64);
  12. begin
  13. end;
  14. function f1 : qword;
  15. begin
  16. f1:=1;
  17. end;
  18. function f2 : int64;
  19. begin
  20. f2:=-1;
  21. end;
  22. var
  23. q1,q3,q4 : qword;
  24. begin
  25. q1:=1;
  26. q3:=1;
  27. q4:=1;
  28. if not((q4 div q3) div (q2 div q1)<>(q2 div q1) div (q4 div q3)) then
  29. begin
  30. writeln('Error :(');
  31. halt(1);
  32. end;
  33. q:=q-q;
  34. q:=q-(q*q);
  35. q:=(q*q)-(q*q);
  36. { first test the comparisation }
  37. i:=f2;
  38. if q<>q then
  39. begin
  40. writeln('Error :(');
  41. halt(2);
  42. end;
  43. if q>q then
  44. begin
  45. writeln('Error :(');
  46. halt(3);
  47. end;
  48. if i>f2 then
  49. begin
  50. writeln('Error :(');
  51. halt(4);
  52. end;
  53. if l1>l2 then
  54. begin
  55. writeln('Error :(');
  56. halt(5);
  57. end;
  58. p1(q,i);
  59. q:=f1;
  60. i:=f2;
  61. q:=q+q;
  62. i:=((i+i) xor (i+i)) or ((i+i) xor (i+i));
  63. q:=q shl l1;
  64. q:=q shr l1;
  65. q:=(q shl l1)+(q shl l1);
  66. q:=not(q);
  67. i:=not(i);
  68. q:=not(q xor q);
  69. i:=not(i or i);
  70. { unary minus }
  71. q:=-q;
  72. i:=-i;
  73. q:=-(q xor q);
  74. i:=-(i or i);
  75. { multiplication }
  76. // q:=3;
  77. q:=q*q;
  78. i:=i*i;
  79. q:=q*(q*q);
  80. i:=i*(i*i);
  81. q:=(q*q)*(q*q);
  82. q:=((q*q)*(q*q))*((q*q)*(q*q));
  83. writeln(q);
  84. writeln(i);
  85. { test can't be interactive (PFV)
  86. read(q);
  87. read(i); }
  88. str(q,s);
  89. str(i,s);
  90. end.