home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 22 / AACD 22.iso / AACD / Programming / powerd / modules.lha / modules / lib / powerd.m < prev   
Encoding:
Text File  |  2001-04-24  |  6.5 KB  |  175 lines

  1. OPT    LINK='powerd.lib'
  2.  
  3. // String/EString functions ////////////
  4. RPROC DupEStr(a0:PTR TO CHAR)(PTR TO CHAR)
  5. RPROC DupEStrPooled(a0:PTR,a1:PTR TO CHAR)(PTR TO CHAR)
  6. RPROC DupStr(a0:PTR TO CHAR)(PTR TO CHAR)
  7. RPROC DupStrPooled(a0:PTR,a1:PTR TO CHAR)(PTR TO CHAR)
  8. RPROC EStrAdd(a0:PTR TO CHAR,a1:PTR TO CHAR,d0=-1)(PTR TO CHAR)
  9. RPROC EStrCopy(a0:PTR TO CHAR,a1:PTR TO CHAR,d0=-1)(PTR TO CHAR)
  10. RPROC EStringF(a0:PTR TO CHAR,a1:PTR TO CHAR,a2=NIL:LIST OF LONG)(PTR TO CHAR)
  11. RPROC VEStringF(a0:PTR TO CHAR,a1:PTR TO CHAR,a2=NIL:PTR TO LONG)(PTR TO CHAR)
  12. RPROC EStrLen(a0:PTR TO CHAR)(LONG)
  13. RPROC EStrMax(a0:PTR TO CHAR)(LONG)
  14. RPROC InStr(a0:PTR TO CHAR,a1:PTR TO CHAR,d0=0:LONG)(LONG)
  15. RPROC MidEStr(a0:PTR TO CHAR,a1:PTR TO CHAR,d1,d0)(PTR TO CHAR)
  16. //LPROC MidStr(string:PTR TO CHAR,str:PTR TO CHAR,start,length)(PTR TO CHAR)
  17. RPROC HiChar(d0:LONG)(LONG)
  18. RPROC IsAlpha(d0:LONG)(BOOL)
  19. RPROC IsBin(d0:LONG)(BOOL)
  20. RPROC IsHex(d0:LONG)(BOOL)
  21. RPROC IsNum(d0:LONG)(BOOL)
  22. RPROC LoChar(d0:LONG)(LONG)
  23. RPROC LowerStr(a0:PTR TO CHAR)(PTR TO CHAR)
  24. RPROC NewEStr(d0:UWORD)(PTR TO CHAR)
  25. RPROC OStrCmp(a0:PTR TO CHAR,a1:PTR TO CHAR,d0=-1)(LONG)
  26. RPROC OStrCmpNC(a0:PTR TO CHAR,a1:PTR TO CHAR,d0=-1)(LONG)
  27. LPROC ReadEStr(fh:BPTR,estr:PTR TO CHAR)(LONG)
  28. //LPROC ReadStr(fh:BPTR,str:PTR TO CHAR)(LONG)
  29. RPROC ReEStr(a0:PTR TO CHAR)
  30. RPROC RemEStr(a1:PTR TO CHAR)
  31. RPROC RemStr(a1:PTR TO CHAR)
  32. LPROC RightEStr(dstr:PTR TO CHAR,sstr:PTR TO CHAR,length)(PTR TO CHAR)
  33. //LPROC RightStr(dstr:PTR TO CHAR,sstr:PTR TO CHAR,length)(PTR TO CHAR)
  34. RPROC SetEStr(a0:PTR TO CHAR,d0:LONG)
  35. RPROC StrAdd(a0:PTR TO CHAR,a1:PTR TO CHAR,d0=-1)(PTR TO CHAR)
  36. RPROC StrCmp(a0:PTR TO CHAR,a1:PTR TO CHAR,d0=-1)(BOOL)
  37. RPROC StrCmpNC(a0:PTR TO CHAR,a1:PTR TO CHAR,d0=-1)(BOOL)
  38. RPROC StrCopy(a0:PTR TO CHAR,a1:PTR TO CHAR,d0=-1)(PTR TO CHAR)
  39. LPROC StringF(dstr:PTR TO CHAR,fstr:PTR TO CHAR,list=NIL:LIST OF LONG)(PTR TO CHAR)
  40. LPROC VStringF(dstr:PTR TO CHAR,fstr:PTR TO CHAR,list=NIL:PTR TO LONG)(PTR TO CHAR)
  41. RPROC StrLen(a0:PTR TO CHAR)(LONG)
  42. RPROC TrimStr(a0:PTR TO CHAR)(PTR TO CHAR)
  43. RPROC UpperStr(a0:PTR TO CHAR)(PTR TO CHAR)
  44.  
  45. RPROC WriteF(a0:PTR TO CHAR,a1=NIL:LIST OF LONG)
  46. RPROC VWriteF(a0:PTR TO CHAR,a1=NIL:PTR TO LONG)
  47.  
  48. // List functions
  49.  
  50. // Math functions //////////////////////
  51. RPROC Abs(d0:LONG)(LONG)
  52. RPROC And(d0:LONG,d1:LONG)(LONG)='and.l\td1,d0'
  53. RPROC BitCount(d0:LONG)(LONG)
  54. RPROC BitSize(d0:LONG)(LONG)
  55. RPROC EOr(d0:LONG,d1:LONG)(LONG)='eor.l\td1,d0'
  56. RPROC HiBit(d0:LONG)(LONG)
  57. RPROC LoBit(d0:LONG)(LONG)
  58. RPROC Or(d0:LONG,d1:LONG)(LONG)='or.l\td1,d0'
  59. RPROC Neg(d0:LONG)(LONG)='neg.l\td0'
  60. RPROC Not(d0:LONG)(LONG)='not.l\td0'
  61. RPROC Rol(d0:LONG,d1:LONG)(LONG)='rol.l\td1,d0'
  62. RPROC Ror(d0:LONG,d1:LONG)(LONG)='ror.l\td1,d0'
  63. RPROC Shl(d0:LONG,d1:LONG)(LONG)='asl.l\td1,d0'
  64. RPROC Shr(d0:LONG,d1:LONG)(LONG)='asr.l\td1,d0'
  65. RPROC Sign(d0:LONG)(LONG)
  66.  
  67. // FPU functions ///////////////////////
  68. RPROC Pow(fp0:DOUBLE,fp1:DOUBLE)(DOUBLE)
  69. RPROC Cos(fp0:DOUBLE)(DOUBLE)='fcos.x\tfp0'
  70. RPROC Sin(fp0:DOUBLE)(DOUBLE)='fsin.x\tfp0'
  71. RPROC Tan(fp0:DOUBLE)(DOUBLE)='ftan.x\tfp0'
  72. RPROC Cosh(fp0:DOUBLE)(DOUBLE)='fcosh.x\tfp0'
  73. RPROC Sinh(fp0:DOUBLE)(DOUBLE)='fsinh.x\tfp0'
  74. RPROC Tanh(fp0:DOUBLE)(DOUBLE)='ftanh.x\tfp0'
  75. RPROC ACos(fp0:DOUBLE)(DOUBLE)='facos.x\tfp0'
  76. RPROC ASin(fp0:DOUBLE)(DOUBLE)='fasin.x\tfp0'
  77. RPROC ATan(fp0:DOUBLE)(DOUBLE)='fatan.x\tfp0'
  78. RPROC FAbs(fp0:DOUBLE)(DOUBLE)='fabs.x\tfp0'
  79. RPROC Sqrt(fp0:DOUBLE)(DOUBLE)='fsqrt.x\tfp0'
  80. RPROC ATanh(fp0:DOUBLE)(DOUBLE)='fatanh.x\tfp0'
  81. RPROC Log(fp0:DOUBLE)(DOUBLE)='flog10.x\tfp0'
  82. RPROC Ln(fp0:DOUBLE)(DOUBLE)='flogn.x\tfp0'
  83. RPROC Log2(fp0:DOUBLE)(DOUBLE)='flog2.x\tfp0'
  84. RPROC Int(fp0:DOUBLE)(DOUBLE)='fintrz.x\tfp0'
  85. RPROC Rem(fp0:DOUBLE)(DOUBLE)='frem.x\tfp0'
  86. RPROC EToX(fp0:DOUBLE)(DOUBLE)='fetox.x\tfp0'
  87. RPROC FNeg(fp0:DOUBLE)(DOUBLE)='fneg.x\tfp0'
  88.  
  89. // Intuition support functions /////////
  90. RPROC Mouse()(LONG)
  91. RPROC MouseX(a0:PTR TO Window)(LONG)
  92. RPROC MouseXY(a0:PTR TO Window)(LONG,LONG)
  93. RPROC MouseY(a0:PTR TO Window)(LONG)
  94. RPROC WaitIMessage(a0:PTR TO Window)(LONG,LONG,LONG,LONG)
  95.  
  96. // Miscellaneous functions /////////////
  97. RPROC CtrlC()(BOOL)
  98. RPROC CtrlD()(BOOL)
  99. RPROC CtrlE()(BOOL)
  100. RPROC CtrlF()(BOOL)
  101.  
  102. RPROC Byte(a0:PTR TO BYTE)(LONG)='move.b\t(a0),d0\n\textb.l\td0'
  103. RPROC Word(a0:PTR TO WORD)(LONG)='move.w\t(a0),d0\n\text.l\td0'
  104. RPROC Long(a0:PTR TO LONG)(LONG)='move.l\t(a0),d0'
  105. RPROC UByte(a0:PTR TO BYTE)(LONG)='move.b\t(a0),d0\n\tandi.l\t#$ff,d0'
  106. RPROC UWord(a0:PTR TO WORD)(LONG)='move.b\t(a0),d0\n\tandi.l\t#$ffff,d0'
  107. RPROC ULong(a0:PTR TO LONG)(LONG)='move.l\t(a0),d0'
  108. RPROC Float(a0:PTR TO FLOAT)(FLOAT)='fmove.s\t(a0),fp0'
  109. RPROC Double(a0:PTR TO DOUBLE)(DOUBLE)='fmove.d\t(a0),fp0'
  110.  
  111. RPROC PutByte(a0:PTR TO BYTE,d0:LONG)='move.b\td0,(a0)'
  112. RPROC PutWord(a0:PTR TO WORD,d0:LONG)='move.w\td0,(a0)'
  113. RPROC PutLong(a0:PTR TO LONG,d0:LONG)='move.l\td0,(a0)'
  114. RPROC PutFloat(a0:PTR TO FLOAT,fp0:FLOAT)='fmove.s\tfp0,(a0)'
  115. RPROC PutDouble(a0:PTR TO DOUBLE,fp0:DOUBLE)='fmove.d\tfp0,(a0)'
  116.  
  117. RPROC ReByte(d0:BYTE)(LONG)='extb.l\td0'
  118. RPROC ReWord(d0:WORD)(LONG)='ext.l\td0'
  119. RPROC ReUByte(d0:UBYTE)(LONG)='andi.l\t#$ff,d0'
  120. RPROC ReUWord(d0:UWORD)(LONG)='andi.l\t#$ffff,d0'
  121.  
  122. RPROC Bounds(d0:LONG,d1:LONG,d2:LONG)(LONG)
  123. RPROC InBounds(d0:LONG,d1:LONG,d2:LONG)(BOOL)
  124. RPROC Even(d0:LONG)(BOOL)
  125. RPROC Odd(d0:LONG)(BOOL)
  126. RPROC Max(d0:LONG,d1:LONG)(LONG)
  127. RPROC Min(d0:LONG,d1:LONG)(LONG)
  128.  
  129. RPROC Rnd(d0:LONG)(LONG)
  130. RPROC RndQ(d0:LONG)(LONG)
  131.  
  132. EPROC FileLength(name:PTR TO CHAR)(LONG)
  133. RPROC KickVersion(d0:LONG)(BOOL)
  134.  
  135. RPROC Inp(d1:BPTR)(LONG)
  136. RPROC Out(d1:BPTR,d2:LONG)
  137.  
  138. EPROC RealStr(str:PTR TO UBYTE,f:DOUBLE,n=1)(PTR TO UBYTE)
  139. EPROC RealEStr(estr:PTR TO UBYTE,f:DOUBLE,n=1)(PTR TO UBYTE)
  140. EPROC RealVal(str:PTR TO UBYTE,pos=0)(DOUBLE,LONG)
  141. EPROC Val(s:PTR TO UBYTE,n=0)(LONG,LONG)
  142.  
  143. RPROC AllocVecPooled(a0:APTR,d0:LONG)(PTR)
  144. RPROC FreeVecPooled(a0:APTR,a1:PTR)
  145. RPROC SizePooled(a0:PTR)(LONG)='move.l\t(-4,a0),d0'
  146.  
  147. //RPROC New(d0:LONG)(PTR)
  148. //RPROC Free(a1:PTR)
  149.  
  150. RPROC Raise(d0=NIL:LONG,d1=NIL:LONG)
  151. EDEF    exception,exceptioninfo
  152.  
  153. EPROC OpenW(l,t,w,h,i,f,n=NIL,s=NIL,st=1,g=NIL,tags=NIL:PTR TO TagItem)(PTR TO Window)
  154. EDEF    stdrast
  155. EPROC OpenS(w,h,d,t=0,n=NIL,tags=NIL:PTR TO TagItem)(PTR TO Screen)
  156. RPROC CloseW(a0:PTR TO Window)
  157. RPROC CloseS(a0:PTR TO Screen)
  158. RPROC SetColour(a0:PTR TO RastPort,d0,d1,d2,d3)
  159.  
  160. RPROC SetStdRast(d1:PTR TO RastPort)(PTR TO RastPort)
  161. RPROC Colour(d0,d1=0)
  162. RPROC Line(d0,d1,d2,d3,d4=-1)
  163. RPROC Plot(d0,d1,d2=-1)
  164. RPROC Box(d0,d1,d2,d3,d4=-1)
  165. RPROC Ellipse(d0,d1,d2,d3,d4=-1)
  166. RPROC Circle(d0,d1,d2,d3=-1)
  167. /*
  168. RPROC IBox(x,y,w,h,c=-1)
  169. RPROC TextF(x,y,fmt,args)
  170. */
  171.  
  172. // Quoted Expression functions /////////
  173. RPROC Eval(a0:PTR)(LONG)
  174. //RPROC MapList(a2:PTR TO LONG,a1:PTR TO LONG,d0:LONG,a3:PTR TO LONG,a0:PTR TO LONG)
  175.