{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":672584514,"defaultBranch":"master","name":"karnaugh-solver","ownerLogin":"piotrsiupa","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-07-30T15:25:12.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/104639265?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1717710484.0","currentOid":""},"activityList":{"items":[{"before":"c4248b5c3e2b10f39dbdbf02ed65af539ea7f39d","after":"8783e644ab6d230c2fae0d1a2914535e904594eb","ref":"refs/heads/output-improvements-limit","pushedAt":"2024-06-09T20:36:58.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"piotrsiupa","name":"Piotr Siupa","path":"/piotrsiupa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/104639265?s=80&v=4"},"commit":{"message":"Adjusted types of stored data in `OutputComposer`","shortMessageHtmlLink":"Adjusted types of stored data in OutputComposer"}},{"before":"40505fa74be00732db2a7603966bd519c885072e","after":"9e098ffe5d32cb68d1ca7ccc22bf4002d91dcfe8","ref":"refs/heads/output-improvements","pushedAt":"2024-06-09T20:21:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"piotrsiupa","name":"Piotr Siupa","path":"/piotrsiupa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/104639265?s=80&v=4"},"commit":{"message":"Removed usage of command line options in `Name`\n\nThe values (specifically the output format) are passed in arguments now.","shortMessageHtmlLink":"Removed usage of command line options in Name"}},{"before":"c4248b5c3e2b10f39dbdbf02ed65af539ea7f39d","after":"40505fa74be00732db2a7603966bd519c885072e","ref":"refs/heads/output-improvements","pushedAt":"2024-06-06T21:48:04.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"piotrsiupa","name":"Piotr Siupa","path":"/piotrsiupa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/104639265?s=80&v=4"},"commit":{"message":"Improved `README.md`\n\n- Reordered and reworded the input example slightly, so it's much less\n confusing for a first-time reader.\n- Added example for output format \"human\".","shortMessageHtmlLink":"Improved README.md"}},{"before":null,"after":"c4248b5c3e2b10f39dbdbf02ed65af539ea7f39d","ref":"refs/heads/output-improvements-limit","pushedAt":"2024-06-06T21:48:04.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"piotrsiupa","name":"Piotr Siupa","path":"/piotrsiupa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/104639265?s=80&v=4"},"commit":{"message":"Switched to C++20\n\nC++17 is lacking some useful things that I want for the next commit.\n\n(This change was also done in another branch, which is why I don't try\nto use C++20 functions in the entire program.)","shortMessageHtmlLink":"Switched to C++20"}},{"before":"a45c08ab066fe87a5a2af5a561e9badaf675fb52","after":"c4248b5c3e2b10f39dbdbf02ed65af539ea7f39d","ref":"refs/heads/output-improvements","pushedAt":"2024-06-05T18:32:24.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"piotrsiupa","name":"Piotr Siupa","path":"/piotrsiupa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/104639265?s=80&v=4"},"commit":{"message":"Switched to C++20\n\nC++17 is lacking some useful things that I want for the next commit.\n\n(This change was also done in another branch, which is why I don't try\nto use C++20 functions in the entire program.)","shortMessageHtmlLink":"Switched to C++20"}},{"before":"40505fa74be00732db2a7603966bd519c885072e","after":"a45c08ab066fe87a5a2af5a561e9badaf675fb52","ref":"refs/heads/output-improvements","pushedAt":"2024-06-04T22:47:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"piotrsiupa","name":"Piotr Siupa","path":"/piotrsiupa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/104639265?s=80&v=4"},"commit":{"message":"Switched to C++20\n\nC++17 is lacking some useful things that I want for the next commit.\n\n(This change was also done in another branch, which is why I don't try\nto use C++20 functions in the entire program.)","shortMessageHtmlLink":"Switched to C++20"}},{"before":"b65d04c6c9ec1cf90da138df624be8b27cde8c27","after":"a9dc4d6f3297b791b26a5d2229b7242a758dad92","ref":"refs/heads/speed-cse","pushedAt":"2024-06-03T17:58:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"piotrsiupa","name":"Piotr Siupa","path":"/piotrsiupa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/104639265?s=80&v=4"},"commit":{"message":"Merged all `SetOptimizer...` into one happy class\n\nThe primary motivation was to make it faster by replacing virtual\nmethods with template specializations, but it can also simplify some\ncode.","shortMessageHtmlLink":"Merged all SetOptimizer... into one happy class"}},{"before":"0d071a79e1d4d57de05a2cd78262335e3b6646e7","after":"b65d04c6c9ec1cf90da138df624be8b27cde8c27","ref":"refs/heads/speed-cse","pushedAt":"2024-06-02T22:14:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"piotrsiupa","name":"Piotr Siupa","path":"/piotrsiupa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/104639265?s=80&v=4"},"commit":{"message":"Replaced all params of `SetOptimizer` with one\n\nThere are only 2 variants of `SetOptimizer` we it's enough to pass a\nsingle `bool` as template parameter and use it to determine all the\nother types inside the class.\n(This is a preparation for merging this class with the two ones\nimplementing its variants.)","shortMessageHtmlLink":"Replaced all params of SetOptimizer with one"}},{"before":"de9719cd96f79920434c7aa0c83eec7d623a6f81","after":"0d071a79e1d4d57de05a2cd78262335e3b6646e7","ref":"refs/heads/speed-cse","pushedAt":"2024-06-02T22:00:44.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"piotrsiupa","name":"Piotr Siupa","path":"/piotrsiupa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/104639265?s=80&v=4"},"commit":{"message":"Disabled a heuristic step that's not helpful\n\nSpecifically, it was not helpful for the heuristic \"rough\" and it was\ndisabled there only.","shortMessageHtmlLink":"Disabled a heuristic step that's not helpful"}},{"before":"6f4d237cdaadd2802da9d9701cd01ddfa57f405a","after":"40505fa74be00732db2a7603966bd519c885072e","ref":"refs/heads/output-improvements","pushedAt":"2024-06-02T09:21:54.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"piotrsiupa","name":"Piotr Siupa","path":"/piotrsiupa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/104639265?s=80&v=4"},"commit":{"message":"Improved `README.md`\n\n- Reordered and reworded the input example slightly, so it's much less\n confusing for a first-time reader.\n- Added example for output format \"human\".","shortMessageHtmlLink":"Improved README.md"}},{"before":"9488a1885402864123d49f8907e8950b526906fc","after":"6f4d237cdaadd2802da9d9701cd01ddfa57f405a","ref":"refs/heads/output-improvements","pushedAt":"2024-06-02T09:20:37.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"piotrsiupa","name":"Piotr Siupa","path":"/piotrsiupa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/104639265?s=80&v=4"},"commit":{"message":"Improved `README.md`\n\n- Reordered and reworded the input example slightly, so it's much less\n confusing for a first-time reader.\n- Added example for output format \"human\".","shortMessageHtmlLink":"Improved README.md"}},{"before":"be2de6121b3389c6f996adf570cda18d91a33206","after":"9488a1885402864123d49f8907e8950b526906fc","ref":"refs/heads/output-improvements","pushedAt":"2024-06-02T09:18:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"piotrsiupa","name":"Piotr Siupa","path":"/piotrsiupa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/104639265?s=80&v=4"},"commit":{"message":"Improved `README.md`\n\n- Reordered input example slightly, so it's much less confusing for a\n first-time reader.\n- Added example for output format \"human\".","shortMessageHtmlLink":"Improved README.md"}},{"before":"2dea37dddf721df29c95a55ebde4aae2f069c186","after":"be2de6121b3389c6f996adf570cda18d91a33206","ref":"refs/heads/output-improvements","pushedAt":"2024-06-02T08:33:53.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"piotrsiupa","name":"Piotr Siupa","path":"/piotrsiupa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/104639265?s=80&v=4"},"commit":{"message":"Added prefix \"-\" to the option `--indent`\n\nThis prefix turns off indentation on empty lines.\nPrefix \"+\" was also added for consistency. (It does nothing.)\n\nSome would say that adding over 500 (and almost doubling their number in\nthe process) just to test indentation is overdoing it, but the tests run\nfast so I don't care.","shortMessageHtmlLink":"Added prefix \"-\" to the option --indent"}},{"before":"c91fe3ed24dba9e0053eec8de2744d9052f4c305","after":"de9719cd96f79920434c7aa0c83eec7d623a6f81","ref":"refs/heads/speed-cse","pushedAt":"2024-06-01T22:26:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"piotrsiupa","name":"Piotr Siupa","path":"/piotrsiupa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/104639265?s=80&v=4"},"commit":{"message":"Disabled a heuristic step that's not helpful","shortMessageHtmlLink":"Disabled a heuristic step that's not helpful"}},{"before":"229b4743c39f7bddae6193498ee6b5f41fad3788","after":"c91fe3ed24dba9e0053eec8de2744d9052f4c305","ref":"refs/heads/speed-cse","pushedAt":"2024-05-31T22:03:41.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"piotrsiupa","name":"Piotr Siupa","path":"/piotrsiupa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/104639265?s=80&v=4"},"commit":{"message":"Added a heuristic option `--rough-width`\n\nThis limits how many elements are used to build the graphs of subsets.\nOnly N elements that are occurring in sets most often are chosen.\n\nIt seems to finally put the heuristic on a speed that is acceptable for\nthe biggest examples, considering that I've just discovered that the\nmost time is spend on some step after this heuristic.\nI didn't check how this affect the quality of results because, honestly,\nI struggling to even make this work at all for 32 inputs.","shortMessageHtmlLink":"Added a heuristic option --rough-width"}},{"before":"7133cf4921ce14ea8a930f0b12f03ad6f08c63da","after":null,"ref":"refs/heads/output-improvements-refactoring","pushedAt":"2024-05-30T19:24:29.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"piotrsiupa","name":"Piotr Siupa","path":"/piotrsiupa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/104639265?s=80&v=4"}},{"before":"49be887fcdc282697d300f01f2b42ebae8b6ab29","after":"2dea37dddf721df29c95a55ebde4aae2f069c186","ref":"refs/heads/output-improvements","pushedAt":"2024-05-30T19:24:29.000Z","pushType":"push","commitsCount":18,"pusher":{"login":"piotrsiupa","name":"Piotr Siupa","path":"/piotrsiupa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/104639265?s=80&v=4"},"commit":{"message":"Merge branch 'output-improvements-refactoring' into output-improvements","shortMessageHtmlLink":"Merge branch 'output-improvements-refactoring' into output-improvements"}},{"before":"fa166a931490122398dff6f79e9a5250471edeb6","after":"7133cf4921ce14ea8a930f0b12f03ad6f08c63da","ref":"refs/heads/output-improvements-refactoring","pushedAt":"2024-05-30T19:22:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"piotrsiupa","name":"Piotr Siupa","path":"/piotrsiupa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/104639265?s=80&v=4"},"commit":{"message":"Fixed MSVC complains about shadowing variables","shortMessageHtmlLink":"Fixed MSVC complains about shadowing variables"}},{"before":"926e02410988d901f042df48969bceeefb3bc4e9","after":"fa166a931490122398dff6f79e9a5250471edeb6","ref":"refs/heads/output-improvements-refactoring","pushedAt":"2024-05-30T16:24:25.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"piotrsiupa","name":"Piotr Siupa","path":"/piotrsiupa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/104639265?s=80&v=4"},"commit":{"message":"Bypassed Clang's poor attempts at static analysis\n\nYes, it's technically true that some branches of `if constexpr` don't\nuse the variable but it's not like you can put `[[maybe_unused]]` on\nlambda's capture list. (It's all optimized out anyway.)","shortMessageHtmlLink":"Bypassed Clang's poor attempts at static analysis"}},{"before":"a1cf20866a33d1cbdac216f06613c6712fc01623","after":"926e02410988d901f042df48969bceeefb3bc4e9","ref":"refs/heads/output-improvements-refactoring","pushedAt":"2024-05-30T09:27:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"piotrsiupa","name":"Piotr Siupa","path":"/piotrsiupa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/104639265?s=80&v=4"},"commit":{"message":"Added sanitization for strings in graph outputs\n\nAlso, reworked guard classes in `IndentedOStream` to make them more\nreliable and easier to use.","shortMessageHtmlLink":"Added sanitization for strings in graph outputs"}},{"before":"531d2224b123f4464fddcf4572ae634bec2b8167","after":"a1cf20866a33d1cbdac216f06613c6712fc01623","ref":"refs/heads/output-improvements-refactoring","pushedAt":"2024-05-29T22:13:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"piotrsiupa","name":"Piotr Siupa","path":"/piotrsiupa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/104639265?s=80&v=4"},"commit":{"message":"Passing options to `OutputComposer` via arguments\n\nEarlier the class was checking options itself but this felt like it was\ntoo coupled. Now `main` decides about the print parameters.","shortMessageHtmlLink":"Passing options to OutputComposer via arguments"}},{"before":"8d1d0698fa2bc5045efa03532f0ac3084dc28523","after":"531d2224b123f4464fddcf4572ae634bec2b8167","ref":"refs/heads/output-improvements-refactoring","pushedAt":"2024-05-29T07:43:09.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"piotrsiupa","name":"Piotr Siupa","path":"/piotrsiupa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/104639265?s=80&v=4"},"commit":{"message":"Added a guard class for `IndentedOStream`\n\nThis will prevent potential hard-to-find bugs with mismatched `indent()`\nand `deindent()` pairs. (E.g. because some `return` between them.)\n\nAlso, added assertions against overflow for `indent()` and `deindent()`.","shortMessageHtmlLink":"Added a guard class for IndentedOStream"}},{"before":"45ccabc48f4d5c99ae1b236deb39e58438286dfc","after":"8d1d0698fa2bc5045efa03532f0ac3084dc28523","ref":"refs/heads/output-improvements-refactoring","pushedAt":"2024-05-28T07:30:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"piotrsiupa","name":"Piotr Siupa","path":"/piotrsiupa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/104639265?s=80&v=4"},"commit":{"message":"Reduced boiler plate by using metaprogramming\n\nThe code of that \"incredible\" piece of metaprogramming is an unreadable\njumble of random characters and its usage requires an entire article of\nexplanations but I'm keeping it because it removes almost 500 lines from\nthe code (effectively more than that) and IMO it makes the code where it\nis used more readable (on the condition you know what your looking at.)","shortMessageHtmlLink":"Reduced boiler plate by using metaprogramming"}},{"before":"e76bb405cc44f79fe9577d147621361bbde23ad7","after":"45ccabc48f4d5c99ae1b236deb39e58438286dfc","ref":"refs/heads/output-improvements-refactoring","pushedAt":"2024-05-28T07:27:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"piotrsiupa","name":"Piotr Siupa","path":"/piotrsiupa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/104639265?s=80&v=4"},"commit":{"message":"Reduced boiler plate by using metaprogramming\n\nThe code of that \"incredible\" piece of metaprogramming is an unreadable\njumble of random characters and its usage requires an entire article of\nexplanations but I'm keeping it because it removes almost 500 lines from\nthe code (effectively more than that) and IMO it makes the code where it\nis used more readable (on the condition you know what your looking at.)","shortMessageHtmlLink":"Reduced boiler plate by using metaprogramming"}},{"before":"99831ac7c7940dc830b099e9740808828381c486","after":"e76bb405cc44f79fe9577d147621361bbde23ad7","ref":"refs/heads/output-improvements-refactoring","pushedAt":"2024-05-26T11:32:11.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"piotrsiupa","name":"Piotr Siupa","path":"/piotrsiupa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/104639265?s=80&v=4"},"commit":{"message":"Added class `IndentedOStream`\n\nThis way, the code doesn't have to be filled with `\\t` literals.","shortMessageHtmlLink":"Added class IndentedOStream"}},{"before":"52f576dae8408df00d62bc7bcb1f9663c77af075","after":"99831ac7c7940dc830b099e9740808828381c486","ref":"refs/heads/output-improvements-refactoring","pushedAt":"2024-05-26T09:07:21.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"piotrsiupa","name":"Piotr Siupa","path":"/piotrsiupa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/104639265?s=80&v=4"},"commit":{"message":"Added aliases to namespaces in `OutputComposer`\n\n(Further reducing boilerplate.)","shortMessageHtmlLink":"Added aliases to namespaces in OutputComposer"}},{"before":"261b4710032b39b9a0c035fbcc4741caf8a21448","after":"52f576dae8408df00d62bc7bcb1f9663c77af075","ref":"refs/heads/output-improvements-refactoring","pushedAt":"2024-05-25T21:49:20.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"piotrsiupa","name":"Piotr Siupa","path":"/piotrsiupa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/104639265?s=80&v=4"},"commit":{"message":"Added aliases to namespaces in `OutputComposer`\n\n(Further reducing boilerplate.)","shortMessageHtmlLink":"Added aliases to namespaces in OutputComposer"}},{"before":"50b3669af8179524cf4ea0fc2b6b37620f863736","after":"261b4710032b39b9a0c035fbcc4741caf8a21448","ref":"refs/heads/output-improvements-refactoring","pushedAt":"2024-05-25T09:54:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"piotrsiupa","name":"Piotr Siupa","path":"/piotrsiupa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/104639265?s=80&v=4"},"commit":{"message":"Merged similar functions in `OutputComposer`\n\nThere were a lot of similar or identical functions so I expected the\nsource code to shrink significantly. Alas, switch statements take huge\namounts of vertical space so the gain were below of a quarter thousand\nlines. I'll do something with those switches in a future commit.","shortMessageHtmlLink":"Merged similar functions in OutputComposer"}},{"before":null,"after":"50b3669af8179524cf4ea0fc2b6b37620f863736","ref":"refs/heads/output-improvements-refactoring","pushedAt":"2024-05-19T09:00:53.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"piotrsiupa","name":"Piotr Siupa","path":"/piotrsiupa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/104639265?s=80&v=4"},"commit":{"message":"Moved all the output related code to a new class\n\nThis way the mess is only in a single class (and this is a big mess).\nOther classes are finally readable.\nBeside moving the code, order of some functions was changed and some\nchanges were (of course) made to make the program work again after the\noperation. All output functions were also changed to take `std::ostream`\ninstead of using `std::cout`.\nGenerally, though, the code remains relatively unchanged and it still\nrequires a lot of refactoring.","shortMessageHtmlLink":"Moved all the output related code to a new class"}},{"before":"3aa92283d481c392f6c9e264f3e162f4cf0d93f3","after":"229b4743c39f7bddae6193498ee6b5f41fad3788","ref":"refs/heads/speed-cse","pushedAt":"2024-05-12T21:54:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"piotrsiupa","name":"Piotr Siupa","path":"/piotrsiupa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/104639265?s=80&v=4"},"commit":{"message":"Remove parents in graph that don't improve cost\n\nAdded a new cleanup function that remove parents for graphs which don't\nprovide enough value to justify being used. This allows to trim more\nunused nodes from the graph.","shortMessageHtmlLink":"Remove parents in graph that don't improve cost"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEYIiTegA","startCursor":null,"endCursor":null}},"title":"Activity ยท piotrsiupa/karnaugh-solver"}