Expand description

FFI interface for librsb.

Usage

In order to conditionally generate bindings and documents, it is suggested to use the following snipplet in Cargo.toml.

[dependencies]
librsb-sys = "X.Y.Z"  # Fill the version here

[features]
codegen = ["librsb-sys/codegen"]
doc-only = ["librsb-sys/doc-only"]

[package.metadata.docs.rs]
features = ["doc-only"]

Cargo Features

  • codegen

    Generate FFI bindings from header files.

  • doc-only

    Disable binding generation and linking.

Environment Variables

The librsb-sys reads the following environment variables.

  • LIBRSB_PATH

    The prefix path of the installed librsb library. It defaults to /usr if not set.

  • LIBRSB_INCLUDE

    The directory to search for C header files. It defaults to $LIBRSB_PATH/include if not set.

  • LIBRSB_LIBRARY

    The directory to search for library files. It defaults to $LIBRSB_PATH/lib if not set.

Structs

The following are not fully implemented. Usable with #BLAS_usgp.

the sparse matrix descriptor type

A type specific for error flags. Should be >= 4 bytes.

@brief A structure specifying library (initialization) options, to be used with the \ref rsb_lib_reinit() function. \n

The type for specifying transposition (See \ref matrix_transposition_flags_section)

A type for specifying numerical type codes (See \ref matrix_type_symbols_section for a list of valid values).

Enums

Index base (valid at matrix build/modify time).

Unused/Unsupported.

Unused/Unsupported.

Specifies (#BLAS_ussp) or inquiries (#BLAS_usgp) whether the diagonal of a matrix is (implicitly) unitary or not.

Numerical field type; can be used with #BLAS_usgp to inquiry about a matrix numerical type (1 will be returned in case of success, 0 in case of failure).

Unused/Unsupported.

Unused/Unsupported.

Used to specify a dense array’s elements layout.

Unused/Unsupported.

Properties suitable to be used with #BLAS_ussp/#BLAS_usgp. All of these are not in the Sparse BLAS standard.

Unused/Unsupported.

Quantities that can be obtained via #BLAS_usgp.

Unused/Unsupported.

The following are usable with #BLAS_usgp only.

Symmetry properties. If not specified otherwise, valid for the both of #BLAS_ussp and #BLAS_usgp.

Used to specify a transposition operator to a matrix operand.

Specifies (#BLAS_ussp) or inquiries (#BLAS_usgp) upper or lower triangularity of a matrix.

\ingroup rsb_doc_misc rsb_doc_rsb \brief Flags for specifying a particular elemental/row-wise operation with #rsb_mtx_upd_vals().

\ingroup rsb_doc_misc rsb_doc_rsb \brief Extraction filter flags, to be used with #rsb_mtx_get_nrm()/#rsb_mtx_get_vec().

\ingroup rsb_doc_misc rsb_doc_rsb \brief Flags for getting matrix information via #rsb_mtx_get_info()/#rsb_mtx_get_info_str().

\ingroup rsb_doc_misc rsb_doc_rsb \brief library option values for \see_lib_init_funcs.

Constants

Functions

Type Definitions

\name Type definitions \anchor definitions_section

A boolean type.

A type for character strings.

The coordinate arrays index type.

A type for specifying matrix assembly or coordinate conversions option flags. Should be >= 4 bytes. See \ref flags_section for possible values.

An integer type declaration for interface functions. Should always be ‘int’.

The nnz counter index type.

A floating point numerical type.

A floating point numerical type for time measurements with #rsb_time().