mml 2.4.0 → 2.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. checksums.yaml +4 -4
  2. data/CLAUDE.md +8 -2
  3. data/TODO.complete/1-v3-autoload.md +63 -0
  4. data/TODO.complete/2-v2-autoload.md +46 -0
  5. data/TODO.complete/3-no-require-relative.md +32 -0
  6. data/TODO.complete/4-remove-duplicate-register-model.md +31 -0
  7. data/TODO.complete/5-context-options-type-check.md +44 -0
  8. data/TODO.complete/6-context-configuration-type-check.md +32 -0
  9. data/TODO.complete/7-specs-for-refactor.md +38 -0
  10. data/lib/mml/context_configuration.rb +3 -1
  11. data/lib/mml/context_options.rb +10 -1
  12. data/lib/mml/v2/configuration.rb +0 -2
  13. data/lib/mml/v2.rb +382 -246
  14. data/lib/mml/v3/annotation.rb +0 -1
  15. data/lib/mml/v3/annotation_xml.rb +0 -1
  16. data/lib/mml/v3/apply.rb +0 -1
  17. data/lib/mml/v3/arith.rb +0 -22
  18. data/lib/mml/v3/bind.rb +0 -1
  19. data/lib/mml/v3/calculus.rb +0 -7
  20. data/lib/mml/v3/cbytes.rb +0 -1
  21. data/lib/mml/v3/cerror.rb +0 -1
  22. data/lib/mml/v3/ci.rb +0 -1
  23. data/lib/mml/v3/cn.rb +0 -1
  24. data/lib/mml/v3/configuration.rb +0 -2
  25. data/lib/mml/v3/constants.rb +0 -15
  26. data/lib/mml/v3/constructs.rb +0 -10
  27. data/lib/mml/v3/cs.rb +0 -1
  28. data/lib/mml/v3/csymbol.rb +0 -1
  29. data/lib/mml/v3/deprecated_content.rb +0 -7
  30. data/lib/mml/v3/elementary_functions.rb +0 -28
  31. data/lib/mml/v3/functions.rb +0 -6
  32. data/lib/mml/v3/linear_algebra.rb +0 -9
  33. data/lib/mml/v3/logic.rb +0 -7
  34. data/lib/mml/v3/maction.rb +0 -1
  35. data/lib/mml/v3/maligngroup.rb +0 -1
  36. data/lib/mml/v3/malignmark.rb +0 -1
  37. data/lib/mml/v3/math.rb +0 -2
  38. data/lib/mml/v3/menclose.rb +0 -1
  39. data/lib/mml/v3/merror.rb +0 -1
  40. data/lib/mml/v3/mfenced.rb +0 -1
  41. data/lib/mml/v3/mfrac.rb +0 -1
  42. data/lib/mml/v3/mfraction.rb +0 -1
  43. data/lib/mml/v3/mglyph.rb +0 -1
  44. data/lib/mml/v3/mi.rb +0 -1
  45. data/lib/mml/v3/mlabeledtr.rb +0 -1
  46. data/lib/mml/v3/mlongdiv.rb +0 -1
  47. data/lib/mml/v3/mmultiscripts.rb +0 -1
  48. data/lib/mml/v3/mn.rb +0 -1
  49. data/lib/mml/v3/mo.rb +0 -1
  50. data/lib/mml/v3/mover.rb +0 -1
  51. data/lib/mml/v3/mpadded.rb +0 -1
  52. data/lib/mml/v3/mphantom.rb +0 -1
  53. data/lib/mml/v3/mprescripts.rb +0 -1
  54. data/lib/mml/v3/mroot.rb +0 -1
  55. data/lib/mml/v3/mrow.rb +0 -1
  56. data/lib/mml/v3/ms.rb +0 -1
  57. data/lib/mml/v3/mscarries.rb +0 -1
  58. data/lib/mml/v3/mscarry.rb +0 -1
  59. data/lib/mml/v3/msgroup.rb +0 -1
  60. data/lib/mml/v3/msline.rb +0 -1
  61. data/lib/mml/v3/mspace.rb +0 -1
  62. data/lib/mml/v3/msqrt.rb +0 -1
  63. data/lib/mml/v3/msrow.rb +0 -1
  64. data/lib/mml/v3/mstack.rb +0 -1
  65. data/lib/mml/v3/mstyle.rb +0 -1
  66. data/lib/mml/v3/msub.rb +0 -1
  67. data/lib/mml/v3/msubsup.rb +0 -1
  68. data/lib/mml/v3/msup.rb +0 -1
  69. data/lib/mml/v3/mtable.rb +0 -1
  70. data/lib/mml/v3/mtd.rb +0 -1
  71. data/lib/mml/v3/mtext.rb +0 -1
  72. data/lib/mml/v3/mtr.rb +0 -1
  73. data/lib/mml/v3/munder.rb +0 -1
  74. data/lib/mml/v3/munderover.rb +0 -1
  75. data/lib/mml/v3/none.rb +0 -1
  76. data/lib/mml/v3/relations.rb +0 -9
  77. data/lib/mml/v3/semantics.rb +0 -1
  78. data/lib/mml/v3/sets.rb +0 -13
  79. data/lib/mml/v3/statistics.rb +0 -7
  80. data/lib/mml/v3/vector_calculus.rb +0 -4
  81. data/lib/mml/v3.rb +451 -73
  82. data/lib/mml/v4/annotation.rb +0 -1
  83. data/lib/mml/v4/configuration.rb +0 -2
  84. data/lib/mml/v4/elementary_functions.rb +0 -1
  85. data/lib/mml/v4/functions.rb +0 -1
  86. data/lib/mml/v4.rb +21 -17
  87. data/lib/mml/version.rb +1 -1
  88. data/lib/mml.rb +2 -0
  89. metadata +9 -2
