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 (631)
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 @@ ...@@ -2,7 +2,9 @@
*~ *~
*.o *.o
*.a *.a
*.so
*.aux *.aux
__pycache__
optimizer/Tests/*.exe optimizer/Tests/*.exe
build build
CMakeCache.txt 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) cmake_minimum_required (VERSION 3.12)
project (OPAL VERSION 2.3.0) cmake_policy(VERSION 3.12)
project (OPAL VERSION 2024.2)
set (PROJECT_BUGREPORT opal@lists.psi.ch) set (PROJECT_BUGREPORT opal@lists.psi.ch)
string (REGEX REPLACE "\\.([0-9])\\." ".0\\1." PACKAGE_VERSION ${PROJECT_VERSION}) string (REGEX REPLACE "\\.([0-9])\\." ".0\\1." PACKAGE_VERSION ${PROJECT_VERSION})
...@@ -26,6 +28,13 @@ set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 -g ") ...@@ -26,6 +28,13 @@ set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 -g ")
set (CMAKE_CXX_FLAGS_RELEASE "-O3") set (CMAKE_CXX_FLAGS_RELEASE "-O3")
set (CMAKE_CXX_FLAGS_DEBUG "-O0 -g") 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 # Resolve all library dependencies
set (CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMakeModules") set (CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMakeModules")
...@@ -37,10 +46,11 @@ message (STATUS "The underlying C++ compiler is: ${CMAKE_CXX_COMPILER}") ...@@ -37,10 +46,11 @@ message (STATUS "The underlying C++ compiler is: ${CMAKE_CXX_COMPILER}")
option (ENABLE_OpenMP "Use hybrid parallelism MPI-OpenMP" OFF) 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_STANDARD_REQUIRED ON)
set (CMAKE_CXX_EXTENSIONS OFF) set (CMAKE_CXX_EXTENSIONS OFF)
# Disable compile time assert (used by IPPL)
add_definitions (-DNOCTAssert) add_definitions (-DNOCTAssert)
add_compile_options (-Wall) add_compile_options (-Wall)
...@@ -51,10 +61,27 @@ add_compile_options (-Werror) ...@@ -51,10 +61,27 @@ add_compile_options (-Werror)
add_compile_options (-funroll-loops) add_compile_options (-funroll-loops)
add_compile_options (-fstrict-aliasing) add_compile_options (-fstrict-aliasing)
option (USE_STATIC_LIBRARIES "Link with static libraries if available" ON) option (WILL_BUILD_STATIC_LIBRARY "Building static library" ON)
if (NOT ${USE_STATIC_LIBRARIES}) 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_compile_options (-fPIE -fPIC)
add_link_options (-pie) 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 () endif ()
# compiler dependent flags # compiler dependent flags
...@@ -75,16 +102,28 @@ elseif (${CMAKE_CXX_COMPILER_ID} MATCHES "Clang") ...@@ -75,16 +102,28 @@ elseif (${CMAKE_CXX_COMPILER_ID} MATCHES "Clang")
# is using this visibility setting. # is using this visibility setting.
add_compile_options (-fvisibility=hidden) add_compile_options (-fvisibility=hidden)
add_compile_options (-fvisibility-inlines-hidden) add_compile_options (-fvisibility-inlines-hidden)
# Allow overloaded virtual functions (instances to be fixed in OPAL) add_compile_options (-Wno-deprecated-declarations)
#add_compile_options (-Wno-overloaded-virtual) add_compile_options (-Wno-deprecated-builtins)
add_compile_options (-Wno-deprecated-copy)
if (ENABLE_OpenMP) if (ENABLE_OpenMP)
add_compile_options (-fopenmp) if (CMAKE_HOST_APPLE)
add_link_options (-fopenmp) message(FATAL_ERROR "Apple Clang does not support OpenMP!")
else ()
add_compile_options (-fopenmp)
add_link_options (-fopenmp)
endif ()
endif () endif ()
elseif (${CMAKE_CXX_COMPILER_ID} MATCHES "GNU") elseif (${CMAKE_CXX_COMPILER_ID} MATCHES "GNU")
if (${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS "4.7.3") # An error in Trilinos/12.18.1 causes
message (FATAL_ERROR "To build OPAL you need GCC version 4.7.3 or greater") # -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 () endif ()
# Warning flags # Warning flags
...@@ -93,11 +132,16 @@ elseif (${CMAKE_CXX_COMPILER_ID} MATCHES "GNU") ...@@ -93,11 +132,16 @@ elseif (${CMAKE_CXX_COMPILER_ID} MATCHES "GNU")
add_link_options (-fopenmp) add_link_options (-fopenmp)
endif () 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 () else ()
message (STATUS "Unknown C++ compiler. Please use the GNU or Intel compiler, if you are having problems.") message (STATUS "Unknown C++ compiler. Please use the GNU or Intel compiler, if you are having problems.")
endif () endif ()
enable_language (Fortran OPTIONAL)
message (STATUS "Fortran compilers: ${CMAKE_Fortran_COMPILER_NAMES}") message (STATUS "Fortran compilers: ${CMAKE_Fortran_COMPILER_NAMES}")
if (CMAKE_Fortran_COMPILER) if (CMAKE_Fortran_COMPILER)
message (STATUS "The Fortran compiler identification is: ${CMAKE_Fortran_COMPILER_ID}") message (STATUS "The Fortran compiler identification is: ${CMAKE_Fortran_COMPILER_ID}")
...@@ -115,25 +159,33 @@ endif () ...@@ -115,25 +159,33 @@ endif ()
find_package (H5Hut REQUIRED) find_package (H5Hut REQUIRED)
if (USE_STATIC_LIBRARIES) if (NOT ${WILL_BUILD_SHARED_LIBRARY})
set (HDF5_USE_STATIC_LIBRARIES ON) set (HDF5_USE_STATIC_LIBRARIES ON)
endif () endif ()
set (HDF5_PREFER_PARALLEL ON)
find_package (HDF5 REQUIRED) 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) find_package (GSL REQUIRED)
message (STATUS "Found gsl libraries: ${GSL_LIBRARIES}") message (STATUS "Found gsl libraries: ${GSL_LIBRARIES}")
set (BOOSTROOT $ENV{BOOST_DIR}) set (BOOSTROOT $ENV{BOOST_DIR})
if (USE_STATIC_LIBRARIES) if (NOT ${WILL_BUILD_SHARED_LIBRARY})
set (Boost_USE_STATIC_LIBS ON) set (Boost_USE_STATIC_LIBS ON)
endif () endif ()
set (Boost_USE_MULTITHREADED OFF) set (Boost_USE_MULTITHREADED OFF)
set (Boost_USE_STATIC_RUNTIME OFF) set (Boost_USE_STATIC_RUNTIME OFF)
set (Boost_LIBS filesystem iostreams regex serialization system timer)
find_package (Boost 1.66.0 find_package (Boost 1.66.0
REQUIRED COMPONENTS chrono filesystem iostreams regex serialization system timer) REQUIRED COMPONENTS ${Boost_LIBS})
message (STATUS "Found Boost include dir: ${Boost_INCLUDE_DIR}") if(UNIX AND NOT APPLE)
message (STATUS "Found Boost library dir: ${Boost_LIBRARY_DIR}") 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}") message (STATUS "Found Boost libraries: ${Boost_LIBRARIES}")
include_directories (SYSTEM ${Boost_INCLUDE_DIRS}) include_directories (SYSTEM ${Boost_INCLUDE_DIRS})
...@@ -163,7 +215,7 @@ if (ENABLE_AMR) ...@@ -163,7 +215,7 @@ if (ENABLE_AMR)
endif () endif ()
option (ENABLE_AMR_MG_SOLVER "Enable AMR MG solver" OFF) 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) if (ENABLE_SAAMG_SOLVER OR ENABLE_AMR_MG_SOLVER)
# #
# :FIXME: We have to add checks whether the required Trilinos modules # :FIXME: We have to add checks whether the required Trilinos modules
...@@ -199,7 +251,7 @@ option (ENABLE_OPAL_FEL "Enable OPAL FEL" OFF) ...@@ -199,7 +251,7 @@ option (ENABLE_OPAL_FEL "Enable OPAL FEL" OFF)
if (ENABLE_OPAL_FEL) if (ENABLE_OPAL_FEL)
message (STATUS "Enable OPAL FEL: " ${ENABLE_OPAL_FEL}) message (STATUS "Enable OPAL FEL: " ${ENABLE_OPAL_FEL})
find_package (MITHRA MODULE REQUIRED) find_package (MITHRA MODULE REQUIRED)
add_definitions (-DOPAL_FEL) add_definitions (-DENABLE_OPAL_FEL)
endif() endif()
option (DBG_SCALARFIELD "Enable dump of scalar field rho_m" OFF) option (DBG_SCALARFIELD "Enable dump of scalar field rho_m" OFF)
...@@ -221,6 +273,17 @@ if (NO_FIELD_ASSIGN_OPTIMIZATION) ...@@ -221,6 +273,17 @@ if (NO_FIELD_ASSIGN_OPTIMIZATION)
endif () endif ()
option (ENABLE_DOXYDOC "compile Doxygen documentation" OFF) 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 add_custom_target(always_rebuild ALL
DEPENDS DEPENDS
...@@ -248,9 +311,6 @@ endif () ...@@ -248,9 +311,6 @@ endif ()
set (OPAL_CXX_FLAGS ${OPAL_CXX_FLAGS} set (OPAL_CXX_FLAGS ${OPAL_CXX_FLAGS}
CACHE INTERNAL "" FORCE CACHE INTERNAL "" FORCE
) )
set (OPAL_LIBS ${OPAL_LIBS}
CACHE INTERNAL "" FORCE
)
# configure file # configure file
configure_file ( configure_file (
...@@ -263,12 +323,3 @@ install ( ...@@ -263,12 +323,3 @@ install (
DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/cmake/${PROJECT_NAME}" DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/cmake/${PROJECT_NAME}"
RENAME ${PROJECT_NAME}Config.cmake 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 # 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_INCLUDE_DIR - where to find gtest/gtest.h
# GTEST_LIBRARY - libgtest.a path # GTEST_LIBRARY - libgtest.a path
# GTEST_MAIN_LIBRARY - libgtest_main.a path # GTEST_MAIN_LIBRARY - libgtest_main.a path
......
...@@ -43,10 +43,3 @@ IF (HAVE_API2_FUNCTIONS) ...@@ -43,10 +43,3 @@ IF (HAVE_API2_FUNCTIONS)
ELSE (HAVE_API2_FUNCTIONS) ELSE (HAVE_API2_FUNCTIONS)
MESSAGE (ERROR "H5hut >= 2 required") MESSAGE (ERROR "H5hut >= 2 required")
ENDIF (HAVE_API2_FUNCTIONS) 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 @@ ...@@ -3,23 +3,47 @@
# https://github.com/aryafallahi/mithra # https://github.com/aryafallahi/mithra
# #
# MITHRA_INCLUDE_DIR # MITHRA_INCLUDE_DIR
# MITHRA_LIBRARY_DIR
# MITHRA_FOUND # MITHRA_FOUND
find_path (MITHRA_INCLUDE_DIR mithra/classes.hh find_path (MITHRA_INCLUDE_DIR mithra/classes.h
HINTS $ENV{MITHRA_INCLUDE_PATH} $ENV{MITHRA_INCLUDE_DIR} $ENV{MITHRA_PREFIX}/include $ENV{MITHRA_DIR}/include $ENV{MITHRA}/include HINTS $ENV{MITHRA_INCLUDE_DIR} $ENV{MITHRA_INCLUDE_PATH} $ENV{MITHRA_PREFIX}/include $ENV{MITHRA}/include
PATHS ENV C_INCLUDE_PATH CPLUS_INCLUDE_PATH
) )
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") set (MITHRA_FOUND "YES")
endif () endif ()
if (MITHRA_FOUND) if (MITHRA_FOUND)
if (NOT MITHRA_FIND_QUIETLY) if (NOT MITHRA_FIND_QUIETLY)
message (STATUS "Found MITHRA include dir: ${MITHRA_INCLUDE_DIR}") message (STATUS "Found MITHRA include dir: ${MITHRA_INCLUDE_DIR}")
message (STATUS "Found MITHRA library dir: ${MITHRA_LIBRARY_DIR}")
endif () endif ()
else (MITHRA_FOUND) else (MITHRA_FOUND)
if (MITHRA_FIND_REQUIRED) 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!") message (FATAL_ERROR "Could not find MITHRA!")
endif (MITHRA_FIND_REQUIRED) endif (MITHRA_FIND_REQUIRED)
endif (MITHRA_FOUND) endif (MITHRA_FOUND)
...@@ -38,7 +38,7 @@ PROJECT_NAME = "OPAL (Object Oriented Parallel Accelerator Library)" ...@@ -38,7 +38,7 @@ PROJECT_NAME = "OPAL (Object Oriented Parallel Accelerator Library)"
# could be handy for archiving the generated documentation or if some version # could be handy for archiving the generated documentation or if some version
# control system is used. # 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 # 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 # for a project that appears at the top of each page and should give viewer a
...@@ -764,9 +764,9 @@ WARN_LOGFILE = ...@@ -764,9 +764,9 @@ WARN_LOGFILE =
# spaces. # spaces.
# Note: If this tag is empty the current directory is searched. # Note: If this tag is empty the current directory is searched.
INPUT = ./src \ INPUT = @CMAKE_SOURCE_DIR@/src \
./ippl/src \ @CMAKE_SOURCE_DIR@/ippl/src \
./optimizer @CMAKE_SOURCE_DIR@/optimizer
# This tag can be used to specify the character encoding of the source files # 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 # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
...@@ -786,15 +786,8 @@ INPUT_ENCODING = UTF-8 ...@@ -786,15 +786,8 @@ INPUT_ENCODING = UTF-8
# *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf, # *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf,
# *.qsf, *.as and *.js. # *.qsf, *.as and *.js.
FILE_PATTERNS = *.c \ FILE_PATTERNS = *.c* \
*.cpp \ *.h*
*.cc \
*.h \
*.hh \
*.H \
*.f90 \
*.hpp
# The RECURSIVE tag can be used to specify whether or not subdirectories should # The RECURSIVE tag can be used to specify whether or not subdirectories should
# be searched for input files as well. # be searched for input files as well.
...@@ -1571,7 +1564,7 @@ EXTRA_SEARCH_MAPPINGS = ...@@ -1571,7 +1564,7 @@ EXTRA_SEARCH_MAPPINGS =
# If the GENERATE_LATEX tag is set to YES doxygen will generate LaTeX output. # If the GENERATE_LATEX tag is set to YES doxygen will generate LaTeX output.
# The default value is: YES. # 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 # 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 # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
...@@ -2328,4 +2321,4 @@ GENERATE_LEGEND = YES ...@@ -2328,4 +2321,4 @@ GENERATE_LEGEND = YES
# The default value is: YES. # The default value is: YES.
# This tag requires that the tag HAVE_DOT is set to YES. # This tag requires that the tag HAVE_DOT is set to YES.
DOT_CLEANUP = YES DOT_CLEANUP = YES
\ No newline at end of file
...@@ -6,12 +6,12 @@ set (IPPL_VERSION_NAME "V${IPPL_VERSION_MAJOR}.${IPPL_VERSION_MINOR}") ...@@ -6,12 +6,12 @@ set (IPPL_VERSION_NAME "V${IPPL_VERSION_MAJOR}.${IPPL_VERSION_MINOR}")
set (IPPL_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) set (IPPL_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
if (${CMAKE_BUILD_TYPE} STREQUAL "Release") if (${BUILD_FOR_PRODUCTION})
add_definitions (-DNOPAssert) add_definitions (-DNOPAssert)
endif () endif ()
set (IPPL_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src" PARENT_SCOPE) 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) set (IPPL_LIBRARY "ippl" PARENT_SCOPE)
add_subdirectory (src) add_subdirectory (src)
...@@ -28,14 +28,4 @@ install ( ...@@ -28,14 +28,4 @@ install (
FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config_install.cmake FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config_install.cmake
DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/cmake/${PROJECT_NAME}" DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/cmake/${PROJECT_NAME}"
RENAME ${PROJECT_NAME}Config.cmake RENAME ${PROJECT_NAME}Config.cmake
) )
\ No newline at end of file
# 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:
...@@ -16,12 +16,3 @@ ADD_IPPL_SOURCES (${_SRCS}) ...@@ -16,12 +16,3 @@ ADD_IPPL_SOURCES (${_SRCS})
ADD_IPPL_HEADERS (${_HDRS}) ADD_IPPL_HEADERS (${_HDRS})
install (FILES ${_HDRS} DESTINATION include/AmrParticle) 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: ...@@ -379,6 +379,10 @@ public:
// Operators // Operators
Element_t operator()(unsigned int i, unsigned int j) const { 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); PAssert_EQ(i, j);
return T(0.0); return T(0.0);
} }
...@@ -390,6 +394,7 @@ public: ...@@ -390,6 +394,7 @@ public:
} }
AssignProxy operator()(unsigned int i, unsigned int j) { AssignProxy operator()(unsigned int i, unsigned int j) {
(void)i; (void)j;
PAssert_EQ(i, j); PAssert_EQ(i, j);
return AssignProxy(AntiSymTenzor<T,1>::Zero, 0); return AssignProxy(AntiSymTenzor<T,1>::Zero, 0);
} }
...@@ -401,6 +406,7 @@ public: ...@@ -401,6 +406,7 @@ public:
} }
Element_t operator[](unsigned int i) const { Element_t operator[](unsigned int i) const {
(void)i;
PAssert (i == 0); PAssert (i == 0);
return AntiSymTenzor<T,1>::Zero; return AntiSymTenzor<T,1>::Zero;
} }
...@@ -408,6 +414,7 @@ public: ...@@ -408,6 +414,7 @@ public:
// These are the same as operator[] but with () instead: // These are the same as operator[] but with () instead:
Element_t operator()(unsigned int i) const { Element_t operator()(unsigned int i) const {
(void)i;
PAssert (i == 0); PAssert (i == 0);
return AntiSymTenzor<T,1>::Zero; return AntiSymTenzor<T,1>::Zero;
} }
...@@ -430,7 +437,7 @@ public: ...@@ -430,7 +437,7 @@ public:
} }
Message& getMessage(Message& m) { Message& getMessage(Message& m) {
T zero; T zero{};
m.get(zero); m.get(zero);
return m; return m;
} }
...@@ -710,11 +717,3 @@ inline std::ostream& operator<<(std::ostream& out, const AntiSymTenzor<T,D>& rhs ...@@ -710,11 +717,3 @@ inline std::ostream& operator<<(std::ostream& out, const AntiSymTenzor<T,D>& rhs
////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////
#endif // ANTI_SYM_TENZOR_H #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}) ...@@ -25,12 +25,3 @@ add_ippl_sources (${_SRCS})
add_ippl_headers (${_HDRS}) add_ippl_headers (${_HDRS})
install (FILES ${_HDRS} DESTINATION include/AppTypes) 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) ...@@ -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 // include header files for SymTenzor and AntiSymTenzor in order
// to define constructors for Tenzor using these types // to define constructors for Tenzor using these types
#include "AppTypes/SymTenzor.h" #include "AppTypes/SymTenzor.h"
#include "AppTypes/AntiSymTenzor.h"
template <class T, unsigned D> template <class T, unsigned D>
Tenzor<T,D>::Tenzor(const SymTenzor<T,D>& rhs) { Tenzor<T,D>::Tenzor(const SymTenzor<T,D>& rhs) {
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#include "PETE/IpplExpressions.h" #include "PETE/IpplExpressions.h"
#include "AppTypes/TSVMeta.h" #include "AppTypes/TSVMeta.h"
#include <cmath>
#include <iostream> #include <iostream>
#include <iomanip> #include <iomanip>
...@@ -277,6 +278,17 @@ cross(const Vektor<T1,D> &lhs, const Vektor<T2,D> &rhs) ...@@ -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); 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 // I/O
template<class T, unsigned D> template<class T, unsigned D>
...@@ -296,10 +308,4 @@ inline std::ostream& operator<<(std::ostream& out, const Vektor<T,D>& rhs) ...@@ -296,10 +308,4 @@ inline std::ostream& operator<<(std::ostream& out, const Vektor<T,D>& rhs)
return out; return out;
} }
#endif // VEKTOR_H #endif // VEKTOR_H
\ No newline at end of file
/***************************************************************************
* $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
...@@ -90,12 +90,3 @@ target_link_libraries(ippl) ...@@ -90,12 +90,3 @@ target_link_libraries(ippl)
install (TARGETS ippl DESTINATION lib) install (TARGETS ippl DESTINATION lib)
install (FILES ${IPPL_BASEDIR_HDRS} DESTINATION include) 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}) ...@@ -35,12 +35,3 @@ ADD_IPPL_SOURCES (${_SRCS})
ADD_IPPL_HEADERS (${_HDRS}) ADD_IPPL_HEADERS (${_HDRS})
install (FILES ${_HDRS} DESTINATION include/DataSource) 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 @@ ...@@ -2,8 +2,8 @@
/*************************************************************************** /***************************************************************************
* *
* The IPPL Framework * The IPPL Framework
* *
* This program was prepared by PSI. * This program was prepared by PSI.
* All rights in the program are reserved by PSI. * All rights in the program are reserved by PSI.
* Neither PSI nor the author(s) * Neither PSI nor the author(s)
* makes any warranty, express or implied, or assumes any liability or * makes any warranty, express or implied, or assumes any liability or
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
/*************************************************************************** /***************************************************************************
* *
* The IPPL Framework * The IPPL Framework
* *
* *
* Visit http://people.web.psi.ch/adelmann/ for more details * Visit http://people.web.psi.ch/adelmann/ for more details
* *
...@@ -161,7 +161,7 @@ bool DataSource::disconnect(DataConnect *dataconn) { ...@@ -161,7 +161,7 @@ bool DataSource::disconnect(DataConnect *dataconn) {
} }
// if we've removed all, we can erase all // 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; //dbgmsg<<"Erasing all " << ConnectionList.size() << " DSO's ..." << endl;
ConnectionList.erase(ConnectionList.begin(), ConnectionList.end()); ConnectionList.erase(ConnectionList.begin(), ConnectionList.end());
} }
...@@ -217,5 +217,5 @@ void DataSource::interact(const char *str, DataConnect *dataconn) { ...@@ -217,5 +217,5 @@ void DataSource::interact(const char *str, DataConnect *dataconn) {
/*************************************************************************** /***************************************************************************
* $RCSfile: DataSource.cpp,v $ $Author: adelmann $ * $RCSfile: DataSource.cpp,v $ $Author: adelmann $
* $Revision: 1.1.1.1 $ $Date: 2003/01/23 07:40:25 $ * $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, ...@@ -47,7 +47,7 @@ IpplParticleBaseDataSource::IpplParticleBaseDataSource(const char *nm,
IpplParticleBaseDataSource::~IpplParticleBaseDataSource() { IpplParticleBaseDataSource::~IpplParticleBaseDataSource() {
// disconnect all our currently connected attributes // disconnect all our currently connected attributes
while (AttribList.size() > 0) while (!AttribList.empty())
disconnect_attrib(AttribList.front()); disconnect_attrib(AttribList.front());
// remove ourselves from the list of available IpplParticleBase containers // remove ourselves from the list of available IpplParticleBase containers
......