Line
Link Here
|
0 |
-- a/gfan0.5/app_fiberpolytope.cpp |
0 |
++ b/gfan0.5/app_fiberpolytope.cpp |
Lines 63-69
Link Here
|
63 |
|
63 |
|
64 |
/* If the vector configuration B does not have full rank then |
64 |
/* If the vector configuration B does not have full rank then |
65 |
change coordinates. */ |
65 |
change coordinates. */ |
66 |
if(rank(B)!=B.getHeight()) |
66 |
if(rank_(B)!=B.getHeight()) |
67 |
{ |
67 |
{ |
68 |
FieldMatrix M=integerMatrixToFieldMatrix(B,Q); |
68 |
FieldMatrix M=integerMatrixToFieldMatrix(B,Q); |
69 |
M.reduce(false,true);//force integer operations - preserving volume |
69 |
M.reduce(false,true);//force integer operations - preserving volume |
Lines 83-89
Link Here
|
83 |
log1 debug<<"Done computing restricting cone\n"; |
83 |
log1 debug<<"Done computing restricting cone\n"; |
84 |
|
84 |
|
85 |
debug<<B.getRows(); |
85 |
debug<<B.getRows(); |
86 |
debug<<int(rank(B)); |
86 |
debug<<int(rank_(B)); |
87 |
|
87 |
|
88 |
Triangulation2 t(B); |
88 |
Triangulation2 t(B); |
89 |
log1 debug<<"Computing initial triangulation\n"; |
89 |
log1 debug<<"Computing initial triangulation\n"; |
Lines 143-149
Link Here
|
143 |
*/ |
143 |
*/ |
144 |
/* If the vector configuration A does not have full rank then |
144 |
/* If the vector configuration A does not have full rank then |
145 |
change coordinates. */ |
145 |
change coordinates. */ |
146 |
/* if(rank(A)!=A.getHeight()) |
146 |
/* if(rank_(A)!=A.getHeight()) |
147 |
{ |
147 |
{ |
148 |
FieldMatrix M=integerMatrixToFieldMatrix(A,Q); |
148 |
FieldMatrix M=integerMatrixToFieldMatrix(A,Q); |
149 |
M.reduce(false,true);//force integer operations - preserving volume |
149 |
M.reduce(false,true);//force integer operations - preserving volume |
150 |
-- a/gfan0.5/app_secondaryfan.cpp |
150 |
++ b/gfan0.5/app_secondaryfan.cpp |
Lines 307-313
Link Here
|
307 |
|
307 |
|
308 |
if(scaleOption.getValue()) |
308 |
if(scaleOption.getValue()) |
309 |
{ |
309 |
{ |
310 |
if(rank(A)!=A.getHeight()) |
310 |
if(rank_(A)!=A.getHeight()) |
311 |
{ |
311 |
{ |
312 |
cerr << "The vector configuration must have full rank in order to use the scale option.\n"; |
312 |
cerr << "The vector configuration must have full rank in order to use the scale option.\n"; |
313 |
assert(0); |
313 |
assert(0); |
Lines 342-348
Link Here
|
342 |
|
342 |
|
343 |
/* If the vector configuration A does not have full rank then |
343 |
/* If the vector configuration A does not have full rank then |
344 |
change coordinates. */ |
344 |
change coordinates. */ |
345 |
if(rank(A)!=A.getHeight()) |
345 |
if(rank_(A)!=A.getHeight()) |
346 |
{ |
346 |
{ |
347 |
FieldMatrix M=integerMatrixToFieldMatrix(A,Q); |
347 |
FieldMatrix M=integerMatrixToFieldMatrix(A,Q); |
348 |
M.reduce(false,true);//force integer operations - preserving volume |
348 |
M.reduce(false,true);//force integer operations - preserving volume |
349 |
-- a/gfan0.5/matrix.cpp |
349 |
++ b/gfan0.5/matrix.cpp |
Lines 61-67
Link Here
|
61 |
|
61 |
|
62 |
#include "linalg.h" |
62 |
#include "linalg.h" |
63 |
|
63 |
|
64 |
int rank(IntegerMatrix const &m) |
64 |
int rank_(IntegerMatrix const &m) |
65 |
{ |
65 |
{ |
66 |
return integerMatrixToFieldMatrix(m,Q).rank(); |
66 |
return integerMatrixToFieldMatrix(m,Q).rank(); |
67 |
} |
67 |
} |
68 |
-- a/gfan0.5/matrix.h |
68 |
++ b/gfan0.5/matrix.h |
Lines 147-152
Link Here
|
147 |
|
147 |
|
148 |
FloatMatrix integerToFloatMatrix(IntegerMatrix const &m); |
148 |
FloatMatrix integerToFloatMatrix(IntegerMatrix const &m); |
149 |
IntegerVector flattenMatrix(IntegerMatrix const &m); |
149 |
IntegerVector flattenMatrix(IntegerMatrix const &m); |
150 |
int rank(IntegerMatrix const &m); |
150 |
int rank_(IntegerMatrix const &m); |
151 |
|
151 |
|
152 |
#endif |
152 |
#endif |