data/lib/mml/v2.rb CHANGED
@@ -1,97 +1,234 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "lutaml/model"
4
- require_relative "versioned_parser"
5
4
 
6
- require_relative "v2/configuration"
7
- require_relative "v2/namespace"
8
- require_relative "v2/common_elements"
5
+ module Mml
6
+ module V2
7
+ extend Mml::VersionedParser
9
8
 
10
- # Eagerly load all element files (required for Configuration.register_model)
11
- require_relative "v2/maction"
12
- require_relative "v2/maligngroup"
13
- require_relative "v2/malignmark"
14
- require_relative "v2/menclose"
15
- require_relative "v2/merror"
16
- require_relative "v2/mfenced"
17
- require_relative "v2/mfrac"
18
- require_relative "v2/mfraction"
19
- require_relative "v2/mglyph"
20
- require_relative "v2/mi"
21
- require_relative "v2/mlabeledtr"
22
- require_relative "v2/mlongdiv"
23
- require_relative "v2/mmultiscripts"
24
- require_relative "v2/mn"
25
- require_relative "v2/mo"
26
- require_relative "v2/mover"
27
- require_relative "v2/mpadded"
28
- require_relative "v2/mphantom"
29
- require_relative "v2/mprescripts"
30
- require_relative "v2/mroot"
31
- require_relative "v2/mrow"
32
- require_relative "v2/ms"
33
- require_relative "v2/mscarries"
34
- require_relative "v2/mscarry"
35
- require_relative "v2/msgroup"
36
- require_relative "v2/msline"
37
- require_relative "v2/mspace"
38
- require_relative "v2/msqrt"
39
- require_relative "v2/msrow"
40
- require_relative "v2/mstack"
41
- require_relative "v2/mstyle"
42
- require_relative "v2/msub"
43
- require_relative "v2/msubsup"
44
- require_relative "v2/msup"
45
- require_relative "v2/mtable"
46
- require_relative "v2/mtd"
47
- require_relative "v2/mtext"
48
- require_relative "v2/mtr"
49
- require_relative "v2/munder"
50
- require_relative "v2/munderover"
51
- require_relative "v2/none"
52
- require_relative "v2/semantics"
53
- require_relative "v2/math"
9
+ # Foundational
10
+ autoload :Configuration, "mml/v2/configuration"
11
+ autoload :Namespace, "mml/v2/namespace"
12
+ autoload :CommonElements, "mml/v2/common_elements"
54
13
 
55
- # Content elements - separate files
56
- require_relative "v2/annotation"
57
- require_relative "v2/annotation_xml"
58
- require_relative "v2/apply"
59
- require_relative "v2/bvar"
60
- require_relative "v2/bind"
61
- require_relative "v2/ci"
62
- require_relative "v2/cn"
63
- require_relative "v2/condition"
64
- require_relative "v2/csymbol"
65
- require_relative "v2/degree"
66
- require_relative "v2/fn"
67
- require_relative "v2/interval"
68
- require_relative "v2/inverse"
69
- require_relative "v2/lambda"
70
- require_relative "v2/otherwise"
71
- require_relative "v2/piece"
72
- require_relative "v2/piecewise"
73
- require_relative "v2/reln"
74
- require_relative "v2/sep"
14
+ # Presentation elements (one class per file)
15
+ autoload :Maction, "mml/v2/maction"
16
+ autoload :Maligngroup, "mml/v2/maligngroup"
17
+ autoload :Malignmark, "mml/v2/malignmark"
18
+ autoload :Menclose, "mml/v2/menclose"
19
+ autoload :Merror, "mml/v2/merror"
20
+ autoload :Mfenced, "mml/v2/mfenced"
21
+ autoload :Mfrac, "mml/v2/mfrac"
22
+ autoload :Mfraction, "mml/v2/mfraction"
23
+ autoload :Mglyph, "mml/v2/mglyph"
24
+ autoload :Mi, "mml/v2/mi"
25
+ autoload :Mlabeledtr, "mml/v2/mlabeledtr"
26
+ autoload :Mlongdiv, "mml/v2/mlongdiv"
27
+ autoload :Mmultiscripts, "mml/v2/mmultiscripts"
28
+ autoload :Mn, "mml/v2/mn"
29
+ autoload :Mo, "mml/v2/mo"
30
+ autoload :Mover, "mml/v2/mover"
31
+ autoload :Mpadded, "mml/v2/mpadded"
32
+ autoload :Mphantom, "mml/v2/mphantom"
33
+ autoload :Mprescripts, "mml/v2/mprescripts"
34
+ autoload :Mroot, "mml/v2/mroot"
35
+ autoload :Mrow, "mml/v2/mrow"
36
+ autoload :Ms, "mml/v2/ms"
37
+ autoload :Mscarries, "mml/v2/mscarries"
38
+ autoload :Mscarry, "mml/v2/mscarry"
39
+ autoload :Msgroup, "mml/v2/msgroup"
40
+ autoload :Msline, "mml/v2/msline"
41
+ autoload :Mspace, "mml/v2/mspace"
42
+ autoload :Msqrt, "mml/v2/msqrt"
43
+ autoload :Msrow, "mml/v2/msrow"
44
+ autoload :Mstack, "mml/v2/mstack"
45
+ autoload :Mstyle, "mml/v2/mstyle"
46
+ autoload :Msub, "mml/v2/msub"
47
+ autoload :Msubsup, "mml/v2/msubsup"
48
+ autoload :Msup, "mml/v2/msup"
49
+ autoload :Mtable, "mml/v2/mtable"
50
+ autoload :Mtd, "mml/v2/mtd"
51
+ autoload :Mtext, "mml/v2/mtext"
52
+ autoload :Mtr, "mml/v2/mtr"
53
+ autoload :Munder, "mml/v2/munder"
54
+ autoload :Munderover, "mml/v2/munderover"
55
+ autoload :None, "mml/v2/none"
56
+ autoload :Semantics, "mml/v2/semantics"
57
+ autoload :Math, "mml/v2/math"
75
58
 
