t

sigmastate.eval

CompiletimeCosting

trait CompiletimeCosting extends Scalan with RuntimeCosting

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. CompiletimeCosting
  2. RuntimeCosting
  3. CostingRules
  4. SigmaLibrary
  5. CostedObjectsModule
  6. CostedObjectsDefs
  7. CostedObjects
  8. SigmaDslModule
  9. SigmaDslDefs
  10. SigmaDsl
  11. WrappersModule
  12. Library
  13. CostedOptionsModule
  14. CostedOptionsDefs
  15. CostedOptions
  16. MonoidInstancesModule
  17. MonoidInstancesDefs
  18. MonoidInstances
  19. MonoidsModule
  20. MonoidsDefs
  21. Monoids
  22. ConcreteCostsModule
  23. ConcreteCostsDefs
  24. ConcreteCosts
  25. ConcreteSizesModule
  26. ConcreteSizesDefs
  27. ConcreteSizes
  28. CostsModule
  29. CostsDefs
  30. Costs
  31. SizesModule
  32. SizesDefs
  33. Sizes
  34. CollsModule
  35. CollsDefs
  36. Colls
  37. WrappersSpecModule
  38. WrappersSpecDefs
  39. WrappersSpec
  40. WrappersModule
  41. WRTypesModule
  42. WRTypesDefs
  43. WRTypes
  44. WOptionsModule
  45. WOptionsDefs
  46. WOptions
  47. WSpecialPredefsModule
  48. WSpecialPredefsDefs
  49. WSpecialPredefs
  50. Scalan
  51. DefRewriting
  52. Modules
  53. Entities
  54. Thunks
  55. IfThenElse
  56. Functions
  57. ProgramGraphs
  58. AstGraphs
  59. Transforming
  60. UniversalOps
  61. Equal
  62. OrderingOps
  63. LogicalOps
  64. UnBinOps
  65. NumericOps
  66. Tuples
  67. MethodCalls
  68. GraphVizExport
  69. TypeDescs
  70. Base
  71. AnyRef
  72. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. abstract class BaseDef[+T] extends Scalan.Node with Scalan.Def[T]

    Base class for most predefined operations.

    Base class for most predefined operations.

    Definition Classes
    Base
  2. abstract class CompanionDef[T] extends Scalan.Node with Scalan.Def[T]

    Base class for virtualized instances of type companions.

    Base class for virtualized instances of type companions. Each virtualized entity type (trait or class) may have virtualized companion class.

    Definition Classes
    Base
  3. case class Const[T](x: T)(implicit eT: Scalan.Elem[T]) extends Scalan.BaseDef[T] with Product with Serializable

    Default node type for embedding of literal values to graph IR.

    Default node type for embedding of literal values to graph IR. This can be used or those types T when Elem[T] is defined, but Liftable[_,T] is not, i.e. for non-liftable types.

    x

    literal value

    eT

    type descriptor of IR type T

    Definition Classes
    Base
  4. trait Def[+T] extends Scalan.Node

    Base type for all graph nodes (aka computable value definitions).

    Base type for all graph nodes (aka computable value definitions). Each graph node or definition represent one operation node of the data flow graph.

    Definition Classes
    Base
  5. class EntityObject extends AnyRef

    Base class for all objects generated for virtualized types to support staged evaluation machinery.

    Base class for all objects generated for virtualized types to support staged evaluation machinery. Each object contains definitions which can be imported when necessary. All that objects are registered in entityObjects hash map, which is done while IR cake is constructed.

    Definition Classes
    Base
  6. case class EntityObjectOwner(obj: Scalan.EntityObject) extends Scalan.OwnerKind with Product with Serializable
    Definition Classes
    Base
  7. abstract class Node extends Product

    Base class for all IR nodes/operations/definitions.

    Base class for all IR nodes/operations/definitions.

    Definition Classes
    Base
  8. class NotImplementedStagingException extends Scalan.StagingException
    Definition Classes
    Base
  9. sealed abstract class OwnerKind extends AnyRef

    Variants of owner parameter of constructors of nested classes: 1) predefined node classes are owned by IR cake (ScalanOwner) 2) entity classes are owned by enclosing EntityObject

    Variants of owner parameter of constructors of nested classes: 1) predefined node classes are owned by IR cake (ScalanOwner) 2) entity classes are owned by enclosing EntityObject

    Definition Classes
    Base
  10. case class Placeholder[T](eT: Scalan.LElem[T]) extends Scalan.Node with Scalan.Def[T] with Product with Serializable

    Symbols may temporary refer to this node until their target node is updated.

    Symbols may temporary refer to this node until their target node is updated.

    Definition Classes
    Base
  11. abstract class Ref[+T] extends AnyRef

    Abstract representation of a computable value.

    Abstract representation of a computable value. Default implementation is a simple lightweight reference to the corresponding definition. Every Ref have direct access to its Def via node property. Every Ref is typed, and the type is avaliable via elem property.

    Definition Classes
    Base
    See also

    SingleRep

  12. final class SingleRef[+T] extends Scalan.Ref[T]

    A Ref is a symbolic reference used internally to refer to graph nodes.

    A Ref is a symbolic reference used internally to refer to graph nodes. Light weight stateless immutable reference to a graph node (Def[T]). Two symbols are equal if they refer to the nodes with the same id, which is due to Def unification means equal symbols refer to the same instance of Def.

    Definition Classes
    Base
  13. class StagingException extends RuntimeException
    Definition Classes
    Base
  14. abstract class Transformer extends AnyRef

    Base class for Ref to Ref transformations.

    Base class for Ref to Ref transformations. Each transformer keeps a mapping data between references to original nodes and references to the corresponding transformed nodes.

    Definition Classes
    Base
  15. case class Variable[T](varId: Int)(implicit eT: Scalan.LElem[T]) extends Scalan.Node with Scalan.Def[T] with Product with Serializable

    Node class for typed variables.

    Node class for typed variables. In particular for lambda-bound variables.

    varId

    is independent from nodeId, shouldn't be used as node id.

    eT

    type descriptor of the variable type

    Definition Classes
    Base
  16. abstract class CompanionElem[T] extends Scalan.Elem[T]

    Base class for all descriptors of staged companions

    Base class for all descriptors of staged companions

    Definition Classes
    Entities
  17. trait ConcreteElem[TData, TClass] extends Scalan.EntityElem[TClass]

    Base class for all descriptors of staged classes.

    Base class for all descriptors of staged classes.

    Definition Classes
    Entities
  18. trait ConcreteElem1[A, TData, TClass, C[_]] extends Scalan.EntityElem1[A, TClass, C]

    Base class for all descriptors of staged classes with one type parameter.

    Base class for all descriptors of staged classes with one type parameter. Note, it doesn't inherit from ConcreteElem

    Definition Classes
    Entities
  19. abstract class EntityElem[A] extends Scalan.Elem[A] with Equals

    Base class for all descriptors of staged traits.

    Base class for all descriptors of staged traits. See derived classes in impl packages.

    Definition Classes
    Entities
  20. abstract class EntityElem1[A, To, C[_]] extends Scalan.EntityElem[To]

    Base class for all descriptors of staged traits with one type parameter.

    Base class for all descriptors of staged traits with one type parameter.

    Definition Classes
    Entities
  21. case class InvokeFailure(exception: Throwable) extends Scalan.InvokeResult with Product with Serializable

    Exception thrown during MethodCall invocation.

    Exception thrown during MethodCall invocation.

    Definition Classes
    MethodCalls
  22. sealed abstract class InvokeResult extends AnyRef

    Result of MethodCall invocation.

    Result of MethodCall invocation.

    Definition Classes
    MethodCalls
    See also

    tryInvoke

  23. case class InvokeSuccess(result: Scalan.Ref[_]) extends Scalan.InvokeResult with Product with Serializable

    Successful MethodCall invocation with the given result.

    Successful MethodCall invocation with the given result.

    Definition Classes
    MethodCalls
  24. case class MethodCall extends Scalan.Node with Scalan.Def[Any] with Product with Serializable

    Graph node to represent invocation of the method of some class.

    Graph node to represent invocation of the method of some class.

    Definition Classes
    MethodCalls
  25. case class NewObject[A](eA: Scalan.Elem[A], args: Seq[Any]) extends Scalan.BaseDef[A] with Product with Serializable

    Represents invocation of constructor of the class described by eA.

    Represents invocation of constructor of the class described by eA.

    eA

    class descriptor for new instance

    args

    arguments of class constructor

    Definition Classes
    MethodCalls
  26. abstract class BaseElem[A] extends Scalan.Elem[A] with Serializable with Equals
    Definition Classes
    TypeDescs
  27. class BaseElemLiftable[A] extends Scalan.BaseElem[A]

    Type descriptor for primitive types.

    Type descriptor for primitive types. There is implicit val declaration for each primitive type.

    Definition Classes
    TypeDescs
  28. abstract class Cont[F[_]] extends Scalan.TypeDesc

    Descriptor of type constructor of * -> * kind.

    Descriptor of type constructor of * -> * kind. Type constructor is not a type, but rather a function from type to type. It contains methods which abstract relationship between types T, F[T] etc.

    Definition Classes
    TypeDescs
    Annotations
    @implicitNotFound( "No Cont available for ${F}." )
  29. abstract class Elem[A] extends Scalan.TypeDesc

    Type descriptor of staged types, which correspond to source (unstaged) RTypes defined outside of IR cake.

    Type descriptor of staged types, which correspond to source (unstaged) RTypes defined outside of IR cake.

    A

    the type represented by this descriptor

    Definition Classes
    TypeDescs
    Annotations
    @implicitNotFound( "No Elem available for ${A}." )
  30. class ElemCacheEntry extends AnyRef

    Elements cache information for each Elem class.

    Elements cache information for each Elem class.

    Definition Classes
    TypeDescs
  31. case class EnvRep[A](run: (Scalan.DataEnv) ⇒ (Scalan.DataEnv, Scalan.Ref[A])) extends Product with Serializable

    State monad for symbols computed in a data environment.

    State monad for symbols computed in a data environment. DataEnv is used as the state of the state monad.

    Definition Classes
    TypeDescs
  32. case class FuncElem[A, B](eDom: Scalan.Elem[A], eRange: Scalan.Elem[B]) extends Scalan.Elem[(A) ⇒ B] with Product with Serializable

    Type descriptor for A => B type where descriptors for A and B are given as arguments.

    Type descriptor for A => B type where descriptors for A and B are given as arguments.

    Definition Classes
    TypeDescs
  33. trait Functor[F[_]] extends Scalan.Cont[F]
    Definition Classes
    TypeDescs
  34. sealed abstract class MethodDesc extends AnyRef
    Definition Classes
    TypeDescs
  35. case class PairElem[A, B](eFst: Scalan.Elem[A], eSnd: Scalan.Elem[B]) extends Scalan.Elem[(A, B)] with Product with Serializable

    Type descriptor for (A, B) type where descriptors for A and B are given as arguments.

    Type descriptor for (A, B) type where descriptors for A and B are given as arguments.

    Definition Classes
    TypeDescs
  36. case class RMethodDesc(method: Method) extends Scalan.MethodDesc with Product with Serializable
    Definition Classes
    TypeDescs
  37. case class SumElem[A, B](eLeft: Scalan.Elem[A], eRight: Scalan.Elem[B]) extends Scalan.Elem[Scalan.|[A, B]] with Product with Serializable

    Type descriptor for A | B type where descriptors for A and B are given as arguments.

    Type descriptor for A | B type where descriptors for A and B are given as arguments.

    Definition Classes
    TypeDescs
  38. abstract class TypeDesc extends Serializable
    Definition Classes
    TypeDescs
  39. case class WMethodDesc(wrapSpec: WrapSpec, method: Method) extends Scalan.MethodDesc with Product with Serializable
    Definition Classes
    TypeDescs
  40. case class GraphFile(file: File, fileType: String) extends Product with Serializable
    Definition Classes
    GraphVizExport
  41. implicit class SeqExpExtensionsForEmitGraph extends AnyRef
    Definition Classes
    GraphVizExport
  42. implicit class EqualOps[A] extends AnyRef

    Extension methods to construct ApplyBinOp nodes

    Extension methods to construct ApplyBinOp nodes

    Definition Classes
    Equal
  43. case class Equals[A]()(implicit evidence$1: Scalan.Elem[A]) extends Scalan.BinOp[A, Boolean] with Product with Serializable

    Binary operation representing structural equality between arguments.

    Binary operation representing structural equality between arguments.

    Definition Classes
    Equal
  44. case class NotEquals[A]()(implicit evidence$2: Scalan.Elem[A]) extends Scalan.BinOp[A, Boolean] with Product with Serializable

    Binary operation representing structural inequality between arguments.

    Binary operation representing structural inequality between arguments.

    Definition Classes
    Equal
  45. case class Apply[A, B](f: Scalan.Ref[(A) ⇒ B], arg: Scalan.Ref[A], mayInline: Boolean = true) extends Scalan.Node with Scalan.Def[B] with Product with Serializable
    Definition Classes
    Functions
  46. implicit class FuncExtensions[A, B] extends AnyRef
    Definition Classes
    Functions
  47. class Lambda[A, B] extends Scalan.AstGraph with Scalan.Def[(A) ⇒ B]

    Represent lambda expression as IR node.

    Represent lambda expression as IR node.

    Definition Classes
    Functions
  48. implicit class LambdaOps[A, B] extends AnyRef
    Definition Classes
    Functions
  49. class LambdaStack extends AnyRef
    Definition Classes
    Functions
  50. class ElseIfBranch[T] extends AnyRef

    Defines syntax available after IF (cond) THEN thenp ELSEIF (cond1)

    Defines syntax available after IF (cond) THEN thenp ELSEIF (cond1)

    Definition Classes
    IfThenElse
  51. class IfBranch extends AnyRef

    Defines syntax available after IF (cond)

    Defines syntax available after IF (cond)

    Definition Classes
    IfThenElse
  52. case class IfThenElseLazy[T](cond: Scalan.Ref[Boolean], thenp: Scalan.Ref[Scalan.Thunk[T]], elsep: Scalan.Ref[Scalan.Thunk[T]]) extends Scalan.Node with Scalan.Def[T] with Product with Serializable

    IR node to represent IF condition with lazy branches.

    IR node to represent IF condition with lazy branches.

    Definition Classes
    IfThenElse
  53. class ThenIfBranch[T] extends AnyRef

    Defines syntax available after IF (cond) THEN thenp

    Defines syntax available after IF (cond) THEN thenp

    Definition Classes
    IfThenElse
  54. implicit class RepBooleanOps extends AnyRef
    Definition Classes
    LogicalOps
  55. case class Abs[T](n: ExactNumeric[T])(implicit evidence$8: Scalan.Elem[T]) extends Scalan.UnOp[T, T] with Product with Serializable
    Definition Classes
    NumericOps
  56. class DivOp[T] extends Scalan.EndoBinOp[T]
    Definition Classes
    NumericOps
  57. case class IntegralDivide[T](i: ExactIntegral[T])(implicit elem: Scalan.Elem[T]) extends Scalan.DivOp[T] with Product with Serializable
    Definition Classes
    NumericOps
  58. case class IntegralMod[T](i: ExactIntegral[T])(implicit elem: Scalan.Elem[T]) extends Scalan.DivOp[T] with Product with Serializable
    Definition Classes
    NumericOps
  59. implicit class IntegralOpsCls[T] extends AnyRef
    Definition Classes
    NumericOps
  60. case class NumericMinus[T](n: ExactNumeric[T])(implicit evidence$4: Scalan.Elem[T]) extends Scalan.EndoBinOp[T] with Product with Serializable
    Definition Classes
    NumericOps
  61. case class NumericNegate[T](n: ExactNumeric[T])(implicit evidence$7: Scalan.Elem[T]) extends Scalan.UnOp[T, T] with Product with Serializable
    Definition Classes
    NumericOps
  62. implicit class NumericOpsCls[T] extends AnyRef
    Definition Classes
    NumericOps
  63. case class NumericPlus[T](n: ExactNumeric[T])(implicit evidence$3: Scalan.Elem[T]) extends Scalan.EndoBinOp[T] with Product with Serializable
    Definition Classes
    NumericOps
  64. case class NumericTimes[T](n: ExactNumeric[T])(implicit evidence$5: Scalan.Elem[T]) extends Scalan.EndoBinOp[T] with Product with Serializable
    Definition Classes
    NumericOps
  65. case class NumericToDouble[T](n: ExactNumeric[T]) extends Scalan.UnOp[T, Double] with Product with Serializable
    Definition Classes
    NumericOps
  66. case class NumericToFloat[T](n: ExactNumeric[T]) extends Scalan.UnOp[T, Float] with Product with Serializable
    Definition Classes
    NumericOps
  67. case class NumericToInt[T](n: ExactNumeric[T]) extends Scalan.UnOp[T, Int] with Product with Serializable
    Definition Classes
    NumericOps
  68. case class NumericToLong[T](n: ExactNumeric[T]) extends Scalan.UnOp[T, Long] with Product with Serializable
    Definition Classes
    NumericOps
  69. case class OrderingCompare[T](ord: ExactOrdering[T]) extends Scalan.BinOp[T, Int] with Product with Serializable
    Definition Classes
    OrderingOps
  70. case class OrderingGT[T](ord: ExactOrdering[T]) extends Scalan.BinOp[T, Boolean] with Product with Serializable
    Definition Classes
    OrderingOps
  71. case class OrderingGTEQ[T](ord: ExactOrdering[T]) extends Scalan.BinOp[T, Boolean] with Product with Serializable
    Definition Classes
    OrderingOps
  72. case class OrderingLT[T](ord: ExactOrdering[T]) extends Scalan.BinOp[T, Boolean] with Product with Serializable
    Definition Classes
    OrderingOps
  73. case class OrderingLTEQ[T](ord: ExactOrdering[T]) extends Scalan.BinOp[T, Boolean] with Product with Serializable
    Definition Classes
    OrderingOps
  74. case class OrderingMax[T](ord: ExactOrdering[T])(implicit evidence$1: Scalan.Elem[T]) extends Scalan.BinOp[T, T] with Product with Serializable
    Definition Classes
    OrderingOps
  75. case class OrderingMin[T](ord: ExactOrdering[T])(implicit evidence$2: Scalan.Elem[T]) extends Scalan.BinOp[T, T] with Product with Serializable
    Definition Classes
    OrderingOps
  76. class OrderingOpsCls[T] extends AnyRef
    Definition Classes
    OrderingOps
  77. case class LiftableThunk[ST, T](lT: Base.Liftables.Liftable[ST, T]) extends Base.Liftables.Liftable[Scalan.SThunk[ST], Scalan.Thunk[T]] with Product with Serializable
    Definition Classes
    Thunks
  78. implicit class RepThunkOps[T] extends AnyRef
    Definition Classes
    Thunks
  79. trait Thunk[+A] extends AnyRef
    Definition Classes
    Thunks
  80. class ThunkCompanion extends AnyRef
    Definition Classes
    Thunks
  81. case class ThunkConst[ST, T](constValue: Scalan.SThunk[ST], lT: Base.Liftables.Liftable[ST, T]) extends Scalan.BaseDef[Scalan.Thunk[T]] with LiftedConst[Scalan.SThunk[ST], Scalan.Thunk[T]] with Product with Serializable
    Definition Classes
    Thunks
  82. class ThunkDef[A] extends Scalan.AstGraph with Scalan.Def[Scalan.Thunk[A]]
    Definition Classes
    Thunks
  83. case class ThunkElem[A](eItem: Scalan.Elem[A]) extends Scalan.EntityElem1[A, Scalan.Thunk[A], Scalan.Thunk] with Product with Serializable
    Definition Classes
    Thunks
  84. case class ThunkForce[A](thunk: Scalan.Ref[Scalan.Thunk[A]]) extends Scalan.Node with Scalan.Def[A] with Product with Serializable
    Definition Classes
    Thunks
  85. class ThunkScope extends AnyRef
    Definition Classes
    Thunks
  86. class ThunkStack extends AnyRef
    Definition Classes
    Thunks
  87. case class First[A, B](pair: Scalan.Ref[(A, B)]) extends Scalan.Node with Scalan.Def[A] with Product with Serializable
    Definition Classes
    Tuples
  88. implicit class ListOps[A, B] extends AnyRef
    Definition Classes
    Tuples
  89. case class Second[A, B](pair: Scalan.Ref[(A, B)]) extends Scalan.Node with Scalan.Def[B] with Product with Serializable
    Definition Classes
    Tuples
  90. case class Tup[A, B](a: Scalan.Ref[A], b: Scalan.Ref[B]) extends Scalan.Node with Scalan.Def[(A, B)] with Product with Serializable
    Definition Classes
    Tuples
  91. implicit class TupleOps2[A, B] extends AnyRef
    Definition Classes
    Tuples
  92. implicit class TupleOps3[A, B, C] extends AnyRef
    Definition Classes
    Tuples
  93. implicit class TupleOps4[A, B, C, D] extends AnyRef
    Definition Classes
    Tuples
  94. implicit class TupleOps5[A, B, C, D, E] extends AnyRef
    Definition Classes
    Tuples
  95. case class ApplyBinOp[A, R](op: Scalan.BinOp[A, R], lhs: Scalan.Ref[A], rhs: Scalan.Ref[A]) extends Scalan.BaseDef[R] with Product with Serializable
    Definition Classes
    UnBinOps
  96. case class ApplyBinOpLazy[A, R](op: Scalan.BinOp[A, R], lhs: Scalan.Ref[A], rhs: Scalan.Ref[Scalan.Thunk[A]]) extends Scalan.BaseDef[R] with Product with Serializable
    Definition Classes
    UnBinOps
  97. case class ApplyUnOp[A, R](op: Scalan.UnOp[A, R], arg: Scalan.Ref[A]) extends Scalan.BaseDef[R] with Product with Serializable
    Definition Classes
    UnBinOps
  98. class BinOp[A, R] extends AnyRef
    Definition Classes
    UnBinOps
  99. class UnOp[A, R] extends AnyRef
    Definition Classes
    UnBinOps
  100. case class Convert[From, To](eFrom: Scalan.Elem[From], eTo: Scalan.Elem[To], x: Scalan.Ref[Scalan.Def[_]], conv: Scalan.Ref[(From) ⇒ To]) extends Scalan.BaseDef[To] with Product with Serializable
    Definition Classes
    UniversalOps
  101. case class Downcast[From, To](input: Scalan.Ref[From], eTo: Scalan.Elem[To]) extends Scalan.BaseDef[To] with Product with Serializable
    Definition Classes
    UniversalOps
  102. case class HashCode[A]() extends Scalan.UnOp[A, Int] with Product with Serializable
    Definition Classes
    UniversalOps
  103. case class OpCost(lambdaVar: Scalan.Sym, costedValueId: Int, args: Seq[Scalan.Ref[Int]], opCost: Scalan.Ref[Int]) extends Scalan.BaseDef[Int] with Product with Serializable

    Special graph node to represent accumulation of the operation costs.

    Special graph node to represent accumulation of the operation costs. In general, due to node sharing it is incorrect to just sum up all the args costs and add resCost to that value. Example:
    val x = .. val y = op1(x) val z = op2(x) val res = op3(y, z) The naive summation will lead to the cost of x is accumulated both into cost of y and into cost of z, so in the cost of res it is accumulated twice. To avoid this problem OpCost nodes require special handling in during evaluation.

    lambdaVar

    the variable of the lambda in which scope this node is created. This makes this node belong to the lambda body, even if it doesn't otherwise depend on lambda argument.

    costedValueId

    The id of the node for which this node represents cost

    args

    costs of the arguments, which are here represent dependency information.

    opCost

    operation cost, which should be added to the current scope accumulated cost

    Definition Classes
    UniversalOps
  104. implicit class RepUniversalOps[A] extends AnyRef
    Definition Classes
    UniversalOps
  105. case class SizeOf[T](value: Scalan.Ref[T]) extends Scalan.BaseDef[Long] with Product with Serializable

    Represents calculation of size in bytes of the given value.

    Represents calculation of size in bytes of the given value. The descriptor value.elem can be used to decompose value into components.

    Definition Classes
    UniversalOps
  106. case class ToString[A]() extends Scalan.UnOp[A, String] with Product with Serializable
    Definition Classes
    UniversalOps
  107. case class Upcast[From, To](input: Scalan.Ref[From], eTo: Scalan.Elem[To]) extends Scalan.BaseDef[To] with Product with Serializable
    Definition Classes
    UniversalOps
  108. abstract class AstGraph extends Scalan.Node

    Base class for all compound nodes with schedule (e.g.

    Base class for all compound nodes with schedule (e.g. Lambda, ThunkDef). The graph is directed acyclic (i.e. DAG) in which edges go from boundVars down to roots.

    Definition Classes
    AstGraphs
  109. case class GraphNode(sym: Scalan.Sym, usages: Buffer[Int]) extends Product with Serializable

    GraphNode is created for each symbol of the AstGraph and represents graph linking structure

    GraphNode is created for each symbol of the AstGraph and represents graph linking structure

    Definition Classes
    AstGraphs
  110. class PGraphUsages extends DFunc[Int, Buffer[Int]]

    Deboxed function to obtain usages of a given node.

    Deboxed function to obtain usages of a given node. Represents adjacency matrix of the reversed graph g.

    Definition Classes
    ProgramGraphs
  111. case class ProgramGraph(roots: Seq[Scalan.Sym], mapping: Nullable[Scalan.Transformer], filterNode: Nullable[(Scalan.Sym) ⇒ Boolean]) extends Scalan.AstGraph with Product with Serializable

    Immutable graph collected from roots following Ref.node.deps links.

    Immutable graph collected from roots following Ref.node.deps links.

    Definition Classes
    ProgramGraphs
  112. class DefaultPass extends Scalan.Pass

    Default pass to be used when IR is used without special compiler configuration.

    Default pass to be used when IR is used without special compiler configuration.

    Definition Classes
    Transforming
  113. case class MapTransformer(subst: HashMap[Scalan.Sym, Scalan.Sym]) extends Scalan.Transformer with Product with Serializable

    Concrete and default implementation of Transformer using underlying HashMap.

    Concrete and default implementation of Transformer using underlying HashMap.

    Definition Classes
    Transforming
  114. abstract class Mirror extends AnyRef

    Base class for mirrors of graph nodes.

    Base class for mirrors of graph nodes. Provides default implementations which can be overriden if special logic is required.

    Definition Classes
    Transforming
  115. implicit class PartialRewriter extends Scalan.Rewriter

    Turns partial function into rewriter (i.e.

    Turns partial function into rewriter (i.e. set of rewriting rules)

    Definition Classes
    Transforming
  116. abstract class Pass extends AnyRef

    Descriptor of a current compiler pass.

    Descriptor of a current compiler pass. Compiler can be configured to perform one pass after another. Each pass has name, configuration parameters, finalizaton logic etc.

    Definition Classes
    Transforming
  117. case class PassConfig(shouldUnpackTuples: Boolean = false, shouldExtractFields: Boolean = true, constantPropagation: Boolean = true, shouldSlice: Boolean = false) extends Product with Serializable

    Configuration parameters of the Pass descriptor.

    Configuration parameters of the Pass descriptor.

    Definition Classes
    Transforming
  118. abstract class Rewriter extends AnyRef
    Definition Classes
    Transforming
  119. type CostedCollFunc[A, B] = ((CompiletimeCosting.this)#Costed[A]) ⇒ (CompiletimeCosting.this)#CostedColl[B]
    Definition Classes
    RuntimeCosting
  120. type CostedOptionFunc[A, B] = ((CompiletimeCosting.this)#Costed[A]) ⇒ (CompiletimeCosting.this)#CostedOption[B]
    Definition Classes
    RuntimeCosting
  121. type CostedTh[T] = (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#Thunk[(CompiletimeCosting.this)#Costed[T]]]
    Definition Classes
    RuntimeCosting
  122. type CostingEnv = Map[Any, (CompiletimeCosting.this)#RCosted[_]]
    Definition Classes
    RuntimeCosting
  123. type DataEnv = Map[(CompiletimeCosting.this)#Sym, AnyRef]

    Immutable data environment used to assign data values to graph nodes.

    Immutable data environment used to assign data values to graph nodes.

    Definition Classes
    TypeDescs
  124. type EndoBinOp[A] = (CompiletimeCosting.this)#BinOp[A, A]
    Definition Classes
    UnBinOps
  125. type EndoUnOp[A] = (CompiletimeCosting.this)#UnOp[A, A]
    Definition Classes
    UnBinOps
  126. type LElem[A] = Lazy[(CompiletimeCosting.this)#Elem[A]]

    Type descriptor which is computed lazily on demand.

    Type descriptor which is computed lazily on demand.

    Definition Classes
    TypeDescs
  127. type LambdaData[A, B] = ((CompiletimeCosting.this)#Lambda[A, B], Nullable[((CompiletimeCosting.this)#Ref[A]) ⇒ (CompiletimeCosting.this)#Ref[B]], (CompiletimeCosting.this)#Ref[A], (CompiletimeCosting.this)#Ref[B])
    Definition Classes
    Functions
  128. type LazyRep[T] = MutableLazy[(CompiletimeCosting.this)#Ref[T]]
    Definition Classes
    Library
  129. type PGraph = (CompiletimeCosting.this)#ProgramGraph
    Definition Classes
    ProgramGraphs
  130. type RColl[T] = (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#Coll[T]]
    Definition Classes
    RuntimeCosting
  131. type RCosted[A] = (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#Costed[A]]
    Definition Classes
    Library
  132. type RCostedColl[T] = (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#CostedColl[T]]
    Definition Classes
    RuntimeCosting
  133. type RCostedCollFunc[A, B] = (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#CostedCollFunc[A, B]]
    Definition Classes
    RuntimeCosting
  134. type RCostedOption[T] = (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#CostedOption[T]]
    Definition Classes
    RuntimeCosting
  135. type RCostedOptionFunc[A, B] = (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#CostedOptionFunc[A, B]]
    Definition Classes
    RuntimeCosting
  136. type RFunc[-A, +B] = (CompiletimeCosting.this)#Ref[(A) ⇒ B]
    Definition Classes
    Base
  137. type RFuncCosted[A, B] = (CompiletimeCosting.this)#Ref[((CompiletimeCosting.this)#Costed[A]) ⇒ (CompiletimeCosting.this)#Costed[B]]
    Definition Classes
    RuntimeCosting
  138. type ROption[T] = (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#WOption[T]]
    Definition Classes
    RuntimeCosting
  139. type RPair[+A, +B] = (CompiletimeCosting.this)#Ref[(A, B)]
    Definition Classes
    Base
  140. type RSize[Val] = (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#Size[Val]]
    Definition Classes
    Library
  141. type SThunk[T] = () ⇒ T
    Definition Classes
    Thunks
  142. type Schedule = Seq[(CompiletimeCosting.this)#Sym]

    Type synonim for graph schedules.

    Type synonim for graph schedules.

    Definition Classes
    AstGraphs
  143. type ScheduleIds = Buffer[Int]

    Alternative representation of schedules using node ids.

    Alternative representation of schedules using node ids.

    Definition Classes
    AstGraphs
  144. type Subst = HashMap[(CompiletimeCosting.this)#Sym, (CompiletimeCosting.this)#Sym]
    Definition Classes
    Functions
  145. type Sym = (CompiletimeCosting.this)#Ref[_]

    Untyped shortcut sinonim of Ref, which is used as untyped reference to graph nodes (definitions).

    Untyped shortcut sinonim of Ref, which is used as untyped reference to graph nodes (definitions). Following a tradition in compiler engineering we call references to definitions as symbols.

    Definition Classes
    Base
  146. type Th[+T] = (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#Thunk[T]]
    Definition Classes
    Thunks
  147. type |[+A, +B] = Either[A, B]
    Definition Classes
    Base
  148. class AvlTreeCoster extends IRContext.Coster[IRContext.AvlTree]

    Costing rules for SAvlTree methods

    Costing rules for SAvlTree methods

    Definition Classes
    CostingRules
  149. class BoxCoster extends IRContext.Coster[IRContext.Box]

    Costing rules for SBox methods

    Costing rules for SBox methods

    Definition Classes
    CostingRules
  150. case class Cast[To](eTo: IRContext.Elem[To], x: IRContext.Ref[IRContext.Def[_]]) extends IRContext.BaseDef[To] with Product with Serializable
    Definition Classes
    CostingRules
  151. class CollCoster[T] extends IRContext.Coster[IRContext.Coll[T]]

    Costing rules for SCollection methods (see object SCollection)

    Costing rules for SCollection methods (see object SCollection)

    Definition Classes
    CostingRules
  152. class ContextCoster extends IRContext.Coster[IRContext.Context]

    Costing rules for SContext methods

    Costing rules for SContext methods

    Definition Classes
    CostingRules
  153. abstract class Coster[T] extends AnyRef

    For each Sigma type there should be one Coster class (derived from this).

    For each Sigma type there should be one Coster class (derived from this). Each coster object implements a set of costing rules, one rule for each method of the corresponding Sigma type. For example, BoxCoster is coster for Box type, it contains rules for all methods registered in SBox type descriptor. This class defines generic costing helpers, to unify and simplify costing rules of individual methods.

    Definition Classes
    CostingRules
  154. abstract class CostingHandler[T] extends AnyRef

    Implements basic costing rule invocation mechanism.

    Implements basic costing rule invocation mechanism. Each MethodCall node of ErgoTree is costed using the same mechanism. When MethodCall is matched during traverse of ErgoTree in RuntimeCosting.evalNode: 1) the type of the receiver object is used to lookup the corresponding CostingHandler 2) The apply method of CostingHandler is called to create the Coster 3) When Coster is created, the costing-rule-method is looked up using reflection and then invoked. 4) The result of costing-rule-method is returned as the result of MethodCall node costing.

    Instances of this class are typically singleton objects (see below).

    Definition Classes
    CostingRules
    See also

    Coster

  155. class GroupElementCoster extends IRContext.Coster[IRContext.GroupElement]

    Costing rules for SGroupElement methods

    Costing rules for SGroupElement methods

    Definition Classes
    CostingRules
  156. class HeaderCoster extends IRContext.Coster[IRContext.Header]

    Costing rules for SHeader methods

    Costing rules for SHeader methods

    Definition Classes
    CostingRules
  157. class KnownCollInfo[T] extends AnyRef
    Definition Classes
    CostingRules
  158. class OptionCoster[T] extends IRContext.Coster[IRContext.WOption[T]]

    Costing rules for SOption methods (see object SOption)

    Costing rules for SOption methods (see object SOption)

    Definition Classes
    CostingRules
  159. class PreHeaderCoster extends IRContext.Coster[IRContext.PreHeader]

    Costing rules for SPreHeader methods

    Costing rules for SPreHeader methods

    Definition Classes
    CostingRules
  160. class SigmaDslBuilderCoster extends IRContext.Coster[IRContext.SigmaDslBuilder]

    Costing rules for SGlobal methods

    Costing rules for SGlobal methods

    Definition Classes
    CostingRules
  161. case class CostOf(opName: String, opType: SFunc) extends IRContext.BaseDef[Int] with Product with Serializable

    To enable specific configuration uncomment one of the lines above and use it in the beginPass below.

    To enable specific configuration uncomment one of the lines above and use it in the beginPass below.

    Definition Classes
    RuntimeCosting
  162. trait CostedThunk[A] extends IRContext.Node with IRContext.Costed[IRContext.Thunk[A]]
    Definition Classes
    RuntimeCosting
  163. case class CostedThunkCtor[A](costedBlock: IRContext.Ref[IRContext.Thunk[IRContext.Costed[A]]], thunkCost: IRContext.Ref[Int]) extends IRContext.Node with IRContext.CostedThunk[A] with Product with Serializable
    Definition Classes
    RuntimeCosting
  164. class CostingRuleStat extends AnyRef
    Definition Classes
    RuntimeCosting
  165. class ElemAccessor[T] extends AnyRef
    Definition Classes
    RuntimeCosting
  166. implicit class ElemOpsForCosting extends AnyRef
    Definition Classes
    RuntimeCosting
  167. case class PerKbCostOf(operId: OperationId, size: IRContext.Ref[Long]) extends IRContext.BaseDef[Int] with Product with Serializable

    Graph node which represents cost of operation, which depends on size of the data.

    Graph node which represents cost of operation, which depends on size of the data.

    operId

    id of the operation in CostTable

    size

    size of the data which is used to compute operation cost

    Definition Classes
    RuntimeCosting
  168. implicit class RCostedCollFuncOps[A, B] extends AnyRef
    Definition Classes
    RuntimeCosting
  169. implicit class RFuncCostedOps[A, B] extends AnyRef
    Definition Classes
    RuntimeCosting
  170. trait SizeThunk[A] extends IRContext.Node with IRContext.Size[IRContext.Thunk[A]]
    Definition Classes
    RuntimeCosting
  171. case class SizeThunkCtor[A](sizeBlock: IRContext.Ref[IRContext.Thunk[IRContext.Size[A]]]) extends IRContext.Node with IRContext.SizeThunk[A] with Product with Serializable
    Definition Classes
    RuntimeCosting
  172. trait Coll[A] extends scalan.Library.Node with scalan.Library.Def[scalan.Library.Coll[A]]
    Definition Classes
    Colls
    Annotations
    @ContainerType() @FunctorType() @Liftable() @WithMethodCallRecognizers()
  173. trait CollBuilder extends scalan.Library.Node with scalan.Library.Def[scalan.Library.CollBuilder]
    Definition Classes
    Colls
    Annotations
    @Liftable() @WithMethodCallRecognizers()
  174. trait CollBuilderCompanion extends AnyRef
    Definition Classes
    Colls
  175. trait CollCompanion extends AnyRef
    Definition Classes
    Colls
  176. trait PairColl[L, R] extends scalan.Library.Node with scalan.Library.Coll[(L, R)]
    Definition Classes
    Colls
    Annotations
    @WithMethodCallRecognizers()
  177. trait PairCollCompanion extends AnyRef
    Definition Classes
    Colls
  178. trait ReplColl[A] extends scalan.Library.Node with scalan.Library.Coll[A]
    Definition Classes
    Colls
    Annotations
    @Liftable() @WithMethodCallRecognizers()
  179. trait ReplCollCompanion extends AnyRef
    Definition Classes
    Colls
  180. abstract class CCostedBuilder extends scalan.Library.Node with scalan.Library.CostedBuilder
    Definition Classes
    ConcreteCosts
  181. trait CCostedBuilderCompanion extends AnyRef
    Definition Classes
    ConcreteCosts
  182. abstract class CCostedColl[Item] extends scalan.Library.Node with scalan.Library.CostedColl[Item]
    Definition Classes
    ConcreteCosts
  183. trait CCostedCollCompanion extends AnyRef
    Definition Classes
    ConcreteCosts
  184. abstract class CCostedFunc[Env, Arg, Res] extends scalan.Library.Node with scalan.Library.CostedFunc[Env, Arg, Res]
    Definition Classes
    ConcreteCosts
  185. trait CCostedFuncCompanion extends AnyRef
    Definition Classes
    ConcreteCosts
  186. abstract class CCostedPair[L, R] extends scalan.Library.Node with scalan.Library.CostedPair[L, R]
    Definition Classes
    ConcreteCosts
  187. trait CCostedPairCompanion extends AnyRef
    Definition Classes
    ConcreteCosts
  188. abstract class CCostedPrim[Val] extends scalan.Library.Node with scalan.Library.CostedPrim[Val]
    Definition Classes
    ConcreteCosts
  189. trait CCostedPrimCompanion extends AnyRef
    Definition Classes
    ConcreteCosts
  190. abstract class CSizeColl[Item] extends scalan.Library.Node with scalan.Library.SizeColl[Item]
    Definition Classes
    ConcreteSizes
  191. trait CSizeCollCompanion extends AnyRef
    Definition Classes
    ConcreteSizes
  192. abstract class CSizeFunc[Env, Arg, Res] extends scalan.Library.Node with scalan.Library.SizeFunc[Env, Arg, Res]
    Definition Classes
    ConcreteSizes
  193. trait CSizeFuncCompanion extends AnyRef
    Definition Classes
    ConcreteSizes
  194. abstract class CSizeOption[Item] extends scalan.Library.Node with scalan.Library.SizeOption[Item]
    Definition Classes
    ConcreteSizes
  195. trait CSizeOptionCompanion extends AnyRef
    Definition Classes
    ConcreteSizes
  196. abstract class CSizePair[L, R] extends scalan.Library.Node with scalan.Library.SizePair[L, R]
    Definition Classes
    ConcreteSizes
  197. trait CSizePairCompanion extends AnyRef
    Definition Classes
    ConcreteSizes
  198. abstract class CSizePrim[Val] extends scalan.Library.Node with scalan.Library.SizePrim[Val]
    Definition Classes
    ConcreteSizes
  199. trait CSizePrimCompanion extends AnyRef
    Definition Classes
    ConcreteSizes
  200. abstract class CCostedOption[T] extends scalan.Library.Node with scalan.Library.CostedOption[T]
    Definition Classes
    CostedOptions
  201. trait CCostedOptionCompanion extends AnyRef
    Definition Classes
    CostedOptions
  202. trait Costed[Val] extends scalan.Library.Node with scalan.Library.Def[scalan.Library.Costed[Val]]
    Definition Classes
    Costs
    Annotations
    @WithMethodCallRecognizers()
  203. trait CostedBuilder extends scalan.Library.Node with scalan.Library.Def[scalan.Library.CostedBuilder]
    Definition Classes
    Costs
    Annotations
    @WithMethodCallRecognizers()
  204. trait CostedBuilderCompanion extends AnyRef
    Definition Classes
    Costs
  205. trait CostedColl[Item] extends scalan.Library.Node with scalan.Library.Costed[scalan.Library.Coll[Item]]
    Definition Classes
    Costs
    Annotations
    @WithMethodCallRecognizers()
  206. trait CostedCollCompanion extends AnyRef
    Definition Classes
    Costs
  207. trait CostedCompanion extends AnyRef
    Definition Classes
    Costs
  208. trait CostedFunc[Env, Arg, Res] extends scalan.Library.Node with scalan.Library.Costed[(Arg) ⇒ Res]
    Definition Classes
    Costs
  209. trait CostedFuncCompanion extends AnyRef
    Definition Classes
    Costs
  210. trait CostedOption[T] extends scalan.Library.Node with scalan.Library.Costed[scalan.Library.WOption[T]]
    Definition Classes
    Costs
  211. trait CostedOptionCompanion extends AnyRef
    Definition Classes
    Costs
  212. trait CostedPair[L, R] extends scalan.Library.Node with scalan.Library.Costed[(L, R)]
    Definition Classes
    Costs
  213. trait CostedPairCompanion extends AnyRef
    Definition Classes
    Costs
  214. trait CostedPrim[Val] extends scalan.Library.Node with scalan.Library.Costed[Val]
    Definition Classes
    Costs
  215. trait CostedPrimCompanion extends AnyRef
    Definition Classes
    Costs
  216. abstract class IntPlusMonoid extends scalan.Library.Node with scalan.Library.Monoid[Int]
    Definition Classes
    MonoidInstances
  217. trait IntPlusMonoidCompanion extends AnyRef
    Definition Classes
    MonoidInstances
  218. abstract class LongPlusMonoid extends scalan.Library.Node with scalan.Library.Monoid[Long]
    Definition Classes
    MonoidInstances
  219. trait LongPlusMonoidCompanion extends AnyRef
    Definition Classes
    MonoidInstances
  220. abstract class MonoidBuilderInst extends scalan.Library.Node with scalan.Library.MonoidBuilder
    Definition Classes
    MonoidInstances
  221. trait MonoidBuilderInstCompanion extends AnyRef
    Definition Classes
    MonoidInstances
  222. trait Monoid[T] extends scalan.Library.Node with scalan.Library.Def[scalan.Library.Monoid[T]]
    Definition Classes
    Monoids
  223. trait MonoidBuilder extends scalan.Library.Node with scalan.Library.Def[scalan.Library.MonoidBuilder]
    Definition Classes
    Monoids
    Annotations
    @WithMethodCallRecognizers()
  224. trait MonoidBuilderCompanion extends AnyRef
    Definition Classes
    Monoids
  225. trait MonoidCompanion extends AnyRef
    Definition Classes
    Monoids
  226. trait Size[Val] extends scalan.Library.Node with scalan.Library.Def[scalan.Library.Size[Val]]
    Definition Classes
    Sizes
    Annotations
    @Liftable() @WithMethodCallRecognizers()
  227. trait SizeColl[Item] extends scalan.Library.Node with scalan.Library.Size[scalan.Library.Coll[Item]]
    Definition Classes
    Sizes
    Annotations
    @Liftable() @WithMethodCallRecognizers()
  228. trait SizeCollCompanion extends AnyRef
    Definition Classes
    Sizes
  229. trait SizeCompanion extends AnyRef
    Definition Classes
    Sizes
  230. trait SizeFunc[Env, Arg, Res] extends scalan.Library.Node with scalan.Library.Size[(Arg) ⇒ Res]
    Definition Classes
    Sizes
    Annotations
    @Liftable() @WithMethodCallRecognizers()
  231. trait SizeFuncCompanion extends AnyRef
    Definition Classes
    Sizes
  232. trait SizeOption[T] extends scalan.Library.Node with scalan.Library.Size[scalan.Library.WOption[T]]
    Definition Classes
    Sizes
    Annotations
    @Liftable() @WithMethodCallRecognizers()
  233. trait SizeOptionCompanion extends AnyRef
    Definition Classes
    Sizes
  234. trait SizePair[L, R] extends scalan.Library.Node with scalan.Library.Size[(L, R)]
    Definition Classes
    Sizes
    Annotations
    @Liftable() @WithMethodCallRecognizers()
  235. trait SizePairCompanion extends AnyRef
    Definition Classes
    Sizes
  236. trait SizePrim[Val] extends scalan.Library.Node with scalan.Library.Size[Val]
    Definition Classes
    Sizes
    Annotations
    @Liftable()
  237. trait SizePrimCompanion extends AnyRef
    Definition Classes
    Sizes
  238. trait SizeAnyValue extends scalan.SigmaLibrary.Node with scalan.SigmaLibrary.Size[scalan.SigmaLibrary.AnyValue]
    Definition Classes
    CostedObjects
    Annotations
    @Liftable() @WithMethodCallRecognizers()
  239. trait SizeAnyValueCompanion extends AnyRef
    Definition Classes
    CostedObjects
  240. trait SizeBox extends scalan.SigmaLibrary.Node with scalan.SigmaLibrary.Size[scalan.SigmaLibrary.Box]
    Definition Classes
    CostedObjects
    Annotations
    @Liftable() @WithMethodCallRecognizers()
  241. trait SizeBoxCompanion extends AnyRef
    Definition Classes
    CostedObjects
  242. trait SizeBuilder extends scalan.SigmaLibrary.Node with scalan.SigmaLibrary.Def[scalan.SigmaLibrary.SizeBuilder]
    Definition Classes
    CostedObjects
    Annotations
    @Liftable()
  243. trait SizeBuilderCompanion extends AnyRef
    Definition Classes
    CostedObjects
  244. trait SizeContext extends scalan.SigmaLibrary.Node with scalan.SigmaLibrary.Size[scalan.SigmaLibrary.Context]
    Definition Classes
    CostedObjects
    Annotations
    @Liftable() @WithMethodCallRecognizers()
  245. trait SizeContextCompanion extends AnyRef
    Definition Classes
    CostedObjects
  246. trait SizeSigmaProp extends scalan.SigmaLibrary.Node with scalan.SigmaLibrary.Size[scalan.SigmaLibrary.SigmaProp]
    Definition Classes
    CostedObjects
    Annotations
    @Liftable() @WithMethodCallRecognizers()
  247. trait SizeSigmaPropCompanion extends AnyRef
    Definition Classes
    CostedObjects
  248. trait AnyValue extends scalan.SigmaLibrary.Node with scalan.SigmaLibrary.Def[scalan.SigmaLibrary.AnyValue]
    Definition Classes
    SigmaDsl
    Annotations
    @Liftable() @WithMethodCallRecognizers()
  249. trait AnyValueCompanion extends AnyRef
    Definition Classes
    SigmaDsl
  250. trait AvlTree extends scalan.SigmaLibrary.Node with scalan.SigmaLibrary.Def[scalan.SigmaLibrary.AvlTree]
    Definition Classes
    SigmaDsl
    Annotations
    @Liftable()
  251. trait AvlTreeCompanion extends AnyRef
    Definition Classes
    SigmaDsl
  252. trait BigInt extends scalan.SigmaLibrary.Node with scalan.SigmaLibrary.Def[scalan.SigmaLibrary.BigInt]
    Definition Classes
    SigmaDsl
    Annotations
    @Liftable() @WithMethodCallRecognizers()
  253. trait BigIntCompanion extends AnyRef
    Definition Classes
    SigmaDsl
  254. trait Box extends scalan.SigmaLibrary.Node with scalan.SigmaLibrary.Def[scalan.SigmaLibrary.Box]
    Definition Classes
    SigmaDsl
    Annotations
    @Liftable() @WithMethodCallRecognizers()
  255. trait BoxCompanion extends AnyRef
    Definition Classes
    SigmaDsl
  256. trait Context extends scalan.SigmaLibrary.Node with scalan.SigmaLibrary.Def[scalan.SigmaLibrary.Context]
    Definition Classes
    SigmaDsl
    Annotations
    @Liftable() @WithMethodCallRecognizers()
  257. trait ContextCompanion extends AnyRef
    Definition Classes
    SigmaDsl
  258. trait CostModel extends scalan.SigmaLibrary.Node with scalan.SigmaLibrary.Def[scalan.SigmaLibrary.CostModel]
    Definition Classes
    SigmaDsl
    Annotations
    @Liftable()
  259. trait CostModelCompanion extends AnyRef
    Definition Classes
    SigmaDsl
  260. trait GroupElement extends scalan.SigmaLibrary.Node with scalan.SigmaLibrary.Def[scalan.SigmaLibrary.GroupElement]
    Definition Classes
    SigmaDsl
    Annotations
    @Liftable() @WithMethodCallRecognizers()
  261. trait GroupElementCompanion extends AnyRef
    Definition Classes
    SigmaDsl
  262. trait Header extends scalan.SigmaLibrary.Node with scalan.SigmaLibrary.Def[scalan.SigmaLibrary.Header]
    Definition Classes
    SigmaDsl
    Annotations
    @Liftable()
  263. trait HeaderCompanion extends AnyRef
    Definition Classes
    SigmaDsl
  264. trait PreHeader extends scalan.SigmaLibrary.Node with scalan.SigmaLibrary.Def[scalan.SigmaLibrary.PreHeader]
    Definition Classes
    SigmaDsl
    Annotations
    @Liftable()
  265. trait PreHeaderCompanion extends AnyRef
    Definition Classes
    SigmaDsl
  266. trait SigmaContract extends scalan.SigmaLibrary.Node with scalan.SigmaLibrary.Def[scalan.SigmaLibrary.SigmaContract]
    Definition Classes
    SigmaDsl
    Annotations
    @Liftable()
  267. trait SigmaContractCompanion extends AnyRef
    Definition Classes
    SigmaDsl
  268. trait SigmaDslBuilder extends scalan.SigmaLibrary.Node with scalan.SigmaLibrary.Def[scalan.SigmaLibrary.SigmaDslBuilder]
    Definition Classes
    SigmaDsl
    Annotations
    @Liftable() @WithMethodCallRecognizers()
  269. trait SigmaDslBuilderCompanion extends AnyRef
    Definition Classes
    SigmaDsl
  270. trait SigmaProp extends scalan.SigmaLibrary.Node with scalan.SigmaLibrary.Def[scalan.SigmaLibrary.SigmaProp]
    Definition Classes
    SigmaDsl
    Annotations
    @Liftable() @WithMethodCallRecognizers()
  271. trait SigmaPropCompanion extends AnyRef
    Definition Classes
    SigmaDsl
  272. trait OptionWrapSpec extends scalan.Library.Node with scalan.Library.WrapSpecBase
    Definition Classes
    WrappersSpec
  273. trait OptionWrapSpecCompanion extends AnyRef
    Definition Classes
    WrappersSpec
  274. trait RTypeWrapSpec extends scalan.Library.Node with scalan.Library.WrapSpecBase
    Definition Classes
    WrappersSpec
  275. trait RTypeWrapSpecCompanion extends AnyRef
    Definition Classes
    WrappersSpec
  276. trait SpecialPredefWrapSpec extends scalan.Library.Node with scalan.Library.WrapSpecBase
    Definition Classes
    WrappersSpec
  277. trait SpecialPredefWrapSpecCompanion extends AnyRef
    Definition Classes
    WrappersSpec
  278. trait WrapSpecBase extends scalan.Library.Node with scalan.Library.Def[scalan.Library.WrapSpecBase] with WrapSpec
    Definition Classes
    WrappersSpec
  279. trait WrapSpecBaseCompanion extends AnyRef
    Definition Classes
    WrappersSpec
  280. trait WOption[A] extends special.wrappers.WrappersModule.Node with special.wrappers.WrappersModule.Def[special.wrappers.WrappersModule.WOption[A]]
    Definition Classes
    WOptions
    Annotations
    @External() @ContainerType() @FunctorType() @Liftable() @WithMethodCallRecognizers()
  281. trait WOptionCompanion extends AnyRef
    Definition Classes
    WOptions
  282. trait WRType[A] extends special.wrappers.WrappersModule.Node with special.wrappers.WrappersModule.Def[special.wrappers.WrappersModule.WRType[A]]
    Definition Classes
    WRTypes
    Annotations
    @External() @Liftable() @WithMethodCallRecognizers()
  283. trait WRTypeCompanion extends AnyRef
    Definition Classes
    WRTypes
  284. trait WSpecialPredef extends special.wrappers.WrappersModule.Node with special.wrappers.WrappersModule.Def[special.wrappers.WrappersModule.WSpecialPredef]
    Definition Classes
    WSpecialPredefs
    Annotations
    @External() @WithMethodCallRecognizers()
  285. trait WSpecialPredefCompanion extends AnyRef
    Definition Classes
    WSpecialPredefs

Abstract Value Members

  1. abstract val builder: SigmaBuilder

    Should be specified in the final cake

    Should be specified in the final cake

    Definition Classes
    RuntimeCosting

Concrete Value Members

  1. object &&

    Logical AND between two pattern matches of the save value x.

    Logical AND between two pattern matches of the save value x. Can be used to construct patterns like case P1 && P2 => ...

    Definition Classes
    Base
  2. object Def
    Definition Classes
    Base
  3. object ExpWithElem
    Definition Classes
    Base
  4. object Liftables

    Data type ST is liftable is there is Liftable[ST, T] instance for some type T.

    Data type ST is liftable is there is Liftable[ST, T] instance for some type T. Liftable typeclass allows to define which types can have values embedded as literals into graph IR.

    Definition Classes
    Base
  5. object NoOwner extends Scalan.OwnerKind with Product with Serializable
    Definition Classes
    Base
  6. object ScalanOwner extends Scalan.OwnerKind with Product with Serializable
    Definition Classes
    Base
  7. object IsNumericToInt
    Definition Classes
    Library
  8. object IsNumericToLong
    Definition Classes
    Library
  9. object InvokeImpossible extends Scalan.InvokeResult with Product with Serializable

    Invocation is not possible, e.g.

    Invocation is not possible, e.g. when receiver doesn't implemented the method.

    Definition Classes
    MethodCalls
  10. object Elem extends Serializable
    Definition Classes
    TypeDescs
  11. object EnvRep extends Serializable
    Definition Classes
    TypeDescs
  12. object ConstantLambda

    Matcher for lambdas which don't depend on their arguments (but can close over other expressions, unlike VeryConstantLambda).

    Matcher for lambdas which don't depend on their arguments (but can close over other expressions, unlike VeryConstantLambda).

    Definition Classes
    Functions
  13. object IdentityLambda
    Definition Classes
    Functions
  14. object Lambda
    Definition Classes
    Functions
  15. object VeryConstantLambda

    Matcher for lambdas which return staging-time constants.

    Matcher for lambdas which return staging-time constants. VeryConstantLambda(x) should be equivalent to ConstantLambda(Def(Const(x)))

    Definition Classes
    Functions
  16. object ConstantThunk
    Definition Classes
    Thunks
  17. object ThunkDef
    Definition Classes
    Thunks
  18. object IsPair
    Definition Classes
    Tuples
  19. object Pair
    Definition Classes
    Tuples
  20. object ProgramGraph extends Serializable
    Definition Classes
    ProgramGraphs
  21. object MapTransformer extends Serializable
    Definition Classes
    Transforming
  22. object Pass
    Definition Classes
    Transforming
  23. def !!!(msg: String, e: Throwable, syms: (CompiletimeCosting.this)#Ref[_]*): Nothing
    Definition Classes
    Base
  24. def !!!(msg: String, syms: (CompiletimeCosting.this)#Ref[_]*): Nothing
    Definition Classes
    Base
  25. def !!!: Nothing

    Helper methods to throw errors

    Helper methods to throw errors

    Definition Classes
    Base
  26. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  27. final def ##(): Int
    Definition Classes
    AnyRef → Any
  28. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  29. def ???(value: Any, syms: (CompiletimeCosting.this)#Ref[_]*): Nothing
    Definition Classes
    Base
  30. def ???: Nothing
    Definition Classes
    Base
  31. val And: (CompiletimeCosting.this)#BinOp[Boolean, Boolean]
    Definition Classes
    LogicalOps
  32. val AnyElement: (CompiletimeCosting.this)#Elem[Any]

    Type descriptor for Any, cannot be used implicitly.

    Type descriptor for Any, cannot be used implicitly.

    Definition Classes
    TypeDescs
  33. val AnyRefElement: (CompiletimeCosting.this)#Elem[AnyRef]

    Type descriptor for AnyRef, cannot be used implicitly.

    Type descriptor for AnyRef, cannot be used implicitly.

    Definition Classes
    TypeDescs
  34. val AvlTreeDigestInfo: (CompiletimeCosting.this)#KnownCollInfo[Byte]
    Definition Classes
    CostingRules
  35. val BinaryXorOp: (CompiletimeCosting.this)#BinOp[Boolean, Boolean]
    Definition Classes
    LogicalOps
  36. implicit val BooleanElement: (CompiletimeCosting.this)#Elem[Boolean]
    Definition Classes
    TypeDescs
  37. val BooleanToInt: (CompiletimeCosting.this)#UnOp[Boolean, Int]
    Definition Classes
    LogicalOps
  38. val BoxBytesInfo: (CompiletimeCosting.this)#KnownCollInfo[Byte]
    Definition Classes
    CostingRules
  39. val BoxBytesWithoutRefsInfo: (CompiletimeCosting.this)#KnownCollInfo[Byte]
    Definition Classes
    CostingRules
  40. val BoxPropositionBytesInfo: (CompiletimeCosting.this)#KnownCollInfo[Byte]
    Definition Classes
    CostingRules
  41. implicit val ByteElement: (CompiletimeCosting.this)#Elem[Byte]
    Definition Classes
    TypeDescs
  42. val CM: CollMethods.type
    Definition Classes
    Library
  43. implicit val CharElement: (CompiletimeCosting.this)#Elem[Char]
    Definition Classes
    TypeDescs
  44. def Colls: special.collection.CollBuilder
    Definition Classes
    RuntimeCosting
    Annotations
    @inline()
  45. def CostOfDHTuple: (CompiletimeCosting.this)#Ref[Int]
    Definition Classes
    RuntimeCosting
    Annotations
    @inline()
  46. def CostOfProveDlog: (CompiletimeCosting.this)#Ref[Int]
    Definition Classes
    RuntimeCosting
    Annotations
    @inline()
  47. val DefaultMirror: (CompiletimeCosting.this)#Mirror

    Default Mirror instance which is used in core IR methods.

    Default Mirror instance which is used in core IR methods.

    Definition Classes
    Transforming
  48. implicit val DoubleElement: (CompiletimeCosting.this)#Elem[Double]
    Definition Classes
    TypeDescs
  49. val DowncastBigIntOpType: SFunc
    Definition Classes
    RuntimeCosting
  50. val EValOfSizeColl: (CompiletimeCosting.this)#ElemAccessor[(CompiletimeCosting.this)#Coll[(CompiletimeCosting.this)#Size[Any]]]
    Definition Classes
    RuntimeCosting
  51. val EmptyTypeArgs: ListMap[String, ((CompiletimeCosting.this)#TypeDesc, Variance)]

    Since ListMap is immutable this empty map can be shared by all other maps created from it.

    Since ListMap is immutable this empty map can be shared by all other maps created from it.

    Definition Classes
    TypeDescs
  52. val EncodedGroupElementInfo: (CompiletimeCosting.this)#KnownCollInfo[Byte]
    Definition Classes
    CostingRules
  53. implicit val FloatElement: (CompiletimeCosting.this)#Elem[Float]
    Definition Classes
    TypeDescs
  54. implicit final def FuncElemExtensions[A, B](eAB: (CompiletimeCosting.this)#Elem[(A) ⇒ B]): (CompiletimeCosting.this)#FuncElem[A, B]
    Definition Classes
    TypeDescs
  55. val HashInfo: (CompiletimeCosting.this)#KnownCollInfo[Byte]
    Definition Classes
    CostingRules
  56. val HeadersInfo: (CompiletimeCosting.this)#KnownCollInfo[(CompiletimeCosting.this)#Header]
    Definition Classes
    CostingRules
  57. def IF(cond: (CompiletimeCosting.this)#Ref[Boolean]): (CompiletimeCosting.this)#IfBranch

    If c then t else e construction with standard lazy evaluation of branches.

    If c then t else e construction with standard lazy evaluation of branches. The representation uses Thunk for each branch

    Definition Classes
    IfThenElse
  58. implicit val IntElement: (CompiletimeCosting.this)#Elem[Int]
    Definition Classes
    TypeDescs
  59. final def IntZero: (CompiletimeCosting.this)#Ref[Int]

    Zero literal node, which is lazily created and can be efficiently reused.

    Zero literal node, which is lazily created and can be efficiently reused. Much faster alternative to (0: Rep[Int]) or toRep(0).

    Definition Classes
    Base
    Annotations
    @inline()
  60. val LazyAnyElement: Lazy[(CompiletimeCosting.this)#Elem[Any]]

    Predefined Lazy value saved here to be used in hotspot code.

    Predefined Lazy value saved here to be used in hotspot code.

    Definition Classes
    TypeDescs
  61. val LongBytesInfo: (CompiletimeCosting.this)#KnownCollInfo[Byte]
    Definition Classes
    CostingRules
  62. implicit val LongElement: (CompiletimeCosting.this)#Elem[Long]
    Definition Classes
    TypeDescs
  63. val NoRewriting: (CompiletimeCosting.this)#Rewriter

    Identity rewriter, i.e.

    Identity rewriter, i.e. doesn't change the graph when applied.

    Definition Classes
    Transforming
  64. val NonceBytesInfo: (CompiletimeCosting.this)#KnownCollInfo[Byte]
    Definition Classes
    CostingRules
  65. val Not: (CompiletimeCosting.this)#UnOp[Boolean, Boolean]
    Definition Classes
    LogicalOps
  66. val NothingElement: (CompiletimeCosting.this)#Elem[Nothing]
    Definition Classes
    TypeDescs
  67. val Or: (CompiletimeCosting.this)#BinOp[Boolean, Boolean]
    Definition Classes
    LogicalOps
  68. implicit def OrderingToOrderingOps[T](x: T)(implicit n: ExactOrdering[T], et: (CompiletimeCosting.this)#Elem[T]): (CompiletimeCosting.this)#OrderingOpsCls[T]
    Definition Classes
    OrderingOps
  69. implicit final def PairElemExtensions[A, B](eAB: (CompiletimeCosting.this)#Elem[(A, B)]): (CompiletimeCosting.this)#PairElem[A, B]
    Definition Classes
    TypeDescs
  70. def RCostedThunk[A](costedBlock: (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#Thunk[(CompiletimeCosting.this)#Costed[A]]], thunkCost: (CompiletimeCosting.this)#Ref[Int]): (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#Costed[(CompiletimeCosting.this)#Thunk[A]]]
    Definition Classes
    RuntimeCosting
  71. def RSizeThunk[A](sizeBlock: (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#Thunk[(CompiletimeCosting.this)#Size[A]]]): (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#Size[(CompiletimeCosting.this)#Thunk[A]]]
    Definition Classes
    RuntimeCosting
  72. def SOME[A](x: (CompiletimeCosting.this)#Ref[A]): (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#WOption[A]]
    Definition Classes
    CostingRules
  73. implicit val ShortElement: (CompiletimeCosting.this)#Elem[Short]
    Definition Classes
    TypeDescs
  74. def SigmaDsl: CostingSigmaDslBuilder.type
    Definition Classes
    RuntimeCosting
    Annotations
    @inline()
  75. val SigmaPropBytesInfo: (CompiletimeCosting.this)#KnownCollInfo[Byte]
    Definition Classes
    CostingRules
  76. def SizeAvlTree: (CompiletimeCosting.this)#RSize[(CompiletimeCosting.this)#AvlTree]
    Definition Classes
    CostingRules
    Annotations
    @inline()
  77. def SizeBigInt: (CompiletimeCosting.this)#RSize[(CompiletimeCosting.this)#BigInt]
    Definition Classes
    CostingRules
    Annotations
    @inline()
  78. def SizeBoolean: (CompiletimeCosting.this)#RSize[Boolean]
    Definition Classes
    CostingRules
    Annotations
    @inline()
  79. def SizeByte: (CompiletimeCosting.this)#RSize[Byte]
    Definition Classes
    CostingRules
    Annotations
    @inline()
  80. def SizeGroupElement: (CompiletimeCosting.this)#RSize[(CompiletimeCosting.this)#GroupElement]
    Definition Classes
    CostingRules
    Annotations
    @inline()
  81. def SizeInt: (CompiletimeCosting.this)#RSize[Int]
    Definition Classes
    CostingRules
    Annotations
    @inline()
  82. def SizeLong: (CompiletimeCosting.this)#RSize[Long]
    Definition Classes
    CostingRules
    Annotations
    @inline()
  83. def SizeShort: (CompiletimeCosting.this)#RSize[Short]
    Definition Classes
    CostingRules
    Annotations
    @inline()
  84. def SizeSigmaProposition: (CompiletimeCosting.this)#RSize[(CompiletimeCosting.this)#SigmaProp]
    Definition Classes
    CostingRules
    Annotations
    @inline()
  85. def SizeString: (CompiletimeCosting.this)#RSize[String]
    Definition Classes
    CostingRules
    Annotations
    @inline()
  86. def SizeUnit: (CompiletimeCosting.this)#RSize[Unit]
    Definition Classes
    CostingRules
    Annotations
    @inline()
  87. def SomeIntZero: (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#WOption[Int]]
    Definition Classes
    CostingRules
    Annotations
    @inline()
  88. implicit val StringElement: (CompiletimeCosting.this)#Elem[String]
    Definition Classes
    TypeDescs
  89. implicit final def SumElemExtensions[A, B](eAB: (CompiletimeCosting.this)#Elem[(CompiletimeCosting.this)#|[A, B]]): (CompiletimeCosting.this)#SumElem[A, B]
    Definition Classes
    TypeDescs
  90. val Thunk: (CompiletimeCosting.this)#ThunkCompanion
    Definition Classes
    Thunks
  91. val TokensInfo: (CompiletimeCosting.this)#KnownCollInfo[((CompiletimeCosting.this)#Coll[Byte], Long)]
    Definition Classes
    CostingRules
  92. final def TypeArgs(descs: (String, ((CompiletimeCosting.this)#TypeDesc, Variance))*): ListMap[String, ((CompiletimeCosting.this)#TypeDesc, Variance)]
    Definition Classes
    TypeDescs
  93. implicit val UnitElement: (CompiletimeCosting.this)#Elem[Unit]
    Definition Classes
    TypeDescs
  94. val UpcastBigIntOpType: SFunc
    Definition Classes
    RuntimeCosting
  95. val VotesInfo: (CompiletimeCosting.this)#KnownCollInfo[Byte]
    Definition Classes
    CostingRules
  96. def WRTypeSigmaProp: (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#WRType[(CompiletimeCosting.this)#SigmaProp]]
    Definition Classes
    CostingRules
    Annotations
    @inline()
  97. val _costOfProveDHTuple: (CompiletimeCosting.this)#CostOf
    Definition Classes
    RuntimeCosting
  98. val _costOfProveDlogEval: (CompiletimeCosting.this)#CostOf
    Definition Classes
    RuntimeCosting
  99. val _currentPass: (CompiletimeCosting.this)#Pass
    Definition Classes
    Transforming
  100. def adaptSigmaBoolean(v: BoolValue): Value[SBoolean.type]
    Definition Classes
    RuntimeCosting
  101. final def allContextDependant(syms: Array[(CompiletimeCosting.this)#Sym]): Boolean

    Definition Classes
    RuntimeCosting
    Annotations
    @inline()
  102. def alphaEqual(s1: (CompiletimeCosting.this)#Sym, s2: (CompiletimeCosting.this)#Sym): Boolean
    Definition Classes
    Functions
  103. def applyBinOp[A, R](op: (CompiletimeCosting.this)#BinOp[A, R], lhs: (CompiletimeCosting.this)#Ref[A], rhs: (CompiletimeCosting.this)#Ref[A]): (CompiletimeCosting.this)#Ref[R]
    Definition Classes
    UnBinOps
  104. def applyBinOpLazy[A, R](op: (CompiletimeCosting.this)#BinOp[A, R], lhs: (CompiletimeCosting.this)#Ref[A], rhs: (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#Thunk[A]]): (CompiletimeCosting.this)#Ref[R]
    Definition Classes
    UnBinOps
  105. def applyUnOp[A, R](op: (CompiletimeCosting.this)#UnOp[A, R], arg: (CompiletimeCosting.this)#Ref[A]): (CompiletimeCosting.this)#Ref[R]
    Definition Classes
    UnBinOps
  106. final def asCosted[T](x: (CompiletimeCosting.this)#Ref[_]): (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#Costed[T]]
    Definition Classes
    RuntimeCosting
    Annotations
    @inline()
  107. def asCostedColl[T](collC: (CompiletimeCosting.this)#RCosted[(CompiletimeCosting.this)#Coll[T]]): (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#CostedColl[T]]
    Definition Classes
    CostingRules
  108. def asCostedFunc[A, B](fC: (CompiletimeCosting.this)#RCosted[(A) ⇒ B]): (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#CostedFunc[Unit, A, B]]
    Definition Classes
    CostingRules
  109. def asCostedPair[A, B](pC: (CompiletimeCosting.this)#RCosted[(A, B)]): (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#CostedPair[A, B]]
    Definition Classes
    CostingRules
  110. final def asElem[T](d: (CompiletimeCosting.this)#TypeDesc): (CompiletimeCosting.this)#Elem[T]

    Helper type case method.

    Helper type case method.

    Definition Classes
    TypeDescs
    Annotations
    @inline()
  111. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  112. final def asRep[T](x: (CompiletimeCosting.this)#Ref[_]): (CompiletimeCosting.this)#Ref[T]

    Helper to type cast node references.

    Helper to type cast node references.

    Definition Classes
    Base
    Annotations
    @inline()
  113. def asSizeBox(ctx: (CompiletimeCosting.this)#RSize[(CompiletimeCosting.this)#Box]): (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#SizeBox]
    Definition Classes
    CostingRules
  114. def asSizeColl[T](collS: (CompiletimeCosting.this)#RSize[(CompiletimeCosting.this)#Coll[T]]): (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#SizeColl[T]]
    Definition Classes
    CostingRules
  115. def asSizeContext(ctx: (CompiletimeCosting.this)#RSize[(CompiletimeCosting.this)#Context]): (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#SizeContext]
    Definition Classes
    CostingRules
  116. def asSizeOption[T](optS: (CompiletimeCosting.this)#RSize[(CompiletimeCosting.this)#WOption[T]]): (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#SizeOption[T]]
    Definition Classes
    CostingRules
  117. def asSizePair[A, B](s: (CompiletimeCosting.this)#RSize[(A, B)]): (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#SizePair[A, B]]
    Definition Classes
    CostingRules
  118. def assertElem(value: (CompiletimeCosting.this)#Ref[_], elem: (CompiletimeCosting.this)#Elem[_], hint: ⇒ String): Unit
    Definition Classes
    TypeDescs
  119. def assertElem(value: (CompiletimeCosting.this)#Ref[_], elem: (CompiletimeCosting.this)#Elem[_]): Unit
    Definition Classes
    TypeDescs
  120. def assertEqualElems[A](e1: (CompiletimeCosting.this)#Elem[A], e2: (CompiletimeCosting.this)#Elem[A], m: ⇒ String): Unit
    Definition Classes
    TypeDescs
  121. def assertValueIdForOpCost[A, B](value: (CompiletimeCosting.this)#Ref[A], cost: (CompiletimeCosting.this)#Ref[B]): Unit
    Definition Classes
    UniversalOps
  122. def attachCost[T](source: (CompiletimeCosting.this)#RCosted[T], accCost: (CompiletimeCosting.this)#Ref[Int], cost: (CompiletimeCosting.this)#Ref[Int]): (CompiletimeCosting.this)#RCosted[T]

    Build a new costed value with the given cost in a dependency list.

    Build a new costed value with the given cost in a dependency list. This is required to correctly handle tuple field accesses like v._1 and not to lose the cost of v in the cost of resulting value.

    Definition Classes
    RuntimeCosting
  123. def beginPass(pass: (CompiletimeCosting.this)#Pass): Unit

    Called to setup IR before the new pass is executed.

    Called to setup IR before the new pass is executed.

    Definition Classes
    Transforming
  124. def buildCostedGraph[T](envVals: Map[Any, SValue], tree: SValue): (CompiletimeCosting.this)#Ref[((CompiletimeCosting.this)#Costed[(CompiletimeCosting.this)#Context]) ⇒ (CompiletimeCosting.this)#Costed[T]]
    Definition Classes
    RuntimeCosting
  125. val cacheElems: Boolean

    Whether IR type descriptors should be cached.

    Whether IR type descriptors should be cached.

    Definition Classes
    Base
  126. val cachePairs: Boolean

    Whether Tup instances should be cached.

    Whether Tup instances should be cached.

    Definition Classes
    Base
  127. final def cachedElemByClass[E <: (CompiletimeCosting.this)#Elem[_]](args: AnyRef*)(implicit clazz: Class[E]): E

    Retrieve an instance of the given Elem class by either looking up in the cache or creating a new one.

    Retrieve an instance of the given Elem class by either looking up in the cache or creating a new one. We assume that all Elem instances are uniquely defined by (clazz, args)

    args

    arguments of Elem class constructor

    clazz

    Elem class

    Definition Classes
    TypeDescs
  128. def canBeInvoked(d: (CompiletimeCosting.this)#Def[_], m: Method, args: Array[AnyRef]): Boolean

    Method invocation checker.

    Method invocation checker.

    Attributes
    protected
    Definition Classes
    MethodCalls
  129. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  130. def clusterColor(g: (CompiletimeCosting.this)#AstGraph): Option[String]
    Attributes
    protected
    Definition Classes
    GraphVizExport
  131. def clusterSchedule(g: (CompiletimeCosting.this)#AstGraph): Seq[(CompiletimeCosting.this)#Sym]
    Attributes
    protected
    Definition Classes
    GraphVizExport
  132. def colBuilder: (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#CollBuilder]
    Definition Classes
    RuntimeCostingLibrary
    Annotations
    @inline()
  133. def compose[A, B, C](f: (CompiletimeCosting.this)#Ref[(B) ⇒ C], g: (CompiletimeCosting.this)#Ref[(A) ⇒ B]): (CompiletimeCosting.this)#Ref[(A) ⇒ C]

    Composition of two functions (in mathematical notation), where first g is applied and them f.

    Composition of two functions (in mathematical notation), where first g is applied and them f.

    Definition Classes
    Functions
  134. def constCost[T](implicit arg0: (CompiletimeCosting.this)#Elem[T]): (CompiletimeCosting.this)#Ref[Int]
    Definition Classes
    RuntimeCosting
  135. def constCost(tpe: SType): (CompiletimeCosting.this)#Ref[Int]
    Definition Classes
    RuntimeCosting
  136. def constFun[A, B](x: (CompiletimeCosting.this)#Ref[B])(implicit e: (CompiletimeCosting.this)#Elem[A]): (CompiletimeCosting.this)#Ref[(A) ⇒ B]
    Definition Classes
    Functions
  137. def constantTypeSize[T](implicit eT: (CompiletimeCosting.this)#Elem[T]): (CompiletimeCosting.this)#RSize[T]
    Definition Classes
    RuntimeCosting
  138. final def container[F[_]](implicit arg0: (CompiletimeCosting.this)#Cont[F]): (CompiletimeCosting.this)#Cont[F]
    Definition Classes
    TypeDescs
  139. implicit final def containerElem[F[_], A](implicit arg0: (CompiletimeCosting.this)#Cont[F], arg1: (CompiletimeCosting.this)#Elem[A]): (CompiletimeCosting.this)#Elem[F[A]]
    Definition Classes
    TypeDescs
  140. def cost[T](env: ScriptEnv, typed: SValue): (CompiletimeCosting.this)#Ref[((CompiletimeCosting.this)#Costed[(CompiletimeCosting.this)#Context]) ⇒ (CompiletimeCosting.this)#Costed[T]]
    Definition Classes
    RuntimeCosting
  141. def costOf(v: SValue): (CompiletimeCosting.this)#Ref[Int]
    Definition Classes
    RuntimeCosting
  142. def costOf(method: SMethod): (CompiletimeCosting.this)#Ref[Int]
    Definition Classes
    RuntimeCosting
  143. def costOf(opName: String, opType: SFunc): (CompiletimeCosting.this)#Ref[Int]
    Definition Classes
    RuntimeCosting
  144. def costOf(opName: String, opType: SFunc, doEval: Boolean): (CompiletimeCosting.this)#Ref[Int]
    Definition Classes
    RuntimeCosting
  145. def costOf(costOp: (CompiletimeCosting.this)#CostOf, doEval: Boolean): (CompiletimeCosting.this)#Ref[Int]
    Definition Classes
    RuntimeCosting
  146. def costOfSigmaTree(sigmaTree: SigmaBoolean): Int
    Definition Classes
    RuntimeCosting
  147. def costedBooleanTransformer[T](node: BooleanTransformer[_], xs: (CompiletimeCosting.this)#RCostedColl[T], condition: (CompiletimeCosting.this)#RCosted[(T) ⇒ WrappedType], calcF: (CompiletimeCosting.this)#Ref[(T) ⇒ Any], accCost: (CompiletimeCosting.this)#Ref[Int]): (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#Costed[_ >: Boolean with (CompiletimeCosting.this)#SigmaProp]]
    Definition Classes
    RuntimeCosting
  148. def costedBuilder: (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#CostedBuilder]
    Definition Classes
    RuntimeCostingLibrary
    Annotations
    @inline()
  149. def costedGlobal: (CompiletimeCosting.this)#RCosted[(CompiletimeCosting.this)#SigmaDslBuilder]
    Definition Classes
    RuntimeCosting
    Annotations
    @inline()
  150. def costedPrimToColl[A](coll: (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#Coll[A]], c: (CompiletimeCosting.this)#Ref[Int], s: (CompiletimeCosting.this)#RSize[(CompiletimeCosting.this)#Coll[A]]): (CompiletimeCosting.this)#RCostedColl[A]
    Definition Classes
    RuntimeCosting
  151. def costedPrimToOption[A](opt: (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#WOption[A]], c: (CompiletimeCosting.this)#Ref[Int], s: (CompiletimeCosting.this)#RSize[(CompiletimeCosting.this)#WOption[A]]): (CompiletimeCosting.this)#RCostedOption[A]
    Definition Classes
    RuntimeCosting
  152. def costedPrimToPair[A, B](p: (CompiletimeCosting.this)#Ref[(A, B)], c: (CompiletimeCosting.this)#Ref[Int], s: (CompiletimeCosting.this)#RSize[(A, B)]): (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#CCostedPair[A, B]]
    Definition Classes
    RuntimeCosting
  153. def createDefinition[T](optScope: Nullable[(CompiletimeCosting.this)#ThunkScope], s: (CompiletimeCosting.this)#Ref[T], d: (CompiletimeCosting.this)#Def[T]): (CompiletimeCosting.this)#Ref[T]

    Here we hook into graph building process at the point where each new graph node is added to the graph.

    Here we hook into graph building process at the point where each new graph node is added to the graph. First, we call super.createDefinition, which adds the new node d to the graph (s is the node's symbol). Next, we update context dependence analysis information (see isSupportedIndexExpression) The graph node is context-dependent if: 1) it is the node of Context type 2) all nodes it depends on are context-dependent

    optScope

    optional thunk scope to put given definition

    s

    symbol refering to d

    d

    definition node to add to the scope of globally

    returns

    reference to d (which is s)

    Attributes
    protected
    Definition Classes
    RuntimeCostingBase
    See also

    super.createDefinition, isSupportedIndexExpression

  154. def currentPass: (CompiletimeCosting.this)#Pass

    IR global current Pass, changes when the compier switches from one pass to the next one.

    IR global current Pass, changes when the compier switches from one pass to the next one. Should remain constant during the whole pass execution.

    Definition Classes
    Transforming
  155. val debugModeSanityChecks: Boolean

    Whether to perform extended checks of correctness, expected invariants and data consistency.

    Whether to perform extended checks of correctness, expected invariants and data consistency. NOTE: Since it may add substantial overhead, set it to false before using in production.

    Definition Classes
    Base
  156. def defCount: Int

    Returns a number of definitions added to this IR context.

    Returns a number of definitions added to this IR context.

    Definition Classes
    Base
  157. def def_unapply[T](e: (CompiletimeCosting.this)#Ref[T]): Nullable[(CompiletimeCosting.this)#Def[T]]
    Definition Classes
    Base
  158. def defaultGraphVizConfig: GraphVizConfig
    Definition Classes
    GraphVizExport
  159. def delayInvoke: Nothing
    Definition Classes
    MethodCalls
  160. def downcast[To](value: (CompiletimeCosting.this)#Ref[_])(implicit arg0: (CompiletimeCosting.this)#Elem[To]): (CompiletimeCosting.this)#Ref[To]
    Definition Classes
    UniversalOps
  161. val eCollByte: (CompiletimeCosting.this)#Elem[(CompiletimeCosting.this)#Coll[Byte]]
    Definition Classes
    RuntimeCosting
  162. val ePairOfCollByte: (CompiletimeCosting.this)#Elem[((CompiletimeCosting.this)#Coll[Byte], (CompiletimeCosting.this)#Coll[Byte])]
    Definition Classes
    RuntimeCosting
  163. val elemCache: AVHashMap[Class[_], (CompiletimeCosting.this)#ElemCacheEntry]
    Attributes
    protected
    Definition Classes
    TypeDescs
  164. def elemToCostedElem[T](implicit e: (CompiletimeCosting.this)#Elem[T]): (CompiletimeCosting.this)#Elem[(CompiletimeCosting.this)#Costed[T]]

    For a given data type returns the corresponding specific descendant of CostedElem[T]

    For a given data type returns the corresponding specific descendant of CostedElem[T]

    Definition Classes
    RuntimeCosting
  165. def elemToExactIntegral[T](e: (CompiletimeCosting.this)#Elem[T]): ExactIntegral[T]
    Definition Classes
    RuntimeCosting
  166. def elemToExactNumeric[T](e: (CompiletimeCosting.this)#Elem[T]): ExactNumeric[T]
    Definition Classes
    RuntimeCosting
  167. def elemToExactOrdering[T](e: (CompiletimeCosting.this)#Elem[T]): ExactOrdering[T]
    Definition Classes
    RuntimeCosting
  168. def elemToSType[T](e: (CompiletimeCosting.this)#Elem[T]): SType
    Definition Classes
    RuntimeCosting
  169. final def element[A](implicit ea: (CompiletimeCosting.this)#Elem[A]): (CompiletimeCosting.this)#Elem[A]
    Definition Classes
    TypeDescs
  170. def emitDepGraph(exceptionOrGraph: Either[Throwable, (CompiletimeCosting.this)#AstGraph], directory: File, fileName: String)(implicit config: GraphVizConfig): Option[(CompiletimeCosting.this)#GraphFile]
    Definition Classes
    GraphVizExport
  171. def emitDepGraph(graph: (CompiletimeCosting.this)#AstGraph, directory: File, fileName: String)(implicit config: GraphVizConfig): Option[(CompiletimeCosting.this)#GraphFile]
    Definition Classes
    GraphVizExport
  172. def emitDepGraph(ss: Seq[(CompiletimeCosting.this)#Sym], directory: File, fileName: String)(implicit config: GraphVizConfig): Option[(CompiletimeCosting.this)#GraphFile]
    Definition Classes
    GraphVizExport
  173. def emitDepGraph(start: (CompiletimeCosting.this)#Sym, directory: File, fileName: String)(implicit config: GraphVizConfig): Option[(CompiletimeCosting.this)#GraphFile]
    Definition Classes
    GraphVizExport
  174. def emitDepGraph(d: (CompiletimeCosting.this)#Def[_], directory: File, fileName: String)(implicit config: GraphVizConfig): Option[(CompiletimeCosting.this)#GraphFile]
    Definition Classes
    GraphVizExport
  175. def emitDot(dotText: String, directory: File, fileName: String)(implicit config: GraphVizConfig): Option[(CompiletimeCosting.this)#GraphFile]
    Definition Classes
    GraphVizExport
  176. def emitExceptionGraph(e: Throwable, directory: File, fileName: String)(implicit config: GraphVizConfig): Option[(CompiletimeCosting.this)#GraphFile]
    Definition Classes
    GraphVizExport
  177. def emptyMatchSubst: (CompiletimeCosting.this)#Subst
    Definition Classes
    Functions
    Annotations
    @inline()
  178. def endPass(pass: (CompiletimeCosting.this)#Pass): Unit

    Called to let this IR context to finalized the given pass.

    Called to let this IR context to finalized the given pass.

    Definition Classes
    Transforming
  179. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  180. def equalValues[A](x: Any, y: Any)(implicit eA: (CompiletimeCosting.this)#Elem[A]): Boolean
    Attributes
    protected
    Definition Classes
    Equal
  181. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  182. def error(msg: String, srcCtx: Option[SourceContext]): Nothing
    Definition Classes
    RuntimeCosting
  183. def error(msg: String): Nothing
    Definition Classes
    RuntimeCosting
  184. def evalNode[T <: SType](ctx: (CompiletimeCosting.this)#RCosted[(CompiletimeCosting.this)#Context], env: (CompiletimeCosting.this)#CostingEnv, node: Value[T]): (CompiletimeCosting.this)#RCosted[evalNode.T.WrappedType]

    Recursively translates each ErgoTree node into the corresponding cost formula.

    Recursively translates each ErgoTree node into the corresponding cost formula. The cost formula is represented using graph-based IR defined by this IRContext cake. Each node: Value[T] which evaluates to the value of type T is transformed to a value of type RCosted[A] which is a synonym of Ref[Costed[A]] type. The translation is performed recursively on a structure of the ErgoTree expression.

    ctx

    reference to the graph node, which represents costed CONTEXT expression.

    env

    environment of costed ValDef nodes (see BlockValue case).

    node

    expression to be costed

    returns

    a reference to the graph node of type Costed[T#WrappedType]

    Definition Classes
    CompiletimeCostingRuntimeCosting
  185. implicit def extendCostedCollElem[A](elem: (CompiletimeCosting.this)#Elem[(CompiletimeCosting.this)#CostedColl[A]]): CostedCollElem[A, (CompiletimeCosting.this)#CostedColl[A]]
    Definition Classes
    RuntimeCosting
  186. implicit def extendCostedElem[A](elem: (CompiletimeCosting.this)#Elem[(CompiletimeCosting.this)#Costed[A]]): CostedElem[A, (CompiletimeCosting.this)#Costed[A]]
    Definition Classes
    RuntimeCosting
  187. implicit def extendCostedFuncElem[E, A, B](e: (CompiletimeCosting.this)#Elem[(CompiletimeCosting.this)#CostedFunc[E, A, B]]): CostedFuncElem[E, A, B, _]
    Definition Classes
    RuntimeCosting
  188. implicit def extendSizeElem[A](elem: (CompiletimeCosting.this)#Elem[(CompiletimeCosting.this)#Size[A]]): SizeElem[A, (CompiletimeCosting.this)#Size[A]]
    Definition Classes
    RuntimeCosting
  189. implicit def extendThunkElement[T](elem: (CompiletimeCosting.this)#Elem[(CompiletimeCosting.this)#Thunk[T]]): (CompiletimeCosting.this)#ThunkElem[T]
    Definition Classes
    Thunks
  190. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  191. def findGlobalDefinition[T](d: (CompiletimeCosting.this)#Def[T]): (CompiletimeCosting.this)#Ref[T]

    Lookup definition in this IR context's hash table of definitions.

    Lookup definition in this IR context's hash table of definitions.

    returns

    node reference to an instance stored in hash table, which is equal to d and null if there is no definition which is equal to d

    Definition Classes
    Base
  192. def findOrCreateDefinition[T](d: (CompiletimeCosting.this)#Def[T], newSym: ⇒ (CompiletimeCosting.this)#Ref[T]): (CompiletimeCosting.this)#Ref[T]

    Lookup d in the heap of nodes.

    Lookup d in the heap of nodes. If the lookup is successfull, then its reference is returned. If the node is not found in the heap, then it is added and d.self reference is returned.

    d

    node to be added to the head of nodes

    newSym

    producer of the reference to be used as the reference to d node.

    returns

    return a reference to d node in the heap

    Definition Classes
    Base
  193. def forceThunkByMirror[A](thunk: (CompiletimeCosting.this)#Th[A], subst: (CompiletimeCosting.this)#MapTransformer = MapTransformer.empty()): (CompiletimeCosting.this)#Ref[A]
    Definition Classes
    Thunks
  194. def forceThunkDefByMirror[A](th: (CompiletimeCosting.this)#ThunkDef[A], subst: (CompiletimeCosting.this)#MapTransformer = MapTransformer.empty()): (CompiletimeCosting.this)#Ref[A]
    Definition Classes
    Thunks
  195. def formatConst(x: Any): String
    Attributes
    protected
    Definition Classes
    GraphVizExport
  196. def formatDef(d: (CompiletimeCosting.this)#Def[_])(implicit config: GraphVizConfig): String

    Used by Graphviz dot file generator to format text label of the graph node.

    Used by Graphviz dot file generator to format text label of the graph node.

    Attributes
    protected
    Definition Classes
    RuntimeCostingThunksMethodCallsGraphVizExport
  197. def formatMetadata(s: (CompiletimeCosting.this)#Sym): List[String]
    Attributes
    protected
    Definition Classes
    GraphVizExport
  198. final def freshId: Int

    Get next fresh node id

    Get next fresh node id

    Definition Classes
    Base
    Annotations
    @inline()
  199. final def freshSym[T](d: (CompiletimeCosting.this)#Def[T]): (CompiletimeCosting.this)#Ref[T]

    Lookup of create reference to the given definition.

    Lookup of create reference to the given definition. To lookup d.nodeId is used as the index in the _symbolTable. If Ref is not found in _symbolTable, then new Ref instance is created and stored in _symbolTable at d.nodeId index.

    Definition Classes
    Base
    Annotations
    @inline()
  200. implicit final def fun[A, B](f: ((CompiletimeCosting.this)#Ref[A]) ⇒ (CompiletimeCosting.this)#Ref[B])(implicit eA: (CompiletimeCosting.this)#LElem[A]): (CompiletimeCosting.this)#Ref[(A) ⇒ B]

    Executes given lambda to construct Lambda node.

    Executes given lambda to construct Lambda node. The function f can be called with any symbol and has an effect of growing a graph starting from the argument symbol. If a reference to Variable node is passed as argument, then the constructed graph nodes can be collected to Lambda node forming its body and schedule.

    f

    function which execution will create body nodes

    eA

    arguments type descriptor

    Definition Classes
    Functions
  201. implicit final def fun2[A, B, C](f: ((CompiletimeCosting.this)#Ref[A], (CompiletimeCosting.this)#Ref[B]) ⇒ (CompiletimeCosting.this)#Ref[C])(implicit eA: (CompiletimeCosting.this)#LElem[A], eB: (CompiletimeCosting.this)#LElem[B]): (CompiletimeCosting.this)#Ref[((A, B)) ⇒ C]
    Definition Classes
    Functions
  202. implicit final def funcElement[A, B](implicit ea: (CompiletimeCosting.this)#Elem[A], eb: (CompiletimeCosting.this)#Elem[B]): (CompiletimeCosting.this)#Elem[(A) ⇒ B]
    Definition Classes
    TypeDescs
  203. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  204. def getEntityObject(name: String): Nullable[(CompiletimeCosting.this)#EntityObject]
    Definition Classes
    Base
    Annotations
    @inline()
  205. def getOwnerKind(constructor: Constructor[_]): (CompiletimeCosting.this)#OwnerKind

    Returns OwnerKind for the given constructor, using its first parameter.

    Returns OwnerKind for the given constructor, using its first parameter.

    Attributes
    protected
    Definition Classes
    Base
  206. def getRegisterCost: (CompiletimeCosting.this)#Ref[Int]
    Definition Classes
    CostingRules
    Annotations
    @inline()
  207. final def getSourceValues(dataEnv: (CompiletimeCosting.this)#DataEnv, forWrapper: Boolean, stagedValues: AnyRef*): Seq[AnyRef]
    Definition Classes
    TypeDescs
  208. final def getSym(id: Int): (CompiletimeCosting.this)#Sym

    Lookup node reference by its id.

    Lookup node reference by its id. This is simple array access by index O(1) operation.

    Definition Classes
    Base
    Annotations
    @inline()
  209. implicit def groupElementToECPoint(g: special.sigma.GroupElement): EcPointType
    Attributes
    protected
    Definition Classes
    RuntimeCosting
  210. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  211. def identityFun[A](implicit e: (CompiletimeCosting.this)#Elem[A]): (CompiletimeCosting.this)#Ref[(A) ⇒ A]
    Definition Classes
    Functions
  212. def ifThenElseLazy[T](cond: (CompiletimeCosting.this)#Ref[Boolean], thenp: ⇒ (CompiletimeCosting.this)#Ref[T], elsep: ⇒ (CompiletimeCosting.this)#Ref[T]): (CompiletimeCosting.this)#Ref[T]

    Constructs IfThenElse node wrapping by-name args into ThunkDef nodes.

    Constructs IfThenElse node wrapping by-name args into ThunkDef nodes.

    Definition Classes
    IfThenElse
  213. def intPlusMonoid: (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#Monoid[Int]]
    Definition Classes
    RuntimeCostingLibrary
    Annotations
    @inline()
  214. val intPlusMonoidValue: special.collection.IntPlusMonoid
    Definition Classes
    Library
  215. def integral[T](implicit arg0: ExactIntegral[T]): ExactIntegral[T]
    Definition Classes
    NumericOps
  216. def invokeUnlifted(e: (CompiletimeCosting.this)#Elem[_], mc: (CompiletimeCosting.this)#MethodCall, dataEnv: (CompiletimeCosting.this)#DataEnv): AnyRef

    Invoke source type method corresponding to the given MethodCall node.

    Invoke source type method corresponding to the given MethodCall node. This method delegated the work to the given element instance.

    e

    type descriptor of receiver node

    mc

    IR node representing method invocation

    dataEnv

    environment where each symbol of 'mc' has associated data value

    returns

    data value returned from invoked method

    Definition Classes
    LibraryTypeDescs
  217. final def isContextDependant(sym: (CompiletimeCosting.this)#Sym): Boolean
    Definition Classes
    RuntimeCosting
    Annotations
    @inline()
  218. def isCostingProcess: Boolean
    Definition Classes
    RuntimeCosting
  219. val isInlineThunksOnForce: Boolean
    Definition Classes
    Thunks
  220. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  221. def isInvokeEnabled(d: (CompiletimeCosting.this)#Def[_], m: Method): Boolean

    Method invocation enabler.

    Method invocation enabler.

    returns

    true if the given method can be invoked on the given node.

    Definition Classes
    MethodCalls
  222. final def isOne[T](x: T, n: ExactNumeric[T]): Boolean
    Definition Classes
    NumericOps
    Annotations
    @inline()
  223. def isSupportedIndexExpression(i: (CompiletimeCosting.this)#Ref[Int]): Boolean

    Checks that index expression sub-graph (which root is i) consists of context-dependent nodes.

    Checks that index expression sub-graph (which root is i) consists of context-dependent nodes. This is used in the validation rule for the costing of ByIndex operation.

    Definition Classes
    RuntimeCosting
    See also

    RuntimeCosting, CheckIsSupportedIndexExpression

  224. final def isZero[T](x: T, n: ExactNumeric[T]): Boolean
    Definition Classes
    NumericOps
    Annotations
    @inline()
  225. val keepOriginalFunc: Boolean

    Global flag governing lambda reification in fun and mkLambda.

    Global flag governing lambda reification in fun and mkLambda. If this flag is true then original f: Ref[A] => Ref[B] function is stored in Lambda node. As a consequence if f is not stored, then unfoldLambda is done by mirrorLambda.

    Definition Classes
    Functions
  226. val lambdaStack: List[(CompiletimeCosting.this)#Lambda[_, _]]
    Definition Classes
    Functions
  227. implicit def liftElem[T](eT: (CompiletimeCosting.this)#Elem[T]): (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#WRType[T]]
    Definition Classes
    Library
  228. implicit def liftToRep[A](x: A)(implicit arg0: (CompiletimeCosting.this)#Elem[A]): (CompiletimeCosting.this)#Ref[A]
    Definition Classes
    Base
    Annotations
    @inline()
  229. def liftableFromElem[WT](eWT: (CompiletimeCosting.this)#Elem[WT]): Liftable[_, WT]
    Definition Classes
    RuntimeCosting
  230. implicit def liftableThunk[ST, T](implicit lT: Liftable[ST, T]): Liftable[(CompiletimeCosting.this)#SThunk[ST], (CompiletimeCosting.this)#Thunk[T]]
    Definition Classes
    Thunks
  231. def logWarn(msg: ⇒ String): Unit

    Log warning message to the log.

    Log warning message to the log. This is default and simple implementation, which can be overriden.

    Definition Classes
    Base
  232. def longPlusMonoid: (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#Monoid[Long]]
    Definition Classes
    RuntimeCostingLibrary
    Annotations
    @inline()
  233. val longPlusMonoidValue: special.collection.LongPlusMonoid
    Definition Classes
    Library
  234. def matchAny(a1: Any, a2: Any, allowInexactMatch: Boolean, subst: (CompiletimeCosting.this)#Subst): Nullable[(CompiletimeCosting.this)#Subst]
    Attributes
    protected
    Definition Classes
    Functions
  235. def matchDefs(d1: (CompiletimeCosting.this)#Def[_], d2: (CompiletimeCosting.this)#Def[_], allowInexactMatch: Boolean, subst: (CompiletimeCosting.this)#Subst): Nullable[(CompiletimeCosting.this)#Subst]
    Attributes
    protected
    Definition Classes
    ThunksFunctions
  236. def matchExps(s1: (CompiletimeCosting.this)#Sym, s2: (CompiletimeCosting.this)#Sym, allowInexactMatch: Boolean, subst: (CompiletimeCosting.this)#Subst): Nullable[(CompiletimeCosting.this)#Subst]
    Attributes
    protected
    Definition Classes
    Functions
  237. def matchIterators(i1: Iterator[_], i2: Iterator[_], allowInexactMatch: Boolean, subst: (CompiletimeCosting.this)#Subst): Nullable[(CompiletimeCosting.this)#Subst]
    Attributes
    protected
    Definition Classes
    Functions
  238. def mirrorApply[A, B](lam: (CompiletimeCosting.this)#Lambda[A, B], s: (CompiletimeCosting.this)#Ref[A]): (CompiletimeCosting.this)#Ref[B]
    Definition Classes
    Functions
  239. def mkApply[A, B](f: (CompiletimeCosting.this)#Ref[(A) ⇒ B], x: (CompiletimeCosting.this)#Ref[A]): (CompiletimeCosting.this)#Ref[B]
    Definition Classes
    Functions
  240. def mkCostedColl[T](col: (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#Coll[T]], len: (CompiletimeCosting.this)#Ref[Int], cost: (CompiletimeCosting.this)#Ref[Int]): (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#CostedColl[T]]

    Helper to create costed collection of some constant size type T

    Helper to create costed collection of some constant size type T

    Definition Classes
    RuntimeCosting
  241. def mkCostedColl[T](values: (CompiletimeCosting.this)#RColl[T], costs: (CompiletimeCosting.this)#RColl[Int], sizes: (CompiletimeCosting.this)#RColl[(CompiletimeCosting.this)#Size[T]], valuesCost: (CompiletimeCosting.this)#Ref[Int]): (CompiletimeCosting.this)#RCostedColl[T]
    Definition Classes
    CostingRules
  242. def mkCostedFunc[A, R](f: (CompiletimeCosting.this)#RFuncCosted[A, R], cost: (CompiletimeCosting.this)#Ref[Int], codeSize: (CompiletimeCosting.this)#Ref[Long], eArg: (CompiletimeCosting.this)#Elem[A], eRes: (CompiletimeCosting.this)#Elem[R]): (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#CostedFunc[Unit, A, R]]
    Definition Classes
    CostingRules
  243. def mkCostedOption[T](value: (CompiletimeCosting.this)#ROption[T], costOpt: (CompiletimeCosting.this)#ROption[Int], sizeOpt: (CompiletimeCosting.this)#ROption[(CompiletimeCosting.this)#Size[T]], accCost: (CompiletimeCosting.this)#Ref[Int]): (CompiletimeCosting.this)#RCostedOption[T]
    Definition Classes
    CostingRules
  244. def mkLambda[A, B, C](f: ((CompiletimeCosting.this)#Ref[A], (CompiletimeCosting.this)#Ref[B]) ⇒ (CompiletimeCosting.this)#Ref[C])(implicit eA: (CompiletimeCosting.this)#LElem[A], eB: (CompiletimeCosting.this)#LElem[B]): (CompiletimeCosting.this)#Ref[((A, B)) ⇒ C]
    Definition Classes
    Functions
  245. def mkLambda[A, B, C](f: ((CompiletimeCosting.this)#Ref[A]) ⇒ ((CompiletimeCosting.this)#Ref[B]) ⇒ (CompiletimeCosting.this)#Ref[C])(implicit eA: (CompiletimeCosting.this)#LElem[A], eB: (CompiletimeCosting.this)#Elem[B]): (CompiletimeCosting.this)#Ref[(A) ⇒ (B) ⇒ C]
    Definition Classes
    Functions
  246. def mkLambda[A, B](f: ((CompiletimeCosting.this)#Ref[A]) ⇒ (CompiletimeCosting.this)#Ref[B], mayInline: Boolean, alphaEquality: Boolean, keepOriginalFunc: Boolean)(implicit eA: (CompiletimeCosting.this)#LElem[A]): (CompiletimeCosting.this)#Ref[(A) ⇒ B]
    Definition Classes
    Functions
  247. def mkMethodCall(receiver: (CompiletimeCosting.this)#Sym, method: Method, args: Seq[AnyRef], neverInvoke: Boolean, isAdapterCall: Boolean, resultElem: (CompiletimeCosting.this)#Elem[_]): (CompiletimeCosting.this)#Sym

    Creates new MethodCall node and returns its node ref.

    Creates new MethodCall node and returns its node ref.

    Definition Classes
    MethodCalls
  248. def mkNormalizedOpCost(costedValue: (CompiletimeCosting.this)#Sym, costs: Seq[(CompiletimeCosting.this)#Ref[Int]]): (CompiletimeCosting.this)#Ref[Int]
    Definition Classes
    RuntimeCosting
  249. def mkSizeColl[T](len: (CompiletimeCosting.this)#Ref[Int])(implicit arg0: (CompiletimeCosting.this)#Elem[T]): (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#Size[(CompiletimeCosting.this)#Coll[T]]]
    Definition Classes
    CostingRules
  250. def mkSizeOption[T](size: (CompiletimeCosting.this)#RSize[T]): (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#Size[(CompiletimeCosting.this)#WOption[T]]]
    Definition Classes
    CostingRules
  251. def mkSizePair[A, B](l: (CompiletimeCosting.this)#RSize[A], r: (CompiletimeCosting.this)#RSize[B]): (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#Size[(A, B)]]
    Definition Classes
    CostingRules
  252. def monoidBuilder: (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#MonoidBuilder]
    Definition Classes
    RuntimeCosting
    Annotations
    @inline()
  253. val nInitialDefs: Int
    Definition Classes
    Base
  254. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  255. def newObjEx[A](args: Any*)(implicit eA: (CompiletimeCosting.this)#Elem[A]): (CompiletimeCosting.this)#Ref[A]

    Creates new NewObject node and returns its node ref.

    Creates new NewObject node and returns its node ref.

    Definition Classes
    MethodCalls
  256. def nodeColor(td: (CompiletimeCosting.this)#TypeDesc, d: (CompiletimeCosting.this)#Def[_])(implicit config: GraphVizConfig): String
    Attributes
    protected
    Definition Classes
    ThunksGraphVizExport
  257. def nodeColor(td: (CompiletimeCosting.this)#TypeDesc): String
    Attributes
    protected
    Definition Classes
    GraphVizExport
  258. final def nodeLabel(parts: String*)(implicit config: GraphVizConfig): String
    Attributes
    protected
    Definition Classes
    GraphVizExport
  259. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  260. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  261. def numeric[T](implicit arg0: ExactNumeric[T]): ExactNumeric[T]
    Definition Classes
    NumericOps
  262. val okMeasureOperationTime: Boolean
    Definition Classes
    RuntimeCosting
  263. val okPrintEvaluatedEntries: Boolean

    Whether to print values of evaluated nodes of the graph.

    Whether to print values of evaluated nodes of the graph.

    Definition Classes
    RuntimeCosting
  264. def okRegisterModules: Boolean

    Whether staged modules should be registered when cake is constructed and initialized.

    Whether staged modules should be registered when cake is constructed and initialized.

    Definition Classes
    Modules
  265. def onReset(): Unit

    Called during resetContext() operation after the core context state has been reset.

    Called during resetContext() operation after the core context state has been reset. Derived classes can override to define application specific initialization. Don't forget to call super method in the beginning of your overriding method.

    Attributes
    protected
    Definition Classes
    RuntimeCostingCostingRulesLibraryBase
  266. def onTreeNodeCosted[T <: SType](ctx: (CompiletimeCosting.this)#RCosted[(CompiletimeCosting.this)#Context], env: (CompiletimeCosting.this)#CostingEnv, node: Value[T], costed: (CompiletimeCosting.this)#RCosted[RuntimeCosting.onTreeNodeCosted.T.WrappedType]): Unit
    Attributes
    protected
    Definition Classes
    RuntimeCosting
  267. def opCost(costedValue: (CompiletimeCosting.this)#Sym, args: Seq[(CompiletimeCosting.this)#Ref[Int]], opCost: (CompiletimeCosting.this)#Ref[Int]): (CompiletimeCosting.this)#Ref[Int]
    Definition Classes
    UniversalOps
  268. def opcodeToBinOp[A](opCode: Byte, eA: (CompiletimeCosting.this)#Elem[A]): (CompiletimeCosting.this)#BinOp[A, _]
    Definition Classes
    RuntimeCosting
  269. def opcodeToEndoBinOp[T](opCode: Byte, eT: (CompiletimeCosting.this)#Elem[T]): (CompiletimeCosting.this)#EndoBinOp[T]
    Definition Classes
    RuntimeCosting
  270. val outputComputedResults: Boolean

    Whether to output the computed results of the script.

    Whether to output the computed results of the script.

    Definition Classes
    RuntimeCosting
  271. val outputEstimatedCost: Boolean

    Whether to output the cost value estimated for the script given by ScriptNameProp environment variable

    Whether to output the cost value estimated for the script given by ScriptNameProp environment variable

    Definition Classes
    RuntimeCosting
  272. implicit final def pairElement[A, B](implicit ea: (CompiletimeCosting.this)#Elem[A], eb: (CompiletimeCosting.this)#Elem[B]): (CompiletimeCosting.this)#Elem[(A, B)]
    Definition Classes
    TypeDescs
  273. def partsIterator(td: (CompiletimeCosting.this)#TypeDesc): TraversableOnce[(CompiletimeCosting.this)#TypeDesc] { def seq: scala.collection.TraversableOnce[CompiletimeCosting.this.TypeDesc]{def seq: scala.collection.TraversableOnce[CompiletimeCosting.this.TypeDesc]{def seq: scala.collection.TraversableOnce[CompiletimeCosting.this.TypeDesc]}} }
    Attributes
    protected
    Definition Classes
    GraphVizExport
  274. def patternMatch(s1: (CompiletimeCosting.this)#Sym, s2: (CompiletimeCosting.this)#Sym): Nullable[(CompiletimeCosting.this)#Subst]
    Definition Classes
    Functions
  275. def perItemCostOf(node: SValue, arrLength: (CompiletimeCosting.this)#Ref[Int]): (CompiletimeCosting.this)#Ref[Int]
    Definition Classes
    RuntimeCosting
  276. def perKbCostOf(node: SValue, dataSize: (CompiletimeCosting.this)#Ref[Long]): (CompiletimeCosting.this)#Ref[Int]
    Definition Classes
    RuntimeCosting
  277. def perKbCostOf(opName: String, opType: SFunc, dataSize: (CompiletimeCosting.this)#Ref[Long]): (CompiletimeCosting.this)#Ref[Int]
    Definition Classes
    RuntimeCosting
  278. def perKbCostOf(method: SMethod, dataSize: (CompiletimeCosting.this)#Ref[Long]): (CompiletimeCosting.this)#Ref[Int]
    Definition Classes
    RuntimeCosting
  279. def placeholder[T](implicit eT: (CompiletimeCosting.this)#LElem[T]): (CompiletimeCosting.this)#Ref[T]
    Definition Classes
    Base
    Annotations
    @inline()
  280. def propagateBinOp[T, R](op: (CompiletimeCosting.this)#BinOp[T, R], x: (CompiletimeCosting.this)#Ref[T], y: (CompiletimeCosting.this)#Ref[T]): (CompiletimeCosting.this)#Ref[R]

    Perform constant propagation if enabled and both arguments are Const.

    Perform constant propagation if enabled and both arguments are Const.

    returns

    null if propagation is not done

    Definition Classes
    DefRewriting
  281. def propagateUnOp[T, R](op: (CompiletimeCosting.this)#UnOp[T, R], x: (CompiletimeCosting.this)#Ref[T]): (CompiletimeCosting.this)#Ref[R]

    Perform constant propagation if enabled and argument is Const.

    Perform constant propagation if enabled and argument is Const.

    returns

    null if propagation is not done

    Definition Classes
    DefRewriting
  282. def registerEntityObject(name: String, obj: (CompiletimeCosting.this)#EntityObject): Unit
    Attributes
    protected
    Definition Classes
    Base
  283. def registerModule(moduleInfo: ModuleInfo): Unit

    Called once for each staged module during this cake initialization.

    Called once for each staged module during this cake initialization.

    Attributes
    protected
    Definition Classes
    Modules
  284. implicit def reifyObject[A](obj: (CompiletimeCosting.this)#Def[A]): (CompiletimeCosting.this)#Ref[A]

    Implicit injection of new definition (graph node) into universum of nodes with collapsing semantics.

    Implicit injection of new definition (graph node) into universum of nodes with collapsing semantics. If there exists node n in this IR such that obj equals n, then the value of n.self is returned, i.e. the new node obj is collapsed with already existing one. This has an effect of Common Subexpression Elimination (CSE) when an expression tree is transformed to the graph and identical subtrees are collapsed. After a reference to the node is obtained, global rewriting rules are examined and the reference may be replaced with a new one.

    Definition Classes
    Base
  285. def removeIsProven[T, R](f: ((CompiletimeCosting.this)#Ref[T]) ⇒ (CompiletimeCosting.this)#Ref[Any]): ((CompiletimeCosting.this)#Ref[T]) ⇒ (CompiletimeCosting.this)#Ref[Any]
    Definition Classes
    RuntimeCosting
  286. implicit def repOrderingToOrderingOps[T](x: (CompiletimeCosting.this)#Ref[T])(implicit n: ExactOrdering[T]): (CompiletimeCosting.this)#OrderingOpsCls[T]
    Definition Classes
    OrderingOps
  287. implicit def repToThunk[A](block: (CompiletimeCosting.this)#Ref[A]): (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#Thunk[A]]
    Definition Classes
    Thunks
  288. def resetContext(): Unit
    Definition Classes
    CostedObjectsDefsBase
  289. final def rewriteBinOp[A, R](op: (CompiletimeCosting.this)#BinOp[A, R], x: (CompiletimeCosting.this)#Ref[A], y: (CompiletimeCosting.this)#Ref[A]): (CompiletimeCosting.this)#Ref[_]

    Rewrites application of given binary operation to the given arguments.

    Rewrites application of given binary operation to the given arguments.

    returns

    null if no rewriting is defined.

    Definition Classes
    DefRewriting
  290. final def rewriteBoolConsts(lhs: (CompiletimeCosting.this)#Sym, rhs: (CompiletimeCosting.this)#Sym, ifTrue: ((CompiletimeCosting.this)#Sym) ⇒ (CompiletimeCosting.this)#Sym, ifFalse: ((CompiletimeCosting.this)#Sym) ⇒ (CompiletimeCosting.this)#Sym, ifEqual: ((CompiletimeCosting.this)#Sym) ⇒ (CompiletimeCosting.this)#Sym, ifNegated: ((CompiletimeCosting.this)#Sym) ⇒ (CompiletimeCosting.this)#Sym): (CompiletimeCosting.this)#Sym
    Definition Classes
    LogicalOps
    Annotations
    @inline()
  291. def rewriteDef[T](d: (CompiletimeCosting.this)#Def[T]): (CompiletimeCosting.this)#Ref[_]

    For performance reasons the patterns are organized in special (non-declarative) way.

    For performance reasons the patterns are organized in special (non-declarative) way. Unfortunately, this is less readable, but gives significant performance boost Look at comments to understand the logic of the rules.

    d

    node to be matched against rewrite patterns

    returns

    reference of new node if RW pattern is found and applied null if no rewriting is defined.

    Definition Classes
    CompiletimeCostingRuntimeCostingLibraryDefRewriting
  292. def rewriteNonInvokableMethodCall(mc: (CompiletimeCosting.this)#MethodCall): (CompiletimeCosting.this)#Ref[_]

    This method is called for each MethodCall node which is about to be added to the graph.

    This method is called for each MethodCall node which is about to be added to the graph. This means mc has been examined by all the rewrite rules, but has not need rewritten. Now, if this method returns null, then mc will be added to the graph. However, in this method, mc can be examined by a second set of RW rules (kind of lower priority rules). These rules kind of context dependent, because at this point we know that the first RW set didn't triggered any rewrite.

    Definition Classes
    RuntimeCostingMethodCalls
  293. final def rewriteUnOp[A, R](op: (CompiletimeCosting.this)#UnOp[A, R], x: (CompiletimeCosting.this)#Ref[A]): (CompiletimeCosting.this)#Ref[_]

    Rewrites application of given unary operation to the given argument.

    Rewrites application of given unary operation to the given argument.

    returns

    null if no rewriting is defined.

    Definition Classes
    DefRewriting
  294. val ruleStack: List[(CompiletimeCosting.this)#CostingRuleStat]
    Definition Classes
    RuntimeCosting
  295. val saveGraphsInFile: Boolean

    Whether to save calcF and costF graphs in the file given by ScriptNameProp environment variable

    Whether to save calcF and costF graphs in the file given by ScriptNameProp environment variable

    Definition Classes
    RuntimeCosting
  296. def selectFieldCost: (CompiletimeCosting.this)#Ref[Int]
    Definition Classes
    CostingRules
    Annotations
    @inline()
  297. def shouldEmitCluster(g: (CompiletimeCosting.this)#AstGraph): Boolean
    Attributes
    protected
    Definition Classes
    GraphVizExport
  298. def showGraphs(graph: (CompiletimeCosting.this)#AstGraph)(implicit config: GraphVizConfig): Unit
    Definition Classes
    GraphVizExport
  299. def showGraphs(roots: (CompiletimeCosting.this)#Sym*)(implicit config: GraphVizConfig): Unit
    Definition Classes
    GraphVizExport
  300. def sigmaDslBuilder: (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#SigmaDslBuilder]
    Definition Classes
    RuntimeCostingSigmaLibrary
    Annotations
    @inline()
  301. implicit lazy val sizeAnyElement: (CompiletimeCosting.this)#Elem[(CompiletimeCosting.this)#Size[Any]]
    Definition Classes
    SigmaLibrary
  302. def sizeOf[T](value: (CompiletimeCosting.this)#Ref[T]): (CompiletimeCosting.this)#Ref[Long]
    Definition Classes
    UniversalOps
  303. def sizeOfData[ST, T](x: ST)(implicit lT: Liftable[ST, T]): (CompiletimeCosting.this)#RSize[T]
    Definition Classes
    RuntimeCosting
  304. def specialPredef: (CompiletimeCosting.this)#Ref[WSpecialPredefCompanionCtor]
    Definition Classes
    Library
  305. def splitCostedCollFunc[A, B](f: (CompiletimeCosting.this)#RCostedCollFunc[A, B]): ((CompiletimeCosting.this)#Ref[(A) ⇒ (CompiletimeCosting.this)#Coll[B]], (CompiletimeCosting.this)#Ref[((Int, (CompiletimeCosting.this)#Size[A])) ⇒ ((CompiletimeCosting.this)#Coll[Int], Int)], (CompiletimeCosting.this)#Ref[((CompiletimeCosting.this)#Size[A]) ⇒ (CompiletimeCosting.this)#Coll[(CompiletimeCosting.this)#Size[B]]])
    Definition Classes
    RuntimeCosting
  306. def splitCostedFunc[A, B](f: (CompiletimeCosting.this)#RFuncCosted[A, B]): ((CompiletimeCosting.this)#Ref[(A) ⇒ B], (CompiletimeCosting.this)#Ref[((Int, (CompiletimeCosting.this)#Size[A])) ⇒ Int], (CompiletimeCosting.this)#Ref[((CompiletimeCosting.this)#Size[A]) ⇒ (CompiletimeCosting.this)#Size[B]])
    Definition Classes
    RuntimeCosting
  307. def splitCostedFunc2[A, B](f: (CompiletimeCosting.this)#RFuncCosted[A, B], okRemoveIsValid: Boolean): ((CompiletimeCosting.this)#Ref[(A) ⇒ Any], (CompiletimeCosting.this)#Ref[((Int, (CompiletimeCosting.this)#Size[A])) ⇒ Int])
    Definition Classes
    RuntimeCosting
  308. def stagingExceptionMessage(message: String, syms: Seq[(CompiletimeCosting.this)#Ref[_]]): String

    Prettyprint exception message

    Prettyprint exception message

    Attributes
    protected
    Definition Classes
    Base
  309. def stypeToElem[T <: SType](t: T): (CompiletimeCosting.this)#Elem[RuntimeCosting.stypeToElem.T.WrappedType]
    Definition Classes
    RuntimeCosting
  310. val substFromCostTable: Boolean

    Whether to create CostOf nodes or substutute costs from CostTable as constants in the graph.

    Whether to create CostOf nodes or substutute costs from CostTable as constants in the graph. true - substitute; false - create CostOf nodes

    Definition Classes
    RuntimeCosting
  311. implicit final def sumElement[A, B](implicit ea: (CompiletimeCosting.this)#Elem[A], eb: (CompiletimeCosting.this)#Elem[B]): (CompiletimeCosting.this)#Elem[(CompiletimeCosting.this)#|[A, B]]
    Definition Classes
    TypeDescs
  312. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  313. def throwInvocationException(whatFailed: String, cause: Throwable, receiver: (CompiletimeCosting.this)#Sym, m: Method, args: Seq[Any]): Nothing
    Definition Classes
    MethodCalls
  314. implicit val thunkCont: (CompiletimeCosting.this)#Cont[(CompiletimeCosting.this)#Thunk]
    Definition Classes
    Thunks
  315. implicit def thunkElement[T](implicit eItem: (CompiletimeCosting.this)#Elem[T]): (CompiletimeCosting.this)#Elem[(CompiletimeCosting.this)#Thunk[T]]
    Definition Classes
    Thunks
  316. val thunkStack: (CompiletimeCosting.this)#ThunkStack
    Attributes
    protected
    Definition Classes
    Thunks
  317. def thunk_create[A](block: ⇒ (CompiletimeCosting.this)#Ref[A]): (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#Thunk[A]]
    Definition Classes
    Thunks
  318. def thunk_force[A](t: (CompiletimeCosting.this)#Th[A]): (CompiletimeCosting.this)#Ref[A]
    Definition Classes
    Thunks
  319. def thunk_map[A, B](t: (CompiletimeCosting.this)#Th[A], f: (CompiletimeCosting.this)#Ref[(A) ⇒ B]): (CompiletimeCosting.this)#Th[B]
    Definition Classes
    Thunks
  320. def thunk_map1[A, B](t: (CompiletimeCosting.this)#Th[A], f: ((CompiletimeCosting.this)#Ref[A]) ⇒ (CompiletimeCosting.this)#Ref[B]): (CompiletimeCosting.this)#Th[B]
    Definition Classes
    Thunks
  321. def toExp[T](d: (CompiletimeCosting.this)#Def[T], newSym: ⇒ (CompiletimeCosting.this)#Ref[T]): (CompiletimeCosting.this)#Ref[T]

    Updates the universe of symbols and definitions, then rewrites until fix-point

    Updates the universe of symbols and definitions, then rewrites until fix-point

    d

    A new graph node to add to the universe

    newSym

    A symbol that will be used if d doesn't exist in the universe

    returns

    The symbol of the graph which is semantically(up to rewrites) equivalent to d

    Attributes
    protected[scalan]
    Definition Classes
    Base
  322. implicit final def toLazyElem[A](implicit eA: (CompiletimeCosting.this)#Elem[A]): (CompiletimeCosting.this)#LElem[A]
    Definition Classes
    TypeDescs
  323. def toRep[A](x: A)(implicit eA: (CompiletimeCosting.this)#Elem[A]): (CompiletimeCosting.this)#Ref[A]

    Lifting of data values to IR nodes.

    Lifting of data values to IR nodes.

    Definition Classes
    Base
  324. def toString(): String
    Definition Classes
    AnyRef → Any
  325. def transformProductParam(x: Any, t: (CompiletimeCosting.this)#Transformer): Any

    Transforms this object into new one by applying t to every Ref inside its structure.

    Transforms this object into new one by applying t to every Ref inside its structure. The structure is build out of Seq, Array, Option and Def values. Other structure items remain unchanged and copied to the new instance.

    Attributes
    protected
    Definition Classes
    Base
  326. def tryCast[To](x: (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#Def[_]])(implicit eTo: (CompiletimeCosting.this)#Elem[To]): (CompiletimeCosting.this)#Ref[To]
    Definition Classes
    CostingRules
  327. def tryConvert[From, To](eFrom: (CompiletimeCosting.this)#Elem[From], eTo: (CompiletimeCosting.this)#Elem[To], x: (CompiletimeCosting.this)#Ref[(CompiletimeCosting.this)#Def[_]], conv: (CompiletimeCosting.this)#Ref[(From) ⇒ To]): (CompiletimeCosting.this)#Ref[To]
    Definition Classes
    UniversalOps
  328. val tuplesCache: AVHashMap[(CompiletimeCosting.this)#Ref[_], ((CompiletimeCosting.this)#Ref[_], (CompiletimeCosting.this)#Ref[_])]
    Definition Classes
    Tuples
  329. def typeSize[T](implicit arg0: (CompiletimeCosting.this)#Elem[T]): (CompiletimeCosting.this)#Ref[Long]
    Definition Classes
    RuntimeCosting
  330. def typeSize(tpe: SType): (CompiletimeCosting.this)#Ref[Long]
    Definition Classes
    RuntimeCosting
  331. def unfoldLambda[A, B](f: (CompiletimeCosting.this)#Ref[(A) ⇒ B], x: (CompiletimeCosting.this)#Ref[A]): (CompiletimeCosting.this)#Ref[B]
    Definition Classes
    Functions
  332. def unfoldLambda[A, B](lam: (CompiletimeCosting.this)#Lambda[A, B], x: (CompiletimeCosting.this)#Ref[A]): (CompiletimeCosting.this)#Ref[B]
    Definition Classes
    Functions
  333. val unfoldWithOriginalFunc: Boolean

    Turns on/off lambda unfolding using original function f stored in the Lambda node.

    Turns on/off lambda unfolding using original function f stored in the Lambda node. If this flag is false then this function cannot be used even if it is present in the node.

    Definition Classes
    Functions
  334. def unrefDelegate[T <: AnyRef](x: (CompiletimeCosting.this)#Ref[T])(implicit ct: ClassTag[T]): T

    Create delegate instance suitable for method invocation.

    Create delegate instance suitable for method invocation. It is used when T is a class or a trait and the node referred by x doesn't conform to T. This method returns dynamically constructed instance, which conforms to T. Whenever a method of T is called on that instance, the call is intercepted and DelegatedInterceptionHandler.invoke method is called, then a new MethodCall can be constructed (which is befavior by default).

    Attributes
    protected
    Definition Classes
    MethodCalls
  335. def unzipPair[A, B](p: (CompiletimeCosting.this)#Ref[(A, B)]): ((CompiletimeCosting.this)#Ref[A], (CompiletimeCosting.this)#Ref[B])
    Definition Classes
    Tuples
  336. def upcast[To](value: (CompiletimeCosting.this)#Ref[_])(implicit arg0: (CompiletimeCosting.this)#Elem[To]): (CompiletimeCosting.this)#Ref[To]
    Definition Classes
    UniversalOps
  337. def upcastFun[A, B >: A](implicit arg0: (CompiletimeCosting.this)#Elem[A]): (CompiletimeCosting.this)#Ref[(A) ⇒ B]
    Definition Classes
    Functions
  338. final def updateSymbolTable[T](s: (CompiletimeCosting.this)#Ref[T], d: (CompiletimeCosting.this)#Def[T]): (CompiletimeCosting.this)#Ref[T]

    Create or find symbol (node Ref) which refers to the given node in the table of all created symbols.

    Create or find symbol (node Ref) which refers to the given node in the table of all created symbols. The d.nodeId is the index in the _symbolTable which is DBuffer (backed by Array)

    returns

    new of existing symbol

    Definition Classes
    Base
  339. val useAlphaEquality: Boolean

    Global lambda equality mode used by default.

    Global lambda equality mode used by default. It is used in fun and fun2 lambda builders. If this flag is true then Lambda nodes are equal if they are the same up to renaming of symbols. (see Lambda.equals()). Each Lambda node has independent equality mode flag which is setup in the constructor.

    Definition Classes
    Functions
  340. final def valueFromRep[A](x: (CompiletimeCosting.this)#Ref[A]): A

    Extract data value from Const node or throw an exception.

    Extract data value from Const node or throw an exception.

    Definition Classes
    Base
    Annotations
    @inline()
  341. def variable[T](implicit eT: (CompiletimeCosting.this)#LElem[T]): (CompiletimeCosting.this)#Ref[T]
    Definition Classes
    Base
    Annotations
    @inline()
  342. implicit lazy val wRTypeAnyElement: (CompiletimeCosting.this)#Elem[(CompiletimeCosting.this)#WRType[Any]]
    Definition Classes
    SigmaLibrary
  343. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  344. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  345. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  346. def withConstantSize[T](v: (CompiletimeCosting.this)#Ref[T], cost: (CompiletimeCosting.this)#Ref[Int]): (CompiletimeCosting.this)#RCosted[T]
    Definition Classes
    RuntimeCosting
  347. def zeroSize[V](eVal: (CompiletimeCosting.this)#Elem[V]): (CompiletimeCosting.this)#RSize[V]
    Definition Classes
    Library
  348. implicit def zipPair[A, B](p: ((CompiletimeCosting.this)#Ref[A], (CompiletimeCosting.this)#Ref[B])): (CompiletimeCosting.this)#Ref[(A, B)]
    Definition Classes
    Tuples
  349. object AvlTreeCoster extends IRContext.CostingHandler[IRContext.AvlTree]
    Definition Classes
    CostingRules
  350. object BoxCoster extends IRContext.CostingHandler[IRContext.Box]
    Definition Classes
    CostingRules
  351. object CollCoster extends IRContext.CostingHandler[IRContext.Coll[Any]]
    Definition Classes
    CostingRules
  352. object ContextCoster extends IRContext.CostingHandler[IRContext.Context]
    Definition Classes
    CostingRules
  353. object GroupElementCoster extends IRContext.CostingHandler[IRContext.GroupElement]

    CostingHandler for SGroupElement, see SGroupElement.coster

    CostingHandler for SGroupElement, see SGroupElement.coster

    Definition Classes
    CostingRules
  354. object HeaderCoster extends IRContext.CostingHandler[IRContext.Header]
    Definition Classes
    CostingRules
  355. object OptionCoster extends IRContext.CostingHandler[IRContext.WOption[Any]]
    Definition Classes
    CostingRules
  356. object PreHeaderCoster extends IRContext.CostingHandler[IRContext.PreHeader]
    Definition Classes
    CostingRules
  357. object SigmaDslBuilderCoster extends IRContext.CostingHandler[IRContext.SigmaDslBuilder]
    Definition Classes
    CostingRules
  358. object AllOf
    Definition Classes
    RuntimeCosting
  359. object AllZk
    Definition Classes
    RuntimeCosting
  360. object AnyOf
    Definition Classes
    RuntimeCosting
  361. object AnyZk
    Definition Classes
    RuntimeCosting
  362. object CostedFoldExtractors
    Definition Classes
    RuntimeCosting
  363. object ElemAccessor
    Definition Classes
    RuntimeCosting
  364. object HasSigmas
    Definition Classes
    RuntimeCosting
  365. object IsConstSizeCostedColl
    Definition Classes
    RuntimeCosting
  366. object IsCostedPair
    Definition Classes
    RuntimeCosting
  367. object Coll extends scalan.Library.EntityObject
    Definition Classes
    CollsDefs
  368. object CollBuilder extends scalan.Library.EntityObject
    Definition Classes
    CollsDefs
  369. object PairColl extends scalan.Library.EntityObject
    Definition Classes
    CollsDefs
  370. object ReplColl extends scalan.Library.EntityObject
    Definition Classes
    CollsDefs
  371. object CCostedBuilder extends scalan.Library.EntityObject
    Definition Classes
    ConcreteCostsDefs
  372. object CCostedColl extends scalan.Library.EntityObject
    Definition Classes
    ConcreteCostsDefs
  373. object CCostedFunc extends scalan.Library.EntityObject
    Definition Classes
    ConcreteCostsDefs
  374. object CCostedPair extends scalan.Library.EntityObject
    Definition Classes
    ConcreteCostsDefs
  375. object CCostedPrim extends scalan.Library.EntityObject
    Definition Classes
    ConcreteCostsDefs
  376. object CSizeColl extends scalan.Library.EntityObject
    Definition Classes
    ConcreteSizesDefs
  377. object CSizeFunc extends scalan.Library.EntityObject
    Definition Classes
    ConcreteSizesDefs
  378. object CSizeOption extends scalan.Library.EntityObject
    Definition Classes
    ConcreteSizesDefs
  379. object CSizePair extends scalan.Library.EntityObject
    Definition Classes
    ConcreteSizesDefs
  380. object CSizePrim extends scalan.Library.EntityObject
    Definition Classes
    ConcreteSizesDefs
  381. object CCostedOption extends scalan.Library.EntityObject
    Definition Classes
    CostedOptionsDefs
  382. object Costed extends scalan.Library.EntityObject
    Definition Classes
    CostsDefs
  383. object CostedBuilder extends scalan.Library.EntityObject
    Definition Classes
    CostsDefs
  384. object CostedColl extends scalan.Library.EntityObject
    Definition Classes
    CostsDefs
  385. object CostedFunc extends scalan.Library.EntityObject
    Definition Classes
    CostsDefs
  386. object CostedOption extends scalan.Library.EntityObject
    Definition Classes
    CostsDefs
  387. object CostedPair extends scalan.Library.EntityObject
    Definition Classes
    CostsDefs
  388. object CostedPrim extends scalan.Library.EntityObject
    Definition Classes
    CostsDefs
  389. object IntPlusMonoid extends scalan.Library.EntityObject
    Definition Classes
    MonoidInstancesDefs
  390. object LongPlusMonoid extends scalan.Library.EntityObject
    Definition Classes
    MonoidInstancesDefs
  391. object MonoidBuilderInst extends scalan.Library.EntityObject
    Definition Classes
    MonoidInstancesDefs
  392. object Monoid extends scalan.Library.EntityObject
    Definition Classes
    MonoidsDefs
  393. object MonoidBuilder extends scalan.Library.EntityObject
    Definition Classes
    MonoidsDefs
  394. object Size extends scalan.Library.EntityObject
    Definition Classes
    SizesDefs
  395. object SizeColl extends scalan.Library.EntityObject
    Definition Classes
    SizesDefs
  396. object SizeFunc extends scalan.Library.EntityObject
    Definition Classes
    SizesDefs
  397. object SizeOption extends scalan.Library.EntityObject
    Definition Classes
    SizesDefs
  398. object SizePair extends scalan.Library.EntityObject
    Definition Classes
    SizesDefs
  399. object SizePrim extends scalan.Library.EntityObject
    Definition Classes
    SizesDefs
  400. object SizeAnyValue extends scalan.SigmaLibrary.EntityObject
    Definition Classes
    CostedObjectsDefs
  401. object SizeBox extends scalan.SigmaLibrary.EntityObject
    Definition Classes
    CostedObjectsDefs
  402. object SizeBuilder extends scalan.SigmaLibrary.EntityObject
    Definition Classes
    CostedObjectsDefs
  403. object SizeContext extends scalan.SigmaLibrary.EntityObject
    Definition Classes
    CostedObjectsDefs
  404. object SizeSigmaProp extends scalan.SigmaLibrary.EntityObject
    Definition Classes
    CostedObjectsDefs
  405. object AnyValue extends scalan.SigmaLibrary.EntityObject
    Definition Classes
    SigmaDslDefs
  406. object AvlTree extends scalan.SigmaLibrary.EntityObject
    Definition Classes
    SigmaDslDefs
  407. object BigInt extends scalan.SigmaLibrary.EntityObject
    Definition Classes
    SigmaDslDefs
  408. object Box extends scalan.SigmaLibrary.EntityObject
    Definition Classes
    SigmaDslDefs
  409. object Context extends scalan.SigmaLibrary.EntityObject
    Definition Classes
    SigmaDslDefs
  410. object CostModel extends scalan.SigmaLibrary.EntityObject
    Definition Classes
    SigmaDslDefs
  411. object GroupElement extends scalan.SigmaLibrary.EntityObject
    Definition Classes
    SigmaDslDefs
  412. object Header extends scalan.SigmaLibrary.EntityObject
    Definition Classes
    SigmaDslDefs
  413. object PreHeader extends scalan.SigmaLibrary.EntityObject
    Definition Classes
    SigmaDslDefs
  414. object SigmaContract extends scalan.SigmaLibrary.EntityObject
    Definition Classes
    SigmaDslDefs
  415. object SigmaDslBuilder extends scalan.SigmaLibrary.EntityObject
    Definition Classes
    SigmaDslDefs
  416. object SigmaProp extends scalan.SigmaLibrary.EntityObject
    Definition Classes
    SigmaDslDefs
  417. object OptionWrapSpec extends scalan.Library.EntityObject
    Definition Classes
    WrappersSpecDefs
  418. object RTypeWrapSpec extends scalan.Library.EntityObject
    Definition Classes
    WrappersSpecDefs
  419. object SpecialPredefWrapSpec extends scalan.Library.EntityObject
    Definition Classes
    WrappersSpecDefs
  420. object WrapSpecBase extends scalan.Library.EntityObject
    Definition Classes
    WrappersSpecDefs
  421. object WOption extends special.wrappers.WrappersModule.EntityObject
    Definition Classes
    WOptionsDefs
  422. object WRType extends special.wrappers.WrappersModule.EntityObject
    Definition Classes
    WRTypesDefs
  423. object WSpecialPredef extends special.wrappers.WrappersModule.EntityObject
    Definition Classes
    WSpecialPredefsDefs

Inherited from RuntimeCosting

Inherited from CostingRules

Inherited from SigmaLibrary

Inherited from CostedObjectsModule

Inherited from CostedObjectsDefs

Inherited from CostedObjects

Inherited from SigmaDslModule

Inherited from SigmaDslDefs

Inherited from SigmaDsl

Inherited from WrappersModule

Inherited from Library

Inherited from CostedOptionsModule

Inherited from CostedOptionsDefs

Inherited from CostedOptions

Inherited from MonoidInstancesModule

Inherited from MonoidInstancesDefs

Inherited from MonoidInstances

Inherited from MonoidsModule

Inherited from MonoidsDefs

Inherited from Monoids

Inherited from ConcreteCostsModule

Inherited from ConcreteCostsDefs

Inherited from ConcreteCosts

Inherited from ConcreteSizesModule

Inherited from ConcreteSizesDefs

Inherited from ConcreteSizes

Inherited from CostsModule

Inherited from CostsDefs

Inherited from Costs

Inherited from SizesModule

Inherited from SizesDefs

Inherited from Sizes

Inherited from CollsModule

Inherited from CollsDefs

Inherited from Colls

Inherited from WrappersSpecModule

Inherited from WrappersSpecDefs

Inherited from WrappersSpec

Inherited from WrappersModule

Inherited from WRTypesModule

Inherited from WRTypesDefs

Inherited from WRTypes

Inherited from WOptionsModule

Inherited from WOptionsDefs

Inherited from WOptions

Inherited from WSpecialPredefsModule

Inherited from WSpecialPredefsDefs

Inherited from WSpecialPredefs

Inherited from Scalan

Inherited from DefRewriting

Inherited from Modules

Inherited from Entities

Inherited from Thunks

Inherited from IfThenElse

Inherited from Functions

Inherited from ProgramGraphs

Inherited from AstGraphs

Inherited from Transforming

Inherited from UniversalOps

Inherited from Equal

Inherited from OrderingOps

Inherited from LogicalOps

Inherited from UnBinOps

Inherited from NumericOps

Inherited from Tuples

Inherited from MethodCalls

Inherited from GraphVizExport

Inherited from TypeDescs

Inherited from Base

Inherited from AnyRef

Inherited from Any

Ungrouped