home *** CD-ROM | disk | FTP | other *** search
/ Garbo / Garbo.cdr / mac / progrmng / thinkc30.sit / MathHybrid.c.bin < prev    next >
MacBinary  |  1989-09-14  |  9.5 KB  |  [TEXT/KAHL]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
66% dexvert AMOS Picture Packer (image/amosPicturePacker) ext Supported
1% dexvert Debian floppy split (archive/debianFloppySplit) ext Unsupported
1% dexvert Sound Images sound sample (audio/soundImagesSoundSample) ext Unsupported
1% dexvert DESI-III drawing (image/desiIIIDrawing) ext Unsupported
1% dexvert MS-DOS PMODE extender executable (executable/msdosPMODEExtenderExecutable) ext Unsupported
1% dexvert Alien Trilogytextures (other/alienTrilogyTextures) ext Unsupported
1% dexvert APT cache data (other/aptCacheData) ext Unsupported
1% dexvert CorelTRACE configuration (other/corelTRACEConfiguration) ext Unsupported
1% dexvert Dreamcast Disc (other/dreamcastDisc) ext Unsupported
1% dexvert EST flat binary (other/estFlatBinary) ext Unsupported
1% dexvert Finale Enigma Binary Format (other/finaleEnigmaBinaryFormat) ext Unsupported
1% dexvert Sega Genesis/Megadrive/32x ROM (other/genesisROM) ext Unsupported
1% dexvert Myth: The Fallen Lords game archive (other/mythTheFallenLordsGameArchive) ext Unsupported
1% dexvert Sound Images Sound Driver (other/soundImagesSoundDriver) ext Unsupported
1% dexvert Symantec/Norton Config (other/symantecNortonConfig) ext Unsupported
1% dexvert Vectrex ROM (other/vectrexROM) ext Unsupported
1% dexvert BIS raP encoded format (other/bisraPEncoded) ext Unsupported
1% dexvert Pascal Script binary (other/pascalScriptBinary) ext Unsupported
1% dexvert 7th Level game data archive (other/seventhLevelGameDataArchive) ext Unsupported
1% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Binary Text (image/binaryText) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary, Sat May 28 07:51:16 1988, modified Mon Jan 16 08:49:35 1989, creator Think C, type ASCII, 9564 bytes "MathHybrid.c" default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 1 default (weak)
100% lsar MacBinary default
100% gt2 MAC Bilddatei default (weak)


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[KAHL]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0c 4d 61 74 68 48 79 | 62 72 69 64 2e 63 00 00 |..MathHy|brid.c..|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4b 41 48 | 4c 00 00 00 00 00 00 00 |.TEXTKAH|L.......|
|00000050| 00 00 00 00 00 25 5c 00 | 00 00 00 9e c4 5a 34 9f |.....%\.|.....Z4.|
|00000060| f7 a3 6f 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |..o.....|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000080| 0d 2f 2a 0d 0d 09 4d 61 | 74 68 20 6c 69 62 72 61 |./*...Ma|th libra|
|00000090| 72 79 20 66 6f 72 20 4c | 69 67 68 74 73 70 65 65 |ry for L|ightspee|
|000000a0| 64 43 0d 09 0d 09 28 43 | 29 20 43 6f 70 79 72 69 |dC....(C|) Copyri|
|000000b0| 67 68 74 20 31 39 38 36 | 20 54 48 49 4e 4b 20 54 |ght 1986| THINK T|
|000000c0| 65 63 68 6e 6f 6c 6f 67 | 69 65 73 2e 20 20 41 6c |echnolog|ies. Al|
|000000d0| 6c 20 72 69 67 68 74 73 | 20 72 65 73 65 72 76 65 |l rights| reserve|
|000000e0| 64 2e 0d 09 0d 09 46 6f | 72 20 64 65 74 61 69 6c |d.....Fo|r detail|
|000000f0| 73 2c 20 72 65 66 65 72 | 20 74 6f 20 48 61 72 62 |s, refer| to Harb|
|00000100| 69 73 6f 6e 20 26 20 53 | 74 65 65 6c 65 27 73 20 |ison & S|teele's |
|00000110| 22 43 3a 20 41 20 52 65 | 66 65 72 65 6e 63 65 20 |"C: A Re|ference |
|00000120| 4d 61 6e 75 61 6c 22 2c | 0d 09 43 68 61 70 74 65 |Manual",|..Chapte|
|00000130| 72 20 31 31 2e 0d 09 0d | 09 54 77 6f 20 76 65 72 |r 11....|.Two ver|
|00000140| 73 69 6f 6e 73 20 6f 66 | 20 65 61 63 68 20 66 75 |sions of| each fu|
|00000150| 6e 63 74 69 6f 6e 20 61 | 72 65 20 64 65 66 69 6e |nction a|re defin|
|00000160| 65 64 20 62 79 20 74 68 | 69 73 20 6c 69 62 72 61 |ed by th|is libra|
|00000170| 72 79 3a 20 20 61 6e 0d | 09 65 72 72 6f 72 2d 63 |ry: an.|.error-c|
|00000180| 68 65 63 6b 69 6e 67 20 | 76 65 72 73 69 6f 6e 20 |hecking |version |
|00000190| 28 65 2e 67 2e 20 22 73 | 69 6e 22 29 20 61 6e 64 |(e.g. "s|in") and|
|000001a0| 20 61 20 6e 6f 6e 2d 65 | 72 72 6f 72 2d 63 68 65 | a non-e|rror-che|
|000001b0| 63 6b 69 6e 67 0d 09 76 | 65 72 73 69 6f 6e 20 28 |cking..v|ersion (|
|000001c0| 65 2e 67 2e 20 22 5f 73 | 69 6e 22 29 2e 0d 09 0d |e.g. "_s|in")....|
|000001d0| 09 54 68 65 20 6e 6f 6e | 2d 75 6e 64 65 72 73 63 |.The non|-undersc|
|000001e0| 6f 72 65 20 6e 61 6d 65 | 73 20 63 61 6e 20 62 65 |ore name|s can be|
|000001f0| 20 6d 61 64 65 20 74 6f | 20 72 65 66 65 72 20 74 | made to| refer t|
|00000200| 6f 20 74 68 65 20 6e 6f | 6e 2d 65 72 72 6f 72 2d |o the no|n-error-|
|00000210| 0d 09 63 68 65 63 6b 69 | 6e 67 20 66 75 6e 63 74 |..checki|ng funct|
|00000220| 69 6f 6e 73 20 62 79 20 | 23 64 65 66 69 6e 69 6e |ions by |#definin|
|00000230| 67 20 5f 4e 4f 45 52 52 | 4f 52 43 48 45 43 4b 5f |g _NOERR|ORCHECK_|
|00000240| 20 62 65 66 6f 72 65 20 | 23 69 6e 63 6c 75 64 69 | before |#includi|
|00000250| 6e 67 0d 09 22 6d 61 74 | 68 2e 68 22 2e 20 20 44 |ng.."mat|h.h". D|
|00000260| 6f 69 6e 67 20 73 6f 20 | 69 6e 20 54 48 49 53 20 |oing so |in THIS |
|00000270| 66 69 6c 65 20 73 75 70 | 70 72 65 73 73 65 73 20 |file sup|presses |
|00000280| 74 68 65 20 64 65 66 69 | 6e 69 74 69 6f 6e 73 20 |the defi|nitions |
|00000290| 6f 66 0d 09 74 68 65 20 | 65 72 72 6f 72 2d 63 68 |of..the |error-ch|
|000002a0| 65 63 6b 69 6e 67 20 76 | 65 72 73 69 6f 6e 73 20 |ecking v|ersions |
|000002b0| 6f 66 20 74 68 65 20 66 | 75 6e 63 74 69 6f 6e 73 |of the f|unctions|
|000002c0| 20 61 6c 74 6f 67 65 74 | 68 65 72 2e 0d 0d 2a 2f | altoget|her...*/|
|000002d0| 0d 0d 2f 2a 23 64 65 66 | 69 6e 65 20 5f 4e 4f 45 |../*#def|ine _NOE|
|000002e0| 52 52 4f 52 43 48 45 43 | 4b 5f 2a 2f 0d 23 69 6e |RRORCHEC|K_*/.#in|
|000002f0| 63 6c 75 64 65 20 22 6d | 61 74 68 2e 68 22 0d 23 |clude "m|ath.h".#|
|00000300| 69 6e 63 6c 75 64 65 20 | 22 73 61 6e 65 2e 68 22 |include |"sane.h"|
|00000310| 0d 0d 2f 2a 20 20 75 73 | 65 66 75 6c 20 63 6f 6e |../* us|eful con|
|00000320| 73 74 61 6e 74 73 20 20 | 2a 2f 0d 73 74 61 74 69 |stants |*/.stati|
|00000330| 63 20 64 6f 75 62 6c 65 | 20 5a 65 72 6f 20 3d 20 |c double| Zero = |
|00000340| 30 2e 30 3b 0d 73 74 61 | 74 69 63 20 64 6f 75 62 |0.0;.sta|tic doub|
|00000350| 6c 65 20 4f 6e 65 20 3d | 20 31 2e 30 3b 0d 73 74 |le One =| 1.0;.st|
|00000360| 61 74 69 63 20 64 6f 75 | 62 6c 65 20 54 77 6f 20 |atic dou|ble Two |
|00000370| 3d 20 32 2e 30 3b 0d 73 | 74 61 74 69 63 20 64 6f |= 2.0;.s|tatic do|
|00000380| 75 62 6c 65 20 4d 69 6e | 75 73 4f 6e 65 20 3d 20 |uble Min|usOne = |
|00000390| 2d 31 2e 30 3b 0d 73 74 | 61 74 69 63 20 64 6f 75 |-1.0;.st|atic dou|
|000003a0| 62 6c 65 20 4d 69 6e 75 | 73 54 77 6f 20 3d 20 2d |ble Minu|sTwo = -|
|000003b0| 32 2e 30 3b 0d 73 74 61 | 74 69 63 20 64 6f 75 62 |2.0;.sta|tic doub|
|000003c0| 6c 65 20 50 6f 69 6e 74 | 46 69 76 65 20 3d 20 30 |le Point|Five = 0|
|000003d0| 2e 35 3b 0d 73 74 61 74 | 69 63 20 64 6f 75 62 6c |.5;.stat|ic doubl|
|000003e0| 65 20 50 6f 69 6e 74 54 | 77 6f 46 69 76 65 20 3d |e PointT|woFive =|
|000003f0| 20 30 2e 32 35 3b 0d 73 | 74 61 74 69 63 20 64 6f | 0.25;.s|tatic do|
|00000400| 75 62 6c 65 20 50 69 20 | 3d 20 50 49 3b 0d 73 74 |uble Pi |= PI;.st|
|00000410| 61 74 69 63 20 64 6f 75 | 62 6c 65 20 50 69 32 20 |atic dou|ble Pi2 |
|00000420| 3d 20 50 49 32 3b 0d 73 | 74 61 74 69 63 20 64 6f |= PI2;.s|tatic do|
|00000430| 75 62 6c 65 20 4c 6f 67 | 32 54 65 6e 20 3d 20 33 |uble Log|2Ten = 3|
|00000440| 2e 33 32 31 39 32 38 30 | 39 34 38 38 37 33 36 32 |.3219280|94887362|
|00000450| 33 34 38 3b 0d 0d 2f 2a | 20 74 68 65 20 38 30 2d |348;../*| the 80-|
|00000460| 62 69 74 20 65 78 74 65 | 6e 64 65 64 20 22 5f 78 |bit exte|nded "_x|
|00000470| 38 30 22 20 69 73 20 75 | 73 65 64 20 61 73 20 74 |80" is u|sed as t|
|00000480| 68 65 20 64 65 73 74 69 | 6e 61 74 69 6f 6e 20 74 |he desti|nation t|
|00000490| 6f 20 63 6f 6e 76 65 72 | 74 20 74 68 65 20 0d 61 |o conver|t the .a|
|000004a0| 72 67 75 6d 65 6e 74 73 | 20 74 6f 20 53 41 4e 45 |rguments| to SANE|
|000004b0| 20 64 6f 75 62 6c 65 73 | 2e 20 2a 2f 0d 73 74 61 | doubles|. */.sta|
|000004c0| 74 69 63 20 45 78 74 65 | 6e 64 65 64 38 30 20 5f |tic Exte|nded80 _|
|000004d0| 78 38 30 3b 0d 0d 2f 2a | 20 74 68 65 20 65 78 74 |x80;../*| the ext|
|000004e0| 72 61 20 77 6f 72 64 20 | 6f 66 20 7a 65 72 6f 73 |ra word |of zeros|
|000004f0| 20 69 73 20 66 6f 72 20 | 36 38 38 38 31 20 63 6f | is for |68881 co|
|00000500| 6d 70 61 74 69 62 69 6c | 69 74 79 2e 20 2a 2f 0d |mpatibil|ity. */.|
|00000510| 73 74 61 74 69 63 20 73 | 68 6f 72 74 20 5f 4d 61 |static s|hort _Ma|
|00000520| 78 5b 5d 20 3d 20 7b 20 | 30 78 37 46 46 45 2c 20 |x[] = { |0x7FFE, |
|00000530| 30 78 30 30 30 30 2c 20 | 30 78 37 46 46 46 2c 20 |0x0000, |0x7FFF, |
|00000540| 30 78 46 46 46 46 2c 20 | 30 78 46 46 46 46 2c 20 |0xFFFF, |0xFFFF, |
|00000550| 30 78 46 46 46 46 20 7d | 3b 0d 73 74 61 74 69 63 |0xFFFF }|;.static|
|00000560| 20 73 68 6f 72 74 20 5f | 4d 69 6e 75 73 4d 61 78 | short _|MinusMax|
|00000570| 5b 5d 20 3d 20 7b 20 30 | 78 46 46 46 45 2c 20 30 |[] = { 0|xFFFE, 0|
|00000580| 78 30 30 30 30 2c 20 30 | 78 37 46 46 46 2c 20 30 |x0000, 0|x7FFF, 0|
|00000590| 78 46 46 46 46 2c 20 30 | 78 46 46 46 46 2c 20 30 |xFFFF, 0|xFFFF, 0|
|000005a0| 78 46 46 46 46 20 7d 3b | 0d 23 64 65 66 69 6e 65 |xFFFF };|.#define|
|000005b0| 20 4d 61 78 09 09 09 09 | 28 2a 20 28 64 6f 75 62 | Max....|(* (doub|
|000005c0| 6c 65 20 2a 29 20 5f 4d | 61 78 29 0d 23 64 65 66 |le *) _M|ax).#def|
|000005d0| 69 6e 65 20 4d 69 6e 75 | 73 4d 61 78 09 09 28 2a |ine Minu|sMax..(*|
|000005e0| 20 28 64 6f 75 62 6c 65 | 20 2a 29 20 5f 4d 69 6e | (double| *) _Min|
|000005f0| 75 73 4d 61 78 29 0d 0d | 2f 2a 20 72 6f 75 74 69 |usMax)..|/* routi|
|00000600| 6e 65 73 20 66 6f 72 20 | 63 6f 6e 76 65 72 73 69 |nes for |conversi|
|00000610| 6f 6e 20 62 65 74 77 65 | 65 6e 20 38 30 2d 20 61 |on betwe|en 80- a|
|00000620| 6e 64 20 39 36 2d 62 69 | 74 20 66 6f 72 6d 61 74 |nd 96-bi|t format|
|00000630| 73 20 2a 2f 0d 0d 76 6f | 69 64 20 78 38 30 74 6f |s */..vo|id x80to|
|00000640| 78 39 36 28 78 38 30 2c | 20 78 39 36 29 0d 72 65 |x96(x80,| x96).re|
|00000650| 67 69 73 74 65 72 20 45 | 78 74 65 6e 64 65 64 38 |gister E|xtended8|
|00000660| 30 20 2a 78 38 30 3b 0d | 72 65 67 69 73 74 65 72 |0 *x80;.|register|
|00000670| 20 45 78 74 65 6e 64 65 | 64 39 36 20 2a 78 39 36 | Extende|d96 *x96|
|00000680| 3b 0d 7b 0d 09 28 2a 78 | 39 36 29 2e 65 78 70 6f |;.{..(*x|96).expo|
|00000690| 6e 65 6e 74 20 3d 20 28 | 2a 78 38 30 29 2e 65 78 |nent = (|*x80).ex|
|000006a0| 70 6f 6e 65 6e 74 3b 0d | 09 28 2a 78 39 36 29 2e |ponent;.|.(*x96).|
|000006b0| 72 65 73 65 72 76 65 64 | 20 3d 20 30 3b 0d 09 28 |reserved| = 0;..(|
|000006c0| 2a 78 39 36 29 2e 6d 61 | 6e 74 69 73 73 61 20 3d |*x96).ma|ntissa =|
|000006d0| 20 28 2a 78 38 30 29 2e | 6d 61 6e 74 69 73 73 61 | (*x80).|mantissa|
|000006e0| 3b 0d 7d 0d 0d 76 6f 69 | 64 20 78 39 36 74 6f 78 |;.}..voi|d x96tox|
|000006f0| 38 30 28 78 39 36 2c 20 | 78 38 30 29 0d 72 65 67 |80(x96, |x80).reg|
|00000700| 69 73 74 65 72 20 45 78 | 74 65 6e 64 65 64 39 36 |ister Ex|tended96|
|00000710| 20 2a 78 39 36 3b 0d 72 | 65 67 69 73 74 65 72 20 | *x96;.r|egister |
|00000720| 45 78 74 65 6e 64 65 64 | 38 30 20 2a 78 38 30 3b |Extended|80 *x80;|
|00000730| 0d 0d 7b 0d 09 28 2a 78 | 38 30 29 2e 65 78 70 6f |..{..(*x|80).expo|
|00000740| 6e 65 6e 74 20 3d 20 28 | 2a 78 39 36 29 2e 65 78 |nent = (|*x96).ex|
|00000750| 70 6f 6e 65 6e 74 3b 0d | 09 28 2a 78 38 30 29 2e |ponent;.|.(*x80).|
|00000760| 6d 61 6e 74 69 73 73 61 | 20 3d 20 28 2a 78 39 36 |mantissa| = (*x96|
|00000770| 29 2e 6d 61 6e 74 69 73 | 73 61 3b 0d 7d 0d 0d 23 |).mantis|sa;.}..#|
|00000780| 64 65 66 69 6e 65 20 5f | 78 38 30 74 6f 78 39 36 |define _|x80tox96|
|00000790| 28 78 38 30 2c 20 78 39 | 36 29 20 78 38 30 74 6f |(x80, x9|6) x80to|
|000007a0| 78 39 36 28 26 78 38 30 | 2c 20 26 78 39 36 29 0d |x96(&x80|, &x96).|
|000007b0| 23 64 65 66 69 6e 65 20 | 5f 78 39 36 74 6f 78 38 |#define |_x96tox8|
|000007c0| 30 28 78 39 36 2c 20 78 | 38 30 29 20 78 39 36 74 |0(x96, x|80) x96t|
|000007d0| 6f 78 38 30 28 26 78 39 | 36 2c 20 26 78 38 30 29 |ox80(&x9|6, &x80)|
|000007e0| 0d 0d 23 64 65 66 69 6e | 65 20 5f 74 6f 38 30 28 |..#defin|e _to80(|
|000007f0| 78 29 20 20 5f 78 39 36 | 74 6f 78 38 30 28 78 2c |x) _x96|tox80(x,|
|00000800| 20 5f 78 38 30 29 3b 0d | 23 64 65 66 69 6e 65 20 | _x80);.|#define |
|00000810| 5f 74 6f 39 36 28 78 29 | 20 20 5f 78 38 30 74 6f |_to96(x)| _x80to|
|00000820| 78 39 36 28 5f 78 38 30 | 2c 20 78 29 3b 0d 0d 2f |x96(_x80|, x);../|
|00000830| 2a 20 20 73 65 65 64 20 | 66 6f 72 20 70 73 65 75 |* seed |for pseu|
|00000840| 64 6f 2d 72 61 6e 64 6f | 6d 20 6e 75 6d 62 65 72 |do-rando|m number|
|00000850| 20 67 65 6e 65 72 61 74 | 6f 72 20 20 2a 2f 0d 73 | generat|or */.s|
|00000860| 74 61 74 69 63 20 75 6e | 73 69 67 6e 65 64 20 6c |tatic un|signed l|
|00000870| 6f 6e 67 20 73 65 65 64 | 20 3d 20 31 3b 0d 0d 0d |ong seed| = 1;...|
|00000880| 2f 2a 20 20 65 6e 76 69 | 72 6f 6e 6d 65 6e 74 20 |/* envi|ronment |
|00000890| 77 6f 72 64 20 6d 61 73 | 6b 73 20 20 2a 2f 0d 23 |word mas|ks */.#|
|000008a0| 64 65 66 69 6e 65 20 52 | 4f 55 4e 44 09 09 09 30 |define R|OUND...0|
|000008b0| 78 36 30 30 30 0d 23 64 | 65 66 69 6e 65 20 52 4f |x6000.#d|efine RO|
|000008c0| 55 4e 44 5f 55 50 09 09 | 30 78 32 30 30 30 0d 23 |UND_UP..|0x2000.#|
|000008d0| 64 65 66 69 6e 65 20 52 | 4f 55 4e 44 5f 44 4f 57 |define R|OUND_DOW|
|000008e0| 4e 09 09 30 78 34 30 30 | 30 0d 23 64 65 66 69 6e |N..0x400|0.#defin|
|000008f0| 65 20 45 52 52 4f 52 09 | 09 09 30 78 30 46 30 30 |e ERROR.|..0x0F00|
|00000900| 0d 0d 0d 2f 2a 20 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.../* --|--------|
|00000910| 20 65 72 72 6f 72 20 63 | 68 65 63 6b 69 6e 67 20 | error c|hecking |
|00000920| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 20 2a 2f 0d 0d 23 |--------|-- */..#|
|00000930| 69 66 64 65 66 20 5f 45 | 52 52 4f 52 43 48 45 43 |ifdef _E|RRORCHEC|
|00000940| 4b 5f 0d 0d 23 64 65 66 | 69 6e 65 20 44 6f 6d 61 |K_..#def|ine Doma|
|00000950| 69 6e 43 68 65 63 6b 28 | 74 65 73 74 2c 20 72 65 |inCheck(|test, re|
|00000960| 73 75 6c 74 29 09 09 69 | 66 20 28 74 65 73 74 29 |sult)..i|f (test)|
|00000970| 20 7b 09 09 09 09 09 5c | 0d 09 09 09 09 09 09 09 | {.....\|........|
|00000980| 09 09 09 09 65 72 72 6e | 6f 20 3d 20 45 44 4f 4d |....errn|o = EDOM|
|00000990| 3b 09 09 09 5c 0d 09 09 | 09 09 09 09 09 09 09 09 |;...\...|........|
|000009a0| 09 72 65 74 75 72 6e 28 | 72 65 73 75 6c 74 29 3b |.return(|result);|
|000009b0| 09 09 09 5c 0d 09 09 09 | 09 09 09 09 09 09 09 7d |...\....|.......}|
|000009c0| 0d 23 64 65 66 69 6e 65 | 20 52 61 6e 67 65 43 68 |.#define| RangeCh|
|000009d0| 65 63 6b 28 74 61 72 67 | 65 74 29 09 09 09 09 69 |eck(targ|et)....i|
|000009e0| 66 20 28 47 65 74 53 74 | 61 74 65 28 29 20 26 20 |f (GetSt|ate() & |
|000009f0| 45 52 52 4f 52 29 20 7b | 09 5c 0d 09 09 09 09 09 |ERROR) {|.\......|
|00000a00| 09 09 09 09 09 09 65 72 | 72 6e 6f 20 3d 20 45 52 |......er|rno = ER|
|00000a10| 41 4e 47 45 3b 09 09 09 | 5c 0d 09 09 09 09 09 09 |ANGE;...|\.......|
|00000a20| 09 09 09 09 09 74 61 72 | 67 65 74 20 3d 20 4d 61 |.....tar|get = Ma|
|00000a30| 78 3b 09 09 09 5c 0d 09 | 09 09 09 09 09 09 09 09 |x;...\..|........|
|00000a40| 09 7d 0d 0d 23 65 6c 73 | 65 20 5f 45 52 52 4f 52 |.}..#els|e _ERROR|
|00000a50| 43 48 45 43 4b 5f 0d 0d | 23 64 65 66 69 6e 65 20 |CHECK_..|#define |
|00000a60| 43 6c 65 61 72 45 78 63 | 65 70 74 69 6f 6e 73 28 |ClearExc|eptions(|
|00000a70| 29 0d 23 64 65 66 69 6e | 65 20 44 6f 6d 61 69 6e |).#defin|e Domain|
|00000a80| 43 68 65 63 6b 28 74 65 | 73 74 2c 20 72 65 73 75 |Check(te|st, resu|
|00000a90| 6c 74 29 0d 23 64 65 66 | 69 6e 65 20 52 61 6e 67 |lt).#def|ine Rang|
|00000aa0| 65 43 68 65 63 6b 28 74 | 61 72 67 65 74 29 0d 0d |eCheck(t|arget)..|
|00000ab0| 23 65 6e 64 69 66 20 5f | 45 52 52 4f 52 43 48 45 |#endif _|ERRORCHE|
|00000ac0| 43 4b 5f 0d 0d 2f 2a 0d | 20 2a 20 20 47 65 74 53 |CK_../*.| * GetS|
|00000ad0| 74 61 74 65 20 2d 20 71 | 75 65 72 79 20 65 6e 76 |tate - q|uery env|
|00000ae0| 69 72 6f 6e 6d 65 6e 74 | 20 77 6f 72 64 0d 20 2a |ironment| word. *|
|00000af0| 0d 20 2a 2f 0d 0d 73 74 | 61 74 69 63 0d 47 65 74 |. */..st|atic.Get|
|00000b00| 53 74 61 74 65 28 29 0d | 7b 0d 09 69 6e 74 20 73 |State().|{..int s|
|00000b10| 74 61 74 65 3b 0d 09 0d | 09 47 65 74 45 6e 76 69 |tate;...|.GetEnvi|
|00000b20| 72 6f 6e 6d 65 6e 74 28 | 26 73 74 61 74 65 29 3b |ronment(|&state);|
|00000b30| 0d 09 72 65 74 75 72 6e | 28 73 74 61 74 65 29 3b |..return|(state);|
|00000b40| 0d 7d 0d 0d 0d 2f 2a 0d | 20 2a 20 20 53 65 74 53 |.}.../*.| * SetS|
|00000b50| 74 61 74 65 20 2d 20 64 | 65 66 69 6e 65 20 65 6e |tate - d|efine en|
|00000b60| 76 69 72 6f 6e 6d 65 6e | 74 20 77 6f 72 64 0d 20 |vironmen|t word. |
|00000b70| 2a 0d 20 2a 2f 0d 0d 73 | 74 61 74 69 63 0d 53 65 |*. */..s|tatic.Se|
|00000b80| 74 53 74 61 74 65 28 73 | 74 61 74 65 29 0d 7b 0d |tState(s|tate).{.|
|00000b90| 09 53 65 74 45 6e 76 69 | 72 6f 6e 6d 65 6e 74 28 |.SetEnvi|ronment(|
|00000ba0| 26 73 74 61 74 65 29 3b | 0d 7d 0d 0d 0d 2f 2a 0d |&state);|.}.../*.|
|00000bb0| 20 2a 20 20 43 6c 65 61 | 72 45 78 63 65 70 74 69 | * Clea|rExcepti|
|00000bc0| 6f 6e 73 20 2d 20 63 6c | 65 61 72 20 65 72 72 6f |ons - cl|ear erro|
|00000bd0| 72 20 63 6f 6e 64 69 74 | 69 6f 6e 73 0d 20 2a 0d |r condit|ions. *.|
|00000be0| 20 2a 20 20 54 68 69 73 | 20 6d 75 73 74 20 62 65 | * This| must be|
|00000bf0| 20 63 61 6c 6c 65 64 20 | 69 66 20 52 61 6e 67 65 | called |if Range|
|00000c00| 43 68 65 63 6b 20 69 73 | 20 74 6f 20 62 65 20 75 |Check is| to be u|
|00000c10| 73 65 64 2e 0d 20 2a 0d | 20 2a 2f 0d 0d 23 69 66 |sed.. *.| */..#if|
|00000c20| 64 65 66 20 5f 45 52 52 | 4f 52 43 48 45 43 4b 5f |def _ERR|ORCHECK_|
|00000c30| 0d 73 74 61 74 69 63 0d | 43 6c 65 61 72 45 78 63 |.static.|ClearExc|
|00000c40| 65 70 74 69 6f 6e 73 28 | 29 0d 7b 0d 09 69 6e 74 |eptions(|).{..int|
|00000c50| 20 73 74 61 74 65 3b 0d | 09 0d 09 47 65 74 45 6e | state;.|...GetEn|
|00000c60| 76 69 72 6f 6e 6d 65 6e | 74 28 26 73 74 61 74 65 |vironmen|t(&state|
|00000c70| 29 3b 0d 09 73 74 61 74 | 65 20 26 3d 20 7e 45 52 |);..stat|e &= ~ER|
|00000c80| 52 4f 52 3b 0d 09 53 65 | 74 45 6e 76 69 72 6f 6e |ROR;..Se|tEnviron|
|00000c90| 6d 65 6e 74 28 26 73 74 | 61 74 65 29 3b 0d 7d 0d |ment(&st|ate);.}.|
|00000ca0| 23 65 6e 64 69 66 20 5f | 45 52 52 4f 52 43 48 45 |#endif _|ERRORCHE|
|00000cb0| 43 4b 5f 0d 0d 0d 2f 2a | 0d 20 2a 20 20 53 65 74 |CK_.../*|. * Set|
|00000cc0| 52 6f 75 6e 64 20 2d 20 | 64 65 66 69 6e 65 20 72 |Round - |define r|
|00000cd0| 6f 75 6e 64 69 6e 67 20 | 64 69 72 65 63 74 69 6f |ounding |directio|
|00000ce0| 6e 0d 20 2a 0d 20 2a 20 | 20 54 68 65 20 70 72 65 |n. *. * | The pre|
|00000cf0| 76 69 6f 75 73 20 65 6e | 76 69 72 6f 6e 6d 65 6e |vious en|vironmen|
|00000d00| 74 20 77 6f 72 64 20 69 | 73 20 72 65 74 75 72 6e |t word i|s return|
|00000d10| 65 64 2e 20 20 54 68 65 | 20 72 6f 75 6e 64 69 6e |ed. The| roundin|
|00000d20| 67 20 64 69 72 65 63 74 | 69 6f 6e 20 63 61 6e 0d |g direct|ion can.|
|00000d30| 20 2a 20 20 62 65 20 72 | 65 73 74 6f 72 65 64 20 | * be r|estored |
|00000d40| 62 79 20 70 61 73 73 69 | 6e 67 20 74 68 69 73 20 |by passi|ng this |
|00000d50| 76 61 6c 75 65 20 74 6f | 20 53 65 74 53 74 61 74 |value to| SetStat|
|00000d60| 65 2e 0d 20 2a 0d 20 2a | 2f 0d 0d 73 74 61 74 69 |e.. *. *|/..stati|
|00000d70| 63 0d 53 65 74 52 6f 75 | 6e 64 28 64 69 72 65 63 |c.SetRou|nd(direc|
|00000d80| 74 69 6f 6e 29 0d 7b 0d | 09 69 6e 74 20 73 74 61 |tion).{.|.int sta|
|00000d90| 74 65 3b 0d 0d 09 47 65 | 74 45 6e 76 69 72 6f 6e |te;...Ge|tEnviron|
|00000da0| 6d 65 6e 74 28 26 73 74 | 61 74 65 29 3b 0d 09 53 |ment(&st|ate);..S|
|00000db0| 65 74 53 74 61 74 65 28 | 28 73 74 61 74 65 20 26 |etState(|(state &|
|00000dc0| 20 7e 52 4f 55 4e 44 29 | 20 7c 20 64 69 72 65 63 | ~ROUND)| | direc|
|00000dd0| 74 69 6f 6e 29 3b 0d 09 | 72 65 74 75 72 6e 28 73 |tion);..|return(s|
|00000de0| 74 61 74 65 29 3b 0d 7d | 0d 0d 0d 2f 2a 0d 20 2a |tate);.}|.../*. *|
|00000df0| 20 20 78 66 65 72 73 69 | 67 6e 20 2d 20 74 72 61 | xfersi|gn - tra|
|00000e00| 6e 73 66 65 72 20 73 69 | 67 6e 20 66 72 6f 6d 20 |nsfer si|gn from |
|00000e10| 6f 6e 65 20 66 6c 6f 61 | 74 69 6e 67 20 6e 75 6d |one floa|ting num|
|00000e20| 62 65 72 20 74 6f 20 61 | 6e 6f 74 68 65 72 0d 20 |ber to a|nother. |
|00000e30| 2a 0d 20 2a 2f 0d 0d 73 | 74 61 74 69 63 0d 78 66 |*. */..s|tatic.xf|
|00000e40| 65 72 73 69 67 6e 28 78 | 2c 20 79 70 29 0d 64 6f |ersign(x|, yp).do|
|00000e50| 75 62 6c 65 20 78 2c 20 | 2a 79 70 3b 0d 7b 0d 09 |uble x, |*yp;.{..|
|00000e60| 61 73 6d 20 7b 0d 09 09 | 6d 6f 76 65 61 2e 6c 09 |asm {...|movea.l.|
|00000e70| 79 70 2c 61 30 0d 09 09 | 62 63 6c 72 09 23 37 2c |yp,a0...|bclr.#7,|
|00000e80| 28 61 30 29 0d 09 09 74 | 73 74 2e 77 09 78 0d 09 |(a0)...t|st.w.x..|
|00000e90| 09 62 70 6c 2e 73 09 40 | 31 0d 09 09 62 73 65 74 |.bpl.s.@|1...bset|
|00000ea0| 09 23 37 2c 28 61 30 29 | 0d 40 31 09 7d 0d 7d 0d |.#7,(a0)|.@1.}.}.|
|00000eb0| 0d 0d 2f 2a 20 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 20 |../* ---|------- |
|00000ec0| 6d 61 74 68 20 66 75 6e | 63 74 69 6f 6e 73 20 28 |math fun|ctions (|
|00000ed0| 61 6c 70 68 61 62 65 74 | 69 63 61 6c 6c 79 29 20 |alphabet|ically) |
|00000ee0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 20 2a 2f 0d 0d 0d |--------|-- */...|
|00000ef0| 2f 2a 0d 20 2a 20 20 61 | 62 73 20 2d 20 61 62 73 |/*. * a|bs - abs|
|00000f00| 6f 6c 75 74 65 20 76 61 | 6c 75 65 20 6f 66 20 61 |olute va|lue of a|
|00000f10| 6e 20 69 6e 74 65 67 65 | 72 0d 20 2a 0d 20 2a 2f |n intege|r. *. */|
|00000f20| 0d 0d 69 6e 74 20 61 62 | 73 28 78 29 0d 69 6e 74 |..int ab|s(x).int|
|00000f30| 20 78 3b 0d 7b 0d 09 72 | 65 74 75 72 6e 28 78 20 | x;.{..r|eturn(x |
|00000f40| 3c 20 30 20 3f 20 2d 78 | 20 3a 20 78 29 3b 0d 7d |< 0 ? -x| : x);.}|
|00000f50| 0d 0d 2f 2a 20 74 68 65 | 20 72 65 61 6c 20 66 75 |../* the| real fu|
|00000f60| 6e 63 74 69 6f 6e 73 20 | 61 72 65 20 68 65 72 65 |nctions |are here|
|00000f70| 2c 20 69 6e 20 66 61 63 | 74 2c 20 77 68 65 6e 20 |, in fac|t, when |
|00000f80| 5f 45 52 52 4f 52 43 48 | 45 43 4b 5f 20 69 73 20 |_ERRORCH|ECK_ is |
|00000f90| 75 6e 64 65 66 69 6e 65 | 64 2c 0d 74 68 65 79 20 |undefine|d,.they |
|00000fa0| 77 69 6c 6c 20 62 65 20 | 63 61 6c 6c 65 64 20 64 |will be |called d|
|00000fb0| 69 72 65 63 74 6c 79 2e | 2a 2f 0d 0d 2f 2a 20 73 |irectly.|*/../* s|
|00000fc0| 6f 6d 65 20 70 72 65 2d | 64 65 63 6c 61 72 61 74 |ome pre-|declarat|
|00000fd0| 69 6f 6e 73 2e 2e 2a 2f | 0d 64 6f 75 62 6c 65 20 |ions..*/|.double |
|00000fe0| 5f 65 78 70 28 29 3b 0d | 64 6f 75 62 6c 65 20 5f |_exp();.|double _|
|00000ff0| 66 61 62 73 28 29 3b 0d | 0d 64 6f 75 62 6c 65 20 |fabs();.|.double |
|00001000| 5f 61 63 6f 73 28 78 29 | 0d 64 6f 75 62 6c 65 20 |_acos(x)|.double |
|00001010| 78 3b 0d 7b 0d 09 72 65 | 74 75 72 6e 28 54 77 6f |x;.{..re|turn(Two|
|00001020| 20 2a 20 61 74 61 6e 28 | 73 71 72 74 28 28 4f 6e | * atan(|sqrt((On|
|00001030| 65 20 2d 20 78 29 20 2f | 20 28 4f 6e 65 20 2b 20 |e - x) /| (One + |
|00001040| 78 29 29 29 29 3b 0d 7d | 0d 0d 64 6f 75 62 6c 65 |x))));.}|..double|
|00001050| 20 5f 61 73 69 6e 28 78 | 29 0d 64 6f 75 62 6c 65 | _asin(x|).double|
|00001060| 20 78 3b 0d 7b 0d 09 64 | 6f 75 62 6c 65 20 79 20 | x;.{..d|ouble y |
|00001070| 3d 20 5f 66 61 62 73 28 | 78 29 3b 0d 0d 09 44 6f |= _fabs(|x);...Do|
|00001080| 6d 61 69 6e 43 68 65 63 | 6b 28 79 20 3e 20 4f 6e |mainChec|k(y > On|
|00001090| 65 2c 20 5a 65 72 6f 29 | 3b 0d 09 69 66 20 28 79 |e, Zero)|;..if (y|
|000010a0| 20 3d 3d 20 4f 6e 65 29 | 20 7b 0d 09 09 79 20 3d | == One)| {...y =|
|000010b0| 20 50 69 32 3b 0d 09 09 | 78 66 65 72 73 69 67 6e | Pi2;...|xfersign|
|000010c0| 28 78 2c 20 26 79 29 3b | 0d 09 09 72 65 74 75 72 |(x, &y);|...retur|
|000010d0| 6e 28 79 29 3b 0d 09 7d | 0d 09 69 66 20 28 79 20 |n(y);..}|..if (y |
|000010e0| 3e 20 50 6f 69 6e 74 46 | 69 76 65 29 20 7b 0d 09 |> PointF|ive) {..|
|000010f0| 09 79 20 3d 20 4f 6e 65 | 20 2d 20 79 3b 0d 09 09 |.y = One| - y;...|
|00001100| 79 20 3d 20 54 77 6f 20 | 2a 20 79 20 2d 20 79 20 |y = Two |* y - y |
|00001110| 2a 20 79 3b 0d 09 7d 0d | 09 65 6c 73 65 0d 09 09 |* y;..}.|.else...|
|00001120| 79 20 3d 20 4f 6e 65 20 | 2d 20 79 20 2a 20 79 3b |y = One |- y * y;|
|00001130| 0d 09 72 65 74 75 72 6e | 28 61 74 61 6e 28 78 20 |..return|(atan(x |
|00001140| 2f 20 73 71 72 74 28 79 | 29 29 29 3b 0d 7d 0d 0d |/ sqrt(y|)));.}..|
|00001150| 64 6f 75 62 6c 65 20 5f | 61 74 61 6e 28 78 29 0d |double _|atan(x).|
|00001160| 64 6f 75 62 6c 65 20 78 | 3b 0d 7b 0d 09 5f 74 6f |double x|;.{.._to|
|00001170| 38 30 28 78 29 3b 0d 09 | 65 6c 65 6d 73 36 38 6b |80(x);..|elems68k|
|00001180| 28 26 5f 78 38 30 2c 20 | 46 4f 41 54 41 4e 58 29 |(&_x80, |FOATANX)|
|00001190| 3b 0d 09 5f 74 6f 39 36 | 28 78 29 3b 0d 09 72 65 |;.._to96|(x);..re|
|000011a0| 74 75 72 6e 28 78 29 3b | 0d 7d 0d 0d 64 6f 75 62 |turn(x);|.}..doub|
|000011b0| 6c 65 20 5f 61 74 61 6e | 32 28 79 2c 20 78 29 0d |le _atan|2(y, x).|
|000011c0| 64 6f 75 62 6c 65 20 79 | 2c 20 78 3b 0d 7b 0d 09 |double y|, x;.{..|
|000011d0| 64 6f 75 62 6c 65 20 7a | 3b 0d 0d 09 69 66 20 28 |double z|;...if (|
|000011e0| 78 20 3d 3d 20 30 29 20 | 7b 0d 09 09 44 6f 6d 61 |x == 0) |{...Doma|
|000011f0| 69 6e 43 68 65 63 6b 28 | 79 20 3d 3d 20 30 2c 20 |inCheck(|y == 0, |
|00001200| 5a 65 72 6f 29 3b 0d 09 | 09 7a 20 3d 20 50 69 32 |Zero);..|.z = Pi2|
|00001210| 3b 0d 09 7d 0d 09 65 6c | 73 65 20 7b 0d 09 09 7a |;..}..el|se {...z|
|00001220| 20 3d 20 61 74 61 6e 28 | 66 61 62 73 28 79 20 2f | = atan(|fabs(y /|
|00001230| 20 78 29 29 3b 0d 09 09 | 69 66 20 28 78 20 3c 20 | x));...|if (x < |
|00001240| 30 29 0d 09 09 09 7a 20 | 3d 20 50 69 20 2d 20 7a |0)....z |= Pi - z|
|00001250| 3b 0d 09 7d 0d 09 78 66 | 65 72 73 69 67 6e 28 79 |;..}..xf|ersign(y|
|00001260| 2c 20 26 7a 29 3b 0d 09 | 72 65 74 75 72 6e 28 7a |, &z);..|return(z|
|00001270| 29 3b 0d 7d 0d 0d 64 6f | 75 62 6c 65 20 5f 63 65 |);.}..do|uble _ce|
|00001280| 69 6c 28 78 29 0d 64 6f | 75 62 6c 65 20 78 3b 0d |il(x).do|uble x;.|
|00001290| 7b 0d 09 72 65 67 69 73 | 74 65 72 20 69 6e 74 20 |{..regis|ter int |
|000012a0| 73 74 61 74 65 20 3d 20 | 53 65 74 52 6f 75 6e 64 |state = |SetRound|
|000012b0| 28 52 4f 55 4e 44 5f 55 | 50 29 3b 0d 09 5f 74 6f |(ROUND_U|P);.._to|
|000012c0| 38 30 28 78 29 3b 0d 09 | 66 70 36 38 6b 28 26 5f |80(x);..|fp68k(&_|
|000012d0| 78 38 30 2c 20 46 4f 52 | 54 49 29 3b 0d 09 53 65 |x80, FOR|TI);..Se|
|000012e0| 74 53 74 61 74 65 28 73 | 74 61 74 65 29 3b 0d 09 |tState(s|tate);..|
|000012f0| 5f 74 6f 39 36 28 78 29 | 3b 0d 09 72 65 74 75 72 |_to96(x)|;..retur|
|00001300| 6e 28 78 29 3b 0d 7d 0d | 0d 64 6f 75 62 6c 65 20 |n(x);.}.|.double |
|00001310| 5f 63 6f 73 28 78 29 0d | 64 6f 75 62 6c 65 20 78 |_cos(x).|double x|
|00001320| 3b 0d 7b 09 0d 09 5f 74 | 6f 38 30 28 78 29 0d 09 |;.{..._t|o80(x)..|
|00001330| 65 6c 65 6d 73 36 38 6b | 28 26 5f 78 38 30 2c 20 |elems68k|(&_x80, |
|00001340| 46 4f 43 4f 53 58 29 3b | 0d 09 5f 74 6f 39 36 28 |FOCOSX);|.._to96(|
|00001350| 78 29 0d 09 72 65 74 75 | 72 6e 28 78 29 3b 0d 7d |x)..retu|rn(x);.}|
|00001360| 0d 0d 64 6f 75 62 6c 65 | 20 5f 63 6f 73 68 28 78 |..double| _cosh(x|
|00001370| 29 0d 64 6f 75 62 6c 65 | 20 78 3b 0d 7b 0d 09 43 |).double| x;.{..C|
|00001380| 6c 65 61 72 45 78 63 65 | 70 74 69 6f 6e 73 28 29 |learExce|ptions()|
|00001390| 3b 0d 09 78 20 3d 20 50 | 6f 69 6e 74 46 69 76 65 |;..x = P|ointFive|
|000013a0| 20 2a 20 5f 65 78 70 28 | 5f 66 61 62 73 28 78 29 | * _exp(|_fabs(x)|
|000013b0| 29 3b 0d 09 78 20 2b 3d | 20 50 6f 69 6e 74 54 77 |);..x +=| PointTw|
|000013c0| 6f 46 69 76 65 20 2f 20 | 78 3b 0d 09 52 61 6e 67 |oFive / |x;..Rang|
|000013d0| 65 43 68 65 63 6b 28 78 | 29 3b 0d 09 72 65 74 75 |eCheck(x|);..retu|
|000013e0| 72 6e 28 78 29 3b 0d 7d | 0d 0d 64 6f 75 62 6c 65 |rn(x);.}|..double|
|000013f0| 20 5f 65 78 70 28 78 29 | 0d 64 6f 75 62 6c 65 20 | _exp(x)|.double |
|00001400| 78 3b 0d 7b 0d 09 5f 74 | 6f 38 30 28 78 29 3b 0d |x;.{.._t|o80(x);.|
|00001410| 09 65 6c 65 6d 73 36 38 | 6b 28 26 5f 78 38 30 2c |.elems68|k(&_x80,|
|00001420| 20 46 4f 45 58 50 58 29 | 3b 0d 09 5f 74 6f 39 36 | FOEXPX)|;.._to96|
|00001430| 28 78 29 3b 0d 09 72 65 | 74 75 72 6e 28 78 29 3b |(x);..re|turn(x);|
|00001440| 0d 7d 0d 0d 64 6f 75 62 | 6c 65 20 5f 66 61 62 73 |.}..doub|le _fabs|
|00001450| 28 78 29 0d 64 6f 75 62 | 6c 65 20 78 3b 0d 7b 0d |(x).doub|le x;.{.|
|00001460| 09 5f 74 6f 38 30 28 78 | 29 3b 0d 09 66 70 36 38 |._to80(x|);..fp68|
|00001470| 6b 28 26 5f 78 38 30 2c | 20 46 4f 41 42 53 29 3b |k(&_x80,| FOABS);|
|00001480| 0d 09 5f 74 6f 39 36 28 | 78 29 3b 0d 09 72 65 74 |.._to96(|x);..ret|
|00001490| 75 72 6e 28 78 29 3b 0d | 7d 0d 0d 64 6f 75 62 6c |urn(x);.|}..doubl|
|000014a0| 65 20 5f 66 6c 6f 6f 72 | 28 78 29 0d 64 6f 75 62 |e _floor|(x).doub|
|000014b0| 6c 65 20 78 3b 0d 7b 0d | 09 72 65 67 69 73 74 65 |le x;.{.|.registe|
|000014c0| 72 20 69 6e 74 20 73 74 | 61 74 65 20 3d 20 53 65 |r int st|ate = Se|
|000014d0| 74 52 6f 75 6e 64 28 52 | 4f 55 4e 44 5f 44 4f 57 |tRound(R|OUND_DOW|
|000014e0| 4e 29 3b 0d 09 0d 09 5f | 74 6f 38 30 28 78 29 3b |N);...._|to80(x);|
|000014f0| 0d 09 66 70 36 38 6b 28 | 26 5f 78 38 30 2c 20 46 |..fp68k(|&_x80, F|
|00001500| 4f 52 54 49 29 3b 0d 09 | 5f 74 6f 39 36 28 78 29 |ORTI);..|_to96(x)|
|00001510| 3b 0d 09 53 65 74 53 74 | 61 74 65 28 73 74 61 74 |;..SetSt|ate(stat|
|00001520| 65 29 3b 0d 09 72 65 74 | 75 72 6e 28 78 29 3b 0d |e);..ret|urn(x);.|
|00001530| 7d 0d 0d 64 6f 75 62 6c | 65 20 5f 66 6d 6f 64 28 |}..doubl|e _fmod(|
|00001540| 78 2c 20 79 29 0d 64 6f | 75 62 6c 65 20 78 2c 20 |x, y).do|uble x, |
|00001550| 79 3b 0d 7b 0d 09 64 6f | 75 62 6c 65 20 7a 3b 0d |y;.{..do|uble z;.|
|00001560| 09 45 78 74 65 6e 64 65 | 64 38 30 20 74 7a 3b 0d |.Extende|d80 tz;.|
|00001570| 09 5f 78 39 36 74 6f 78 | 38 30 28 78 2c 20 74 7a |._x96tox|80(x, tz|
|00001580| 29 3b 0d 09 5f 74 6f 38 | 30 28 79 29 3b 0d 09 66 |);.._to8|0(y);..f|
|00001590| 70 36 38 6b 28 26 5f 78 | 38 30 2c 20 46 4f 41 42 |p68k(&_x|80, FOAB|
|000015a0| 53 29 3b 0d 09 66 70 36 | 38 6b 28 26 5f 78 38 30 |S);..fp6|8k(&_x80|
|000015b0| 2c 20 26 74 7a 2c 20 46 | 4f 52 45 4d 29 3b 0d 09 |, &tz, F|OREM);..|
|000015c0| 5f 74 6f 39 36 28 79 29 | 3b 0d 09 5f 78 38 30 74 |_to96(y)|;.._x80t|
|000015d0| 6f 78 39 36 28 74 7a 2c | 20 7a 29 3b 0d 09 0d 09 |ox96(tz,| z);....|
|000015e0| 69 66 20 28 78 20 3e 20 | 30 20 26 26 20 7a 20 3c |if (x > |0 && z <|
|000015f0| 20 30 29 0d 09 09 7a 20 | 2b 3d 20 79 3b 0d 09 65 | 0)...z |+= y;..e|
|00001600| 6c 73 65 20 69 66 20 28 | 78 20 3c 20 30 20 26 26 |lse if (|x < 0 &&|
|00001610| 20 7a 20 3e 20 30 29 0d | 09 09 7a 20 2d 3d 20 79 | z > 0).|..z -= y|
|00001620| 3b 0d 09 72 65 74 75 72 | 6e 28 7a 29 3b 0d 7d 0d |;..retur|n(z);.}.|
|00001630| 0d 64 6f 75 62 6c 65 20 | 5f 66 72 65 78 70 28 78 |.double |_frexp(x|
|00001640| 2c 20 6e 70 74 72 29 0d | 64 6f 75 62 6c 65 20 78 |, nptr).|double x|
|00001650| 3b 0d 72 65 67 69 73 74 | 65 72 20 69 6e 74 20 2a |;.regist|er int *|
|00001660| 6e 70 74 72 3b 0d 7b 0d | 09 64 6f 75 62 6c 65 20 |nptr;.{.|.double |
|00001670| 79 20 3d 20 66 61 62 73 | 28 78 29 2c 20 7a 20 3d |y = fabs|(x), z =|
|00001680| 20 54 77 6f 3b 0d 09 45 | 78 74 65 6e 64 65 64 38 | Two;..E|xtended8|
|00001690| 30 20 74 79 2c 20 74 7a | 3b 0d 09 0d 09 69 66 20 |0 ty, tz|;....if |
|000016a0| 28 79 20 3d 3d 20 30 29 | 20 7b 0d 09 09 2a 6e 70 |(y == 0)| {...*np|
|000016b0| 74 72 20 3d 20 30 3b 0d | 09 09 72 65 74 75 72 6e |tr = 0;.|..return|
|000016c0| 28 5a 65 72 6f 29 3b 0d | 09 7d 0d 09 0d 09 5f 78 |(Zero);.|.}...._x|
|000016d0| 39 36 74 6f 78 38 30 28 | 79 2c 20 74 79 29 3b 0d |96tox80(|y, ty);.|
|000016e0| 09 65 6c 65 6d 73 36 38 | 6b 28 26 74 79 2c 20 46 |.elems68|k(&ty, F|
|000016f0| 4f 4c 4f 47 32 58 29 3b | 0d 09 5f 78 38 30 74 6f |OLOG2X);|.._x80to|
|00001700| 78 39 36 28 74 79 2c 20 | 79 29 3b 0d 09 0d 09 79 |x96(ty, |y);....y|
|00001710| 20 2d 3d 20 2a 6e 70 74 | 72 20 3d 20 79 3b 0d 09 | -= *npt|r = y;..|
|00001720| 0d 09 5f 78 39 36 74 6f | 78 38 30 28 79 2c 20 74 |.._x96to|x80(y, t|
|00001730| 79 29 3b 0d 09 5f 78 39 | 36 74 6f 78 38 30 28 7a |y);.._x9|6tox80(z|
|00001740| 2c 20 74 7a 29 3b 0d 09 | 65 6c 65 6d 73 36 38 6b |, tz);..|elems68k|
|00001750| 28 26 74 79 2c 20 26 74 | 7a 2c 20 46 4f 50 57 52 |(&ty, &t|z, FOPWR|
|00001760| 59 29 3b 0d 09 5f 78 38 | 30 74 6f 78 39 36 28 74 |Y);.._x8|0tox96(t|
|00001770| 79 2c 20 79 29 3b 0d 09 | 5f 78 38 30 74 6f 78 39 |y, y);..|_x80tox9|
|00001780| 36 28 74 7a 2c 20 7a 29 | 3b 0d 09 0d 09 69 66 20 |6(tz, z)|;....if |
|00001790| 28 7a 20 3e 3d 20 4f 6e | 65 29 20 7b 0d 09 09 7a |(z >= On|e) {...z|
|000017a0| 20 2a 3d 20 50 6f 69 6e | 74 46 69 76 65 3b 0d 09 | *= Poin|tFive;..|
|000017b0| 09 2b 2b 2a 6e 70 74 72 | 3b 0d 09 7d 0d 09 65 6c |.++*nptr|;..}..el|
|000017c0| 73 65 20 69 66 20 28 7a | 20 3c 20 50 6f 69 6e 74 |se if (z| < Point|
|000017d0| 46 69 76 65 29 20 7b 0d | 09 09 7a 20 2b 3d 20 7a |Five) {.|..z += z|
|000017e0| 3b 0d 09 09 2d 2d 2a 6e | 70 74 72 3b 0d 09 7d 0d |;...--*n|ptr;..}.|
|000017f0| 09 78 66 65 72 73 69 67 | 6e 28 78 2c 20 26 7a 29 |.xfersig|n(x, &z)|
|00001800| 3b 0d 09 72 65 74 75 72 | 6e 28 7a 29 3b 0d 7d 0d |;..retur|n(z);.}.|
|00001810| 0d 64 6f 75 62 6c 65 20 | 5f 6c 64 65 78 70 28 78 |.double |_ldexp(x|
|00001820| 2c 20 6e 29 0d 64 6f 75 | 62 6c 65 20 78 3b 0d 69 |, n).dou|ble x;.i|
|00001830| 6e 74 20 6e 3b 0d 7b 0d | 09 5f 74 6f 38 30 28 78 |nt n;.{.|._to80(x|
|00001840| 29 3b 0d 09 66 70 36 38 | 6b 28 26 6e 2c 20 26 5f |);..fp68|k(&n, &_|
|00001850| 78 38 30 2c 20 46 4f 53 | 43 41 4c 42 29 3b 0d 09 |x80, FOS|CALB);..|
|00001860| 5f 74 6f 39 36 28 78 29 | 3b 0d 09 72 65 74 75 72 |_to96(x)|;..retur|
|00001870| 6e 28 78 29 3b 0d 7d 0d | 0d 64 6f 75 62 6c 65 20 |n(x);.}.|.double |
|00001880| 5f 6c 6f 67 28 78 29 0d | 64 6f 75 62 6c 65 20 78 |_log(x).|double x|
|00001890| 3b 0d 7b 0d 09 5f 74 6f | 38 30 28 78 29 3b 0d 09 |;.{.._to|80(x);..|
|000018a0| 65 6c 65 6d 73 36 38 6b | 28 26 5f 78 38 30 2c 20 |elems68k|(&_x80, |
|000018b0| 46 4f 4c 4e 58 29 3b 0d | 09 5f 74 6f 39 36 28 78 |FOLNX);.|._to96(x|
|000018c0| 29 3b 0d 09 72 65 74 75 | 72 6e 28 78 29 3b 0d 7d |);..retu|rn(x);.}|
|000018d0| 0d 0d 64 6f 75 62 6c 65 | 20 5f 6c 6f 67 31 30 28 |..double| _log10(|
|000018e0| 78 29 0d 64 6f 75 62 6c | 65 20 78 3b 0d 7b 0d 09 |x).doubl|e x;.{..|
|000018f0| 5f 74 6f 38 30 28 78 29 | 3b 0d 09 65 6c 65 6d 73 |_to80(x)|;..elems|
|00001900| 36 38 6b 28 26 5f 78 38 | 30 2c 20 46 4f 4c 4f 47 |68k(&_x8|0, FOLOG|
|00001910| 32 58 29 3b 09 2f 2a 20 | 4c 4f 47 32 20 69 73 20 |2X);./* |LOG2 is |
|00001920| 6d 75 63 68 20 66 61 73 | 74 65 72 20 74 68 61 6e |much fas|ter than|
|00001930| 20 4c 4e 20 2a 2f 0d 09 | 5f 74 6f 39 36 28 78 29 | LN */..|_to96(x)|
|00001940| 3b 0d 09 72 65 74 75 72 | 6e 28 78 2f 20 4c 6f 67 |;..retur|n(x/ Log|
|00001950| 32 54 65 6e 29 3b 0d 7d | 0d 0d 64 6f 75 62 6c 65 |2Ten);.}|..double|
|00001960| 20 5f 6d 6f 64 66 28 78 | 2c 20 6e 70 74 72 29 0d | _modf(x|, nptr).|
|00001970| 64 6f 75 62 6c 65 20 78 | 3b 0d 72 65 67 69 73 74 |double x|;.regist|
|00001980| 65 72 20 64 6f 75 62 6c | 65 20 2a 6e 70 74 72 3b |er doubl|e *nptr;|
|00001990| 0d 7b 0d 09 5f 74 6f 38 | 30 28 78 29 3b 0d 09 66 |.{.._to8|0(x);..f|
|000019a0| 70 36 38 6b 28 26 5f 78 | 38 30 2c 20 46 4f 54 54 |p68k(&_x|80, FOTT|
|000019b0| 49 29 3b 0d 09 78 38 30 | 74 6f 78 39 36 28 26 5f |I);..x80|tox96(&_|
|000019c0| 78 38 30 2c 20 6e 70 74 | 72 29 3b 0d 09 72 65 74 |x80, npt|r);..ret|
|000019d0| 75 72 6e 28 78 20 2d 20 | 2a 6e 70 74 72 29 3b 0d |urn(x - |*nptr);.|
|000019e0| 7d 0d 0d 64 6f 75 62 6c | 65 20 5f 70 6f 77 28 78 |}..doubl|e _pow(x|
|000019f0| 2c 20 79 29 0d 64 6f 75 | 62 6c 65 20 78 2c 20 79 |, y).dou|ble x, y|
|00001a00| 3b 0d 7b 0d 09 64 6f 75 | 62 6c 65 20 74 78 2c 20 |;.{..dou|ble tx, |
|00001a10| 74 79 3b 0d 09 5f 78 39 | 36 74 6f 78 38 30 28 79 |ty;.._x9|6tox80(y|
|00001a20| 2c 20 74 79 29 3b 0d 09 | 5f 78 39 36 74 6f 78 38 |, ty);..|_x96tox8|
|00001a30| 30 28 78 2c 20 74 78 29 | 3b 0d 09 65 6c 65 6d 73 |0(x, tx)|;..elems|
|00001a40| 36 38 6b 28 26 74 79 2c | 20 26 74 78 2c 20 46 4f |68k(&ty,| &tx, FO|
|00001a50| 50 57 52 59 29 3b 0d 2f | 2a 09 5f 78 38 30 74 6f |PWRY);./|*._x80to|
|00001a60| 78 39 36 28 74 79 2c 20 | 79 29 3b 09 2a 2f 0d 09 |x96(ty, |y);.*/..|
|00001a70| 5f 78 38 30 74 6f 78 39 | 36 28 74 78 2c 20 78 29 |_x80tox9|6(tx, x)|
|00001a80| 3b 0d 09 72 65 74 75 72 | 6e 28 78 29 3b 0d 7d 0d |;..retur|n(x);.}.|
|00001a90| 0d 64 6f 75 62 6c 65 20 | 5f 73 69 6e 28 78 29 0d |.double |_sin(x).|
|00001aa0| 64 6f 75 62 6c 65 20 78 | 3b 0d 7b 0d 09 5f 74 6f |double x|;.{.._to|
|00001ab0| 38 30 28 78 29 3b 0d 09 | 65 6c 65 6d 73 36 38 6b |80(x);..|elems68k|
|00001ac0| 28 26 5f 78 38 30 2c 20 | 46 4f 53 49 4e 58 29 3b |(&_x80, |FOSINX);|
|00001ad0| 0d 09 5f 74 6f 39 36 28 | 78 29 3b 0d 09 72 65 74 |.._to96(|x);..ret|
|00001ae0| 75 72 6e 28 78 29 3b 0d | 7d 0d 0d 64 6f 75 62 6c |urn(x);.|}..doubl|
|00001af0| 65 20 5f 73 69 6e 68 28 | 78 29 0d 64 6f 75 62 6c |e _sinh(|x).doubl|
|00001b00| 65 20 78 3b 0d 7b 0d 09 | 64 6f 75 62 6c 65 20 79 |e x;.{..|double y|
|00001b10| 20 3d 20 5f 66 61 62 73 | 28 78 29 3b 0d 09 0d 09 | = _fabs|(x);....|
|00001b20| 5f 74 6f 38 30 28 79 29 | 3b 0d 09 65 6c 65 6d 73 |_to80(y)|;..elems|
|00001b30| 36 38 6b 28 26 5f 78 38 | 30 2c 20 46 4f 45 58 50 |68k(&_x8|0, FOEXP|
|00001b40| 31 58 29 3b 0d 09 5f 74 | 6f 39 36 28 79 29 3b 0d |1X);.._t|o96(y);.|
|00001b50| 09 79 20 2b 3d 20 79 20 | 2f 20 28 79 20 2b 20 4f |.y += y |/ (y + O|
|00001b60| 6e 65 29 3b 0d 09 79 20 | 2a 3d 20 50 6f 69 6e 74 |ne);..y |*= Point|
|00001b70| 46 69 76 65 3b 0d 0d 09 | 78 66 65 72 73 69 67 6e |Five;...|xfersign|
|00001b80| 28 78 2c 20 26 79 29 3b | 0d 09 72 65 74 75 72 6e |(x, &y);|..return|
|00001b90| 28 79 29 3b 0d 7d 0d 0d | 64 6f 75 62 6c 65 20 5f |(y);.}..|double _|
|00001ba0| 73 71 72 74 28 78 29 0d | 64 6f 75 62 6c 65 20 78 |sqrt(x).|double x|
|00001bb0| 3b 0d 7b 0d 09 5f 74 6f | 38 30 28 78 29 3b 0d 09 |;.{.._to|80(x);..|
|00001bc0| 66 70 36 38 6b 28 26 5f | 78 38 30 2c 20 46 4f 53 |fp68k(&_|x80, FOS|
|00001bd0| 51 52 54 29 3b 0d 09 5f | 74 6f 39 36 28 78 29 3b |QRT);.._|to96(x);|
|00001be0| 0d 09 72 65 74 75 72 6e | 28 78 29 3b 0d 7d 0d 0d |..return|(x);.}..|
|00001bf0| 64 6f 75 62 6c 65 20 5f | 74 61 6e 28 78 29 0d 64 |double _|tan(x).d|
|00001c00| 6f 75 62 6c 65 20 78 3b | 0d 7b 0d 09 5f 74 6f 38 |ouble x;|.{.._to8|
|00001c10| 30 28 78 29 3b 0d 09 65 | 6c 65 6d 73 36 38 6b 28 |0(x);..e|lems68k(|
|00001c20| 26 5f 78 38 30 2c 20 46 | 4f 54 41 4e 58 29 3b 0d |&_x80, F|OTANX);.|
|00001c30| 09 5f 74 6f 39 36 28 78 | 29 3b 0d 09 72 65 74 75 |._to96(x|);..retu|
|00001c40| 72 6e 28 78 29 3b 0d 7d | 0d 0d 64 6f 75 62 6c 65 |rn(x);.}|..double|
|00001c50| 20 5f 74 61 6e 68 28 78 | 29 0d 64 6f 75 62 6c 65 | _tanh(x|).double|
|00001c60| 20 78 3b 0d 7b 0d 09 64 | 6f 75 62 6c 65 20 79 20 | x;.{..d|ouble y |
|00001c70| 3d 20 4d 69 6e 75 73 54 | 77 6f 20 2a 20 5f 66 61 |= MinusT|wo * _fa|
|00001c80| 62 73 28 78 29 3b 0d 09 | 5f 74 6f 38 30 28 79 29 |bs(x);..|_to80(y)|
|00001c90| 3b 0d 09 65 6c 65 6d 73 | 36 38 6b 28 26 5f 78 38 |;..elems|68k(&_x8|
|00001ca0| 30 2c 20 46 4f 45 58 50 | 31 58 29 3b 0d 09 5f 74 |0, FOEXP|1X);.._t|
|00001cb0| 6f 39 36 28 79 29 3b 0d | 09 79 20 3d 20 2d 79 20 |o96(y);.|.y = -y |
|00001cc0| 2f 20 28 79 20 2b 20 54 | 77 6f 29 3b 0d 09 78 66 |/ (y + T|wo);..xf|
|00001cd0| 65 72 73 69 67 6e 28 78 | 2c 20 26 79 29 3b 0d 09 |ersign(x|, &y);..|
|00001ce0| 72 65 74 75 72 6e 28 79 | 29 3b 0d 7d 0d 0d 6c 6f |return(y|);.}..lo|
|00001cf0| 6e 67 20 6c 61 62 73 28 | 78 29 0d 6c 6f 6e 67 20 |ng labs(|x).long |
|00001d00| 78 3b 0d 7b 0d 09 72 65 | 74 75 72 6e 28 78 20 3c |x;.{..re|turn(x <|
|00001d10| 20 30 20 3f 20 78 3a 20 | 2d 78 29 3b 0d 7d 0d 0d | 0 ? x: |-x);.}..|
|00001d20| 69 6e 74 20 72 61 6e 64 | 28 29 0d 7b 0d 09 73 65 |int rand|().{..se|
|00001d30| 65 64 20 3d 20 73 65 65 | 64 20 2a 20 31 31 30 33 |ed = see|d * 1103|
|00001d40| 35 31 35 32 34 35 20 2b | 20 31 32 33 34 35 3b 0d |515245 +| 12345;.|
|00001d50| 09 61 73 6d 20 7b 0d 09 | 09 6d 6f 76 65 2e 77 09 |.asm {..|.move.w.|
|00001d60| 73 65 65 64 2c 64 30 09 | 09 09 3b 20 20 68 69 67 |seed,d0.|..; hig|
|00001d70| 68 20 77 6f 72 64 20 6f | 66 20 6c 6f 6e 67 0d 09 |h word o|f long..|
|00001d80| 09 61 6e 64 69 2e 77 09 | 23 30 78 37 46 46 46 2c |.andi.w.|#0x7FFF,|
|00001d90| 64 30 09 09 3b 20 20 72 | 65 6d 6f 76 65 20 68 69 |d0..; r|emove hi|
|00001da0| 67 68 20 62 69 74 0d 09 | 7d 0d 7d 0d 0d 76 6f 69 |gh bit..|}.}..voi|
|00001db0| 64 20 73 72 61 6e 64 28 | 6e 29 0d 75 6e 73 69 67 |d srand(|n).unsig|
|00001dc0| 6e 65 64 20 6e 3b 0d 7b | 0d 09 73 65 65 64 20 3d |ned n;.{|..seed =|
|00001dd0| 20 6e 3b 0d 7d 0d 0d 0d | 23 69 66 64 65 66 20 5f | n;.}...|#ifdef _|
|00001de0| 45 52 52 4f 52 43 48 45 | 43 4b 5f 0d 64 6f 75 62 |ERRORCHE|CK_.doub|
|00001df0| 6c 65 20 61 63 6f 73 28 | 78 29 0d 64 6f 75 62 6c |le acos(|x).doubl|
|00001e00| 65 20 78 3b 0d 7b 0d 09 | 44 6f 6d 61 69 6e 43 68 |e x;.{..|DomainCh|
|00001e10| 65 63 6b 28 78 20 3e 20 | 4f 6e 65 20 7c 7c 20 78 |eck(x > |One || x|
|00001e20| 20 3c 20 4d 69 6e 75 73 | 4f 6e 65 2c 20 5a 65 72 | < Minus|One, Zer|
|00001e30| 6f 29 3b 0d 09 69 66 20 | 28 78 20 3d 3d 20 4d 69 |o);..if |(x == Mi|
|00001e40| 6e 75 73 4f 6e 65 29 0d | 09 09 72 65 74 75 72 6e |nusOne).|..return|
|00001e50| 28 50 69 29 3b 0d 09 72 | 65 74 75 72 6e 28 5f 61 |(Pi);..r|eturn(_a|
|00001e60| 63 6f 73 28 78 29 29 3b | 0d 7d 0d 0d 64 6f 75 62 |cos(x));|.}..doub|
|00001e70| 6c 65 20 61 73 69 6e 28 | 78 29 0d 64 6f 75 62 6c |le asin(|x).doubl|
|00001e80| 65 20 78 3b 0d 7b 0d 09 | 72 65 74 75 72 6e 28 5f |e x;.{..|return(_|
|00001e90| 61 73 69 6e 28 78 29 29 | 3b 0d 7d 0d 0d 0d 64 6f |asin(x))|;.}...do|
|00001ea0| 75 62 6c 65 20 61 74 61 | 6e 28 78 29 0d 64 6f 75 |uble ata|n(x).dou|
|00001eb0| 62 6c 65 20 78 3b 0d 7b | 0d 09 72 65 74 75 72 6e |ble x;.{|..return|
|00001ec0| 28 5f 61 74 61 6e 28 78 | 29 29 3b 0d 7d 0d 0d 0d |(_atan(x|));.}...|
|00001ed0| 64 6f 75 62 6c 65 20 61 | 74 61 6e 32 28 79 2c 20 |double a|tan2(y, |
|00001ee0| 78 29 0d 64 6f 75 62 6c | 65 20 79 2c 20 78 3b 0d |x).doubl|e y, x;.|
|00001ef0| 7b 0d 09 72 65 74 75 72 | 6e 28 5f 61 74 61 6e 32 |{..retur|n(_atan2|
|00001f00| 28 79 2c 20 78 29 29 3b | 0d 7d 0d 0d 64 6f 75 62 |(y, x));|.}..doub|
|00001f10| 6c 65 20 63 65 69 6c 28 | 78 29 0d 64 6f 75 62 6c |le ceil(|x).doubl|
|00001f20| 65 20 78 3b 0d 7b 0d 09 | 72 65 74 75 72 6e 28 5f |e x;.{..|return(_|
|00001f30| 63 65 69 6c 28 78 29 29 | 3b 0d 7d 0d 0d 64 6f 75 |ceil(x))|;.}..dou|
|00001f40| 62 6c 65 20 63 6f 73 28 | 78 29 0d 64 6f 75 62 6c |ble cos(|x).doubl|
|00001f50| 65 20 78 3b 0d 7b 09 0d | 09 72 65 74 75 72 6e 28 |e x;.{..|.return(|
|00001f60| 5f 63 6f 73 28 78 29 29 | 3b 0d 7d 0d 0d 64 6f 75 |_cos(x))|;.}..dou|
|00001f70| 62 6c 65 20 63 6f 73 68 | 28 78 29 0d 64 6f 75 62 |ble cosh|(x).doub|
|00001f80| 6c 65 20 78 3b 0d 7b 0d | 09 72 65 74 75 72 6e 28 |le x;.{.|.return(|
|00001f90| 5f 63 6f 73 68 28 78 29 | 29 3b 0d 7d 0d 0d 64 6f |_cosh(x)|);.}..do|
|00001fa0| 75 62 6c 65 20 65 78 70 | 28 78 29 0d 64 6f 75 62 |uble exp|(x).doub|
|00001fb0| 6c 65 20 78 3b 0d 7b 0d | 09 43 6c 65 61 72 45 78 |le x;.{.|.ClearEx|
|00001fc0| 63 65 70 74 69 6f 6e 73 | 28 29 3b 0d 09 78 20 3d |ceptions|();..x =|
|00001fd0| 20 5f 65 78 70 28 78 29 | 3b 0d 09 52 61 6e 67 65 | _exp(x)|;..Range|
|00001fe0| 43 68 65 63 6b 28 78 29 | 3b 0d 09 72 65 74 75 72 |Check(x)|;..retur|
|00001ff0| 6e 28 78 29 3b 0d 7d 0d | 0d 64 6f 75 62 6c 65 20 |n(x);.}.|.double |
|00002000| 66 61 62 73 28 78 29 0d | 64 6f 75 62 6c 65 20 78 |fabs(x).|double x|
|00002010| 3b 0d 7b 0d 09 72 65 74 | 75 72 6e 28 5f 66 61 62 |;.{..ret|urn(_fab|
|00002020| 73 28 78 29 29 3b 0d 7d | 0d 0d 64 6f 75 62 6c 65 |s(x));.}|..double|
|00002030| 20 66 6c 6f 6f 72 28 78 | 29 0d 64 6f 75 62 6c 65 | floor(x|).double|
|00002040| 20 78 3b 0d 7b 0d 09 72 | 65 74 75 72 6e 28 5f 66 | x;.{..r|eturn(_f|
|00002050| 6c 6f 6f 72 28 78 29 29 | 3b 0d 7d 0d 0d 64 6f 75 |loor(x))|;.}..dou|
|00002060| 62 6c 65 20 66 6d 6f 64 | 28 78 2c 20 79 29 0d 64 |ble fmod|(x, y).d|
|00002070| 6f 75 62 6c 65 20 78 2c | 20 79 3b 0d 7b 0d 09 72 |ouble x,| y;.{..r|
|00002080| 65 74 75 72 6e 28 5f 66 | 6d 6f 64 28 78 2c 20 79 |eturn(_f|mod(x, y|
|00002090| 29 29 3b 0d 7d 0d 0d 64 | 6f 75 62 6c 65 20 66 72 |));.}..d|ouble fr|
|000020a0| 65 78 70 28 78 2c 20 6e | 70 74 72 29 0d 64 6f 75 |exp(x, n|ptr).dou|
|000020b0| 62 6c 65 20 78 3b 0d 72 | 65 67 69 73 74 65 72 20 |ble x;.r|egister |
|000020c0| 69 6e 74 20 2a 6e 70 74 | 72 3b 0d 7b 0d 09 72 65 |int *npt|r;.{..re|
|000020d0| 74 75 72 6e 28 5f 66 72 | 65 78 70 28 78 2c 20 6e |turn(_fr|exp(x, n|
|000020e0| 70 74 72 29 29 3b 0d 7d | 0d 0d 0d 2f 2a 0d 20 2a |ptr));.}|.../*. *|
|000020f0| 20 20 6c 64 65 78 70 20 | 2d 20 63 6f 6d 62 69 6e | ldexp |- combin|
|00002100| 65 20 66 72 61 63 74 69 | 6f 6e 2f 65 78 70 6f 6e |e fracti|on/expon|
|00002110| 65 6e 74 20 69 6e 74 6f | 20 61 20 66 6c 6f 61 74 |ent into| a float|
|00002120| 69 6e 67 20 6e 75 6d 62 | 65 72 0d 20 2a 0d 20 2a |ing numb|er. *. *|
|00002130| 2f 0d 0d 64 6f 75 62 6c | 65 20 6c 64 65 78 70 28 |/..doubl|e ldexp(|
|00002140| 78 2c 20 6e 29 0d 64 6f | 75 62 6c 65 20 78 3b 0d |x, n).do|uble x;.|
|00002150| 69 6e 74 20 6e 3b 0d 7b | 0d 09 72 65 74 75 72 6e |int n;.{|..return|
|00002160| 28 5f 6c 64 65 78 70 28 | 78 2c 20 6e 29 29 3b 0d |(_ldexp(|x, n));.|
|00002170| 7d 0d 0d 0d 64 6f 75 62 | 6c 65 20 6c 6f 67 28 78 |}...doub|le log(x|
|00002180| 29 0d 64 6f 75 62 6c 65 | 20 78 3b 0d 7b 0d 09 44 |).double| x;.{..D|
|00002190| 6f 6d 61 69 6e 43 68 65 | 63 6b 28 78 20 3c 3d 20 |omainChe|ck(x <= |
|000021a0| 30 2c 20 4d 69 6e 75 73 | 4d 61 78 29 3b 0d 09 72 |0, Minus|Max);..r|
|000021b0| 65 74 75 72 6e 28 5f 6c | 6f 67 28 78 29 29 3b 0d |eturn(_l|og(x));.|
|000021c0| 7d 0d 0d 64 6f 75 62 6c | 65 20 6c 6f 67 31 30 28 |}..doubl|e log10(|
|000021d0| 78 29 0d 64 6f 75 62 6c | 65 20 78 3b 0d 7b 0d 09 |x).doubl|e x;.{..|
|000021e0| 44 6f 6d 61 69 6e 43 68 | 65 63 6b 28 78 20 3c 3d |DomainCh|eck(x <=|
|000021f0| 20 30 2c 20 4d 69 6e 75 | 73 4d 61 78 29 3b 0d 09 | 0, Minu|sMax);..|
|00002200| 72 65 74 75 72 6e 28 5f | 6c 6f 67 31 30 28 78 29 |return(_|log10(x)|
|00002210| 29 3b 0d 7d 0d 0d 0d 64 | 6f 75 62 6c 65 20 6d 6f |);.}...d|ouble mo|
|00002220| 64 66 28 78 2c 20 6e 70 | 74 72 29 0d 64 6f 75 62 |df(x, np|tr).doub|
|00002230| 6c 65 20 78 2c 20 2a 6e | 70 74 72 3b 0d 7b 0d 09 |le x, *n|ptr;.{..|
|00002240| 72 65 74 75 72 6e 28 5f | 6d 6f 64 66 28 78 2c 20 |return(_|modf(x, |
|00002250| 6e 70 74 72 29 29 3b 0d | 7d 0d 0d 64 6f 75 62 6c |nptr));.|}..doubl|
|00002260| 65 20 70 6f 77 28 78 2c | 20 79 29 0d 64 6f 75 62 |e pow(x,| y).doub|
|00002270| 6c 65 20 78 2c 20 79 3b | 0d 7b 0d 09 69 6e 74 20 |le x, y;|.{..int |
|00002280| 6f 64 64 20 3d 20 30 3b | 0d 09 45 78 74 65 6e 64 |odd = 0;|..Extend|
|00002290| 65 64 38 30 20 74 78 2c | 20 74 79 3b 0d 09 0d 09 |ed80 tx,| ty;....|
|000022a0| 43 6c 65 61 72 45 78 63 | 65 70 74 69 6f 6e 73 28 |ClearExc|eptions(|
|000022b0| 29 3b 0d 09 69 66 20 28 | 78 20 3d 3d 20 30 29 20 |);..if (|x == 0) |
|000022c0| 7b 0d 09 09 69 66 20 28 | 79 20 3c 3d 20 30 29 20 |{...if (|y <= 0) |
|000022d0| 7b 0d 23 69 66 64 65 66 | 20 5f 45 52 52 4f 52 43 |{.#ifdef| _ERRORC|
|000022e0| 48 45 43 4b 5f 0d 09 09 | 09 65 72 72 6e 6f 20 3d |HECK_...|.errno =|
|000022f0| 20 45 44 4f 4d 3b 0d 23 | 65 6e 64 69 66 0d 09 09 | EDOM;.#|endif...|
|00002300| 09 72 65 74 75 72 6e 20 | 28 4d 69 6e 75 73 4d 61 |.return |(MinusMa|
|00002310| 78 29 3b 0d 09 09 7d 0d | 09 09 72 65 74 75 72 6e |x);...}.|..return|
|00002320| 28 5a 65 72 6f 29 3b 0d | 09 7d 0d 0d 09 69 66 20 |(Zero);.|.}...if |
|00002330| 28 79 20 3d 3d 20 30 29 | 0d 09 09 72 65 74 75 72 |(y == 0)|...retur|
|00002340| 6e 28 4f 6e 65 29 3b 0d | 09 69 66 20 28 78 20 3c |n(One);.|.if (x <|
|00002350| 20 30 29 20 7b 0d 09 09 | 69 66 20 28 5f 6d 6f 64 | 0) {...|if (_mod|
|00002360| 66 28 79 2c 20 26 79 29 | 29 20 7b 0d 23 69 66 64 |f(y, &y)|) {.#ifd|
|00002370| 65 66 20 5f 45 52 52 4f | 52 43 48 45 43 4b 5f 0d |ef _ERRO|RCHECK_.|
|00002380| 09 09 09 65 72 72 6e 6f | 20 3d 20 45 44 4f 4d 3b |...errno| = EDOM;|
|00002390| 0d 23 65 6e 64 69 66 0d | 09 09 09 72 65 74 75 72 |.#endif.|...retur|
|000023a0| 6e 20 28 4d 69 6e 75 73 | 4d 61 78 29 3b 0d 09 09 |n (Minus|Max);...|
|000023b0| 7d 0d 09 09 78 20 3d 20 | 2d 78 3b 0d 09 09 6f 64 |}...x = |-x;...od|
|000023c0| 64 20 3d 20 5f 66 6d 6f | 64 28 79 2c 20 54 77 6f |d = _fmo|d(y, Two|
|000023d0| 29 3b 0d 09 7d 0d 0d 09 | 78 20 3d 20 5f 70 6f 77 |);..}...|x = _pow|
|000023e0| 28 78 2c 20 79 29 3b 0d | 09 52 61 6e 67 65 43 68 |(x, y);.|.RangeCh|
|000023f0| 65 63 6b 28 78 29 3b 0d | 09 72 65 74 75 72 6e 28 |eck(x);.|.return(|
|00002400| 6f 64 64 20 3f 20 2d 78 | 20 3a 20 78 29 3b 0d 7d |odd ? -x| : x);.}|
|00002410| 0d 0d 64 6f 75 62 6c 65 | 20 73 69 6e 28 78 29 0d |..double| sin(x).|
|00002420| 64 6f 75 62 6c 65 20 78 | 3b 0d 7b 0d 09 72 65 74 |double x|;.{..ret|
|00002430| 75 72 6e 28 5f 73 69 6e | 28 78 29 29 3b 0d 7d 0d |urn(_sin|(x));.}.|
|00002440| 0d 0d 64 6f 75 62 6c 65 | 20 73 69 6e 68 28 78 29 |..double| sinh(x)|
|00002450| 0d 64 6f 75 62 6c 65 20 | 78 3b 0d 7b 0d 09 64 6f |.double |x;.{..do|
|00002460| 75 62 6c 65 20 79 3b 0d | 09 0d 09 43 6c 65 61 72 |uble y;.|...Clear|
|00002470| 45 78 63 65 70 74 69 6f | 6e 73 28 29 3b 0d 09 79 |Exceptio|ns();..y|
|00002480| 20 3d 20 5f 73 69 6e 68 | 28 78 29 3b 0d 09 52 61 | = _sinh|(x);..Ra|
|00002490| 6e 67 65 43 68 65 63 6b | 28 79 29 3b 0d 09 72 65 |ngeCheck|(y);..re|
|000024a0| 74 75 72 6e 28 79 29 3b | 0d 7d 0d 0d 64 6f 75 62 |turn(y);|.}..doub|
|000024b0| 6c 65 20 73 71 72 74 28 | 78 29 0d 64 6f 75 62 6c |le sqrt(|x).doubl|
|000024c0| 65 20 78 3b 0d 7b 0d 09 | 44 6f 6d 61 69 6e 43 68 |e x;.{..|DomainCh|
|000024d0| 65 63 6b 28 78 20 3c 20 | 30 2c 20 5a 65 72 6f 29 |eck(x < |0, Zero)|
|000024e0| 3b 0d 09 72 65 74 75 72 | 6e 28 5f 73 71 72 74 28 |;..retur|n(_sqrt(|
|000024f0| 78 29 29 3b 0d 7d 0d 0d | 0d 2f 2a 0d 20 2a 20 20 |x));.}..|./*. * |
|00002500| 74 61 6e 20 2d 20 63 69 | 72 63 75 6c 61 72 20 74 |tan - ci|rcular t|
|00002510| 61 6e 67 65 6e 74 0d 20 | 2a 0d 20 2a 2f 0d 0d 64 |angent. |*. */..d|
|00002520| 6f 75 62 6c 65 20 74 61 | 6e 28 78 29 0d 64 6f 75 |ouble ta|n(x).dou|
|00002530| 62 6c 65 20 78 3b 0d 7b | 0d 09 43 6c 65 61 72 45 |ble x;.{|..ClearE|
|00002540| 78 63 65 70 74 69 6f 6e | 73 28 29 3b 0d 09 78 20 |xception|s();..x |
|00002550| 3d 20 5f 74 61 6e 28 78 | 29 3b 0d 09 52 61 6e 67 |= _tan(x|);..Rang|
|00002560| 65 43 68 65 63 6b 28 78 | 29 3b 0d 09 72 65 74 75 |eCheck(x|);..retu|
|00002570| 72 6e 28 78 29 3b 0d 7d | 0d 0d 0d 2f 2a 0d 20 2a |rn(x);.}|.../*. *|
|00002580| 20 20 74 61 6e 68 20 2d | 20 68 79 70 65 72 62 6f | tanh -| hyperbo|
|00002590| 6c 69 63 20 74 61 6e 67 | 65 6e 74 0d 20 2a 0d 20 |lic tang|ent. *. |
|000025a0| 2a 2f 0d 0d 64 6f 75 62 | 6c 65 20 74 61 6e 68 28 |*/..doub|le tanh(|
|000025b0| 78 29 0d 64 6f 75 62 6c | 65 20 78 3b 0d 7b 0d 09 |x).doubl|e x;.{..|
|000025c0| 72 65 74 75 72 6e 28 5f | 74 61 6e 68 28 78 29 29 |return(_|tanh(x))|
|000025d0| 3b 0d 7d 0d 0d 23 65 6e | 64 69 66 0d 00 00 00 00 |;.}..#en|dif.....|
|000025e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000025f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+