<T>LAPACK 0.1.1
C++ Template Linear Algebra PACKage
Loading...
Searching...
No Matches
types.hpp
Go to the documentation of this file.
1
3//
4// Copyright (c) 2021-2023, University of Colorado Denver. All rights reserved.
5//
6// This file is part of <T>LAPACK.
7// <T>LAPACK is free software: you can redistribute it and/or modify it under
8// the terms of the BSD 3-Clause license. See the accompanying LICENSE file.
9
10#ifndef TLAPACK_LEGACY_TYPES_HH
11#define TLAPACK_LEGACY_TYPES_HH
12
14
15// -----------------------------------------------------------------------------
16// Integer types TLAPACK_SIZE_T and TLAPACK_INT_T
17
18#include <cstddef> // Defines std::size_t
19#include <cstdint> // Defines std::int64_t
20
35#ifdef TLAPACK_USE_LAPACKPP
36 #ifndef TLAPACK_SIZE_T
37 #define TLAPACK_SIZE_T std::int64_t
38 #endif
39#else
40 #ifndef TLAPACK_SIZE_T
41 #define TLAPACK_SIZE_T std::size_t
42 #endif
43#endif
44
59#ifndef TLAPACK_INT_T
60 #define TLAPACK_INT_T std::int64_t
61#endif
62// -----------------------------------------------------------------------------
63
64namespace tlapack {
65namespace legacy {
66
67 using idx_t = TLAPACK_SIZE_T;
68 using int_t = TLAPACK_INT_T;
69
70 // -----------------------------------------------------------------------------
71 // lascl
72 enum class MatrixType {
73 General = 'G',
74 Lower = 'L',
75 Upper = 'U',
76 Hessenberg = 'H',
77 LowerBand = 'B',
78 UpperBand = 'Q',
79 Band = 'Z',
80 };
81
82} // namespace legacy
83} // namespace tlapack
84
85#endif // TLAPACK_LEGACY_TYPES_HH
#define TLAPACK_SIZE_T
Type of all size-related integers in libtlapack_c, libtlapack_cblas, libtlapack_fortran,...
Definition types.hpp:41
#define TLAPACK_INT_T
Type of all non size-related integers in libtlapack_c, libtlapack_cblas, libtlapack_fortran,...
Definition types.hpp:60