Category : Miscellaneous Language Source Code
Archive   : QTAWKU42.ZIP
Filename : SSFUNCS.EXP

 
Output of file : SSFUNCS.EXP contained in archive : QTAWKU42.ZIP
# QTawk Trade Studies scoring function utility
# Standard scoring functions for Trade Studies
# 12 standard scoring functions
#
# Scoring function #1
# Ú
# ³ 0 , V <= A
# ³
# ³ 1
# ssf1 = ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ, V > A
# ³ Ú ¿2S(B+V-2A) B > A
# ³ ³ B - A ³ S > 0
# ³ 1 + ³ÄÄÄÄÄÄij f(B) = 0.5
# À À V - A Ù
#
# Scoring function #2
# Ú
# ³ 1 , V >= C
# ³
# ³ 1
# ssf2 = ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ, V < C
# ³ Ú ¿2S(B+V-2C) B < C
# ³ ³ C - B ³ S > 0
# ³ 1 + ³ÄÄÄÄÄÄij f(B) = 0.5
# À À C - V Ù
#
# Scoring function #3
# Ú
# ³ 0 , V <= A
# ³
# ³ 1
# ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ, A < V < B
# ³ Ú ¿2S(B+V-2A) S > 0
# ³ ³ B - A ³
# ³ 1 + ³ÄÄÄÄÄÄij
# ssf3 = ³ À V - A Ù
# ³ f(B) = 0.5
# ³ 1
# ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ, B < V < C
# ³ Ú ¿2S(B+V-2C) B < C

