1#ifndef TATOOINE_LAPACK_GETRF_H
2#define TATOOINE_LAPACK_GETRF_H
6auto dgetrf_(
int* M,
int* N,
double* A,
int* LDA,
int* IPIV,
int* INFO) -> void;
7auto sgetrf_(
int* M,
int* N,
double* A,
int* LDA,
int* IPIV,
int* INFO) -> void;
36template <std::
floating_po
int Float>
37auto getrf(
int M,
int N,
double* A,
int LDA,
int* IPIV) ->
int {
39 if constexpr (std::same_as<Float, double>) {
40 dgetrf_(&M, &N, A, &LDA, IPIV, &INFO);
41 }
else if constexpr (std::same_as<Float, float>) {
42 sgetrf_(&M, &N, A, &LDA, IPIV, &INFO);
47template <
typename T,
size_t M,
size_t N>
constexpr auto data() -> ValueType *
Definition: static_multidim_array.h:260
auto dgetrf_(int *M, int *N, double *A, int *LDA, int *IPIV, int *INFO) -> void
auto sgetrf_(int *M, int *N, double *A, int *LDA, int *IPIV, int *INFO) -> void
auto getrf(int M, int N, double *A, int LDA, int *IPIV) -> int
Definition: getrf.h:37
constexpr auto min(A &&a, B &&b)
Definition: math.h:15