Code indexing in gitaly is broken and leads to code not being visible to the user. We work on the issue with highest priority.

Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • OPAL/src
  • zheng_d/src
  • ext-rogers_c/src
  • ext-wang_c/src
  • cortes_c/src
  • ext-calvo_p/src
  • ext-edelen_a/src
  • albajacas_a/src
  • kraus/src
  • snuverink_j/OPAL-src
  • adelmann/src
  • muralikrishnan/src
  • wyssling_t/src
  • gsell/src
  • ext-piot_p/src
  • OPAL/opal-src-4-opalx-debug
  • winkle_m/src
17 results
Show changes
Commits on Source (627)
Showing
with 229 additions and 135 deletions
---
Language: Cpp
BasedOnStyle: Google
AccessModifierOffset: -4
AlignAfterOpenBracket: AlwaysBreak
AlignConsecutiveAssignments: true
AllowShortFunctionsOnASingleLine: None
AllowShortIfStatementsOnASingleLine: Never
AllowShortLambdasOnASingleLine: Empty
AllowShortLoopsOnASingleLine: false
BreakBeforeBinaryOperators: NonAssignment
ColumnLimit: 100
DerivePointerAlignment: false
IndentWidth: 4
IncludeBlocks: Preserve
IndentGotoLabels: false
NamespaceIndentation: All
...
(
(nil . (
(indent-tabs-mode . nil)
(require-final-newline . nil)
)
)
(cmake-mode . (
(cmake-tab-width . 4)
)
)
(c-mode . (
(c-basic-offset . 4)
)
)
(c++-mode . (
(c-basic-offset . 4)
)
)
)
......@@ -2,7 +2,9 @@
*~
*.o
*.a
*.so
*.aux
__pycache__
optimizer/Tests/*.exe
build
CMakeCache.txt
......
**source code and binary**
* [ ] create branch YEAR.N
* [ ] create issue "Release version YEAR.N" and merge request
* [ ] update version string in Doxyfile
* [ ] update the version string in CMakeLists.txt and commit
* [ ] wait for approval of MR and merge
* [ ] tag version YEAR.N.0
* [ ] upload source tar-ball to `/afs/psi.ch/project/amas/webhosting/Downloads/OPAL/src`
* [ ] compile new binary for Linux
* [ ] upload Linux binary package to `/afs/psi.ch/project/amas/webhosting/Downloads/OPAL/package/`
* [ ] compile new binary for macOS
* [ ] upload macOS binary package to `/afs/psi.ch/project/amas/webhosting/Downloads/OPAL/package/`
**manual/documentation**
* [ ] setup a new branch for the new version of the manual
* [ ] fix version, branches and links in `Manual.attributes`
* [ ] clone repository into `/afs/psi.ch/project/amas/webhosting/opal/Documentation/x.y` and checkout new branch (`git clone https://gitlab.psi.ch/OPAL/documentation/manual.git`)
* [ ] add links to the binaries in the wiki
* [ ] update https://gitlab.psi.ch/OPAL/src/wikis/For-Developers/Compile-OPAL
* [ ] compile the change log/release notes and publish it in the wiki: https://gitlab.psi.ch/OPAL/src/wikis/ReleaseNotes
* [ ] review the file `src/addToDoxygenMainPage.h`
* [ ] build Doxygen documentation
* [ ] update https://gitlab.psi.ch/OPAL/src/wikis/home
* [ ] update https://gitlab.psi.ch/OPAL/src/wikis/regression-tests
**tracker**
* [ ] new milestone for `OPAL x.(y+1)`
* [ ] update labels and milestones in issues
**regression-tests**
* [ ] create new branch x.y
* [ ] setup the regression-tests to run the new version on opalrunner.psi.ch
**varia**
* [ ] PSI module
* [ ] write e-mail to mailing list
set et ts=4 sw=4 sts=4
\ No newline at end of file
cmake_minimum_required (VERSION 3.1)
project (OPAL VERSION 2.3.0)
cmake_minimum_required (VERSION 3.12)
cmake_policy(VERSION 3.12)
project (OPAL VERSION 2024.2)
set (PROJECT_BUGREPORT opal@lists.psi.ch)
string (REGEX REPLACE "\\.([0-9])\\." ".0\\1." PACKAGE_VERSION ${PROJECT_VERSION})
......@@ -26,6 +28,13 @@ set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 -g ")
set (CMAKE_CXX_FLAGS_RELEASE "-O3")
set (CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
string(TOUPPER "${CMAKE_BUILD_TYPE}" uppercase_CMAKE_BUILD_TYPE)
if (uppercase_CMAKE_BUILD_TYPE MATCHES "^(DEBUG|RELWITHDEBINFO)$")
option (BUILD_FOR_PRODUCTION "Disable all assertion checks; Only use for production" OFF)
else()
option (BUILD_FOR_PRODUCTION "Disable all assertion checks; Only use for production" ON)
endif()
# Resolve all library dependencies
set (CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMakeModules")
......@@ -37,10 +46,11 @@ message (STATUS "The underlying C++ compiler is: ${CMAKE_CXX_COMPILER}")
option (ENABLE_OpenMP "Use hybrid parallelism MPI-OpenMP" OFF)
set (CMAKE_CXX_STANDARD 11)
set (CMAKE_CXX_STANDARD 17)
set (CMAKE_CXX_STANDARD_REQUIRED ON)
set (CMAKE_CXX_EXTENSIONS OFF)
# Disable compile time assert (used by IPPL)
add_definitions (-DNOCTAssert)
add_compile_options (-Wall)
......@@ -51,10 +61,27 @@ add_compile_options (-Werror)
add_compile_options (-funroll-loops)
add_compile_options (-fstrict-aliasing)
option (USE_STATIC_LIBRARIES "Link with static libraries if available" ON)
if (NOT ${USE_STATIC_LIBRARIES})
option (WILL_BUILD_STATIC_LIBRARY "Building static library" ON)
option (BUILD_OPAL_PYTHON "Building Python interface for OPAL" OFF)
option (WILL_BUILD_SHARED_LIBRARY "Building python hooks - requires dynamic libs" OFF)
if (BUILD_OPAL_PYTHON)
if (NOT WILL_BUILD_SHARED_LIBRARY)
message (FATAL_ERROR "For building python hooks you have to enable WILL_BUILD_SHARED_LIBRARY")
endif()
find_package (Python3 COMPONENTS Development REQUIRED)
endif ()
if (${WILL_BUILD_SHARED_LIBRARY})
add_compile_options (-fPIE -fPIC)
add_link_options (-pie)
# force OPAL to link to shared libraries
if (UNIX)
set(CMAKE_FIND_LIBRARY_SUFFIXES ".so")
elseif (APPLE)
set(CMAKE_FIND_LIBRARY_SUFFIXES ".dylib")
else()
MESSAGE(FATAL_ERROR "Operating system not APPLE or UNIX - quitting")
endif()
endif ()
# compiler dependent flags
......@@ -75,16 +102,28 @@ elseif (${CMAKE_CXX_COMPILER_ID} MATCHES "Clang")
# is using this visibility setting.
add_compile_options (-fvisibility=hidden)
add_compile_options (-fvisibility-inlines-hidden)
# Allow overloaded virtual functions (instances to be fixed in OPAL)
#add_compile_options (-Wno-overloaded-virtual)
add_compile_options (-Wno-deprecated-declarations)
add_compile_options (-Wno-deprecated-builtins)
add_compile_options (-Wno-deprecated-copy)
if (ENABLE_OpenMP)
add_compile_options (-fopenmp)
add_link_options (-fopenmp)
if (CMAKE_HOST_APPLE)
message(FATAL_ERROR "Apple Clang does not support OpenMP!")
else ()
add_compile_options (-fopenmp)
add_link_options (-fopenmp)
endif ()
endif ()
elseif (${CMAKE_CXX_COMPILER_ID} MATCHES "GNU")
if (${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS "4.7.3")
message (FATAL_ERROR "To build OPAL you need GCC version 4.7.3 or greater")
# An error in Trilinos/12.18.1 causes
# -Waggressive-loop-optimizations with -O3 optimization.
# See issue 587 and corresponding merge request 415.
# Clang does not support this flag!
add_compile_options (-fno-aggressive-loop-optimizations)
add_compile_options (-Wno-error=cpp)
if (${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS "9.5.0")
message (FATAL_ERROR "To build OPAL you need GCC version 9.5.0 or greater")
endif ()
# Warning flags
......@@ -93,11 +132,16 @@ elseif (${CMAKE_CXX_COMPILER_ID} MATCHES "GNU")
add_link_options (-fopenmp)
endif ()
# Enables extra error checking in the form of precondition assertion, such
# as bounds checking and null pointer checks when dereferencing smart pointers
if (NOT ${BUILD_FOR_PRODUCTION})
add_compile_options(-Wp,-D_GLIBCXX_ASSERTIONS)
endif()
enable_language (Fortran OPTIONAL)
else ()
message (STATUS "Unknown C++ compiler. Please use the GNU or Intel compiler, if you are having problems.")
endif ()
enable_language (Fortran OPTIONAL)
message (STATUS "Fortran compilers: ${CMAKE_Fortran_COMPILER_NAMES}")
if (CMAKE_Fortran_COMPILER)
message (STATUS "The Fortran compiler identification is: ${CMAKE_Fortran_COMPILER_ID}")
......@@ -115,25 +159,33 @@ endif ()
find_package (H5Hut REQUIRED)
if (USE_STATIC_LIBRARIES)
if (NOT ${WILL_BUILD_SHARED_LIBRARY})
set (HDF5_USE_STATIC_LIBRARIES ON)
endif ()
set (HDF5_PREFER_PARALLEL ON)
find_package (HDF5 REQUIRED)
message (STATUS "Found HDF5 libraries: ${HDF5_C_LIBRARIES}")
if(UNIX AND NOT APPLE)
set (HDF5_LIBRARIES ${HDF5_LIBRARIES} ${CMAKE_DL_LIBS} rt z)
endif ()
message (STATUS "Found HDF5 libraries: ${HDF5_LIBRARIES}")
find_package (GSL REQUIRED)
message (STATUS "Found gsl libraries: ${GSL_LIBRARIES}")
set (BOOSTROOT $ENV{BOOST_DIR})
if (USE_STATIC_LIBRARIES)
if (NOT ${WILL_BUILD_SHARED_LIBRARY})
set (Boost_USE_STATIC_LIBS ON)
endif ()
set (Boost_USE_MULTITHREADED OFF)
set (Boost_USE_STATIC_RUNTIME OFF)
set (Boost_LIBS filesystem iostreams regex serialization system timer)
find_package (Boost 1.66.0
REQUIRED COMPONENTS chrono filesystem iostreams regex serialization system timer)
message (STATUS "Found Boost include dir: ${Boost_INCLUDE_DIR}")
message (STATUS "Found Boost library dir: ${Boost_LIBRARY_DIR}")
REQUIRED COMPONENTS ${Boost_LIBS})
if(UNIX AND NOT APPLE)
set (Boost_LIBRARIES ${Boost_LIBRARIES} rt)
endif ()
message (STATUS "Found Boost include dirs: ${Boost_INCLUDE_DIRS}")
message (STATUS "Found Boost library dirs: ${Boost_LIBRARY_DIRS}")
message (STATUS "Found Boost libraries: ${Boost_LIBRARIES}")
include_directories (SYSTEM ${Boost_INCLUDE_DIRS})
......@@ -163,7 +215,7 @@ if (ENABLE_AMR)
endif ()
option (ENABLE_AMR_MG_SOLVER "Enable AMR MG solver" OFF)
option (ENABLE_SAAMG_SOLVER "Enable iteartive SA-AMG-PCG self field solver" OFF)
option (ENABLE_SAAMG_SOLVER "Enable iterative SA-AMG-PCG self field solver" OFF)
if (ENABLE_SAAMG_SOLVER OR ENABLE_AMR_MG_SOLVER)
#
# :FIXME: We have to add checks whether the required Trilinos modules
......@@ -199,7 +251,7 @@ option (ENABLE_OPAL_FEL "Enable OPAL FEL" OFF)
if (ENABLE_OPAL_FEL)
message (STATUS "Enable OPAL FEL: " ${ENABLE_OPAL_FEL})
find_package (MITHRA MODULE REQUIRED)
add_definitions (-DOPAL_FEL)
add_definitions (-DENABLE_OPAL_FEL)
endif()
option (DBG_SCALARFIELD "Enable dump of scalar field rho_m" OFF)
......@@ -221,6 +273,17 @@ if (NO_FIELD_ASSIGN_OPTIMIZATION)
endif ()
option (ENABLE_DOXYDOC "compile Doxygen documentation" OFF)
if (ENABLE_DOXYDOC)
find_package(Doxygen REQUIRED)
configure_file (${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in
${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY
)
add_custom_target (doxydoc
${DOXYGEN_EXECUTABLE} ${CMAKE_BINARY_DIR}/Doxyfile
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating API documentation with Doxygen" VERBATIM
)
endif ()
add_custom_target(always_rebuild ALL
DEPENDS
......@@ -248,9 +311,6 @@ endif ()
set (OPAL_CXX_FLAGS ${OPAL_CXX_FLAGS}
CACHE INTERNAL "" FORCE
)
set (OPAL_LIBS ${OPAL_LIBS}
CACHE INTERNAL "" FORCE
)
# configure file
configure_file (
......@@ -263,12 +323,3 @@ install (
DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/cmake/${PROJECT_NAME}"
RENAME ${PROJECT_NAME}Config.cmake
)
# vi: set et ts=4 sw=4 sts=4:
# Local Variables:
# mode: cmake
# cmake-tab-width: 4
# indent-tabs-mode: nil
# require-final-newline: nil
# End:
\ No newline at end of file
#
# Find gtest Google Test includes and library
#
# gtest
# It can be found at:
# http://amas.web.psi.ch/tools/GSL/index.html
#
# GTEST_INCLUDE_DIR - where to find gtest/gtest.h
# GTEST_LIBRARY - libgtest.a path
# GTEST_MAIN_LIBRARY - libgtest_main.a path
......
......@@ -43,10 +43,3 @@ IF (HAVE_API2_FUNCTIONS)
ELSE (HAVE_API2_FUNCTIONS)
MESSAGE (ERROR "H5hut >= 2 required")
ENDIF (HAVE_API2_FUNCTIONS)
# Local Variables:
# mode:cmake
# cmake-tab-width: 4
# indent-tabs-mode:nil
# require-final-newline: nil
# End:
......@@ -3,23 +3,47 @@
# https://github.com/aryafallahi/mithra
#
# MITHRA_INCLUDE_DIR
# MITHRA_LIBRARY_DIR
# MITHRA_FOUND
find_path (MITHRA_INCLUDE_DIR mithra/classes.hh
HINTS $ENV{MITHRA_INCLUDE_PATH} $ENV{MITHRA_INCLUDE_DIR} $ENV{MITHRA_PREFIX}/include $ENV{MITHRA_DIR}/include $ENV{MITHRA}/include
PATHS ENV C_INCLUDE_PATH CPLUS_INCLUDE_PATH
find_path (MITHRA_INCLUDE_DIR mithra/classes.h
HINTS $ENV{MITHRA_INCLUDE_DIR} $ENV{MITHRA_INCLUDE_PATH} $ENV{MITHRA_PREFIX}/include $ENV{MITHRA}/include
)
if (MITHRA_INCLUDE_DIR)
find_path (MITHRA_LIBRARY_DIR libmithra.a
HINTS $ENV{MITHRA_LIBRARY_DIR} $ENV{MITHRA_LIBRARY_PATH} $ENV{MITHRA_PREFIX}/lib $ENV{MITHRA}/lib
)
if (MITHRA_INCLUDE_DIR AND MITHRA_LIBRARY_DIR)
set (MITHRA_FOUND "YES")
endif ()
if (MITHRA_FOUND)
if (NOT MITHRA_FIND_QUIETLY)
message (STATUS "Found MITHRA include dir: ${MITHRA_INCLUDE_DIR}")
message (STATUS "Found MITHRA library dir: ${MITHRA_LIBRARY_DIR}")
endif ()
else (MITHRA_FOUND)
if (MITHRA_FIND_REQUIRED)
if (NOT MITHRA_INCLUDE_DIR)
message (WARNING
"MITHRA include directory was not found! "
"Make sure that MITHRA is compiled and that "
"the directory mithra/include/mithra has been automatically created. "
"Also make sure that at least one of the following "
"environment variables is set: "
"MITHRA_INCLUDE_DIR, MITHRA_INCLUDE_PATH, MITHRA_PREFIX, or MITHRA.")
endif ()
if (NOT MITHRA_LIBRARY_DIR)
message (WARNING
"MITHRA library was not found! "
"Make sure that MITHRA is compiled and that "
"the directory mithra/lib has been automatically created. "
"Also make sure that at least one of the following "
"environment variables is set: "
"MITHRA_LIBRARY_DIR, MITHRA_LIBRARY_PATH, MITHRA_PREFIX, or MITHRA.")
endif ()
message (STATUS "MITHRA can be downloaded and compiled from https://github.com/aryafallahi/mithra.git")
message (FATAL_ERROR "Could not find MITHRA!")
endif (MITHRA_FIND_REQUIRED)
endif (MITHRA_FOUND)
......@@ -38,7 +38,7 @@ PROJECT_NAME = "OPAL (Object Oriented Parallel Accelerator Library)"
# could be handy for archiving the generated documentation or if some version
# control system is used.
PROJECT_NUMBER = "2.0.0"
PROJECT_NUMBER = "2024.2"
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
......@@ -764,9 +764,9 @@ WARN_LOGFILE =
# spaces.
# Note: If this tag is empty the current directory is searched.
INPUT = ./src \
./ippl/src \
./optimizer
INPUT = @CMAKE_SOURCE_DIR@/src \
@CMAKE_SOURCE_DIR@/ippl/src \
@CMAKE_SOURCE_DIR@/optimizer
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
......@@ -786,15 +786,8 @@ INPUT_ENCODING = UTF-8
# *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf,
# *.qsf, *.as and *.js.
FILE_PATTERNS = *.c \
*.cpp \
*.cc \
*.h \
*.hh \
*.H \
*.f90 \
*.hpp
FILE_PATTERNS = *.c* \
*.h*
# The RECURSIVE tag can be used to specify whether or not subdirectories should
# be searched for input files as well.
......@@ -1571,7 +1564,7 @@ EXTRA_SEARCH_MAPPINGS =
# If the GENERATE_LATEX tag is set to YES doxygen will generate LaTeX output.
# The default value is: YES.
GENERATE_LATEX = YES
GENERATE_LATEX = NO
# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a
# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
......@@ -2328,4 +2321,4 @@ GENERATE_LEGEND = YES
# The default value is: YES.
# This tag requires that the tag HAVE_DOT is set to YES.
DOT_CLEANUP = YES
\ No newline at end of file
DOT_CLEANUP = YES
......@@ -6,12 +6,12 @@ set (IPPL_VERSION_NAME "V${IPPL_VERSION_MAJOR}.${IPPL_VERSION_MINOR}")
set (IPPL_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
if (${CMAKE_BUILD_TYPE} STREQUAL "Release")
if (${BUILD_FOR_PRODUCTION})
add_definitions (-DNOPAssert)
endif ()
set (IPPL_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src" PARENT_SCOPE)
set (IPPL_LIBRARY_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src" PARENT_SCOPE)
set (IPPL_LIBRARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/src" PARENT_SCOPE)
set (IPPL_LIBRARY "ippl" PARENT_SCOPE)
add_subdirectory (src)
......@@ -28,14 +28,4 @@ install (
FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config_install.cmake
DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/cmake/${PROJECT_NAME}"
RENAME ${PROJECT_NAME}Config.cmake
)
# vi: set et ts=4 sw=4 sts=4:
# Local Variables:
# mode: cmake
# cmake-tab-width: 4
# indent-tabs-mode: nil
# require-final-newline: nil
# End:
)
\ No newline at end of file
......@@ -16,12 +16,3 @@ ADD_IPPL_SOURCES (${_SRCS})
ADD_IPPL_HEADERS (${_HDRS})
install (FILES ${_HDRS} DESTINATION include/AmrParticle)
# vi: set et ts=4 sw=4 sts=4:
# Local Variables:
# mode: cmake
# cmake-tab-width: 4
# indent-tabs-mode: nil
# require-final-newline: nil
# End:
......@@ -379,6 +379,10 @@ public:
// Operators
Element_t operator()(unsigned int i, unsigned int j) const {
// PAssert and PAssert_EQ are macros. They are defined empty, if we
// compile for production. i and j are unused in this case. The
// following statement suppress the 'unused' warning.
(void)i; (void)j;
PAssert_EQ(i, j);
return T(0.0);
}
......@@ -390,6 +394,7 @@ public:
}
AssignProxy operator()(unsigned int i, unsigned int j) {
(void)i; (void)j;
PAssert_EQ(i, j);
return AssignProxy(AntiSymTenzor<T,1>::Zero, 0);
}
......@@ -401,6 +406,7 @@ public:
}
Element_t operator[](unsigned int i) const {
(void)i;
PAssert (i == 0);
return AntiSymTenzor<T,1>::Zero;
}
......@@ -408,6 +414,7 @@ public:
// These are the same as operator[] but with () instead:
Element_t operator()(unsigned int i) const {
(void)i;
PAssert (i == 0);
return AntiSymTenzor<T,1>::Zero;
}
......@@ -430,7 +437,7 @@ public:
}
Message& getMessage(Message& m) {
T zero;
T zero{};
m.get(zero);
return m;
}
......@@ -710,11 +717,3 @@ inline std::ostream& operator<<(std::ostream& out, const AntiSymTenzor<T,D>& rhs
//////////////////////////////////////////////////////////////////////
#endif // ANTI_SYM_TENZOR_H
// vi: set et ts=4 sw=4 sts=4:
// Local Variables:
// mode:c
// c-basic-offset: 4
// indent-tabs-mode: nil
// require-final-newline: nil
// End:
......@@ -25,12 +25,3 @@ add_ippl_sources (${_SRCS})
add_ippl_headers (${_HDRS})
install (FILES ${_HDRS} DESTINATION include/AppTypes)
# vi: set et ts=4 sw=4 sts=4:
# Local Variables:
# mode: cmake
# cmake-tab-width: 4
# indent-tabs-mode: nil
# require-final-newline: nil
# End:
\ No newline at end of file
......@@ -474,7 +474,6 @@ inline std::ostream& operator<<(std::ostream& out, const Tenzor<T,D>& rhs)
// include header files for SymTenzor and AntiSymTenzor in order
// to define constructors for Tenzor using these types
#include "AppTypes/SymTenzor.h"
#include "AppTypes/AntiSymTenzor.h"
template <class T, unsigned D>
Tenzor<T,D>::Tenzor(const SymTenzor<T,D>& rhs) {
......
......@@ -17,6 +17,7 @@
#include "PETE/IpplExpressions.h"
#include "AppTypes/TSVMeta.h"
#include <cmath>
#include <iostream>
#include <iomanip>
......@@ -277,6 +278,17 @@ cross(const Vektor<T1,D> &lhs, const Vektor<T2,D> &rhs)
return TSV_MetaCross< Vektor<T1,D> , Vektor<T2,D> > :: apply(lhs,rhs);
}
//----------------------------------------------------------------------
// euclidean norm
//----------------------------------------------------------------------
template < class T, unsigned D >
inline double
euclidean_norm(const Vektor<T, D> &a)
{
return std::sqrt(dot(a, a));
}
//----------------------------------------------------------------------
// I/O
template<class T, unsigned D>
......@@ -296,10 +308,4 @@ inline std::ostream& operator<<(std::ostream& out, const Vektor<T,D>& rhs)
return out;
}
#endif // VEKTOR_H
/***************************************************************************
* $RCSfile: Vektor.h,v $ $Author: adelmann $
* $Revision: 1.1.1.1 $ $Date: 2003/01/23 07:40:24 $
* IPPL_VERSION_ID: $Id: Vektor.h,v 1.1.1.1 2003/01/23 07:40:24 adelmann Exp $
***************************************************************************/
\ No newline at end of file
#endif // VEKTOR_H
\ No newline at end of file
......@@ -90,12 +90,3 @@ target_link_libraries(ippl)
install (TARGETS ippl DESTINATION lib)
install (FILES ${IPPL_BASEDIR_HDRS} DESTINATION include)
# vi: set et ts=4 sw=4 sts=4:
# Local Variables:
# mode:cmake
# cmake-tab-width: 4
# indent-tabs-mode:nil
# require-final-newline: nil
# End:
......@@ -35,12 +35,3 @@ ADD_IPPL_SOURCES (${_SRCS})
ADD_IPPL_HEADERS (${_HDRS})
install (FILES ${_HDRS} DESTINATION include/DataSource)
# vi: set et ts=4 sw=4 sts=4:
# Local Variables:
# mode: cmake
# cmake-tab-width: 4
# indent-tabs-mode: nil
# require-final-newline: nil
# End:
......@@ -2,8 +2,8 @@
/***************************************************************************
*
* The IPPL Framework
*
* This program was prepared by PSI.
*
* This program was prepared by PSI.
* All rights in the program are reserved by PSI.
* Neither PSI nor the author(s)
* makes any warranty, express or implied, or assumes any liability or
......@@ -17,7 +17,7 @@
/***************************************************************************
*
* The IPPL Framework
*
*
*
* Visit http://people.web.psi.ch/adelmann/ for more details
*
......@@ -161,7 +161,7 @@ bool DataSource::disconnect(DataConnect *dataconn) {
}
// if we've removed all, we can erase all
if (dataconn == 0 && ConnectionList.size() > 0) {
if (dataconn == 0 && !ConnectionList.empty()) {
//dbgmsg<<"Erasing all " << ConnectionList.size() << " DSO's ..." << endl;
ConnectionList.erase(ConnectionList.begin(), ConnectionList.end());
}
......@@ -217,5 +217,5 @@ void DataSource::interact(const char *str, DataConnect *dataconn) {
/***************************************************************************
* $RCSfile: DataSource.cpp,v $ $Author: adelmann $
* $Revision: 1.1.1.1 $ $Date: 2003/01/23 07:40:25 $
* IPPL_VERSION_ID: $Id: DataSource.cpp,v 1.1.1.1 2003/01/23 07:40:25 adelmann Exp $
***************************************************************************/
* IPPL_VERSION_ID: $Id: DataSource.cpp,v 1.1.1.1 2003/01/23 07:40:25 adelmann Exp $
***************************************************************************/
\ No newline at end of file
......@@ -47,7 +47,7 @@ IpplParticleBaseDataSource::IpplParticleBaseDataSource(const char *nm,
IpplParticleBaseDataSource::~IpplParticleBaseDataSource() {
// disconnect all our currently connected attributes
while (AttribList.size() > 0)
while (!AttribList.empty())
disconnect_attrib(AttribList.front());
// remove ourselves from the list of available IpplParticleBase containers
......