Equations
- Lean.IR.ExplicitBoxing.mkBoxedName n = Lean.Name.mkStr n "_boxed"
Equations
- Lean.IR.ExplicitBoxing.isBoxedName _fun_discr = match _fun_discr with | Lean.Name.str a "_boxed" a_1 => true | x => false
@[inline]
Equations
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- Lean.IR.ExplicitBoxing.eqvTypes t₁ t₂ = (Lean.IR.IRType.isScalar t₁ == Lean.IR.IRType.isScalar t₂ && (!Lean.IR.IRType.isScalar t₁ || t₁ == t₂))
- f : Lean.IR.FunId
- localCtx : Lean.IR.LocalContext
- resultType : Lean.IR.IRType
- decls : Array Lean.IR.Decl
- env : Lean.Environment
- nextIdx : Lean.IR.Index
- auxDecls : Array Lean.IR.Decl
- auxDeclCache : Std.AssocList Lean.IR.FnBody Lean.IR.Expr
- nextAuxId : Nat
@[inline]
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- Lean.IR.ExplicitBoxing.getDecl fid = do let ctx ← read match Lean.IR.findEnvDecl' ctx.env fid ctx.decls with | some decl => pure decl | none => pure default
@[inline]
def
Lean.IR.ExplicitBoxing.withParams
{α : Type}
(xs : Array Lean.IR.Param)
(k : Lean.IR.ExplicitBoxing.M α)
:
Equations
- One or more equations did not get rendered due to their size.
@[inline]
def
Lean.IR.ExplicitBoxing.withVDecl
{α : Type}
(x : Lean.IR.VarId)
(ty : Lean.IR.IRType)
(v : Lean.IR.Expr)
(k : Lean.IR.ExplicitBoxing.M α)
:
Equations
- One or more equations did not get rendered due to their size.
@[inline]
def
Lean.IR.ExplicitBoxing.withJDecl
{α : Type}
(j : Lean.IR.JoinPointId)
(xs : Array Lean.IR.Param)
(v : Lean.IR.FnBody)
(k : Lean.IR.ExplicitBoxing.M α)
:
Equations
- One or more equations did not get rendered due to their size.
def
Lean.IR.ExplicitBoxing.mkCast
(x : Lean.IR.VarId)
(xType : Lean.IR.IRType)
(expectedType : Lean.IR.IRType)
:
Equations
- One or more equations did not get rendered due to their size.
@[inline]
def
Lean.IR.ExplicitBoxing.castVarIfNeeded
(x : Lean.IR.VarId)
(expected : Lean.IR.IRType)
(k : Lean.IR.VarId → Lean.IR.ExplicitBoxing.M Lean.IR.FnBody)
:
Equations
- One or more equations did not get rendered due to their size.
@[inline]
def
Lean.IR.ExplicitBoxing.castArgIfNeeded
(x : Lean.IR.Arg)
(expected : Lean.IR.IRType)
(k : Lean.IR.Arg → Lean.IR.ExplicitBoxing.M Lean.IR.FnBody)
:
Equations
- Lean.IR.ExplicitBoxing.castArgIfNeeded x expected k = match x with | Lean.IR.Arg.var x => Lean.IR.ExplicitBoxing.castVarIfNeeded x expected fun x => k (Lean.IR.Arg.var x) | x => k x
def
Lean.IR.ExplicitBoxing.castArgsIfNeededAux
(xs : Array Lean.IR.Arg)
(typeFromIdx : Nat → Lean.IR.IRType)
:
Equations
- One or more equations did not get rendered due to their size.
@[inline]
def
Lean.IR.ExplicitBoxing.castArgsIfNeeded
(xs : Array Lean.IR.Arg)
(ps : Array Lean.IR.Param)
(k : Array Lean.IR.Arg → Lean.IR.ExplicitBoxing.M Lean.IR.FnBody)
:
Equations
- One or more equations did not get rendered due to their size.
@[inline]
def
Lean.IR.ExplicitBoxing.boxArgsIfNeeded
(xs : Array Lean.IR.Arg)
(k : Array Lean.IR.Arg → Lean.IR.ExplicitBoxing.M Lean.IR.FnBody)
:
Equations
- One or more equations did not get rendered due to their size.
def
Lean.IR.ExplicitBoxing.unboxResultIfNeeded
(x : Lean.IR.VarId)
(ty : Lean.IR.IRType)
(e : Lean.IR.Expr)
(b : Lean.IR.FnBody)
:
Equations
- One or more equations did not get rendered due to their size.
def
Lean.IR.ExplicitBoxing.castResultIfNeeded
(x : Lean.IR.VarId)
(ty : Lean.IR.IRType)
(e : Lean.IR.Expr)
(eType : Lean.IR.IRType)
(b : Lean.IR.FnBody)
:
Equations
- One or more equations did not get rendered due to their size.
def
Lean.IR.ExplicitBoxing.visitVDeclExpr
(x : Lean.IR.VarId)
(ty : Lean.IR.IRType)
(e : Lean.IR.Expr)
(b : Lean.IR.FnBody)
:
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- Lean.IR.explicitBoxing decls = do let env ← Lean.IR.getEnv pure (Lean.IR.ExplicitBoxing.run env decls)