76
- # Content elements - batch files
77
- require_relative "v2/arith"
78
- require_relative "v2/calculus"
79
- require_relative "v2/constants"
80
- require_relative "v2/elementary_functions"
81
- require_relative "v2/functions"
82
- require_relative "v2/linear_algebra"
83
- require_relative "v2/logic"
84
- require_relative "v2/relations"
85
- require_relative "v2/sets"
86
- require_relative "v2/statistics"
87
- require_relative "v2/vector_calculus"
59
+ # Content elements - one class per file
60
+ autoload :Annotation, "mml/v2/annotation"
61
+ autoload :AnnotationXml, "mml/v2/annotation_xml"
62
+ autoload :Apply, "mml/v2/apply"
63
+ autoload :Bvar, "mml/v2/bvar"
64
+ autoload :Bind, "mml/v2/bind"
65
+ autoload :Ci, "mml/v2/ci"
66
+ autoload :Cn, "mml/v2/cn"
67
+ autoload :Condition, "mml/v2/condition"
68
+ autoload :Csymbol, "mml/v2/csymbol"
69
+ autoload :Degree, "mml/v2/degree"
70
+ autoload :Fn, "mml/v2/fn"
71
+ autoload :Interval, "mml/v2/interval"
72
+ autoload :Inverse, "mml/v2/inverse"
73
+ autoload :Lambda, "mml/v2/lambda"
74
+ autoload :Otherwise, "mml/v2/otherwise"
75
+ autoload :Piece, "mml/v2/piece"
76
+ autoload :Piecewise, "mml/v2/piecewise"
77
+ autoload :Reln, "mml/v2/reln"
78
+ autoload :Sep, "mml/v2/sep"
88
79
 
