Class/Object

sigmastate

Exponentiate

Related Docs: object Exponentiate | package sigmastate

Permalink

case class Exponentiate(left: Value[SGroupElement.type], right: Value[SBigInt.type]) extends Value[SGroupElement.type] with TwoArgumentsOperation[SGroupElement.type, SBigInt.type, SGroupElement.type] with NotReadyValueGroupElement with Product with Serializable

Linear Supertypes
Serializable, Serializable, NotReadyValueGroupElement, TwoArgumentsOperation[SGroupElement.type, SBigInt.type, SGroupElement.type], Triple[SGroupElement.type, SBigInt.type, SGroupElement.type], NotReadyValue[SGroupElement.type], Value[SGroupElement.type], SigmaNode, Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Exponentiate
  2. Serializable
  3. Serializable
  4. NotReadyValueGroupElement
  5. TwoArgumentsOperation
  6. Triple
  7. NotReadyValue
  8. Value
  9. SigmaNode
  10. Product
  11. Equals
  12. AnyRef
  13. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Exponentiate(left: Value[SGroupElement.type], right: Value[SBigInt.type])

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def addCost[R](costKind: TypeBasedCost, tpe: SType)(block: () ⇒ R)(implicit E: ErgoTreeEvaluator): R

    Permalink

    Add the cost given by the descriptor to the accumulator and associate it with this operation node.

    Add the cost given by the descriptor to the accumulator and associate it with this operation node.

    Definition Classes
    Value
    Annotations
    @inline()
  5. final def addCost(costKind: FixedCost)(implicit E: ErgoTreeEvaluator): Unit

    Permalink

    Add the cost given by the kind to the accumulator and associate it with this operation node.

    Add the cost given by the kind to the accumulator and associate it with this operation node.

    Definition Classes
    Value
    Annotations
    @inline()
  6. final def addSeqCost[R](costKind: PerItemCost, nItems: Int)(block: () ⇒ R)(implicit E: ErgoTreeEvaluator): R

    Permalink

    Add the cost of a repeated operation to the accumulator and associate it with this operation.

    Add the cost of a repeated operation to the accumulator and associate it with this operation. The number of items (loop iterations) is known in advance (like in Coll.map operation)

    R

    result type of the operation

    costKind

    cost descriptor of the operation

    nItems

    number of operations known in advance (before loop execution)

    block

    operation executed under the given cost

    Definition Classes
    Value
    Annotations
    @inline()
  7. final def addSeqCostNoOp(costKind: PerItemCost, nItems: Int)(implicit E: ErgoTreeEvaluator): Unit

    Permalink

    Add the cost of a repeated operation to the accumulator and associate it with this operation.

    Add the cost of a repeated operation to the accumulator and associate it with this operation. The number of items (loop iterations) is known in advance (like in Coll.map operation)

    costKind

    cost descriptor of the operation

    nItems

    number of operations known in advance (before loop execution)

    Definition Classes
    Value
    Annotations
    @inline()
  8. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  9. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. def companion: Exponentiate.type

    Permalink

    The companion node descriptor with opCode, cost and other metadata.

    The companion node descriptor with opCode, cost and other metadata.

    Definition Classes
    ExponentiateValue
  11. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  12. final def eval(env: DataEnv)(implicit E: ErgoTreeEvaluator): Any

    Permalink

    Defines an evaluation semantics of this tree node (aka Value or expression) in the given data environment.

    Defines an evaluation semantics of this tree node (aka Value or expression) in the given data environment. Should be implemented by all the ErgoTree nodes (aka operations). Thus, the ErgoTree interpreter implementation consists of combined implementations of this method. NOTE, this method shouldn't be called directly, instead use evalTo method.

    env

    immutable map, which binds variables (given by ids) to the values

    E

    Evaluator which defines evaluation context, cost accumulator, settings etc.

    returns

    the data value which is the result of evaluation

    Attributes
    protected
    Definition Classes
    ExponentiateValue
  13. final def evalTo[T](env: DataEnv)(implicit E: ErgoTreeEvaluator): T

    Permalink

    Evaluates this node to the value of the given expected type.

    Evaluates this node to the value of the given expected type. This method should called from all eval implementations.

    T

    expected type of the resulting value

    env

    immutable map, which binds variables (given by ids) to the values

    E

    Evaluator which defines evaluation context, cost accumulator, settings etc.

    returns

    the data value which is the result of evaluation

    Definition Classes
    Value
    Annotations
    @inline()
  14. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  15. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  16. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  17. val left: Value[SGroupElement.type]

    Permalink
    Definition Classes
    ExponentiateTriple
  18. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  19. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  20. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  21. def opCode: OpCode

    Permalink

    Unique id of the node class used in serialization of ErgoTree.

    Unique id of the node class used in serialization of ErgoTree.

    Definition Classes
    Value
  22. def opName: String

    Permalink
    Definition Classes
    Value
  23. def opType: SFunc

    Permalink

    Every value represents an operation and that operation can be associated with a function type, describing functional meaning of the operation, kind of operation signature.

    Every value represents an operation and that operation can be associated with a function type, describing functional meaning of the operation, kind of operation signature. Thus we can obtain global operation identifiers by combining Value.opName with Value.opType, so that if (v1.opName == v2.opName) && (v1.opType == v2.opType) then v1 and v2 are functionally point-wise equivalent. This in particular means that if two _different_ ops have the same opType they _should_ have different opNames. Thus defined op ids are used in a Cost Model - a table of all existing primitives coupled with performance parameters.

    Definition Classes
    ExponentiateValue
  24. val right: Value[SBigInt.type]

    Permalink
    Definition Classes
    ExponentiateTriple
  25. def sourceContext: Nullable[SourceContext]

    Permalink
    Definition Classes
    Value
  26. def sourceContext_=(srcCtx: Nullable[SourceContext]): Unit

    Permalink
    Definition Classes
    Value
  27. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  28. def tpe: SGroupElement.type

    Permalink

    The type of the value represented by this node.

    The type of the value represented by this node. If the value is an operation it is the type of operation result.

    Definition Classes
    NotReadyValueGroupElementValue
  29. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  30. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  31. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Serializable

Inherited from Serializable

Inherited from NotReadyValueGroupElement

Inherited from TwoArgumentsOperation[SGroupElement.type, SBigInt.type, SGroupElement.type]

Inherited from Triple[SGroupElement.type, SBigInt.type, SGroupElement.type]

Inherited from NotReadyValue[SGroupElement.type]

Inherited from Value[SGroupElement.type]

Inherited from SigmaNode

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped