Skip to content

Commit ecac157

Browse files
committed
Fix ParticleContainer: amrex::Long pid
``` error: narrowing conversion from 'amrex::Long' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions,-warnings-as-errors] ```
1 parent b59f657 commit ecac157

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

Source/Particles/PhysicalParticleContainer.cpp

+10-10
Original file line numberDiff line numberDiff line change
@@ -1080,10 +1080,10 @@ PhysicalParticleContainer::AddPlasma (PlasmaInjector const& plasma_injector, int
10801080

10811081
// Max number of new particles. All of them are created,
10821082
// and invalid ones are then discarded
1083-
const int max_new_particles = Scan::ExclusiveSum(counts.size(), counts.data(), offset.data());
1083+
const amrex::Long max_new_particles = Scan::ExclusiveSum(counts.size(), counts.data(), offset.data());
10841084

10851085
// Update NextID to include particles created in this function
1086-
int pid;
1086+
amrex::Long pid;
10871087
#ifdef AMREX_USE_OMP
10881088
#pragma omp critical (add_plasma_nextid)
10891089
#endif
@@ -1092,7 +1092,7 @@ PhysicalParticleContainer::AddPlasma (PlasmaInjector const& plasma_injector, int
10921092
ParticleType::NextID(pid+max_new_particles);
10931093
}
10941094
WARPX_ALWAYS_ASSERT_WITH_MESSAGE(
1095-
static_cast<amrex::Long>(pid) + static_cast<amrex::Long>(max_new_particles) < LongParticleIds::LastParticleID,
1095+
pid + max_new_particles < LongParticleIds::LastParticleID,
10961096
"ERROR: overflow on particle id numbers");
10971097

10981098
const int cpuid = ParallelDescriptor::MyProc();
@@ -1103,8 +1103,8 @@ PhysicalParticleContainer::AddPlasma (PlasmaInjector const& plasma_injector, int
11031103
DefineAndReturnParticleTile(lev, grid_id, tile_id);
11041104
}
11051105

1106-
auto old_size = particle_tile.size();
1107-
auto new_size = old_size + max_new_particles;
1106+
amrex::Long old_size = particle_tile.size();
1107+
amrex::Long new_size = old_size + max_new_particles;
11081108
particle_tile.resize(new_size);
11091109

11101110
auto& soa = particle_tile.GetStructOfArrays();
@@ -1639,10 +1639,10 @@ PhysicalParticleContainer::AddPlasmaFlux (PlasmaInjector const& plasma_injector,
16391639

16401640
// Max number of new particles. All of them are created,
16411641
// and invalid ones are then discarded
1642-
const int max_new_particles = Scan::ExclusiveSum(counts.size(), counts.data(), offset.data());
1642+
const amrex::Long max_new_particles = Scan::ExclusiveSum(counts.size(), counts.data(), offset.data());
16431643

16441644
// Update NextID to include particles created in this function
1645-
int pid;
1645+
amrex::Long pid;
16461646
#ifdef AMREX_USE_OMP
16471647
#pragma omp critical (add_plasma_nextid)
16481648
#endif
@@ -1651,15 +1651,15 @@ PhysicalParticleContainer::AddPlasmaFlux (PlasmaInjector const& plasma_injector,
16511651
ParticleType::NextID(pid+max_new_particles);
16521652
}
16531653
WARPX_ALWAYS_ASSERT_WITH_MESSAGE(
1654-
static_cast<amrex::Long>(pid) + static_cast<amrex::Long>(max_new_particles) < LongParticleIds::LastParticleID,
1654+
pid + max_new_particles < LongParticleIds::LastParticleID,
16551655
"overflow on particle id numbers");
16561656

16571657
const int cpuid = ParallelDescriptor::MyProc();
16581658

16591659
auto& particle_tile = tmp_pc.DefineAndReturnParticleTile(0, grid_id, tile_id);
16601660

1661-
auto old_size = particle_tile.size();
1662-
auto new_size = old_size + max_new_particles;
1661+
amrex::Long old_size = particle_tile.size();
1662+
amrex::Long new_size = old_size + max_new_particles;
16631663
particle_tile.resize(new_size);
16641664

16651665
auto& soa = particle_tile.GetStructOfArrays();

0 commit comments

Comments
 (0)