89
- module Mml
90
- module V2
91
- extend Mml::VersionedParser
80
+ # Content elements - batch files (multiple classes per file).
81
+ # arith.rb
82
+ autoload :Abs, "mml/v2/arith"
83
+ autoload :Conjugate, "mml/v2/arith"
84
+ autoload :Arg, "mml/v2/arith"
85
+ autoload :Real, "mml/v2/arith"
86
+ autoload :Imaginary, "mml/v2/arith"
87
+ autoload :Floor, "mml/v2/arith"
88
+ autoload :Ceiling, "mml/v2/arith"
89
+ autoload :Quotient, "mml/v2/arith"
90
+ autoload :Divide, "mml/v2/arith"
91
+ autoload :Rem, "mml/v2/arith"
92
+ autoload :Minus, "mml/v2/arith"
93
+ autoload :Plus, "mml/v2/arith"
94
+ autoload :Times, "mml/v2/arith"
95
+ autoload :Power, "mml/v2/arith"
96
+ autoload :Root, "mml/v2/arith"
97
+ autoload :Max, "mml/v2/arith"
98
+ autoload :Min, "mml/v2/arith"
99
+ autoload :Gcd, "mml/v2/arith"
100
+ autoload :Lcm, "mml/v2/arith"
101
+ autoload :Sum, "mml/v2/arith"
102
+ autoload :Product, "mml/v2/arith"
103
+ autoload :Factorial, "mml/v2/arith"
104
+
105
+ # calculus.rb
106
+ autoload :Int, "mml/v2/calculus"
107
+ autoload :Diff, "mml/v2/calculus"
108
+ autoload :Partialdiff, "mml/v2/calculus"
109
+ autoload :Limit, "mml/v2/calculus"
110
+ autoload :Lowlimit, "mml/v2/calculus"
111
+ autoload :Uplimit, "mml/v2/calculus"
112
+ autoload :Tendsto, "mml/v2/calculus"
113
+
114
+ # constants.rb
115
+ autoload :Naturalnumbers, "mml/v2/constants"
116
+ autoload :Primes, "mml/v2/constants"
117
+ autoload :Integers, "mml/v2/constants"
118
+ autoload :Rationals, "mml/v2/constants"
119
+ autoload :Reals, "mml/v2/constants"
120
+ autoload :Complexes, "mml/v2/constants"
121
+ autoload :Emptyset, "mml/v2/constants"
122
+ autoload :Exponentiale, "mml/v2/constants"
123
+ autoload :Imaginaryi, "mml/v2/constants"
124
+ autoload :Pi, "mml/v2/constants"
125
+ autoload :Eulergamma, "mml/v2/constants"
126
+ autoload :Mtrue, "mml/v2/constants"
127
+ autoload :Mfalse, "mml/v2/constants"
128
+ autoload :Infinity, "mml/v2/constants"
129
+ autoload :Notanumber, "mml/v2/constants"
130
+
131
+ # elementary_functions.rb
132
+ autoload :Exp, "mml/v2/elementary_functions"
133
+ autoload :Ln, "mml/v2/elementary_functions"
134
+ autoload :Log, "mml/v2/elementary_functions"
135
+ autoload :Logbase, "mml/v2/elementary_functions"
136
+ autoload :Sin, "mml/v2/elementary_functions"
137
+ autoload :Cos, "mml/v2/elementary_functions"
138
+ autoload :Tan, "mml/v2/elementary_functions"
139
+ autoload :Sec, "mml/v2/elementary_functions"
140
+ autoload :Csc, "mml/v2/elementary_functions"
141
+ autoload :Cot, "mml/v2/elementary_functions"
142
+ autoload :Arcsin, "mml/v2/elementary_functions"
143
+ autoload :Arccos, "mml/v2/elementary_functions"
144
+ autoload :Arctan, "mml/v2/elementary_functions"
145
+ autoload :Arccot, "mml/v2/elementary_functions"
146
+ autoload :Arccsc, "mml/v2/elementary_functions"
147
+ autoload :Arcsec, "mml/v2/elementary_functions"
148
+ autoload :Sinh, "mml/v2/elementary_functions"
149
+ autoload :Cosh, "mml/v2/elementary_functions"
150
+ autoload :Tanh, "mml/v2/elementary_functions"
151
+ autoload :Sech, "mml/v2/elementary_functions"
152
+ autoload :Csch, "mml/v2/elementary_functions"
153
+ autoload :Coth, "mml/v2/elementary_functions"
154
+ autoload :Arcsinh, "mml/v2/elementary_functions"
155
+ autoload :Arccosh, "mml/v2/elementary_functions"
156
+ autoload :Arctanh, "mml/v2/elementary_functions"
157
+ autoload :Arccoth, "mml/v2/elementary_functions"
158
+ autoload :Arccsch, "mml/v2/elementary_functions"
159
+ autoload :Arcsech, "mml/v2/elementary_functions"
160
+
161
+ # functions.rb
162
+ autoload :Compose, "mml/v2/functions"
163
+ autoload :Domain, "mml/v2/functions"
164
+ autoload :Codomain, "mml/v2/functions"
165
+ autoload :Image, "mml/v2/functions"
166
+ autoload :Ident, "mml/v2/functions"
167
+ autoload :Domainofapplication, "mml/v2/functions"
168
+
169
+ # linear_algebra.rb
170
+ autoload :Vector, "mml/v2/linear_algebra"
171
+ autoload :Matrix, "mml/v2/linear_algebra"
172
+ autoload :Matrixrow, "mml/v2/linear_algebra"
173
+ autoload :Determinant, "mml/v2/linear_algebra"
174
+ autoload :Transpose, "mml/v2/linear_algebra"
175
+ autoload :Selector, "mml/v2/linear_algebra"
176
+ autoload :Vectorproduct, "mml/v2/linear_algebra"
177
+ autoload :Scalarproduct, "mml/v2/linear_algebra"
178
+ autoload :Outerproduct, "mml/v2/linear_algebra"
179
+
180
+ # logic.rb
181
+ autoload :And, "mml/v2/logic"
182
+ autoload :Or, "mml/v2/logic"
183
+ autoload :Xor, "mml/v2/logic"
184
+ autoload :Not, "mml/v2/logic"
185
+ autoload :Exists, "mml/v2/logic"
186
+ autoload :Forall, "mml/v2/logic"
187
+ autoload :Implies, "mml/v2/logic"
188
+
189
+ # relations.rb
190
+ autoload :Eq, "mml/v2/relations"
191
+ autoload :Neq, "mml/v2/relations"
192
+ autoload :Leq, "mml/v2/relations"
193
+ autoload :Lt, "mml/v2/relations"
194
+ autoload :Geq, "mml/v2/relations"
195
+ autoload :Gt, "mml/v2/relations"
196
+ autoload :Equivalent, "mml/v2/relations"
197
+ autoload :Approx, "mml/v2/relations"
198
+ autoload :Factorof, "mml/v2/relations"
199
+
200
+ # sets.rb
201
+ autoload :Set, "mml/v2/sets"
202
+ autoload :Mlist, "mml/v2/sets"
203
+ autoload :Union, "mml/v2/sets"
204
+ autoload :Intersect, "mml/v2/sets"
205
+ autoload :In, "mml/v2/sets"
206
+ autoload :Notin, "mml/v2/sets"
207
+ autoload :Subset, "mml/v2/sets"
208
+ autoload :Prsubset, "mml/v2/sets"
209
+ autoload :Notsubset, "mml/v2/sets"
210
+ autoload :Notprsubset, "mml/v2/sets"
211
+ autoload :Setdiff, "mml/v2/sets"
212
+ autoload :Card, "mml/v2/sets"
213
+ autoload :Cartesianproduct, "mml/v2/sets"
214
+
215
+ # statistics.rb
216
+ autoload :Mean, "mml/v2/statistics"
217
+ autoload :Sdev, "mml/v2/statistics"
218
+ autoload :Variance, "mml/v2/statistics"
219
+ autoload :Median, "mml/v2/statistics"
220
+ autoload :Mode, "mml/v2/statistics"
221
+ autoload :Moment, "mml/v2/statistics"
222
+ autoload :Momentabout, "mml/v2/statistics"
223
+
224
+ # vector_calculus.rb
225
+ autoload :Divergence, "mml/v2/vector_calculus"
226
+ autoload :Grad, "mml/v2/vector_calculus"
227
+ autoload :Curl, "mml/v2/vector_calculus"
228
+ autoload :Laplacian, "mml/v2/vector_calculus"
92
229
 
93
230
  # Presentation element registrations
94
- Configuration.register_model(Maction, id: :maction)
231
+ Configuration.register_model(Maction, id: :maction)
95
232
  Configuration.register_model(Maligngroup, id: :maligngroup)
96
233
  Configuration.register_model(Malignmark, id: :malignmark)
97
234
  Configuration.register_model(Menclose, id: :menclose)
@@ -99,211 +236,210 @@ module Mml
99
236
  Configuration.register_model(Mfenced, id: :mfenced)
100
237
  Configuration.register_model(Mfrac, id: :mfrac)
101
238
  Configuration.register_model(Mfraction, id: :mfraction)
