@@ -501,12 +501,12 @@ public class CCodeGenerator(private val graph: ComputeGraph) {
501501 * @param node GraphNode representing a Dense/Linear layer
502502 * @return LayerCode containing generated C code fragment
503503 */
504- public fun generateDenseLayer (node : GraphNode ): LayerCode {
504+ public fun generateDenseLayer (node : GraphNode , denseIndex : Int? = null ): LayerCode {
505505 require(node.operation.name.lowercase() in setOf (" linear" , " dense" )) {
506506 " Node ${node.id} is not a Dense/Linear layer"
507507 }
508508
509- val layerName = " dense_${layerCounter++ } "
509+ val layerName = if (denseIndex != null ) " dense_ $denseIndex " else " dense_${layerCounter++ } "
510510 val inputSpec = node.inputs.first()
511511 val outputSpec = node.outputs.first()
512512
@@ -641,6 +641,7 @@ public class CCodeGenerator(private val graph: ComputeGraph) {
641641
642642 // Reset layer counter to ensure consistent naming across multiple calls
643643 layerCounter = 0
644+ var denseLayerIndex = 0
644645
645646 val nodes = graph.getTopologicalOrder()
646647 val processedNodes = mutableSetOf<String >()
@@ -671,7 +672,7 @@ public class CCodeGenerator(private val graph: ComputeGraph) {
671672 }
672673 }
673674
674- generateDenseLayerWithAccuracy(matmulNode ? : node, addNode)
675+ generateDenseLayerWithAccuracy(matmulNode ? : node, addNode, denseLayerIndex ++ )
675676 }
676677 " relu" , " sigmoid" , " tanh" -> {
677678 processedNodes.add(node.id)
@@ -981,13 +982,13 @@ public class CCodeGenerator(private val graph: ComputeGraph) {
981982 * @param node GraphNode representing a Dense/Linear layer
982983 * @return LayerCode containing generated C code fragment
983984 */
984- public fun generateDenseLayerWithAccuracy (node : GraphNode , addNode : GraphNode ? = null): LayerCode {
985+ public fun generateDenseLayerWithAccuracy (node : GraphNode , addNode : GraphNode ? = null, denseIndex : Int? = null ): LayerCode {
985986 val opName = node.operation.name.lowercase()
986987 require(opName in setOf (" linear" , " dense" , " matmul" , " add" )) {
987988 " Node ${node.id} is not a Dense/Linear/Matmul/Add layer"
988989 }
989990
990- val layerName = " dense_${layerCounter++ } "
991+ val layerName = if (denseIndex != null ) " dense_ $denseIndex " else " dense_${layerCounter++ } "
991992 val inputSpec = node.inputs.first()
992993 val finalNode = addNode ? : node
993994 val outputSpec = finalNode.outputs.first()
0 commit comments