PISet fix

This commit is contained in:
2024-04-05 21:02:37 +03:00
parent 9f29155d07
commit 04d3e31dbc
2 changed files with 13 additions and 11 deletions

View File

@@ -210,7 +210,7 @@ public:
//! Intersect set with "v" //! Intersect set with "v"
PISet<T> & intersect(const PISet<T> & v) { PISet<T> & intersect(const PISet<T> & v) {
_CSet::removeWhere([&v](const T & k, uchar) { return v.contains(k); }); _CSet::removeWhere([&v](const T & k, uchar) { return !v.contains(k); });
return *this; return *this;
} }

View File

@@ -5,20 +5,22 @@
#include "piliterals_time.h" #include "piliterals_time.h"
#include "pimathbase.h" #include "pimathbase.h"
#include "pip.h" #include "pip.h"
#include "pivaluetree.h" #include "pivaluetree_conversions.h"
using namespace PICoutManipulators; using namespace PICoutManipulators;
int main(int argc, char * argv[]) { int main(int argc, char * argv[]) {
// PICodeParser cp; /*PISerial ser;
// cp.parseFile("kmm_types.h", false); ser.setSpeed(PISerial::S115200);
piCout << (1_Hz * 100).toSystemTime().toSeconds(); piCout << ser.open("COM15", PIIODevice::ReadWrite);
piCout << (1_Hz * 100); CONNECTL(&ser, threadedReadEvent, ([](const uchar * data, ssize_t size) { piCout << PIByteArray(data, size); }));
piCout << (1_Hz + 10_GHz); ser.startThreadedRead();
piCout << (100_Hz + 1_KHz - 10_Hz); (2_s).sleep();
piCout << PISystemTime::Frequency::fromSystemTime({0, 200000000}); ser.stopAndWait();*/
piCout << PISystemTime::Frequency::fromSystemTime(25_ms); PISet<int> set = {1, 3, 4};
piCout << PISystemTime::Frequency::fromSystemTime(25_ms).toSystemTime().toMilliseconds(); set |= PISet<int>{2, 4};
set -= PISet<int>{2};
piCout << set << (set & PISet<int>{1, 2, 4});
return 0; return 0;
} }