Quantum Fog  0.9.3
STRETCH_OR_FOLD.h
1 //******************************************
2 // Purpose: To define class that translates integer labels
3 // to vector labels (folding) or vice-versa (stretching).
4 //******************************************
5 
6 #pragma once
7 
8 
9 #include "VECTOR.h"
10 #include "UI_MAP.h"
11 //******************************************
13 {
14 private:
15  VECTOR<USHORT> its_degens;
16  USHORT its_len;
17  LONG its_num_of_vecs;
18 public:
19  VOID copy(const STRETCH_OR_FOLD & s);
20  VOID init(const VECTOR<USHORT> & degens);
22  STRETCH_OR_FOLD(const VECTOR<USHORT> & degens);
24  virtual ~STRETCH_OR_FOLD();
25 
26  USHORT get_len() const;
27  LONG get_num_of_vecs() const;
28  VECTOR<USHORT> vec_label(LONG int_label) const;
29  LONG int_label(const VECTOR<USHORT> & vec_label) const;
30 
31  VOID reorder_degens(const UI_MAP & map);
32 
33 };
34 #pragma mark -
35 
36 
37 //******************************************
38 inline
39 USHORT STRETCH_OR_FOLD::get_len() const
40 {
41  return its_len;
42 }
43 //******************************************
44 inline
45 LONG STRETCH_OR_FOLD::get_num_of_vecs() const
46 {
47  return its_num_of_vecs;
48 }
49 
Definition: STRETCH_OR_FOLD.h:12
Definition: UI_MAP.h:7