# ³ ³ C - B ³ S > 0
# ³ 1 + ³ÄÄÄÄÄÄij
# ³ À C - V Ù
# ³
# ³ 1 , V >= C
# À
#
# Scoring function #4
# Ú
# ³ 1
# ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ, V <= B
# ³ Ú ¿2S(B+V-2A) S > 0
# ³ ³ B - A ³
# ³ 1 + ³ÄÄÄÄÄÄij
# ssf4 = ³ À V - A Ù
# ³ f(B) = 0.5
# ³ 1
# ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ, V > 0
# ³ Ú ¿2S(B+V-2C) S > 0
# ³ ³ C - B ³
# ³ 1 + ³ÄÄÄÄÄÄij
# ³ À C - V Ù
# À
#
# Scoring function #5
# Ú
# ³ 0 , V <= A1
# ³
# ³ 1 A1 < V < B1
# ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ S1 > 0
# ³ Ú ¿2S1(B1+V-2A1)
# ³ ³ B1 - A1 ³
# ³ ³ ÄÄÄÄÄÄÄij f(B1) = 0.5
# ³ À V - A1 Ù
# ³
# ³ 1 B1 < V < C
# ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ S1 > 0
# ³ Ú ¿2S1(B1+V-2C)
# ³ ³ C - B1³
# ³ ³ ÄÄÄÄÄij
# ³ À C - V Ù
# ³
# ssf5 = ³ 1 , V = C
# ³
# ³ 1 C < V < B2
# ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ S2 < 0
# ³ Ú ¿2S2(B2+V-2C)
# ³ ³ B2 - C ³
# ³ ³ ÄÄÄÄÄÄij
# ³ À V - C Ù f(B2) = 0.5
# ³
# ³ 1 B2 < V < A2
# ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ S2 < 0
# ³ Ú ¿2S2(B2+V-2A2)
# ³ ³ A2 - B2³
# ³ ³ ÄÄÄÄÄÄij
# ³ À A2 - V Ù
# ³
# ³ 0 , V = A2
# À
#
# Scoring function #6
# Ú
# ³ 1 V <= B1
# ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ S1 > 0
# ³ Ú ¿2S1(B1+V-2A1)
# ³ ³ B1 - A1 ³
# ³ ³ ÄÄÄÄÄÄÄij f(B1) = 0.5
# ³ À V - A1 Ù
# ³
# ³ 1 B1 < V < C
# ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ S1 > 0
# ³ Ú ¿2S1(B1+V-2C)
# ³ ³ C - B1³
# ³ ³ ÄÄÄÄÄij
# ³ À C - V Ù
# ³
# ssf6 = ³ 1 , V = C
# ³
# ³ 1 C < V < B2
# ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ S2 < 0
# ³ Ú ¿2S2(B2+V-2C)
# ³ ³ B2 - C ³
# ³ ³ ÄÄÄÄÄÄij
# ³ À V - C Ù f(B2) = 0.5
# ³
# ³ 1 B2 < V
# ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ S2 < 0
# ³ Ú ¿2S2(B2+V-2A2)
# ³ ³ A2 - B2³
# ³ ³ ÄÄÄÄÄÄij
# ³ À A2 - V Ù
# À
#
# Scoring function #7
# Ú
# ³ 1 , V <= A
# ³
# ³ 1
# ssf7 = ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ, V > A
# ³ Ú ¿2S(B+V-2A) B > A
# ³ ³ B - A ³ S < 0
# ³ 1 + ³ÄÄÄÄÄÄij f(B) = 0.5
# ³ À V - A Ù
# À
#
# Scoring function #8
# Ú
# ³ 1
# ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ, V < C
# ³ Ú ¿2S(B+V-2C) B < C
# ssf8 = ³ ³ C - B ³ S > 0
# ³ 1 + ³ÄÄÄÄÄÄij f(B) = 0.5
# ³ À C - V Ù
# ³
# ³ 1 , V >= C
# À
#
# Scoring function #9
# Ú
# ³ 1 , V <= A
# ³
# ³ 1
# ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ, A < V <= B
# ³ Ú ¿2S(B+V-2A) S < 0
# ³ ³ B - A ³
# ³ 1 + ³ÄÄÄÄÄÄij
# ³ À V - A Ù
# ssf9 = ³ f(B) = 0.5
# ³
# ³ 1
# ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ, B < V < C
# ³ Ú ¿2S(B+V-2C) S > 0
# ³ ³ C - B ³
# ³ 1 + ³ÄÄÄÄÄÄij
# ³ À C - V Ù
# ³
# ³ 0 , V >= C
# À
#
# Scoring function #10
# Ú
# ³ 1
# ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ, V <= B
# ³ Ú ¿2S(B+V-2A) S < 0
# ³ ³ B - A ³
# ³ 1 + ³ÄÄÄÄÄÄij
# ³ À V - A Ù
# ssf10 = ³ f(B) = 0.5
# ³
# ³ 1
# ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ, V > B
# ³ Ú ¿2S(B+V-2C) S > 0
# ³ ³ C - B ³
# ³ 1 + ³ÄÄÄÄÄÄij
# ³ À C - V Ù
# À
#
# Scoring function #11
# Ú
# ³ 1 , V <= A1
# ³
# ³ 1
# ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ A1 < V <= B1
# ³ Ú ¿2S1(B1+V-2A1) S1 < 0
# ³ ³ B1 - A1 ³
# ³ ³ ÄÄÄÄÄÄÄij
# ³ À V - A1 Ù f(B1) = 0.5
# ³
# ³ 1
# ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ B1 < V < C
# ³ Ú ¿2S1(B1+V-2C) S1 < 0
# ³ ³ C - B1³
# ³ ³ ÄÄÄÄÄij
# ³ À C - V Ù
# ³
# ssf11 = ³ 0 , V = C
# ³
# ³ 1
# ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ C < V <= B2
# ³ Ú ¿2S2(B2+V-2C) S2 > 0
# ³ ³ B2 - C ³
# ³ ³ ÄÄÄÄÄÄij
# ³ À V - C Ù f(B2) = 0.5
# ³
# ³ 1
# ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ B2 < V < A2
# ³ Ú ¿2S2(B2+V-2A2) S2 > 0
# ³ ³ A2 - B2³
# ³ ³ ÄÄÄÄÄÄij
# ³ À A2 - V Ù
# ³ 1 , V >= A2
# À
#
# Scoring function #12
# Ú
# ³ 1
# ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ V <= B1
# ³ Ú ¿2S1(B1+V-2A1) S1 < 0
# ³ ³ B1 - A1 ³
# ³ ³ ÄÄÄÄÄÄÄij
# ³ À V - A1 Ù f(B1) = 0.5
# ³
# ³ 1
# ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ B1 < V < C
# ³ Ú ¿2S1(B1+V-2C) S1 < 0
# ³ ³ C - B1³
# ³ ³ ÄÄÄÄÄij
# ³ À C - V Ù
# ³
# ssf12 = ³ 0 , V = C
# ³
# ³ 1
# ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ C < V <= B2
# ³ Ú ¿2S2(B2+V-2C) S2 > 0
# ³ ³ B2 - C ³
# ³ ³ ÄÄÄÄÄÄij
# ³ À V - C Ù f(B2) = 0.5
# ³
# ³ 1
# ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ B2 < V
# ³ Ú ¿2S2(B2+V-2A2) S2 > 0
# ³ ³ A2 - B2³
# ³ ³ ÄÄÄÄÄÄij
# ³ À A2 - V Ù
# À
#
#
BEGIN {
stderr = "stderr";
}

