Skip to content

Commit

Permalink
appease cppcheck
Browse files Browse the repository at this point in the history
  • Loading branch information
tommy-waltmann committed Jul 22, 2024
1 parent fa6416e commit 50af9a6
Show file tree
Hide file tree
Showing 4 changed files with 35 additions and 39 deletions.
66 changes: 31 additions & 35 deletions cpp/locality/NeighborList.cc
Original file line number Diff line number Diff line change
Expand Up @@ -11,26 +11,24 @@

namespace freud { namespace locality {

NeighborList::NeighborList() : m_num_query_points(0), m_num_points(0), m_segments_counts_updated(false)
{
m_neighbors = std::make_shared<util::ManagedArray<unsigned int>>();
m_distances = std::make_shared<util::ManagedArray<float>>();
m_weights = std::make_shared<util::ManagedArray<float>>();
m_vectors = std::make_shared<util::ManagedArray<vec3<float>>>();
m_segments = std::make_shared<util::ManagedArray<unsigned int>>();
m_counts = std::make_shared<util::ManagedArray<unsigned int>>();
}
NeighborList::NeighborList() : m_num_query_points(0), m_num_points(0), m_segments_counts_updated(false),
m_neighbors(std::make_shared<util::ManagedArray<unsigned int>>()),
m_distances(std::make_shared<util::ManagedArray<float>>()),
m_weights(std::make_shared<util::ManagedArray<float>>()),
m_vectors(std::make_shared<util::ManagedArray<vec3<float>>>()),
m_segments(std::make_shared<util::ManagedArray<unsigned int>>()),
m_counts(std::make_shared<util::ManagedArray<unsigned int>>())
{}

NeighborList::NeighborList(unsigned int num_bonds)
: m_num_query_points(0), m_num_points(0), m_segments_counts_updated(false)
{
m_neighbors = std::make_shared<util::ManagedArray<unsigned int>>(std::vector<size_t> {num_bonds, 2});
m_distances = std::make_shared<util::ManagedArray<float>>(num_bonds);
m_weights = std::make_shared<util::ManagedArray<float>>(num_bonds);
m_vectors = std::make_shared<util::ManagedArray<vec3<float>>>(num_bonds);
m_segments = std::make_shared<util::ManagedArray<unsigned int>>();
m_counts = std::make_shared<util::ManagedArray<unsigned int>>();
}
: m_num_query_points(0), m_num_points(0), m_segments_counts_updated(false),
m_neighbors(std::make_shared<util::ManagedArray<unsigned int>>(std::vector<size_t> {num_bonds, 2})),
m_distances(std::make_shared<util::ManagedArray<float>>(num_bonds)),
m_weights(std::make_shared<util::ManagedArray<float>>(num_bonds)),
m_vectors(std::make_shared<util::ManagedArray<vec3<float>>>(num_bonds)),
m_segments(std::make_shared<util::ManagedArray<unsigned int>>()),
m_counts(std::make_shared<util::ManagedArray<unsigned int>>())
{}

NeighborList::NeighborList(const NeighborList& other)
: m_num_query_points(other.m_num_query_points), m_num_points(other.m_num_points),
Expand All @@ -42,14 +40,14 @@ NeighborList::NeighborList(const NeighborList& other)
NeighborList::NeighborList(unsigned int num_bonds, const unsigned int* query_point_index,
unsigned int num_query_points, const unsigned int* point_index,
unsigned int num_points, const vec3<float>* vectors, const float* weights)
: m_num_query_points(num_query_points), m_num_points(num_points), m_segments_counts_updated(false)
: m_num_query_points(num_query_points), m_num_points(num_points), m_segments_counts_updated(false),
m_neighbors(std::make_shared<util::ManagedArray<unsigned int>>(std::vector<size_t> {num_bonds, 2})),
m_distances(std::make_shared<util::ManagedArray<float>>(num_bonds)),
m_weights(std::make_shared<util::ManagedArray<float>>(num_bonds)),
m_vectors(std::make_shared<util::ManagedArray<vec3<float>>>(num_bonds)),
m_segments(std::make_shared<util::ManagedArray<unsigned int>>(num_query_points)),
m_counts(std::make_shared<util::ManagedArray<unsigned int>>(num_query_points))
{
m_neighbors = std::make_shared<util::ManagedArray<unsigned int>>(std::vector<size_t> {num_bonds, 2});
m_distances = std::make_shared<util::ManagedArray<float>>(num_bonds);
m_weights = std::make_shared<util::ManagedArray<float>>(num_bonds);
m_vectors = std::make_shared<util::ManagedArray<vec3<float>>>(num_bonds);
m_segments = std::make_shared<util::ManagedArray<unsigned int>>(num_query_points);
m_counts = std::make_shared<util::ManagedArray<unsigned int>>(num_query_points);
unsigned int last_index(0);
for (unsigned int i = 0; i < num_bonds; i++)
{
Expand All @@ -75,7 +73,9 @@ NeighborList::NeighborList(unsigned int num_bonds, const unsigned int* query_poi
NeighborList::NeighborList(const vec3<float>* points, const vec3<float>* query_points, const box::Box& box,
const bool exclude_ii, const unsigned int num_points,
const unsigned int num_query_points)
: m_num_points(num_points), m_num_query_points(num_query_points), m_segments_counts_updated(false)
: m_num_points(num_points), m_num_query_points(num_query_points), m_segments_counts_updated(false),
m_segments(std::make_shared<util::ManagedArray<unsigned int>>(num_query_points)),
m_counts(std::make_shared<util::ManagedArray<unsigned int>>(num_query_points))
{
// prepare member arrays
const unsigned int num_ii = (exclude_ii ? std::min(num_points, num_query_points) : 0);
Expand All @@ -85,8 +85,6 @@ NeighborList::NeighborList(const vec3<float>* points, const vec3<float>* query_p
m_distances = std::make_shared<util::ManagedArray<float>>(num_bonds);
m_weights = std::make_shared<util::ManagedArray<float>>(num_bonds);
m_vectors = std::make_shared<util::ManagedArray<vec3<float>>>(num_bonds);
m_segments = std::make_shared<util::ManagedArray<unsigned int>>(num_query_points);
m_counts = std::make_shared<util::ManagedArray<unsigned int>>(num_query_points);

util::forLoopWrapper(0, num_query_points, [&](size_t begin, size_t end) {
for (unsigned int i = begin; i < end; ++i)
Expand Down Expand Up @@ -118,19 +116,17 @@ NeighborList::NeighborList(const vec3<float>* points, const vec3<float>* query_p
});
}

NeighborList::NeighborList(std::vector<NeighborBond> bonds)
NeighborList::NeighborList(std::vector<NeighborBond> bonds) :
m_distances(std::make_shared<util::ManagedArray<float>>(bonds.size())),
m_vectors(std::make_shared<util::ManagedArray<vec3<float>>>(bonds.size())),
m_weights(std::make_shared<util::ManagedArray<float>>(bonds.size())),
m_neighbors(std::make_shared<util::ManagedArray<unsigned int>>(std::vector<size_t> {bonds.size(), 2}))
{
// keep track of maximum indices
using MaxIndex = tbb::enumerable_thread_specific<unsigned int>;
MaxIndex max_idx_query = 0;
MaxIndex max_idx_point = 0;

// prep arrays to populate
m_distances = std::make_shared<util::ManagedArray<float>>(bonds.size());
m_vectors = std::make_shared<util::ManagedArray<vec3<float>>>(bonds.size());
m_weights = std::make_shared<util::ManagedArray<float>>(bonds.size());
m_neighbors = std::make_shared<util::ManagedArray<unsigned int>>(std::vector<size_t> {bonds.size(), 2});

// fill arrays in parallel
util::forLoopWrapper(0, bonds.size(), [&](size_t begin, size_t end) {
MaxIndex::reference max_point_idx(max_idx_point.local());
Expand Down
4 changes: 2 additions & 2 deletions cpp/util/ManagedArray.h
Original file line number Diff line number Diff line change
Expand Up @@ -68,9 +68,9 @@ template<typename T> class ManagedArray
/**
* Copy constructor
* */
ManagedArray(const ManagedArray& other) : m_shape(other.m_shape), m_size(other.m_size)
ManagedArray(const ManagedArray& other) : m_shape(other.m_shape), m_size(other.m_size),
m_data(std::vector<T>(other.m_size))
{
m_data = std::vector<T>(other.m_size);
for (unsigned int i = 0; i < m_size; ++i)
{
m_data[i] = other.m_data[i];
Expand Down
2 changes: 2 additions & 0 deletions cpp/util/VectorMath.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,11 @@ template<class Real> struct vec3
constexpr vec3(const Real& _x, const Real& _y, const Real& _z) : x(_x), y(_y), z(_z) {}

//! Implicit cast from vec3<double> to the current Real
// cppcheck-suppress noExplicitConstructor
constexpr vec3(const vec3<double>& a) : x(a.x), y(a.y), z(a.z) {}

//! Implicit cast from vec3<float> to the current Real
// cppcheck-suppress noExplicitConstructor
constexpr vec3(const vec3<float>& a) : x(a.x), y(a.y), z(a.z) {}

//! Default construct a 0 vector
Expand Down
2 changes: 0 additions & 2 deletions cpp/util/export_Vector.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ template<typename T> struct VectorWrapper
{
std::vector<T>* self_cpp = nanobind::cast<std::vector<T>*>(self);
auto dims = {self_cpp->size()};
auto ndim = 1;
auto data_ptr = self_cpp->data();
return nanobind::ndarray<nanobind::numpy, const T>((void*) data_ptr, dims, self);
}
Expand All @@ -37,7 +36,6 @@ template<typename T> struct VectorWrapper<vec3<T>>
// get array data like before
size_t size = self_cpp->size();
std::initializer_list<size_t> dims = {size, 3};
auto ndim = 2;
auto data_ptr = self_cpp->data();

// now return the array
Expand Down

0 comments on commit 50af9a6

Please sign in to comment.