102
- Configuration.register_model(Mglyph, id: :mglyph)
103
- Configuration.register_model(Mi, id: :mi)
104
- Configuration.register_model(Mlabeledtr, id: :mlabeledtr)
105
- Configuration.register_model(Mlongdiv, id: :mlongdiv)
106
- Configuration.register_model(Mmultiscripts, id: :mmultiscripts)
107
- Configuration.register_model(Mn, id: :mn)
108
- Configuration.register_model(Mo, id: :mo)
109
- Configuration.register_model(Mover, id: :mover)
110
- Configuration.register_model(Mpadded, id: :mpadded)
111
- Configuration.register_model(Mphantom, id: :mphantom)
112
- Configuration.register_model(Mprescripts, id: :mprescripts)
113
- Configuration.register_model(Mroot, id: :mroot)
114
- Configuration.register_model(Mrow, id: :mrow)
115
- Configuration.register_model(Ms, id: :ms)
116
- Configuration.register_model(Mscarries, id: :mscarries)
117
- Configuration.register_model(Mscarry, id: :mscarry)
118
- Configuration.register_model(Msgroup, id: :msgroup)
119
- Configuration.register_model(Msline, id: :msline)
120
- Configuration.register_model(Mspace, id: :mspace)
121
- Configuration.register_model(Msqrt, id: :msqrt)
122
- Configuration.register_model(Msrow, id: :msrow)
123
- Configuration.register_model(Mstack, id: :mstack)
124
- Configuration.register_model(Mstyle, id: :mstyle)
125
- Configuration.register_model(Msub, id: :msub)
126
- Configuration.register_model(Msubsup, id: :msubsup)
127
- Configuration.register_model(Msup, id: :msup)
128
- Configuration.register_model(Mtable, id: :mtable)
129
- Configuration.register_model(Mtd, id: :mtd)
130
- Configuration.register_model(Mtext, id: :mtext)
131
- Configuration.register_model(Mtr, id: :mtr)
132
- Configuration.register_model(Munder, id: :munder)
133
- Configuration.register_model(Munderover, id: :munderover)
134
- Configuration.register_model(None, id: :none)
135
- Configuration.register_model(Semantics, id: :semantics)
136
- Configuration.register_model(Math, id: :math)
239
+ Configuration.register_model(Mglyph, id: :mglyph)
240
+ Configuration.register_model(Mi, id: :mi)
241
+ Configuration.register_model(Mlabeledtr, id: :mlabeledtr)
242
+ Configuration.register_model(Mlongdiv, id: :mlongdiv)
243
+ Configuration.register_model(Mmultiscripts, id: :mmultiscripts)
244
+ Configuration.register_model(Mn, id: :mn)
245
+ Configuration.register_model(Mo, id: :mo)
246
+ Configuration.register_model(Mover, id: :mover)
247
+ Configuration.register_model(Mpadded, id: :mpadded)
248
+ Configuration.register_model(Mphantom, id: :mphantom)
249
+ Configuration.register_model(Mprescripts, id: :mprescripts)
250
+ Configuration.register_model(Mroot, id: :mroot)
251
+ Configuration.register_model(Mrow, id: :mrow)
252
+ Configuration.register_model(Ms, id: :ms)
253
+ Configuration.register_model(Mscarries, id: :mscarries)
254
+ Configuration.register_model(Mscarry, id: :mscarry)
255
+ Configuration.register_model(Msgroup, id: :msgroup)
256
+ Configuration.register_model(Msline, id: :msline)
257
+ Configuration.register_model(Mspace, id: :mspace)
258
+ Configuration.register_model(Msqrt, id: :msqrt)
259
+ Configuration.register_model(Msrow, id: :msrow)
260
+ Configuration.register_model(Mstack, id: :mstack)
261
+ Configuration.register_model(Mstyle, id: :mstyle)
262
+ Configuration.register_model(Msub, id: :msub)
263
+ Configuration.register_model(Msubsup, id: :msubsup)
264
+ Configuration.register_model(Msup, id: :msup)
265
+ Configuration.register_model(Mtable, id: :mtable)
266
+ Configuration.register_model(Mtd, id: :mtd)
267
+ Configuration.register_model(Mtext, id: :mtext)
268
+ Configuration.register_model(Mtr, id: :mtr)
269
+ Configuration.register_model(Munder, id: :munder)
270
+ Configuration.register_model(Munderover, id: :munderover)
271
+ Configuration.register_model(None, id: :none)
272
+ Configuration.register_model(Semantics, id: :semantics)
273
+ Configuration.register_model(Math, id: :math)
137
274
 
138
- # Content element registrations - separate files
275
+ # Content element registrations
139
276
  Configuration.register_model(Annotation, id: :annotation)
140
277
  Configuration.register_model(AnnotationXml, id: :"annotation-xml")
141
278
  Configuration.register_model(Apply, id: :apply)
142
- Configuration.register_model(Bvar, id: :bvar)
279
+ Configuration.register_model(Bvar, id: :bvar)
143
280
  Configuration.register_model(Bind, id: :bind)
144
281
  Configuration.register_model(Ci, id: :ci)
145
282
  Configuration.register_model(Cn, id: :cn)
146
- Configuration.register_model(Condition, id: :condition)
283
+ Configuration.register_model(Condition, id: :condition)
147
284
  Configuration.register_model(Csymbol, id: :csymbol)
148
285
  Configuration.register_model(Degree, id: :degree)
149
- Configuration.register_model(Fn, id: :fn)
286
+ Configuration.register_model(Fn, id: :fn)
150
287
  Configuration.register_model(Interval, id: :interval)
151
288
  Configuration.register_model(Inverse, id: :inverse)
