Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
93b2ff7
[iss-132]
Kalashnikovni Mar 5, 2026
2757885
Added compact structures (implementation details)
Kalashnikovni Mar 5, 2026
a6d3842
Redefined Sets using variant
Kalashnikovni Mar 5, 2026
c7f0044
Redefined up to Maps
Kalashnikovni Mar 5, 2026
d9857e4
Refined up to PWMaps
Kalashnikovni Mar 5, 2026
821f3e3
Redefined SBGS
Kalashnikovni Mar 5, 2026
e6d7b87
Refined Matching algorithm
Kalashnikovni Mar 5, 2026
74fa84e
Refined SCC algorithm
Kalashnikovni Mar 5, 2026
0580ca6
Refined CC and SBG builders
Kalashnikovni Mar 5, 2026
a1878a3
Redefined evaluator to support new interfaces
Kalashnikovni Mar 5, 2026
9bc3e3d
Redefined tests for new interface
Kalashnikovni Mar 5, 2026
2e92379
Redefined tests for new interface
Kalashnikovni Mar 5, 2026
0483aa2
Redefined benchmarksfor for new interfaces
Kalashnikovni Mar 5, 2026
375a2ba
Style fix
Kalashnikovni Mar 6, 2026
fe6a3e7
Redefined OrderedSet
Kalashnikovni Mar 6, 2026
4322d03
Debugged Interval::operator!=
Kalashnikovni Mar 17, 2026
3686ba8
Matching notation
Kalashnikovni Mar 17, 2026
dccd18f
Updated tests
Kalashnikovni Mar 17, 2026
c95efdc
Debugged SCC algorithm
Kalashnikovni Mar 17, 2026
766da8f
Simplified SCC algorithm
Kalashnikovni Mar 20, 2026
89bb1c3
Debugged OrderedSet::intersectionComplement
Kalashnikovni Mar 27, 2026
3c0c990
Optimized matching algorithm
Kalashnikovni Mar 27, 2026
cbf6dfa
Refined PWMap interfaces
Kalashnikovni Mar 31, 2026
cd372f5
Added stand-alone set perimeter
Kalashnikovni Mar 31, 2026
2e58221
Redefined OrdPWMap
Kalashnikovni Mar 31, 2026
de7bbd7
Added Overload pattern to utils
Kalashnikovni Mar 31, 2026
d57cd8a
Added PWMap::ConstIt
Kalashnikovni Mar 31, 2026
1a6a7c1
Added OrdPWMap to evaluator
Kalashnikovni Mar 31, 2026
6f1855b
Debugged OrdPWMap
Kalashnikovni Apr 1, 2026
e321f3a
New version of compact for UnordSet, OrdSet, UnordPWMap and OrdPWMap
Kalashnikovni Apr 1, 2026
51c469d
Debugged MatchKind
Kalashnikovni Apr 8, 2026
66d66ab
Added SCC algorithm selection
Kalashnikovni Apr 8, 2026
ad0bc25
Improved benchmark code
Kalashnikovni Apr 8, 2026
f337809
Generalized perimeter
Kalashnikovni Apr 10, 2026
522b4da
Redefined DomOrdPWMap
Kalashnikovni Apr 10, 2026
8df368e
Small fixes
Kalashnikovni Apr 13, 2026
1902dc1
Added copy for Bipartite SBGs
Kalashnikovni Apr 13, 2026
a4fc9ff
Redefined boost performance test [IN PROGRESS]
Kalashnikovni Apr 14, 2026
3c383be
Redefined boost performance benchmark
Kalashnikovni Apr 16, 2026
c6a1c3f
Added set-vertex and set-edge traversals
Kalashnikovni Apr 21, 2026
2796986
Debugge SCC graph creation [SLOW]
Kalashnikovni Apr 21, 2026
e8ba29d
Updated PWMap::compact for SCC graph builder
Kalashnikovni Apr 21, 2026
b09ac6f
Added imageMultiplicity
Kalashnikovni Apr 22, 2026
f2a111c
Small changes
Kalashnikovni Apr 23, 2026
fcc6555
Redefined CutVertex into MFVS
Kalashnikovni Apr 23, 2026
53cd61d
Added MFVS algorithm to evaluator
Kalashnikovni Apr 23, 2026
bba958b
Added tearing SBG builder
Kalashnikovni Apr 23, 2026
9105bea
Small changes
Kalashnikovni Apr 27, 2026
804a594
Redefined topological sorting SBG algorithm [IN PROGRESS]
Kalashnikovni Apr 27, 2026
6036964
Small fixes
Kalashnikovni Apr 29, 2026
4aae6b4
Finished redefinition of topological sorting
Kalashnikovni Apr 29, 2026
1ce2d6e
Added smallest set-vertex MFVS implementation
Kalashnikovni Apr 30, 2026
bb159af
Redefined JSON causalization output
Kalashnikovni May 7, 2026
3974030
<fix>[SBG Map]: debugged Map::minAdj
Kalashnikovni May 22, 2026
5a04818
<refactor>[SBG Set]: added SetImplementation, deleted Set::_kind
Kalashnikovni May 23, 2026
460a01f
<refactor>[SBG PWMap]: added PWMapImplementation, deleted PWMap::_kind
Kalashnikovni May 23, 2026
f225e6c
<refactor>[SBG Matching]: added MatchImplementation, deleted Matching…
Kalashnikovni May 23, 2026
bd762ee
<refactor>[SBG SCC]: added SCCImplementation, deleted SCC::_kind
Kalashnikovni May 23, 2026
49ad938
<refactor>[SBG MFVS]: added MFVSImplementation, deleted MinFeedbackVe…
Kalashnikovni May 23, 2026
1e5add5
<refactor>[SBG TS]: added TSCImplementation, deleted TopologicalSorti…
Kalashnikovni May 23, 2026
0726f39
<refactor>[SBG]: deleted remaining factories usages
Kalashnikovni May 23, 2026
41d2068
<fix>[PWMap::inverse]: fixed PWMap inverse singleton domain and const…
Kalashnikovni May 25, 2026
a9e3d08
<refactor>[JSON]: redefined JSON output for Sets
Kalashnikovni Jun 2, 2026
60b5705
<fix>[SCC]: execute at least twice sccStep
Kalashnikovni Jun 8, 2026
4c36265
<fix>[Topological sorting]: debugged empty repetition in MinVertexTS:…
Kalashnikovni Jun 9, 2026
8ab706e
<feature>[Time profiler]: printing of only one function time
Kalashnikovni Jun 29, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in
add_custom_target(doc
COMMAND echo "Generating Project documentation."
COMMAND doxygen "${CMAKE_CURRENT_BINARY_DIR}/Doxyfile"
#COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_SOURCE_DIR}/doc
COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_SOURCE_DIR}/doc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating API documentation with Doxygen"
)
Expand Down
6 changes: 3 additions & 3 deletions algorithms/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Add subdirectories
add_subdirectory(cc)
add_subdirectory(cutvertex)
add_subdirectory(matching)
add_subdirectory(mfvs)
add_subdirectory(misc)
add_subdirectory(partitioner)
#add_subdirectory(partitioner)
add_subdirectory(scc)
add_subdirectory(toposort)
add_subdirectory(sorting)