function std_scr_f(fnum,A1,A2,B1,B2,C,V,S1,S2) {
local ssf;

switch ( fnum ) {
case 1:
ssf = ssf1(A1,B1,C,V,S1);
break;
case 2:
ssf = ssf2(A1,B1,C,V,S1);
break;
case 3:
ssf = ssf3(A1,B1,C,V,S1);
break;
case 4:
ssf = ssf4(A1,B1,C,V,S1);
break;
case 5:
ssf = ssf5(A1,A2,B1,B2,C,V,S1,S2);
break;
case 6:
ssf = ssf6(A1,A2,B1,B2,C,V,S1,S2);
break;
case 7:
ssf = ssf7(A1,B1,C,V,S1);
break;
case 8:
ssf = ssf8(A1,B1,C,V,S1);
break;
case 9:
ssf = ssf9(A1,B1,C,V,S1);
break;
case 10:
ssf = ssf10(A1,B1,C,V,S1);
break;
case 11:
ssf = ssf11(A1,A2,B1,B2,C,V,S1,S2);
break;
case 12:
ssf = ssf12(A1,A2,B1,B2,C,V,S1,S2);
break;
default:
fprintf(stderr,"Improper Standard Scoring Function Number.\n");exit 100;
break;
}
return ssf;
}

function ssf1(A,B,C,V,S) {
local ssf;

if ( V <= A ) ssf = 0;
else ssf = 1/(1+((B-A)/(V-A))^(2*S*(B+V-2*A)));
return ssf;
}

function ssf2(A,B,C,V,S) {
local ssf;

if ( V >= C ) ssf = 1;
else ssf = 1/(1+((C-B)/(C-V))^(2*S*(B+V-2*C)));
return ssf;
}

function ssf3(A,B,C,V,S) {
local ssf;

if ( V <= A ) ssf = 0;
else if ( V <= B ) ssf = 1/(1+((B-A)/(V-A))^(2*S*(B+V-2*A)));
else if ( V < C ) ssf = 1/(1+((C-B)/(C-V))^(2*S*(B+V-2*C)));
else ssf = 1;
return ssf;
}

function ssf4(A,B,C,V,S) {
local ssf;

if ( V <= B ) ssf = 1/(1+((B-A)/(V-A))^(2*S*(B+V-2*A)));
else ssf = 1/(1+((C-B)/(C-V))^(2*S*(B+V-2*C)));
return ssf;
}

function ssf5(A1,A2,B1,B2,C,V,S1,S2) {
local ssf;

if ( V <= A1 ) ssf =0;
else if ( V < B1 ) ssf = 1/(((B1-A1)/(V-A1))^(2*S1*(B1+V-2*A1)));
else if ( V < C ) ssf = 1/(((C-B1)/(C-V))^(2*S1*(B1+V-2*C)));
else if ( V == C) ssf = 1;
else if ( V < B2 ) ssf = 1/(((B2-C)/(V-C))^(2*S2*(B2+V-2*C)));
else if ( V < A2 ) ssf = 1/(((A2-B2)/(A2-V))^(2*S2*(B2+V-2*A2)));
else ssf = 0;
return ssf;
}

function ssf6(A1,A2,B1,B2,V,C,S1,S2) {
local ssf;

if ( V <= B1 ) ssf = 1/(((B1-A1)/(V-A1))^(2*S1*(B1+V-2*A1)));
else if ( V < C ) ssf = 1/(((C-B1)/(C-V))^(2*S1*(B1+V-2*C)));
else if ( V == C ) ssf = 0;
else if ( V < B2 ) ssf = 1/(((B2-C)/(V-C))^(2*S2*(B2+V-2*C)));
else ssf = 1/(((A2-B2)/(A2-V))^(2*S2*(B2+V-2*A2)));
return ssf;
}

