guanaqo 1.0.0-alpha.24
Utilities for scientific software
Loading...
Searching...
No Matches
sparsity-conversions.hpp File Reference

Detailed Description

Convert between dense and sparse sparsity descriptors.

Definition in file sparsity-conversions.hpp.

#include <guanaqo/export.h>
#include <guanaqo/linalg/config.hpp>
#include <guanaqo/linalg/sparse-ops.hpp>
#include <guanaqo/linalg/sparsity.hpp>
#include <algorithm>
#include <cassert>
#include <numeric>
#include <optional>
#include <span>
#include <stdexcept>
#include <utility>
#include <vector>
Include dependency graph for sparsity-conversions.hpp:

Go to the source code of this file.

Classes

struct  guanaqo::linalg::sparsity::unsupported_conversion
 The requested conversion between sparsity structures could not be performed (most likely because certain compiler or standard library features were unavailable when the library was built). More...
struct  guanaqo::linalg::sparsity::SparsityConversionRequest< Dense >
 Conversion to dense format does not require any additional options. More...
struct  guanaqo::linalg::sparsity::SparsityConverter< Dense, Dense >
 Conversion from dense to dense is trivial. More...
struct  guanaqo::linalg::sparsity::SparsityConverter< SparseCSC< Index, StorageIndex >, Dense >
 Conversion from CSC to dense format. More...
struct  guanaqo::linalg::sparsity::SparsityConverter< SparseCOO< Index >, Dense >
 Conversion from COO to dense format. More...
struct  guanaqo::linalg::sparsity::SparsityConversionRequest< SparseCOO< Index > >
 Conversion to COO format allows customization of the index offset (zero-based or one-based). More...
struct  guanaqo::linalg::sparsity::SparsityConverter< Dense, SparseCOO< Index > >
 Conversion from dense to COO format. More...
struct  guanaqo::linalg::sparsity::SparsityConverter< SparseCSC< IndexFrom, StorageIndexFrom >, SparseCOO< IndexTo > >
 Conversion from CSC to COO format. More...
struct  guanaqo::linalg::sparsity::SparsityConverter< SparseCOO< IndexFrom >, SparseCOO< IndexTo > >
 Conversion from COO to COO format (with possibly different index types and offsets). More...
struct  guanaqo::linalg::sparsity::SparsityConversionRequest< SparseCSC< Index, StorageIndex > >
 Conversion to CSC format allows sorting the indices in the output if desired. More...
struct  guanaqo::linalg::sparsity::SparsityConverter< SparseCOO< IndexFrom >, SparseCSC< IndexTo, StorageIndexTo > >
 Conversion from COO to CSC format. More...
struct  guanaqo::linalg::sparsity::SparsityConverter< SparseCSC< IndexFrom, StorageIndexFrom >, SparseCSC< IndexTo, StorageIndexTo > >
 Conversion from CSC to CSC format (with possibly different index types and sorting). More...
struct  guanaqo::linalg::sparsity::SparsityConverter< Dense, SparseCSC< Index, StorageIndex > >
 Conversion from dense to CSC format. More...
struct  guanaqo::linalg::sparsity::detail::ConverterVariantHelper< To, std::variant< Froms... > >
struct  guanaqo::linalg::sparsity::SparsityConverter< Sparsity, To >
 Converts any supported matrix storage format to the given format. More...

Namespaces

namespace  guanaqo
namespace  guanaqo::linalg
namespace  guanaqo::linalg::sparsity
namespace  guanaqo::linalg::sparsity::detail

Typedefs

template<class To>
using guanaqo::linalg::sparsity::ConverterVariant

Functions

constexpr size_t guanaqo::linalg::sparsity::cast_sz (auto i)

Class Documentation

◆ guanaqo::linalg::sparsity::detail::ConverterVariantHelper< To, std::variant< Froms... > >

struct guanaqo::linalg::sparsity::detail::ConverterVariantHelper< To, std::variant< Froms... > >
Collaboration diagram for guanaqo::linalg::sparsity::detail::ConverterVariantHelper< To, std::variant< Froms... > >:
Class Members
typedef variant< SparsityConverter< Froms, To >... > type std::variant<SparsityConverter<Froms, To>...>