123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- MODULE ArrayXdInt;
- IMPORT SYSTEM, NbrInt, ArrayXdBytes, Array1d := Array1dInt, dbgOut := KernelLog, DataErrors, DataIO;
- CONST
- generic* = 0;
- vector* = 1;
- matrix* = 2;
- cube* = 3;
- hcube* = 4;
- VERSION* = 1;
- StrictBoundaryC* = 0;
- AbsorbingBoundaryC* = 1;
- PeriodicBoundaryC* = 2;
- SymmetricOnBoundaryC* = 3;
- SymmetricOffBoundaryC* = 4;
- AntisymmetricOnBoundaryC* = 5;
- AntisymmetricOffBoundaryC* = 6;
- TYPE
- Value* = Array1d.Value;
- Index* = LONGINT;
- Array1* = Array1d.Array;
- Array2* = POINTER TO ARRAY OF ARRAY OF Value;
- Array3* = POINTER TO ARRAY OF ARRAY OF ARRAY OF Value;
- Array4* = POINTER TO ARRAY OF ARRAY OF ARRAY OF ARRAY OF Value;
- Map* = Array1d.Map;
- Array* = OBJECT {EXCLUSIVE} (ArrayXdBytes.Array)
- VAR
- data-: Array1;
- PROCEDURE ^ Allocate*(size: LONGINT; VAR adr: Index; VAR ptr: ANY);
- PROCEDURE ^ GetInfo*(VAR elementsize: Index);
- PROCEDURE ^ AlikeX*(): ArrayXdBytes.Array;
- PROCEDURE ^ Read*(R: DataIO.Reader);
- PROCEDURE ^ Write*(W: DataIO.Writer);
- PROCEDURE ^ Type*(): SHORTINT;
- PROCEDURE ^ Get1*(x: Index): Value;
- PROCEDURE ^ Set1*(x: Index; v: Value);
- PROCEDURE ^ Get2*(x, y: Index): Value;
- PROCEDURE ^ Set2*(x, y: Index; v: Value);
- PROCEDURE ^ Get3*(x, y, z: Index): Value;
- PROCEDURE ^ Set3*(x, y, z: Index; v: Value);
- PROCEDURE ^ Get4*(x, y, z, t: Index): Value;
- PROCEDURE ^ Set4*(x, y, z, t: Index; v: Value);
- PROCEDURE ^ GetX*(VAR x: ARRAY OF Index; dim: Index): Value;
- PROCEDURE ^ SetX*(VAR x: ARRAY OF Index; dim: Index; v: Value);
- PROCEDURE ^ Get1BAbsorbing*(x: Index): Value;
- PROCEDURE ^ Get2BAbsorbing*(x, y: Index): Value;
- PROCEDURE ^ Get3BAbsorbing*(x, y, z: Index): Value;
- PROCEDURE ^ Get4BAbsorbing*(x, y, z, t: Index): Value;
- PROCEDURE ^ GetXBAbsorbing*(b: ARRAY OF Index; dim: Index): Value;
- PROCEDURE ^ Get1BPeriodic*(x: Index): Value;
- PROCEDURE ^ Get2BPeriodic*(x, y: Index): Value;
- PROCEDURE ^ Get3BPeriodic*(x, y, z: Index): Value;
- PROCEDURE ^ Get4BPeriodic*(x, y, z, t: Index): Value;
- PROCEDURE ^ GetXBPeriodic*(b: ARRAY OF Index; dim: Index): Value;
- PROCEDURE ^ Get1BSymmetricOffB*(x: Index): Value;
- PROCEDURE ^ Get2BSymmetricOffB*(x, y: Index): Value;
- PROCEDURE ^ Get3BSymmetricOffB*(x, y, z: Index): Value;
- PROCEDURE ^ Get4BSymmetricOffB*(x, y, z, t: Index): Value;
- PROCEDURE ^ GetXBSymmetricOffB*(b: ARRAY OF Index; dim: Index): Value;
- PROCEDURE ^ Get1BSymmetricOnB*(x: Index): Value;
- PROCEDURE ^ Get2BSymmetricOnB*(x, y: Index): Value;
- PROCEDURE ^ Get3BSymmetricOnB*(x, y, z: Index): Value;
- PROCEDURE ^ Get4BSymmetricOnB*(x, y, z, t: Index): Value;
- PROCEDURE ^ GetXBSymmetricOnB*(b: ARRAY OF Index; dim: Index): Value;
- PROCEDURE ^ Get1BAntisymmetricOffB*(x: Index): Value;
- PROCEDURE ^ Get2BAntisymmetricOffB*(x, y: Index): Value;
- PROCEDURE ^ Get3BAntisymmetricOffB*(x, y, z: Index): Value;
- PROCEDURE ^ Get4BAntisymmetricOffB*(x, y, z, t: Index): Value;
- PROCEDURE ^ GetXBAntisymmetricOffB*(b: ARRAY OF Index; dim: Index): Value;
- PROCEDURE ^ Get1BAntisymmetricOnB*(x: Index): Value;
- PROCEDURE ^ Get2BAntisymmetricOnB*(x, y: Index): Value;
- PROCEDURE ^ Get3BAntisymmetricOnB*(x, y, z: Index): Value;
- PROCEDURE ^ Get4BAntisymmetricOnB*(x, y, z, t: Index): Value;
- PROCEDURE ^ GetXBAntisymmetricOnB*(b: ARRAY OF Index; dim: Index): Value;
- PROCEDURE ^ CopyToArray*(dest: Array; srcpos, srclen, destpos, destlen: ArrayXdBytes.IndexArray);
- PROCEDURE ^ MapAll*(m: Array1d.Map);
- PROCEDURE ^ Negate*;
- PROCEDURE ^ Add*(x: Array);
- PROCEDURE ^ Subtract*(x: Array);
- PROCEDURE ^ Multiply*(a: Value);
- PROCEDURE ^ Divide*(a: Value);
- PROCEDURE ^ Modulus*(a: Value);
- PROCEDURE ^ dbgWrite*;
- END Array;
- PROCEDURE ^ New1d*(ox, w: Index): Array;
- PROCEDURE ^ New2d*(ox, w, oy, h: Index): Array;
- PROCEDURE ^ New3d*(ox, w, oy, h, oz, d: Index): Array;
- PROCEDURE ^ New4d*(ox, w, oy, h, oz, d, ot, dt: Index): Array;
- PROCEDURE ^ CopyVecToVec*(src, dest: Array; srcx, destx, len: Index);
- PROCEDURE ^ CopyMtxToVec*(src, dest: Array; dim: Index; srcx, srcy, destx, len: Index);
- PROCEDURE ^ CopyVecToMtx*(src, dest: Array; dim: Index; srcx, destx, desty, len: Index);
- PROCEDURE ^ CopyCubeToVec*(src, dest: Array; dim: Index; srcx, srcy, srcz, destx, len: Index);
- PROCEDURE ^ CopyVecToCube*(src, dest: Array; dim: Index; srcx, destx, desty, destz, len: Index);
- PROCEDURE ^ CopyHCubeToVec*(src, dest: Array; dim: Index; srcx, srcy, srcz, srct, destx, len: Index);
- PROCEDURE ^ CopyVecToHCube*(src, dest: Array; dim: Index; srcx, destx, desty, destz, destt, len: Index);
- PROCEDURE ^ CopyMtxToMtx*(src, dest: Array; srcx, srcy, destx, desty, lenx, leny: Index);
- PROCEDURE ^ CopyCubeToMtx*(src, dest: Array; dimx, dimy: Index; srcx, srcy, srcz, destx, desty, lenx, leny: Index);
- PROCEDURE ^ CopyMtxToCube*(src, dest: Array; dimx, dimy: Index; srcx, srcy, destx, desty, destz, lenx, leny: Index);
- PROCEDURE ^ CopyHCubeToMtx*(src, dest: Array; dimx, dimy: Index; srcx, srcy, srcz, srct, destx, desty, lenx, leny: Index);
- PROCEDURE ^ CopyMtxToHCube*(src, dest: Array; dimx, dimy: Index; srcx, srcy, destx, desty, destz, destt, lenx, leny: Index);
- PROCEDURE ^ CopyCubeToCube*(src, dest: Array; srcx, srcy, srcz, destx, desty, destz, lenx, leny, lenz: Index);
- PROCEDURE ^ CopyHCubeToCube*(src, dest: Array; dimx, dimy, dimz: Index; srcx, srcy, srcz, srct, destx, desty, destz, lenx, leny, lenz: Index);
- PROCEDURE ^ CopyCubeToHCube*(src, dest: Array; dimx, dimy, dimz: Index; srcx, srcy, srcz, destx, desty, destz, destt, lenx, leny, lenz: Index);
- PROCEDURE ^ CopyHCubeToHCube*(src, dest: Array; srcx, srcy, srcz, srct, destx, desty, destz, destt, lenx, leny, lenz, lent: Index);
- PROCEDURE ^ CopyArrayToVec*(VAR src: ARRAY OF Value; dest: Array; srcx, destx, len: Index);
- PROCEDURE ^ CopyVecToArray*(src: Array; VAR dest: ARRAY OF Value; srcx, destx, len: Index);
- PROCEDURE ^ CopyArrayToMtx*(VAR src: ARRAY OF ARRAY OF Value; dest: Array; srcx, srcy, destx, desty, lenx, leny: Index);
- PROCEDURE ^ CopyMtxToArray*(src: Array; VAR dest: ARRAY OF ARRAY OF Value; srcx, srcy, destx, desty, lenx, leny: Index);
- PROCEDURE ^ CopyArrayToCube*(VAR src: ARRAY OF ARRAY OF ARRAY OF Value; dest: Array; srcx, srcy, srcz, destx, desty, destz, lenx, leny, lenz: Index);
- PROCEDURE ^ CopyCubeToArray*(src: Array; VAR dest: ARRAY OF ARRAY OF ARRAY OF Value; srcx, srcy, srcz, destx, desty, destz, lenx, leny, lenz: Index);
- PROCEDURE ^ CopyArrayToHCube*(VAR src: ARRAY OF ARRAY OF ARRAY OF ARRAY OF Value; dest: Array; srcx, srcy, srcz, srct, destx, desty, destz, destt, lenx, leny, lenz, lent: Index);
- PROCEDURE ^ CopyHCubeToArray*(src: Array; VAR dest: ARRAY OF ARRAY OF ARRAY OF ARRAY OF Value; srcx, srcy, srcz, srct, destx, desty, destz, destt, lenx, leny, lenz, lent: Index);
- PROCEDURE ^ CopyArrayToArrayPartB*(src: Array; dest: ArrayXdBytes.ArrayMemoryStructure; boundaryCondition: SHORTINT; srcpos, srclen, destpos, destlen: ArrayXdBytes.IndexArray);
- OPERATOR ^ ":="-(VAR l: Array; VAR r: ARRAY OF ARRAY OF ARRAY OF ARRAY OF Value);
- OPERATOR ^ ":="-(VAR l: Array; VAR r: ARRAY OF ARRAY OF ARRAY OF Value);
- OPERATOR ^ ":="-(VAR l: Array1; r: Array);
- OPERATOR ^ ":="-(VAR l: Array2; r: Array);
- OPERATOR ^ ":="-(VAR l: Array3; r: Array);
- PROCEDURE ^ Fill*(l: Array; r: Value);
- OPERATOR ^ ":="-(VAR l: Array; r: Value);
- PROCEDURE ^ Add*(l, r, res: Array);
- OPERATOR ^ "+"-(l, r: Array): Array;
- PROCEDURE ^ Sub*(l, r, res: Array);
- OPERATOR ^ "-"-(l, r: Array): Array;
- PROCEDURE ^ Mul*(l, r, res: Array);
- PROCEDURE ^ Div*(l, r, res: Array);
- PROCEDURE ^ Mod*(l, r, res: Array);
- PROCEDURE ^ AddAV*(l: Array; r: Value; res: Array);
- OPERATOR ^ "+"(l: Array; r: Value): Array;
- OPERATOR ^ "+"(l: Value; r: Array): Array;
- PROCEDURE ^ MulAV*(l: Array; r: Value; res: Array);
- OPERATOR ^ "*"(l: Array; r: Value): Array;
- OPERATOR ^ "*"(l: Value; r: Array): Array;
- PROCEDURE ^ DivAV*(l: Array; r: Value; res: Array);
- PROCEDURE ^ DivVA*(l: Value; r: Array; res: Array);
- PROCEDURE ^ ModAV*(l: Array; r: Value; res: Array);
- PROCEDURE ^ ModVA*(l: Value; r: Array; res: Array);
- PROCEDURE ^ SubAV*(l: Array; r: Value; res: Array);
- PROCEDURE ^ SubVA*(l: Value; r: Array; res: Array);
- OPERATOR ^ "-"-(l: Value; r: Array): Array;
- PROCEDURE ^ LoadArray(R: DataIO.Reader; VAR obj: OBJECT);
- PROCEDURE ^ StoreArray(W: DataIO.Writer; obj: OBJECT);
- PROCEDURE ^ Register;
- PROCEDURE ^ Load*(R: DataIO.Reader; VAR obj: Array);
- PROCEDURE ^ Store*(W: DataIO.Writer; obj: Array);
- BEGIN
- END ArrayXdInt.
|