152
- Configuration.register_model(Lambda, id: :lambda)
153
- Configuration.register_model(Otherwise, id: :otherwise)
154
- Configuration.register_model(Piece, id: :piece)
155
- Configuration.register_model(Piecewise, id: :piecewise)
156
- Configuration.register_model(Reln, id: :reln)
157
- Configuration.register_model(Sep, id: :sep)
289
+ Configuration.register_model(Lambda, id: :lambda)
290
+ Configuration.register_model(Otherwise, id: :otherwise)
291
+ Configuration.register_model(Piece, id: :piece)
292
+ Configuration.register_model(Piecewise, id: :piecewise)
293
+ Configuration.register_model(Reln, id: :reln)
294
+ Configuration.register_model(Sep, id: :sep)
158
295
 
159
- # Content element registrations - batch files
160
- # Arith (Abs, Conjugate, Arg, Real, Imaginary, Floor, Ceiling, Quotient, Divide, Rem, Minus, Plus, Times, Power, Root, Max, Min, Gcd, Lcm, Sum, Product, Factorial)
161
- Configuration.register_model(Abs, id: :abs)
162
- Configuration.register_model(Conjugate, id: :conjugate)
296
+ # Arith
297
+ Configuration.register_model(Abs, id: :abs)
298
+ Configuration.register_model(Conjugate, id: :conjugate)
163
299
  Configuration.register_model(Arg, id: :arg)
164
300
  Configuration.register_model(Real, id: :real)
165
301
  Configuration.register_model(Imaginary, id: :imaginary)
166
- Configuration.register_model(Floor, id: :floor)
167
- Configuration.register_model(Ceiling, id: :ceiling)
168
- Configuration.register_model(Quotient, id: :quotient)
169
- Configuration.register_model(Divide, id: :divide)
302
+ Configuration.register_model(Floor, id: :floor)
303
+ Configuration.register_model(Ceiling, id: :ceiling)
304
+ Configuration.register_model(Quotient, id: :quotient)
305
+ Configuration.register_model(Divide, id: :divide)
170
306
  Configuration.register_model(Rem, id: :rem)
171
307
  Configuration.register_model(Minus, id: :minus)
172
308
  Configuration.register_model(Plus, id: :plus)
173
309
  Configuration.register_model(Times, id: :times)
174
- Configuration.register_model(Power, id: :power)
310
+ Configuration.register_model(Power, id: :power)
175
311
  Configuration.register_model(Root, id: :root)
176
312
  Configuration.register_model(Max, id: :max)
177
313
  Configuration.register_model(Min, id: :min)
178
314
  Configuration.register_model(Gcd, id: :gcd)
179
315
  Configuration.register_model(Lcm, id: :lcm)
180
316
  Configuration.register_model(Sum, id: :sum)
181
- Configuration.register_model(Product, id: :product)
182
- Configuration.register_model(Factorial, id: :factorial)
317
+ Configuration.register_model(Product, id: :product)
318
+ Configuration.register_model(Factorial, id: :factorial)
183
319
 
184
- # Calculus (Int, Diff, Partialdiff, Limit, Lowlimit, Uplimit, Tendsto)
185
- Configuration.register_model(Int, id: :int)
186
- Configuration.register_model(Diff, id: :diff)
187
- Configuration.register_model(Partialdiff, id: :partialdiff)
188
- Configuration.register_model(Limit, id: :limit)
189
- Configuration.register_model(Lowlimit, id: :lowlimit)
190
- Configuration.register_model(Uplimit, id: :uplimit)
191
- Configuration.register_model(Tendsto, id: :tendsto)
320
+ # Calculus
321
+ Configuration.register_model(Int, id: :int)
322
+ Configuration.register_model(Diff, id: :diff)
323
+ Configuration.register_model(Partialdiff, id: :partialdiff)
324
+ Configuration.register_model(Limit, id: :limit)
325
+ Configuration.register_model(Lowlimit, id: :lowlimit)
326
+ Configuration.register_model(Uplimit, id: :uplimit)
327
+ Configuration.register_model(Tendsto, id: :tendsto)
192
328
 
193
- # ElementaryFunctions (Exp, Ln, Log, Logbase, trig, hyperbolic, inverse)
194
- Configuration.register_model(Exp, id: :exp)
195
- Configuration.register_model(Ln, id: :ln)
196
- Configuration.register_model(Log, id: :log)
197
- Configuration.register_model(Logbase, id: :logbase)
198
- Configuration.register_model(Sin, id: :sin)
199
- Configuration.register_model(Cos, id: :cos)
200
- Configuration.register_model(Tan, id: :tan)
201
- Configuration.register_model(Sec, id: :sec)
202
- Configuration.register_model(Csc, id: :csc)
203
- Configuration.register_model(Cot, id: :cot)
204
- Configuration.register_model(Arcsin, id: :arcsin)
205
- Configuration.register_model(Arccos, id: :arccos)
206
- Configuration.register_model(Arctan, id: :arctan)
207
- Configuration.register_model(Arccot, id: :arccot)
208
- Configuration.register_model(Arccsc, id: :arccsc)
209
- Configuration.register_model(Arcsec, id: :arcsec)
210
- Configuration.register_model(Sinh, id: :sinh)
211
- Configuration.register_model(Cosh, id: :cosh)
212
- Configuration.register_model(Tanh, id: :tanh)
213
- Configuration.register_model(Sech, id: :sech)
214
- Configuration.register_model(Csch, id: :csch)
215
- Configuration.register_model(Coth, id: :coth)
216
- Configuration.register_model(Arcsinh, id: :arcsinh)
217
- Configuration.register_model(Arccosh, id: :arccosh)
218
- Configuration.register_model(Arctanh, id: :arctanh)
219
- Configuration.register_model(Arccoth, id: :arccoth)
220
- Configuration.register_model(Arccsch, id: :arccsch)
221
- Configuration.register_model(Arcsech, id: :arcsech)
329
+ # Elementary functions
330
+ Configuration.register_model(Exp, id: :exp)
331
+ Configuration.register_model(Ln, id: :ln)
332
+ Configuration.register_model(Log, id: :log)
333
+ Configuration.register_model(Logbase, id: :logbase)
334
+ Configuration.register_model(Sin, id: :sin)
335
+ Configuration.register_model(Cos, id: :cos)
336
+ Configuration.register_model(Tan, id: :tan)
337
+ Configuration.register_model(Sec, id: :sec)
338
+ Configuration.register_model(Csc, id: :csc)
339
+ Configuration.register_model(Cot, id: :cot)
340
+ Configuration.register_model(Arcsin, id: :arcsin)
341
+ Configuration.register_model(Arccos, id: :arccos)
342
+ Configuration.register_model(Arctan, id: :arctan)
343
+ Configuration.register_model(Arccot, id: :arccot)
344
+ Configuration.register_model(Arccsc, id: :arccsc)
345
+ Configuration.register_model(Arcsec, id: :arcsec)
346
+ Configuration.register_model(Sinh, id: :sinh)
347
+ Configuration.register_model(Cosh, id: :cosh)
348
+ Configuration.register_model(Tanh, id: :tanh)
349
+ Configuration.register_model(Sech, id: :sech)
350
+ Configuration.register_model(Csch, id: :csch)
351
+ Configuration.register_model(Coth, id: :coth)
352
+ Configuration.register_model(Arcsinh, id: :arcsinh)
353
+ Configuration.register_model(Arccosh, id: :arccosh)
354
+ Configuration.register_model(Arctanh, id: :arctanh)
355
+ Configuration.register_model(Arccoth, id: :arccoth)
356
+ Configuration.register_model(Arccsch, id: :arccsch)
357
+ Configuration.register_model(Arcsech, id: :arcsech)
222
358
 
