|
DNDSR 0.1.0.dev1+gcd065ad
Distributed Numeric Data Structure for CFV
|
the host side operators are provided as implemented More...
Namespaces | |
| namespace | CFV |
| namespace | Config |
| Namespace for config field tag kwargs. | |
| namespace | Debug |
| namespace | detail |
| namespace | Direct |
| namespace | ETensor |
| namespace | Euler |
| namespace | EulerP |
| Namespace for the EulerP alternative evaluator module with GPU support. | |
| namespace | Geom |
| namespace | HardEigen |
| namespace | IdealGas |
| namespace | Linear |
| namespace | Meta |
| namespace | MPI |
| namespace | ODE |
| namespace | OMP |
| namespace | Scalar |
| namespace | Serializer |
| namespace | TermColor |
Classes | |
| class | AdjacencyRow |
Non-owning span (pointer, size) into an ArrayAdjacency row. More... | |
| class | Array |
| Core 2D variable-length array container, the storage foundation of DNDSR. More... | |
| struct | array_hash |
| Hash functor for std::array<T, s>, combining element hashes via XOR. More... | |
| class | ArrayAdjacency |
Mesh-connectivity array: ParArray<index> whose operator[] yields an AdjacencyRow typed view. More... | |
| class | ArrayAdjacencyDeviceView |
| Device-callable adjacency view: extends ArrayDeviceView so that indexing into a row returns an AdjacencyRow of indices. More... | |
| class | ArrayDeviceView |
| Non-owning device-callable view of an Array, specialised per DeviceBackend. More... | |
| class | ArrayDeviceView< DeviceBackend::Host, T, _row_size, _row_max, _align > |
| Host specialisation of ArrayDeviceView; identical to the host-side ArrayView. More... | |
| class | ArrayDof |
| Primary solver state container: an ArrayEigenMatrix pair with MPI-collective vector-space operations. More... | |
| class | ArrayDofDeviceView |
| Mutable device view of an ArrayDof father/son pair. More... | |
| class | ArrayDofDeviceViewConst |
| Const device view of an ArrayDof father/son pair. More... | |
| class | ArrayDofOp |
| class | ArrayDofOp< DeviceBackend::Host, n_m, n_n > |
| Host-side static dispatcher: implements every vector-space operation declared in DNDS_ARRAY_DOF_OP_FUNC_LIST for CPU execution. More... | |
| class | ArrayDofSinglePack |
| Helper for constructing a single ArrayDof with father, son, and transformer. More... | |
| class | ArrayEigenMatrix |
ParArray<real> whose operator[] returns an Eigen::Map<Matrix<real, Ni, Nj>>. More... | |
| class | ArrayEigenMatrixBatch |
| CSR array storing a variable-sized batch of Eigen matrices per row. More... | |
| class | ArrayEigenMatrixBatchDeviceView |
| class | ArrayEigenMatrixDeviceView |
| Device-callable view onto ArrayEigenMatrix rows. More... | |
| class | ArrayEigenUniMatrixBatch |
| CSR array whose rows store a batch of identically-sized Eigen matrices. More... | |
| class | ArrayEigenUniMatrixBatchDeviceView |
| Device-callable view onto ArrayEigenUniMatrixBatch rows. More... | |
| class | ArrayEigenVector |
ParArray<real, N> whose operator[] returns an Eigen::Map<Vector>. More... | |
| class | ArrayEigenVectorDeviceView |
| Device-callable view onto ArrayEigenVector rows. More... | |
| class | ArrayIndex |
ArrayAdjacency<1> specialisation with an integer-typed operator[] (returns the single index by reference instead of a row wrapper). More... | |
| class | ArrayIteratorBase |
| CRTP base for row-granularity iterators over an Array / ArrayView. More... | |
| class | ArrayLayout |
| Compile-time layout descriptor deducing the concrete DataLayout from element type and row-size template arguments. More... | |
| struct | ArrayPair |
| Convenience bundle of a father, son, and attached ArrayTransformer. More... | |
| struct | ArrayPairDeviceView |
| Mutable device view onto an ArrayPair (for CUDA kernels). More... | |
| struct | ArrayPairDeviceView_Base |
| CRTP base implementing the unified-index accessors shared by ArrayPairDeviceView and ArrayPairDeviceViewConst. More... | |
| struct | ArrayPairDeviceViewConst |
| Const device view of a father-son array pair. More... | |
| class | ArrayTransformer |
| Ghost-communication engine for a father / son ParArray pair. More... | |
| struct | ArrayTransformerType |
| Type trait computing the ArrayTransformer type for a given Array type. More... | |
| class | ArrayView |
| Non-owning, device-callable view onto an Array. More... | |
| struct | CheckResult |
| Result of a single validation check. More... | |
| struct | ConfigContext |
| Runtime context supplied to context-aware validation checks. More... | |
| class | ConfigRegistry |
| Per-type singleton registry of config field metadata and validation checks. More... | |
| class | ConfigSectionBuilder |
| Builder object passed to the user's registration function. More... | |
| struct | ConfigTypeTagOf |
| struct | ConfigTypeTagOf< bool > |
| struct | ConfigTypeTagOf< nlohmann::ordered_json > |
| struct | ConfigTypeTagOf< std::array< T, N > > |
| struct | ConfigTypeTagOf< std::string > |
| struct | ConfigTypeTagOf< std::vector< T > > |
| struct | ConfigTypeTagOf< T, std::enable_if_t< detail::is_eigen_type< T >::value > > |
| struct | ConfigTypeTagOf< T, std::enable_if_t< std::is_enum_v< T > > > |
| C++ enum types serialize as JSON strings via nlohmann, so map to Enum. More... | |
| struct | ConfigTypeTagOf< T, std::enable_if_t< std::is_floating_point_v< T > > > |
| struct | ConfigTypeTagOf< T, std::enable_if_t< std::is_integral_v< T > &&!std::is_same_v< T, bool > > > |
| class | CsvLog |
| Append-only CSV logger with automatic file rotation after a line-count limit. More... | |
| class | data_vector_base |
CRTP base offering operator[] / at on top of a derived's data() and size() accessors. Used by both #host_device_vector_r1 and (implicitly) #host_device_vector_r0. More... | |
| struct | device_storage_factory |
| Factory functions for constructing DeviceStorageBase instances of a specific backend. Specialised per backend so that the concrete type creation can live in backend-specific translation units. More... | |
| struct | device_storage_factory< DeviceBackend::Host > |
| class | DeviceHostSingleAllocationBase |
| Abstract single-allocation owning byte buffer. More... | |
| class | DeviceHostSingleAllocationDirect |
Concrete DeviceHostSingleAllocationBase using std::vector<uint8_t> for host memory and DeviceStorage for device memory. More... | |
| class | DeviceStorage |
| Compile-time-specialised storage class; one definition per DeviceBackend. More... | |
| class | DeviceStorage< DeviceBackend::Host > |
| how to resolve int-rowsize duplicate? More... | |
| class | DeviceStorageBase |
| Abstract interface to a byte buffer owned by a specific backend. More... | |
| class | DeviceTransferable |
CRTP mixin giving a class uniform to_device / to_host / device / getDeviceArrayBytes methods. More... | |
| struct | deviceViewVector |
| Contiguous host_device_vector of non-owning views, mirrored on a device. More... | |
| class | EigenMatrixView |
| struct | Empty |
| Trivially-copyable empty placeholder type that accepts any assignment. More... | |
| struct | EmptyNoDefault |
| Empty placeholder type without a default constructor; accepts any assignment. More... | |
| class | ExprtkWrapperEvaluator |
| Thin RAII wrapper over the exprtk expression library. More... | |
| struct | FieldMeta |
| Descriptor for a single configuration field. More... | |
| class | GlobalOffsetsMapping |
| Table mapping rank-local row indices to the global index space. More... | |
| struct | has_static_CommMult |
| here are some reasons to upgrade to C++20... More... | |
| struct | has_static_CommMult< T, std::void_t< decltype(T::CommMult())> > |
| struct | has_static_CommType |
| SFINAE trait detecting a static CommType member in T. More... | |
| struct | has_static_CommType< T, std::void_t< decltype(T::CommType())> > |
| struct | host_device_vector_r0 |
Legacy std::vector<T> subclass with an optional device mirror. More... | |
| class | host_device_vector_r1 |
Host + optional device vector of trivially copyable T. More... | |
| class | HostDeviceEigenMatrix |
| struct | is_ssp |
| Type trait that detects whether a type is a std::shared_ptr wrapping. More... | |
| struct | is_ssp< ssp< T > > |
| struct | LogSimpleDIValue |
| Storage-agnostic "either int or double" value with CSV-friendly streaming. More... | |
| class | MatrixBatch |
| Packed variable-shape matrix-batch layout inside a flat buffer. More... | |
| struct | MemberPtr |
| Pointer-to-member wrapper with a symbolic name; the pointer-based cousin of MemberRef used when the object is known only at visit time. More... | |
| struct | MemberRef |
Simple {reference, name} bundle for a struct member. More... | |
| class | MPIBufferHandler |
Process-singleton managing the buffer attached to MPI for MPI_Bsend (buffered sends). More... | |
| struct | MPIInfo |
| Lightweight bundle of an MPI communicator and the calling rank's coordinates. More... | |
| struct | MPIReqHolder |
RAII vector of MPI_Requests that frees each non-null handle when destroyed. More... | |
| struct | MPITypePairHolder |
RAII vector of (count, MPI_Datatype) pairs that frees every committed datatype when destroyed. More... | |
| class | ObjectNaming |
| Mixin base class providing a runtime instance name for tracing/debugging. More... | |
| class | ObjectPool |
Generic object pool: caches unique_ptr<T> instances and hands them out with RAII return-on-destruction semantics. More... | |
| struct | ObjName |
| Tag type for naming objects created via make_ssp. More... | |
| class | OffsetAscendIndexMapping |
| Mapping between a rank's main data and its ghost copies. More... | |
| class | ParArray |
| MPI-aware Array: adds a communicator, rank, and global index mapping. More... | |
| class | PerformanceTimer |
| Process-wide singleton aggregating wall-clock timings by category. More... | |
| class | ScalarStatistics |
| Running-statistics accumulator using Welford's online algorithm. More... | |
| class | ScopedValueAlternator |
RAII sentinel: on construction replaces ref with a new value and on destruction restores the original value. More... | |
| class | vector_DeviceView |
Non-owning device-callable view {pointer, size} over a typed array. More... | |
| struct | vector_hash |
| Hash functor for std::vector<T>, combining element hashes via XOR. More... | |
Typedefs | |
| template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign> | |
| using | tPy_Array = py_class_ssp< Array< T, _row_size, _row_max, _align > > |
| template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign> | |
| using | tPy_ParArray = py_class_ssp< ParArray< T, _row_size, _row_max, _align > > |
| template<class TArray > | |
| using | tPy_ArrayTransformer = py_class_ssp< ArrayTransformerType_t< TArray > > |
| template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign> | |
| using | tPy_ParArrayPair = py_class_ssp< ArrayPair< ParArray< T, _row_size, _row_max, _align > > > |
| template<rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign> | |
| using | tPy_ArrayAdjacency = py_class_ssp< ArrayAdjacency< _row_size, _row_max, _align > > |
| template<rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign> | |
| using | tPy_ArrayAdjacencyPair = py_class_ssp< ArrayAdjacencyPair< _row_size, _row_max, _align > > |
| template<rowsize _mat_ni = 1, rowsize _mat_nj = 1, rowsize _mat_ni_max = _mat_ni, rowsize _mat_nj_max = _mat_nj, rowsize _align = NoAlign> | |
| using | tPy_ArrayEigenMatrix = py_class_ssp< ArrayEigenMatrix< _mat_ni, _mat_nj, _mat_ni_max, _mat_nj_max, _align > > |
| template<rowsize _mat_ni = 1, rowsize _mat_nj = 1, rowsize _mat_ni_max = _mat_ni, rowsize _mat_nj_max = _mat_nj, rowsize _align = NoAlign> | |
| using | tPy_ArrayEigenMatrixPair = py_class_ssp< ArrayEigenMatrixPair< _mat_ni, _mat_nj, _mat_ni_max, _mat_nj_max, _align > > |
| using | tPy_ArrayEigenMatrixBatch = py_class_ssp< ArrayEigenMatrixBatch > |
| using | tPy_ArrayEigenMatrixBatchPair = py_class_ssp< ArrayEigenMatrixBatchPair > |
| template<int _n_row, int _n_col> | |
| using | tPy_ArrayEigenUniMatrixBatch = py_class_ssp< ArrayEigenUniMatrixBatch< _n_row, _n_col > > |
| template<int _n_row, int _n_col> | |
| using | tPy_ArrayEigenUniMatrixBatchPair = py_class_ssp< ArrayEigenUniMatrixBatchPair< _n_row, _n_col > > |
| template<rowsize _vec_size = 1, rowsize _row_max = _vec_size, rowsize _align = NoAlign> | |
| using | tPy_ArrayEigenVector = py_class_ssp< ArrayEigenVector< _vec_size, _row_max, _align > > |
| template<rowsize _vec_size = 1, rowsize _row_max = _vec_size, rowsize _align = NoAlign> | |
| using | tPy_ArrayEigenVectorPair = py_class_ssp< ArrayEigenVectorPair< _vec_size, _row_max, _align > > |
| template<int n_m, int n_n> | |
| using | tPy_ArrayDOF = py_class_ssp< ArrayDof< n_m, n_n > > |
| template<rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign> | |
| using | ArrayAdjacencyPair = ArrayPair< ArrayAdjacency< _row_size, _row_max, _align > > |
| ArrayPair alias for mesh adjacency (variable-width integer rows). | |
| template<rowsize _vec_size = 1, rowsize _row_max = _vec_size, rowsize _align = NoAlign> | |
| using | ArrayEigenVectorPair = ArrayPair< ArrayEigenVector< _vec_size, _row_max, _align > > |
| ArrayPair alias for per-row Eigen vectors (e.g., node coords with N=3). | |
| template<rowsize _mat_ni = 1, rowsize _mat_nj = 1, rowsize _mat_ni_max = _mat_ni, rowsize _mat_nj_max = _mat_nj, rowsize _align = NoAlign> | |
| using | ArrayEigenMatrixPair = ArrayPair< ArrayEigenMatrix< _mat_ni, _mat_nj, _mat_ni_max, _mat_nj_max, _align > > |
| ArrayPair alias for per-row Eigen matrices. | |
| using | ArrayEigenMatrixBatchPair = ArrayPair< ArrayEigenMatrixBatch > |
| ArrayPair alias for per-row variable-size Eigen matrix batches. | |
| template<int _n_row, int _n_col> | |
| using | ArrayEigenUniMatrixBatchPair = ArrayPair< ArrayEigenUniMatrixBatch< _n_row, _n_col > > |
ArrayPair alias for per-row batches of uniform _n_row x _n_col matrices. | |
| using | t_pLGlobalMapping = ssp< GlobalOffsetsMapping > |
| Shared pointer to a GlobalOffsetsMapping (globally replicated). | |
| using | t_pLGhostMapping = ssp< OffsetAscendIndexMapping > |
| Shared pointer to an OffsetAscendIndexMapping (per-rank ghost layout). | |
| template<class TArray > | |
| using | ArrayTransformerType_t = typename ArrayTransformerType< TArray >::Type |
| using | CrossFieldCheck = std::function< CheckResult(const void *obj)> |
| A cross-field validation check that does not require runtime context. | |
| using | ContextualCheck = std::function< CheckResult(const void *obj, const ConfigContext &ctx)> |
| A cross-field validation check that requires runtime context. | |
| using | tLogSimpleDIValueMap = std::map< std::string, LogSimpleDIValue > |
Convenience alias: the title -> value map type passed to CsvLog::WriteLine. | |
| using | real = double |
| Canonical floating-point scalar used throughout DNDSR (double precision). | |
| using | index = int64_t |
| Global row / DOF index type (signed 64-bit; handles multi-billion-cell meshes). | |
| using | rowsize = int32_t |
| Row-width / per-row element-count type (signed 32-bit). | |
| using | real_sized_index = int64_t |
| Integer type with the same width as real (used for type-punning / packing). | |
| using | real_half_sized_index = int32_t |
| Integer type with half the width of real. | |
| template<typename T > | |
| using | ssp = std::shared_ptr< T > |
Shortened alias for std::shared_ptr used pervasively in DNDSR. | |
| template<typename T > | |
| using | remove_cvref_t = std::remove_cv_t< std::remove_reference_t< T > > |
Convenience remove_cv + remove_reference composition (C++17 port of C++20's std::remove_cvref_t). | |
| using | t_RowsizeVec = std::vector< rowsize > |
Vector of row widths (one rowsize per row). | |
| using | t_IndexVec = std::vector< index > |
| Vector of index values (global offsets, local ids, etc.). | |
| using | t_pIndexVec = ssp< t_IndexVec > |
| Shared pointer alias to t_IndexVec (used by mapping tables shared between arrays, see IndexMapping.hpp). | |
| using | t_indexerPair = std::tuple< index, index > |
Paired indices, typically (start, size) or (first, last). | |
| using | tDiFj = Eigen::Matrix< real, -1, -1, Eigen::RowMajor > |
| Row-major dynamic Eigen matrix used by quadrature / basis tables. | |
| using | MatrixXR = Eigen::Matrix< real, Eigen::Dynamic, Eigen::Dynamic > |
| Column-major dynamic Eigen matrix of reals (default layout). | |
| using | VectorXR = Eigen::Vector< real, Eigen::Dynamic > |
| Dynamic Eigen vector of reals. | |
| using | RowVectorXR = Eigen::RowVector< real, Eigen::Dynamic > |
| Dynamic row-vector of reals. | |
| template<class T > | |
| using | py_class_ssp = py::classh< T > |
| using | t_supDeviceStorageBase = std::unique_ptr< DeviceStorageBase, std::function< void(DeviceStorageBase *)> > |
| Owning unique pointer to a DeviceStorageBase with cross-DLL-safe deleter. | |
| using | t_sspDeviceStorageBase = std::shared_ptr< DeviceStorageBase > |
| Shared pointer equivalent of t_supDeviceStorageBase. | |
| using | symbol_table_t = exprtk::symbol_table< real > |
| using | expression_t = exprtk::expression< real > |
| using | parser_t = exprtk::parser< real > |
| using | tExprVars = std::map< std::string, real > |
| Scalar name -> value map fed into an ExprtkWrapperEvaluator. | |
| using | tExprVarVecs = std::map< std::string, Eigen::Vector< real, Eigen::Dynamic > > |
| Vector name -> Eigen dense vector map fed into an ExprtkWrapperEvaluator. | |
| using | t_jsonconfig = nlohmann::ordered_json |
| Project-wide JSON type alias: nlohmann/json with ordered keys. | |
| using | MPI_int = int |
MPI counterpart type for MPI_int (= C int). Used for counts and ranks in MPI calls. | |
| using | MPI_index = MPI_Aint |
MPI-compatible address/offset type (= MPI_Aint, 64-bit on all supported platforms). Used by the hindexed datatype machinery. | |
| using | tMPI_sizeVec = std::vector< MPI_int > |
| Vector of MPI counts. | |
| using | tMPI_intVec = tMPI_sizeVec |
| Alias for tMPI_sizeVec; used where the name "int vec" reads better. | |
| using | tMPI_indexVec = std::vector< MPI_index > |
| Vector of MPI_Aint byte-offsets for hindexed datatypes. | |
| using | tMPI_AintVec = tMPI_indexVec |
Alias for tMPI_indexVec to match MPI_Aint terminology. | |
| using | tMPI_statVec = std::vector< MPI_Status > |
Vector of MPI_Status, for MPI_Waitall / MPI_Testall. | |
| using | tMPI_reqVec = std::vector< MPI_Request > |
Vector of MPI_Request, for persistent / nonblocking calls. | |
| using | tMPI_typePairVec = std::vector< std::pair< MPI_int, MPI_Datatype > > |
| using | tpMPITypePairHolder = ssp< MPITypePairHolder > |
| Shared-pointer alias to MPITypePairHolder. | |
| template<class T > | |
| using | host_device_vector = host_device_vector_r1< T > |
Primary public alias: host_device_vector<T> = #host_device_vector_r1<T>. Prefer this name throughout the code base. | |
Enumerations | |
| enum | DataLayout { ErrorLayout , TABLE_StaticFixed , TABLE_Fixed , TABLE_Max , TABLE_StaticMax , CSR } |
| Enumeration of the five concrete data layouts supported by Array. More... | |
| enum class | ConfigTypeTag { Bool , Int , Real , String , Enum , Array , Object , ArrayOfObjects , MapOfObjects , Json } |
| Enumerates the JSON Schema type associated with a config field. More... | |
| enum class | DeviceBackend { Unknown = 0 , Host = 1 , Custom1 = 101 } |
| Enumerates the backends a DeviceStorage / Array can live on. More... | |
Functions | |
| void | pybind11_bind_Array_All (py::module_ m) |
| template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign> | |
| std::string | pybind11_Array_name_appends () |
| template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign> | |
| std::string | pybind11_Array_name () |
| template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign> | |
| std::string | pybind11_ParArray_name () |
| template<class TArray > | |
| std::string | pybind11_ArrayTransformer_name () |
| template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign> | |
| std::string | pybind11_ParArrayPair_name () |
| template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign> | |
| tPy_Array< T, _row_size, _row_max, _align > | pybind11_Array_declare (py::module_ &m) |
| template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign> | |
| tPy_Array< T, _row_size, _row_max, _align > | pybind11_Array_get_class (py::module_ &m) |
| template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign> | |
| void | pybind11_Array_define (py::module_ &m) |
| template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign> | |
| void | _pybind11_Array_define_dispatch (py::module_ &m) |
| template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign> | |
| tPy_ParArray< T, _row_size, _row_max, _align > | pybind11_ParArray_declare (py::module_ &m) |
| template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign> | |
| tPy_ParArray< T, _row_size, _row_max, _align > | pybind11_ParArray_get_class (py::module_ &m) |
| template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign> | |
| void | pybind11_ParArray_define (py::module_ &m) |
| template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign> | |
| void | _pybind11_ParArray_define_dispatch (py::module_ &m) |
| template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign> | |
| tPy_ParArrayPair< T, _row_size, _row_max, _align > | pybind11_ParArrayPair_declare (py::module_ &m) |
| template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign> | |
| tPy_ParArrayPair< T, _row_size, _row_max, _align > | pybind11_ParArrayPair_get_class (py::module_ &m) |
| template<class TPair , class TPy_Pair > | |
| void | pybind11_ArrayPairGenericBindBasics (TPy_Pair &Pair_) |
| template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign> | |
| void | pybind11_ParArrayPair_define (py::module_ &m) |
| template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign> | |
| void | _pybind11_ParArrayPair_define_dispatch (py::module_ &m) |
| template<class TArray > | |
| tPy_ArrayTransformer< TArray > | pybind11_ArrayTransformer_declare (py::module_ &m) |
| template<class TArray > | |
| tPy_ArrayTransformer< TArray > | pybind11_ArrayTransformer_get_class (py::module_ &m) |
| template<class TArray > | |
| void | pybind11_ArrayTransformer_define (py::module_ &m) |
| template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign> | |
| void | _pybind11_ArrayTransformer_define_dispatch (py::module_ &m) |
| template<int offset = 0> | |
| constexpr auto | _get_pybind11_arrayRowsizeInstantiationList () |
| template<class T , size_t N, std::array< int, N > const & Arr, size_t... Is> | |
| void | __pybind11_callBindArrays_rowsizes_sequence (py::module_ &m, std::index_sequence< Is... >) |
| template<class T , int offset = 0> | |
| void | pybind11_callBindArrays_rowsizes (py::module_ &m) |
| template<class T , size_t N, std::array< int, N > const & Arr, size_t... Is> | |
| void | __pybind11_callBindParArrays_rowsizes_sequence (py::module_ &m, std::index_sequence< Is... >) |
| template<class T , int offset = 0> | |
| void | pybind11_callBindParArrays_rowsizes (py::module_ &m) |
| template<class T , size_t N, std::array< int, N > const & Arr, size_t... Is> | |
| void | __pybind11_callBindArrayTransformers_rowsizes_sequence (py::module_ &m, std::index_sequence< Is... >) |
| template<class T , int offset = 0> | |
| void | pybind11_callBindArrayTransformers_rowsizes (py::module_ &m) |
| template<class T , size_t N, std::array< int, N > const & Arr, size_t... Is> | |
| void | __pybind11_callBindParArrayPairs_rowsizes_sequence (py::module_ &m, std::index_sequence< Is... >) |
| template<class T , int offset = 0> | |
| void | pybind11_callBindParArrayPairs_rowsizes (py::module_ &m) |
| pybind11_bind_Array_All_X_declare (1) | |
| pybind11_bind_Array_All_X_declare (2) | |
| pybind11_bind_Array_All_X_declare (3) | |
| pybind11_bind_Array_All_X_declare (4) | |
| pybind11_bind_Array_All_X_declare (5) | |
| pybind11_bind_Array_All_X_declare (6) | |
| pybind11_bind_Array_All_X_declare (7) | |
| void | pybind11_bind_Array_Offsets (py::module_ m) |
| constexpr bool | isTABLE (DataLayout lo) |
| Whether the layout uses a TABLE (padded) representation (vs CSR). | |
| constexpr bool | isTABLE_Fixed (DataLayout lo) |
| Whether the layout has a uniform row width (no per-row size needed). | |
| constexpr bool | isTABLE_Max (DataLayout lo) |
Whether the layout is a padded-max variant (uses _pRowSizes). | |
| constexpr bool | isTABLE_Static (DataLayout lo) |
| Whether the layout has a compile-time row-size constant. | |
| constexpr bool | isTABLE_Dynamic (DataLayout lo) |
| Whether the layout carries a runtime row-size parameter. | |
| template<class T > | |
| constexpr bool | array_comp_acceptable () |
Whether T is legal as an Array element type (trivially copyable or a fixed-size real Eigen matrix). Controls CUDA/MPI copy paths. | |
| void | pybind11_bind_ArrayAdjacency_All (py::module_ &m) |
| template<rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign> | |
| std::string | pybind11_ArrayAdjacency_name_appends () |
| template<rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign> | |
| std::string | pybind11_ArrayAdjacency_name () |
| template<rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign> | |
| std::string | pybind11_ArrayAdjacencyPair_name () |
| template<class TArray = ArrayAdjacency<1>> | |
| auto | pybind11_ArrayAdjacency_setitem (TArray &self, index index_, py::buffer row) |
| template<class TArray = ArrayAdjacency<1>> | |
| auto | pybind11_ArrayAdjacency_getitem (TArray &self, index index_) |
| template<rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign> | |
| tPy_ArrayAdjacency< _row_size, _row_max, _align > | pybind11_ArrayAdjacency_declare (py::module_ &m) |
| template<rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign> | |
| tPy_ArrayAdjacency< _row_size, _row_max, _align > | pybind11_ArrayAdjacency_get_class (py::module_ &m) |
| template<rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign> | |
| void | pybind11_ArrayAdjacency_define (py::module_ &m) |
| template<rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign> | |
| void | _pybind11_ArrayAdjacency_define_dispatch (py::module_ &m) |
| template<rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign> | |
| tPy_ArrayAdjacencyPair< _row_size, _row_max, _align > | pybind11_ArrayAdjacencyPair_declare (py::module_ &m) |
| template<rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign> | |
| tPy_ArrayAdjacencyPair< _row_size, _row_max, _align > | pybind11_ArrayAdjacencyPair_get_class (py::module_ &m) |
| template<rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign> | |
| void | pybind11_ArrayAdjacencyPair_define (py::module_ &m) |
| template<rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign> | |
| void | _pybind11_ArrayAdjacencyPair_define_dispatch (py::module_ &m) |
| template<size_t N, std::array< int, N > const & Arr, size_t... Is> | |
| void | __pybind11_callBindArrayAdjacencys_rowsizes_sequence (py::module_ &m, std::index_sequence< Is... >) |
| void | pybind11_callBindArrayAdjacencys_rowsizes (py::module_ &m) |
| void | pybind11_bind_ArrayEigenMatrix_All (py::module_ &m) |
| template<rowsize _mat_ni = 1, rowsize _mat_nj = 1, rowsize _mat_ni_max = _mat_ni, rowsize _mat_nj_max = _mat_nj, rowsize _align = NoAlign> | |
| std::string | pybind11_ArrayEigenMatrix_name_appends () |
| template<rowsize _mat_ni = 1, rowsize _mat_nj = 1, rowsize _mat_ni_max = _mat_ni, rowsize _mat_nj_max = _mat_nj, rowsize _align = NoAlign> | |
| std::string | pybind11_ArrayEigenMatrix_name () |
| template<rowsize _mat_ni = 1, rowsize _mat_nj = 1, rowsize _mat_ni_max = _mat_ni, rowsize _mat_nj_max = _mat_nj, rowsize _align = NoAlign> | |
| std::string | pybind11_ArrayEigenMatrixPair_name () |
| template<class TArrayEigenMatrix = ArrayEigenMatrix<3, 3>> | |
| auto | pybind11_ArrayEigenMatrix_getitem (TArrayEigenMatrix &self, index index_) |
| template<class TArrayEigenMatrix = ArrayEigenMatrix<3, 3>> | |
| auto | pybind11_ArrayEigenMatrix_setitem (TArrayEigenMatrix &self, index index_, py::buffer row) |
| template<rowsize _mat_ni = 1, rowsize _mat_nj = 1, rowsize _mat_ni_max = _mat_ni, rowsize _mat_nj_max = _mat_nj, rowsize _align = NoAlign> | |
| tPy_ArrayEigenMatrix< _mat_ni, _mat_nj, _mat_ni_max, _mat_nj_max, _align > | pybind11_ArrayEigenMatrix_declare (py::module_ &m) |
| template<rowsize _mat_ni = 1, rowsize _mat_nj = 1, rowsize _mat_ni_max = _mat_ni, rowsize _mat_nj_max = _mat_nj, rowsize _align = NoAlign> | |
| tPy_ArrayEigenMatrix< _mat_ni, _mat_nj, _mat_ni_max, _mat_nj_max, _align > | pybind11_ArrayEigenMatrix_get_class (py::module_ &m) |
| template<rowsize _mat_ni = 1, rowsize _mat_nj = 1, rowsize _mat_ni_max = _mat_ni, rowsize _mat_nj_max = _mat_nj, rowsize _align = NoAlign> | |
| void | pybind11_ArrayEigenMatrix_define (py::module_ &m) |
| template<rowsize _mat_ni = 1, rowsize _mat_nj = 1, rowsize _mat_ni_max = _mat_ni, rowsize _mat_nj_max = _mat_nj, rowsize _align = NoAlign> | |
| void | _pybind11_ArrayEigenMatrix_define_dispatch (py::module_ &m) |
| template<rowsize _mat_ni = 1, rowsize _mat_nj = 1, rowsize _mat_ni_max = _mat_ni, rowsize _mat_nj_max = _mat_nj, rowsize _align = NoAlign> | |
| tPy_ArrayEigenMatrixPair< _mat_ni, _mat_nj, _mat_ni_max, _mat_nj_max, _align > | pybind11_ArrayEigenMatrixPair_declare (py::module_ &m) |
| template<rowsize _mat_ni = 1, rowsize _mat_nj = 1, rowsize _mat_ni_max = _mat_ni, rowsize _mat_nj_max = _mat_nj, rowsize _align = NoAlign> | |
| tPy_ArrayEigenMatrixPair< _mat_ni, _mat_nj, _mat_ni_max, _mat_nj_max, _align > | pybind11_ArrayEigenMatrixPair_get_class (py::module_ &m) |
| template<rowsize _mat_ni = 1, rowsize _mat_nj = 1, rowsize _mat_ni_max = _mat_ni, rowsize _mat_nj_max = _mat_nj, rowsize _align = NoAlign> | |
| void | pybind11_ArrayEigenMatrixPair_define (py::module_ &m) |
| template<rowsize _mat_ni = 1, rowsize _mat_nj = 1, rowsize _mat_ni_max = _mat_ni, rowsize _mat_nj_max = _mat_nj, rowsize _align = NoAlign> | |
| void | _pybind11_ArrayEigenMatrixPair_define_dispatch (py::module_ &m) |
| template<rowsize mat_n, size_t N, std::array< int, N > const & Arr, size_t... Is> | |
| void | __pybind11_callBindArrayEigenMatrixs_rowsizes_sequence (py::module_ &m, std::index_sequence< Is... >) |
| template<rowsize mat_n> | |
| void | pybind11_callBindArrayEigenMatrixs_rowsizes (py::module_ &m) |
| template void | pybind11_callBindArrayEigenMatrixs_rowsizes< 1 > (py::module_ &m) |
| template void | pybind11_callBindArrayEigenMatrixs_rowsizes< 2 > (py::module_ &m) |
| template void | pybind11_callBindArrayEigenMatrixs_rowsizes< 3 > (py::module_ &m) |
| template void | pybind11_callBindArrayEigenMatrixs_rowsizes< 4 > (py::module_ &m) |
| template void | pybind11_callBindArrayEigenMatrixs_rowsizes< 5 > (py::module_ &m) |
| template void | pybind11_callBindArrayEigenMatrixs_rowsizes< 6 > (py::module_ &m) |
| template void | pybind11_callBindArrayEigenMatrixs_rowsizes< 7 > (py::module_ &m) |
| template void | pybind11_callBindArrayEigenMatrixs_rowsizes< 8 > (py::module_ &m) |
| template void | pybind11_callBindArrayEigenMatrixs_rowsizes< DynamicSize > (py::module_ &m) |
| template void | pybind11_callBindArrayEigenMatrixs_rowsizes< NonUniformSize > (py::module_ &m) |
| template<rowsize _mat_ni, rowsize _mat_nj> | |
| constexpr rowsize | __OneMatGetRowSize () |
Compute the underlying per-row element count for an Ni x Nj matrix cell. | |
| std::string | pybind11_ArrayEigenMatrixBatch_name () |
| std::string | pybind11_ArrayEigenMatrixBatchPair_name () |
| auto | pybind11_ArrayEigenMatrixBatch_setitem_row (ArrayEigenMatrixBatch &self, index i, const py::list &matList) |
| auto | pybind11_ArrayEigenMatrixBatch_getitem_row (ArrayEigenMatrixBatch &self, index index_) |
| auto | pybind11_ArrayEigenMatrixBatch_getitem (ArrayEigenMatrixBatch &self, std::tuple< index, rowsize > index_) |
| auto | pybind11_ArrayEigenMatrixBatch_setitem (ArrayEigenMatrixBatch &self, std::tuple< index, rowsize > index_, py::buffer row) |
| tPy_ArrayEigenMatrixBatch | pybind11_ArrayEigenMatrixBatch_declare (py::module_ &m) |
| tPy_ArrayEigenMatrixBatch | pybind11_ArrayEigenMatrixBatch_get_class (py::module_ &m) |
| void | pybind11_ArrayEigenMatrixBatch_define (py::module_ &m) |
| tPy_ArrayEigenMatrixBatchPair | pybind11_ArrayEigenMatrixBatchPair_declare (py::module_ &m) |
| tPy_ArrayEigenMatrixBatchPair | pybind11_ArrayEigenMatrixBatchPair_get_class (py::module_ &m) |
| void | pybind11_ArrayEigenMatrixBatchPair_define (py::module_ &m) |
| void | pybind11_bind_ArrayEigenMatrixBatch_All (py::module_ &m) |
| void | pybind11_bind_ArrayEigenUniMatrixBatch_All (py::module_ &m) |
| template<int _n_row, int _n_col> | |
| std::string | pybind11_ArrayEigenUniMatrixBatch_name () |
| template<int _n_row, int _n_col> | |
| std::string | pybind11_ArrayEigenUniMatrixBatchPair_name () |
| template<class TArrayEigenUniMatrixBatch = ArrayEigenUniMatrixBatch<3, 3>> | |
| auto | pybind11_ArrayEigenUniMatrixBatch_getitem (TArrayEigenUniMatrixBatch &self, std::tuple< index, rowsize > index_) |
| template<class TArrayEigenUniMatrixBatch = ArrayEigenUniMatrixBatch<3, 3>> | |
| auto | pybind11_ArrayEigenUniMatrixBatch_setitem (TArrayEigenUniMatrixBatch &self, std::tuple< index, rowsize > index_, py::buffer row) |
| template<class TArrayEigenUniMatrixBatch = ArrayEigenUniMatrixBatch<3, 3>> | |
| auto | pybind11_ArrayEigenUniMatrixBatch_getitem_row (TArrayEigenUniMatrixBatch &self, index index_) |
| template<class TArrayEigenUniMatrixBatch = ArrayEigenUniMatrixBatch<3, 3>> | |
| auto | pybind11_ArrayEigenUniMatrixBatch_setitem_row (TArrayEigenUniMatrixBatch &self, index index_, py::buffer row) |
| template<int _n_row, int _n_col> | |
| tPy_ArrayEigenUniMatrixBatch< _n_row, _n_col > | pybind11_ArrayEigenUniMatrixBatch_declare (py::module_ &m) |
| template<int _n_row, int _n_col> | |
| tPy_ArrayEigenUniMatrixBatch< _n_row, _n_col > | pybind11_ArrayEigenUniMatrixBatch_get_class (py::module_ &m) |
| template<int _n_row, int _n_col> | |
| void | pybind11_ArrayEigenUniMatrixBatch_define (py::module_ &m) |
| template<int _n_row, int _n_col> | |
| void | _pybind11_ArrayEigenUniMatrixBatch_define_dispatch (py::module_ &m) |
| template<int _n_row, int _n_col> | |
| tPy_ArrayEigenUniMatrixBatchPair< _n_row, _n_col > | pybind11_ArrayEigenUniMatrixBatchPair_declare (py::module_ &m) |
| template<int _n_row, int _n_col> | |
| tPy_ArrayEigenUniMatrixBatchPair< _n_row, _n_col > | pybind11_ArrayEigenUniMatrixBatchPair_get_class (py::module_ &m) |
| template<int _n_row, int _n_col> | |
| void | pybind11_ArrayEigenUniMatrixBatchPair_define (py::module_ &m) |
| template<int _n_row, int _n_col> | |
| void | _pybind11_ArrayEigenUniMatrixBatchPair_define_dispatch (py::module_ &m) |
| template<rowsize mat_n, size_t N, std::array< int, N > const & Arr, size_t... Is> | |
| void | __pybind11_callBindArrayEigenUniMatrixBatchs_rowsizes_sequence (py::module_ &m, std::index_sequence< Is... >) |
| template<rowsize mat_n> | |
| void | pybind11_callBindArrayEigenUniMatrixBatchs_rowsizes (py::module_ &m) |
| template void | pybind11_callBindArrayEigenUniMatrixBatchs_rowsizes< 1 > (py::module_ &m) |
| template void | pybind11_callBindArrayEigenUniMatrixBatchs_rowsizes< 2 > (py::module_ &m) |
| template void | pybind11_callBindArrayEigenUniMatrixBatchs_rowsizes< 3 > (py::module_ &m) |
| template void | pybind11_callBindArrayEigenUniMatrixBatchs_rowsizes< 4 > (py::module_ &m) |
| template void | pybind11_callBindArrayEigenUniMatrixBatchs_rowsizes< 5 > (py::module_ &m) |
| template void | pybind11_callBindArrayEigenUniMatrixBatchs_rowsizes< 6 > (py::module_ &m) |
| template void | pybind11_callBindArrayEigenUniMatrixBatchs_rowsizes< 7 > (py::module_ &m) |
| template void | pybind11_callBindArrayEigenUniMatrixBatchs_rowsizes< 8 > (py::module_ &m) |
| template void | pybind11_callBindArrayEigenUniMatrixBatchs_rowsizes< DynamicSize > (py::module_ &m) |
| template<int a, int b> | |
| constexpr rowsize | EigenSize_Mul_RowSize () |
a * b if both are compile-time sizes, DynamicSize if either is Eigen::Dynamic, otherwise a sentinel. | |
| void | pybind11_bind_ArrayEigenVector_All (py::module_ &m) |
| template<rowsize _vec_size = 1, rowsize _row_max = _vec_size, rowsize _align = NoAlign> | |
| std::string | pybind11_ArrayEigenVector_name_appends () |
| template<rowsize _vec_size = 1, rowsize _row_max = _vec_size, rowsize _align = NoAlign> | |
| std::string | pybind11_ArrayEigenVector_name () |
| template<rowsize _vec_size = 1, rowsize _row_max = _vec_size, rowsize _align = NoAlign> | |
| std::string | pybind11_ArrayEigenVectorPair_name () |
| template<class TArrayEigenVector = ArrayEigenVector<1>> | |
| auto | pybind11_ArrayEigenVector_getitem (TArrayEigenVector &self, index index_) |
| template<class TArrayEigenVector = ArrayEigenVector<1>> | |
| auto | pybind11_ArrayEigenVector_setitem (TArrayEigenVector &self, index index_, py::buffer row) |
| template<rowsize _vec_size = 1, rowsize _row_max = _vec_size, rowsize _align = NoAlign> | |
| tPy_ArrayEigenVector< _vec_size, _row_max, _align > | pybind11_ArrayEigenVector_declare (py::module_ &m) |
| template<rowsize _vec_size = 1, rowsize _row_max = _vec_size, rowsize _align = NoAlign> | |
| tPy_ArrayEigenVector< _vec_size, _row_max, _align > | pybind11_ArrayEigenVector_get_class (py::module_ &m) |
| template<rowsize _vec_size = 1, rowsize _row_max = _vec_size, rowsize _align = NoAlign> | |
| void | pybind11_ArrayEigenVector_define (py::module_ &m) |
| template<rowsize _vec_size = 1, rowsize _row_max = _vec_size, rowsize _align = NoAlign> | |
| void | _pybind11_ArrayEigenVector_define_dispatch (py::module_ &m) |
| template<rowsize _vec_size = 1, rowsize _row_max = _vec_size, rowsize _align = NoAlign> | |
| tPy_ArrayEigenVectorPair< _vec_size, _row_max, _align > | pybind11_ArrayEigenVectorPair_declare (py::module_ &m) |
| template<rowsize _vec_size = 1, rowsize _row_max = _vec_size, rowsize _align = NoAlign> | |
| tPy_ArrayEigenVector< _vec_size, _row_max, _align > | pybind11_ArrayEigenVectorPair_get_class (py::module_ &m) |
| template<rowsize _vec_size = 1, rowsize _row_max = _vec_size, rowsize _align = NoAlign> | |
| void | pybind11_ArrayEigenVectorPair_define (py::module_ &m) |
| template<rowsize _vec_size = 1, rowsize _row_max = _vec_size, rowsize _align = NoAlign> | |
| void | _pybind11_ArrayEigenVectorPair_define_dispatch (py::module_ &m) |
| template<size_t N, std::array< int, N > const & Arr, size_t... Is> | |
| void | __pybind11_callBindArrayEigenVectors_rowsizes_sequence (py::module_ &m, std::index_sequence< Is... >) |
| void | pybind11_callBindArrayEigenVectors_rowsizes (py::module_ &m) |
| void | pybind11_bind_ArrayDOF_All (py::module_ &m) |
| template<int n_m, int n_n> | |
| std::string | pybind11_ArrayDOF_name () |
| template<int n_m, int n_n> | |
| tPy_ArrayDOF< n_m, n_n > | pybind11_ArrayDOF_declare (py::module_ &m) |
| template<int n_m, int n_n> | |
| tPy_ArrayDOF< n_m, n_n > | pybind11_ArrayDOF_get_class (py::module_ &m) |
| template<int n_m, int n_n> | |
| void | pybind11_ArrayDOF_define (py::module_ &m) |
| template<int n_m, int n_n> | |
| void | _pybind11_ArrayDOF_define_dispatch (py::module_ &m) |
| template<rowsize mat_n, size_t N, std::array< int, N > const & Arr, size_t... Is> | |
| void | __pybind11_callBindArrayDOFs_rowsizes_sequence (py::module_ &m, std::index_sequence< Is... >) |
| template<rowsize mat_n> | |
| void | pybind11_callBindArrayDOF_rowsizes (py::module_ &m) |
| template void | pybind11_callBindArrayDOF_rowsizes< 1 > (py::module_ &m) |
| template void | pybind11_callBindArrayDOF_rowsizes< 2 > (py::module_ &m) |
| template void | pybind11_callBindArrayDOF_rowsizes< 3 > (py::module_ &m) |
| template void | pybind11_callBindArrayDOF_rowsizes< 4 > (py::module_ &m) |
| template void | pybind11_callBindArrayDOF_rowsizes< 5 > (py::module_ &m) |
| template void | pybind11_callBindArrayDOF_rowsizes< 6 > (py::module_ &m) |
| template void | pybind11_callBindArrayDOF_rowsizes< 7 > (py::module_ &m) |
| template void | pybind11_callBindArrayDOF_rowsizes< 8 > (py::module_ &m) |
| template void | pybind11_callBindArrayDOF_rowsizes< DynamicSize > (py::module_ &m) |
| template void | pybind11_callBindArrayDOF_rowsizes< NonUniformSize > (py::module_ &m) |
| std::vector< index > | BuildRedistributionPullingIndex (const MPIInfo &mpi, const std::vector< index > &readOrigIndex, const std::vector< index > &newOrigIndex, const ssp< GlobalOffsetsMapping > &readGlobalMapping) |
| Redistributes ArrayPair data between different MPI partitions using ArrayTransformer. | |
| template<class TArray > | |
| void | RedistributeArrayWithTransformer (const MPIInfo &mpi, ssp< TArray > readFather, const std::vector< index > &readOrigIndex, const std::vector< index > &newOrigIndex, ssp< TArray > outFather) |
| Redistributes an ArrayPair from a source partition to a target partition. | |
| std::string | schemaTypeString (ConfigTypeTag tag) |
| bool | ostreamIsTTY (std::ostream &ostream) |
Heuristic detection of whether ostream is attached to a terminal. | |
| std::ostream & | log () |
Return the current DNDSR log stream (either std::cout or the installed file). | |
| bool | logIsTTY () |
| Convenience: ostreamIsTTY applied to the current log() stream. | |
| void | setLogStream (ssp< std::ostream > nstream) |
Redirect log() output to a user-supplied stream. Ownership is shared. | |
| void | setLogStreamCout () |
Restore the default std::cout routing for log(). | |
| int | get_terminal_width () |
| Terminal width in columns (falls back to a fixed default when not a TTY). | |
| void | print_progress (std::ostream &os, double progress) |
Render a textual progress bar to os for progress in [0, 1]. | |
| std::string | getStringForceWString (const std::wstring &v) |
Convert a wstring to string (UTF-8 on Windows, byte-cast elsewhere). | |
| int | get_env_OMP_NUM_THREADS () |
Read OMP_NUM_THREADS env var, returning 1 if unset / invalid. | |
| int | get_env_DNDS_DIST_OMP_NUM_THREADS () |
| Read the DNDSR-specific DNDS_DIST_OMP_NUM_THREADS override, falling back to get_env_OMP_NUM_THREADS. | |
| std::string | GetSetVersionName (const std::string &ver="") |
| Read/set the build version string accessible from code. | |
| void | RegisterSignalHandler () |
| Install SEGV / ABRT handlers that print a backtrace via DNDS_signal_handler. | |
| std::pair< index, index > | EvenSplitRange (int rank, int nRanks, index nGlobal) |
Split a global range [0, nGlobal) evenly among nRanks workers. | |
| bool | IsUnInitReal (real v) |
Whether v equals the NaN sentinel UnInitReal (tested via isnan). | |
| template<typename T , typename... Args> | |
| ssp< T > | make_ssp (Args &&...args) |
| Type-safe replacement for DNDS_MAKE_SSP. Creates ssp<T> with forwarded args. | |
| template<typename T , typename... Args> | |
| ssp< T > | make_ssp (ObjName objName, Args &&...args) |
| Named variant of make_ssp. If T inherits ObjectNaming, sets the name. | |
| constexpr int | RowSize_To_EigenSize (rowsize rs) |
| Convert a rowsize constant to the corresponding Eigen compile-time size. Fixed >= 0 -> the value; DynamicSize / NonUniformSize -> Eigen::Dynamic. | |
| std::string | RowSize_To_PySnippet (rowsize rs) |
| Encode a rowsize constant as a short Python-binding snippet: "<number>" for fixed, "D" for DynamicSize, "I" for NonUniformSize. Used when generating pybind11 class names. | |
| std::string | Align_To_PySnippet (rowsize al) |
| Encode an alignment value as a Python-binding snippet: "N" for NoAlign, the number otherwise. | |
| template<typename T > | |
| bool | signedIntWillAddOverflow (T value, T increment) |
Overflow-detecting test for value + increment on signed integers. | |
| template<typename T > | |
| T | signedIntSafeAdd (T value, T increment) |
| Add two signed integers, asserting on overflow instead of silently wrapping. | |
| template<typename T > | |
| T | size_t_to_signed (size_t v) |
Narrowing size_t -> T conversion with range check. | |
| index | size_to_index (size_t v) |
| Range-checked conversion from size_t to DNDS::index. | |
| rowsize | size_to_rowsize (size_t v) |
| Range-checked conversion from size_t to DNDS::rowsize. | |
| template<class TtRowsizeVec , class TtIndexVec > | |
| void | AccumulateRowSize (const TtRowsizeVec &rowsizes, TtIndexVec &rowstarts) |
| Build a prefix-sum table from a row-size vector. | |
| template<class T > | |
| bool | checkUniformVector (const std::vector< T > &dat, T &value) |
Whether all elements of dat are equal; if so, stores the value into value. | |
| template<class T , class TP = T> | |
| void | PrintVec (const std::vector< T > &dat, std::ostream &out) |
Print a vector to out with outputDelim between elements. | |
| template<class TL , class TR > | |
| constexpr auto | divCeil (TL l, TR r) |
Integer ceiling division. l must be non-negative, r positive. | |
| template<typename T > | |
| constexpr T | sqr (const T &a) |
a * a, constexpr. Works for all arithmetic types. | |
| template<typename T > | |
| constexpr T | cube (const T &a) |
a * a * a, constexpr. | |
| constexpr real | sign (real a) |
| Signum function: +1, 0, or -1. | |
| constexpr real | signTol (real a, real tol) |
Tolerant signum: returns 0 inside [-tol, tol]. | |
| constexpr real | signP (real a) |
| "Signum, biased toward +1": treats 0 as positive. | |
| constexpr real | signM (real a) |
| "Signum, biased toward -1": treats 0 as negative. | |
| template<typename T > | |
| constexpr T | mod (T a, T b) |
Mathematical modulo that always returns a non-negative result. Unlike % in C++ where (-1) % 3 == -1, mod(-1, 3) == 2. | |
| template<typename T > | |
| constexpr T | divide_ceil (T a, T b) |
Integer ceiling division ceil(a / b). Correct for all signs. | |
| real | float_mod (real a, real b) |
Floating-point modulo matching Python's % (result has sign of b). | |
| template<class tIt1 , class tIt1end , class tIt2 , class tIt2end , class tF > | |
| bool | iterateIdentical (tIt1 it1, tIt1end it1end, tIt2 it2, tIt2end it2end, tF F) |
Walk two ordered ranges in lockstep, calling F on each match. | |
| int32_t | checkedIndexTo32 (index v) |
Narrow index to int32_t with range check; dies on overflow. | |
| std::string | getStringForcePath (const std::filesystem::path::string_type &v) |
Portable conversion of a platform-native path string to std::string. | |
| std::vector< std::string > | splitSString (const std::string &str, char delim) |
| std::vector< std::string > | splitSStringClean (const std::string &str, char delim) |
| bool | sstringHasSuffix (const std::string &str, const std::string &suffix) |
| template<class T > | |
| bool | py_buffer_contains_T (const py::buffer_info &info) |
| bool | py_buffer_is_contigious_c (const py::buffer_info &info) |
| bool | py_buffer_is_contigious_f (const py::buffer_info &info) |
| std::tuple< ssize_t, char > | py_buffer_get_contigious_size (const py::buffer_info &info) |
| template<typename T > | |
| py::memoryview | py_vector_as_memory_view (std::vector< T > &vec, bool readonly) |
| void | pybind11_bind_defines (py::module_ &m) |
| void | deviceStorageBase_deleter (DeviceStorageBase *p) |
Stateless deleter for DeviceStorageBase that works across shared-library boundaries where the vtable of unique_ptr's default deleter would not. | |
| const char * | device_backend_name (DeviceBackend B) |
| Canonical string name for a DeviceBackend (used in log messages). | |
| DeviceBackend | device_backend_name_to_enum (std::string_view s) |
| Inverse of device_backend_name. Returns Unknown for unrecognised names. | |
| t_supDeviceStorageBase | null_supDeviceStorageBase () |
| Null-value helper for t_supDeviceStorageBase. | |
| t_supDeviceStorageBase | device_storage_create (DeviceBackend backend, size_t n_bytes) |
Top-level factory: dispatches to the per-backend factory based on backend. Returns a null unique_ptr for DeviceBackendUnknown. | |
| void | pybind11_bind_deviceStorage (py::module_ &m) |
| void | pybind11_bind_device_controls (py::module_ &m) |
| template<DeviceBackend B, class T , rowsize _row_size, rowsize _row_max, rowsize _align> | |
| auto | ArrayDeviceView_build (index n_size, T *n_data, index n_data_size, const index *n_rowstart, index n_rowstart_size, const rowsize *n_rowsizes, index n_rowsizes_size, rowsize n_row_size_dynamic, T *n_data_device, const index *n_rowstart_device, const rowsize *n_rowsizes_device) |
Factory for ArrayDeviceView: selects host or device pointers based on B and forwards everything else. | |
| template<class dir > | |
| std::string | to_string (const Eigen::DenseBase< dir > &v, int precision=5, bool scientific=false) |
Render an Eigen::DenseBase to a string via operator<<. | |
| std::string | getTraceString () |
| Return a symbolicated stack trace for the calling thread. | |
| void | assert_false (const char *expr, const char *file, int line) |
| Low-level: print a red "DNDS_assertion failed" line and abort. | |
| void | assert_false_info (const char *expr, const char *file, int line, const std::string &info) |
Variant of assert_false that prints an extra info string. | |
| void | assert_false_infof (const char *expr, const char *file, int line, const char *info,...) |
printf-style variant of assert_false. Used by DNDS_assert_infof. | |
| template<class TException = std::runtime_error> | |
| void | assert_false_info_throw (const char *expr, const char *file, int line, const std::string &info) |
| Throwing variant of assert_false_info. Used by DNDS_check_throw. | |
| hid_t | DNDS_H5T_INDEX () |
HDF5 native datatype matching DNDS index (currently H5T_NATIVE_INT64). | |
| hid_t | DNDS_H5T_ROWSIZE () |
HDF5 native datatype matching DNDS rowsize (currently H5T_NATIVE_INT32). | |
| hid_t | DNDS_H5T_REAL () |
HDF5 native datatype matching DNDS real (currently H5T_NATIVE_DOUBLE). | |
| auto | pybind11_GlobalOffsetsMapping_declare (py::module_ m) |
| auto | pybind11_GlobalOffsetsMapping_get_class (py::module_ m) |
| void | pybind11_GlobalOffsetsMapping_define (py::module_ m) |
| auto | pybind11_OffsetAscendIndexMapping_declare (py::module_ m) |
| auto | pybind11_OffsetAscendIndexMapping_get_class (py::module_ m) |
| void | pybind11_OffsetAscendIndexMapping_define (py::module_ m) |
| void | pybind11_bind_IndexMapping_All (py::module_ m) |
| Eigen::VectorXd | JsonGetEigenVector (const nlohmann::json &arr) |
Parse a JSON array into an Eigen::VectorXd. Throws a descriptive assertion on any JSON error. | |
| Eigen::VectorFMTSafe< real, -1 > | JsonGetEigenVectorFMTSafe (const nlohmann::json &arr) |
Parse a JSON array into an Eigen::VectorFMTSafe (fixed-point-aware wrapper). | |
| auto | EigenVectorGetJson (const Eigen::VectorXd &ve) |
Dump an Eigen::VectorXd into a JSON array of doubles. | |
| auto | EigenVectorFMTSafeGetJson (const Eigen::VectorFMTSafe< real, -1 > &ve) |
Dump an Eigen::VectorFMTSafe into a JSON array of doubles. | |
| void | to_json (nlohmann::ordered_json &j, const host_device_vector< real > &v) |
| void | from_json (const nlohmann::ordered_json &j, host_device_vector< real > &v) |
| void | assert_false_info_mpi (const char *expr, const char *file, int line, const std::string &info, const DNDS::MPIInfo &mpi) |
| MPI-aware assertion-failure reporter. | |
| std::string | getTimeStamp (const MPIInfo &mpi) |
| Format a human-readable timestamp using the calling rank as context. | |
| template<class Tbasic > | |
| constexpr MPI_Datatype | __DNDSToMPITypeInt () |
| Map a DNDS integer type size to an MPI signed-integer datatype. | |
| template<class Tbasic > | |
| constexpr MPI_Datatype | __DNDSToMPITypeFloat () |
| Map a DNDS floating-point type size to an MPI datatype. | |
| template<class T > | |
| std::pair< MPI_Datatype, MPI_int > | BasicType_To_MPIIntType_Custom () |
Dispatch to a user-provided CommPair / CommMult+ CommType pair on T. | |
| template<class T > | |
| std::pair< MPI_Datatype, MPI_int > | BasicType_To_MPIIntType () |
Deduce an (MPI_Datatype, count) pair that represents a T value. | |
| MPI_int | MPIWorldSize () |
Convenience: MPI_Comm_size(MPI_COMM_WORLD). | |
| MPI_int | MPIWorldRank () |
Convenience: MPI_Comm_rank(MPI_COMM_WORLD). | |
| template<class F > | |
| void | MPISerialDo (const MPIInfo &mpi, F f) |
Execute f on each rank serially, in rank order. | |
| void | InsertCheck (const MPIInfo &mpi, const std::string &info="", const std::string &FUNCTION="", const std::string &FILE="", int LINE=-1) |
| Barrier + annotated print used by DNDS_MPI_InsertCheck. | |
| void | pybind11_MPIInfo (py::module_ &m) |
| void | pybind11_bind_MPI_All (py::module_ &m) |
| MPI_Datatype | py_get_buffer_basic_mpi_datatype (const py::buffer_info &info) |
| MPI_Op | py_get_simple_mpi_op_by_name (const std::string &op) |
| template<typename TList , typename F > | |
| void | for_each_member_list (TList &&obj_member_list, F &&f) |
Invoke f(member) for every element of a std::tuple of members. | |
| template<typename T > | |
| MemberRef (T &, const char *) -> MemberRef< T > | |
| template<typename Class , typename TList , typename F > | |
| void | for_each_member_ptr_list (Class &obj, TList &&obj_member_ptr_list, F &&f) |
Invoke f(name, obj.*ptr) for every member in a list of MemberPtr. | |
| template<typename TList , typename F > | |
| void | for_each_member_ptr_list_raw (TList &&obj_member_ptr_list, F &&f) |
Low-level variant that passes each MemberPtr object through to f directly (for callers that need access to both ptr and name). | |
| template<typename Class , typename T > | |
| MemberPtr (T Class::*, const char *) -> MemberPtr< Class, T > | |
| PerformanceTimer & | Timer () |
| Short-hand accessor to the PerformanceTimer singleton. | |
| template<class TBlkSiz , class TDisp , class TSizeof > | |
| auto | optimize_hindexed_layout (index o_size, TBlkSiz *blk_sizes, TDisp *disps, TSizeof sizeofElem) |
Coalesce contiguous blocks in an MPI_Type_create_hindexed layout. | |
Variables | |
| ssp< std::ostream > | logStream |
Shared output stream: where DNDS::log() writes progress / diagnostics. | |
| bool | useCout = true |
Whether DNDS::log() is currently routed to std::cout. | |
| template<typename T > | |
| constexpr bool | is_ssp_v = is_ssp<T>::value |
| DNDS_CONSTANT const index | indexMin = INT64_MIN |
| Minimum representable index value (= INT64_MIN). | |
| DNDS_CONSTANT const real | UnInitReal = NAN |
Sentinel "not initialised" real value (NaN). Cheap to detect with std::isnan or IsUnInitReal; survives MPI transport unchanged. | |
| DNDS_CONSTANT const index | UnInitIndex = INT64_MIN |
| Sentinel "not initialised" index value (= INT64_MIN). | |
| DNDS_CONSTANT const rowsize | UnInitRowsize = INT32_MIN |
| Sentinel "not initialised" rowsize value (= INT32_MIN). | |
| DNDS_CONSTANT const real | veryLargeReal = 3e200 |
| Catch-all upper bound ("practically infinity") for physical scalars. | |
| DNDS_CONSTANT const real | largeReal = 3e10 |
| Loose upper bound (e.g., for non-dimensional limits). | |
| DNDS_CONSTANT const real | verySmallReal = 1e-200 |
| Catch-all lower bound ("effectively zero"). | |
| DNDS_CONSTANT const real | smallReal = 1e-10 |
| Loose lower bound (for iterative-solver tolerances etc.). | |
| DNDS_CONSTANT const real | pi = DNDS_E_PI |
| π in double precision (matches DNDS_E_PI macro). | |
| DNDS_CONSTANT const rowsize | DynamicSize = -1 |
| Template parameter flag: "row width is set at runtime but uniform". | |
| DNDS_CONSTANT const rowsize | NonUniformSize = -2 |
| Template parameter flag: "each row has an independent width". | |
| DNDS_CONSTANT const rowsize | NoAlign = -1024 |
| Alignment flag: no padding applied to rows (the only currently-supported value). | |
| const char * | __EigenPCH = "EigenPCH" |
| const char * | __ExprtkPCH = "ExprtkPCH" |
| std::mutex | HDF_mutex |
| Global mutex serialising host-side HDF5 calls. | |
| const MPI_Datatype | DNDS_MPI_INDEX = __DNDSToMPITypeInt<index>() |
MPI datatype matching index (= MPI_INT64_T). | |
| const MPI_Datatype | DNDS_MPI_REAL = __DNDSToMPITypeFloat<real>() |
MPI datatype matching real (= MPI_REAL8). | |
the host side operators are provided as implemented
| using DNDS::ArrayAdjacencyPair = typedef ArrayPair<ArrayAdjacency<_row_size, _row_max, _align> > |
ArrayPair alias for mesh adjacency (variable-width integer rows).
Definition at line 704 of file ArrayPair.hpp.
| using DNDS::ArrayEigenMatrixBatchPair = typedef ArrayPair<ArrayEigenMatrixBatch> |
ArrayPair alias for per-row variable-size Eigen matrix batches.
Definition at line 716 of file ArrayPair.hpp.
| using DNDS::ArrayEigenMatrixPair = typedef ArrayPair<ArrayEigenMatrix<_mat_ni, _mat_nj, _mat_ni_max, _mat_nj_max, _align> > |
ArrayPair alias for per-row Eigen matrices.
Definition at line 713 of file ArrayPair.hpp.
| using DNDS::ArrayEigenUniMatrixBatchPair = typedef ArrayPair<ArrayEigenUniMatrixBatch<_n_row, _n_col> > |
ArrayPair alias for per-row batches of uniform _n_row x _n_col matrices.
Used by FiniteVolume / VariationalReconstruction to store per-quadrature-point Jacobians and basis coefficients.
Definition at line 722 of file ArrayPair.hpp.
| using DNDS::ArrayEigenVectorPair = typedef ArrayPair<ArrayEigenVector<_vec_size, _row_max, _align> > |
ArrayPair alias for per-row Eigen vectors (e.g., node coords with N=3).
Definition at line 708 of file ArrayPair.hpp.
| using DNDS::ArrayTransformerType_t = typedef typename ArrayTransformerType<TArray>::Type |
Definition at line 1484 of file ArrayTransformer.hpp.
| using DNDS::ContextualCheck = typedef std::function<CheckResult(const void *obj, const ConfigContext &ctx)> |
A cross-field validation check that requires runtime context.
The function receives a const void* pointing to the config section struct and a ConfigContext carrying runtime values (nVars, dim, model, etc.).
Definition at line 208 of file ConfigRegistry.hpp.
| using DNDS::CrossFieldCheck = typedef std::function<CheckResult(const void *obj)> |
A cross-field validation check that does not require runtime context.
The function receives a const void* pointing to the config section struct. It should cast to const T& and inspect the fields, returning CheckResult.
Definition at line 202 of file ConfigRegistry.hpp.
| using DNDS::expression_t = typedef exprtk::expression<real> |
Definition at line 13 of file ExprtkWrapper.cpp.
| using DNDS::host_device_vector = typedef host_device_vector_r1<T> |
Primary public alias: host_device_vector<T> = #host_device_vector_r1<T>. Prefer this name throughout the code base.
Definition at line 527 of file Vector.hpp.
| using DNDS::index = typedef int64_t |
Global row / DOF index type (signed 64-bit; handles multi-billion-cell meshes).
Definition at line 107 of file Defines.hpp.
| using DNDS::MatrixXR = typedef Eigen::Matrix<real, Eigen::Dynamic, Eigen::Dynamic> |
Column-major dynamic Eigen matrix of reals (default layout).
Definition at line 205 of file Defines.hpp.
| using DNDS::MPI_index = typedef MPI_Aint |
| using DNDS::MPI_int = typedef int |
| using DNDS::parser_t = typedef exprtk::parser<real> |
Definition at line 14 of file ExprtkWrapper.cpp.
| using DNDS::py_class_ssp = typedef py::classh<T> |
Definition at line 21 of file Defines_bind.hpp.
| using DNDS::real = typedef double |
Canonical floating-point scalar used throughout DNDSR (double precision).
Definition at line 105 of file Defines.hpp.
| using DNDS::real_half_sized_index = typedef int32_t |
Integer type with half the width of real.
Definition at line 113 of file Defines.hpp.
| using DNDS::real_sized_index = typedef int64_t |
Integer type with the same width as real (used for type-punning / packing).
Definition at line 111 of file Defines.hpp.
| using DNDS::remove_cvref_t = typedef std::remove_cv_t<std::remove_reference_t<T> > |
Convenience remove_cv + remove_reference composition (C++17 port of C++20's std::remove_cvref_t).
Definition at line 156 of file Defines.hpp.
| using DNDS::rowsize = typedef int32_t |
Row-width / per-row element-count type (signed 32-bit).
Definition at line 109 of file Defines.hpp.
| using DNDS::RowVectorXR = typedef Eigen::RowVector<real, Eigen::Dynamic> |
Dynamic row-vector of reals.
Definition at line 209 of file Defines.hpp.
| using DNDS::ssp = typedef std::shared_ptr<T> |
Shortened alias for std::shared_ptr used pervasively in DNDSR.
Definition at line 138 of file Defines.hpp.
| using DNDS::symbol_table_t = typedef exprtk::symbol_table<real> |
Definition at line 12 of file ExprtkWrapper.cpp.
| using DNDS::t_indexerPair = typedef std::tuple<index, index> |
Paired indices, typically (start, size) or (first, last).
Definition at line 167 of file Defines.hpp.
| using DNDS::t_IndexVec = typedef std::vector<index> |
Vector of index values (global offsets, local ids, etc.).
Definition at line 161 of file Defines.hpp.
| using DNDS::t_jsonconfig = typedef nlohmann::ordered_json |
Project-wide JSON type alias: nlohmann/json with ordered keys.
Order preservation makes generated config files diffable across re-saves. Use this for all DNDSR-facing configuration objects; reach for the unordered nlohmann::json only where compatibility with third-party producers demands it.
Definition at line 19 of file JsonUtil.hpp.
| using DNDS::t_pIndexVec = typedef ssp<t_IndexVec> |
Shared pointer alias to t_IndexVec (used by mapping tables shared between arrays, see IndexMapping.hpp).
Definition at line 164 of file Defines.hpp.
| using DNDS::t_pLGhostMapping = typedef ssp<OffsetAscendIndexMapping> |
Shared pointer to an OffsetAscendIndexMapping (per-rank ghost layout).
Definition at line 33 of file ArrayTransformer.hpp.
| using DNDS::t_pLGlobalMapping = typedef ssp<GlobalOffsetsMapping> |
Shared pointer to a GlobalOffsetsMapping (globally replicated).
Definition at line 31 of file ArrayTransformer.hpp.
| using DNDS::t_RowsizeVec = typedef std::vector<rowsize> |
Vector of row widths (one rowsize per row).
Definition at line 159 of file Defines.hpp.
| using DNDS::t_sspDeviceStorageBase = typedef std::shared_ptr<DeviceStorageBase> |
Shared pointer equivalent of t_supDeviceStorageBase.
Definition at line 89 of file DeviceStorage.hpp.
| using DNDS::t_supDeviceStorageBase = typedef std::unique_ptr<DeviceStorageBase, std::function<void(DeviceStorageBase *)> > |
Owning unique pointer to a DeviceStorageBase with cross-DLL-safe deleter.
Definition at line 87 of file DeviceStorage.hpp.
| using DNDS::tDiFj = typedef Eigen::Matrix<real, -1, -1, Eigen::RowMajor> |
Row-major dynamic Eigen matrix used by quadrature / basis tables.
Definition at line 202 of file Defines.hpp.
| using DNDS::tExprVars = typedef std::map<std::string, real> |
Scalar name -> value map fed into an ExprtkWrapperEvaluator.
Definition at line 11 of file ExprtkWrapper.hpp.
| using DNDS::tExprVarVecs = typedef std::map<std::string, Eigen::Vector<real, Eigen::Dynamic> > |
Vector name -> Eigen dense vector map fed into an ExprtkWrapperEvaluator.
Definition at line 13 of file ExprtkWrapper.hpp.
| using DNDS::tLogSimpleDIValueMap = typedef std::map<std::string, LogSimpleDIValue> |
Convenience alias: the title -> value map type passed to CsvLog::WriteLine.
Definition at line 141 of file CsvLog.hpp.
| using DNDS::tMPI_AintVec = typedef tMPI_indexVec |
Alias for tMPI_indexVec to match MPI_Aint terminology.
| using DNDS::tMPI_indexVec = typedef std::vector<MPI_index> |
| using DNDS::tMPI_intVec = typedef tMPI_sizeVec |
Alias for tMPI_sizeVec; used where the name "int vec" reads better.
| using DNDS::tMPI_reqVec = typedef std::vector<MPI_Request> |
| using DNDS::tMPI_sizeVec = typedef std::vector<MPI_int> |
| using DNDS::tMPI_statVec = typedef std::vector<MPI_Status> |
| using DNDS::tMPI_typePairVec = typedef std::vector<std::pair<MPI_int, MPI_Datatype> > |
| using DNDS::tpMPITypePairHolder = typedef ssp<MPITypePairHolder> |
Shared-pointer alias to MPITypePairHolder.
| using DNDS::tPy_Array = typedef py_class_ssp<Array<T, _row_size, _row_max, _align> > |
Definition at line 65 of file Array_bind.hpp.
| using DNDS::tPy_ArrayAdjacency = typedef py_class_ssp<ArrayAdjacency<_row_size, _row_max, _align> > |
Definition at line 30 of file ArrayAdjacency_bind.hpp.
| using DNDS::tPy_ArrayAdjacencyPair = typedef py_class_ssp<ArrayAdjacencyPair<_row_size, _row_max, _align> > |
Definition at line 33 of file ArrayAdjacency_bind.hpp.
| using DNDS::tPy_ArrayDOF = typedef py_class_ssp<ArrayDof<n_m, n_n> > |
Definition at line 23 of file ArrayDOF_bind.hpp.
| using DNDS::tPy_ArrayEigenMatrix = typedef py_class_ssp<ArrayEigenMatrix<_mat_ni, _mat_nj, _mat_ni_max, _mat_nj_max, _align> > |
Definition at line 37 of file ArrayEigenMatrix_bind.hpp.
| using DNDS::tPy_ArrayEigenMatrixBatch = typedef py_class_ssp<ArrayEigenMatrixBatch> |
Definition at line 19 of file ArrayEigenMatrixBatch_bind.hpp.
| using DNDS::tPy_ArrayEigenMatrixBatchPair = typedef py_class_ssp<ArrayEigenMatrixBatchPair> |
Definition at line 21 of file ArrayEigenMatrixBatch_bind.hpp.
| using DNDS::tPy_ArrayEigenMatrixPair = typedef py_class_ssp<ArrayEigenMatrixPair<_mat_ni, _mat_nj, _mat_ni_max, _mat_nj_max, _align> > |
Definition at line 41 of file ArrayEigenMatrix_bind.hpp.
| using DNDS::tPy_ArrayEigenUniMatrixBatch = typedef py_class_ssp<ArrayEigenUniMatrixBatch<_n_row, _n_col> > |
Definition at line 26 of file ArrayEigenUniMatrixBatch_bind.hpp.
| using DNDS::tPy_ArrayEigenUniMatrixBatchPair = typedef py_class_ssp<ArrayEigenUniMatrixBatchPair<_n_row, _n_col> > |
Definition at line 29 of file ArrayEigenUniMatrixBatch_bind.hpp.
| using DNDS::tPy_ArrayEigenVector = typedef py_class_ssp<ArrayEigenVector<_vec_size, _row_max, _align> > |
Definition at line 30 of file ArrayEigenVector_bind.hpp.
| using DNDS::tPy_ArrayEigenVectorPair = typedef py_class_ssp<ArrayEigenVectorPair<_vec_size, _row_max, _align> > |
Definition at line 33 of file ArrayEigenVector_bind.hpp.
| using DNDS::tPy_ArrayTransformer = typedef py_class_ssp<ArrayTransformerType_t<TArray> > |
Definition at line 72 of file Array_bind.hpp.
| using DNDS::tPy_ParArray = typedef py_class_ssp<ParArray<T, _row_size, _row_max, _align> > |
Definition at line 68 of file Array_bind.hpp.
| using DNDS::tPy_ParArrayPair = typedef py_class_ssp<ArrayPair<ParArray<T, _row_size, _row_max, _align> >> |
Definition at line 76 of file Array_bind.hpp.
| using DNDS::VectorXR = typedef Eigen::Vector<real, Eigen::Dynamic> |
Dynamic Eigen vector of reals.
Definition at line 207 of file Defines.hpp.
|
strong |
Enumerates the JSON Schema type associated with a config field.
Used by FieldMeta::schemaEntry to emit the correct "type" value in the generated JSON Schema. The mapping is:
| Tag | JSON Schema type | C++ types |
|---|---|---|
| Bool | "boolean" | bool |
| Int | "integer" | int, int32_t, int64_t, uint8_t |
| Real | "number" | real (double), float |
| String | "string" | std::string |
| Enum | "string" + enum | any enum with DNDS_DEFINE_ENUM_JSON |
| Array | "array" | std::vector<scalar>, Eigen::VectorXd |
| Object | "object" | nested config section |
| ArrayOfObjects | "array" of objects | std::vector<Section> |
| MapOfObjects | "object" (additionalProperties) | std::map<string,Section> |
| Json | {} (any) | nlohmann::ordered_json |
| Enumerator | |
|---|---|
| Bool | |
| Int | |
| Real | |
| String | |
| Enum | |
| Array | |
| Object | |
| ArrayOfObjects | |
| MapOfObjects | |
| Json | |
Definition at line 105 of file ConfigRegistry.hpp.
| enum DNDS::DataLayout |
Enumeration of the five concrete data layouts supported by Array.
The value is determined at compile time from _row_size and _row_max template parameters. See the layout table in Array.hpp.
Definition at line 17 of file ArrayBasic.hpp.
|
strong |
Enumerates the backends a DeviceStorage / Array can live on.
Host is always available; CUDA is compiled in when DNDS_USE_CUDA is defined. Additional slots (Custom1, ...) are placeholders for future backends (e.g., HIP, SYCL) that can be plugged in by providing new factory specialisations.
| Enumerator | |
|---|---|
| Unknown | Unset / sentinel. |
| Host | Plain CPU memory. |
| Custom1 | Reserved slot for a project-specific backend. |
Definition at line 27 of file DeviceStorage.hpp.
|
constexpr |
Map a DNDS floating-point type size to an MPI datatype.
Compile-time selects MPI_REAL8 or MPI_REAL4 based on sizeof(Tbasic). Used by DNDS_MPI_REAL.
|
constexpr |
Map a DNDS integer type size to an MPI signed-integer datatype.
Compile-time selects MPI_INT64_T or MPI_INT32_T based on sizeof(Tbasic). Used by DNDS_MPI_INDEX.
Compute the underlying per-row element count for an Ni x Nj matrix cell.
Resolves to Ni*Nj when both are compile-time fixed, NonUniformSize when either uses per-row sizing, or DynamicSize for the remaining runtime-determined cases.
Definition at line 20 of file ArrayEigenMatrix_DeviceView.hpp.
| void DNDS::__pybind11_callBindArrayAdjacencys_rowsizes_sequence | ( | py::module_ & | m, |
| std::index_sequence< Is... > | |||
| ) |
| void DNDS::__pybind11_callBindArrayDOFs_rowsizes_sequence | ( | py::module_ & | m, |
| std::index_sequence< Is... > | |||
| ) |
| void DNDS::__pybind11_callBindArrayEigenMatrixs_rowsizes_sequence | ( | py::module_ & | m, |
| std::index_sequence< Is... > | |||
| ) |
Definition at line 249 of file ArrayEigenMatrix_bind.hpp.
| void DNDS::__pybind11_callBindArrayEigenUniMatrixBatchs_rowsizes_sequence | ( | py::module_ & | m, |
| std::index_sequence< Is... > | |||
| ) |
Definition at line 297 of file ArrayEigenUniMatrixBatch_bind.hpp.
| void DNDS::__pybind11_callBindArrayEigenVectors_rowsizes_sequence | ( | py::module_ & | m, |
| std::index_sequence< Is... > | |||
| ) |
Definition at line 196 of file ArrayEigenVector_bind.hpp.
| void DNDS::__pybind11_callBindArrays_rowsizes_sequence | ( | py::module_ & | m, |
| std::index_sequence< Is... > | |||
| ) |
| void DNDS::__pybind11_callBindArrayTransformers_rowsizes_sequence | ( | py::module_ & | m, |
| std::index_sequence< Is... > | |||
| ) |
| void DNDS::__pybind11_callBindParArrayPairs_rowsizes_sequence | ( | py::module_ & | m, |
| std::index_sequence< Is... > | |||
| ) |
| void DNDS::__pybind11_callBindParArrays_rowsizes_sequence | ( | py::module_ & | m, |
| std::index_sequence< Is... > | |||
| ) |
|
constexpr |
Definition at line 550 of file Array_bind.hpp.
| void DNDS::_pybind11_Array_define_dispatch | ( | py::module_ & | m | ) |
Definition at line 223 of file Array_bind.hpp.
| void DNDS::_pybind11_ArrayAdjacency_define_dispatch | ( | py::module_ & | m | ) |
Definition at line 125 of file ArrayAdjacency_bind.hpp.
| void DNDS::_pybind11_ArrayAdjacencyPair_define_dispatch | ( | py::module_ & | m | ) |
Definition at line 191 of file ArrayAdjacency_bind.hpp.
| void DNDS::_pybind11_ArrayDOF_define_dispatch | ( | py::module_ & | m | ) |
Definition at line 117 of file ArrayDOF_bind.hpp.
| void DNDS::_pybind11_ArrayEigenMatrix_define_dispatch | ( | py::module_ & | m | ) |
Definition at line 169 of file ArrayEigenMatrix_bind.hpp.
| void DNDS::_pybind11_ArrayEigenMatrixPair_define_dispatch | ( | py::module_ & | m | ) |
Definition at line 236 of file ArrayEigenMatrix_bind.hpp.
| void DNDS::_pybind11_ArrayEigenUniMatrixBatch_define_dispatch | ( | py::module_ & | m | ) |
Definition at line 201 of file ArrayEigenUniMatrixBatch_bind.hpp.
| void DNDS::_pybind11_ArrayEigenUniMatrixBatchPair_define_dispatch | ( | py::module_ & | m | ) |
Definition at line 283 of file ArrayEigenUniMatrixBatch_bind.hpp.
| void DNDS::_pybind11_ArrayEigenVector_define_dispatch | ( | py::module_ & | m | ) |
Definition at line 120 of file ArrayEigenVector_bind.hpp.
| void DNDS::_pybind11_ArrayEigenVectorPair_define_dispatch | ( | py::module_ & | m | ) |
Definition at line 184 of file ArrayEigenVector_bind.hpp.
| void DNDS::_pybind11_ArrayTransformer_define_dispatch | ( | py::module_ & | m | ) |
Definition at line 538 of file Array_bind.hpp.
| void DNDS::_pybind11_ParArray_define_dispatch | ( | py::module_ & | m | ) |
Definition at line 296 of file Array_bind.hpp.
| void DNDS::_pybind11_ParArrayPair_define_dispatch | ( | py::module_ & | m | ) |
Definition at line 437 of file Array_bind.hpp.
|
inline |
Build a prefix-sum table from a row-size vector.
Resizes rowstarts to rowsizes.size() + 1 and fills it so that rowstarts[i] = sum_{k<i} rowsizes[k]. Asserts on overflow. Used extensively by CSR Array / ghost-indexing to turn row-count vectors into offset vectors.
| TtRowsizeVec | std::vector-like of row sizes (e.g. rowsize). |
| TtIndexVec | std::vector-like of offsets (e.g. index), must have a strictly wider range than the row-size type. |
Definition at line 452 of file Defines.hpp.
|
inline |
Encode an alignment value as a Python-binding snippet: "N" for NoAlign, the number otherwise.
Definition at line 310 of file Defines.hpp.
|
constexpr |
Whether T is legal as an Array element type (trivially copyable or a fixed-size real Eigen matrix). Controls CUDA/MPI copy paths.
Definition at line 56 of file ArrayBasic.hpp.
| auto DNDS::ArrayDeviceView_build | ( | index | n_size, |
| T * | n_data, | ||
| index | n_data_size, | ||
| const index * | n_rowstart, | ||
| index | n_rowstart_size, | ||
| const rowsize * | n_rowsizes, | ||
| index | n_rowsizes_size, | ||
| rowsize | n_row_size_dynamic, | ||
| T * | n_data_device, | ||
| const index * | n_rowstart_device, | ||
| const rowsize * | n_rowsizes_device | ||
| ) |
Factory for ArrayDeviceView: selects host or device pointers based on B and forwards everything else.
Used by Array::deviceView<B>(); rarely called directly.
Definition at line 107 of file DeviceView.hpp.
|
inline |
Low-level: print a red "DNDS_assertion failed" line and abort.
Definition at line 40 of file Errors.hpp.
|
inline |
Variant of assert_false that prints an extra info string.
Definition at line 48 of file Errors.hpp.
| void DNDS::assert_false_info_mpi | ( | const char * | expr, |
| const char * | file, | ||
| int | line, | ||
| const std::string & | info, | ||
| const DNDS::MPIInfo & | mpi | ||
| ) |
MPI-aware assertion-failure reporter.
Barriers before abort so every rank flushes its output; if Debug::isDebugging is set, busy-waits to allow debugger attachment.
Definition at line 95 of file MPI.cpp.
| void DNDS::assert_false_info_throw | ( | const char * | expr, |
| const char * | file, | ||
| int | line, | ||
| const std::string & | info | ||
| ) |
Throwing variant of assert_false_info. Used by DNDS_check_throw.
| TException | Exception type to throw (defaults to std::runtime_error). Currently the implementation ignores the template parameter and always throws std::runtime_error; kept for future customisation. |
Definition at line 76 of file Errors.hpp.
|
inline |
printf-style variant of assert_false. Used by DNDS_assert_infof.
Definition at line 57 of file Errors.hpp.
| std::pair< MPI_Datatype, MPI_int > DNDS::BasicType_To_MPIIntType | ( | ) |
Deduce an (MPI_Datatype, count) pair that represents a T value.
Compile-time dispatch:
MPI_* datatypes, count = 1;T[N]) recurse into the element type and multiply the count;std::array<T, N> recurses into T::value_type and multiplies by N;sizeof(T)/sizeof(real);Used throughout ghost-communication and collective code to avoid hand- writing datatype mapping for every MPI call.
constexpr because OpenMPI handles are not constant-expressions. Warning, not const-expr since OpenMPI disallows it Definition at line 149 of file MPI.hpp.
| std::pair< MPI_Datatype, MPI_int > DNDS::BasicType_To_MPIIntType_Custom | ( | ) |
|
inline |
Redistributes ArrayPair data between different MPI partitions using ArrayTransformer.
The caller provides:
The redistributor builds a temporary ArrayTransformer to pull needed data:
This works for fixed-row-size, dynamic-row-size, and CSR arrays alike, since ArrayTransformer handles all these layouts internally.
Builds the pulling index mapping for redistribution.
Given the origIndex arrays from the even-split read (distributed across all ranks), and the newOrigIndex for this rank, determines which global indices in the read array space need to be pulled.
Uses a 3-round MPI_Alltoallv rendezvous: Round 1: Send (origIdx, globalReadIdx) pairs to directory ranks. Round 2: Send query origIndex entries to directory ranks. Round 3: Directory ranks reply with resolved globalReadIdx.
| mpi | MPI communicator info |
| readOrigIndex | Original indices from the even-split read (this rank's slice) |
| newOrigIndex | Original indices this rank needs (from current partition) |
| readGlobalMapping | Global mapping of the read array (prefix-sum offsets) |
Definition at line 70 of file ArrayRedistributor.hpp.
|
inline |
Narrow index to int32_t with range check; dies on overflow.
Definition at line 619 of file Defines.hpp.
|
inline |
Whether all elements of dat are equal; if so, stores the value into value.
Definition at line 469 of file Defines.hpp.
|
constexpr |
a * a * a, constexpr.
Definition at line 525 of file Defines.hpp.
|
inline |
Canonical string name for a DeviceBackend (used in log messages).
Definition at line 51 of file DeviceStorage.hpp.
|
inline |
Inverse of device_backend_name. Returns Unknown for unrecognised names.
Definition at line 70 of file DeviceStorage.hpp.
|
inline |
Top-level factory: dispatches to the per-backend factory based on backend. Returns a null unique_ptr for DeviceBackendUnknown.
Definition at line 159 of file DeviceStorage.hpp.
| void DNDS::deviceStorageBase_deleter | ( | DeviceStorageBase * | p | ) |
Stateless deleter for DeviceStorageBase that works across shared-library boundaries where the vtable of unique_ptr's default deleter would not.
Definition at line 12 of file DeviceStorage.cpp.
|
constexpr |
Integer ceiling division. l must be non-negative, r positive.
divCeil. l must be non-negative, r must be positive. integers
Definition at line 495 of file Defines.hpp.
|
constexpr |
Integer ceiling division ceil(a / b). Correct for all signs.
Definition at line 569 of file Defines.hpp.
|
inline |
|
inline |
|
inline |
|
constexpr |
a * b if both are compile-time sizes, DynamicSize if either is Eigen::Dynamic, otherwise a sentinel.
Helper used by ArrayEigenUniMatrixBatchDeviceView to compute the underlying ParArray row width from the matrix shape.
Definition at line 17 of file ArrayEigenUniMatrixBatch_DeviceView.hpp.
|
inline |
Dump an Eigen::VectorFMTSafe into a JSON array of doubles.
Definition at line 77 of file JsonUtil.hpp.
|
inline |
Dump an Eigen::VectorXd into a JSON array of doubles.
Definition at line 67 of file JsonUtil.hpp.
Split a global range [0, nGlobal) evenly among nRanks workers.
Used by the EvenSplit serialization-offset mode and by redistribution routines to pick per-rank slabs without exchanging sizes. The partition is dense and balanced to within one item.
[start, end) for the caller's rank. Definition at line 129 of file Defines.hpp.
Floating-point modulo matching Python's % (result has sign of b).
| b | Must be positive. |
Definition at line 580 of file Defines.hpp.
| void DNDS::for_each_member_list | ( | TList && | obj_member_list, |
| F && | f | ||
| ) |
Invoke f(member) for every element of a std::tuple of members.
Companion to MemberRef / MemberPtr below; used to build auto-generated JSON / diagnostic dumps of struct contents.
Definition at line 17 of file ObjectUtils.hpp.
| void DNDS::for_each_member_ptr_list | ( | Class & | obj, |
| TList && | obj_member_ptr_list, | ||
| F && | f | ||
| ) |
Invoke f(name, obj.*ptr) for every member in a list of MemberPtr.
Definition at line 42 of file ObjectUtils.hpp.
| void DNDS::for_each_member_ptr_list_raw | ( | TList && | obj_member_ptr_list, |
| F && | f | ||
| ) |
Low-level variant that passes each MemberPtr object through to f directly (for callers that need access to both ptr and name).
Definition at line 51 of file ObjectUtils.hpp.
|
inline |
| int DNDS::get_env_DNDS_DIST_OMP_NUM_THREADS | ( | ) |
Read the DNDSR-specific DNDS_DIST_OMP_NUM_THREADS override, falling back to get_env_OMP_NUM_THREADS.
Definition at line 139 of file Defines.cpp.
| int DNDS::get_env_OMP_NUM_THREADS | ( | ) |
Read OMP_NUM_THREADS env var, returning 1 if unset / invalid.
Definition at line 119 of file Defines.cpp.
| int DNDS::get_terminal_width | ( | ) |
Terminal width in columns (falls back to a fixed default when not a TTY).
Definition at line 57 of file Defines.cpp.
| std::string DNDS::GetSetVersionName | ( | const std::string & | ver = "" | ) |
Read/set the build version string accessible from code.
When ver is non-empty it replaces the stored value; always returns the current value. Written into HDF5 attributes for traceability.
Definition at line 172 of file Defines.cpp.
|
inline |
Portable conversion of a platform-native path string to std::string.
Definition at line 630 of file Defines.hpp.
| std::string DNDS::getStringForceWString | ( | const std::wstring & | v | ) |
Convert a wstring to string (UTF-8 on Windows, byte-cast elsewhere).
Definition at line 104 of file Defines.cpp.
| std::string DNDS::getTimeStamp | ( | const MPIInfo & | mpi | ) |
| std::string DNDS::getTraceString | ( | ) |
Return a symbolicated stack trace for the calling thread.
Host-only, implemented with boost::stacktrace (or similar). Used by the assert_false* helpers below.
Definition at line 162 of file Defines.cpp.
|
inline |
Barrier + annotated print used by DNDS_MPI_InsertCheck.
No-op in release builds (NDEBUG or NINSERT defined).
Definition at line 779 of file MPI.hpp.
|
constexpr |
Whether the layout uses a TABLE (padded) representation (vs CSR).
Definition at line 28 of file ArrayBasic.hpp.
|
constexpr |
Whether the layout carries a runtime row-size parameter.
Definition at line 48 of file ArrayBasic.hpp.
|
constexpr |
Whether the layout has a uniform row width (no per-row size needed).
Definition at line 33 of file ArrayBasic.hpp.
|
constexpr |
Whether the layout is a padded-max variant (uses _pRowSizes).
Definition at line 38 of file ArrayBasic.hpp.
|
constexpr |
Whether the layout has a compile-time row-size constant.
Definition at line 43 of file ArrayBasic.hpp.
|
inline |
Whether v equals the NaN sentinel UnInitReal (tested via isnan).
Definition at line 183 of file Defines.hpp.
| bool DNDS::iterateIdentical | ( | tIt1 | it1, |
| tIt1end | it1end, | ||
| tIt2 | it2, | ||
| tIt2end | it2end, | ||
| tF | F | ||
| ) |
Walk two ordered ranges in lockstep, calling F on each match.
Two-pointer algorithm. Requires both ranges to be sorted in ascending order; advances the smaller side at each step. Exits early (returning true) if F(value, pos1, pos2) returns true.
| tF | Callable bool(value, size_t pos1, size_t pos2). |
Definition at line 596 of file Defines.hpp.
|
inline |
Parse a JSON array into an Eigen::VectorXd. Throws a descriptive assertion on any JSON error.
Definition at line 27 of file JsonUtil.hpp.
|
inline |
Parse a JSON array into an Eigen::VectorFMTSafe (fixed-point-aware wrapper).
Used by configuration paths that feed values into code paths compiled with the fixed-point Eigen shim.
Definition at line 48 of file JsonUtil.hpp.
| std::ostream & DNDS::log | ( | ) |
Return the current DNDSR log stream (either std::cout or the installed file).
Definition at line 49 of file Defines.cpp.
| bool DNDS::logIsTTY | ( | ) |
Convenience: ostreamIsTTY applied to the current log() stream.
Definition at line 51 of file Defines.cpp.
| ssp< T > DNDS::make_ssp | ( | Args &&... | args | ) |
Type-safe replacement for DNDS_MAKE_SSP. Creates ssp<T> with forwarded args.
Definition at line 255 of file Defines.hpp.
| ssp< T > DNDS::make_ssp | ( | ObjName | objName, |
| Args &&... | args | ||
| ) |
Named variant of make_ssp. If T inherits ObjectNaming, sets the name.
Usage: auto p = make_ssp<ParArray<index>>(ObjName{"cell2node"}, mpi);
Definition at line 264 of file Defines.hpp.
| DNDS::MemberPtr | ( | T Class::* | , |
| const char * | |||
| ) | -> MemberPtr< Class, T > |
| DNDS::MemberRef | ( | T & | , |
| const char * | |||
| ) | -> MemberRef< T > |
|
constexpr |
Mathematical modulo that always returns a non-negative result. Unlike % in C++ where (-1) % 3 == -1, mod(-1, 3) == 2.
Definition at line 558 of file Defines.hpp.
|
inline |
Execute f on each rank serially, in rank order.
Inserts an MPI_Barrier before each rank's turn so that output interleaving is deterministic. Useful for diagnostics where every rank prints something about its own state.
| F | Callable with no arguments. |
need some improvement: order could be bad?
Definition at line 698 of file MPI.hpp.
|
inline |
|
inline |
|
inline |
Null-value helper for t_supDeviceStorageBase.
Definition at line 92 of file DeviceStorage.hpp.
| auto DNDS::optimize_hindexed_layout | ( | index | o_size, |
| TBlkSiz * | blk_sizes, | ||
| TDisp * | disps, | ||
| TSizeof | sizeofElem | ||
| ) |
Coalesce contiguous blocks in an MPI_Type_create_hindexed layout.
MPI derived-type performance depends heavily on the number of blocks. If two consecutive blocks happen to be adjacent in memory (disps[i+1] == disps[i] + blk_sizes[i] * sizeofElem), they can be merged into a single larger block. This helper walks the input arrays and returns a compacted (n_size, blk_sizes, disps) tuple.
Used by ArrayTransformercreateMPITypes before calling the actual MPI_Type_create_hindexed.
| TBlkSiz | Element type of the block-size array (e.g., MPI_int). |
| TDisp | Element type of the displacement array (e.g., MPI_Aint). |
| TSizeof | Element-size type (usually MPI_Aint). |
| o_size | Number of input blocks. |
| blk_sizes | Block sizes (in element count). |
| disps | Displacements (in bytes). |
| sizeofElem | Element size in bytes (matches MPI_Type_extent). |
(new_size, new_blk_sizes, new_disps) – a merged layout. Definition at line 33 of file VectorUtils.hpp.
| bool DNDS::ostreamIsTTY | ( | std::ostream & | ostream | ) |
Heuristic detection of whether ostream is attached to a terminal.
Definition at line 36 of file Defines.cpp.
| void DNDS::print_progress | ( | std::ostream & | os, |
| double | progress | ||
| ) |
Render a textual progress bar to os for progress in [0, 1].
Definition at line 75 of file Defines.cpp.
|
inline |
Print a vector to out with outputDelim between elements.
| TP | Optional cast type (e.g., promote int8_t to int to avoid character printing). |
Definition at line 484 of file Defines.hpp.
| bool DNDS::py_buffer_contains_T | ( | const py::buffer_info & | info | ) |
Definition at line 24 of file Defines_bind.hpp.
|
inline |
Definition at line 62 of file Defines_bind.hpp.
|
inline |
|
inline |
|
inline |
|
inline |
| py::memoryview DNDS::py_vector_as_memory_view | ( | std::vector< T > & | vec, |
| bool | readonly | ||
| ) |
| tPy_Array< T, _row_size, _row_max, _align > DNDS::pybind11_Array_declare | ( | py::module_ & | m | ) |
Definition at line 84 of file Array_bind.hpp.
| void DNDS::pybind11_Array_define | ( | py::module_ & | m | ) |
| tPy_Array< T, _row_size, _row_max, _align > DNDS::pybind11_Array_get_class | ( | py::module_ & | m | ) |
Definition at line 94 of file Array_bind.hpp.
| std::string DNDS::pybind11_Array_name | ( | ) |
Definition at line 41 of file Array_bind.hpp.
| std::string DNDS::pybind11_Array_name_appends | ( | ) |
| tPy_ArrayAdjacency< _row_size, _row_max, _align > DNDS::pybind11_ArrayAdjacency_declare | ( | py::module_ & | m | ) |
Definition at line 65 of file ArrayAdjacency_bind.hpp.
| void DNDS::pybind11_ArrayAdjacency_define | ( | py::module_ & | m | ) |
| tPy_ArrayAdjacency< _row_size, _row_max, _align > DNDS::pybind11_ArrayAdjacency_get_class | ( | py::module_ & | m | ) |
Definition at line 74 of file ArrayAdjacency_bind.hpp.
| auto DNDS::pybind11_ArrayAdjacency_getitem | ( | TArray & | self, |
| index | index_ | ||
| ) |
Definition at line 50 of file ArrayAdjacency_bind.hpp.
| std::string DNDS::pybind11_ArrayAdjacency_name | ( | ) |
Definition at line 18 of file ArrayAdjacency_bind.hpp.
| std::string DNDS::pybind11_ArrayAdjacency_name_appends | ( | ) |
| auto DNDS::pybind11_ArrayAdjacency_setitem | ( | TArray & | self, |
| index | index_, | ||
| py::buffer | row | ||
| ) |
Definition at line 39 of file ArrayAdjacency_bind.hpp.
| tPy_ArrayAdjacencyPair< _row_size, _row_max, _align > DNDS::pybind11_ArrayAdjacencyPair_declare | ( | py::module_ & | m | ) |
Definition at line 138 of file ArrayAdjacency_bind.hpp.
| void DNDS::pybind11_ArrayAdjacencyPair_define | ( | py::module_ & | m | ) |
| tPy_ArrayAdjacencyPair< _row_size, _row_max, _align > DNDS::pybind11_ArrayAdjacencyPair_get_class | ( | py::module_ & | m | ) |
Definition at line 146 of file ArrayAdjacency_bind.hpp.
| std::string DNDS::pybind11_ArrayAdjacencyPair_name | ( | ) |
Definition at line 24 of file ArrayAdjacency_bind.hpp.
| tPy_ArrayDOF< n_m, n_n > DNDS::pybind11_ArrayDOF_declare | ( | py::module_ & | m | ) |
Definition at line 30 of file ArrayDOF_bind.hpp.
| void DNDS::pybind11_ArrayDOF_define | ( | py::module_ & | m | ) |
Definition at line 45 of file ArrayDOF_bind.hpp.
| tPy_ArrayDOF< n_m, n_n > DNDS::pybind11_ArrayDOF_get_class | ( | py::module_ & | m | ) |
Definition at line 39 of file ArrayDOF_bind.hpp.
| std::string DNDS::pybind11_ArrayDOF_name | ( | ) |
| tPy_ArrayEigenMatrix< _mat_ni, _mat_nj, _mat_ni_max, _mat_nj_max, _align > DNDS::pybind11_ArrayEigenMatrix_declare | ( | py::module_ & | m | ) |
Definition at line 91 of file ArrayEigenMatrix_bind.hpp.
| tPy_ArrayEigenMatrix< _mat_ni, _mat_nj, _mat_ni_max, _mat_nj_max, _align > DNDS::pybind11_ArrayEigenMatrix_get_class | ( | py::module_ & | m | ) |
Definition at line 104 of file ArrayEigenMatrix_bind.hpp.
| auto DNDS::pybind11_ArrayEigenMatrix_getitem | ( | TArrayEigenMatrix & | self, |
| index | index_ | ||
| ) |
Definition at line 47 of file ArrayEigenMatrix_bind.hpp.
| std::string DNDS::pybind11_ArrayEigenMatrix_name | ( | ) |
Definition at line 23 of file ArrayEigenMatrix_bind.hpp.
| auto DNDS::pybind11_ArrayEigenMatrix_setitem | ( | TArrayEigenMatrix & | self, |
| index | index_, | ||
| py::buffer | row | ||
| ) |
Definition at line 59 of file ArrayEigenMatrix_bind.hpp.
|
inline |
Definition at line 113 of file ArrayEigenMatrixBatch_bind.hpp.
|
inline |
Definition at line 125 of file ArrayEigenMatrixBatch_bind.hpp.
|
inline |
Definition at line 120 of file ArrayEigenMatrixBatch_bind.hpp.
|
inline |
Definition at line 74 of file ArrayEigenMatrixBatch_bind.hpp.
|
inline |
warning: deleting list and Array could make the items dangling
Definition at line 55 of file ArrayEigenMatrixBatch_bind.hpp.
|
inline |
Definition at line 9 of file ArrayEigenMatrixBatch_bind.hpp.
|
inline |
Definition at line 86 of file ArrayEigenMatrixBatch_bind.hpp.
|
inline |
Definition at line 26 of file ArrayEigenMatrixBatch_bind.hpp.
|
inline |
Definition at line 185 of file ArrayEigenMatrixBatch_bind.hpp.
|
inline |
Definition at line 196 of file ArrayEigenMatrixBatch_bind.hpp.
|
inline |
Definition at line 191 of file ArrayEigenMatrixBatch_bind.hpp.
|
inline |
Definition at line 14 of file ArrayEigenMatrixBatch_bind.hpp.
| tPy_ArrayEigenMatrixPair< _mat_ni, _mat_nj, _mat_ni_max, _mat_nj_max, _align > DNDS::pybind11_ArrayEigenMatrixPair_declare | ( | py::module_ & | m | ) |
Definition at line 184 of file ArrayEigenMatrix_bind.hpp.
| void DNDS::pybind11_ArrayEigenMatrixPair_define | ( | py::module_ & | m | ) |
maybe should not use here
Definition at line 199 of file ArrayEigenMatrix_bind.hpp.
| tPy_ArrayEigenMatrixPair< _mat_ni, _mat_nj, _mat_ni_max, _mat_nj_max, _align > DNDS::pybind11_ArrayEigenMatrixPair_get_class | ( | py::module_ & | m | ) |
Definition at line 192 of file ArrayEigenMatrix_bind.hpp.
| std::string DNDS::pybind11_ArrayEigenMatrixPair_name | ( | ) |
Definition at line 30 of file ArrayEigenMatrix_bind.hpp.
| tPy_ArrayEigenUniMatrixBatch< _n_row, _n_col > DNDS::pybind11_ArrayEigenUniMatrixBatch_declare | ( | py::module_ & | m | ) |
Definition at line 110 of file ArrayEigenUniMatrixBatch_bind.hpp.
| void DNDS::pybind11_ArrayEigenUniMatrixBatch_define | ( | py::module_ & | m | ) |
Definition at line 125 of file ArrayEigenUniMatrixBatch_bind.hpp.
| tPy_ArrayEigenUniMatrixBatch< _n_row, _n_col > DNDS::pybind11_ArrayEigenUniMatrixBatch_get_class | ( | py::module_ & | m | ) |
Definition at line 119 of file ArrayEigenUniMatrixBatch_bind.hpp.
| auto DNDS::pybind11_ArrayEigenUniMatrixBatch_getitem | ( | TArrayEigenUniMatrixBatch & | self, |
| std::tuple< index, rowsize > | index_ | ||
| ) |
Definition at line 35 of file ArrayEigenUniMatrixBatch_bind.hpp.
| auto DNDS::pybind11_ArrayEigenUniMatrixBatch_getitem_row | ( | TArrayEigenUniMatrixBatch & | self, |
| index | index_ | ||
| ) |
warning, assume mat0.rowStride() applies to following matrices
Definition at line 70 of file ArrayEigenUniMatrixBatch_bind.hpp.
| std::string DNDS::pybind11_ArrayEigenUniMatrixBatch_name | ( | ) |
Definition at line 10 of file ArrayEigenUniMatrixBatch_bind.hpp.
| auto DNDS::pybind11_ArrayEigenUniMatrixBatch_setitem | ( | TArrayEigenUniMatrixBatch & | self, |
| std::tuple< index, rowsize > | index_, | ||
| py::buffer | row | ||
| ) |
Definition at line 47 of file ArrayEigenUniMatrixBatch_bind.hpp.
| auto DNDS::pybind11_ArrayEigenUniMatrixBatch_setitem_row | ( | TArrayEigenUniMatrixBatch & | self, |
| index | index_, | ||
| py::buffer | row | ||
| ) |
Definition at line 83 of file ArrayEigenUniMatrixBatch_bind.hpp.
| tPy_ArrayEigenUniMatrixBatchPair< _n_row, _n_col > DNDS::pybind11_ArrayEigenUniMatrixBatchPair_declare | ( | py::module_ & | m | ) |
Definition at line 215 of file ArrayEigenUniMatrixBatch_bind.hpp.
| void DNDS::pybind11_ArrayEigenUniMatrixBatchPair_define | ( | py::module_ & | m | ) |
Definition at line 228 of file ArrayEigenUniMatrixBatch_bind.hpp.
| tPy_ArrayEigenUniMatrixBatchPair< _n_row, _n_col > DNDS::pybind11_ArrayEigenUniMatrixBatchPair_get_class | ( | py::module_ & | m | ) |
Definition at line 222 of file ArrayEigenUniMatrixBatch_bind.hpp.
| std::string DNDS::pybind11_ArrayEigenUniMatrixBatchPair_name | ( | ) |
Definition at line 18 of file ArrayEigenUniMatrixBatch_bind.hpp.
| tPy_ArrayEigenVector< _vec_size, _row_max, _align > DNDS::pybind11_ArrayEigenVector_declare | ( | py::module_ & | m | ) |
Definition at line 66 of file ArrayEigenVector_bind.hpp.
| void DNDS::pybind11_ArrayEigenVector_define | ( | py::module_ & | m | ) |
| tPy_ArrayEigenVector< _vec_size, _row_max, _align > DNDS::pybind11_ArrayEigenVector_get_class | ( | py::module_ & | m | ) |
Definition at line 75 of file ArrayEigenVector_bind.hpp.
| auto DNDS::pybind11_ArrayEigenVector_getitem | ( | TArrayEigenVector & | self, |
| index | index_ | ||
| ) |
Definition at line 40 of file ArrayEigenVector_bind.hpp.
| std::string DNDS::pybind11_ArrayEigenVector_name | ( | ) |
Definition at line 18 of file ArrayEigenVector_bind.hpp.
| std::string DNDS::pybind11_ArrayEigenVector_name_appends | ( | ) |
| auto DNDS::pybind11_ArrayEigenVector_setitem | ( | TArrayEigenVector & | self, |
| index | index_, | ||
| py::buffer | row | ||
| ) |
Definition at line 51 of file ArrayEigenVector_bind.hpp.
| tPy_ArrayEigenVectorPair< _vec_size, _row_max, _align > DNDS::pybind11_ArrayEigenVectorPair_declare | ( | py::module_ & | m | ) |
Definition at line 133 of file ArrayEigenVector_bind.hpp.
| void DNDS::pybind11_ArrayEigenVectorPair_define | ( | py::module_ & | m | ) |
| tPy_ArrayEigenVector< _vec_size, _row_max, _align > DNDS::pybind11_ArrayEigenVectorPair_get_class | ( | py::module_ & | m | ) |
Definition at line 140 of file ArrayEigenVector_bind.hpp.
| std::string DNDS::pybind11_ArrayEigenVectorPair_name | ( | ) |
Definition at line 24 of file ArrayEigenVector_bind.hpp.
| void DNDS::pybind11_ArrayPairGenericBindBasics | ( | TPy_Pair & | Pair_ | ) |
| tPy_ArrayTransformer< TArray > DNDS::pybind11_ArrayTransformer_declare | ( | py::module_ & | m | ) |
Definition at line 450 of file Array_bind.hpp.
| void DNDS::pybind11_ArrayTransformer_define | ( | py::module_ & | m | ) |
Definition at line 464 of file Array_bind.hpp.
| tPy_ArrayTransformer< TArray > DNDS::pybind11_ArrayTransformer_get_class | ( | py::module_ & | m | ) |
Definition at line 458 of file Array_bind.hpp.
| std::string DNDS::pybind11_ArrayTransformer_name | ( | ) |
Definition at line 53 of file Array_bind.hpp.
| void DNDS::pybind11_bind_Array_All | ( | py::module_ | m | ) |
| DNDS::pybind11_bind_Array_All_X_declare | ( | 1 | ) |
| DNDS::pybind11_bind_Array_All_X_declare | ( | 2 | ) |
| DNDS::pybind11_bind_Array_All_X_declare | ( | 3 | ) |
| DNDS::pybind11_bind_Array_All_X_declare | ( | 4 | ) |
| DNDS::pybind11_bind_Array_All_X_declare | ( | 5 | ) |
| DNDS::pybind11_bind_Array_All_X_declare | ( | 6 | ) |
| DNDS::pybind11_bind_Array_All_X_declare | ( | 7 | ) |
|
inline |
| void DNDS::pybind11_bind_ArrayAdjacency_All | ( | py::module_ & | m | ) |
Definition at line 5 of file ArrayAdjacency_bind.cpp.
| void DNDS::pybind11_bind_ArrayDOF_All | ( | py::module_ & | m | ) |
Definition at line 5 of file ArrayDOF_bind.cpp.
| void DNDS::pybind11_bind_ArrayEigenMatrix_All | ( | py::module_ & | m | ) |
Definition at line 5 of file ArrayEigenMatrix_bind.cpp.
|
inline |
Definition at line 246 of file ArrayEigenMatrixBatch_bind.hpp.
| void DNDS::pybind11_bind_ArrayEigenUniMatrixBatch_All | ( | py::module_ & | m | ) |
Definition at line 5 of file ArrayEigenUniMatrixBatch_bind.cpp.
| void DNDS::pybind11_bind_ArrayEigenVector_All | ( | py::module_ & | m | ) |
Definition at line 5 of file ArrayEigenVector_bind.cpp.
|
inline |
Definition at line 86 of file Defines_bind.hpp.
|
inline |
Definition at line 27 of file DeviceStorage_bind.hpp.
|
inline |
Definition at line 10 of file DeviceStorage_bind.hpp.
|
inline |
Definition at line 149 of file IndexMapping_bind.hpp.
| void DNDS::pybind11_bind_MPI_All | ( | py::module_ & | m | ) |
Definition at line 135 of file MPI_bind.cpp.
|
inline |
Definition at line 209 of file ArrayAdjacency_bind.hpp.
| void DNDS::pybind11_callBindArrayDOF_rowsizes | ( | py::module_ & | m | ) |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
| void DNDS::pybind11_callBindArrayEigenMatrixs_rowsizes | ( | py::module_ & | m | ) |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
| void DNDS::pybind11_callBindArrayEigenUniMatrixBatchs_rowsizes | ( | py::module_ & | m | ) |
Definition at line 304 of file ArrayEigenUniMatrixBatch_bind.hpp.
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
inline |
Definition at line 202 of file ArrayEigenVector_bind.hpp.
| void DNDS::pybind11_callBindArrays_rowsizes | ( | py::module_ & | m | ) |
| void DNDS::pybind11_callBindArrayTransformers_rowsizes | ( | py::module_ & | m | ) |
| void DNDS::pybind11_callBindParArrayPairs_rowsizes | ( | py::module_ & | m | ) |
| void DNDS::pybind11_callBindParArrays_rowsizes | ( | py::module_ & | m | ) |
|
inline |
|
inline |
Definition at line 25 of file IndexMapping_bind.hpp.
|
inline |
Definition at line 20 of file IndexMapping_bind.hpp.
| void DNDS::pybind11_MPIInfo | ( | py::module_ & | m | ) |
Definition at line 10 of file MPI_bind.cpp.
|
inline |
|
inline |
Definition at line 63 of file IndexMapping_bind.hpp.
|
inline |
Definition at line 58 of file IndexMapping_bind.hpp.
| tPy_ParArray< T, _row_size, _row_max, _align > DNDS::pybind11_ParArray_declare | ( | py::module_ & | m | ) |
Definition at line 237 of file Array_bind.hpp.
| void DNDS::pybind11_ParArray_define | ( | py::module_ & | m | ) |
Definition at line 257 of file Array_bind.hpp.
| tPy_ParArray< T, _row_size, _row_max, _align > DNDS::pybind11_ParArray_get_class | ( | py::module_ & | m | ) |
Definition at line 251 of file Array_bind.hpp.
| std::string DNDS::pybind11_ParArray_name | ( | ) |
Definition at line 47 of file Array_bind.hpp.
| tPy_ParArrayPair< T, _row_size, _row_max, _align > DNDS::pybind11_ParArrayPair_declare | ( | py::module_ & | m | ) |
Definition at line 310 of file Array_bind.hpp.
| void DNDS::pybind11_ParArrayPair_define | ( | py::module_ & | m | ) |
Definition at line 402 of file Array_bind.hpp.
| tPy_ParArrayPair< T, _row_size, _row_max, _align > DNDS::pybind11_ParArrayPair_get_class | ( | py::module_ & | m | ) |
Definition at line 320 of file Array_bind.hpp.
| std::string DNDS::pybind11_ParArrayPair_name | ( | ) |
Definition at line 59 of file Array_bind.hpp.
| void DNDS::RedistributeArrayWithTransformer | ( | const MPIInfo & | mpi, |
| ssp< TArray > | readFather, | ||
| const std::vector< index > & | readOrigIndex, | ||
| const std::vector< index > & | newOrigIndex, | ||
| ssp< TArray > | outFather | ||
| ) |
Redistributes an ArrayPair from a source partition to a target partition.
Template-free core logic: given a "read" father array (from even-split H5 read) with known origIndex, and a target partition's newOrigIndex, uses ArrayTransformer to pull data from wherever it was read to where it's needed.
| TArray | The ParArray type (e.g., ParArray<real, DynamicSize>) |
| mpi | MPI communicator info |
| readFather | Father array populated from even-split H5 read |
| readOrigIndex | Original indices for each row of readFather |
| newOrigIndex | Original indices this rank needs (from current partition) |
| outFather | Output father array, pre-allocated with correct size and row structure |
Definition at line 235 of file ArrayRedistributor.hpp.
|
inline |
Install SEGV / ABRT handlers that print a backtrace via DNDS_signal_handler.
Optional opt-in; not installed automatically so unit test drivers keep full control of their own handlers. Typical drivers call this once after MPI_Init in main().
Definition at line 55 of file Defines.hpp.
|
constexpr |
Convert a rowsize constant to the corresponding Eigen compile-time size. Fixed >= 0 -> the value; DynamicSize / NonUniformSize -> Eigen::Dynamic.
Definition at line 286 of file Defines.hpp.
|
inline |
Encode a rowsize constant as a short Python-binding snippet: "<number>" for fixed, "D" for DynamicSize, "I" for NonUniformSize. Used when generating pybind11 class names.
Definition at line 294 of file Defines.hpp.
|
inline |
| void DNDS::setLogStream | ( | ssp< std::ostream > | nstream | ) |
Redirect log() output to a user-supplied stream. Ownership is shared.
Definition at line 53 of file Defines.cpp.
| void DNDS::setLogStreamCout | ( | ) |
Restore the default std::cout routing for log().
Definition at line 55 of file Defines.cpp.
Signum function: +1, 0, or -1.
Definition at line 532 of file Defines.hpp.
| T DNDS::signedIntSafeAdd | ( | T | value, |
| T | increment | ||
| ) |
Add two signed integers, asserting on overflow instead of silently wrapping.
| Dies | via DNDS_assert_info if the result would overflow. |
Definition at line 394 of file Defines.hpp.
| bool DNDS::signedIntWillAddOverflow | ( | T | value, |
| T | increment | ||
| ) |
Overflow-detecting test for value + increment on signed integers.
true if the addition would overflow. Definition at line 380 of file Defines.hpp.
"Signum, biased toward -1": treats 0 as negative.
Definition at line 550 of file Defines.hpp.
"Signum, biased toward +1": treats 0 as positive.
Definition at line 544 of file Defines.hpp.
Tolerant signum: returns 0 inside [-tol, tol].
Definition at line 538 of file Defines.hpp.
| T DNDS::size_t_to_signed | ( | size_t | v | ) |
Narrowing size_t -> T conversion with range check.
| T | Signed integral target type. |
| Dies | via DNDS_assert_info if v > std::numeric_limits<T>::max(). |
Definition at line 409 of file Defines.hpp.
|
inline |
Range-checked conversion from size_t to DNDS::index.
| std::runtime_error | (via DNDS_assert_info) if value exceeds index max. Use this for safe conversions from container sizes (e.g., std::vector::size()) to DNDS index types, avoiding sign comparison warnings and overflow bugs. |
Definition at line 426 of file Defines.hpp.
|
inline |
Range-checked conversion from size_t to DNDS::rowsize.
| std::runtime_error | (via DNDS_assert_info) if value exceeds rowsize max. |
Definition at line 433 of file Defines.hpp.
|
inline |
|
inline |
Definition at line 790 of file Defines.hpp.
|
constexpr |
a * a, constexpr. Works for all arithmetic types.
Definition at line 517 of file Defines.hpp.
|
inline |
|
inline |
Short-hand accessor to the PerformanceTimer singleton.
Definition at line 136 of file Profiling.hpp.
|
inline |
| std::string DNDS::to_string | ( | const Eigen::DenseBase< dir > & | v, |
| int | precision = 5, |
||
| bool | scientific = false |
||
| ) |
Render an Eigen::DenseBase to a string via operator<<.
| precision | Setprecision applied if > 0. |
| scientific | Whether to use std::scientific notation. |
Definition at line 29 of file EigenUtil.hpp.
| const char* DNDS::__EigenPCH = "EigenPCH" |
Definition at line 5 of file EigenPCH.cpp.
| const char* DNDS::__ExprtkPCH = "ExprtkPCH" |
Definition at line 5 of file ExprtkPCH.cpp.
| const MPI_Datatype DNDS::DNDS_MPI_INDEX = __DNDSToMPITypeInt<index>() |
| const MPI_Datatype DNDS::DNDS_MPI_REAL = __DNDSToMPITypeFloat<real>() |
| DNDS_CONSTANT const rowsize DNDS::DynamicSize = -1 |
Template parameter flag: "row width is set at runtime but uniform".
Definition at line 277 of file Defines.hpp.
| std::mutex DNDS::HDF_mutex |
| DNDS_CONSTANT const index DNDS::indexMin = INT64_MIN |
Minimum representable index value (= INT64_MIN).
Definition at line 170 of file Defines.hpp.
|
inlineconstexpr |
Definition at line 152 of file Defines.hpp.
| DNDS_CONSTANT const real DNDS::largeReal = 3e10 |
Loose upper bound (e.g., for non-dimensional limits).
Definition at line 192 of file Defines.hpp.
| ssp< std::ostream > DNDS::logStream |
Shared output stream: where DNDS::log() writes progress / diagnostics.
Defaults to std::cout when useCout is true; otherwise refers to the file/stream installed via setLogStream.
Definition at line 45 of file Defines.cpp.
| DNDS_CONSTANT const rowsize DNDS::NoAlign = -1024 |
Alignment flag: no padding applied to rows (the only currently-supported value).
Definition at line 282 of file Defines.hpp.
| DNDS_CONSTANT const rowsize DNDS::NonUniformSize = -2 |
Template parameter flag: "each row has an independent width".
Definition at line 279 of file Defines.hpp.
| DNDS_CONSTANT const real DNDS::pi = DNDS_E_PI |
π in double precision (matches DNDS_E_PI macro).
Definition at line 199 of file Defines.hpp.
| DNDS_CONSTANT const real DNDS::smallReal = 1e-10 |
Loose lower bound (for iterative-solver tolerances etc.).
Definition at line 196 of file Defines.hpp.
| DNDS_CONSTANT const index DNDS::UnInitIndex = INT64_MIN |
Sentinel "not initialised" index value (= INT64_MIN).
Definition at line 176 of file Defines.hpp.
| DNDS_CONSTANT const real DNDS::UnInitReal = NAN |
Sentinel "not initialised" real value (NaN). Cheap to detect with std::isnan or IsUnInitReal; survives MPI transport unchanged.
Definition at line 174 of file Defines.hpp.
| DNDS_CONSTANT const rowsize DNDS::UnInitRowsize = INT32_MIN |
Sentinel "not initialised" rowsize value (= INT32_MIN).
Definition at line 179 of file Defines.hpp.
| bool DNDS::useCout = true |
Whether DNDS::log() is currently routed to std::cout.
Definition at line 47 of file Defines.cpp.
| DNDS_CONSTANT const real DNDS::veryLargeReal = 3e200 |
Catch-all upper bound ("practically infinity") for physical scalars.
Definition at line 190 of file Defines.hpp.
| DNDS_CONSTANT const real DNDS::verySmallReal = 1e-200 |
Catch-all lower bound ("effectively zero").
Definition at line 194 of file Defines.hpp.