Oakfield API Documentation 1.0.0
Numerical core APIs
Loading...
Searching...
No Matches
SimIRNode Struct Reference

Node record in a symbolic kernel IR expression graph. More...

#include <kernel_ir.h>

Collaboration diagram for SimIRNode:

Public Attributes

SimIRNodeType type
 
SimIRNodeId id
 
SimIRType value_type
 
SimIROpcode opcode
 
SimIRShape inferred_shape
 
SimWarpLevel warp_class
 
bool is_local
 
union { 
 
   struct { 
 
      double   scalar 
 
      int64_t   signed_scalar 
 
      uint64_t   unsigned_scalar 
 
      bool   exact_integer 
 
      size_t   constant_index 
 
      double   small [SIM_IR_SMALL_CONSTANT_CAPACITY
 
   }   constant 
 
   size_t   field 
 
   struct { 
 
      SimIRNodeId   lhs 
 
      SimIRNodeId   rhs 
 
   }   binary 
 
   struct { 
 
      SimIRNodeId   operand 
 
      size_t   axis 
 
      double   dx 
 
      double   scale 
 
      size_t   order 
 
      size_t   stencil_order 
 
      SimIRDiffMethod   method 
 
      double   consistency_constant 
 
      SimIRBoundaryPolicy   boundary 
 
   }   diff 
 
   struct { 
 
      uint32_t   seed 
 
      double   amplitude 
 
      double   variance 
 
      SimIRNoiseLaw   law 
 
      SimIRNoiseDistribution   distribution 
 
   }   noise 
 
   struct { 
 
      SimIRNodeId   operand 
 
      double   bias 
 
      double   delta 
 
      double   lambda 
 
      double   tolerance 
 
      SimIRWarpProfile   profile 
 
      SimIRWarpGuard   guard 
 
   }   warp 
 
   struct { 
 
      SimIRParamKind   param 
 
   }   param 
 
   struct { 
 
      SimIRNodeId   operand 
 
      SimIRNodeId   angle 
 
   }   complex_rotate 
 
   struct { 
 
      SimIRNodeId   real 
 
      SimIRNodeId   imag 
 
   }   complex_pack 
 
   struct { 
 
      SimIRNodeId   operand 
 
      SimIRCallKind   kind 
 
   }   call 
 
   struct { 
 
      SimIRNodeId   operand 
 
   }   unary 
 
   struct { 
 
      size_t   field 
 
      size_t   axis 
 
   }   coord 
 
   struct { 
 
      SimIRStatefulEvalFn   eval 
 
      void *   userdata 
 
