-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathgeneral.cpp
158 lines (107 loc) · 2.97 KB
/
general.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
/*
This is general.cpp
Coxeter version 3.0 Copyright (C) 2002 Fokko du Cloux
See file main.cpp for full copyright notice
*/
#include "general.h"
/*************************************************************************
Chapter I -- Constructors and destructors.
This section contains constructors (no destructors!) for the types
in this module. They will be used as the default constructors for
CoxGroup objects.
- GeneralCoxGroup(x,l);
- MedRankCoxGroup(x,l) : rank <= MEDRANK_MAX;
- SmallRankCoxGroup(x,l) : rank <= SMALLRANK_MAX;
*************************************************************************/
namespace general {
GeneralCoxGroup::GeneralCoxGroup(const Type& x, const Rank& l)
:CoxGroup(x,l)
/*
Initializes a GeneralCoxGroup structure of the given type and rank.
*/
{
if (ERRNO) /* problem with the CoxGroup initialization */
return;
}
GeneralCoxGroup::~GeneralCoxGroup()
/*
Virtual destructor for a GeneralCoxGroup. Currently, nothing has to be
done.
*/
{}
BigRankCoxGroup::BigRankCoxGroup(const Type& x, const Rank& l)
:GeneralCoxGroup(x,l)
/*
Initializes a GeneralCoxGroup structure of the given type and rank.
Used when MEDRANK_MAX < rank.
*/
{}
BigRankCoxGroup::~BigRankCoxGroup()
/*
Virtual destructor for a BigRankCoxGroup. Currently, nothing has to be
done.
*/
{}
GeneralBRCoxGroup::GeneralBRCoxGroup(const Type& x, const Rank& l)
:BigRankCoxGroup(x,l)
{}
GeneralBRCoxGroup::~GeneralBRCoxGroup()
/*
Non-virtual destructor for the GeneralBRCoxGroup class. Currently, nothing
has to be done.
*/
{}
MedRankCoxGroup::MedRankCoxGroup(const Type& x, const Rank& l)
:GeneralCoxGroup(x,l)
/*
Initializes a GeneralCoxGroup structure of the given type and rank.
Used when SMALLRANK_MAX < rank <= MEDRANK_MAX.
*/
{
if (ERRNO)
return;
mintable().fill(graph());
/* an error is set here in case of failure */
return;
}
MedRankCoxGroup::~MedRankCoxGroup()
/*
Virtual destructor for a MedRankCoxGroup. Currently, nothing has to be done;
the mintable destruction is the job of the CoxGroup destructor.
*/
{}
GeneralMRCoxGroup::GeneralMRCoxGroup(const Type& x, const Rank& l)
:MedRankCoxGroup(x,l)
{}
GeneralMRCoxGroup::~GeneralMRCoxGroup()
/*
Non-virtual destructor for the GeneralMRCoxGroup class. Currently,
nothing has to be done.
*/
{}
SmallRankCoxGroup::SmallRankCoxGroup(const Type& x, const Rank& l)
:MedRankCoxGroup(x,l)
/*
Initializes a GeneralCoxGroup structure of the given type and rank.
Used when rank < SMALLRANK_MAX.
*/
{
if (ERRNO) /* error in MedRankCoxGroup initialization */
return;
}
SmallRankCoxGroup::~SmallRankCoxGroup()
/*
Virtual destructor for a SmallRankCoxGroup. Currently, nothing has to
be done.
*/
{}
GeneralSRCoxGroup::GeneralSRCoxGroup(const Type& x, const Rank& l)
:SmallRankCoxGroup(x,l)
{}
GeneralSRCoxGroup::~GeneralSRCoxGroup()
/*
Non-virtual destructor for the GeneralSRCoxGroup class. Currently, nothing
has to be done.
*/
{}
};