@@ -1150,6 +1150,33 @@ CFL_Matrix CFL_matrix_to_base
11501150
11511151GrB_Info CFL_clear (CFL_Matrix * A , int8_t optimizations );
11521152
1153+ GrB_Info LAGraph_CFL_reachability_adv
1154+ (
1155+ // Output
1156+ GrB_Matrix * outputs , // Array of matrices containing results.
1157+ // The size of the array must be equal to nonterms_count.
1158+ //
1159+ // outputs[k]: (i, j) = true if and only if there is a path
1160+ // from node i to node j whose edge labels form a word
1161+ // derivable from the non-terminal 'k' of the specified CFG.
1162+ // Input
1163+ const GrB_Matrix * adj_matrices , // Array of adjacency matrices representing the graph.
1164+ // The length of this array is equal to the count of
1165+ // terminals (terms_count).
1166+ //
1167+ // adj_matrices[t]: (i, j) == 1 if and only if there
1168+ // is an edge between nodes i and j with the label of
1169+ // the terminal corresponding to index 't' (where t is
1170+ // in the range [0, terms_count - 1]).
1171+ size_t symbols_amount ,
1172+ const LAGraph_rule_WCNF * rules , // The rules of the CFG.
1173+ size_t rules_count , // The total number of rules in the CFG.
1174+ char * msg , // Message string for error reporting.
1175+ int8_t optimizations // Optimizations flags
1176+ );
1177+
1178+
1179+
11531180//------------------------------------------------------------------------------
11541181// a simple example of an algorithm
11551182//------------------------------------------------------------------------------
0 commit comments