      const char *   label 
 
   }   stateful 
 
data 
 

Detailed Description

Node record in a symbolic kernel IR expression graph.

Member Data Documentation

◆ amplitude

double SimIRNode::amplitude

Noise magnitude.

◆ angle

SimIRNodeId SimIRNode::angle

Scalar rotation angle (radians).

◆ axis

size_t SimIRNode::axis

Axis along which the derivative is taken (0=x).

Axis index for coordinate lookup.

◆ bias

double SimIRNode::bias

Additive bias prior to sampling.

◆ [struct]

struct { ... } SimIRNode::binary

Binary operation payload.

◆ boundary

SimIRBoundaryPolicy SimIRNode::boundary

Boundary policy.

◆ [struct]

struct { ... } SimIRNode::call

Unary call payload.

◆ [struct]

struct { ... } SimIRNode::complex_pack

Complex pack payload.

◆ [struct]

struct { ... } SimIRNode::complex_rotate

Complex rotation payload.

◆ consistency_constant

double SimIRNode::consistency_constant

Consistency constant C_p for truncation error bounds.

◆ [struct]

struct { ... } SimIRNode::constant

Constant literal payload.

◆ constant_index

size_t SimIRNode::constant_index

Index into builder constant pool for vector constants.

◆ [struct]

struct { ... } SimIRNode::coord

Coordinate lookup payload.

◆ [union]

union { ... } SimIRNode::data

Type-specific payload.

◆ delta

double SimIRNode::delta

Symmetric evaluation offset.

◆ [struct]

struct { ... } SimIRNode::diff

Differential term payload.

◆ distribution

SimIRNoiseDistribution SimIRNode::distribution

Sampling distribution.

◆ dx

double SimIRNode::dx

Grid spacing along axis.

◆ eval

SimIRStatefulEvalFn SimIRNode::eval

Callback to produce the node value.

◆ exact_integer

bool SimIRNode::exact_integer

True when an exact integer literal is present.

◆ field

size_t SimIRNode::field

Field identifier for references.

Field identifier providing shape/stride metadata.

◆ guard

SimIRWarpGuard SimIRNode::guard

Guard metadata controlling continuity handling.

◆ id

SimIRNodeId SimIRNode::id

Unique identifier within the builder.

◆ imag

SimIRNodeId SimIRNode::imag

Imaginary component.

◆ inferred_shape

SimIRShape SimIRNode::inferred_shape

Inferred shape descriptor for the node.

◆ is_local

bool SimIRNode::is_local

True when the node is pointwise (Lipschitz), false for non-local ops.

◆ kind

SimIRCallKind SimIRNode::kind

Built-in call identifier.

◆ label

const char* SimIRNode::label

Optional label for MathView rendering.

◆ lambda

double SimIRNode::lambda

Scaling applied to the response.

◆ law

SimIRNoiseLaw SimIRNode::law

Stochastic calculus interpretation.

◆ lhs

SimIRNodeId SimIRNode::lhs

Left operand node.

◆ method

SimIRDiffMethod SimIRNode::method

Stencil method selection.

◆ [struct]

struct { ... } SimIRNode::noise

Noise payload.

◆ opcode

SimIROpcode SimIRNode::opcode

Semantic operator category opcode.

◆ operand

SimIRNodeId SimIRNode::operand

Operand node identifier.

Complex operand (re, im).

◆ order

size_t SimIRNode::order

Derivative order (>=1).

◆ param [1/2]

SimIRParamKind SimIRNode::param

Runtime parameter identifier.

◆ [struct] [2/2]

struct { ... } SimIRNode::param

Parameter payload.

◆ profile

SimIRWarpProfile SimIRNode::profile

Warp profile selector.

◆ real

SimIRNodeId SimIRNode::real

Real component.

◆ rhs

SimIRNodeId SimIRNode::rhs

Right operand node.

◆ scalar

double SimIRNode::scalar

Literal value for constant nodes.

◆ scale

double SimIRNode::scale

Scaling applied to the differential term.

◆ seed

uint32_t SimIRNode::seed

Pseudorandom seed.

◆ signed_scalar

int64_t SimIRNode::signed_scalar

Exact signed integer literal.

◆ small

double SimIRNode::small[SIM_IR_SMALL_CONSTANT_CAPACITY]

Inline per-lane constant storage for small vectors.

◆ [struct]

struct { ... } SimIRNode::stateful

Stateful callback payload.

◆ stencil_order

size_t SimIRNode::stencil_order

Accuracy order p for the stencil.

◆ tolerance

double SimIRNode::tolerance

Optional tolerance for adaptive warps.

◆ type

SimIRNodeType SimIRNode::type

Node classification.

◆ [struct]

struct { ... } SimIRNode::unary

Unary operand payload.

◆ unsigned_scalar

uint64_t SimIRNode::unsigned_scalar

Exact unsigned integer literal.

◆ userdata

void* SimIRNode::userdata

User context passed to eval.

◆ value_type

SimIRType SimIRNode::value_type

Declared value type for the node.

◆ variance

double SimIRNode::variance

Variance parameter σ².

◆ [struct]

struct { ... } SimIRNode::warp

Analytic warp payload.

◆ warp_class

SimWarpLevel SimIRNode::warp_class

Warp classification hint (defaults to NONE).


The documentation for this struct was generated from the following file: