<T>LAPACK 0.1.1
C++ Template Linear Algebra PACKage
Loading...
Searching...
No Matches
tlapack::LegacyBandedMatrix< T, idx_t > Struct Template Reference

Legacy banded matrix. More...

#include <LegacyBandedMatrix.hpp>

Public Member Functions

constexpr LegacyBandedMatrix (idx_t m, idx_t n, idx_t kl, idx_t ku, T *ptr)
 
constexpr const T & operator() (idx_t i, idx_t j) const noexcept
 Access A(i,j) = ptr[ (ku+(i-j)) + j*(ku+kl+1) ].
 
constexpr T & operator() (idx_t i, idx_t j) noexcept
 

Public Attributes

idx_t kl
 
idx_t ku
 Sizes.
 
idx_t m
 
idx_t n
 
T * ptr
 Pointer to array in memory.
 

Detailed Description

template<typename T, class idx_t = std::size_t>
struct tlapack::LegacyBandedMatrix< T, idx_t >

Legacy banded matrix.

Mind that the access A(i,j) is valid if, and only if, max(0,j-ku) <= i <= min(m,j+kl) This class does not perform such a check, otherwise it would lack in performance.

Template Parameters
TFloating-point type
idx_tIndex type

Member Function Documentation

◆ operator()()

template<typename T , class idx_t = std::size_t>
constexpr const T & tlapack::LegacyBandedMatrix< T, idx_t >::operator() ( idx_t  i,
idx_t  j 
) const
inlineconstexprnoexcept

Access A(i,j) = ptr[ (ku+(i-j)) + j*(ku+kl+1) ].

Mind that this access is valid if, and only if, max(0,j-ku) <= i <= min(m,j+kl) This operator does not perform such a check, otherwise it would lack in performance.


The documentation for this struct was generated from the following file: