⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testoperators.out

📁 格式化源码的最新板
💻 OUT
字号:
unit TestOperators;

{ AFS 11 Jan 2000
 This unit compiles but is not semantically meaningfull
 it is test cases for the code formatting utility

 This unit tests operators }


interface

implementation

function __SomeNumber: integer;
begin
  Result := Random(30);
end;

procedure IntegerArithmetic;
var
  liA, liB, liC: integer;
begin
  { arithmetic }
  liA := 1;
  liB := liA + 5;
  liC := liB - 3;
  liA := liA * liA;

  liA := LiA div 3;
  liB := liA mod 3;

  { unary operators }
  liA := -12;
  liB := -liA;
  liC := +liA;
  liC := not liA;

  { long expressions }
  liA := ((liA + 2) * (liB - 3) div 3) + (liA mod liB);
  liA := liA + 2 * liB - 3 div 3 + liA mod liB;


  { bitwise operators }
  liC := liC shl 2;
  liA := liA shr 2;
  liB := liB xor 42;
  liA := 255 and 127;
  liB := 12 or 42;
  liA := not liA;

  { long expresions }
  liA := not ((liA and ((liB or liC) xor liA)) shl 2);
  liA := not liA and liB or liC xor liA shl 2;


  { hex, octal & binary }
  liA := liA + $BADBEEF;

  liA := __SomeNumber + __SomeNumber - __SomeNumber * __SomeNumber div __SomeNumber;

end;

procedure FloatArithmetic;
var
  fa, fb, fc: double;
begin
  fa := 1.23456;
  fb := fa * 2.345;
  fc := fb / 1.56789;

  fa := fb + fc;

  { unary operators }
  fA := -12.12345;
  fB := -fA;
  fC := +fA;

  fc := __SomeNumber / __SomeNumber;
end;


procedure BooleanLogic;
var
  ba, bb, bc: boolean;
begin
  ba := True;
  bb := False;
  bc := ba or bb;
  ba := bb and bc;
  ba := not ba;
  bc := ba xor bb;
end;

procedure StringLogic;
var
  sA, sb: string;
  Name:   string;
begin
  sA := 'Fred ';
  sB := sA + 'Jim';
  sA := sA + #40;

  if SA = '' then
    if SA = '' then
      if SA = 'foo' then
        if SA = 'foo' then
          if sB = sA then
            if sb = sB then
              if sA = sB then
                if Name = '' then
                  if Name = '' then
                    if Name = 'foo' then
                      if Name = sb then
                        if sB = Name then
                        begin
                        end;
end;



procedure Floats;
const
  BIGNUM    = 456.789e34;
  LITTLENUM = 12e-9;
var
  f1, f2: extended;
begin
  f1 := 123.4E-2;
  f2 := f1 + 12.e12;
  f1 := f1 + BIGNUM + LITTLENUM * 1E-2;
end;


procedure TestEqualsMinus;
var
  a, b, c: integer;
begin
  a := -1;
  b := -2;
  c := -3;

  if a = -1 then
    b := -2;
  if a = +3 then
    b := -12;
  if b = -1 then
    b := -3;
  if c = -1 then
    b := -4;
end;

procedure TestNoSpace;
var
  a, b, c: integer;
  f: double;
begin
  a := -1;
  b := 2;
  c := 3;

  b := b * -2;
  a := a + 2;
  b := -3;
  c := +4;
  // nasty negative nos!
  c := c + -4;
  c := c - -4;
  f := 3.0;
  f := f / -3;

  // more complex unary ops
  c := -(c * c);
  f := 1 - (-1 * c);
  f := -1 + (-1 * c);
  f := -1 + (1 * -c);
  f := --1 + (1 * --c);

end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -