Skip to content

Commit 177b200

Browse files
committed
Experiment: move activeFunctionRules to Private context in preview.m
This might not work.
1 parent f9a0c59 commit 177b200

2 files changed

Lines changed: 37 additions & 37 deletions

File tree

‎evaluate.m‎

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,38 @@
3636

3737
Begin["`Private`"];
3838

39+
activeFunctionRules = {
40+
sin -> Sin, cos -> Cos, tan -> Tan, sec -> Sec, Cosec -> Csc, csc -> Csc, cosec -> Csc, cot -> Cot,
41+
arcsin -> ArcSin, asin -> ArcSin, arccos -> ArcCos, acos -> ArcCos, arctan -> ArcTan, atan -> ArcTan,
42+
arcsec -> ArcSec, asec -> ArcSec, ArcCosec -> ArcCsc, arccsc -> ArcCsc, acsc -> ArcCsc, acosec -> ArcCsc,
43+
arccot -> ArcCot,acot -> ArcCot,
44+
sinh -> Sinh, cosh -> Cosh, tanh -> Tanh, sech -> Sech, Cosech -> Csch, csch -> Csch, cosech -> Csch, coth -> Coth,
45+
arcsinh -> ArcSinh, asinh -> ArcSinh, arccosh -> ArcCosh, acosh -> ArcCosh, arctanh -> ArcTanh, atanh -> ArcTanh,
46+
arcsech -> ArcSech, asech -> ArcSech,
47+
ArcCsch -> ArcCsch, ArcCosech -> ArcCsch, arccsch->ArcCsch, acsch -> ArcCsch, acosech -> ArcCsch,
48+
arccoth -> ArcCoth, acoth -> ArcCoth,
49+
exp -> Exp, log -> Log, ln -> Log, sqrt -> Sqrt,
50+
pi -> Pi, e -> E, i -> I};
51+
52+
inertFunctionRules = {
53+
Sin -> fSin, sin -> fSin, Cos -> fCos,cos->fCos, Tan -> fTan, tan -> fTan,
54+
Sec -> fSec, sec -> fSec, Csc -> fCsc, Cosec -> fCsc, csc -> fCsc, cosec -> fCsc, Cot -> fCot, cot -> fCot,
55+
ArcSin -> fArcSin, arcsin -> fArcSin, asin -> fArcSin, ArcCos -> fArcCos, arccos -> fArcCos, acos -> fArcCos,
56+
ArcTan -> fArcTan, arctan -> fArcTan, atan -> fArcTan,
57+
ArcSec -> fArcSec, arcsec -> fArcSec, asec -> fArcSec,
58+
ArcCsc -> fArcCsc, ArcCosec -> fArcCsc, arccsc -> fArcCsc, acsc -> fArcCsc, acosec -> fArcCsc,
59+
ArcCot -> fArcCot, arccot -> fArcCot, acot -> fArcCot,
60+
Sinh -> fSinh, sinh -> fSinh, Cosh -> fCosh, cosh -> fCosh, tanh -> fTanh, tanh->fTanh,
61+
Sech -> fSech, sech -> fSech, Csch -> fCsch, Cosech -> fCsch, csch -> fCsch, cosech -> fCsch, Coth -> fCoth, coth->fCoth,
62+
ArcSinh -> fArcSinh, arcsinh -> fArcSinh, asinh -> fArcSinh, ArcCosh -> fArcCosh, arccosh -> fArcCosh, acosh -> fArcCosh,
63+
ArcTanh -> fArcTanh, arctanh -> fArcTanh, atanh -> fArcTanh,
64+
ArcSech -> fArcSech, arcsech -> fArcSech, asech -> fArcSech,
65+
ArcCsch -> fArcCsch, ArcCosech -> fArcCsch, arccsch -> fArcCsch, acsch -> fArcCsch, acosech -> fArcCsch,
66+
ArcCoth -> fArcCoth, arccoth -> fArcCoth, acoth->fArcCoth,
67+
Exp -> fExp, exp -> fExp, Log -> fLog, log -> fLog, ln -> fLog,
68+
Sqrt -> fSqrt, sqrt -> fSqrt,
69+
pi -> Pi, e -> E, i -> I};
70+
3971
equalQNumeric[answer_, response_, params_] := Module[{tolerance, error},
4072
Print["Evaluating Equal Numeric"];
4173
tolerance = If[Lookup[params, "tolerance_is_absolute", False],
@@ -162,25 +194,6 @@
162194
has the same structure as a given answer template, given a set of \
163195
named variables.*)
164196

165-
inertFunctionRules = {
166-
Sin -> fSin, sin -> fSin, Cos -> fCos,cos->fCos, Tan -> fTan, tan -> fTan,
167-
Sec -> fSec, sec -> fSec, Csc -> fCsc, Cosec -> fCsc, csc -> fCsc, cosec -> fCsc, Cot -> fCot, cot -> fCot,
168-
ArcSin -> fArcSin, arcsin -> fArcSin, asin -> fArcSin, ArcCos -> fArcCos, arccos -> fArcCos, acos -> fArcCos,
169-
ArcTan -> fArcTan, arctan -> fArcTan, atan -> fArcTan,
170-
ArcSec -> fArcSec, arcsec -> fArcSec, asec -> fArcSec,
171-
ArcCsc -> fArcCsc, ArcCosec -> fArcCsc, arccsc -> fArcCsc, acsc -> fArcCsc, acosec -> fArcCsc,
172-
ArcCot -> fArcCot, arccot -> fArcCot, acot -> fArcCot,
173-
Sinh -> fSinh, sinh -> fSinh, Cosh -> fCosh, cosh -> fCosh, tanh -> fTanh, tanh->fTanh,
174-
Sech -> fSech, sech -> fSech, Csch -> fCsch, Cosech -> fCsch, csch -> fCsch, cosech -> fCsch, Coth -> fCoth, coth->fCoth,
175-
ArcSinh -> fArcSinh, arcsinh -> fArcSinh, asinh -> fArcSinh, ArcCosh -> fArcCosh, arccosh -> fArcCosh, acosh -> fArcCosh,
176-
ArcTanh -> fArcTanh, arctanh -> fArcTanh, atanh -> fArcTanh,
177-
ArcSech -> fArcSech, arcsech -> fArcSech, asech -> fArcSech,
178-
ArcCsch -> fArcCsch, ArcCosech -> fArcCsch, arccsch -> fArcCsch, acsch -> fArcCsch, acosech -> fArcCsch,
179-
ArcCoth -> fArcCoth, arccoth -> fArcCoth, acoth->fArcCoth,
180-
Exp -> fExp, exp -> fExp, Log -> fLog, log -> fLog, ln -> fLog,
181-
Sqrt -> fSqrt, sqrt -> fSqrt,
182-
pi -> Pi, e -> E, i -> I};
183-
184197
ComplexSymbolize[a_Integer?Positive]:=Symbol["$sym"<>ToString[a]]
185198

186199
ComplexSymbolize[a_Integer?Negative]:=Symbol["$symmin"<>ToString[-a]]
@@ -236,20 +249,7 @@
236249
(* SemanticAndStructureMatchQ: a function that checks whether a user's response both
237250
(a) is the same mathematical object as a given answer,and (b) has the same structure as a given answer template,
238251
given a set of named variables. *)
239-
240-
activeFunctionRules = {
241-
sin -> Sin, cos -> Cos, tan -> Tan, sec -> Sec, Cosec -> Csc, csc -> Csc, cosec -> Csc, cot -> Cot,
242-
arcsin -> ArcSin, asin -> ArcSin, arccos -> ArcCos, acos -> ArcCos, arctan -> ArcTan, atan -> ArcTan,
243-
arcsec -> ArcSec, asec -> ArcSec, ArcCosec -> ArcCsc, arccsc -> ArcCsc, acsc -> ArcCsc, acosec -> ArcCsc,
244-
arccot -> ArcCot,acot -> ArcCot,
245-
sinh -> Sinh, cosh -> Cosh, tanh -> Tanh, sech -> Sech, Cosech -> Csch, csch -> Csch, cosech -> Csch, coth -> Coth,
246-
arcsinh -> ArcSinh, asinh -> ArcSinh, arccosh -> ArcCosh, acosh -> ArcCosh, arctanh -> ArcTanh, atanh -> ArcTanh,
247-
arcsech -> ArcSech, asech -> ArcSech,
248-
ArcCsch -> ArcCsch, ArcCosech -> ArcCsch, arccsch->ArcCsch, acsch -> ArcCsch, acosech -> ArcCsch,
249-
arccoth -> ArcCoth, acoth -> ArcCoth,
250-
exp -> Exp, log -> Log, ln -> Log, sqrt -> Sqrt,
251-
pi -> Pi, e -> E, i -> I};
252-
252+
253253
SemanticMatchQ[answer_,response_,multipleAnswersInterpretation_String] := TrueQ[Simplify[(response-answer)/.activeFunctionRules] == 0] ||
254254
TrueQ[FullSimplify[(response-answer)/.activeFunctionRules] == 0]
255255

‎preview.m‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,15 +39,17 @@
3939
]
4040
];
4141

42-
latexString = ToString[parsedResponse/.activeFunctionRules, TeXForm];
43-
wolframString = ToString[parsedResponse/.activeFunctionRules, InputForm];
42+
latexString = ToString[parsedResponse, TeXForm];
43+
wolframString = ToString[parsedResponse, InputForm];
4444

4545
<|
4646
"latex" -> latexString,
4747
"sympy" -> wolframString
4848
|>
4949
];
5050

51+
Begin["`Private`"];
52+
5153
activeFunctionRules = {
5254
sin -> Sin, cos -> Cos, tan -> Tan, sec -> Sec, Cosec -> Csc, csc -> Csc, cosec -> Csc, cot -> Cot,
5355
arcsin -> ArcSin, asin -> ArcSin, arccos -> ArcCos, acos -> ArcCos, arctan -> ArcTan, atan -> ArcTan,
@@ -62,8 +64,6 @@
6264
sqrt ->Sqrt,
6365
pi -> Pi, e -> E, i -> I};
6466

65-
Begin["`Private`"];
66-
6767
SafeToExpression[str_String, isLatex_,suppress_,plusMinusSplit_] :=
6868
Module[{expr, result},
6969
(* First check for obviously dangerous patterns in the raw string *)

0 commit comments

Comments
 (0)