|
|
consteval std::string_view | version () |
| | Return DOLFINx version string.
|
|
consteval std::string_view | ufcx_signature () |
| | Return UFC signature string.
|
| consteval std::string_view | git_commit_hash () |
| consteval bool | has_debug () |
|
consteval bool | has_petsc () |
| | Return true if DOLFINx is compiled with PETSc.
|
|
consteval bool | has_slepc () |
| | Return true if DOLFINx is compiled with SLEPc.
|
|
consteval bool | has_parmetis () |
| | Return true if DOLFINx is compiled with ParMETIS.
|
|
consteval bool | has_kahip () |
| | Return true if DOLFINx is compiled with KaHIP.
|
|
consteval bool | has_adios2 () |
| | Return true if DOLFINX is compiled with ADIOS2.
|
|
consteval bool | has_ptscotch () |
| | Return true if DOLFINX is compiled with PT-SCOTCH.
|
|
consteval bool | has_superlu_dist () |
| | Return true if DOLFINx is compiled with SuperLU_DIST.
|
| consteval bool | has_complex_ufcx_kernels () |
| void | init_logging (int argc, char *argv[]) |
| | Optional initialisation of the logging backend.
|
| template<int BITS = 8, typename P = std::identity, std::ranges::random_access_range R> |
| constexpr void | radix_sort (R &&range, P proj={}) |
| | Sort a range with radix sorting algorithm. The bucket size is determined by the number of bits to sort at a time (2^BITS).
|
| template<typename T, int BITS = 16> |
| std::vector< std::int32_t > | sort_by_perm (std::span< const T > x, std::size_t shape1) |
| | Compute the permutation array that sorts a 2D array by row.
|
| Table | timing_table () |
| | Return a summary of timings and tasks in a Table.
|
| void | list_timings (MPI_Comm comm, Table::Reduction reduction=Table::Reduction::max) |
| | List a summary of timings and tasks.
|
| std::pair< int, std::chrono::duration< double, std::ratio< 1 > > > | timing (const std::string &task) |
| | Return timing (count, total wall time) for given task.
|
| std::map< std::string, std::pair< int, std::chrono::duration< double, std::ratio< 1 > > > > | timings () |
| | Logged elapsed times.
|
| void init_logging |
( |
int | argc, |
|
|
char * | argv[] ) |
Optional initialisation of the logging backend.
The log verbosity can be controlled from the command line using SPDLOG_LEVEL=<level>, where <level> is info, warn, debug, etc.
The full spdlog API can be used in applications to control the log system. See https://github.com/gabime/spdlog for the spdlog documentation.
- Parameters
-
| [in] | argc | Number of command line arguments. |
| [in] | argv | Command line argument vector. |
template<int BITS = 8, typename P = std::identity, std::ranges::random_access_range R>
| void radix_sort |
( |
R && | range, |
|
|
P | proj = {} ) |
|
constexpr |
Sort a range with radix sorting algorithm. The bucket size is determined by the number of bits to sort at a time (2^BITS).
This allows usage with standard range containers of integral types, for example
std::array<std::int16_t, 3> a{2, 3, 1};
constexpr void radix_sort(R &&range, P proj={})
Sort a range with radix sorting algorithm. The bucket size is determined by the number of bits to sor...
Definition sort.h:78
Additionally the projection based approach of the STL library is adapted, which allows for versatile usage, for example the easy realization of an argsort
std::array<std::int16_t, 3> a{2, 3, 1};
std::array<std::int16_t, 3> i{0, 1, 2};
1} and a[i] = {1, 2, 3};
- Template Parameters
-
| BITS | The number of bits to sort at a time. |
| P | Projection type to be applied on range elements to produce a sorting index. |
| R | Type of the range to sort. |
- Parameters
-
| [in,out] | range | The range to sort. |
| [in] | proj | Element projection. |