Table of Contents

Class WhereNode

Namespace
NumSharp.Backends.Iteration
Assembly
NumSharp.dll
public sealed class WhereNode : NDExpr
Inheritance
WhereNode
Inherited Members
Extension Methods

Constructors

WhereNode(NDExpr, NDExpr, NDExpr)

public WhereNode(NDExpr cond, NDExpr a, NDExpr b)

Parameters

cond NDExpr
a NDExpr
b NDExpr

Properties

SupportsSimd

True if this node and its entire sub-tree have a SIMD emit path. Structural and type-independent — prefer SupportsSimdAt(NPTypeCode) for the compile decision, since some ops only vectorize at certain element types/runtimes.

public override bool SupportsSimd { get; }

Property Value

bool

Methods

AppendSignature(StringBuilder)

Stable structural signature. Used to derive a cache key when the user doesn't supply one.

public override void AppendSignature(StringBuilder sb)

Parameters

sb StringBuilder

EmitPushZeroPublic(ILGenerator, NPTypeCode)

public static void EmitPushZeroPublic(ILGenerator il, NPTypeCode type)

Parameters

il ILGenerator
type NPTypeCode

EmitScalar(ILGenerator, NDExprCompileContext)

Emit scalar code. On exit, the evaluation stack must have exactly one value of dtype ctx.OutputType.

public override void EmitScalar(ILGenerator il, NDExprCompileContext ctx)

Parameters

il ILGenerator
ctx NDExprCompileContext

EmitVector(ILGenerator, NDExprCompileContext)

Emit vector code. On exit, the evaluation stack must have exactly one Vector{W}<T> of element type ctx.OutputType. Called only when SupportsSimd is true and all input types equal the output type.

public override void EmitVector(ILGenerator il, NDExprCompileContext ctx)

Parameters

il ILGenerator
ctx NDExprCompileContext