Block-Structured AMR Software Framework
AMReX_SmallMatrix.H File Reference
#include <AMReX_Config.H>
#include <AMReX_Algorithm.H>
#include <AMReX_BLassert.H>
#include <AMReX_Extension.H>
#include <AMReX_GpuQualifiers.H>
#include <AMReX_ConstexprFor.H>
#include <algorithm>
#include <initializer_list>
#include <iostream>
#include <tuple>
#include <type_traits>

Go to the source code of this file.

Classes

struct  amrex::SmallMatrix< T, NRows, NCols, ORDER, StartIndex >
 Matrix class with compile-time size. More...
 
struct  std::tuple_size< amrex::SmallMatrix< T, NRows, NCols, ORDER, StartIndex > >
 
struct  std::tuple_element< N, amrex::SmallMatrix< T, NRows, NCols, ORDER, StartIndex > >
 

Namespaces

 amrex
 

Typedefs

template<class T , int N, int StartIndex = 0>
using amrex::SmallVector = SmallMatrix< T, N, 1, Order::F, StartIndex >
 
template<class T , int N, int StartIndex = 0>
using amrex::SmallRowVector = SmallMatrix< T, 1, N, Order::F, StartIndex >
 

Enumerations

enum class  amrex::Order { amrex::C , amrex::F , amrex::RowMajor =C , amrex::ColumnMajor =F }
 

Functions

template<class U , int N1, int N2, int N3, Order Ord, int SI>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE SmallMatrix< U, N1, N3, Ord, SI > amrex::operator* (SmallMatrix< U, N1, N2, Ord, SI > const &lhs, SmallMatrix< U, N2, N3, Ord, SI > const &rhs)
 
template<class T , int NRows, int NCols, Order ORDER, int SI>
std::ostream & amrex::operator<< (std::ostream &os, SmallMatrix< T, NRows, NCols, ORDER, SI > const &mat)