Header menu logo issie

BusWidthInferer Module

Functions and values

Function or value Description

addVirtualBusLabelConnections compIdToComp inputPortsToConnectionIds

Full Usage: addVirtualBusLabelConnections compIdToComp inputPortsToConnectionIds

Parameters:
Returns: Map<InputPortId, ConnectionId>

Add to the map the extra (virtual) connections formed from each set of similarlky named bus labels. each unconnected bus label input is virtually connected to the (single) connection that drives the set

compIdToComp : Map<ComponentId, Component>
inputPortsToConnectionIds : Map<InputPortId, ConnectionId>
Returns: Map<InputPortId, ConnectionId>

getConnectionWidth connectionsWidth connId

Full Usage: getConnectionWidth connectionsWidth connId

Parameters:
Returns: int option

Lookup the width of a connection in the connectionsWidth map or fail.

connectionsWidth : ConnectionsWidth
connId : ConnectionId
Returns: int option

inferConnectionsWidth (arg1, arg2)

Full Usage: inferConnectionsWidth (arg1, arg2)

Parameters:
Returns: Result<ConnectionsWidth, WidthInferError>

Return Inferred width of all connections or an error. Width inference is done without mutable state. It is to be run when component widths or circuit is changed, Note that it does not matter (except for performance) if it is run too many times.

arg0 : Component list
arg1 : Connection list
Returns: Result<ConnectionsWidth, WidthInferError>

mapItems map

Full Usage: mapItems map

Parameters:
    map : Map<'a, 'b>

Returns: ('a * 'b) list
map : Map<'a, 'b>
Returns: ('a * 'b) list

mapKeys map

Full Usage: mapKeys map

Parameters:
    map : Map<'a, 'b>

Returns: 'a list
map : Map<'a, 'b>
Returns: 'a list

mapValues map

Full Usage: mapValues map

Parameters:
    map : Map<'a, 'b>

Returns: 'b list
map : Map<'a, 'b>
Returns: 'b list

Type something to start searching.