- Jun 01, 2022
-
-
- Apr 02, 2022
-
-
Jakub Klinkovský authored
-
Tomáš Oberhuber authored
Fised index type in assertions in getView/getConstView methods in Array/ArrayView/Vector/VectorView.
-
- Mar 31, 2022
-
-
Tomáš Oberhuber authored
-
- Mar 27, 2022
-
-
Jakub Klinkovský authored
-
- Jan 26, 2022
-
-
Jakub Klinkovský authored
- move constructors and assignment operators should be noexcept https://clang.llvm.org/extra/clang-tidy/checks/performance-noexcept-move-constructor.html - avoid unnecessary copy on range loop variables https://clang.llvm.org/extra/clang-tidy/checks/performance-for-range-copy.html - avoid unnecessary value parameters of types that are expensive to copy https://clang.llvm.org/extra/clang-tidy/checks/performance-unnecessary-value-param.html - avoid unnecessary copy initialization of types that are expensive to copy https://clang.llvm.org/extra/clang-tidy/checks/performance-unnecessary-copy-initialization.html
-
Jakub Klinkovský authored
-
Jakub Klinkovský authored
...and in a few other places to avoid compiler errors/warnings.
-
- Jan 10, 2022
-
-
The old headers were hard to maintain, inconsistent and contained useless information: - file name (useless, prone to inconsistencies upon renaming) - "description" (useless placeholder that was likely intended to be replaced by the user, not to be used literally) - "begin" date for each file (prone to inconsistencies and copy-paste errors, the information can be found in git) - "copyright" notice (inconsistent years) - "email" (replaced with a project link in the new template) - "Copyright Notice" referring to an obsolete file (tnl/Copyright) that does not exist anymore The new template consists of three simple parts: - copyright notice with updatable years related to the whole project - project name and website URL - SPDX license identifier Note that the SPDX license identifier must be on a line that starts with either "//" or "/*", so we can't use a block comment (/* ... */) for the whole header. But using "//" for block comments is common too.
-
- Sep 16, 2021
-
-
Jakub Klinkovský authored
Replaced send/receive for Array(,View) and mpiSend/mpiReceive for String with a general implementation in the MPI namespace Also added analogous functions: MPI::sendrecv, MPI::bcast.
-
- Aug 03, 2021
-
-
Jakub Klinkovský authored
The algorithms are implemented as plain functions in TNL::Algorithms. containsValue was replaced with contains.
-
- Jul 31, 2021
-
-
Jakub Klinkovský authored
Removed reduction methods from Array and ArrayView, instead added overloads of reduce and reduceWithArgument for arrays/views Plain functions are much more flexible than methods. The methods were also violating the open-closed principle: https://en.wikipedia.org/wiki/Open%E2%80%93closed_principle
-
Jakub Klinkovský authored
Hence, all StaticArray, Array, ArrayView and even expression templates are directly usable in reduction without the need to create a wrapping fetch functor. Also NDArray has this interface in 1D.
-
- Jul 07, 2021
-
-
Tomáš Oberhuber authored
-
Tomáš Oberhuber authored
-
Tomáš Oberhuber authored
-
- Jun 16, 2021
-
-
Jakub Klinkovský authored
-
- Jun 11, 2021
-
-
Jakub Klinkovský authored
-
- Apr 09, 2021
-
-
Jakub Klinkovský authored
- passing indices and array/vector values by reference is useless - declaring arguments passed by value as "const" is useless - using "IndexType" and "ValueType" is better than "Index" and "Value", because Doxygen creates an automatic link to the description of the type - various other documentation and whitespace fixes
-
- Mar 29, 2021
-
-
Tomáš Oberhuber authored
-
- Mar 18, 2021
-
-
Jakub Klinkovský authored
- if ValueType is a fundamental type, the Array behaves the same as before (allocated elements are initialized to indeterminate values) - otherwise, allocated elements are value-initialized using MemoryOperations::construct and destructed using MemoryOperations::destruct before their deallocation
-
- Mar 13, 2021
-
-
Tomáš Oberhuber authored
-
- Mar 12, 2021
-
-
Tomáš Oberhuber authored
-
- Jun 20, 2020
-
-
Jakub Klinkovský authored
-
- May 09, 2020
-
-
Tomáš Oberhuber authored
-
Tomáš Oberhuber authored
-
- Mar 30, 2020
-
-
Tomáš Oberhuber authored
-
- Mar 02, 2020
-
-
-
Tomáš Oberhuber authored
-
Tomáš Oberhuber authored
-
-
-
-
- Oct 25, 2019
-
-
Jakub Klinkovský authored
Serialization in TNL::File: File::save and File::load are specialized by Allocator instead of Device
-
Jakub Klinkovský authored
The usage of algorithms such as MemoryOperations or Reduction is not bound to a particular container. On the other hand, ArrayIO, ArrayAssignment, VectorAssignment and StaticArrayAssignment are just implementation details for the containers - moved into TNL/Containers/detail/ Also moved ParallelFor, StaticFor, StaticVectorFor, TemplateStaticFor into TNL/Algorithms/
-
Jakub Klinkovský authored
This will be necessary to avoid code bloat with more than 2 devices (execution types).
-
- Oct 24, 2019
-
-
Jakub Klinkovský authored
Fixes #46
-
Jakub Klinkovský authored
-
- Sep 03, 2019
-
-
Jakub Klinkovský authored
-
- Aug 24, 2019
-
-
Jakub Klinkovský authored
-