223
- # Logic (And, Or, Xor, Not, Exists, Forall, Implies)
224
- Configuration.register_model(And, id: :and)
225
- Configuration.register_model(Or, id: :or)
226
- Configuration.register_model(Xor, id: :xor)
227
- Configuration.register_model(Not, id: :not)
228
- Configuration.register_model(Exists, id: :exists)
229
- Configuration.register_model(Forall, id: :forall)
230
- Configuration.register_model(Implies, id: :implies)
359
+ # Logic
360
+ Configuration.register_model(And, id: :and)
361
+ Configuration.register_model(Or, id: :or)
362
+ Configuration.register_model(Xor, id: :xor)
363
+ Configuration.register_model(Not, id: :not)
364
+ Configuration.register_model(Exists, id: :exists)
365
+ Configuration.register_model(Forall, id: :forall)
366
+ Configuration.register_model(Implies, id: :implies)
231
367
 
232
- # Functions (Compose, Domain, Codomain, Image, Ident, Domainofapplication)
233
- Configuration.register_model(Compose, id: :compose)
234
- Configuration.register_model(Domain, id: :domain)
235
- Configuration.register_model(Codomain, id: :codomain)
236
- Configuration.register_model(Image, id: :image)
237
- Configuration.register_model(Ident, id: :ident)
238
- Configuration.register_model(Domainofapplication, id: :domainofapplication)
368
+ # Functions
369
+ Configuration.register_model(Compose, id: :compose)
370
+ Configuration.register_model(Domain, id: :domain)
371
+ Configuration.register_model(Codomain, id: :codomain)
372
+ Configuration.register_model(Image, id: :image)
373
+ Configuration.register_model(Ident, id: :ident)
374
+ Configuration.register_model(Domainofapplication, id: :domainofapplication)
239
375
 
240
- # Relations (Eq, Neq, Leq, Lt, Geq, Gt, Equivalent, Approx, Factorof)
241
- Configuration.register_model(Eq, id: :eq)
242
- Configuration.register_model(Neq, id: :neq)
243
- Configuration.register_model(Leq, id: :leq)
244
- Configuration.register_model(Lt, id: :lt)
245
- Configuration.register_model(Geq, id: :geq)
246
- Configuration.register_model(Gt, id: :gt)
247
- Configuration.register_model(Equivalent, id: :equivalent)
248
- Configuration.register_model(Approx, id: :approx)
249
- Configuration.register_model(Factorof, id: :factorof)
376
+ # Relations
377
+ Configuration.register_model(Eq, id: :eq)
378
+ Configuration.register_model(Neq, id: :neq)
379
+ Configuration.register_model(Leq, id: :leq)
380
+ Configuration.register_model(Lt, id: :lt)
381
+ Configuration.register_model(Geq, id: :geq)
382
+ Configuration.register_model(Gt, id: :gt)
383
+ Configuration.register_model(Equivalent, id: :equivalent)
384
+ Configuration.register_model(Approx, id: :approx)
385
+ Configuration.register_model(Factorof, id: :factorof)
250
386
 
251
- # Sets (Set, Mlist, Union, Intersect, In, Notin, Subset, Prsubset, Notsubset, Notprsubset, Setdiff, Card, Cartesianproduct)
252
- Configuration.register_model(Set, id: :set)
253
- Configuration.register_model(Mlist, id: :list)
254
- Configuration.register_model(Union, id: :union)
255
- Configuration.register_model(Intersect, id: :intersect)
256
- Configuration.register_model(In, id: :in)
257
- Configuration.register_model(Notin, id: :notin)
258
- Configuration.register_model(Subset, id: :subset)
259
- Configuration.register_model(Prsubset, id: :prsubset)
260
- Configuration.register_model(Notsubset, id: :notsubset)
261
- Configuration.register_model(Notprsubset, id: :notprsubset)
262
- Configuration.register_model(Setdiff, id: :setdiff)
263
- Configuration.register_model(Card, id: :card)
387
+ # Sets
388
+ Configuration.register_model(Set, id: :set)
389
+ Configuration.register_model(Mlist, id: :list)
390
+ Configuration.register_model(Union, id: :union)
391
+ Configuration.register_model(Intersect, id: :intersect)
392
+ Configuration.register_model(In, id: :in)
393
+ Configuration.register_model(Notin, id: :notin)
394
+ Configuration.register_model(Subset, id: :subset)
395
+ Configuration.register_model(Prsubset, id: :prsubset)
396
+ Configuration.register_model(Notsubset, id: :notsubset)
397
+ Configuration.register_model(Notprsubset, id: :notprsubset)
398
+ Configuration.register_model(Setdiff, id: :setdiff)
399
+ Configuration.register_model(Card, id: :card)
264
400
  Configuration.register_model(Cartesianproduct, id: :cartesianproduct)
