26#ifndef _H_GRB_BLAS3_BASE 
   27#define _H_GRB_BLAS3_BASE 
   89        typename OutputType, 
typename InputType1, 
typename InputType2,
 
   90        typename CIT, 
typename RIT, 
typename NIT,
 
  102        std::cerr << 
"Selected backend does not implement grb::mxm " 
  103            << 
"(semiring version)\n";
 
  106        const bool selected_backend_does_not_support_mxm = 
false;
 
  107        assert( selected_backend_does_not_support_mxm );
 
  177        typename OutputType, 
typename InputType1, 
typename InputType2,
 
  178        typename InputType3, 
typename RIT, 
typename CIT, 
typename NIT,
 
  179        Backend backend, 
typename Coords
 
  193        std::cerr << 
"Selected backend does not implement grb::zip (vectors into " 
  194            << 
"matrices, non-void)\n";
 
  197        const bool selected_backend_does_not_support_zip_from_vectors_to_matrix
 
  199        assert( selected_backend_does_not_support_zip_from_vectors_to_matrix );
 
  219        typename InputType1, 
typename InputType2, 
typename InputType3,
 
  220        typename RIT, 
typename CIT, 
typename NIT,
 
  221        Backend backend, 
typename Coords
 
  233        std::cerr << 
"Selected backend does not implement grb::zip (vectors into " 
  234            << 
"matrices, void)\n";
 
  237        const bool selected_backend_does_not_support_zip_from_vectors_to_void_matrix
 
  239        assert( selected_backend_does_not_support_zip_from_vectors_to_void_matrix );
 
This file contains a register of all backends that are either implemented, under implementation,...
 
An ALP/GraphBLAS matrix.
Definition: matrix.hpp:71
 
A generalised semiring.
Definition: semiring.hpp:186
 
A GraphBLAS vector.
Definition: vector.hpp:64
 
RC mxm(Matrix< OutputType, backend, CIT, RIT, NIT > &C, const Matrix< InputType1, backend, CIT, RIT, NIT > &A, const Matrix< InputType2, backend, CIT, RIT, NIT > &B, const Semiring &ring=Semiring(), const Phase &phase=EXECUTE)
Unmasked and in-place sparse matrix–sparse matrix multiplication (SpMSpM), .
Definition: blas3.hpp:94
 
RC zip(Matrix< OutputType, backend, RIT, CIT, NIT > &A, const Vector< InputType1, backend, Coords > &x, const Vector< InputType2, backend, Coords > &y, const Vector< InputType3, backend, Coords > &z, const Phase &phase=EXECUTE)
The grb::zip merges three vectors into a matrix.
Definition: blas3.hpp:181
 
RC clear(Vector< DataType, backend, Coords > &x) noexcept
Clears a given vector of all nonzeroes.
Definition: io.hpp:574
 
Backend
A collection of all backends.
Definition: backends.hpp:46
 
Specifies the ALP/GraphBLAS matrix container.
 
static constexpr Descriptor no_operation
Indicates no additional pre- or post-processing on any of the GraphBLAS function arguments.
Definition: descriptors.hpp:63
 
The ALP/GraphBLAS namespace.
Definition: graphblas.hpp:452
 
RC
Return codes of ALP primitives.
Definition: rc.hpp:47
 
@ SUCCESS
Indicates the primitive has executed successfully.
Definition: rc.hpp:54
 
@ UNSUPPORTED
Indicates that the execution of the requested primitive with the given arguments is not supported by ...
Definition: rc.hpp:129
 
unsigned int Descriptor
Descriptors indicate pre- or post-processing for some or all of the arguments to an ALP/GraphBLAS cal...
Definition: descriptors.hpp:54
 
Phase
Primitives with sparse ALP/GraphBLAS output containers may run into the issue where an appropriate gr...
Definition: phase.hpp:152
 
@ EXECUTE
Speculatively assumes that the output container of the requested operation has enough capacity to com...
Definition: phase.hpp:257
 
Defines the various phases an ALP/GraphBLAS primitive may be executed with.
 
Specifies the ALP/GraphBLAS vector container.