Class

sigmastate.eval

CompiletimeIRContext

Related Doc: package eval

Permalink

class CompiletimeIRContext extends Scalan with IRContext with CompiletimeCosting

IR context to be used by script development tools to compile ErgoScript into ErgoTree bytecode.

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

Instance Constructors

  1. new CompiletimeIRContext()

    Permalink

Type Members

  1. case class Abs[T](n: ExactNumeric[T])(implicit evidence$8: Scalan.Elem[T]) extends Scalan.UnOp[T, T] with Product with Serializable

    Permalink
    Definition Classes
    NumericOps
  2. trait AnyValue extends scalan.SigmaLibrary.Node with scalan.SigmaLibrary.Def[scalan.SigmaLibrary.AnyValue]

    Permalink
    Definition Classes
    SigmaDsl
    Annotations
    @Liftable() @WithMethodCallRecognizers()
  3. trait AnyValueCompanion extends AnyRef

    Permalink
    Definition Classes
    SigmaDsl
  4. 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

    Permalink
    Definition Classes
    Functions
  5. 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

    Permalink
    Definition Classes
    UnBinOps
  6. 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

    Permalink
    Definition Classes
    UnBinOps
  7. case class ApplyUnOp[A, R](op: Scalan.UnOp[A, R], arg: Scalan.Ref[A]) extends Scalan.BaseDef[R] with Product with Serializable

    Permalink
    Definition Classes
    UnBinOps
  8. abstract class AstGraph extends Scalan.Node

    Permalink

    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
  9. trait AvlTree extends scalan.SigmaLibrary.Node with scalan.SigmaLibrary.Def[scalan.SigmaLibrary.AvlTree]

    Permalink
    Definition Classes
    SigmaDsl
    Annotations
    @Liftable()
  10. trait AvlTreeCompanion extends AnyRef

    Permalink
    Definition Classes
    SigmaDsl
  11. class AvlTreeCoster extends IRContext.Coster[IRContext.AvlTree]

    Permalink

    Costing rules for SAvlTree methods

    Costing rules for SAvlTree methods

    Definition Classes
    CostingRules
  12. abstract class BaseDef[+T] extends Scalan.Node with Scalan.Def[T]

    Permalink

    Base class for most predefined operations.

    Base class for most predefined operations.

    Definition Classes
    Base
  13. abstract class BaseElem[A] extends Scalan.Elem[A] with Serializable with Equals

    Permalink
    Definition Classes
    TypeDescs
  14. class BaseElemLiftable[A] extends Scalan.BaseElem[A]

    Permalink

    Type descriptor for primitive types.

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

    Definition Classes
    TypeDescs
  15. trait BigInt extends scalan.SigmaLibrary.Node with scalan.SigmaLibrary.Def[scalan.SigmaLibrary.BigInt]

    Permalink
    Definition Classes
    SigmaDsl
    Annotations
    @Liftable() @WithMethodCallRecognizers()
  16. trait BigIntCompanion extends AnyRef

    Permalink
    Definition Classes
    SigmaDsl
  17. class BinOp[A, R] extends AnyRef

    Permalink
    Definition Classes
    UnBinOps
  18. trait Box extends scalan.SigmaLibrary.Node with scalan.SigmaLibrary.Def[scalan.SigmaLibrary.Box]

    Permalink
    Definition Classes
    SigmaDsl
    Annotations
    @Liftable() @WithMethodCallRecognizers()
  19. trait BoxCompanion extends AnyRef

    Permalink
    Definition Classes
    SigmaDsl
  20. class BoxCoster extends IRContext.Coster[IRContext.Box]

    Permalink

    Costing rules for SBox methods

    Costing rules for SBox methods

    Definition Classes
    CostingRules
  21. abstract class CCostedBuilder extends scalan.Library.Node with scalan.Library.CostedBuilder

    Permalink
    Definition Classes
    ConcreteCosts
  22. trait CCostedBuilderCompanion extends AnyRef

    Permalink
    Definition Classes
    ConcreteCosts
  23. abstract class CCostedColl[Item] extends scalan.Library.Node with scalan.Library.CostedColl[Item]

    Permalink
    Definition Classes
    ConcreteCosts
  24. trait CCostedCollCompanion extends AnyRef

    Permalink
    Definition Classes
    ConcreteCosts
  25. abstract class CCostedFunc[Env, Arg, Res] extends scalan.Library.Node with scalan.Library.CostedFunc[Env, Arg, Res]

    Permalink
    Definition Classes
    ConcreteCosts
  26. trait CCostedFuncCompanion extends AnyRef

    Permalink
    Definition Classes
    ConcreteCosts
  27. abstract class CCostedOption[T] extends scalan.Library.Node with scalan.Library.CostedOption[T]

    Permalink
    Definition Classes
    CostedOptions
  28. trait CCostedOptionCompanion extends AnyRef

    Permalink
    Definition Classes
    CostedOptions
  29. abstract class CCostedPair[L, R] extends scalan.Library.Node with scalan.Library.CostedPair[L, R]

    Permalink
    Definition Classes
    ConcreteCosts
  30. trait CCostedPairCompanion extends AnyRef

    Permalink
    Definition Classes
    ConcreteCosts
  31. abstract class CCostedPrim[Val] extends scalan.Library.Node with scalan.Library.CostedPrim[Val]

    Permalink
    Definition Classes
    ConcreteCosts
  32. trait CCostedPrimCompanion extends AnyRef

    Permalink
    Definition Classes
    ConcreteCosts
  33. abstract class CSizeColl[Item] extends scalan.Library.Node with scalan.Library.SizeColl[Item]

    Permalink
    Definition Classes
    ConcreteSizes
  34. trait CSizeCollCompanion extends AnyRef

    Permalink
    Definition Classes
    ConcreteSizes
  35. abstract class CSizeFunc[Env, Arg, Res] extends scalan.Library.Node with scalan.Library.SizeFunc[Env, Arg, Res]

    Permalink
    Definition Classes
    ConcreteSizes
  36. trait CSizeFuncCompanion extends AnyRef

    Permalink
    Definition Classes
    ConcreteSizes
  37. abstract class CSizeOption[Item] extends scalan.Library.Node with scalan.Library.SizeOption[Item]

    Permalink
    Definition Classes
    ConcreteSizes
  38. trait CSizeOptionCompanion extends AnyRef

    Permalink
    Definition Classes
    ConcreteSizes
  39. abstract class CSizePair[L, R] extends scalan.Library.Node with scalan.Library.SizePair[L, R]

    Permalink
    Definition Classes
    ConcreteSizes
  40. trait CSizePairCompanion extends AnyRef

    Permalink
    Definition Classes
    ConcreteSizes
  41. abstract class CSizePrim[Val] extends scalan.Library.Node with scalan.Library.SizePrim[Val]

    Permalink
    Definition Classes
    ConcreteSizes
  42. trait CSizePrimCompanion extends AnyRef

    Permalink
    Definition Classes
    ConcreteSizes
  43. case class Cast[To](eTo: IRContext.Elem[To], x: IRContext.Ref[IRContext.Def[_]]) extends IRContext.BaseDef[To] with Product with Serializable

    Permalink
    Definition Classes
    CostingRules
  44. trait Coll[A] extends scalan.Library.Node with scalan.Library.Def[scalan.Library.Coll[A]]

    Permalink
    Definition Classes
    Colls
    Annotations
    @ContainerType() @FunctorType() @Liftable() @WithMethodCallRecognizers()
  45. trait CollBuilder extends scalan.Library.Node with scalan.Library.Def[scalan.Library.CollBuilder]

    Permalink
    Definition Classes
    Colls
    Annotations
    @Liftable() @WithMethodCallRecognizers()
  46. trait CollBuilderCompanion extends AnyRef

    Permalink
    Definition Classes
    Colls
  47. trait CollCompanion extends AnyRef

    Permalink
    Definition Classes
    Colls
  48. class CollCoster[T] extends IRContext.Coster[IRContext.Coll[T]]

    Permalink

    Costing rules for SCollection methods (see object SCollection)

    Costing rules for SCollection methods (see object SCollection)

    Definition Classes
    CostingRules
  49. abstract class CompanionDef[T] extends Scalan.Node with Scalan.Def[T]

    Permalink

    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
  50. abstract class CompanionElem[T] extends Scalan.Elem[T]

    Permalink

    Base class for all descriptors of staged companions

    Base class for all descriptors of staged companions

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

    Permalink

    Base class for all descriptors of staged classes.

    Base class for all descriptors of staged classes.

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

    Permalink

    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
  53. case class Const[T](x: T)(implicit eT: Scalan.Elem[T]) extends Scalan.BaseDef[T] with Product with Serializable

    Permalink

    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
  54. abstract class Cont[F[_]] extends Scalan.TypeDesc

    Permalink

    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}." )
  55. trait Context extends scalan.SigmaLibrary.Node with scalan.SigmaLibrary.Def[scalan.SigmaLibrary.Context]

    Permalink
    Definition Classes
    SigmaDsl
    Annotations
    @Liftable() @WithMethodCallRecognizers()
  56. trait ContextCompanion extends AnyRef

    Permalink
    Definition Classes
    SigmaDsl
  57. class ContextCoster extends IRContext.Coster[IRContext.Context]

    Permalink

    Costing rules for SContext methods

    Costing rules for SContext methods

    Definition Classes
    CostingRules
  58. type ContextFunc[T <: SType] = (special.sigma.Context) ⇒ Value[T]

    Permalink
    Definition Classes
    Evaluation
  59. 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

    Permalink
    Definition Classes
    UniversalOps
  60. class CostAccumulator extends AnyRef

    Permalink

    Implements finite state machine with stack of graph blocks (scopes), which correspond to lambdas and thunks.

    Implements finite state machine with stack of graph blocks (scopes), which correspond to lambdas and thunks. It accepts messages: startScope(), endScope(), add(), reset() At any time totalCost is the currently accumulated cost.

    Definition Classes
    Evaluation
  61. class CostCounter extends AnyRef

    Permalink

    Incapsulate simple monotonic (add only) counter with reset.

    Incapsulate simple monotonic (add only) counter with reset.

    Definition Classes
    Evaluation
  62. trait CostModel extends scalan.SigmaLibrary.Node with scalan.SigmaLibrary.Def[scalan.SigmaLibrary.CostModel]

    Permalink
    Definition Classes
    SigmaDsl
    Annotations
    @Liftable()
  63. trait CostModelCompanion extends AnyRef

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

    Permalink

    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
  65. trait Costed[Val] extends scalan.Library.Node with scalan.Library.Def[scalan.Library.Costed[Val]]

    Permalink
    Definition Classes
    Costs
    Annotations
    @WithMethodCallRecognizers()
  66. trait CostedBuilder extends scalan.Library.Node with scalan.Library.Def[scalan.Library.CostedBuilder]

    Permalink
    Definition Classes
    Costs
    Annotations
    @WithMethodCallRecognizers()
  67. trait CostedBuilderCompanion extends AnyRef

    Permalink
    Definition Classes
    Costs
  68. trait CostedColl[Item] extends scalan.Library.Node with scalan.Library.Costed[scalan.Library.Coll[Item]]

    Permalink
    Definition Classes
    Costs
    Annotations
    @WithMethodCallRecognizers()
  69. trait CostedCollCompanion extends AnyRef

    Permalink
    Definition Classes
    Costs
  70. type CostedCollFunc[A, B] = (Costed[A]) ⇒ CostedColl[B]

    Permalink
    Definition Classes
    RuntimeCosting
  71. trait CostedCompanion extends AnyRef

    Permalink
    Definition Classes
    Costs
  72. trait CostedFunc[Env, Arg, Res] extends scalan.Library.Node with scalan.Library.Costed[(Arg) ⇒ Res]

    Permalink
    Definition Classes
    Costs
  73. trait CostedFuncCompanion extends AnyRef

    Permalink
    Definition Classes
    Costs
  74. trait CostedOption[T] extends scalan.Library.Node with scalan.Library.Costed[scalan.Library.WOption[T]]

    Permalink
    Definition Classes
    Costs
  75. trait CostedOptionCompanion extends AnyRef

    Permalink
    Definition Classes
    Costs
  76. type CostedOptionFunc[A, B] = (Costed[A]) ⇒ CostedOption[B]

    Permalink
    Definition Classes
    RuntimeCosting
  77. trait CostedPair[L, R] extends scalan.Library.Node with scalan.Library.Costed[(L, R)]

    Permalink
    Definition Classes
    Costs
  78. trait CostedPairCompanion extends AnyRef

    Permalink
    Definition Classes
    Costs
  79. trait CostedPrim[Val] extends scalan.Library.Node with scalan.Library.Costed[Val]

    Permalink
    Definition Classes
    Costs
  80. trait CostedPrimCompanion extends AnyRef

    Permalink
    Definition Classes
    Costs
  81. type CostedTh[T] = Ref[Thunk[Costed[T]]]

    Permalink
    Definition Classes
    RuntimeCosting
  82. trait CostedThunk[A] extends IRContext.Node with IRContext.Costed[IRContext.Thunk[A]]

    Permalink
    Definition Classes
    RuntimeCosting
  83. 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

    Permalink
    Definition Classes
    RuntimeCosting
  84. abstract class Coster[T] extends AnyRef

    Permalink

    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
  85. type CostingEnv = Map[Any, RCosted[_]]

    Permalink
    Definition Classes
    RuntimeCosting
  86. abstract class CostingHandler[T] extends AnyRef

    Permalink

    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

  87. class CostingRuleStat extends AnyRef

    Permalink
    Definition Classes
    RuntimeCosting
  88. type DataEnv = Map[Sym, AnyRef]

    Permalink

    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
  89. trait Def[+T] extends Scalan.Node

    Permalink

    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
  90. type DefEnv = Map[Sym, (Int, SType)]

    Permalink

    Describes assignment of valIds for symbols which become ValDefs.

    Describes assignment of valIds for symbols which become ValDefs. Each ValDef in current scope have entry in this map

    Definition Classes
    TreeBuilding
  91. class DefaultPass extends Scalan.Pass

    Permalink

    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
  92. class DivOp[T] extends Scalan.EndoBinOp[T]

    Permalink
    Definition Classes
    NumericOps
  93. case class Downcast[From, To](input: Scalan.Ref[From], eTo: Scalan.Elem[To]) extends Scalan.BaseDef[To] with Product with Serializable

    Permalink
    Definition Classes
    UniversalOps
  94. abstract class Elem[A] extends Scalan.TypeDesc

    Permalink

    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}." )
  95. class ElemAccessor[T] extends AnyRef

    Permalink
    Definition Classes
    RuntimeCosting
  96. class ElemCacheEntry extends AnyRef

    Permalink

    Elements cache information for each Elem class.

    Elements cache information for each Elem class.

    Definition Classes
    TypeDescs
  97. implicit class ElemOpsForCosting extends AnyRef

    Permalink
    Definition Classes
    RuntimeCosting
  98. class ElseIfBranch[T] extends AnyRef

    Permalink

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

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

    Definition Classes
    IfThenElse
  99. type EndoBinOp[A] = BinOp[A, A]

    Permalink
    Definition Classes
    UnBinOps
  100. type EndoUnOp[A] = UnOp[A, A]

    Permalink
    Definition Classes
    UnBinOps
  101. abstract class EntityElem[A] extends Scalan.Elem[A] with Equals

    Permalink

    Base class for all descriptors of staged traits.

    Base class for all descriptors of staged traits.

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

    Permalink

    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
  103. class EntityObject extends AnyRef

    Permalink

    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
  104. case class EntityObjectOwner(obj: Scalan.EntityObject) extends Scalan.OwnerKind with Product with Serializable

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

    Permalink

    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
  106. implicit class EqualOps[A] extends AnyRef

    Permalink

    Extension methods to construct ApplyBinOp nodes

    Extension methods to construct ApplyBinOp nodes

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

    Permalink

    Binary operation representing structural equality between arguments.

    Binary operation representing structural equality between arguments.

    Definition Classes
    Equal
  108. case class EvaluatedEntry(env: IRContext.DataEnv, sym: IRContext.Sym, value: AnyRef) extends Product with Serializable

    Permalink
    Definition Classes
    Evaluation
  109. case class First[A, B](pair: Scalan.Ref[(A, B)]) extends Scalan.Node with Scalan.Def[A] with Product with Serializable

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

    Permalink

    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
  111. implicit class FuncExtensions[A, B] extends AnyRef

    Permalink
    Definition Classes
    Functions
  112. trait Functor[F[_]] extends Scalan.Cont[F]

    Permalink
    Definition Classes
    TypeDescs
  113. case class GraphFile(file: File, fileType: String) extends Product with Serializable

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

    Permalink

    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
  115. trait GroupElement extends scalan.SigmaLibrary.Node with scalan.SigmaLibrary.Def[scalan.SigmaLibrary.GroupElement]

    Permalink
    Definition Classes
    SigmaDsl
    Annotations
    @Liftable() @WithMethodCallRecognizers()
  116. trait GroupElementCompanion extends AnyRef

    Permalink
    Definition Classes
    SigmaDsl
  117. class GroupElementCoster extends IRContext.Coster[IRContext.GroupElement]

    Permalink

    Costing rules for SGroupElement methods

    Costing rules for SGroupElement methods

    Definition Classes
    CostingRules
  118. case class HashCode[A]() extends Scalan.UnOp[A, Int] with Product with Serializable

    Permalink
    Definition Classes
    UniversalOps
  119. trait Header extends scalan.SigmaLibrary.Node with scalan.SigmaLibrary.Def[scalan.SigmaLibrary.Header]

    Permalink
    Definition Classes
    SigmaDsl
    Annotations
    @Liftable()
  120. trait HeaderCompanion extends AnyRef

    Permalink
    Definition Classes
    SigmaDsl
  121. class HeaderCoster extends IRContext.Coster[IRContext.Header]

    Permalink

    Costing rules for SHeader methods

    Costing rules for SHeader methods

    Definition Classes
    CostingRules
  122. class IfBranch extends AnyRef

    Permalink

    Defines syntax available after IF (cond)

    Defines syntax available after IF (cond)

    Definition Classes
    IfThenElse
  123. 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

    Permalink

    IR node to represent IF condition with lazy branches.

    IR node to represent IF condition with lazy branches.

    Definition Classes
    IfThenElse
  124. abstract class IntPlusMonoid extends scalan.Library.Node with scalan.Library.Monoid[Int]

    Permalink
    Definition Classes
    MonoidInstances
  125. trait IntPlusMonoidCompanion extends AnyRef

    Permalink
    Definition Classes
    MonoidInstances
  126. case class IntegralDivide[T](i: ExactIntegral[T])(implicit elem: Scalan.Elem[T]) extends Scalan.DivOp[T] with Product with Serializable

    Permalink
    Definition Classes
    NumericOps
  127. case class IntegralMod[T](i: ExactIntegral[T])(implicit elem: Scalan.Elem[T]) extends Scalan.DivOp[T] with Product with Serializable

    Permalink
    Definition Classes
    NumericOps
  128. implicit class IntegralOpsCls[T] extends AnyRef

    Permalink
    Definition Classes
    NumericOps
  129. case class InvokeFailure(exception: Throwable) extends Scalan.InvokeResult with Product with Serializable

    Permalink

    Exception thrown during MethodCall invocation.

    Exception thrown during MethodCall invocation.

    Definition Classes
    MethodCalls
  130. sealed abstract class InvokeResult extends AnyRef

    Permalink

    Result of MethodCall invocation.

    Result of MethodCall invocation.

    Definition Classes
    MethodCalls
    See also

    tryInvoke

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

    Permalink

    Successful MethodCall invocation with the given result.

    Successful MethodCall invocation with the given result.

    Definition Classes
    MethodCalls
  132. class KnownCollInfo[T] extends AnyRef

    Permalink
    Definition Classes
    CostingRules
  133. type LElem[A] = Lazy[Elem[A]]

    Permalink

    Type descriptor which is computed lazily on demand.

    Type descriptor which is computed lazily on demand.

    Definition Classes
    TypeDescs
  134. class Lambda[A, B] extends Scalan.AstGraph with Scalan.Def[(A) ⇒ B]

    Permalink

    Represent lambda expression as IR node.

    Represent lambda expression as IR node.

    Definition Classes
    Functions
  135. type LambdaData[A, B] = (Lambda[A, B], Nullable[(Ref[A]) ⇒ Ref[B]], Ref[A], Ref[B])

    Permalink
    Definition Classes
    Functions
  136. implicit class LambdaOps[A, B] extends AnyRef

    Permalink
    Definition Classes
    Functions
  137. class LambdaStack extends AnyRef

    Permalink
    Definition Classes
    Functions
  138. type LazyRep[T] = MutableLazy[Ref[T]]

    Permalink
    Definition Classes
    Library
  139. 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

    Permalink
    Definition Classes
    Thunks
  140. implicit class ListOps[A, B] extends AnyRef

    Permalink
    Definition Classes
    Tuples
  141. abstract class LongPlusMonoid extends scalan.Library.Node with scalan.Library.Monoid[Long]

    Permalink
    Definition Classes
    MonoidInstances
  142. trait LongPlusMonoidCompanion extends AnyRef

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

    Permalink

    Concrete and default implementation of Transformer using underlying HashMap.

    Concrete and default implementation of Transformer using underlying HashMap.

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

    Permalink

    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
  145. sealed abstract class MethodDesc extends AnyRef

    Permalink
    Definition Classes
    TypeDescs
  146. abstract class Mirror extends AnyRef

    Permalink

    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
  147. trait Monoid[T] extends scalan.Library.Node with scalan.Library.Def[scalan.Library.Monoid[T]]

    Permalink
    Definition Classes
    Monoids
  148. trait MonoidBuilder extends scalan.Library.Node with scalan.Library.Def[scalan.Library.MonoidBuilder]

    Permalink
    Definition Classes
    Monoids
    Annotations
    @WithMethodCallRecognizers()
  149. trait MonoidBuilderCompanion extends AnyRef

    Permalink
    Definition Classes
    Monoids
  150. abstract class MonoidBuilderInst extends scalan.Library.Node with scalan.Library.MonoidBuilder

    Permalink
    Definition Classes
    MonoidInstances
  151. trait MonoidBuilderInstCompanion extends AnyRef

    Permalink
    Definition Classes
    MonoidInstances
  152. trait MonoidCompanion extends AnyRef

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

    Permalink

    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
  154. abstract class Node extends Product

    Permalink

    Base class for all IR nodes/operations/definitions.

    Base class for all IR nodes/operations/definitions.

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

    Permalink

    Binary operation representing structural inequality between arguments.

    Binary operation representing structural inequality between arguments.

    Definition Classes
    Equal
  156. class NotImplementedStagingException extends Scalan.StagingException

    Permalink
    Definition Classes
    Base
  157. case class NumericMinus[T](n: ExactNumeric[T])(implicit evidence$4: Scalan.Elem[T]) extends Scalan.EndoBinOp[T] with Product with Serializable

    Permalink
    Definition Classes
    NumericOps
  158. case class NumericNegate[T](n: ExactNumeric[T])(implicit evidence$7: Scalan.Elem[T]) extends Scalan.UnOp[T, T] with Product with Serializable

    Permalink
    Definition Classes
    NumericOps
  159. implicit class NumericOpsCls[T] extends AnyRef

    Permalink
    Definition Classes
    NumericOps
  160. case class NumericPlus[T](n: ExactNumeric[T])(implicit evidence$3: Scalan.Elem[T]) extends Scalan.EndoBinOp[T] with Product with Serializable

    Permalink
    Definition Classes
    NumericOps
  161. case class NumericTimes[T](n: ExactNumeric[T])(implicit evidence$5: Scalan.Elem[T]) extends Scalan.EndoBinOp[T] with Product with Serializable

    Permalink
    Definition Classes
    NumericOps
  162. case class NumericToDouble[T](n: ExactNumeric[T]) extends Scalan.UnOp[T, Double] with Product with Serializable

    Permalink
    Definition Classes
    NumericOps
  163. case class NumericToFloat[T](n: ExactNumeric[T]) extends Scalan.UnOp[T, Float] with Product with Serializable

    Permalink
    Definition Classes
    NumericOps
  164. case class NumericToInt[T](n: ExactNumeric[T]) extends Scalan.UnOp[T, Int] with Product with Serializable

    Permalink
    Definition Classes
    NumericOps
  165. case class NumericToLong[T](n: ExactNumeric[T]) extends Scalan.UnOp[T, Long] with Product with Serializable

    Permalink
    Definition Classes
    NumericOps
  166. 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

    Permalink

    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
  167. class OptionCoster[T] extends IRContext.Coster[IRContext.WOption[T]]

    Permalink

    Costing rules for SOption methods (see object SOption)

    Costing rules for SOption methods (see object SOption)

    Definition Classes
    CostingRules
  168. trait OptionWrapSpec extends scalan.Library.Node with scalan.Library.WrapSpecBase

    Permalink
    Definition Classes
    WrappersSpec
  169. trait OptionWrapSpecCompanion extends AnyRef

    Permalink
    Definition Classes
    WrappersSpec
  170. case class OrderingCompare[T](ord: ExactOrdering[T]) extends Scalan.BinOp[T, Int] with Product with Serializable

    Permalink
    Definition Classes
    OrderingOps
  171. case class OrderingGT[T](ord: ExactOrdering[T]) extends Scalan.BinOp[T, Boolean] with Product with Serializable

    Permalink
    Definition Classes
    OrderingOps
  172. case class OrderingGTEQ[T](ord: ExactOrdering[T]) extends Scalan.BinOp[T, Boolean] with Product with Serializable

    Permalink
    Definition Classes
    OrderingOps
  173. case class OrderingLT[T](ord: ExactOrdering[T]) extends Scalan.BinOp[T, Boolean] with Product with Serializable

    Permalink
    Definition Classes
    OrderingOps
  174. case class OrderingLTEQ[T](ord: ExactOrdering[T]) extends Scalan.BinOp[T, Boolean] with Product with Serializable

    Permalink
    Definition Classes
    OrderingOps
  175. case class OrderingMax[T](ord: ExactOrdering[T])(implicit evidence$1: Scalan.Elem[T]) extends Scalan.BinOp[T, T] with Product with Serializable

    Permalink
    Definition Classes
    OrderingOps
  176. case class OrderingMin[T](ord: ExactOrdering[T])(implicit evidence$2: Scalan.Elem[T]) extends Scalan.BinOp[T, T] with Product with Serializable

    Permalink
    Definition Classes
    OrderingOps
  177. class OrderingOpsCls[T] extends AnyRef

    Permalink
    Definition Classes
    OrderingOps
  178. sealed abstract class OwnerKind extends AnyRef

    Permalink

    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
  179. type PGraph = ProgramGraph

    Permalink
    Definition Classes
    ProgramGraphs
  180. class PGraphUsages extends DFunc[Int, Buffer[Int]]

    Permalink

    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
  181. trait PairColl[L, R] extends scalan.Library.Node with scalan.Library.Coll[(L, R)]

    Permalink
    Definition Classes
    Colls
    Annotations
    @WithMethodCallRecognizers()
  182. trait PairCollCompanion extends AnyRef

    Permalink
    Definition Classes
    Colls
  183. case class PairElem[A, B](eFst: Scalan.Elem[A], eSnd: Scalan.Elem[B]) extends Scalan.Elem[(A, B)] with Product with Serializable

    Permalink

    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
  184. implicit class PartialRewriter extends Scalan.Rewriter

    Permalink

    Turns partial function into rewriter (i.e.

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

    Definition Classes
    Transforming
  185. abstract class Pass extends AnyRef

    Permalink

    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
  186. case class PassConfig(shouldUnpackTuples: Boolean = false, shouldExtractFields: Boolean = true, constantPropagation: Boolean = true, shouldSlice: Boolean = false) extends Product with Serializable

    Permalink

    Configuration parameters of the Pass descriptor.

    Configuration parameters of the Pass descriptor.

    Definition Classes
    Transforming
  187. case class PerKbCostOf(operId: OperationId, size: IRContext.Ref[Long]) extends IRContext.BaseDef[Int] with Product with Serializable

    Permalink

    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
  188. case class Placeholder[T](eT: Scalan.LElem[T]) extends Scalan.Node with Scalan.Def[T] with Product with Serializable

    Permalink

    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
  189. trait PreHeader extends scalan.SigmaLibrary.Node with scalan.SigmaLibrary.Def[scalan.SigmaLibrary.PreHeader]

    Permalink
    Definition Classes
    SigmaDsl
    Annotations
    @Liftable()
  190. trait PreHeaderCompanion extends AnyRef

    Permalink
    Definition Classes
    SigmaDsl
  191. class PreHeaderCoster extends IRContext.Coster[IRContext.PreHeader]

    Permalink

    Costing rules for SPreHeader methods

    Costing rules for SPreHeader methods

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

    Permalink

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

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

    Definition Classes
    ProgramGraphs
  193. type RColl[T] = Ref[Coll[T]]

    Permalink
    Definition Classes
    RuntimeCosting
  194. type RCosted[A] = Ref[Costed[A]]

    Permalink
    Definition Classes
    Library
  195. type RCostedColl[T] = Ref[CostedColl[T]]

    Permalink
    Definition Classes
    RuntimeCosting
  196. type RCostedCollFunc[A, B] = Ref[CostedCollFunc[A, B]]

    Permalink
    Definition Classes
    RuntimeCosting
  197. implicit class RCostedCollFuncOps[A, B] extends AnyRef

    Permalink
    Definition Classes
    RuntimeCosting
  198. type RCostedOption[T] = Ref[CostedOption[T]]

    Permalink
    Definition Classes
    RuntimeCosting
  199. type RCostedOptionFunc[A, B] = Ref[CostedOptionFunc[A, B]]

    Permalink
    Definition Classes
    RuntimeCosting
  200. type RCostingResult[T] = Ref[((Context) ⇒ T, ((Int, Size[Context])) ⇒ Int)]

    Permalink
    Definition Classes
    IRContext
  201. case class RCostingResultEx[T](costedGraph: IRContext.Ref[(IRContext.Costed[IRContext.Context]) ⇒ IRContext.Costed[T]], costF: IRContext.Ref[((IRContext.Context, (Int, IRContext.Size[IRContext.Context]))) ⇒ Int]) extends Product with Serializable

    Permalink
    Definition Classes
    IRContext
  202. type RFunc[-A, +B] = Ref[(A) ⇒ B]

    Permalink
    Definition Classes
    Base
  203. type RFuncCosted[A, B] = Ref[(Costed[A]) ⇒ Costed[B]]

    Permalink
    Definition Classes
    RuntimeCosting
  204. implicit class RFuncCostedOps[A, B] extends AnyRef

    Permalink
    Definition Classes
    RuntimeCosting
  205. case class RMethodDesc(method: Method) extends Scalan.MethodDesc with Product with Serializable

    Permalink
    Definition Classes
    TypeDescs
  206. type ROption[T] = Ref[WOption[T]]

    Permalink
    Definition Classes
    RuntimeCosting
  207. type RPair[+A, +B] = Ref[(A, B)]

    Permalink
    Definition Classes
    Base
  208. type RSize[Val] = Ref[Size[Val]]

    Permalink
    Definition Classes
    Library
  209. trait RTypeWrapSpec extends scalan.Library.Node with scalan.Library.WrapSpecBase

    Permalink
    Definition Classes
    WrappersSpec
  210. trait RTypeWrapSpecCompanion extends AnyRef

    Permalink
    Definition Classes
    WrappersSpec
  211. abstract class Ref[+T] extends AnyRef

    Permalink

    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

  212. implicit class RepBooleanOps extends AnyRef

    Permalink
    Definition Classes
    LogicalOps
  213. implicit class RepThunkOps[T] extends AnyRef

    Permalink
    Definition Classes
    Thunks
  214. implicit class RepUniversalOps[A] extends AnyRef

    Permalink
    Definition Classes
    UniversalOps
  215. trait ReplColl[A] extends scalan.Library.Node with scalan.Library.Coll[A]

    Permalink
    Definition Classes
    Colls
    Annotations
    @Liftable() @WithMethodCallRecognizers()
  216. trait ReplCollCompanion extends AnyRef

    Permalink
    Definition Classes
    Colls
  217. abstract class Rewriter extends AnyRef

    Permalink
    Definition Classes
    Transforming
  218. type SThunk[T] = () ⇒ T

    Permalink
    Definition Classes
    Thunks
  219. type Schedule = Seq[Sym]

    Permalink

    Type synonim for graph schedules.

    Type synonim for graph schedules.

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

    Permalink

    Alternative representation of schedules using node ids.

    Alternative representation of schedules using node ids.

    Definition Classes
    AstGraphs
  221. case class Second[A, B](pair: Scalan.Ref[(A, B)]) extends Scalan.Node with Scalan.Def[B] with Product with Serializable

    Permalink
    Definition Classes
    Tuples
  222. implicit class SeqExpExtensionsForEmitGraph extends AnyRef

    Permalink
    Definition Classes
    GraphVizExport
  223. trait SigmaContract extends scalan.SigmaLibrary.Node with scalan.SigmaLibrary.Def[scalan.SigmaLibrary.SigmaContract]

    Permalink
    Definition Classes
    SigmaDsl
    Annotations
    @Liftable()
  224. trait SigmaContractCompanion extends AnyRef

    Permalink
    Definition Classes
    SigmaDsl
  225. trait SigmaDslBuilder extends scalan.SigmaLibrary.Node with scalan.SigmaLibrary.Def[scalan.SigmaLibrary.SigmaDslBuilder]

    Permalink
    Definition Classes
    SigmaDsl
    Annotations
    @Liftable() @WithMethodCallRecognizers()
  226. trait SigmaDslBuilderCompanion extends AnyRef

    Permalink
    Definition Classes
    SigmaDsl
  227. class SigmaDslBuilderCoster extends IRContext.Coster[IRContext.SigmaDslBuilder]

    Permalink

    Costing rules for SGlobal methods

    Costing rules for SGlobal methods

    Definition Classes
    CostingRules
  228. trait SigmaProp extends scalan.SigmaLibrary.Node with scalan.SigmaLibrary.Def[scalan.SigmaLibrary.SigmaProp]

    Permalink
    Definition Classes
    SigmaDsl
    Annotations
    @Liftable() @WithMethodCallRecognizers()
  229. trait SigmaPropCompanion extends AnyRef

    Permalink
    Definition Classes
    SigmaDsl
  230. final class SingleRef[+T] extends Scalan.Ref[T]

    Permalink

    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
  231. trait Size[Val] extends scalan.Library.Node with scalan.Library.Def[scalan.Library.Size[Val]]

    Permalink
    Definition Classes
    Sizes
    Annotations
    @Liftable() @WithMethodCallRecognizers()
  232. trait SizeAnyValue extends scalan.SigmaLibrary.Node with scalan.SigmaLibrary.Size[scalan.SigmaLibrary.AnyValue]

    Permalink
    Definition Classes
    CostedObjects
    Annotations
    @Liftable() @WithMethodCallRecognizers()
  233. trait SizeAnyValueCompanion extends AnyRef

    Permalink
    Definition Classes
    CostedObjects
  234. trait SizeBox extends scalan.SigmaLibrary.Node with scalan.SigmaLibrary.Size[scalan.SigmaLibrary.Box]

    Permalink
    Definition Classes
    CostedObjects
    Annotations
    @Liftable() @WithMethodCallRecognizers()
  235. trait SizeBoxCompanion extends AnyRef

    Permalink
    Definition Classes
    CostedObjects
  236. trait SizeBuilder extends scalan.SigmaLibrary.Node with scalan.SigmaLibrary.Def[scalan.SigmaLibrary.SizeBuilder]

    Permalink
    Definition Classes
    CostedObjects
    Annotations
    @Liftable()
  237. trait SizeBuilderCompanion extends AnyRef

    Permalink
    Definition Classes
    CostedObjects
  238. trait SizeColl[Item] extends scalan.Library.Node with scalan.Library.Size[scalan.Library.Coll[Item]]

    Permalink
    Definition Classes
    Sizes
    Annotations
    @Liftable() @WithMethodCallRecognizers()
  239. trait SizeCollCompanion extends AnyRef

    Permalink
    Definition Classes
    Sizes
  240. trait SizeCompanion extends AnyRef

    Permalink
    Definition Classes
    Sizes
  241. trait SizeContext extends scalan.SigmaLibrary.Node with scalan.SigmaLibrary.Size[scalan.SigmaLibrary.Context]

    Permalink
    Definition Classes
    CostedObjects
    Annotations
    @Liftable() @WithMethodCallRecognizers()
  242. trait SizeContextCompanion extends AnyRef

    Permalink
    Definition Classes
    CostedObjects
  243. trait SizeFunc[Env, Arg, Res] extends scalan.Library.Node with scalan.Library.Size[(Arg) ⇒ Res]

    Permalink
    Definition Classes
    Sizes
    Annotations
    @Liftable() @WithMethodCallRecognizers()
  244. trait SizeFuncCompanion extends AnyRef

    Permalink
    Definition Classes
    Sizes
  245. case class SizeOf[T](value: Scalan.Ref[T]) extends Scalan.BaseDef[Long] with Product with Serializable

    Permalink

    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
  246. trait SizeOption[T] extends scalan.Library.Node with scalan.Library.Size[scalan.Library.WOption[T]]

    Permalink
    Definition Classes
    Sizes
    Annotations
    @Liftable() @WithMethodCallRecognizers()
  247. trait SizeOptionCompanion extends AnyRef

    Permalink
    Definition Classes
    Sizes
  248. trait SizePair[L, R] extends scalan.Library.Node with scalan.Library.Size[(L, R)]

    Permalink
    Definition Classes
    Sizes
    Annotations
    @Liftable() @WithMethodCallRecognizers()
  249. trait SizePairCompanion extends AnyRef

    Permalink
    Definition Classes
    Sizes
  250. trait SizePrim[Val] extends scalan.Library.Node with scalan.Library.Size[Val]

    Permalink
    Definition Classes
    Sizes
    Annotations
    @Liftable()
  251. trait SizePrimCompanion extends AnyRef

    Permalink
    Definition Classes
    Sizes
  252. trait SizeSigmaProp extends scalan.SigmaLibrary.Node with scalan.SigmaLibrary.Size[scalan.SigmaLibrary.SigmaProp]

    Permalink
    Definition Classes
    CostedObjects
    Annotations
    @Liftable() @WithMethodCallRecognizers()
  253. trait SizeSigmaPropCompanion extends AnyRef

    Permalink
    Definition Classes
    CostedObjects
  254. trait SizeThunk[A] extends IRContext.Node with IRContext.Size[IRContext.Thunk[A]]

    Permalink
    Definition Classes
    RuntimeCosting
  255. case class SizeThunkCtor[A](sizeBlock: IRContext.Ref[IRContext.Thunk[IRContext.Size[A]]]) extends IRContext.Node with IRContext.SizeThunk[A] with Product with Serializable

    Permalink
    Definition Classes
    RuntimeCosting
  256. trait SpecialPredefWrapSpec extends scalan.Library.Node with scalan.Library.WrapSpecBase

    Permalink
    Definition Classes
    WrappersSpec
  257. trait SpecialPredefWrapSpecCompanion extends AnyRef

    Permalink
    Definition Classes
    WrappersSpec
  258. class StagingException extends RuntimeException

    Permalink
    Definition Classes
    Base
  259. type Subst = HashMap[Sym, Sym]

    Permalink
    Definition Classes
    Functions
  260. case class SumElem[A, B](eLeft: Scalan.Elem[A], eRight: Scalan.Elem[B]) extends Scalan.Elem[Scalan.|[A, B]] with Product with Serializable

    Permalink

    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
  261. type Sym = Ref[_]

    Permalink

    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
  262. type Th[+T] = Ref[Thunk[T]]

    Permalink
    Definition Classes
    Thunks
  263. class ThenIfBranch[T] extends AnyRef

    Permalink

    Defines syntax available after IF (cond) THEN thenp

    Defines syntax available after IF (cond) THEN thenp

    Definition Classes
    IfThenElse
  264. trait Thunk[+A] extends AnyRef

    Permalink
    Definition Classes
    Thunks
  265. class ThunkCompanion extends AnyRef

    Permalink
    Definition Classes
    Thunks
  266. 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

    Permalink
    Definition Classes
    Thunks
  267. class ThunkDef[A] extends Scalan.AstGraph with Scalan.Def[Scalan.Thunk[A]]

    Permalink
    Definition Classes
    Thunks
  268. case class ThunkElem[A](eItem: Scalan.Elem[A]) extends Scalan.EntityElem1[A, Scalan.Thunk[A], Scalan.Thunk] with Product with Serializable

    Permalink
    Definition Classes
    Thunks
  269. case class ThunkForce[A](thunk: Scalan.Ref[Scalan.Thunk[A]]) extends Scalan.Node with Scalan.Def[A] with Product with Serializable

    Permalink
    Definition Classes
    Thunks
  270. class ThunkScope extends AnyRef

    Permalink
    Definition Classes
    Thunks
  271. class ThunkStack extends AnyRef

    Permalink
    Definition Classes
    Thunks
  272. case class ToString[A]() extends Scalan.UnOp[A, String] with Product with Serializable

    Permalink
    Definition Classes
    UniversalOps
  273. abstract class Transformer extends AnyRef

    Permalink

    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
  274. 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

    Permalink
    Definition Classes
    Tuples
  275. implicit class TupleOps2[A, B] extends AnyRef

    Permalink
    Definition Classes
    Tuples
  276. implicit class TupleOps3[A, B, C] extends AnyRef

    Permalink
    Definition Classes
    Tuples
  277. implicit class TupleOps4[A, B, C, D] extends AnyRef

    Permalink
    Definition Classes
    Tuples
  278. implicit class TupleOps5[A, B, C, D, E] extends AnyRef

    Permalink
    Definition Classes
    Tuples
  279. abstract class TypeDesc extends Serializable

    Permalink
    Definition Classes
    TypeDescs
  280. class UnOp[A, R] extends AnyRef

    Permalink
    Definition Classes
    UnBinOps
  281. case class Upcast[From, To](input: Scalan.Ref[From], eTo: Scalan.Elem[To]) extends Scalan.BaseDef[To] with Product with Serializable

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

    Permalink

    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
  283. case class WMethodDesc(wrapSpec: WrapSpec, method: Method) extends Scalan.MethodDesc with Product with Serializable

    Permalink
    Definition Classes
    TypeDescs
  284. trait WOption[A] extends special.wrappers.WrappersModule.Node with special.wrappers.WrappersModule.Def[special.wrappers.WrappersModule.WOption[A]]

    Permalink
    Definition Classes
    WOptions
    Annotations
    @External() @ContainerType() @FunctorType() @Liftable() @WithMethodCallRecognizers()
  285. trait WOptionCompanion extends AnyRef

    Permalink
    Definition Classes
    WOptions
  286. trait WRType[A] extends special.wrappers.WrappersModule.Node with special.wrappers.WrappersModule.Def[special.wrappers.WrappersModule.WRType[A]]

    Permalink
    Definition Classes
    WRTypes
    Annotations
    @External() @Liftable() @WithMethodCallRecognizers()
  287. trait WRTypeCompanion extends AnyRef

    Permalink
    Definition Classes
    WRTypes
  288. trait WSpecialPredef extends special.wrappers.WrappersModule.Node with special.wrappers.WrappersModule.Def[special.wrappers.WrappersModule.WSpecialPredef]

    Permalink
    Definition Classes
    WSpecialPredefs
    Annotations
    @External() @WithMethodCallRecognizers()
  289. trait WSpecialPredefCompanion extends AnyRef

    Permalink
    Definition Classes
    WSpecialPredefs
  290. trait WrapSpecBase extends scalan.Library.Node with scalan.Library.Def[scalan.Library.WrapSpecBase] with WrapSpec

    Permalink
    Definition Classes
    WrappersSpec
  291. trait WrapSpecBaseCompanion extends AnyRef

    Permalink
    Definition Classes
    WrappersSpec
  292. type |[+A, +B] = Either[A, B]

    Permalink
    Definition Classes
    Base

Value Members

  1. def !!!(msg: String, e: Throwable, syms: Ref[_]*): Nothing

    Permalink
    Definition Classes
    Base
  2. def !!!(msg: String, syms: Ref[_]*): Nothing

    Permalink
    Definition Classes
    Base
  3. def !!!: Nothing

    Permalink

    Helper methods to throw errors

    Helper methods to throw errors

    Definition Classes
    Base
  4. final def !=(arg0: Any): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  6. object &&

    Permalink

    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
  7. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  8. def ???(value: Any, syms: Ref[_]*): Nothing

    Permalink
    Definition Classes
    Base
  9. def ???: Nothing

    Permalink
    Definition Classes
    Base
  10. object AllOf

    Permalink
    Definition Classes
    RuntimeCosting
  11. object AllZk

    Permalink
    Definition Classes
    RuntimeCosting
  12. val And: BinOp[Boolean, Boolean]

    Permalink
    Definition Classes
    LogicalOps
  13. val AnyElement: Elem[Any]

    Permalink

    Type descriptor for Any, cannot be used implicitly.

    Type descriptor for Any, cannot be used implicitly.

    Definition Classes
    TypeDescs
  14. object AnyOf

    Permalink
    Definition Classes
    RuntimeCosting
  15. val AnyRefElement: Elem[AnyRef]

    Permalink

    Type descriptor for AnyRef, cannot be used implicitly.

    Type descriptor for AnyRef, cannot be used implicitly.

    Definition Classes
    TypeDescs
  16. object AnyValue extends scalan.SigmaLibrary.EntityObject

    Permalink
    Definition Classes
    SigmaDslDefs
  17. object AnyZk

    Permalink
    Definition Classes
    RuntimeCosting
  18. object AvlTree extends scalan.SigmaLibrary.EntityObject

    Permalink
    Definition Classes
    SigmaDslDefs
  19. object AvlTreeCoster extends IRContext.CostingHandler[IRContext.AvlTree]

    Permalink
    Definition Classes
    CostingRules
  20. val AvlTreeDigestInfo: KnownCollInfo[Byte]

    Permalink
    Definition Classes
    CostingRules
  21. object BigInt extends scalan.SigmaLibrary.EntityObject

    Permalink
    Definition Classes
    SigmaDslDefs
  22. val BinaryXorOp: BinOp[Boolean, Boolean]

    Permalink
    Definition Classes
    LogicalOps
  23. implicit val BooleanElement: Elem[Boolean]

    Permalink
    Definition Classes
    TypeDescs
  24. val BooleanToInt: UnOp[Boolean, Int]

    Permalink
    Definition Classes
    LogicalOps
  25. object Box extends scalan.SigmaLibrary.EntityObject

    Permalink
    Definition Classes
    SigmaDslDefs
  26. val BoxBytesInfo: KnownCollInfo[Byte]

    Permalink
    Definition Classes
    CostingRules
  27. val BoxBytesWithoutRefsInfo: KnownCollInfo[Byte]

    Permalink
    Definition Classes
    CostingRules
  28. object BoxCoster extends IRContext.CostingHandler[IRContext.Box]

    Permalink
    Definition Classes
    CostingRules
  29. val BoxPropositionBytesInfo: KnownCollInfo[Byte]

    Permalink
    Definition Classes
    CostingRules
  30. implicit val ByteElement: Elem[Byte]

    Permalink
    Definition Classes
    TypeDescs
  31. object CCostedBuilder extends scalan.Library.EntityObject

    Permalink
    Definition Classes
    ConcreteCostsDefs
  32. object CCostedColl extends scalan.Library.EntityObject

    Permalink
    Definition Classes
    ConcreteCostsDefs
  33. object CCostedFunc extends scalan.Library.EntityObject

    Permalink
    Definition Classes
    ConcreteCostsDefs
  34. object CCostedOption extends scalan.Library.EntityObject

    Permalink
    Definition Classes
    CostedOptionsDefs
  35. object CCostedPair extends scalan.Library.EntityObject

    Permalink
    Definition Classes
    ConcreteCostsDefs
  36. object CCostedPrim extends scalan.Library.EntityObject

    Permalink
    Definition Classes
    ConcreteCostsDefs
  37. val CM: CollMethods.type

    Permalink
    Definition Classes
    Library
  38. object CSizeColl extends scalan.Library.EntityObject

    Permalink
    Definition Classes
    ConcreteSizesDefs
  39. object CSizeFunc extends scalan.Library.EntityObject

    Permalink
    Definition Classes
    ConcreteSizesDefs
  40. object CSizeOption extends scalan.Library.EntityObject

    Permalink
    Definition Classes
    ConcreteSizesDefs
  41. object CSizePair extends scalan.Library.EntityObject

    Permalink
    Definition Classes
    ConcreteSizesDefs
  42. object CSizePrim extends scalan.Library.EntityObject

    Permalink
    Definition Classes
    ConcreteSizesDefs
  43. implicit val CharElement: Elem[Char]

    Permalink
    Definition Classes
    TypeDescs
  44. object Coll extends scalan.Library.EntityObject

    Permalink
    Definition Classes
    CollsDefs
  45. object CollBuilder extends scalan.Library.EntityObject

    Permalink
    Definition Classes
    CollsDefs
  46. object CollCoster extends IRContext.CostingHandler[IRContext.Coll[Any]]

    Permalink
    Definition Classes
    CostingRules
  47. def Colls: special.collection.CollBuilder

    Permalink
    Definition Classes
    RuntimeCosting
    Annotations
    @inline()
  48. object ConstantLambda

    Permalink

    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
  49. object ConstantThunk

    Permalink
    Definition Classes
    Thunks
  50. object Context extends scalan.SigmaLibrary.EntityObject

    Permalink
    Definition Classes
    SigmaDslDefs
  51. object ContextCoster extends IRContext.CostingHandler[IRContext.Context]

    Permalink
    Definition Classes
    CostingRules
  52. object CostModel extends scalan.SigmaLibrary.EntityObject

    Permalink
    Definition Classes
    SigmaDslDefs
  53. def CostOfDHTuple: Ref[Int]

    Permalink
    Definition Classes
    RuntimeCosting
    Annotations
    @inline()
  54. def CostOfProveDlog: Ref[Int]

    Permalink
    Definition Classes
    RuntimeCosting
    Annotations
    @inline()
  55. object Costed extends scalan.Library.EntityObject

    Permalink
    Definition Classes
    CostsDefs
  56. object CostedBuilder extends scalan.Library.EntityObject

    Permalink
    Definition Classes
    CostsDefs
  57. object CostedColl extends scalan.Library.EntityObject

    Permalink
    Definition Classes
    CostsDefs
  58. object CostedFoldExtractors

    Permalink
    Definition Classes
    RuntimeCosting
  59. object CostedFunc extends scalan.Library.EntityObject

    Permalink
    Definition Classes
    CostsDefs
  60. object CostedOption extends scalan.Library.EntityObject

    Permalink
    Definition Classes
    CostsDefs
  61. object CostedPair extends scalan.Library.EntityObject

    Permalink
    Definition Classes
    CostsDefs
  62. object CostedPrim extends scalan.Library.EntityObject

    Permalink
    Definition Classes
    CostsDefs
  63. object Def

    Permalink
    Definition Classes
    Base
  64. val DefaultMirror: Mirror

    Permalink

    Default Mirror instance which is used in core IR methods.

    Default Mirror instance which is used in core IR methods.

    Definition Classes
    Transforming
  65. implicit val DoubleElement: Elem[Double]

    Permalink
    Definition Classes
    TypeDescs
  66. val DowncastBigIntOpType: SFunc

    Permalink
    Definition Classes
    RuntimeCosting
  67. val EValOfSizeColl: ElemAccessor[Coll[Size[Any]]]

    Permalink
    Definition Classes
    RuntimeCosting
  68. object Elem extends Serializable

    Permalink
    Definition Classes
    TypeDescs
  69. object ElemAccessor

    Permalink
    Definition Classes
    RuntimeCosting
  70. val EmptyTypeArgs: ListMap[String, (TypeDesc, Variance)]

    Permalink

    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
  71. val EncodedGroupElementInfo: KnownCollInfo[Byte]

    Permalink
    Definition Classes
    CostingRules
  72. object EnvRep extends Serializable

    Permalink
    Definition Classes
    TypeDescs
  73. object ExpWithElem

    Permalink
    Definition Classes
    Base
  74. implicit val FloatElement: Elem[Float]

    Permalink
    Definition Classes
    TypeDescs
  75. implicit final def FuncElemExtensions[A, B](eAB: Elem[(A) ⇒ B]): FuncElem[A, B]

    Permalink
    Definition Classes
    TypeDescs
  76. object GroupElement extends scalan.SigmaLibrary.EntityObject

    Permalink
    Definition Classes
    SigmaDslDefs
  77. object GroupElementCoster extends IRContext.CostingHandler[IRContext.GroupElement]

    Permalink

    CostingHandler for SGroupElement, see SGroupElement.coster

    CostingHandler for SGroupElement, see SGroupElement.coster

    Definition Classes
    CostingRules
  78. object HasSigmas

    Permalink
    Definition Classes
    RuntimeCosting
  79. val HashInfo: KnownCollInfo[Byte]

    Permalink
    Definition Classes
    CostingRules
  80. object Header extends scalan.SigmaLibrary.EntityObject

    Permalink
    Definition Classes
    SigmaDslDefs
  81. object HeaderCoster extends IRContext.CostingHandler[IRContext.Header]

    Permalink
    Definition Classes
    CostingRules
  82. val HeadersInfo: KnownCollInfo[Header]

    Permalink
    Definition Classes
    CostingRules
  83. def IF(cond: Ref[Boolean]): IfBranch

    Permalink

    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
  84. object IdentityLambda

    Permalink
    Definition Classes
    Functions
  85. implicit val IntElement: Elem[Int]

    Permalink
    Definition Classes
    TypeDescs
  86. object IntPlusMonoid extends scalan.Library.EntityObject

    Permalink
    Definition Classes
    MonoidInstancesDefs
  87. final def IntZero: Ref[Int]

    Permalink

    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()
  88. object InvokeImpossible extends Scalan.InvokeResult with Product with Serializable

    Permalink

    Invocation is not possible, e.g.

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

    Definition Classes
    MethodCalls
  89. object IsArithOp

    Permalink
    Definition Classes
    TreeBuilding
  90. object IsConstSizeCostedColl

    Permalink
    Definition Classes
    RuntimeCosting
  91. object IsConstantDef

    Permalink
    Definition Classes
    TreeBuilding
  92. object IsContextProperty

    Permalink
    Definition Classes
    TreeBuilding
  93. object IsCostedPair

    Permalink
    Definition Classes
    RuntimeCosting
  94. object IsInternalDef

    Permalink
    Definition Classes
    TreeBuilding
  95. object IsLogicalBinOp

    Permalink
    Definition Classes
    TreeBuilding
  96. object IsLogicalUnOp

    Permalink
    Definition Classes
    TreeBuilding
  97. object IsNumericToInt

    Permalink
    Definition Classes
    Library
  98. object IsNumericToLong

    Permalink
    Definition Classes
    Library
  99. object IsNumericUnOp

    Permalink
    Definition Classes
    TreeBuilding
  100. object IsPair

    Permalink
    Definition Classes
    Tuples
  101. object IsRelationOp

    Permalink
    Definition Classes
    TreeBuilding
  102. object IsTupleFN

    Permalink
    Definition Classes
    Evaluation
  103. object Lambda

    Permalink
    Definition Classes
    Functions
  104. val LazyAnyElement: Lazy[Elem[Any]]

    Permalink

    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
  105. object Liftables

    Permalink

    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
  106. val LongBytesInfo: KnownCollInfo[Byte]

    Permalink
    Definition Classes
    CostingRules
  107. implicit val LongElement: Elem[Long]

    Permalink
    Definition Classes
    TypeDescs
  108. object LongPlusMonoid extends scalan.Library.EntityObject

    Permalink
    Definition Classes
    MonoidInstancesDefs
  109. object LoopOperation

    Permalink
    Definition Classes
    Evaluation
  110. object MapTransformer extends Serializable

    Permalink
    Definition Classes
    Transforming
  111. object Monoid extends scalan.Library.EntityObject

    Permalink
    Definition Classes
    MonoidsDefs
  112. object MonoidBuilder extends scalan.Library.EntityObject

    Permalink
    Definition Classes
    MonoidsDefs
  113. object MonoidBuilderInst extends scalan.Library.EntityObject

    Permalink
    Definition Classes
    MonoidInstancesDefs
  114. object NoOwner extends Scalan.OwnerKind with Product with Serializable

    Permalink
    Definition Classes
    Base
  115. val NoRewriting: Rewriter

    Permalink

    Identity rewriter, i.e.

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

    Definition Classes
    Transforming
  116. val NonceBytesInfo: KnownCollInfo[Byte]

    Permalink
    Definition Classes
    CostingRules
  117. val Not: UnOp[Boolean, Boolean]

    Permalink
    Definition Classes
    LogicalOps
  118. val NothingElement: Elem[Nothing]

    Permalink
    Definition Classes
    TypeDescs
  119. object OptionCoster extends IRContext.CostingHandler[IRContext.WOption[Any]]

    Permalink
    Definition Classes
    CostingRules
  120. object OptionWrapSpec extends scalan.Library.EntityObject

    Permalink
    Definition Classes
    WrappersSpecDefs
  121. val Or: BinOp[Boolean, Boolean]

    Permalink
    Definition Classes
    LogicalOps
  122. implicit def OrderingToOrderingOps[T](x: T)(implicit n: ExactOrdering[T], et: Elem[T]): OrderingOpsCls[T]

    Permalink
    Definition Classes
    OrderingOps
  123. object Pair

    Permalink
    Definition Classes
    Tuples
  124. object PairColl extends scalan.Library.EntityObject

    Permalink
    Definition Classes
    CollsDefs
  125. implicit final def PairElemExtensions[A, B](eAB: Elem[(A, B)]): PairElem[A, B]

    Permalink
    Definition Classes
    TypeDescs
  126. object Pass

    Permalink
    Definition Classes
    Transforming
  127. object PreHeader extends scalan.SigmaLibrary.EntityObject

    Permalink
    Definition Classes
    SigmaDslDefs
  128. object PreHeaderCoster extends IRContext.CostingHandler[IRContext.PreHeader]

    Permalink
    Definition Classes
    CostingRules
  129. object ProgramGraph extends Serializable

    Permalink
    Definition Classes
    ProgramGraphs
  130. def RCostedThunk[A](costedBlock: Ref[Thunk[Costed[A]]], thunkCost: Ref[Int]): Ref[Costed[Thunk[A]]]

    Permalink
    Definition Classes
    RuntimeCosting
  131. def RSizeThunk[A](sizeBlock: Ref[Thunk[Size[A]]]): Ref[Size[Thunk[A]]]

    Permalink
    Definition Classes
    RuntimeCosting
  132. object RTypeWrapSpec extends scalan.Library.EntityObject

    Permalink
    Definition Classes
    WrappersSpecDefs
  133. object ReplColl extends scalan.Library.EntityObject

    Permalink
    Definition Classes
    CollsDefs
  134. def SOME[A](x: Ref[A]): Ref[WOption[A]]

    Permalink
    Definition Classes
    CostingRules
  135. object ScalanOwner extends Scalan.OwnerKind with Product with Serializable

    Permalink
    Definition Classes
    Base
  136. implicit val ShortElement: Elem[Short]

    Permalink
    Definition Classes
    TypeDescs
  137. object SigmaContract extends scalan.SigmaLibrary.EntityObject

    Permalink
    Definition Classes
    SigmaDslDefs
  138. def SigmaDsl: CostingSigmaDslBuilder.type

    Permalink
    Definition Classes
    RuntimeCosting
    Annotations
    @inline()
  139. object SigmaDslBuilder extends scalan.SigmaLibrary.EntityObject

    Permalink
    Definition Classes
    SigmaDslDefs
  140. object SigmaDslBuilderCoster extends IRContext.CostingHandler[IRContext.SigmaDslBuilder]

    Permalink
    Definition Classes
    CostingRules
  141. object SigmaProp extends scalan.SigmaLibrary.EntityObject

    Permalink
    Definition Classes
    SigmaDslDefs
  142. val SigmaPropBytesInfo: KnownCollInfo[Byte]

    Permalink
    Definition Classes
    CostingRules
  143. object Size extends scalan.Library.EntityObject

    Permalink
    Definition Classes
    SizesDefs
  144. object SizeAnyValue extends scalan.SigmaLibrary.EntityObject

    Permalink
    Definition Classes
    CostedObjectsDefs
  145. def SizeAvlTree: RSize[AvlTree]

    Permalink
    Definition Classes
    CostingRules
    Annotations
    @inline()
  146. def SizeBigInt: RSize[BigInt]

    Permalink
    Definition Classes
    CostingRules
    Annotations
    @inline()
  147. def SizeBoolean: RSize[Boolean]

    Permalink
    Definition Classes
    CostingRules
    Annotations
    @inline()
  148. object SizeBox extends scalan.SigmaLibrary.EntityObject

    Permalink
    Definition Classes
    CostedObjectsDefs
  149. object SizeBuilder extends scalan.SigmaLibrary.EntityObject

    Permalink
    Definition Classes
    CostedObjectsDefs
  150. def SizeByte: RSize[Byte]

    Permalink
    Definition Classes
    CostingRules
    Annotations
    @inline()
  151. object SizeColl extends scalan.Library.EntityObject

    Permalink
    Definition Classes
    SizesDefs
  152. object SizeContext extends scalan.SigmaLibrary.EntityObject

    Permalink
    Definition Classes
    CostedObjectsDefs
  153. object SizeFunc extends scalan.Library.EntityObject

    Permalink
    Definition Classes
    SizesDefs
  154. def SizeGroupElement: RSize[GroupElement]

    Permalink
    Definition Classes
    CostingRules
    Annotations
    @inline()
  155. def SizeInt: RSize[Int]

    Permalink
    Definition Classes
    CostingRules
    Annotations
    @inline()
  156. def SizeLong: RSize[Long]

    Permalink
    Definition Classes
    CostingRules
    Annotations
    @inline()
  157. object SizeOption extends scalan.Library.EntityObject

    Permalink
    Definition Classes
    SizesDefs
  158. object SizePair extends scalan.Library.EntityObject

    Permalink
    Definition Classes
    SizesDefs
  159. object SizePrim extends scalan.Library.EntityObject

    Permalink
    Definition Classes
    SizesDefs
  160. def SizeShort: RSize[Short]

    Permalink
    Definition Classes
    CostingRules
    Annotations
    @inline()
  161. object SizeSigmaProp extends scalan.SigmaLibrary.EntityObject

    Permalink
    Definition Classes
    CostedObjectsDefs
  162. def SizeSigmaProposition: RSize[SigmaProp]

    Permalink
    Definition Classes
    CostingRules
    Annotations
    @inline()
  163. def SizeString: RSize[String]

    Permalink
    Definition Classes
    CostingRules
    Annotations
    @inline()
  164. def SizeUnit: RSize[Unit]

    Permalink
    Definition Classes
    CostingRules
    Annotations
    @inline()
  165. def SomeIntZero: Ref[WOption[Int]]

    Permalink
    Definition Classes
    CostingRules
    Annotations
    @inline()
  166. object SpecialPredefWrapSpec extends scalan.Library.EntityObject

    Permalink
    Definition Classes
    WrappersSpecDefs
  167. implicit val StringElement: Elem[String]

    Permalink
    Definition Classes
    TypeDescs
  168. implicit final def SumElemExtensions[A, B](eAB: Elem[|[A, B]]): SumElem[A, B]

    Permalink
    Definition Classes
    TypeDescs
  169. val Thunk: ThunkCompanion

    Permalink
    Definition Classes
    Thunks
  170. object ThunkDef

    Permalink
    Definition Classes
    Thunks
  171. val TokensInfo: KnownCollInfo[(Coll[Byte], Long)]

    Permalink
    Definition Classes
    CostingRules
  172. final def TypeArgs(descs: (String, (TypeDesc, Variance))*): ListMap[String, (TypeDesc, Variance)]

    Permalink
    Definition Classes
    TypeDescs
  173. implicit val UnitElement: Elem[Unit]

    Permalink
    Definition Classes
    TypeDescs
  174. val UpcastBigIntOpType: SFunc

    Permalink
    Definition Classes
    RuntimeCosting
  175. object VeryConstantLambda

    Permalink

    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
  176. val VotesInfo: KnownCollInfo[Byte]

    Permalink
    Definition Classes
    CostingRules
  177. object WOption extends special.wrappers.WrappersModule.EntityObject

    Permalink
    Definition Classes
    WOptionsDefs
  178. object WRType extends special.wrappers.WrappersModule.EntityObject

    Permalink
    Definition Classes
    WRTypesDefs
  179. def WRTypeSigmaProp: Ref[WRType[SigmaProp]]

    Permalink
    Definition Classes
    CostingRules
    Annotations
    @inline()
  180. object WSpecialPredef extends special.wrappers.WrappersModule.EntityObject

    Permalink
    Definition Classes
    WSpecialPredefsDefs
  181. object WrapSpecBase extends scalan.Library.EntityObject

    Permalink
    Definition Classes
    WrappersSpecDefs
  182. val _costOfProveDHTuple: CostOf

    Permalink
    Definition Classes
    RuntimeCosting
  183. val _costOfProveDlogEval: CostOf

    Permalink
    Definition Classes
    RuntimeCosting
  184. var _currentPass: Pass

    Permalink
    Definition Classes
    Transforming
  185. def adaptSigmaBoolean(v: BoolValue): Value[SBoolean.type]

    Permalink
    Definition Classes
    RuntimeCosting
  186. final def allContextDependant(syms: Array[Sym]): Boolean

    Permalink

    Definition Classes
    RuntimeCosting
    Annotations
    @inline()
  187. def allowedOpCodesInCosting: HashSet[OpCodeExtra]

    Permalink

    Returns a set of opCodeEx values (extended op codes) which are allowed in cost function.

    Returns a set of opCodeEx values (extended op codes) which are allowed in cost function. This may include both ErgoTree codes (from OpCodes) and also additional non-ErgoTree codes from OpCodesExtra. Any IR graph node can be uniquely assigned to extended op code value from OpCodes + OpCodesExtra combined range. (See getOpCodeEx)

    Attributes
    protected
    Definition Classes
    Evaluation
  188. def alphaEqual(s1: Sym, s2: Sym): Boolean

    Permalink
    Definition Classes
    Functions
  189. def applyBinOp[A, R](op: BinOp[A, R], lhs: Ref[A], rhs: Ref[A]): Ref[R]

    Permalink
    Definition Classes
    UnBinOps
  190. def applyBinOpLazy[A, R](op: BinOp[A, R], lhs: Ref[A], rhs: Ref[Thunk[A]]): Ref[R]

    Permalink
    Definition Classes
    UnBinOps
  191. def applyUnOp[A, R](op: UnOp[A, R], arg: Ref[A]): Ref[R]

    Permalink
    Definition Classes
    UnBinOps
  192. final def asCosted[T](x: Ref[_]): Ref[Costed[T]]

    Permalink
    Definition Classes
    RuntimeCosting
    Annotations
    @inline()
  193. def asCostedColl[T](collC: RCosted[Coll[T]]): Ref[CostedColl[T]]

    Permalink
    Definition Classes
    CostingRules
  194. def asCostedFunc[A, B](fC: RCosted[(A) ⇒ B]): Ref[CostedFunc[Unit, A, B]]

    Permalink
    Definition Classes
    CostingRules
  195. def asCostedPair[A, B](pC: RCosted[(A, B)]): Ref[CostedPair[A, B]]

    Permalink
    Definition Classes
    CostingRules
  196. final def asElem[T](d: TypeDesc): Elem[T]

    Permalink

    Helper type case method.

    Helper type case method.

    Definition Classes
    TypeDescs
    Annotations
    @inline()
  197. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  198. final def asRep[T](x: Ref[_]): Ref[T]

    Permalink

    Helper to type cast node references.

    Helper to type cast node references.

    Definition Classes
    Base
    Annotations
    @inline()
  199. def asSizeBox(ctx: RSize[Box]): Ref[SizeBox]

    Permalink
    Definition Classes
    CostingRules
  200. def asSizeColl[T](collS: RSize[Coll[T]]): Ref[SizeColl[T]]

    Permalink
    Definition Classes
    CostingRules
  201. def asSizeContext(ctx: RSize[Context]): Ref[SizeContext]

    Permalink
    Definition Classes
    CostingRules
  202. def asSizeOption[T](optS: RSize[WOption[T]]): Ref[SizeOption[T]]

    Permalink
    Definition Classes
    CostingRules
  203. def asSizePair[A, B](s: RSize[(A, B)]): Ref[SizePair[A, B]]

    Permalink
    Definition Classes
    CostingRules
  204. def assertElem(value: Ref[_], elem: Elem[_], hint: ⇒ String): Unit

    Permalink
    Definition Classes
    TypeDescs
  205. def assertElem(value: Ref[_], elem: Elem[_]): Unit

    Permalink
    Definition Classes
    TypeDescs
  206. def assertEqualElems[A](e1: Elem[A], e2: Elem[A], m: ⇒ String): Unit

    Permalink
    Definition Classes
    TypeDescs
  207. def assertValueIdForOpCost[A, B](value: Ref[A], cost: Ref[B]): Unit

    Permalink
    Definition Classes
    UniversalOps
  208. def attachCost[T](source: RCosted[T], accCost: Ref[Int], cost: Ref[Int]): RCosted[T]

    Permalink

    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
  209. def beginPass(pass: Pass): Unit

    Permalink

    Called to setup IR before the new pass is executed.

    Called to setup IR before the new pass is executed.

    Definition Classes
    Transforming
  210. def buildCostedGraph[T](envVals: Map[Any, SValue], tree: SValue): Ref[(Costed[Context]) ⇒ Costed[T]]

    Permalink
    Definition Classes
    RuntimeCosting
  211. def buildTree[T <: SType](f: Ref[(Context) ⇒ Any], constantsProcessing: Option[ConstantStore] = None): Value[T]

    Permalink
    Definition Classes
    TreeBuilding
  212. def buildValue(ctx: Ref[Context], mainG: PGraph, env: DefEnv, s: Sym, defId: Int, constantsProcessing: Option[ConstantStore]): SValue

    Permalink
    Definition Classes
    TreeBuilding
  213. val builder: TransformingSigmaBuilder.type

    Permalink

    Should be specified in the final cake

    Should be specified in the final cake

    Definition Classes
    IRContextRuntimeCosting
  214. val cacheElems: Boolean

    Permalink

    Whether IR type descriptors should be cached.

    Whether IR type descriptors should be cached.

    Definition Classes
    Base
  215. val cachePairs: Boolean

    Permalink

    Whether Tup instances should be cached.

    Whether Tup instances should be cached.

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

    Permalink

    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
  217. def canBeInvoked(d: Def[_], m: Method, args: Array[AnyRef]): Boolean

    Permalink

    Method invocation checker.

    Method invocation checker.

    Attributes
    protected
    Definition Classes
    MethodCalls
  218. def checkCost(ctx: SContext, exp: Value[SType], costF: Ref[(Size[Context]) ⇒ Int], maxCost: Long): Int

    Permalink
    Definition Classes
    IRContext
  219. def checkCostEx(ctx: SContext, exp: Value[SType], costF: Ref[((Int, Size[Context])) ⇒ Int], maxCost: Long): Int

    Permalink
    Definition Classes
    IRContext
  220. def checkCostWithContext(ctx: SContext, exp: Value[SType], costF: Ref[((Context, (Int, Size[Context]))) ⇒ Int], maxCost: Long, initCost: Long): Try[Int]

    Permalink

    TODO soft-fork: Version Based Costing The following is based on ErgoTree.header checks performed during deserialization and described in ErgoTreeSerializer The next version should ensure that v2 node contained both old and new version of casting component (Coster).

    TODO soft-fork: Version Based Costing The following is based on ErgoTree.header checks performed during deserialization and described in ErgoTreeSerializer The next version should ensure that v2 node contained both old and new version of casting component (Coster).

    Then v2 node during chain validation will use version in the ErgoTree header, 1) if version = 1 then execute the old CosterV1 2) if version = 2 then execute CosterV2. Thus v2 protocol will apply the new costing for only new versions.

    With this scheme changing the parameters will not have negative effects, the old scripts will be validated according to the old parameter values, and the new ones according to the new values.

    And taking into account the cleaning of the garbage and cutting the blockchain history, the old scripts at some point will die out of the blockchain.

    Definition Classes
    IRContext
  221. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  222. def clusterColor(g: AstGraph): Option[String]

    Permalink
    Attributes
    protected
    Definition Classes
    GraphVizExport
  223. def clusterSchedule(g: AstGraph): Seq[Sym]

    Permalink
    Attributes
    protected
    Definition Classes
    GraphVizExport
  224. def colBuilder: Ref[CollBuilder]

    Permalink
    Definition Classes
    RuntimeCostingLibrary
    Annotations
    @inline()
  225. def compile[SA, SB, A, B](dataEnv: Map[Sym, AnyRef], f: Ref[(A) ⇒ B], costLimit: Option[Long] = None)(implicit lA: Liftable[SA, A], lB: Liftable[SB, B]): (SA) ⇒ (SB, Int)

    Permalink

    Transform graph IR into the corresponding Scala function

    Transform graph IR into the corresponding Scala function

    f

    simbol of the graph representing function from type A to B

    costLimit

    when Some(value) is specified, then OpCost nodes will be used to accumulate total cost of execution.

    Definition Classes
    Evaluation
  226. def compose[A, B, C](f: Ref[(B) ⇒ C], g: Ref[(A) ⇒ B]): Ref[(A) ⇒ C]

    Permalink

    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
  227. def constCost[T](implicit arg0: Elem[T]): Ref[Int]

    Permalink
    Definition Classes
    RuntimeCosting
  228. def constCost(tpe: SType): Ref[Int]

    Permalink
    Definition Classes
    RuntimeCosting
  229. def constFun[A, B](x: Ref[B])(implicit e: Elem[A]): Ref[(A) ⇒ B]

    Permalink
    Definition Classes
    Functions
  230. def constantTypeSize[T](implicit eT: Elem[T]): RSize[T]

    Permalink
    Definition Classes
    RuntimeCosting
  231. final def container[F[_]](implicit arg0: Cont[F]): Cont[F]

    Permalink
    Definition Classes
    TypeDescs
  232. implicit final def containerElem[F[_], A](implicit arg0: Cont[F], arg1: Elem[A]): Elem[F[A]]

    Permalink
    Definition Classes
    TypeDescs
  233. def cost[T](env: ScriptEnv, typed: SValue): Ref[(Costed[Context]) ⇒ Costed[T]]

    Permalink
    Definition Classes
    RuntimeCosting
  234. def costOf(v: SValue): Ref[Int]

    Permalink
    Definition Classes
    RuntimeCosting
  235. def costOf(method: SMethod): Ref[Int]

    Permalink
    Definition Classes
    RuntimeCosting
  236. def costOf(opName: String, opType: SFunc): Ref[Int]

    Permalink
    Definition Classes
    RuntimeCosting
  237. def costOf(opName: String, opType: SFunc, doEval: Boolean): Ref[Int]

    Permalink
    Definition Classes
    RuntimeCosting
  238. def costOf(costOp: CostOf, doEval: Boolean): Ref[Int]

    Permalink
    Definition Classes
    RuntimeCosting
  239. def costOfSigmaTree(sigmaTree: SigmaBoolean): Int

    Permalink
    Definition Classes
    RuntimeCosting
  240. def costedBooleanTransformer[T](node: BooleanTransformer[_], xs: RCostedColl[T], condition: RCosted[(T) ⇒ WrappedType], calcF: Ref[(T) ⇒ Any], accCost: Ref[Int]): Ref[Costed[_ >: Boolean with SigmaProp]]

    Permalink
    Definition Classes
    RuntimeCosting
  241. def costedBuilder: Ref[CostedBuilder]

    Permalink
    Definition Classes
    RuntimeCostingLibrary
    Annotations
    @inline()
  242. val costedBuilderValue: special.collection.CostedBuilder

    Permalink
    Definition Classes
    IRContextEvaluation
  243. def costedGlobal: RCosted[SigmaDslBuilder]

    Permalink
    Definition Classes
    RuntimeCosting
    Annotations
    @inline()
  244. def costedPrimToColl[A](coll: Ref[Coll[A]], c: Ref[Int], s: RSize[Coll[A]]): RCostedColl[A]

    Permalink
    Definition Classes
    RuntimeCosting
  245. def costedPrimToOption[A](opt: Ref[WOption[A]], c: Ref[Int], s: RSize[WOption[A]]): RCostedOption[A]

    Permalink
    Definition Classes
    RuntimeCosting
  246. def costedPrimToPair[A, B](p: Ref[(A, B)], c: Ref[Int], s: RSize[(A, B)]): Ref[CCostedPair[A, B]]

    Permalink
    Definition Classes
    RuntimeCosting
  247. def createDefinition[T](optScope: Nullable[ThunkScope], s: Ref[T], d: Def[T]): Ref[T]

    Permalink

    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

  248. def currentPass: Pass

    Permalink

    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
  249. val debugModeSanityChecks: Boolean

    Permalink

    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
  250. def defCount: Int

    Permalink

    Returns a number of definitions added to this IR context.

    Returns a number of definitions added to this IR context.

    Definition Classes
    Base
  251. def def_unapply[T](e: Ref[T]): Nullable[Def[T]]

    Permalink
    Definition Classes
    Base
  252. def defaultGraphVizConfig: GraphVizConfig

    Permalink
    Definition Classes
    GraphVizExport
  253. def delayInvoke: Nothing

    Permalink
    Definition Classes
    MethodCalls
  254. def doCosting(env: ScriptEnv, typed: SValue, okRemoveIsProven: Boolean): RCostingResult[Any]

    Permalink
    Definition Classes
    IRContext
  255. def doCosting[T](env: ScriptEnv, typed: SValue): RCostingResult[T]

    Permalink
    Definition Classes
    IRContext
  256. def doCostingEx(env: ScriptEnv, typed: SValue, okRemoveIsProven: Boolean): RCostingResultEx[Any]

    Permalink
    Definition Classes
    IRContext
  257. def downcast[To](value: Ref[_])(implicit arg0: Elem[To]): Ref[To]

    Permalink
    Definition Classes
    UniversalOps
  258. val eCollByte: Elem[Coll[Byte]]

    Permalink
    Definition Classes
    RuntimeCosting
  259. val ePairOfCollByte: Elem[(Coll[Byte], Coll[Byte])]

    Permalink
    Definition Classes
    RuntimeCosting
  260. val elemCache: AVHashMap[Class[_], ElemCacheEntry]

    Permalink
    Attributes
    protected
    Definition Classes
    TypeDescs
  261. def elemToCostedElem[T](implicit e: Elem[T]): Elem[Costed[T]]

    Permalink

    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
  262. def elemToExactIntegral[T](e: Elem[T]): ExactIntegral[T]

    Permalink
    Definition Classes
    RuntimeCosting
  263. def elemToExactNumeric[T](e: Elem[T]): ExactNumeric[T]

    Permalink
    Definition Classes
    RuntimeCosting
  264. def elemToExactOrdering[T](e: Elem[T]): ExactOrdering[T]

    Permalink
    Definition Classes
    RuntimeCosting
  265. def elemToSType[T](e: Elem[T]): SType

    Permalink
    Definition Classes
    RuntimeCosting
  266. final def element[A](implicit ea: Elem[A]): Elem[A]

    Permalink
    Definition Classes
    TypeDescs
  267. def emitDepGraph(exceptionOrGraph: Either[Throwable, AstGraph], directory: File, fileName: String)(implicit config: GraphVizConfig): Option[GraphFile]

    Permalink
    Definition Classes
    GraphVizExport
  268. def emitDepGraph(graph: AstGraph, directory: File, fileName: String)(implicit config: GraphVizConfig): Option[GraphFile]

    Permalink
    Definition Classes
    GraphVizExport
  269. def emitDepGraph(ss: Seq[Sym], directory: File, fileName: String)(implicit config: GraphVizConfig): Option[GraphFile]

    Permalink
    Definition Classes
    GraphVizExport
  270. def emitDepGraph(start: Sym, directory: File, fileName: String)(implicit config: GraphVizConfig): Option[GraphFile]

    Permalink
    Definition Classes
    GraphVizExport
  271. def emitDepGraph(d: Def[_], directory: File, fileName: String)(implicit config: GraphVizConfig): Option[GraphFile]

    Permalink
    Definition Classes
    GraphVizExport
  272. def emitDot(dotText: String, directory: File, fileName: String)(implicit config: GraphVizConfig): Option[GraphFile]

    Permalink
    Definition Classes
    GraphVizExport
  273. def emitExceptionGraph(e: Throwable, directory: File, fileName: String)(implicit config: GraphVizConfig): Option[GraphFile]

    Permalink
    Definition Classes
    GraphVizExport
  274. def emptyMatchSubst: Subst

    Permalink
    Definition Classes
    Functions
    Annotations
    @inline()
  275. def endPass(pass: Pass): Unit

    Permalink

    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
  276. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  277. def equalValues[A](x: Any, y: Any)(implicit eA: Elem[A]): Boolean

    Permalink
    Attributes
    protected
    Definition Classes
    Equal
  278. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  279. def error(msg: String, srcCtx: Option[SourceContext]): Nothing

    Permalink
    Definition Classes
    RuntimeCosting
  280. def error(msg: String): Nothing

    Permalink
    Definition Classes
    RuntimeCosting
  281. def evalNode[T <: SType](ctx: RCosted[Context], env: CostingEnv, node: Value[T]): RCosted[CompiletimeCosting.evalNode.T.WrappedType]

    Permalink
    Definition Classes
    CompiletimeCostingRuntimeCosting
  282. implicit def extendCostedCollElem[A](elem: Elem[CostedColl[A]]): CostedCollElem[A, CostedColl[A]]

    Permalink
    Definition Classes
    RuntimeCosting
  283. implicit def extendCostedElem[A](elem: Elem[Costed[A]]): CostedElem[A, Costed[A]]

    Permalink
    Definition Classes
    RuntimeCosting
  284. implicit def extendCostedFuncElem[E, A, B](e: Elem[CostedFunc[E, A, B]]): CostedFuncElem[E, A, B, _]

    Permalink
    Definition Classes
    RuntimeCosting
  285. implicit def extendSizeElem[A](elem: Elem[Size[A]]): SizeElem[A, Size[A]]

    Permalink
    Definition Classes
    RuntimeCosting
  286. implicit def extendThunkElement[T](elem: Elem[Thunk[T]]): ThunkElem[T]

    Permalink
    Definition Classes
    Thunks
  287. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  288. def findGlobalDefinition[T](d: Def[T]): Ref[T]

    Permalink

    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
  289. def findIsProven[T](f: Ref[(Context) ⇒ T]): Option[Sym]

    Permalink

    Finds SigmaProp.isProven method calls in the given Lambda f

    Finds SigmaProp.isProven method calls in the given Lambda f

    Definition Classes
    Evaluation
  290. def findOrCreateDefinition[T](d: Def[T], newSym: ⇒ Ref[T]): Ref[T]

    Permalink

    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
  291. def forceThunkByMirror[A](thunk: Th[A], subst: MapTransformer = MapTransformer.empty()): Ref[A]

    Permalink
    Definition Classes
    Thunks
  292. def forceThunkDefByMirror[A](th: ThunkDef[A], subst: MapTransformer = MapTransformer.empty()): Ref[A]

    Permalink
    Definition Classes
    Thunks
  293. def formatConst(x: Any): String

    Permalink
    Attributes
    protected
    Definition Classes
    GraphVizExport
  294. def formatDef(d: Def[_])(implicit config: GraphVizConfig): String

    Permalink

    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
  295. def formatMetadata(s: Sym): List[String]

    Permalink
    Attributes
    protected
    Definition Classes
    GraphVizExport
  296. final def freshId: Int

    Permalink

    Get next fresh node id

    Get next fresh node id

    Definition Classes
    Base
    Annotations
    @inline()
  297. final def freshSym[T](d: Def[T]): Ref[T]

    Permalink

    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()
  298. implicit final def fun[A, B](f: (Ref[A]) ⇒ Ref[B])(implicit eA: LElem[A]): Ref[(A) ⇒ B]

    Permalink

    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
  299. implicit final def fun2[A, B, C](f: (Ref[A], Ref[B]) ⇒ Ref[C])(implicit eA: LElem[A], eB: LElem[B]): Ref[((A, B)) ⇒ C]

    Permalink
    Definition Classes
    Functions
  300. implicit final def funcElement[A, B](implicit ea: Elem[A], eb: Elem[B]): Elem[(A) ⇒ B]

    Permalink
    Definition Classes
    TypeDescs
  301. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  302. def getDataEnv: DataEnv

    Permalink

    Constructs a new data environment for evaluation of graphs using compile method.

    Constructs a new data environment for evaluation of graphs using compile method. This environment contains global variables.

    Definition Classes
    Evaluation
  303. def getEntityObject(name: String): Nullable[EntityObject]

    Permalink
    Definition Classes
    Base
    Annotations
    @inline()
  304. def getFromEnv(dataEnv: DataEnv, s: Sym): Any

    Permalink
    Definition Classes
    Evaluation
  305. def getOpCodeEx(d: Def[_]): OpCodeExtra

    Permalink

    Returns extended op code assigned to the given IR graph node.

    Returns extended op code assigned to the given IR graph node.

    Definition Classes
    Evaluation
  306. def getOwnerKind(constructor: Constructor[_]): OwnerKind

    Permalink

    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
  307. def getRegisterCost: Ref[Int]

    Permalink
    Definition Classes
    CostingRules
    Annotations
    @inline()
  308. final def getSourceValues(dataEnv: DataEnv, forWrapper: Boolean, stagedValues: AnyRef*): Seq[AnyRef]

    Permalink
    Definition Classes
    TypeDescs
  309. final def getSym(id: Int): Sym

    Permalink

    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()
  310. implicit def groupElementToECPoint(g: special.sigma.GroupElement): EcPointType

    Permalink
    Attributes
    protected
    Definition Classes
    RuntimeCosting
  311. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  312. def identityFun[A](implicit e: Elem[A]): Ref[(A) ⇒ A]

    Permalink
    Definition Classes
    Functions
  313. def ifThenElseLazy[T](cond: Ref[Boolean], thenp: ⇒ Ref[T], elsep: ⇒ Ref[T]): Ref[T]

    Permalink

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

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

    Definition Classes
    IfThenElse
  314. def intPlusMonoid: Ref[Monoid[Int]]

    Permalink
    Definition Classes
    RuntimeCostingLibrary
    Annotations
    @inline()
  315. val intPlusMonoidValue: special.collection.IntPlusMonoid

    Permalink
    Definition Classes
    Library
  316. def integral[T](implicit arg0: ExactIntegral[T]): ExactIntegral[T]

    Permalink
    Definition Classes
    NumericOps
  317. def invokeUnlifted(e: Elem[_], mc: MethodCall, dataEnv: DataEnv): AnyRef

    Permalink

    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
  318. def isAllowedOpCodeInCosting(opCode: OpCodeExtra): Boolean

    Permalink
    Definition Classes
    Evaluation
  319. final def isContextDependant(sym: Sym): Boolean

    Permalink
    Definition Classes
    RuntimeCosting
    Annotations
    @inline()
  320. def isCostingProcess: Boolean

    Permalink
    Definition Classes
    RuntimeCosting
  321. var isInlineThunksOnForce: Boolean

    Permalink
    Definition Classes
    Thunks
  322. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  323. def isInvokeEnabled(d: Def[_], m: Method): Boolean

    Permalink

    Method invocation enabler.

    Method invocation enabler.

    returns

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

    Definition Classes
    MethodCalls
  324. final def isOne[T](x: T, n: ExactNumeric[T]): Boolean

    Permalink
    Definition Classes
    NumericOps
    Annotations
    @inline()
  325. def isOperationNode(v: SValue): Boolean

    Permalink
    Attributes
    protected
    Definition Classes
    RuntimeCosting
  326. def isSupportedIndexExpression(i: Ref[Int]): Boolean

    Permalink

    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

  327. final def isZero[T](x: T, n: ExactNumeric[T]): Boolean

    Permalink
    Definition Classes
    NumericOps
    Annotations
    @inline()
  328. var keepOriginalFunc: Boolean

    Permalink

    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
  329. var lambdaStack: List[Lambda[_, _]]

    Permalink
    Definition Classes
    Functions
  330. implicit def liftElem[T](eT: Elem[T]): Ref[WRType[T]]

    Permalink
    Definition Classes
    Library
  331. implicit def liftToRep[A](x: A)(implicit arg0: Elem[A]): Ref[A]

    Permalink
    Definition Classes
    Base
    Annotations
    @inline()
  332. def liftableFromElem[WT](eWT: Elem[WT]): Liftable[_, WT]

    Permalink
    Definition Classes
    RuntimeCosting
  333. implicit def liftableThunk[ST, T](implicit lT: Liftable[ST, T]): Liftable[SThunk[ST], Thunk[T]]

    Permalink
    Definition Classes
    Thunks
  334. def logWarn(msg: ⇒ String): Unit

    Permalink

    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
  335. def longPlusMonoid: Ref[Monoid[Long]]

    Permalink
    Definition Classes
    RuntimeCostingLibrary
    Annotations
    @inline()
  336. val longPlusMonoidValue: special.collection.LongPlusMonoid

    Permalink
    Definition Classes
    Library
  337. def matchAny(a1: Any, a2: Any, allowInexactMatch: Boolean, subst: Subst): Nullable[Subst]

    Permalink
    Attributes
    protected
    Definition Classes
    Functions
  338. def matchDefs(d1: Def[_], d2: Def[_], allowInexactMatch: Boolean, subst: Subst): Nullable[Subst]

    Permalink
    Attributes
    protected
    Definition Classes
    ThunksFunctions
  339. def matchExps(s1: Sym, s2: Sym, allowInexactMatch: Boolean, subst: Subst): Nullable[Subst]

    Permalink
    Attributes
    protected
    Definition Classes
    Functions
  340. def matchIterators(i1: Iterator[_], i2: Iterator[_], allowInexactMatch: Boolean, subst: Subst): Nullable[Subst]

    Permalink
    Attributes
    protected
    Definition Classes
    Functions
  341. def mirrorApply[A, B](lam: Lambda[A, B], s: Ref[A]): Ref[B]

    Permalink
    Definition Classes
    Functions
  342. def mkApply[A, B](f: Ref[(A) ⇒ B], x: Ref[A]): Ref[B]

    Permalink
    Definition Classes
    Functions
  343. def mkCostedColl[T](col: Ref[Coll[T]], len: Ref[Int], cost: Ref[Int]): Ref[CostedColl[T]]

    Permalink

    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
  344. def mkCostedColl[T](values: RColl[T], costs: RColl[Int], sizes: RColl[Size[T]], valuesCost: Ref[Int]): RCostedColl[T]

    Permalink
    Definition Classes
    CostingRules
  345. def mkCostedFunc[A, R](f: RFuncCosted[A, R], cost: Ref[Int], codeSize: Ref[Long], eArg: Elem[A], eRes: Elem[R]): Ref[CostedFunc[Unit, A, R]]

    Permalink
    Definition Classes
    CostingRules
  346. def mkCostedOption[T](value: ROption[T], costOpt: ROption[Int], sizeOpt: ROption[Size[T]], accCost: Ref[Int]): RCostedOption[T]

    Permalink
    Definition Classes
    CostingRules
  347. def mkLambda[A, B, C](f: (Ref[A], Ref[B]) ⇒ Ref[C])(implicit eA: LElem[A], eB: LElem[B]): Ref[((A, B)) ⇒ C]

    Permalink
    Definition Classes
    Functions
  348. def mkLambda[A, B, C](f: (Ref[A]) ⇒ (Ref[B]) ⇒ Ref[C])(implicit eA: LElem[A], eB: Elem[B]): Ref[(A) ⇒ (B) ⇒ C]

    Permalink
    Definition Classes
    Functions
  349. def mkLambda[A, B](f: (Ref[A]) ⇒ Ref[B], mayInline: Boolean, alphaEquality: Boolean, keepOriginalFunc: Boolean)(implicit eA: LElem[A]): Ref[(A) ⇒ B]

    Permalink
    Definition Classes
    Functions
  350. def mkMethodCall(receiver: Sym, method: Method, args: Seq[AnyRef], neverInvoke: Boolean, isAdapterCall: Boolean, resultElem: Elem[_]): Sym

    Permalink

    Creates new MethodCall node and returns its node ref.

    Creates new MethodCall node and returns its node ref.

    Definition Classes
    MethodCalls
  351. def mkNormalizedOpCost(costedValue: Sym, costs: Seq[Ref[Int]]): Ref[Int]

    Permalink
    Definition Classes
    RuntimeCosting
  352. def mkSizeColl[T](len: Ref[Int], sItem: RSize[T]): Ref[Size[Coll[T]]]

    Permalink
    Definition Classes
    CostingRules
  353. def mkSizeColl[T](len: Ref[Int])(implicit arg0: Elem[T]): Ref[Size[Coll[T]]]

    Permalink
    Definition Classes
    CostingRules
  354. def mkSizeOption[T](size: RSize[T]): Ref[Size[WOption[T]]]

    Permalink
    Definition Classes
    CostingRules
  355. def mkSizePair[A, B](l: RSize[A], r: RSize[B]): Ref[Size[(A, B)]]

    Permalink
    Definition Classes
    CostingRules
  356. def monoidBuilder: Ref[MonoidBuilder]

    Permalink
    Definition Classes
    RuntimeCosting
    Annotations
    @inline()
  357. val monoidBuilderValue: special.collection.MonoidBuilder

    Permalink
    Definition Classes
    IRContextEvaluation
  358. def msgCostLimitError(cost: Long, limit: Long): String

    Permalink
    Definition Classes
    Evaluation
  359. val nInitialDefs: Int

    Permalink
    Definition Classes
    Base
  360. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  361. def newObjEx[A](args: Any*)(implicit eA: Elem[A]): Ref[A]

    Permalink

    Creates new NewObject node and returns its node ref.

    Creates new NewObject node and returns its node ref.

    Definition Classes
    MethodCalls
  362. lazy val noConstPropagationPass: DefaultPass

    Permalink

    Pass configuration which is used to turn-off constant propagation.

    Pass configuration which is used to turn-off constant propagation.

    Definition Classes
    IRContext
    See also

    beginPass(noCostPropagationPass)

  363. def nodeColor(td: TypeDesc, d: Def[_])(implicit config: GraphVizConfig): String

    Permalink
    Attributes
    protected
    Definition Classes
    ThunksGraphVizExport
  364. def nodeColor(td: TypeDesc): String

    Permalink
    Attributes
    protected
    Definition Classes
    GraphVizExport
  365. final def nodeLabel(parts: String*)(implicit config: GraphVizConfig): String

    Permalink
    Attributes
    protected
    Definition Classes
    GraphVizExport
  366. final def notify(): Unit

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

    Permalink
    Definition Classes
    AnyRef
  368. def numeric[T](implicit arg0: ExactNumeric[T]): ExactNumeric[T]

    Permalink
    Definition Classes
    NumericOps
  369. val okMeasureOperationTime: Boolean

    Permalink
    Definition Classes
    RuntimeCosting
  370. val okPrintEvaluatedEntries: Boolean

    Permalink

    Whether to print values of evaluated nodes of the graph.

    Whether to print values of evaluated nodes of the graph.

    Definition Classes
    RuntimeCosting
  371. def okRegisterModules: Boolean

    Permalink

    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
  372. def onEvaluatedGraphNode(env: DataEnv, sym: Sym, value: AnyRef): Unit

    Permalink
    Definition Classes
    Evaluation
  373. def onReset(): Unit

    Permalink

    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
  374. def onTreeNodeCosted[T <: SType](ctx: RCosted[Context], env: CostingEnv, node: Value[T], costed: RCosted[RuntimeCosting.onTreeNodeCosted.T.WrappedType]): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    RuntimeCosting
  375. def opCost(costedValue: Sym, args: Seq[Ref[Int]], opCost: Ref[Int]): Ref[Int]

    Permalink
    Definition Classes
    UniversalOps
  376. def opcodeToBinOp[A](opCode: Byte, eA: Elem[A]): BinOp[A, _]

    Permalink
    Definition Classes
    RuntimeCosting
  377. def opcodeToEndoBinOp[T](opCode: Byte, eT: Elem[T]): EndoBinOp[T]

    Permalink
    Definition Classes
    RuntimeCosting
  378. var outputComputedResults: Boolean

    Permalink

    Whether to output the computed results of the script.

    Whether to output the computed results of the script.

    Definition Classes
    RuntimeCosting
  379. var outputEstimatedCost: Boolean

    Permalink

    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
  380. implicit final def pairElement[A, B](implicit ea: Elem[A], eb: Elem[B]): Elem[(A, B)]

    Permalink
    Definition Classes
    TypeDescs
  381. def partsIterator(td: TypeDesc): TraversableOnce[TypeDesc] { def seq: scala.collection.TraversableOnce[CompiletimeIRContext.this.TypeDesc]{def seq: scala.collection.TraversableOnce[CompiletimeIRContext.this.TypeDesc]{def seq: scala.collection.TraversableOnce[CompiletimeIRContext.this.TypeDesc]}} }

    Permalink
    Attributes
    protected
    Definition Classes
    GraphVizExport
  382. def patternMatch(s1: Sym, s2: Sym): Nullable[Subst]

    Permalink
    Definition Classes
    Functions
  383. def perItemCostOf(node: SValue, arrLength: Ref[Int]): Ref[Int]

    Permalink
    Definition Classes
    RuntimeCosting
  384. def perKbCostOf(node: SValue, dataSize: Ref[Long]): Ref[Int]

    Permalink
    Definition Classes
    RuntimeCosting
  385. def perKbCostOf(opName: String, opType: SFunc, dataSize: Ref[Long]): Ref[Int]

    Permalink
    Definition Classes
    RuntimeCosting
  386. def perKbCostOf(method: SMethod, dataSize: Ref[Long]): Ref[Int]

    Permalink
    Definition Classes
    RuntimeCosting
  387. def placeholder[T](implicit eT: LElem[T]): Ref[T]

    Permalink
    Definition Classes
    Base
    Annotations
    @inline()
  388. def printEnvEntry(sym: Sym, value: AnyRef): String

    Permalink
    Attributes
    protected
    Definition Classes
    Evaluation
  389. def propagateBinOp[T, R](op: BinOp[T, R], x: Ref[T], y: Ref[T]): Ref[R]

    Permalink

    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
  390. def propagateUnOp[T, R](op: UnOp[T, R], x: Ref[T]): Ref[R]

    Permalink

    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
  391. def registerEntityObject(name: String, obj: EntityObject): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Base
  392. def registerModule(moduleInfo: ModuleInfo): Unit

    Permalink

    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
  393. implicit def reifyObject[A](obj: Def[A]): Ref[A]

    Permalink

    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
  394. def removeIsProven[T, R](f: (Ref[T]) ⇒ Ref[Any]): (Ref[T]) ⇒ Ref[Any]

    Permalink
    Definition Classes
    RuntimeCosting
  395. implicit def repOrderingToOrderingOps[T](x: Ref[T])(implicit n: ExactOrdering[T]): OrderingOpsCls[T]

    Permalink
    Definition Classes
    OrderingOps
  396. implicit def repToThunk[A](block: Ref[A]): Ref[Thunk[A]]

    Permalink
    Definition Classes
    Thunks
  397. def resetContext(): Unit

    Permalink
    Definition Classes
    CostedObjectsDefsBase
  398. final def rewriteBinOp[A, R](op: BinOp[A, R], x: Ref[A], y: Ref[A]): Ref[_]

    Permalink

    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
  399. final def rewriteBoolConsts(lhs: Sym, rhs: Sym, ifTrue: (Sym) ⇒ Sym, ifFalse: (Sym) ⇒ Sym, ifEqual: (Sym) ⇒ Sym, ifNegated: (Sym) ⇒ Sym): Sym

    Permalink
    Definition Classes
    LogicalOps
    Annotations
    @inline()
  400. def rewriteDef[T](d: Def[T]): Ref[_]

    Permalink

    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
  401. def rewriteNonInvokableMethodCall(mc: MethodCall): Ref[_]

    Permalink

    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
  402. final def rewriteUnOp[A, R](op: UnOp[A, R], x: Ref[A]): Ref[_]

    Permalink

    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
  403. var ruleStack: List[CostingRuleStat]

    Permalink
    Definition Classes
    RuntimeCosting
  404. var saveGraphsInFile: Boolean

    Permalink

    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
  405. def selectFieldCost: Ref[Int]

    Permalink
    Definition Classes
    CostingRules
    Annotations
    @inline()
  406. def shouldEmitCluster(g: AstGraph): Boolean

    Permalink
    Attributes
    protected
    Definition Classes
    GraphVizExport
  407. def showGraphs(graph: AstGraph)(implicit config: GraphVizConfig): Unit

    Permalink
    Definition Classes
    GraphVizExport
  408. def showGraphs(roots: Sym*)(implicit config: GraphVizConfig): Unit

    Permalink
    Definition Classes
    GraphVizExport
  409. def sigmaDslBuilder: Ref[SigmaDslBuilder]

    Permalink
    Definition Classes
    RuntimeCostingSigmaLibrary
    Annotations
    @inline()
  410. val sigmaDslBuilderValue: CostingSigmaDslBuilder.type

    Permalink
    Definition Classes
    IRContextEvaluation
  411. implicit lazy val sizeAnyElement: Elem[Size[Any]]

    Permalink
    Definition Classes
    SigmaLibrary
  412. def sizeOf[T](value: Ref[T]): Ref[Long]

    Permalink
    Definition Classes
    UniversalOps
  413. def sizeOfData[ST, T](x: ST)(implicit lT: Liftable[ST, T]): RSize[T]

    Permalink
    Definition Classes
    RuntimeCosting
  414. def specialPredef: Ref[WSpecialPredefCompanionCtor]

    Permalink
    Definition Classes
    Library
  415. def splitCostedCollFunc[A, B](f: RCostedCollFunc[A, B]): (Ref[(A) ⇒ Coll[B]], Ref[((Int, Size[A])) ⇒ (Coll[Int], Int)], Ref[(Size[A]) ⇒ Coll[Size[B]]])

    Permalink
    Definition Classes
    RuntimeCosting
  416. def splitCostedFunc[A, B](f: RFuncCosted[A, B]): (Ref[(A) ⇒ B], Ref[((Int, Size[A])) ⇒ Int], Ref[(Size[A]) ⇒ Size[B]])

    Permalink
    Definition Classes
    RuntimeCosting
  417. def splitCostedFunc2[A, B](f: RFuncCosted[A, B], okRemoveIsValid: Boolean): (Ref[(A) ⇒ Any], Ref[((Int, Size[A])) ⇒ Int])

    Permalink
    Definition Classes
    RuntimeCosting
  418. def splitCostedFunc2[A, B](f: RFuncCosted[A, B]): (Ref[(A) ⇒ B], Ref[((Int, Size[A])) ⇒ Int])

    Permalink
    Definition Classes
    RuntimeCosting
  419. def stagingExceptionMessage(message: String, syms: Seq[Ref[_]]): String

    Permalink

    Prettyprint exception message

    Prettyprint exception message

    Attributes
    protected
    Definition Classes
    Base
  420. def stypeToElem[T <: SType](t: T): Elem[RuntimeCosting.stypeToElem.T.WrappedType]

    Permalink
    Definition Classes
    RuntimeCosting
  421. var substFromCostTable: Boolean

    Permalink

    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
  422. implicit final def sumElement[A, B](implicit ea: Elem[A], eb: Elem[B]): Elem[|[A, B]]

    Permalink
    Definition Classes
    TypeDescs
  423. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  424. def throwInvocationException(whatFailed: String, cause: Throwable, receiver: Sym, m: Method, args: Seq[Any]): Nothing

    Permalink
    Definition Classes
    MethodCalls
  425. implicit val thunkCont: Cont[Thunk]

    Permalink
    Definition Classes
    Thunks
  426. implicit def thunkElement[T](implicit eItem: Elem[T]): Elem[Thunk[T]]

    Permalink
    Definition Classes
    Thunks
  427. val thunkStack: ThunkStack

    Permalink
    Attributes
    protected
    Definition Classes
    Thunks
  428. def thunk_create[A](block: ⇒ Ref[A]): Ref[Thunk[A]]

    Permalink
    Definition Classes
    Thunks
  429. def thunk_force[A](t: Th[A]): Ref[A]

    Permalink
    Definition Classes
    Thunks
  430. def thunk_map[A, B](t: Th[A], f: Ref[(A) ⇒ B]): Th[B]

    Permalink
    Definition Classes
    Thunks
  431. def thunk_map1[A, B](t: Th[A], f: (Ref[A]) ⇒ Ref[B]): Th[B]

    Permalink
    Definition Classes
    Thunks
  432. def toExp[T](d: Def[T], newSym: ⇒ Ref[T]): Ref[T]

    Permalink

    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
  433. implicit final def toLazyElem[A](implicit eA: Elem[A]): LElem[A]

    Permalink
    Definition Classes
    TypeDescs
  434. def toRep[A](x: A)(implicit eA: Elem[A]): Ref[A]

    Permalink

    Lifting of data values to IR nodes.

    Lifting of data values to IR nodes.

    Definition Classes
    Base
  435. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  436. def transformProductParam(x: Any, t: Transformer): Any

    Permalink

    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
  437. def tryCast[To](x: Ref[Def[_]])(implicit eTo: Elem[To]): Ref[To]

    Permalink
    Definition Classes
    CostingRules
  438. def tryConvert[From, To](eFrom: Elem[From], eTo: Elem[To], x: Ref[Def[_]], conv: Ref[(From) ⇒ To]): Ref[To]

    Permalink
    Definition Classes
    UniversalOps
  439. val tuplesCache: AVHashMap[Ref[_], (Ref[_], Ref[_])]

    Permalink
    Definition Classes
    Tuples
  440. def typeSize[T](implicit arg0: Elem[T]): Ref[Long]

    Permalink
    Definition Classes
    RuntimeCosting
  441. def typeSize(tpe: SType): Ref[Long]

    Permalink
    Definition Classes
    RuntimeCosting
  442. def unfoldLambda[A, B](f: Ref[(A) ⇒ B], x: Ref[A]): Ref[B]

    Permalink
    Definition Classes
    Functions
  443. def unfoldLambda[A, B](lam: Lambda[A, B], x: Ref[A]): Ref[B]

    Permalink
    Definition Classes
    Functions
  444. var unfoldWithOriginalFunc: Boolean

    Permalink

    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
  445. def unrefDelegate[T <: AnyRef](x: Ref[T])(implicit ct: ClassTag[T]): T

    Permalink

    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
  446. def unzipPair[A, B](p: Ref[(A, B)]): (Ref[A], Ref[B])

    Permalink
    Definition Classes
    Tuples
  447. def upcast[To](value: Ref[_])(implicit arg0: Elem[To]): Ref[To]

    Permalink
    Definition Classes
    UniversalOps
  448. def upcastFun[A, B >: A](implicit arg0: Elem[A]): Ref[(A) ⇒ B]

    Permalink
    Definition Classes
    Functions
  449. final def updateSymbolTable[T](s: Ref[T], d: Def[T]): Ref[T]

    Permalink

    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
  450. var useAlphaEquality: Boolean

    Permalink

    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
  451. final def valueFromRep[A](x: Ref[A]): A

    Permalink

    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()
  452. def variable[T](implicit eT: LElem[T]): Ref[T]

    Permalink
    Definition Classes
    Base
    Annotations
    @inline()
  453. def verifyCostFunc(costF: Ref[(Any) ⇒ Int]): Try[Unit]

    Permalink

    Checks if the function (Lambda node) given by the symbol costF contains only allowed operations in the schedule.

    Checks if the function (Lambda node) given by the symbol costF contains only allowed operations in the schedule.

    Definition Classes
    Evaluation
  454. def verifyIsProven[T](f: Ref[(Context) ⇒ T]): Try[Unit]

    Permalink

    Checks that if SigmaProp.isProven method calls exists in the given Lambda's schedule, then it is the last operation.

    Checks that if SigmaProp.isProven method calls exists in the given Lambda's schedule, then it is the last operation.

    Definition Classes
    Evaluation
  455. implicit lazy val wRTypeAnyElement: Elem[WRType[Any]]

    Permalink
    Definition Classes
    SigmaLibrary
  456. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  459. def withConstantSize[T](v: Ref[T], cost: Ref[Int]): RCosted[T]

    Permalink
    Definition Classes
    RuntimeCosting
  460. def zeroSize[V](eVal: Elem[V]): RSize[V]

    Permalink
    Definition Classes
    Library
  461. implicit def zipPair[A, B](p: (Ref[A], Ref[B])): Ref[(A, B)]

    Permalink
    Definition Classes
    Tuples

Inherited from CompiletimeCosting

Inherited from IRContext

Inherited from TreeBuilding

Inherited from Evaluation

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