265
401
 
266
- # VectorCalculus (Divergence, Grad, Curl, Laplacian)
402
+ # Vector calculus
267
403
  Configuration.register_model(Divergence, id: :divergence)
268
- Configuration.register_model(Grad, id: :grad)
269
- Configuration.register_model(Curl, id: :curl)
270
- Configuration.register_model(Laplacian, id: :laplacian)
404
+ Configuration.register_model(Grad, id: :grad)
405
+ Configuration.register_model(Curl, id: :curl)
406
+ Configuration.register_model(Laplacian, id: :laplacian)
271
407
 
272
- # Constants (Naturalnumbers, Primes, Integers, Rationals, Reals, Complexes, Emptyset, Exponentiale, Imaginaryi, Pi, Eulergamma, Mtrue, Mfalse, Infinity, Notanumber)
408
+ # Constants
273
409
  Configuration.register_model(Naturalnumbers, id: :naturalnumbers)
274
- Configuration.register_model(Primes, id: :primes)
275
- Configuration.register_model(Integers, id: :integers)
276
- Configuration.register_model(Rationals, id: :rationals)
277
- Configuration.register_model(Reals, id: :reals)
278
- Configuration.register_model(Complexes, id: :complexes)
279
- Configuration.register_model(Emptyset, id: :emptyset)
280
- Configuration.register_model(Exponentiale, id: :exponentiale)
281
- Configuration.register_model(Imaginaryi, id: :imaginaryi)
282
- Configuration.register_model(Pi, id: :pi)
283
- Configuration.register_model(Eulergamma, id: :eulergamma)
284
- Configuration.register_model(Mtrue, id: :true) # rubocop:disable Lint/BooleanSymbol
285
- Configuration.register_model(Mfalse, id: :false) # rubocop:disable Lint/BooleanSymbol
286
- Configuration.register_model(Infinity, id: :infinity)
287
- Configuration.register_model(Notanumber, id: :notanumber)
410
+ Configuration.register_model(Primes, id: :primes)
411
+ Configuration.register_model(Integers, id: :integers)
412
+ Configuration.register_model(Rationals, id: :rationals)
413
+ Configuration.register_model(Reals, id: :reals)
414
+ Configuration.register_model(Complexes, id: :complexes)
415
+ Configuration.register_model(Emptyset, id: :emptyset)
416
+ Configuration.register_model(Exponentiale, id: :exponentiale)
417
+ Configuration.register_model(Imaginaryi, id: :imaginaryi)
418
+ Configuration.register_model(Pi, id: :pi)
419
+ Configuration.register_model(Eulergamma, id: :eulergamma)
420
+ Configuration.register_model(Mtrue, id: :true) # rubocop:disable Lint/BooleanSymbol
421
+ Configuration.register_model(Mfalse, id: :false) # rubocop:disable Lint/BooleanSymbol
422
+ Configuration.register_model(Infinity, id: :infinity)
423
+ Configuration.register_model(Notanumber, id: :notanumber)
288
424
 
289
- # LinearAlgebra (Vector, Matrix, Matrixrow, Determinant, Transpose, Selector, Vectorproduct, Scalarproduct, Outerproduct)
290
- Configuration.register_model(Vector, id: :vector)
291
- Configuration.register_model(Matrix, id: :matrix)
292
- Configuration.register_model(Matrixrow, id: :matrixrow)
293
- Configuration.register_model(Determinant, id: :determinant)
294
- Configuration.register_model(Transpose, id: :transpose)
295
- Configuration.register_model(Selector, id: :selector)
425
+ # Linear algebra
426
+ Configuration.register_model(Vector, id: :vector)
427
+ Configuration.register_model(Matrix, id: :matrix)
428
+ Configuration.register_model(Matrixrow, id: :matrixrow)
429
+ Configuration.register_model(Determinant, id: :determinant)
430
+ Configuration.register_model(Transpose, id: :transpose)
431
+ Configuration.register_model(Selector, id: :selector)
296
432
  Configuration.register_model(Vectorproduct, id: :vectorproduct)
297
433
  Configuration.register_model(Scalarproduct, id: :scalarproduct)
298
434
  Configuration.register_model(Outerproduct, id: :outerproduct)
299
435
 
300
- # Statistics (Mean, Sdev, Variance, Median, Mode, Moment, Momentabout)
436
+ # Statistics
301
437
  Configuration.register_model(Mean, id: :mean)
302
438
  Configuration.register_model(Sdev, id: :sdev)
303
- Configuration.register_model(Variance, id: :variance)
304
- Configuration.register_model(Median, id: :median)
305
- Configuration.register_model(Mode, id: :mode)
306
- Configuration.register_model(Moment, id: :moment)
439
+ Configuration.register_model(Variance, id: :variance)
440
+ Configuration.register_model(Median, id: :median)
441
+ Configuration.register_model(Mode, id: :mode)
442
+ Configuration.register_model(Moment, id: :moment)
307
443
  Configuration.register_model(Momentabout, id: :momentabout)
308
444
  end
309
445
  end