home *** CD-ROM | disk | FTP | other *** search
/ Global Amiga Experience / globalamigaexperience.iso / compressed / development / clusterdemo.dms / clusterdemo.adf / Modules.lha / modules / txt / DynamicArrays.def < prev    next >
Text File  |  1994-05-25  |  2KB  |  93 lines

  1. |##########|
  2. |#MAGIC   #|CLABLNCM
  3. |#PROJECT #|"ImportHelp"
  4. |#PATHS   #|"StdProject"
  5. |#FLAGS   #|xx-x-x--x----xx-----------------
  6. |#USERSW  #|--------------------------------
  7. |#USERMASK#|--------------------------------
  8. |#SWITCHES#|xx---xxxxx------
  9. |##########|
  10. DEFINITION MODULE DynamicArrays;
  11.  
  12.   EXCEPTION BadSubscript : "Bad subscript";
  13.  
  14.   DEFINITION MODULE DynamicArray(type : ANYPTR);
  15.  
  16.     TYPE
  17.       Array      = RECORD
  18.                      data   : ARRAY [256] OF POINTER TO ARRAY [256] OF type;
  19.                      first,
  20.                      last   : CARDINAL;
  21.                    END;
  22.  
  23.  
  24.  
  25.     PROCEDURE Init(VAR a : Array);
  26.  
  27.     PROCEDURE Destruct(VAR a : Array);
  28.  
  29.     PROCEDURE Delete(VAR a : Array);
  30.  
  31.  
  32.     PROCEDURE Put(VAR a : Array;index : CARDINAL;data : type);
  33.  
  34.     PROCEDURE Get(REF a : Array;index : CARDINAL):type;
  35.  
  36.  
  37.     PROCEDURE Next(REF a : Array;old : CARDINAL):CARDINAL;
  38.  
  39.     PROCEDURE Prev(REF a : Array;old : CARDINAL):CARDINAL;
  40.  
  41.   END DynamicArray;
  42.  
  43.  
  44.   DEFINITION MODULE DynamicArray2(type : ANYPTR);
  45.  
  46.     TYPE
  47.       Array      = RECORD
  48.                      data    : ARRAY [16],[16] OF POINTER TO
  49.                                ARRAY [16],[16] OF POINTER TO
  50.                                ARRAY [16],[16] OF POINTER TO
  51.                                ARRAY [16],[16] OF type;
  52.                      firstX,
  53.                      firstY,
  54.                      lastX,
  55.                      lastY   : CARDINAL;
  56.                    END;
  57.  
  58.  
  59.  
  60.     PROCEDURE Init(VAR a : Array);
  61.  
  62.     PROCEDURE Destruct(VAR a : Array);
  63.  
  64.     PROCEDURE Delete(VAR a : Array);
  65.  
  66.  
  67.     PROCEDURE Put(VAR a : Array;x,y : CARDINAL;data : type);
  68.  
  69.     PROCEDURE Get(REF a : Array;x,y : CARDINAL):type;
  70.  
  71.  
  72.     PROCEDURE FirstXatY(REF a : Array;y : CARDINAL):CARDINAL;
  73.  
  74.     PROCEDURE LastXatY(REF a : Array;y : CARDINAL):CARDINAL;
  75.  
  76.     PROCEDURE FirstYatX(REF a : Array;x : CARDINAL):CARDINAL;
  77.  
  78.     PROCEDURE LastYatX(REF a : Array;x : CARDINAL):CARDINAL;
  79.  
  80.  
  81.     PROCEDURE NextX(REF a : Array;x,y : CARDINAL):CARDINAL;
  82.  
  83.     PROCEDURE NextY(REF a : Array;x,y : CARDINAL):CARDINAL;
  84.  
  85.     PROCEDURE PrevX(REF a : Array;x,y : CARDINAL):CARDINAL;
  86.  
  87.     PROCEDURE PrevY(REF a : Array;x,y : CARDINAL):CARDINAL;
  88.  
  89.   END DynamicArray2;
  90.  
  91. END DynamicArrays.
  92.  
  93.