Class: SyMath::Equation
- Defined in:
- lib/symath/equation.rb
Instance Attribute Summary
Attributes inherited from Operator
Instance Method Summary collapse
- #*(other) ⇒ Object
- #**(other) ⇒ Object
- #+(other) ⇒ Object
- #-(other) ⇒ Object
- #-@ ⇒ Object
- #/(other) ⇒ Object
-
#initialize(arg1, arg2) ⇒ Equation
constructor
A new instance of Equation.
- #to_latex ⇒ Object
- #to_s ⇒ Object
Methods inherited from Operator
#<=>, #==, #args_assoc, #arity, compose_with_simplify, #dump, #evaluate, #hash, #is_associative?, #is_commutative?, #is_constant?, #name, #reduce, #replace, #variables
Methods inherited from Value
#<, #<=, #<=>, #>, #>=, #^, #add, #base, compose_with_simplify, create, #deep_clone, #div, #dump, #evaluate, #exponent, #factors, #inspect, #inv, #is_divisor_factor?, #is_finite?, #is_nan?, #is_negative?, #is_negative_number?, #is_number?, #is_positive?, #is_prod_exp?, #is_sum_exp?, #is_unit_quaternion?, #is_zero?, #mul, #neg, #power, #reduce, #reduce_modulo_sign, #sign, #sub, #terms, #to_m, #type, #wedge
Methods included from Operation::Exterior
Methods included from Operation::Integration
#anti_derivative, #get_linear_constants, initialize, #int_constant, #int_failure, #int_function, #int_inv, #int_pattern, #int_power, #int_product, #int_sum, #integral_bounds
Methods included from Operation::Differential
#_d_wedge, #d, #d_failure, #d_fraction, #d_function, #d_function_def, #d_power, #d_product, initialize
Methods included from Operation
Methods included from Operation::DistributiveLaw
#combfrac_add_term, #combfrac_sum, #combine_fractions, #expand, #expand_product, #expand_single_pass, #factorize, #factorize_integer_poly, #factorize_simple, #has_fractional_terms?
Methods included from Operation::Normalization
#combine_factors, #compare_factors_and_swap, #normalize, #normalize_matrix, #normalize_power, #normalize_product, #normalize_single_pass, #normalize_sum, #order_product, #product_on_fraction_form, #reduce_constant_factors, #replace_combined_factors, #swap_factors
Methods included from Operation::Match
#build_assoc_op, #match, #match_assoc, #match_replace
Constructor Details
#initialize(arg1, arg2) ⇒ Equation
Returns a new instance of Equation.
6 7 8 |
# File 'lib/symath/equation.rb', line 6 def initialize(arg1, arg2) super('=', [arg1, arg2]) end |
Instance Method Details
#*(other) ⇒ Object
30 31 32 33 34 35 36 |
# File 'lib/symath/equation.rb', line 30 def *(other) if other.is_a?(SyMath::Equation) raise 'Cannot multiply two equations' else return eq(self.args[0] * other, self.args[1] * other) end end |
#**(other) ⇒ Object
46 47 48 49 50 51 52 |
# File 'lib/symath/equation.rb', line 46 def **(other) if other.is_a?(SyMath::Equation) raise 'Cannot use equation as exponent' else return eq(self.args[0]**other, self.args[1]**other) end end |
#+(other) ⇒ Object
10 11 12 13 14 15 16 |
# File 'lib/symath/equation.rb', line 10 def +(other) if other.is_a?(SyMath::Equation) return eq(self.args[0] + other.args[0], self.args[1] + other.args[1]) else return eq(self.args[0] + other, self.args[1] + other) end end |
#-(other) ⇒ Object
18 19 20 21 22 23 24 |
# File 'lib/symath/equation.rb', line 18 def -(other) if other.is_a?(SyMath::Equation) return eq(self.args[0] - other.args[0], self.args[1] - other.args[1]) else return eq(self.args[0] - other, self.args[1] - other) end end |
#-@ ⇒ Object
26 27 28 |
# File 'lib/symath/equation.rb', line 26 def -@() return eq(-self.args[0], -self.args[1]) end |
#/(other) ⇒ Object
38 39 40 41 42 43 44 |
# File 'lib/symath/equation.rb', line 38 def /(other) if other.is_a?(SyMath::Equation) raise 'Cannot divide by equation' else return eq(self.args[0] / other, self.args[1] / other) end end |
#to_latex ⇒ Object
58 59 60 |
# File 'lib/symath/equation.rb', line 58 def to_latex() return @args[0].to_latex + ' = ' + @args[1].to_latex end |
#to_s ⇒ Object
54 55 56 |
# File 'lib/symath/equation.rb', line 54 def to_s() return "#{@args[0]} = #{@args[1]}" end |