File tree Expand file tree Collapse file tree 1 file changed +18
-6
lines changed
Expand file tree Collapse file tree 1 file changed +18
-6
lines changed Original file line number Diff line number Diff line change @@ -309,13 +309,25 @@ bool Evaluator::checkIfBitWidthsMatch(
309309 return false ;
310310 }
311311 BlockType outputBlockType = circuitNodeToBlockTypeMap.at (outputNode);
312+ unsigned int outputBitWidth;
313+ if (outputBlockType == BlockType::SWITCH || outputBlockType == BlockType::BUTTON || outputBlockType == BlockType::TICK_BUTTON) {
314+ outputBitWidth = 1 ;
315+ } else {
316+ BlockData* outputBlockData = blockDataManager.getBlockData (outputBlockType);
317+ connection_end_id_t outputConnectionEndId = connection.source .portId ;
318+ outputBitWidth = outputBlockData->getConnectionBitWidth (outputConnectionEndId);
319+ }
320+
312321 BlockType inputBlockType = circuitNodeToBlockTypeMap.at (inputNode);
313- BlockData* outputBlockData = blockDataManager.getBlockData (outputBlockType);
314- BlockData* inputBlockData = blockDataManager.getBlockData (inputBlockType);
315- connection_end_id_t outputConnectionEndId = connection.source .portId ;
316- connection_end_id_t inputConnectionEndId = connection.destination .portId ;
317- unsigned int outputBitWidth = outputBlockData->getConnectionBitWidth (outputConnectionEndId);
318- unsigned int inputBitWidth = inputBlockData->getConnectionBitWidth (inputConnectionEndId);
322+ unsigned int inputBitWidth;
323+ if (inputBlockType == BlockType::LIGHT) {
324+ inputBitWidth = 1 ;
325+ } else {
326+ BlockData* inputBlockData = blockDataManager.getBlockData (inputBlockType);
327+ connection_end_id_t inputConnectionEndId = connection.destination .portId ;
328+ inputBitWidth = inputBlockData->getConnectionBitWidth (inputConnectionEndId);
329+ }
330+
319331 return outputBitWidth == inputBitWidth;
320332}
321333
You can’t perform that action at this time.
0 commit comments