install_lib_headers("${CMAKE_CURRENT_SOURCE_DIR}")
44 changes: 23 additions & 21 deletions algorithms/cc/cc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@

******************************************************************************/

#include <chrono>

#include "algorithms/cc/cc.hpp"
#include "sbg/set.hpp"
#include "util/logger.hpp"
#include "util/time_profiler.hpp"

namespace SBG {

Expand All @@ -30,44 +30,46 @@ namespace LIB {
// Connected components --------------------------------------------------------
////////////////////////////////////////////////////////////////////////////////

PWMap connectedComponents(SBG g)
PWMap connectedComponents(const SBG& sbg)
{
auto begin = std::chrono::high_resolution_clock::now();
Util::Internal::TimeProfiler profiler{"Total CC execution time:"};

if (!g.V().isEmpty()) {
PWMap rmap = PW_FACT.createPWMap(g.V()), old_rmap = PW_FACT.createPWMap();
Set V = sbg.V();
if (!V.isEmpty()) {
PWMap rmap{V};
PWMap old_rmap;

if (g.E().isEmpty())
if (sbg.E().isEmpty()) {
return rmap;
}

PWMap map1 = sbg.map1();
PWMap map2 = sbg.map2();
do {
old_rmap = rmap;

PWMap ermap1 = rmap.composition(g.map1());
PWMap ermap2 = rmap.composition(g.map2());
PWMap ermap1 = rmap.composition(map1);
PWMap ermap2 = rmap.composition(map2);

PWMap rmap1 = ermap1.minAdjMap(ermap2);
PWMap rmap2 = ermap2.minAdjMap(ermap1);
rmap1 = rmap1.combine(rmap);
rmap2 = rmap2.combine(rmap);
PWMap rmap1 = ermap1.minAdj(ermap2);
PWMap rmap2 = ermap2.minAdj(ermap1);
rmap1 = std::move(rmap1).combine(rmap);
rmap2 = std::move(rmap2).combine(rmap);

PWMap aux_rmap = rmap1.minMap(rmap2);
rmap = rmap.minMap(aux_rmap);
PWMap aux_rmap = rmap1.min(rmap2);
rmap = rmap.min(aux_rmap);

if (!(rmap == old_rmap)) {
rmap = aux_rmap;
rmap = rmap.mapInf();
}
} while (rmap != old_rmap);

return rmap.compact();
rmap.compact();
return rmap;
}
auto end = std::chrono::high_resolution_clock::now();
auto total = std::chrono::duration_cast<std::chrono::microseconds>(
end - begin);
Util::SBG_LOG << "Total CC exec time: " << total.count() << "\n";

return PW_FACT.createPWMap();
return PWMap{};
}

} // namespace LIB
Expand Down
9 changes: 5 additions & 4 deletions algorithms/cc/cc.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,10 @@

******************************************************************************/

#ifndef SBG_CC_HPP
#define SBG_CC_HPP
#ifndef SBGRAPH_ALGORITHMS_CC_CC_HPP_
#define SBGRAPH_ALGORITHMS_CC_CC_HPP_

#include "sbg/pw_map.hpp"
#include "sbg/sbg.hpp"

namespace SBG {
Expand All @@ -34,10 +35,10 @@ namespace LIB {
// Connected components --------------------------------------------------------
////////////////////////////////////////////////////////////////////////////////

PWMap connectedComponents(SBG g);
PWMap connectedComponents(const SBG& g);

} // namespace LIB

} // namespace SBG

#endif
#endif // SBGRAPH_ALGORITHMS_CC_CC_HPP_
7 changes: 0 additions & 7 deletions algorithms/cutvertex/CMakeLists.txt

This file was deleted.

80 changes: 0 additions & 80 deletions algorithms/cutvertex/cv_fact.hpp

This file was deleted.

147 changes: 0 additions & 147 deletions algorithms/cutvertex/maxdeg_cv.cpp

This file was deleted.

3 changes: 2 additions & 1 deletion algorithms/matching/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,6 @@ target_sources(
bfs_matching.cpp
bfs_paths.cpp
matching.cpp
matching_fact.cpp
match_data.cpp
matching_impl.cpp
)
Loading
Loading