Skip to content
Snippets Groups Projects
Commit aaf3f61f authored by Boris Martin's avatar Boris Martin
Browse files

Replaced a lambda by an explicit functor for compatibility issues

parent d29f3efe
No related branches found
No related tags found
1 merge request!80Various fixes
...@@ -196,6 +196,18 @@ namespace gmshfem::field ...@@ -196,6 +196,18 @@ namespace gmshfem::field
common::Timer timeComm; common::Timer timeComm;
timeComm.tick(); timeComm.tick();
// Not a lambda because of an OpenMP issue on MacOS.
struct KeyFinder {
const DofGlobalIndex key;
KeyFinder(const DofGlobalIndex &key) :
key(key) {}
bool operator()(const dofs::Dof *dof) const
{
return dof->numType() == key.first && dof->entity() == key.second;
}
};
for(auto &[key, value] : ownershipData) { for(auto &[key, value] : ownershipData) {
if(std::find(value.readers.begin(), value.readers.end(), rank) != value.readers.end()) { if(std::find(value.readers.begin(), value.readers.end(), rank) != value.readers.end()) {
...@@ -204,7 +216,7 @@ namespace gmshfem::field ...@@ -204,7 +216,7 @@ namespace gmshfem::field
msg::debug << "[" << rank << "] reads from overlap " << key.first << ',' << key.second << msg::endl; msg::debug << "[" << rank << "] reads from overlap " << key.first << ',' << key.second << msg::endl;
} }
else if(value.writers.empty()) { else if(value.writers.empty()) {
if(std::find_if(_innerDofs.begin(), _innerDofs.end(), [key](dofs::Dof *dof) { return dof->numType() == key.first && dof->entity() == key.second; }) != _innerDofs.end()) { if(std::find_if(_innerDofs.begin(), _innerDofs.end(), KeyFinder(key)) != _innerDofs.end()) {
// No one is writing it on the overlap, but it's my inner DOF, so I own it // No one is writing it on the overlap, but it's my inner DOF, so I own it
_toSendID.insert(key); _toSendID.insert(key);
++innerDofToSend; ++innerDofToSend;
... ...
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment