Module: Plurimath::Math
- Defined in:
- lib/plurimath/math.rb,
lib/plurimath/math/base.rb,
lib/plurimath/math/number.rb,
lib/plurimath/math/symbol.rb,
lib/plurimath/math/formula.rb,
lib/plurimath/math/unicode.rb,
lib/plurimath/math/function.rb,
lib/plurimath/math/function/f.rb,
lib/plurimath/math/function/g.rb,
lib/plurimath/math/function/lg.rb,
lib/plurimath/math/function/ln.rb,
lib/plurimath/math/function/td.rb,
lib/plurimath/math/function/tr.rb,
lib/plurimath/math/function/ul.rb,
lib/plurimath/math/function/abs.rb,
lib/plurimath/math/function/bar.rb,
lib/plurimath/math/function/cos.rb,
lib/plurimath/math/function/cot.rb,
lib/plurimath/math/function/csc.rb,
lib/plurimath/math/function/deg.rb,
lib/plurimath/math/function/det.rb,
lib/plurimath/math/function/dim.rb,
lib/plurimath/math/function/dot.rb,
lib/plurimath/math/function/exp.rb,
lib/plurimath/math/function/gcd.rb,
lib/plurimath/math/function/glb.rb,
lib/plurimath/math/function/hat.rb,
lib/plurimath/math/function/hom.rb,
lib/plurimath/math/function/inf.rb,
lib/plurimath/math/function/int.rb,
lib/plurimath/math/function/ker.rb,
lib/plurimath/math/function/lcm.rb,
lib/plurimath/math/function/lim.rb,
lib/plurimath/math/function/log.rb,
lib/plurimath/math/function/lub.rb,
lib/plurimath/math/function/max.rb,
lib/plurimath/math/function/min.rb,
lib/plurimath/math/function/mod.rb,
lib/plurimath/math/function/sec.rb,
lib/plurimath/math/function/sin.rb,
lib/plurimath/math/function/sum.rb,
lib/plurimath/math/function/sup.rb,
lib/plurimath/math/function/tan.rb,
lib/plurimath/math/function/vec.rb,
lib/plurimath/math/function/base.rb,
lib/plurimath/math/function/ceil.rb,
lib/plurimath/math/function/cosh.rb,
lib/plurimath/math/function/coth.rb,
lib/plurimath/math/function/csch.rb,
lib/plurimath/math/function/ddot.rb,
lib/plurimath/math/function/frac.rb,
lib/plurimath/math/function/left.rb,
lib/plurimath/math/function/mbox.rb,
lib/plurimath/math/function/norm.rb,
lib/plurimath/math/function/oint.rb,
lib/plurimath/math/function/over.rb,
lib/plurimath/math/function/prod.rb,
lib/plurimath/math/function/root.rb,
lib/plurimath/math/function/rule.rb,
lib/plurimath/math/function/sech.rb,
lib/plurimath/math/function/sinh.rb,
lib/plurimath/math/function/sqrt.rb,
lib/plurimath/math/function/tanh.rb,
lib/plurimath/math/function/text.rb,
lib/plurimath/math/function/color.rb,
lib/plurimath/math/function/floor.rb,
lib/plurimath/math/function/power.rb,
lib/plurimath/math/function/right.rb,
lib/plurimath/math/function/table.rb,
lib/plurimath/math/function/tilde.rb,
lib/plurimath/math/function/arccos.rb,
lib/plurimath/math/function/arcsin.rb,
lib/plurimath/math/function/arctan.rb,
lib/plurimath/math/function/cancel.rb,
lib/plurimath/math/function/fenced.rb,
lib/plurimath/math/function/liminf.rb,
lib/plurimath/math/function/limits.rb,
lib/plurimath/math/function/limsup.rb,
lib/plurimath/math/function/merror.rb,
lib/plurimath/math/function/msline.rb,
lib/plurimath/math/function/obrace.rb,
lib/plurimath/math/function/scarry.rb,
lib/plurimath/math/function/ubrace.rb,
lib/plurimath/math/function/longdiv.rb,
lib/plurimath/math/function/msgroup.rb,
lib/plurimath/math/function/overset.rb,
lib/plurimath/math/function/phantom.rb,
lib/plurimath/math/function/menclose.rb,
lib/plurimath/math/function/scarries.rb,
lib/plurimath/math/function/stackrel.rb,
lib/plurimath/math/function/substack.rb,
lib/plurimath/math/function/underset.rb,
lib/plurimath/math/function/semantics.rb,
lib/plurimath/math/function/underline.rb,
lib/plurimath/math/function/underover.rb,
lib/plurimath/math/function/font_style.rb,
lib/plurimath/math/function/power_base.rb,
lib/plurimath/math/function/multiscript.rb,
lib/plurimath/math/function/table/align.rb,
lib/plurimath/math/function/table/array.rb,
lib/plurimath/math/function/table/split.rb,
lib/plurimath/math/function/table/matrix.rb,
lib/plurimath/math/function/table/bmatrix.rb,
lib/plurimath/math/function/table/pmatrix.rb,
lib/plurimath/math/function/table/vmatrix.rb,
lib/plurimath/math/function/table/multline.rb,
lib/plurimath/math/function/unary_function.rb,
lib/plurimath/math/function/binary_function.rb,
lib/plurimath/math/function/font_style/bold.rb,
lib/plurimath/math/function/ternary_function.rb,
lib/plurimath/math/function/font_style/italic.rb,
lib/plurimath/math/function/font_style/normal.rb,
lib/plurimath/math/function/font_style/script.rb,
lib/plurimath/math/function/font_style/fraktur.rb,
lib/plurimath/math/function/font_style/monospace.rb,
lib/plurimath/math/function/font_style/sans-serif.rb,
lib/plurimath/math/function/font_style/double_struck.rb
Defined Under Namespace
Modules: Function
Classes: Base, Error, Formula, Number, Symbol, Unicode
Constant Summary
collapse
- VALID_TYPES =
{
omml: Omml,
html: Html,
latex: Latex,
mathml: Mathml,
unitsml: Unitsml,
unicode: Unicode,
asciimath: Asciimath,
}.freeze
Class Method Summary
collapse
Class Method Details
.parse(text, type) ⇒ Object
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
# File 'lib/plurimath/math.rb', line 39
def parse(text, type)
raise_error! unless valid_type?(type)
klass = VALID_TYPES[type.to_sym]
klass.new(text).to_formula
rescue => ee
message = <<~MESSAGE
An error occurred while processing the input. Please check your input to ensure it is valid or open an issue on Github If you believe the input is correct.
---- INPUT START ----
#{text}
---- INPUT END ----
MESSAGE
raise Math::Error.new(message), cause: nil
end
|
.raise_error! ⇒ Object
56
57
58
59
|
# File 'lib/plurimath/math.rb', line 56
def raise_error!
raise Plurimath::Math::Error, Error.new("Type is not valid, "\
"please enter string or symbol")
end
|
.valid_type?(type) ⇒ Boolean
61
62
63
64
|
# File 'lib/plurimath/math.rb', line 61
def valid_type?(type)
(type.is_a?(::Symbol) || type.is_a?(String)) &&
VALID_TYPES.key?(type.to_sym)
end
|