_  __   _  _         _ _     _      _           _           
  __| |/ /_ | || |     __| (_)___| | __ (_)_ __   __| | _____  __
 / _` | '_ \| || |_   / _` | / __| |/ / | | '_ \ / _` |/ _ \ \/ /
| (_| | (_) |__   _| | (_| | \__ \   <  | | | | | (_| |  __/>  < 
 \__,_|\___/   |_|    \__,_|_|___/_|\_\ |_|_| |_|\__,_|\___/_/\_\
                                                                 
            

LG-LOG

FILE INFORMATION

FILENAME(S): LG-LOG

FILE TYPE(S): PRG

FILE SIZE: 1.1K

FIRST SEEN: 2025-11-30 21:14:31

APPEARS ON: 1 disk(s)

FILE HASH

0d29f82d872dcc234f87ee583138d382b901ceb035a08dac10ac01de671972b7

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
LOGO FILES LG-LOG PRG DuncanTwain 16 1 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 00 20 54 4F 20 48 45 4C  50 0D 20 50 52 20 5B 54  |. TO HELP. PR [T|
00000010: 48 45 20 50 52 4F 43 45  44 55 52 45 53 20 4C 4F  |HE PROCEDURES LO|
00000020: 47 2C 20 45 58 50 2C 20  41 4E 44 20 4C 4F 47 31  |G, EXP, AND LOG1|
00000030: 30 20 41 52 45 5D 0D 20  50 52 20 5B 41 43 43 55  |0 ARE]. PR [ACCU|
00000040: 52 41 54 45 20 54 4F 20  33 20 4F 52 20 34 20 53  |RATE TO 3 OR 4 S|
00000050: 49 47 4E 49 46 49 43 41  4E 54 20 44 49 47 49 54  |IGNIFICANT DIGIT|
00000060: 53 5D 0D 45 4E 44 0D 0D  54 4F 20 4C 4F 47 31 30  |S].END..TO LOG10|
00000070: 20 3A 4E 0D 20 4F 50 20  28 20 4C 4F 47 20 3A 4E  | :N. OP ( LOG :N|
00000080: 20 29 20 2F 20 32 2E 33  30 32 35 0D 45 4E 44 0D  | ) / 2.3025.END.|
00000090: 0D 54 4F 20 45 58 50 20  3A 4E 0D 20 45 58 50 41  |.TO EXP :N. EXPA|
000000A0: 55 58 20 3A 4E 20 2A 20  31 2E 34 34 32 36 33 0D  |UX :N * 1.44263.|
000000B0: 20 4F 50 20 3A 4E 0D 45  4E 44 0D 0D 54 4F 20 45  | OP :N.END..TO E|
000000C0: 58 50 41 55 58 20 3A 46  0D 20 49 46 20 3A 46 20  |XPAUX :F. IF :F |
000000D0: 3C 20 30 20 4D 41 4B 45  20 22 4E 20 28 20 49 4E  |< 0 MAKE "N ( IN|
000000E0: 54 45 47 45 52 20 3A 46  20 29 20 2D 20 31 20 45  |TEGER :F ) - 1 E|
000000F0: 4C 53 45 20 4D 41 4B 45  20 22 4E 20 49 4E 54 45  |LSE MAKE "N INTE|
00000100: 47 45 52 20 3A 46 0D 20  4D 41 4B 45 20 22 46 20  |GER :F. MAKE "F |
00000110: 3A 46 20 2D 20 3A 4E 0D  20 4D 41 4B 45 20 22 46  |:F - :N. MAKE "F|
00000120: 20 30 2E 35 20 2B 20 3A  46 20 2F 20 28 20 39 2E  | 0.5 + :F / ( 9.|
00000130: 39 35 34 35 39 20 2B 20  30 2E 30 33 34 36 35 36  |95459 + 0.034656|
00000140: 37 20 2A 20 3A 46 20 2A  20 3A 46 20 2D 20 3A 46  |7 * :F * :F - :F|
00000150: 20 2D 20 36 31 37 2E 39  37 32 20 2F 20 28 20 3A  | - 617.972 / ( :|
00000160: 46 20 2A 20 3A 46 20 2B  20 38 37 2E 34 31 37 34  |F * :F + 87.4174|
00000170: 20 29 20 29 0D 20 4D 41  4B 45 20 22 4E 20 3A 4E  | ) ). MAKE "N :N|
00000180: 20 2B 20 31 0D 20 49 46  20 3A 4E 20 3E 20 30 20  | + 1. IF :N > 0 |
00000190: 45 58 50 41 55 58 31 20  45 4C 53 45 20 45 58 50  |EXPAUX1 ELSE EXP|
000001A0: 41 55 58 32 0D 20 4D 41  4B 45 20 22 4E 20 3A 46  |AUX2. MAKE "N :F|
000001B0: 0D 45 4E 44 0D 0D 54 4F  20 4C 4F 47 41 55 58 32  |.END..TO LOGAUX2|
000001C0: 0D 20 49 46 20 4E 4F 54  20 3A 4E 20 3C 20 31 20  |. IF NOT :N < 1 |
000001D0: 53 54 4F 50 0D 20 4D 41  4B 45 20 22 4E 20 3A 4E  |STOP. MAKE "N :N|
000001E0: 20 2A 20 32 0D 20 4D 41  4B 45 20 22 4A 20 3A 4A  | * 2. MAKE "J :J|
000001F0: 20 2D 20 31 0D 20 4C 4F  47 41 55 58 32 0D 45 4E  | - 1. LOGAUX2.EN|
00000200: 44 0D 0D 54 4F 20 4C 4F  47 41 55 58 31 0D 20 49  |D..TO LOGAUX1. I|
00000210: 46 20 3A 4E 20 3C 20 32  20 53 54 4F 50 0D 20 4D  |F :N < 2 STOP. M|
00000220: 41 4B 45 20 22 4E 20 3A  4E 20 2A 20 30 2E 35 0D  |AKE "N :N * 0.5.|
00000230: 20 4D 41 4B 45 20 22 4A  20 3A 4A 20 2B 20 31 0D  | MAKE "J :J + 1.|
00000240: 20 4C 4F 47 41 55 58 31  0D 45 4E 44 0D 0D 54 4F  | LOGAUX1.END..TO|
00000250: 20 4C 4F 47 20 3A 4E 0D  20 49 46 20 3A 4E 20 3D  | LOG :N. IF :N =|
00000260: 20 31 20 4F 50 20 30 0D  20 4C 4F 47 41 55 58 20  | 1 OP 0. LOGAUX |
00000270: 30 20 30 0D 20 4F 50 20  3A 4E 0D 45 4E 44 0D 0D  |0 0. OP :N.END..|
00000280: 54 4F 20 4C 4F 47 41 55  58 20 3A 4A 20 3A 54 0D  |TO LOGAUX :J :T.|
00000290: 20 49 46 20 4E 4F 54 20  3A 4E 20 3E 20 30 20 50  | IF NOT :N > 0 P|
000002A0: 52 20 5B 4E 45 47 20 4C  4F 47 5D 20 54 4F 50 4C  |R [NEG LOG] TOPL|
000002B0: 45 56 45 4C 0D 20 49 46  20 3A 4E 20 3E 20 31 20  |EVEL. IF :N > 1 |
000002C0: 4C 4F 47 41 55 58 31 20  45 4C 53 45 20 4C 4F 47  |LOGAUX1 ELSE LOG|
000002D0: 41 55 58 32 0D 20 4D 41  4B 45 20 22 4E 20 28 20  |AUX2. MAKE "N ( |
000002E0: 3A 4E 20 2D 20 31 2E 34  31 34 32 20 29 20 2F 20  |:N - 1.4142 ) / |
000002F0: 28 20 31 2E 34 31 34 32  20 2B 20 3A 4E 20 29 0D  |( 1.4142 + :N ).|
00000300: 20 4D 41 4B 45 20 22 54  20 3A 4E 20 2A 20 3A 4E  | MAKE "T :N * :N|
00000310: 0D 20 4D 41 4B 45 20 22  4E 20 30 2E 35 20 2B 20  |. MAKE "N 0.5 + |
00000320: 3A 4E 20 2A 20 28 20 32  2E 38 38 35 33 32 20 2B  |:N * ( 2.88532 +|
00000330: 20 3A 54 20 2A 20 28 20  30 2E 39 36 31 37 39 33  | :T * ( 0.961793|
00000340: 20 2B 20 3A 54 20 2A 20  28 20 30 2E 35 37 36 35  | + :T * ( 0.5765|
00000350: 38 33 20 2B 20 3A 54 20  2A 20 30 2E 34 33 34 32  |83 + :T * 0.4342|
00000360: 35 33 20 29 20 29 20 29  0D 20 4D 41 4B 45 20 22  |53 ) ) ). MAKE "|
00000370: 4E 20 30 2E 36 39 33 31  32 37 20 2A 20 28 20 3A  |N 0.693127 * ( :|
00000380: 4A 20 2B 20 3A 4E 20 29  0D 45 4E 44 0D 0D 54 4F  |J + :N ).END..TO|
00000390: 20 45 58 50 41 55 58 31  0D 20 49 46 20 3A 4E 20  | EXPAUX1. IF :N |
000003A0: 3D 20 30 20 53 54 4F 50  0D 20 4D 41 4B 45 20 22  |= 0 STOP. MAKE "|
000003B0: 4E 20 3A 4E 20 2D 20 31  0D 20 4D 41 4B 45 20 22  |N :N - 1. MAKE "|
000003C0: 46 20 3A 46 20 2A 20 32  0D 20 45 58 50 41 55 58  |F :F * 2. EXPAUX|
000003D0: 31 0D 45 4E 44 0D 0D 54  4F 20 45 58 50 41 55 58  |1.END..TO EXPAUX|
000003E0: 32 0D 20 49 46 20 3A 4E  20 3D 20 30 20 53 54 4F  |2. IF :N = 0 STO|
000003F0: 50 0D 20 4D 41 4B 45 20  22 4E 20 3A 4E 20 2B 20  |P. MAKE "N :N + |
00000400: 31 0D 20 4D 41 4B 45 20  22 46 20 3A 46 20 2A 20  |1. MAKE "F :F * |
00000410: 30 2E 35 0D 20 45 58 50  41 55 58 32 0D 45 4E 44  |0.5. EXPAUX2.END|
00000420: 0D 0D 4D 41 4B 45 20 22  4E 20 28 31 2E 32 36 37  |..MAKE "N (1.267|
00000430: 35 37 45 33 30 29 0D                              |57E30).         |
. TO HELP. PR [THE PROCEDURES LOG, EXP, 
AND LOG10 ARE]. PR [ACCURATE TO 3 OR 4 S
IGNIFICANT DIGITS].END..TO LOG10 :N. OP 
( LOG :N ) / 2.3025.END..TO EXP :N. EXPA
UX :N * 1.44263. OP :N.END..TO EXPAUX :F
. IF :F < 0 MAKE "N ( INTEGER :F ) - 1 E
LSE MAKE "N INTEGER :F. MAKE "F :F - :N.
 MAKE "F 0.5 + :F / ( 9.95459 + 0.034656
