From 2787c491e8ec29aa688739398400b042e5604f0d Mon Sep 17 00:00:00 2001 From: Nick-Liou <80918856+Nick-Liou@users.noreply.github.com> Date: Sat, 11 May 2024 20:14:50 +0300 Subject: [PATCH 1/3] Modify files to make it compile on W10 --- include/easy/esop/helliwell.hpp | 2 +- .../sat/incremental_totalizer_cardinality.hpp | 12 +++---- lib/bill/bill/include/bill/sat/tseytin.hpp | 32 +++++++++---------- 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/include/easy/esop/helliwell.hpp b/include/easy/esop/helliwell.hpp index 0e4b33a..6fbf507 100644 --- a/include/easy/esop/helliwell.hpp +++ b/include/easy/esop/helliwell.hpp @@ -41,7 +41,7 @@ namespace detail inline int32_t get_lowest_set_bit( int32_t num ) { -#if WIN32 +#if defined(WIN32) uint32_t mask = 1; for ( int32_t counter = 1; counter <= 32; counter++, mask <<= 1 ) { diff --git a/lib/bill/bill/include/bill/sat/incremental_totalizer_cardinality.hpp b/lib/bill/bill/include/bill/sat/incremental_totalizer_cardinality.hpp index d0e742b..008f360 100644 --- a/lib/bill/bill/include/bill/sat/incremental_totalizer_cardinality.hpp +++ b/lib/bill/bill/include/bill/sat/incremental_totalizer_cardinality.hpp @@ -34,20 +34,20 @@ inline void create_totalizer_internal(Solver& solver, std::vector{~bv[j], ov[j]}); } /* j = 0 */ kmin = std::min(rhs, uint32_t(av.size())); for (auto i = 0u; i < kmin; ++i) { - dest.emplace_back(std::vector{~av[i], ov[i]}); + dest.emplace_back(std::vector{~av[i], ov[i]}); } /* i, j > 0 */ for (auto i = 1u; i <= kmin; ++i) { auto const min_j = std::min(rhs - i, uint32_t(bv.size())); for (auto j = 1u; j <= min_j; ++j) { - dest.emplace_back(std::vector{~av[i - 1], ~bv[j - 1], ov[i + j - 1]}); + dest.emplace_back(std::vector{~av[i - 1], ~bv[j - 1], ov[i + j - 1]}); } } } @@ -66,13 +66,13 @@ inline void increase_totalizer_internal(Solver& solver, std::vector{~bv[j], ov[j]}); } /* j = 0 */ uint32_t const max_i = std::min(rhs, uint32_t(av.size())); for (auto i = last; i < max_i; ++i) { - dest.emplace_back(std::vector{~av[i], ov[i]}); + dest.emplace_back(std::vector{~av[i], ov[i]}); } /* i, j > 0 */ @@ -80,7 +80,7 @@ inline void increase_totalizer_internal(Solver& solver, std::vector{~av[i - 1], ~bv[j - 1], ov[i + j - 1]}); } } } diff --git a/lib/bill/bill/include/bill/sat/tseytin.hpp b/lib/bill/bill/include/bill/sat/tseytin.hpp index c94d229..e805c95 100644 --- a/lib/bill/bill/include/bill/sat/tseytin.hpp +++ b/lib/bill/bill/include/bill/sat/tseytin.hpp @@ -20,9 +20,9 @@ template lit_type add_tseytin_and(Solver& solver, lit_type const& a, lit_type const& b) { auto const r = solver.add_variable(); - solver.add_clause(std::vector{~a, ~b, lit_type(r, lit_type::polarities::positive)}); - solver.add_clause(std::vector{a, lit_type(r, lit_type::polarities::negative)}); - solver.add_clause(std::vector{b, lit_type(r, lit_type::polarities::negative)}); + solver.add_clause(std::vector{~a, ~b, lit_type(r, lit_type::polarities::positive)}); + solver.add_clause(std::vector{a, lit_type(r, lit_type::polarities::negative)}); + solver.add_clause(std::vector{b, lit_type(r, lit_type::polarities::negative)}); return lit_type(r, lit_type::polarities::positive); } @@ -42,7 +42,7 @@ lit_type add_tseytin_and(Solver& solver, std::vector const& ls) cls.emplace_back(lit_type(r, lit_type::polarities::positive)); solver.add_clause(cls); for (const auto& l : ls) - solver.add_clause(std::vector{l, lit_type(r, lit_type::polarities::negative)}); + solver.add_clause(std::vector{l, lit_type(r, lit_type::polarities::negative)}); return lit_type(r, lit_type::polarities::positive); } @@ -57,9 +57,9 @@ template lit_type add_tseytin_or(Solver& solver, lit_type const& a, lit_type const& b) { auto const r = solver.add_variable(); - solver.add_clause(std::vector{a, b, lit_type(r, lit_type::polarities::negative)}); - solver.add_clause(std::vector{~a, lit_type(r, lit_type::polarities::positive)}); - solver.add_clause(std::vector{~b, lit_type(r, lit_type::polarities::positive)}); + solver.add_clause(std::vector{a, b, lit_type(r, lit_type::polarities::negative)}); + solver.add_clause(std::vector{~a, lit_type(r, lit_type::polarities::positive)}); + solver.add_clause(std::vector{~b, lit_type(r, lit_type::polarities::positive)}); return lit_type(r, lit_type::polarities::positive); } @@ -77,7 +77,7 @@ lit_type add_tseytin_or(Solver& solver, std::vector const& ls) cls.emplace_back(lit_type(r, lit_type::polarities::negative)); solver.add_clause(cls); for (const auto& l : ls) - solver.add_clause(std::vector{~l, lit_type(r, lit_type::polarities::positive)}); + solver.add_clause(std::vector{~l, lit_type(r, lit_type::polarities::positive)}); return lit_type(r, lit_type::polarities::positive); } @@ -92,10 +92,10 @@ template lit_type add_tseytin_xor(Solver& solver, lit_type const& a, lit_type const& b) { auto const r = solver.add_variable(); - solver.add_clause(std::vector{~a, ~b, lit_type(r, lit_type::polarities::negative)}); - solver.add_clause(std::vector{~a, b, lit_type(r, lit_type::polarities::positive)}); - solver.add_clause(std::vector{a, ~b, lit_type(r, lit_type::polarities::positive)}); - solver.add_clause(std::vector{a, b, lit_type(r, lit_type::polarities::negative)}); + solver.add_clause(std::vector{~a, ~b, lit_type(r, lit_type::polarities::negative)}); + solver.add_clause(std::vector{~a, b, lit_type(r, lit_type::polarities::positive)}); + solver.add_clause(std::vector{a, ~b, lit_type(r, lit_type::polarities::positive)}); + solver.add_clause(std::vector{a, b, lit_type(r, lit_type::polarities::negative)}); return lit_type(r, lit_type::polarities::positive); } @@ -110,10 +110,10 @@ template lit_type add_tseytin_equals(Solver& solver, lit_type const& a, lit_type const& b) { auto const r = solver.add_variable(); - solver.add_clause(std::vector{~a, ~b, lit_type(r, lit_type::polarities::positive)}); - solver.add_clause(std::vector{~a, b, lit_type(r, lit_type::polarities::negative)}); - solver.add_clause(std::vector{a, ~b, lit_type(r, lit_type::polarities::negative)}); - solver.add_clause(std::vector{a, b, lit_type(r, lit_type::polarities::positive)}); + solver.add_clause(std::vector{~a, ~b, lit_type(r, lit_type::polarities::positive)}); + solver.add_clause(std::vector{~a, b, lit_type(r, lit_type::polarities::negative)}); + solver.add_clause(std::vector{a, ~b, lit_type(r, lit_type::polarities::negative)}); + solver.add_clause(std::vector{a, b, lit_type(r, lit_type::polarities::positive)}); return lit_type(r, lit_type::polarities::positive); } From 677ced8e051de4803afd9bec6ce408826a4b05bc Mon Sep 17 00:00:00 2001 From: Nick <80918856+Nick-Liou@users.noreply.github.com> Date: Sun, 12 May 2024 16:36:24 +0300 Subject: [PATCH 2/3] Update README.md to triger workflows --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5fc42cc..4118bdf 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) # easy - + easy is a C++ library for verification and synthesis of exclusive-or sum-of-product (ESOP) forms. From b5a610033cb866afd9d435803fc8bbdfc92fe3ab Mon Sep 17 00:00:00 2001 From: Nick-Liou <80918856+Nick-Liou@users.noreply.github.com> Date: Sat, 18 May 2024 13:41:23 +0300 Subject: [PATCH 3/3] Update actions/checkout@v1 to v4, to use Node.js 20 --- .github/workflows/coveralls.yml | 2 +- .github/workflows/linux.yml | 10 +++++----- .github/workflows/macos.yml | 10 +++++----- .github/workflows/windows.yml | 2 +- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/coveralls.yml b/.github/workflows/coveralls.yml index e39f56b..d7f0de3 100644 --- a/.github/workflows/coveralls.yml +++ b/.github/workflows/coveralls.yml @@ -14,7 +14,7 @@ jobs: name: GNU GCC 9 and run coveralls steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v4 with: submodules: true - name: Build easy diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 63a6ecc..813225f 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -14,7 +14,7 @@ jobs: name: GNU GCC 9 steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v4 with: submodules: true - name: Build mockturtle @@ -32,7 +32,7 @@ jobs: name: GNU GCC 10 steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v4 with: submodules: true - name: Build mockturtle @@ -50,7 +50,7 @@ jobs: name: GNU GCC 12 steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v4 with: submodules: true - name: Build mockturtle @@ -68,7 +68,7 @@ jobs: name: Clang 11 steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v4 with: submodules: true - name: Build mockturtle @@ -86,7 +86,7 @@ jobs: name: Clang 13 steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v4 with: submodules: true - name: Build mockturtle diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 2c16858..87a37b9 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -14,7 +14,7 @@ jobs: runs-on: macOS-11 steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v4 with: submodules: true - name: Build @@ -32,7 +32,7 @@ jobs: runs-on: macOS-latest steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v4 with: submodules: true - name: Build easy @@ -50,7 +50,7 @@ jobs: runs-on: macOS-latest steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v4 with: submodules: true - name: Build easy @@ -68,7 +68,7 @@ jobs: runs-on: macOS-latest steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v4 with: submodules: true - name: Build easy @@ -86,7 +86,7 @@ jobs: runs-on: macOS-latest steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v4 with: submodules: true - name: Build easy diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 8ec3dce..0b629c7 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -22,7 +22,7 @@ jobs: runs-on: ${{matrix.os}} steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v4 with: submodules: true - name: Create build directory