function ssf7(A,B,V,C,S) {
local ssf;

if ( V <= A ) ssf = 0;
else ssf = 1/(1+((B-A)/(V-A))^(2*S*(B+V-2*A)));
return ssf;
}

function ssf8(A,B,C,V,S) {
local ssf;

if ( V <= A ) ssf = 1/(1+((C-B)/(C-V))^(2*S*(B+V-2*C)));
else ssf = 0;
return ssf;
}

function ssf9(A,B,C,V,S) {
local ssf;

if ( V <= A ) ssf = 0;
else if ( V <= B ) ssf = 1/(1+((B-A)/(V-A))^(2*S*(B+V-2*A)));
else if ( V < C ) ssf = 1/(1+((C-B)/(C-V))^(2*S*(B+V-2*C)));
else ssf = 0;
return ssf;
}

function ssf10(A,B,C,V,S) {
local ssf;

if ( V <= B ) ssf = 1/(1+((B-A)/(V-A))^(2*S*(B+V-2*A)));
else ssf = 1/(1+((C-B)/(C-V))^(2*S*(B+V-2*C)));
return ssf;
}

function ssf11(A1,A2,B1,B2,C,V,S1,S2) {
local ssf;

if ( V <= A1 ) ssf = 1;
else if ( V <= B1 ) ssf = 1/(((B1-A1)/(V-A1))^(2*S1*(B1+V-2*A1)));
else if ( V < C ) ssf = 1/(((C-B1)/(C-V))^(2*S1*(B1+V-2*C)));
else if ( V == C ) ssf = 0;
else if ( V <= B2 ) ssf = 1/(((B2-C)/(V-C))^(2*S2*(B2+V-2*C)));
else if ( V < A2 ) ssf = 1/(((A2-B2)/(A2-V))^(2*S2*(B2+V-2*A2)));
else ssf = 1;
return ssf;
}

function ssf12(A1,A2,B1,B2,C,V,S1,S2) {
local ssf;

if ( V <= B1 ) ssf = 1/(((B1-A1)/(V-A1))^(2*S1*(B1+V-2*A1)));
else if ( V < C ) ssf = 1/(((C-B1)/(C-V))^(2*S1*(B1+V-2*C)));
else if ( V == C ) ssf = 0;
else if ( V <= B2 ) ssf = 1/(((B2-C)/(V-C))^(2*S2*(B2+V-2*C)));
else ssf = 1/(((A2-B2)/(A2-V))^(2*S2*(B2+V-2*A2)));
return ssf;
}

function ssf_prime(fnum,A1,A2,B1,B2,C,V,S1,S2) {
local ssfp = TRUE;
local k1, k2, k3, k4;
local i1, i2;
local ssf = std_scr_f(fnum,A1,A2,B1,B2,C,V,S1,S2);

switch ( fnum ) {
case 1:
if ( V <= A1 ) ssfp = 0;
else {
k1 = B1 - A1;
k2 = A1;
k3 = -2*S1;
k4 = 4*S1*A1-2*S1*B1;
}
break;
case 2:
if ( V >= C ) ssfp = 0;
else {
k1 = B1 - C;
k2 = C;
k3 = -2*S1;
k4 = 4*S1*C-2*S1*B1;
}
break;
case 3:
if ( V <= A1 ) ssfp = 0;
else if ( V <= B1 ) {
k1 = B1-A1;
k2 = A1;
k3 = -2*S1;
k4 = 4*S1*A1-2*S1*B1;
} else if ( V < C ) {
k1 = B1-C;
k2 = C;
k3 = -2*S1;
k4 = 4*S1*C-2*S1*B1;
} else ssfp = 0;
break;
case 4:
if ( V <= B1 ) {
k1 = B1-A1;
k2 = A1;
k3 = -2*S1;
k4 = 4*S1*A1-2*S1*B1;
} else {
k1 = B1-C;
k2 = C;
k3 = -2*S1;
k4 = 4*S1*C-2*S1*B;
}
break;
case 5:
if ( V <= A1 ) ssfp = 0;
else if ( V <= B1 ) {
k1 = B1-A1;
k2 = A1;
k3 = -2*S1;
k4 = 4*S1*A1-2*S1*B1;
} else if ( V < C ) {
k1 = B1-C;
k2 = C;
k3 = -2*S1;
k4 = 4*S1*C-2*S1*B1;
} else if ( V == C ) ssfp = 0;
else if ( V <= B2 ) {
k1 = B2-C;
k2 = A2;
k3 = -2*S2;
k4 = 4*S2*C-2*S2*B2;
} else if ( V < A2 ) {
k1 = B2-A2;
k2 = A2;
k3 = -2*S2;
k4 = 4*S2*A2-2*S2*B2;
} else ssfp = 0;
break;
case 6:
if ( V <= B1 ) {
k1 = B1-A1;
k2 = A1;
k3 = -2*S1;
k4 = 4*S1*A1-2*S1*B1;
} else if ( V < C ) {
k1 = B1-C;
k2 = C;
k3 = -2*S1;
k4 = 4*S1*C-2*S1*B1;
} else if ( V == C ) ssfp = 0;
else if ( V <= B2 ) {
k1 = B2-C;
k2 = C;
k3 = -2*S2;
k4 = 4*S2*C-2*S2*B2;
} else {
k1 = B2-A2;
k2 = A2;

k3 = -2*S2;
k4 = 4*S2*A2-2*S2*B2;
}
break;
case 7:
if ( V <= A1 ) ssfp = 0;
else {
k1 = B1 - A1;
k2 = A1;
k3 = -2*S1;
k4 = 4*S1*A1-2*S1*B1;
}
break;
case 8:
if ( V < C ) {
k1 = B1 - C;
k2 = C;
k3 = -2*S1;
k4 = 4*S1*C-2*S1*B1;
} else ssfp = 0;
break;
case 9:
if ( V <= A1 ) ssfp = 0;
else if ( V <= B1 ) {
k1 = B1 - A1;
k2 = A1;
k3 = -2*S1;
k4 = 4*S1*A1-2*S1*B1;
} else {
k1 = B1 - C;
k2 = C;
k3 = -2*S1;
k4 = 4*S1*C-2*S1*B1;
}
break;
case 10:
if ( V <= B1 ) {
k1 = B1 - A1;
k2 = A1;
k3 = -2*S1;
k4 = 4*S1*A1-2*S1*B1;
} else {
k1 = B1 - C;
k2 = C;
k3 = -2*S1;
k4 = 4*S1*C-2*S1*B1;
}
break;
case 11:
if ( V <= A1 ) ssfp = 0;
else if ( V <= B1 ) {
k1 = B1 - A1;
k2 = A1;
k3 = -2*S1;
k4 = 4*S1*A1-2*S1*B1;
} else if ( V < C ) {
k1 = B1 - C;
k2 = C;
k3 = -2*S1;
k4 = 4*S1*C-2*S1*B1;
} else if ( V == C ) ssfp = 0;
else if ( V <= B2 ) {
k1 = B2 - C;
k2 = C;
k3 = -2*S2;
k4 = 4*S2*C-2*S2*B2;
} else if ( V < A2 ) {
k1 = B2 - A2;
k2 = A2;
k3 = -2*S2;
k4 = 4*S2*A2-2*S2*B2;
} else ssfp = 0;
break;
case 12:
if ( V <= B1 ) {
k1 = B1 - A1;
k2 = A1;
k3 = -2*S1;
k4 = 4*S1*A1-2*S1*B1;
} else if ( V < C ) {
k1 = B1 - C;
k2 = C;
k3 = -2*S1;
k4 = 4*S1*C-2*S1*B1;
} else if ( V == C ) ssfp = 0;
else if ( V <= B2 ) {
k1 = B2 - C;
k2 = C;
k3 = -2*S2;
k4 = 4*S2*C-2*S2*B2;
} else if ( V < A2 ) {
k1 = B2 - A2;
k2 = A2;
k3 = -2*S2;
k4 = 4*S2*A2-2*S2*B2;
} else ssfp = 0;
break;
}
if ( ssfp ) {
i1 = k3*V+k4;
i2 = (1/ssf)-1;
ssfp = -ssf*ssf*(i1/k1)*i2^(1-1/i1)+k3*(log(i2)^(1/i1)+i2);
}
return ssfp;
}


  3 Responses to “Category : Miscellaneous Language Source Code
Archive   : QTAWKU42.ZIP
Filename : SSFUNCS.EXP

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/