Array2dCplx.SymW 4.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. MODULE Array2dCplx;
  2. IMPORT SYSTEM, Array1dBytes, NbrInt, NbrRat, NbrRe, NbrCplx, Array1dRe, Array1d := Array1dCplx, Array1dInt, Array2dInt, Array1dRat, Array2dRat, Array2dRe, Array1dCplx, ArrayXd := ArrayXdCplx, DataErrors;
  3. CONST
  4. TYPE
  5. Value* = Array1d.Value;
  6. RealValue* = NbrRe.Real;
  7. Array* = ArrayXd.Array2;
  8. Index* = NbrInt.Integer;
  9. PROCEDURE ^ Copy*(VAR src: ARRAY OF ARRAY OF Value; VAR dest: ARRAY OF ARRAY OF Value; srcx, srcy, destx, desty, w, h: Index);
  10. PROCEDURE ^ Fill*(val: Value; VAR res: ARRAY OF ARRAY OF Value; x, y, w, h: Index);
  11. PROCEDURE ^ MeanSsq*(VAR s: ARRAY OF ARRAY OF Value; x, y, w, h: Index; VAR mean: Value; VAR ssq: RealValue);
  12. PROCEDURE ^ CopyRow*(y: Index; VAR s: ARRAY OF ARRAY OF Value; VAR res: ARRAY OF Value; srcoffset, destoffset, len: Index);
  13. PROCEDURE ^ CopyCol*(x: Index; VAR s: ARRAY OF ARRAY OF Value; VAR res: ARRAY OF Value; srcoffset, destoffset, len: Index);
  14. PROCEDURE ^ CopyToRow*(VAR s: ARRAY OF Value; y: Index; VAR res: ARRAY OF ARRAY OF Value; srcoffset, destoffset, len: Index);
  15. PROCEDURE ^ CopyToCol*(VAR s: ARRAY OF Value; x: Index; VAR res: ARRAY OF ARRAY OF Value; srcoffset, destoffset, len: Index);
  16. PROCEDURE ^ Row*(y: Index; VAR s: ARRAY OF ARRAY OF Value): Array1d.Array;
  17. PROCEDURE ^ Col*(x: Index; VAR s: ARRAY OF ARRAY OF Value): Array1d.Array;
  18. PROCEDURE ^ Transposed*(VAR s: ARRAY OF ARRAY OF Value): Array;
  19. PROCEDURE ^ SwapRows*(VAR s: ARRAY OF ARRAY OF Value; y1, y2: Index);
  20. PROCEDURE ^ SwapCols*(VAR s: ARRAY OF ARRAY OF Value; x1, x2: Index);
  21. OPERATOR ^ "-"-(x: Array): Array;
  22. OPERATOR ^ "~"-(x: Array): Array;
  23. OPERATOR ^ ":="-(VAR l: Array; r: Value);
  24. OPERATOR ^ ":="-(VAR l: Array; r: Array2dRe.Array);
  25. OPERATOR ^ ":="-(VAR l: Array; r: Array2dRat.Array);
  26. OPERATOR ^ ":="-(VAR l: Array; r: Array2dInt.Array);
  27. OPERATOR ^ ":="-(VAR l: Array; VAR r: ARRAY OF ARRAY OF NbrCplx.Complex);
  28. OPERATOR ^ ":="-(VAR l: Array; VAR r: ARRAY OF ARRAY OF NbrRe.Real);
  29. OPERATOR ^ ":="-(VAR l: Array; VAR r: ARRAY OF ARRAY OF NbrRat.Rational);
  30. OPERATOR ^ ":="-(VAR l: Array; VAR r: ARRAY OF ARRAY OF NbrInt.Integer);
  31. OPERATOR ^ "+"-(l, r: Array): Array;
  32. OPERATOR ^ "+"-(l: Array; r: Array2dRe.Array): Array;
  33. OPERATOR ^ "+"-(l: Array2dRe.Array; r: Array): Array;
  34. OPERATOR ^ "+"-(l: Array; r: Array2dRat.Array): Array;
  35. OPERATOR ^ "+"-(l: Array2dRat.Array; r: Array): Array;
  36. OPERATOR ^ "+"-(l: Array; r: Array2dInt.Array): Array;
  37. OPERATOR ^ "+"-(l: Array2dInt.Array; r: Array): Array;
  38. OPERATOR ^ "-"-(l, r: Array): Array;
  39. OPERATOR ^ "-"-(l: Array; r: Array2dRe.Array): Array;
  40. OPERATOR ^ "-"-(l: Array2dRe.Array; r: Array): Array;
  41. OPERATOR ^ "-"-(l: Array; r: Array2dRat.Array): Array;
  42. OPERATOR ^ "-"-(l: Array2dRat.Array; r: Array): Array;
  43. OPERATOR ^ "-"-(l: Array; r: Array2dInt.Array): Array;
  44. OPERATOR ^ "-"-(l: Array2dInt.Array; r: Array): Array;
  45. OPERATOR ^ "*"-(l, r: Array): Array;
  46. OPERATOR ^ "*"-(l: Array; r: Array2dRe.Array): Array;
  47. OPERATOR ^ "*"-(l: Array2dRe.Array; r: Array): Array;
  48. OPERATOR ^ "*"-(l: Array; r: Array2dRat.Array): Array;
  49. OPERATOR ^ "*"-(l: Array2dRat.Array; r: Array): Array;
  50. OPERATOR ^ "*"-(l: Array; r: Array2dInt.Array): Array;
  51. OPERATOR ^ "*"-(l: Array2dInt.Array; r: Array): Array;
  52. OPERATOR ^ "*"-(l: Array; r: Array1dCplx.Array): Array1dCplx.Array;
  53. OPERATOR ^ "*"-(l: Array; r: Array1dRe.Array): Array1dCplx.Array;
  54. OPERATOR ^ "*"-(l: Array; r: Array1dRat.Array): Array1dCplx.Array;
  55. OPERATOR ^ "*"-(l: Array; r: Array1dInt.Array): Array1dCplx.Array;
  56. OPERATOR ^ "*"-(l: Array1dCplx.Array; r: Array): Array1dCplx.Array;
  57. OPERATOR ^ "*"-(l: Array1dRe.Array; r: Array): Array1dCplx.Array;
  58. OPERATOR ^ "*"-(l: Array1dRat.Array; r: Array): Array1dCplx.Array;
  59. OPERATOR ^ "*"-(l: Array1dInt.Array; r: Array): Array1dCplx.Array;
  60. OPERATOR ^ "*"-(l: NbrCplx.Complex; r: Array): Array;
  61. OPERATOR ^ "*"-(l: Array; r: NbrCplx.Complex): Array;
  62. OPERATOR ^ "*"-(l: NbrRe.Real; r: Array): Array;
  63. OPERATOR ^ "*"-(l: Array; r: NbrRe.Real): Array;
  64. OPERATOR ^ "*"-(l: NbrRat.Rational; r: Array): Array;
  65. OPERATOR ^ "*"-(l: Array; r: NbrRat.Rational): Array;
  66. OPERATOR ^ "*"-(l: NbrInt.Integer; r: Array): Array;
  67. OPERATOR ^ "*"-(l: Array; r: NbrInt.Integer): Array;
  68. OPERATOR ^ "/"-(l: Array; r: NbrCplx.Complex): Array;
  69. OPERATOR ^ "/"-(l: Array; r: NbrRe.Real): Array;
  70. OPERATOR ^ "/"-(l: Array; r: NbrRat.Rational): Array;
  71. OPERATOR ^ "/"-(l: Array; r: NbrInt.Integer): Array;
  72. BEGIN
  73. END Array2dCplx.