ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
element_basis_index.h
Go to the documentation of this file.
1//==========================================================
2// AUTHOR : Peize Lin
3// DATE : 2016-06-02
4//==========================================================
5
6#ifndef ELEMENT_BASIS_INDEX_H
7#define ELEMENT_BASIS_INDEX_H
8
9#include <cstddef>
10#include <vector>
11
12namespace ModuleBase
13{
14
15namespace Element_Basis_Index
16{
17 //private:
18
19 struct NM
20 {
21 public:
22 std::size_t N;
23 std::size_t M;
24 };
25
26 class Index_TL: public std::vector<std::vector<std::size_t>>
27 {
28 public:
29 std::size_t N;
30 std::size_t M;
31 };
32
33 class Index_T: public std::vector<Index_TL>
34 {
35 public:
36 std::size_t count_size;
37 };
38
39 //public:
40
41 typedef std::vector<std::vector<NM>> Range; // range[T][L]
42 typedef std::vector<Index_T> IndexLNM; // index[T][L][N][M]
43
44 extern IndexLNM construct_index( const Range &range );
45}
46
47}
48
49#endif
Definition element_basis_index.h:27
std::size_t M
Definition element_basis_index.h:30
std::size_t N
Definition element_basis_index.h:29
Definition element_basis_index.h:34
std::size_t count_size
Definition element_basis_index.h:36
IndexLNM construct_index(const Range &range)
Definition element_basis_index.cpp:12
std::vector< Index_T > IndexLNM
Definition element_basis_index.h:42
std::vector< std::vector< NM > > Range
Definition element_basis_index.h:41
Definition array_pool.h:6
Definition element_basis_index.h:20
std::size_t M
Definition element_basis_index.h:23
std::size_t N
Definition element_basis_index.h:22