From 95251950c86378675dbca15e64bdc98949b603cc Mon Sep 17 00:00:00 2001 From: Axel Huebl Date: Sun, 22 Nov 2020 15:14:17 -0800 Subject: CI: Windows (#1521) * CI: Windows Add an MSVC build to CI. * Windows: _USE_MATH_DEFINES Fix: ``` error C2065: 'M_PI': undeclared identifier ``` * Windows: no unistd.h fix: ``` fatal error C1083: Cannot open include file: 'unistd.h': No such file or directory ``` * Injector: Trivially Copyable only GPU Only strictly required when we memcopy to accelerator devices. * Flex: never-interactive We don't use the interactive mode, so we can save some performance and address: ``` Parser\wp_parser.lex.cpp(1503,40): error C3861: 'isatty': identifier not found ``` Alternatively, we can include `` on Windows. * MSVC: Vector != Vector Fix return and assignment issues with `amrex::Long` != `long` in `amrex::Vector`. ``` Particles\MultiParticleContainer.cpp(438,13): error C2440: 'return': cannot convert from 'const amrex::Vector>' to 'amrex::Vector>' Particles\MultiParticleContainer.cpp(452,94): error C2440: 'initializing': cannot convert from 'amrex::Vector>' to 'amrex::Vector>' Particles\MultiParticleContainer.cpp(459,60): error C2665: 'amrex::ParallelDescriptor::ReduceLongSum': none of the 6 overloads could convert all the argument types Particles\WarpXParticleContainer.cpp(782,51): error C2665: 'amrex::ParallelDescriptor::ReduceLongSum': none of the 6 overloads could convert all the argument types ``` * Windows CI: Parallel Build --- Source/Particles/MultiParticleContainer.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'Source/Particles/MultiParticleContainer.cpp') diff --git a/Source/Particles/MultiParticleContainer.cpp b/Source/Particles/MultiParticleContainer.cpp index cc274655d..2b1f310b0 100644 --- a/Source/Particles/MultiParticleContainer.cpp +++ b/Source/Particles/MultiParticleContainer.cpp @@ -429,7 +429,7 @@ MultiParticleContainer::ApplyBoundaryConditions () } } -Vector +Vector MultiParticleContainer::GetZeroParticlesInGrid (const int lev) const { WarpX& warpx = WarpX::GetInstance(); @@ -438,18 +438,18 @@ MultiParticleContainer::GetZeroParticlesInGrid (const int lev) const return r; } -Vector +Vector MultiParticleContainer::NumberOfParticlesInGrid (int lev) const { if (allcontainers.size() == 0) { - const Vector r = GetZeroParticlesInGrid(lev); + const Vector r = GetZeroParticlesInGrid(lev); return r; } else { const bool only_valid=true, only_local=true; - Vector r = allcontainers[0]->NumberOfParticlesInGrid(lev,only_valid,only_local); + Vector r = allcontainers[0]->NumberOfParticlesInGrid(lev,only_valid,only_local); for (unsigned i = 1, n = allcontainers.size(); i < n; ++i) { const auto& ri = allcontainers[i]->NumberOfParticlesInGrid(lev,only_valid,only_local); for (unsigned j=0, m=ri.size(); j