Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion src/Expression/IpplExpressions.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@
#ifndef IPPL_EXPRESSIONS_H
#define IPPL_EXPRESSIONS_H

#include <type_traits>
#include <Kokkos_Macros.hpp> // for KOKKOS_INLINE_FUNCTION, KOKKOS_FUNCTION
#include <cstdlib> // for size_t
#include <type_traits> // for false_type, true_type

namespace ippl {
namespace detail {
Expand Down
29 changes: 17 additions & 12 deletions src/Field/BareField.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,21 @@
#ifndef IPPL_BARE_FIELD_H
#define IPPL_BARE_FIELD_H

#include <Kokkos_Core.hpp>
#include <cstdlib> // for size_t
#include <ostream> // for std::ostream

#include <cstdlib>
#include <iostream>
#include "Types/IpplTypes.h" // for detail::size_type
#include "Types/ViewTypes.h" // for detail::ViewType

#include "Types/IpplTypes.h"
#include "Utility/Inform.h" // for Inform
#include "Utility/PAssert.h" // for PAssert and PAssert_LE
#include "Utility/ParallelDispatch.h" // for RangePolicy

#include "Utility/IpplInfo.h"
#include "Utility/PAssert.h"
#include "Utility/ViewUtils.h"
#include "Expression/IpplExpressions.h" // for detail::Expression

#include "Expression/IpplExpressions.h"

#include "Field/HaloCells.h"
#include "FieldLayout/FieldLayout.h"
#include "Field/HaloCells.h" // for detail::HaloCells
#include "FieldLayout/FieldLayout.h" // for FieldLayout
#include "Index/NDIndex.h" // for NDIndex

namespace ippl {
class Index;
Expand Down Expand Up @@ -227,7 +227,12 @@ namespace ippl {

} // namespace ippl

#ifndef IPPL_BARE_FIELD_HPP
#include "Field/BareField.hpp"
#endif // IPPL_BARE_FIELD_HPP

#ifndef IPPL_BARE_FIELD_OPERATIONS_HPP
#include "Field/BareFieldOperations.hpp"
#endif // IPPL_BARE_FIELD_OPERATIONS_HPP

#endif
#endif // IPPL_BARE_FIELD_H
13 changes: 12 additions & 1 deletion src/Field/BareField.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,16 @@
// Class BareField
// A BareField consists of multple LFields and represents a field.
//
#include "Ippl.h"

#ifndef IPPL_BARE_FIELD_HPP
#define IPPL_BARE_FIELD_HPP

// clang-format off
#ifndef IPPL_BARE_FIELD_H
// HACK: cyclic anitpattern, but necessary for proper LSP markup
#include "Field/BareField.h"
#endif
// clang-format on

#include <Kokkos_ReductionIdentity.hpp>
#include <cstdlib>
Expand Down Expand Up @@ -223,3 +232,5 @@ namespace ippl {
DefineReduction(Prod, prod, valL *= myVal, std::multiplies)

} // namespace ippl

#endif // IPPL_BARE_FIELD_HPP
15 changes: 15 additions & 0 deletions src/Field/BareFieldOperations.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,19 @@
// File BareFieldOperations
// Norms and a scalar product for fields
//
#ifndef IPPL_BARE_FIELD_OPERATIONS_HPP
#define IPPL_BARE_FIELD_OPERATIONS_HPP

// clang-format off
#ifndef IPPL_BARE_FIELD_H
// HACK: cyclic anitpattern, but necessary for proper LSP markup
// FIXME: Use a BareField concept, until then this include is needless
#include "Field/BareField.h"
#endif
// clang-format on

#include "Utility/IpplTimings.h"
#include "Utility/ParallelDispatch.h"

#include <Kokkos_MathematicalFunctions.hpp>

Expand Down Expand Up @@ -95,3 +108,5 @@ namespace ippl {
}
}
} // namespace ippl

#endif // IPPL_BARE_FIELD_OPERATIONS_HPP
2 changes: 2 additions & 0 deletions src/FieldLayout/FieldLayout.cpp
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#include <string>

#include "Utility/IpplException.h"

namespace ippl {
Expand Down
5 changes: 3 additions & 2 deletions src/FieldLayout/FieldLayout.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@

#include "Communicate/Communicator.h"
#include "Index/NDIndex.h"
#include "Partition/Partitioner.h"

namespace ippl {

Expand Down Expand Up @@ -399,6 +398,8 @@ namespace ippl {
}
} // namespace ippl

#ifndef IPPL_FIELD_LAYOUT_HPP
#include "FieldLayout/FieldLayout.hpp"
#endif // IPPL_FIELD_LAYOUT_HPP

#endif
#endif // IPPL_FIELD_LAYOUT_H
16 changes: 11 additions & 5 deletions src/FieldLayout/FieldLayout.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,20 @@
// partitioning. The user may request that a particular dimension not be
// partitioned by flagging that axis as 'SERIAL' (instead of 'PARALLEL').
//
#include "Ippl.h"
#ifndef IPPL_FIELD_LAYOUT_HPP
#define IPPL_FIELD_LAYOUT_HPP

#include <cstdlib>
#include <limits>
// clang-format off
#ifndef IPPL_FIELD_LAYOUT_H
// HACK: cyclic anitpattern, but necessary for proper LSP markup
#include "FieldLayout/FieldLayout.h"
#endif
// clang-format on

#include "Utility/IpplException.h"
#include "Utility/IpplTimings.h"
#include "Utility/PAssert.h"

#include "FieldLayout/FieldLayout.h"
#include "Partition/Partitioner.h"

namespace ippl {

Expand Down Expand Up @@ -344,3 +348,5 @@ namespace ippl {
}

} // namespace ippl

#endif // IPPL_FIELD_LAYOUT_HPP
7 changes: 2 additions & 5 deletions src/FieldLayout/SubFieldLayout.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,6 @@
#ifndef IPPL_SUB_FIELD_LAYOUT_H
#define IPPL_SUB_FIELD_LAYOUT_H

#include <array>
#include <iostream>
#include <map>
#include <vector>

#include "Types/ViewTypes.h"

#include "Communicate/Communicator.h"
Expand Down Expand Up @@ -178,6 +173,8 @@ namespace ippl {
};
} // namespace ippl

#ifndef IPPL_SUB_FIELD_LAYOUT_HPP
#include "FieldLayout/SubFieldLayout.hpp"
#endif

#endif
19 changes: 10 additions & 9 deletions src/FieldLayout/SubFieldLayout.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,15 @@
// It ensures that the sub-region is partitioned in the same way as the original FieldLayout,
// maintaining consistent parallel decomposition and neighbor relationships within the sub-region.
//
#include "Ippl.h"

#include <cstdlib>
#include <limits>

#include "Utility/IpplException.h"
#include "Utility/IpplTimings.h"
#include "Utility/PAssert.h"
#ifndef IPPL_SUB_FIELD_LAYOUT_HPP
#define IPPL_SUB_FIELD_LAYOUT_HPP

// clang-format off
#ifndef IPPL_SUB_FIELD_LAYOUT_H
// HACK: cyclic anitpattern, but necessary for proper LSP markup
#include "FieldLayout/SubFieldLayout.h"
#endif
// clang-format on

namespace ippl {

Expand Down Expand Up @@ -125,4 +124,6 @@ namespace ippl {
originDomain_m = domain;
}

} // namespace ippl
} // namespace ippl

