MKLSparseHandle =============== .. cpp:class:: numpy::MKLSparseHandle numpy C++ class. Example ------- .. code-block:: cpp #include using namespace numpy; // Use MKLSparseHandle MKLSparseHandle obj; // ... operations ... Constructors ------------ .. list-table:: :widths: 55 25 20 :header-rows: 1 * - Signature - Location - Example * - ``MKLSparseHandle(const CSRMatrix&csr)`` - NP_MKL_SPARSE.H:61 - * - ``MKLSparseHandle(const CSRMatrix&csr)`` - NP_MKL_SPARSE.H:81 - * - ``MKLSparseHandle(const MKLSparseHandle &)`` - NP_MKL_SPARSE.H:118 - * - ``noexcept MKLSparseHandle(MKLSparseHandle &&other)`` - NP_MKL_SPARSE.H:122 - Operators --------- .. list-table:: :widths: 40 25 15 20 :header-rows: 1 * - Signature - Return Type - Location - Example * - ``MKLSparseHandle & operator=(const MKLSparseHandle &)`` - MKLSparseHandle & - NP_MKL_SPARSE.H:119 - * - ``MKLSparseHandle & noexcept operator=(MKLSparseHandle &&other)`` - MKLSparseHandle & noexcept - NP_MKL_SPARSE.H:128 - Indexing / Selection -------------------- .. list-table:: :widths: 40 20 15 25 :header-rows: 1 * - Signature - Return Type - Location - Example * - ``sparse_matrix_t get()`` - sparse_matrix_t - NP_MKL_SPARSE.H:110 - :ref:`View ` Type Checking ------------- .. list-table:: :widths: 40 20 15 25 :header-rows: 1 * - Signature - Return Type - Location - Example * - ``bool is_valid()`` - bool - NP_MKL_SPARSE.H:115 - Code Examples ------------- The following examples are extracted from the test suite. .. _example-mklsparsehandle-get-0: .. dropdown:: get (np_test_1_all.cpp:28526) :class-title: example-dropdown .. code-block:: cpp :linenos: :lineno-start: 28516 :emphasize-lines: 11 std::cout << " -> tests passed" << std::endl; } void np_test_indexing_mask_indices() { std::cout << "========= mask_indices: triangular mask indices ======================="; // Get upper triangular indices for 3x3 matrix auto triu_idx = numpy::mask_indices(3, "triu", 0); // Should return tuple of 2 arrays bool passed = (std::get<0>(triu_idx).getSize() > 0); passed = passed && (std::get<1>(triu_idx).getSize() > 0); passed = passed && (std::get<0>(triu_idx).getSize() == std::get<1>(triu_idx).getSize()); // Get lower triangular indices auto tril_idx = numpy::mask_indices(3, "tril", 0); passed = passed && (std::get<0>(tril_idx).getSize() > 0); passed = passed && (std::get<1>(tril_idx).getSize() > 0); if (!passed) { std::cout << " [FAIL] : in np_test_indexing_mask_indices() : Mask indices incorrect";