home *** CD-ROM | disk | FTP | other *** search
- {$N-}{$A+}
- unit rlib;
-
- interface
-
- var matherrptr:pointer;
- function _mul(x,y:real):real;
- function _div(x,y:real):real;
- function _sqrt(x:real):real;
- function _arctan(x:real):real;
- function _exp(x:real):real;
- function _ln(x:real):real;
- function _sin(x:real):real;
- function _cos(x:real):real;
-
- implementation
-
- {$L 00} {$L 01} {$L 02} {$L 03} {$L 04} {$L 06}
- {$L 10} {$L 11} {$L 12} {$L 13} {$L 14}
- {$L 22} {$L 23} {$L 30} {$L 31} {$L 32} {$L 33} {$L 34}
- function _mul(x,y:real):real;external;
- function _div(x,y:real):real;external;
- function _sqrt(x:real):real;external;
- function _arctan(x:real):real;external;
- function _exp(x:real):real;external;
- function _ln(x:real):real;external;
- function _sin(x:real):real;external;
- function _cos(x:real):real;external;
- procedure _001;external;
- procedure _00;external;
- procedure _01;external;
- procedure _02;external;
- procedure _03;external;
- procedure _04;external;
- procedure _06;external;
- procedure _10;external;
- procedure _11;external;
- procedure _12;external;
- procedure _13;external;
- procedure _14;external;
- procedure _15;external;
-
- procedure hex(w:word);
- var
- i,j:word;
- begin
- for i:=1 to 4 do
- begin
- j:=(hi(w) and $f0) shr 4;
- w:=w shl 4;
- case j of
- 0..9:write(j);
- else write(chr(j+55));
- end;
- end;
- end;
-
- {$F+}
- procedure matherror(errorcode,segment,offset:word);
- begin
- case errorcode of
- 1:write('Division by zero');
- 2:write('Floating point overflow');
- 3:write('Illegal function call');
- end;
- write(' at ');hex(segment);write(':');hex(offset-5);writeln;
- halt;
- end;
-
- begin
- matherrptr:=@matherror;
- end.
-
-
-
-
-
-
-
-
-
-
-