Header menu logo issie

FastBuild Module

Functions and values

Function or value Description

buildFastSimulation simulationArraySize diagramName graph

Full Usage: buildFastSimulation simulationArraySize diagramName graph

Parameters:
Returns: Result<FastSimulation, SimulationError>

Create a fast simulation data structure, with all necessary arrays, and components ordered for evaluation. This function also creates the reducer functions for each component similar to the reducer builder in Builder, but with inputs and outputs using the FastSimulation mutable arrays

simulationArraySize : int
diagramName : string
graph : SimulationGraph
Returns: Result<FastSimulation, SimulationError>

buildFastSimulationFData simulationArraySize diagramName graph

Full Usage: buildFastSimulationFData simulationArraySize diagramName graph

Parameters:
Returns: Result<FastSimulation, SimulationError>
simulationArraySize : int
diagramName : string
graph : SimulationGraph
Returns: Result<FastSimulation, SimulationError>

createFastArrays fs

Full Usage: createFastArrays fs

Parameters:
Returns: FastSimulation
fs : FastSimulation
Returns: FastSimulation

installReducers fs

Full Usage: installReducers fs

Parameters:
Returns: FastSimulation

Bind each simulated component's reducer to the component itself, once, when the simulation is built. The loop then calls a component's own code rather than dispatching on FType for every component of every step. EvalCompiled.reducerFor returns None for a type it does not handle yet, and that component keeps the general fastReduce. This must run last. The reducers capture the step arrays their ports currently point at, and linkFastComponents, reLinkIOLabels and addWavesToFastSimulation all re-point ports; a reducer installed before them could hold an array the simulation no longer uses. It is also why only the components that are actually reduced get one - the custom-component FastComponents that addWavesToFastSimulation re-points exist for waveform display and are never reduced.

fs : FastSimulation
Returns: FastSimulation

Type something to start searching.