#endif // IPPL_SUB_FIELD_LAYOUT_HPP
17 changes: 12 additions & 5 deletions src/Types/Vector.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,17 @@
// Class Vector
// Vector class used for vector fields and particle attributes like the coordinate.
//
#ifndef IPPL_Vector_H
#define IPPL_Vector_H
#ifndef IPPL_VECTOR_H
#define IPPL_VECTOR_H

#include <initializer_list>
#include <Kokkos_Macros.hpp> // for KOKKOS_INLINE_FUNCTION
#include <array> // for array
#include <cstdlib> // for size_t
#include <initializer_list> // for initializer_list
#include <type_traits> // for enable_if, true_type
#include <vector> // for vector

#include "Expression/IpplExpressions.h"
#include "Expression/IpplExpressions.h" // for Expression, isExpression...

namespace ippl {
/*!
Expand Down Expand Up @@ -110,6 +115,8 @@ namespace ippl {
KOKKOS_INLINE_FUNCTION Vector<T, Dim> max(const Vector<T, Dim>& a, const Vector<T, Dim>& b);
} // namespace ippl

#ifndef IPPL_VECTOR_HPP
#include "Vector.hpp"

#endif

#endif // IPPL_VECTOR_H
20 changes: 17 additions & 3 deletions src/Types/Vector.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,23 @@
// Class Vector
// Vector class used for vector fields and particle attributes like the coordinate.
//
// #include "Utility/PAssert.h"

#include <iomanip>
#include <iostream>
#ifndef IPPL_VECTOR_HPP
#define IPPL_VECTOR_HPP

// clang-format off
#ifndef IPPL_Vector_H
// HACK: cyclic anitpattern, but necessary for proper LSP markup
#include "Vector.h"
#endif
// clang-format on

#include <Kokkos_MinMax.hpp> // for max, min
#include <iomanip> // for operator<<, setw
#include <iostream> // for basic_ostream, char_traits

#include "Kokkos_Macros.hpp" // for KOKKOS_INLINE_FUNCTION
#include "Kokkos_MathematicalFunctions.hpp" // for pow, abs

namespace ippl {
namespace detail {
Expand Down Expand Up @@ -232,6 +245,7 @@ namespace ippl {
}
} // namespace ippl

#endif // IPPL_VECTOR_HPP
// vi: set et ts=4 sw=4 sts=4:
// Local Variables:
// mode:c
Expand Down
Loading