Class: Axiom::Function::Numeric::Exponentiation

Inherits:
Axiom::Function::Numeric show all
Includes:
Binary, Binary::Invertible, Comparable
Defined in:
lib/axiom/function/numeric/exponentiation.rb

Overview

A class representing a exponentiation function

Defined Under Namespace

Modules: Methods

Instance Attribute Summary

Attributes included from Operation::Binary

#left, #right

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Binary

#call, #rename, #type

Methods included from Operation::Binary

#initialize

Methods inherited from Axiom::Function::Numeric

type

Methods inherited from Axiom::Function

extract_value, rename_attributes, #type

Methods included from Visitable

#accept

Class Method Details

.operationSymbol

Return the Exponentiation operation

Examples:

Exponentiation.operation  # => :**

Returns:

  • (Symbol)


21
22
23
# File 'lib/axiom/function/numeric/exponentiation.rb', line 21

def self.operation
  :**
end

Instance Method Details

#inverseExponentiation

Return the inverse function

Examples:

inverse = exponentiation.inverse

Returns:



33
34
35
# File 'lib/axiom/function/numeric/exponentiation.rb', line 33

def inverse
  self.class.new(left, Division.new(1, right)).memoize(inverse: self)
end