Page 59 - 4260
P. 59

begin
                  Result.Re:=x.Re + y.Re;
                  Result.Im:=x.Im + y.Im;
           end; // Cadd

           function  Csub(x,y:Tcomplex):Tcomplex; export;  // Комплекс  віднімання
           begin
                  Result.Re:=x.Re - y.Re;
                  Result.Im:=x.Im - y.Im;
           end; // Csub

           function Cmult(x,y:Tcomplex):Tcomplex; Export; // Комплексне множення
           begin
                  Result.Re:=x.Re*y.Re - x.Im*y.Im;
                  Result.Im:=x.Re*y.Im +  x.Im*y.Re;
           end; // Cmult

           function Cdiv(x,y:Tcomplex):Tcomplex; Export; // Комплексний розподіл
           var  z: real;
           begin
                  z:=sqr(y.Re)+sqr(y.Im);
                  try
                                       // Захист при розподілі на 0
                         Result.Re:=(x.Re*y.Re + x.Im*y.Im)/z;
                         Result.Im:=(x.Re*y.Im - x.Im*y.Re)/z;
                  except
                                // Результат, якщо дільник 0
                         Result.Re:=1.1e309;
                         Result.Im:=1.1e309
                  end;
           end; // СDiv
           exports
                         // Список експорту
                  Cadd Index 1 Name 'Addc' Resident,
                  Csub Index 2 Name 'Subc',
                  Cmult Index 3 Name 'Multc',
                  Cdiv Index 4 Name ‘Divc’;
           begin


                                          59
   54   55   56   57   58   59   60   61   62   63   64