7 * :F * :F - :F - 617.972 / ( :F * :F +
 87.4174 ) ). MAKE "N :N + 1. IF :N > 0 
EXPAUX1 ELSE EXPAUX2. MAKE "N :F.END..TO
 LOGAUX2. IF NOT :N < 1 STOP. MAKE "N :N
 * 2. MAKE "J :J - 1. LOGAUX2.END..TO LO
GAUX1. IF :N < 2 STOP. MAKE "N :N * 0.5.
 MAKE "J :J + 1. LOGAUX1.END..TO LOG :N.
 IF :N = 1 OP 0. LOGAUX 0 0. OP :N.END..
TO LOGAUX :J :T. IF NOT :N > 0 PR [NEG L
OG] TOPLEVEL. IF :N > 1 LOGAUX1 ELSE LOG
AUX2. MAKE "N ( :N - 1.4142 ) / ( 1.4142
 + :N ). MAKE "T :N * :N. MAKE "N 0.5 + 
:N * ( 2.88532 + :T * ( 0.961793 + :T * 
( 0.576583 + :T * 0.434253 ) ) ). MAKE "
N 0.693127 * ( :J + :N ).END..TO EXPAUX1
. IF :N = 0 STOP. MAKE "N :N - 1. MAKE "
F :F * 2. EXPAUX1.END..TO EXPAUX2. IF :N
 = 0 STOP. MAKE "N :N + 1. MAKE "F :F * 
0.5. EXPAUX2.END..MAKE "N (1.26757E30).
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL