Skip to content

Commit 32d144b

Browse files
authored
Update index.html
1 parent 092fa17 commit 32d144b

1 file changed

Lines changed: 18 additions & 32 deletions

File tree

index.html

Lines changed: 18 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -998,51 +998,37 @@ <h4 style="font-size:160%;margin:7px">Trigonometry</h4>
998998
}
999999

10001000
function Asin(x) {
1001-
if (typeof x !== 'number' || isNaN(x) || x <= 0 || x > 1) return null;
1001+
if (typeof x !== 'number' || x <= 0 || x > 1) return null;
10021002

1003-
let radian = null;
1004-
1005-
if (x > 0.706 || x < 0.09) {
1006-
// Direct match
1003+
if (x >= 0.707) {
10071004
const match = closestValue(x, 'sin');
1008-
if (!match?.angle) return null;
1009-
const parsed = match.angle.match(/rad\(([\d.]+)\)/);
1010-
if (!parsed) return null;
1011-
radian = parseFloat(parsed[1]);
1012-
} else {
1013-
// Reflective zone
1014-
const match = closestValue(x, 'cos');
1015-
if (!match?.angle) return null;
1016-
const parsed = match.angle.match(/rad\(([\d.]+)\)/);
1005+
const parsed = match?.angle.match(/rad\\(([\d.]+)\\)/);
10171006
if (!parsed) return null;
1018-
radian = parseFloat(parsed[1]);
1007+
return parseFloat(parsed[1]);
10191008
}
10201009

1021-
return radian;
1010+
// No reflection — match via cosine
1011+
const match = closestValue(x, 'cos');
1012+
const parsed = match?.angle.match(/rad\\(([\d.]+)\\)/);
1013+
if (!parsed) return null;
1014+
return parseFloat(parsed[1]);
10221015
}
10231016

10241017
function Acos(x) {
1025-
if (typeof x !== 'number' || isNaN(x) || x <= 0 || x > 1) return null;
1018+
if (typeof x !== 'number' || x <= 0 || x > 1) return null;
10261019

1027-
let radian = null;
1028-
1029-
if (x < 0.707 || x > 0.995) {
1030-
// Direct match
1020+
if (x >= 0.707) {
10311021
const match = closestValue(x, 'cos');
1032-
if (!match?.angle) return null;
1033-
const parsed = match.angle.match(/rad\(([\d.]+)\)/);
1034-
if (!parsed) return null;
1035-
radian = parseFloat(parsed[1]);
1036-
} else {
1037-
// Reflective zone
1038-
const match = closestValue(x, 'sin');
1039-
if (!match?.angle) return null;
1040-
const parsed = match.angle.match(/rad\(([\d.]+)\)/);
1022+
const parsed = match?.angle.match(/rad\\(([\d.]+)\\)/);
10411023
if (!parsed) return null;
1042-
radian = parseFloat(parsed[1]);
1024+
return parseFloat(parsed[1]);
10431025
}
10441026

1045-
return radian;
1027+
// No reflection — match via cosine
1028+
const match = closestValue(x, 'sin');
1029+
const parsed = match?.angle.match(/rad\\(([\d.]+)\\)/);
1030+
if (!parsed) return null;
1031+
return parseFloat(parsed[1]);
10461032
}
10471033

10481034
function Atan(x) {

0 commit comments

Comments
 (0)