- Add patch to fix use of dynamically sized matrices with Eigen3

- Add patch to fix -Wreorder warnings
- Update gsl patch to match current cvs
This commit is contained in:
Orion Poplawski 2013-10-04 14:21:43 -06:00
parent 774e96d41e
commit 95345bd9a1
5 changed files with 454 additions and 44 deletions

50
gdl-eigen.patch Normal file
View File

@ -0,0 +1,50 @@
diff -up gdl-0.9.4/src/basic_op.cpp.eigen gdl-0.9.4/src/basic_op.cpp
--- gdl-0.9.4/src/basic_op.cpp.eigen 2013-09-21 21:09:10.000000000 -0600
+++ gdl-0.9.4/src/basic_op.cpp 2013-10-04 14:04:17.018256208 -0600
@@ -1543,8 +1543,8 @@ Data_<Sp>* Data_<Sp>::MatrixOp( BaseGDL*
}
}
- Map<Matrix<Ty,-1,-1>,Aligned> m0(&(*this)[0], NbCol0, NbRow0);
- Map<Matrix<Ty,-1,-1>,Aligned> m1(&(*par1)[0], NbCol1, NbRow1);
+ Map<Matrix<Ty,Dynamic,Dynamic>,Aligned> m0(&(*this)[0], NbCol0, NbRow0);
+ Map<Matrix<Ty,Dynamic,Dynamic>,Aligned> m1(&(*par1)[0], NbCol1, NbRow1);
if (at && bt)
{
@@ -1560,7 +1560,7 @@ Data_<Sp>* Data_<Sp>::MatrixOp( BaseGDL*
Data_* res = new Data_(dim, BaseGDL::NOZERO);
// no guarding necessary: eigen only throws on memory allocation
- Map<Matrix<Ty,-1,-1>,Aligned> m2(&(*res)[0], NbCol2, NbRow2);
+ Map<Matrix<Ty,Dynamic,Dynamic>,Aligned> m2(&(*res)[0], NbCol2, NbRow2);
m2.noalias() = m0.transpose() * m1.transpose();
return res;
}
@@ -1576,7 +1576,7 @@ Data_<Sp>* Data_<Sp>::MatrixOp( BaseGDL*
dimension dim(NbCol2, NbRow2);
Data_* res = new Data_(dim, BaseGDL::NOZERO);
- Map<Matrix<Ty,-1,-1>,Aligned> m2(&(*res)[0], NbCol2, NbRow2);
+ Map<Matrix<Ty,Dynamic,Dynamic>,Aligned> m2(&(*res)[0], NbCol2, NbRow2);
m2.noalias() = m0 * m1.transpose();
return res;
} else if (at)
@@ -1591,7 +1591,7 @@ Data_<Sp>* Data_<Sp>::MatrixOp( BaseGDL*
dimension dim(NbCol2, NbRow2);
Data_* res = new Data_(dim, BaseGDL::NOZERO);
- Map<Matrix<Ty,-1,-1>,Aligned> m2(&(*res)[0], NbCol2, NbRow2);
+ Map<Matrix<Ty,Dynamic,Dynamic>,Aligned> m2(&(*res)[0], NbCol2, NbRow2);
m2.noalias() = m0.transpose() * m1;
return res;
} else
@@ -1606,7 +1606,7 @@ Data_<Sp>* Data_<Sp>::MatrixOp( BaseGDL*
dimension dim(NbCol2, NbRow2);
Data_* res = new Data_(dim, BaseGDL::NOZERO);
- Map<Matrix<Ty,-1,-1>,Aligned> m2(&(*res)[0], NbCol2, NbRow2);
+ Map<Matrix<Ty,Dynamic,Dynamic>,Aligned> m2(&(*res)[0], NbCol2, NbRow2);
m2.noalias() = m0*m1;
return res;
}

View File

@ -1,6 +1,6 @@
diff -up gdl-0.9.4/src/gsl_matrix.cpp.gsl gdl-0.9.4/src/gsl_matrix.cpp
--- gdl-0.9.4/src/gsl_matrix.cpp.gsl 2013-09-20 10:10:02.000000000 -0600
+++ gdl-0.9.4/src/gsl_matrix.cpp 2013-09-30 16:57:24.762141411 -0600
+++ gdl-0.9.4/src/gsl_matrix.cpp 2013-10-03 13:50:41.089660703 -0600
@@ -41,10 +41,11 @@ namespace lib {
const int szdbl=sizeof(DDouble);
const int szflt=sizeof(DFloat);
@ -39,6 +39,8 @@ diff -up gdl-0.9.4/src/gsl_matrix.cpp.gsl gdl-0.9.4/src/gsl_matrix.cpp
- DLongGDL* p1L =e->GetParAs<DLongGDL>(1);
gsl_permutation *p = gsl_permutation_alloc (nEl1);
GDLGuard<gsl_permutation> g2(p,gsl_permutation_free);
- memcpy(p->data, &(*p1L)[0], nEl1*szlng);
+ if (sizeof(size_t) == szlng) {
+ DLongGDL* p1L =e->GetParAs<DLongGDL>(1);
+ memcpy(p->data, &(*p1L)[0], nEl1*szlng);
@ -46,8 +48,15 @@ diff -up gdl-0.9.4/src/gsl_matrix.cpp.gsl gdl-0.9.4/src/gsl_matrix.cpp
+ DLong64GDL* p1L =e->GetParAs<DLong64GDL>(1);
+ memcpy(p->data, &(*p1L)[0], nEl1*szlng64);
+ }
GDLGuard<gsl_permutation> g2(p,gsl_permutation_free);
- memcpy(p->data, &(*p1L)[0], nEl1*szlng);
DDoubleGDL *p2D = e->GetParAs<DDoubleGDL>(2);
gsl_vector *b = gsl_vector_alloc(nEl2);
@@ -222,7 +234,7 @@ namespace lib {
DDoubleGDL* res = new DDoubleGDL( p2->Dim(), BaseGDL::NOZERO);
memcpy(&(*res)[0], x->data, nEl1*szdbl);
-// gsl_matrix_free(mat);
+// gsl_matrix_free(mat);Parameter
// gsl_vector_free(x);
// gsl_permutation_free(p);
// b ???

380
gdl-reorder.patch Normal file
View File

@ -0,0 +1,380 @@
diff -up gdl-0.9.4/src/allix.hpp.reorder gdl-0.9.4/src/allix.hpp
--- gdl-0.9.4/src/allix.hpp.reorder 2012-12-11 10:39:35.000000000 -0700
+++ gdl-0.9.4/src/allix.hpp 2013-10-04 10:59:22.666594845 -0600
@@ -344,9 +344,9 @@ private:
public:
AllIxAllIndexedT( ArrayIndexVectorT* ixList_, SizeT acRank_, SizeT nIx_, const SizeT* varStride_)
: ixList( ixList_)
+ , varStride( varStride_)
, acRank( acRank_)
, nIx( nIx_)
- , varStride( varStride_)
{}
~AllIxAllIndexedT() {}
@@ -384,11 +384,11 @@ private:
public:
AllIxNewMultiT( ArrayIndexVectorT* ixList_, SizeT acRank_, SizeT nIx_, const SizeT* varStride_, SizeT* nIterLimit_, SizeT* stride_)
: ixList( ixList_)
- , acRank( acRank_)
- , nIx( nIx_)
, varStride( varStride_)
, nIterLimit( nIterLimit_)
, stride( stride_)
+ , acRank( acRank_)
+ , nIx( nIx_)
{
add = 0;
assert( varStride[0] == 1);
@@ -440,10 +440,10 @@ private:
public:
AllIxNewMulti2DT( ArrayIndexVectorT* ixList_, SizeT nIx_, const SizeT* varStride_, SizeT* nIterLimit_, SizeT* stride_)
: ixList( ixList_)
- , nIx( nIx_)
, varStride( varStride_)
, nIterLimit( nIterLimit_)
, stride( stride_)
+ , nIx( nIx_)
{
add = 0;
if( !(*ixList)[0]->Indexed())
@@ -499,11 +499,11 @@ private:
public:
AllIxNewMultiNoneIndexedT( ArrayIndexVectorT* ixList_, SizeT acRank_, SizeT nIx_, const SizeT* varStride_, SizeT* nIterLimit_, SizeT* stride_)
: ixList( ixList_)
- , acRank( acRank_)
- , nIx( nIx_)
, varStride( varStride_)
, nIterLimit( nIterLimit_)
, stride( stride_)
+ , acRank( acRank_)
+ , nIx( nIx_)
{
assert( varStride[0] == 1);
add = 0;
@@ -548,10 +548,10 @@ private:
public:
AllIxNewMultiNoneIndexed2DT( ArrayIndexVectorT* ixList_, SizeT nIx_, const SizeT* varStride_, SizeT* nIterLimit_, SizeT* stride_)
: ixList( ixList_)
- , nIx( nIx_)
, varStride( varStride_)
, nIterLimit( nIterLimit_)
, stride( stride_)
+ , nIx( nIx_)
{
assert( varStride[0] == 1);
ixListStride[0] = (*ixList)[0]->GetStride();
@@ -593,11 +593,11 @@ public:
AllIxNewMultiOneVariableIndexNoIndexT( RankT gt1Rank, SizeT add_,
ArrayIndexVectorT* ixList_, SizeT acRank_, SizeT nIx_, const SizeT* varStride_, SizeT* nIterLimit_, SizeT* stride_)
: ixList( ixList_)
- , acRank( acRank_)
- , nIx( nIx_)
, varStride( varStride_)
, nIterLimit( nIterLimit_)
, stride( stride_)
+ , acRank( acRank_)
+ , nIx( nIx_)
, add( add_)
, variableIndex( gt1Rank)
{
@@ -642,11 +642,11 @@ public:
SizeT acRank_, SizeT nIx_, const SizeT* varStride_,
SizeT* nIterLimit_, SizeT* stride_)
: ixList( ixList_)
- , acRank( acRank_)
- , nIx( nIx_)
, varStride( varStride_)
, nIterLimit( nIterLimit_)
, stride( stride_)
+ , acRank( acRank_)
+ , nIx( nIx_)
, add( add_)
, variableIndex( gt1Rank)
{
diff -up gdl-0.9.4/src/arrayindex.hpp.reorder gdl-0.9.4/src/arrayindex.hpp
--- gdl-0.9.4/src/arrayindex.hpp.reorder 2013-09-17 10:46:19.000000000 -0600
+++ gdl-0.9.4/src/arrayindex.hpp 2013-10-04 11:00:58.849879562 -0600
@@ -303,7 +303,7 @@ private:
RangeT s;
BaseGDL* rawData; // for overloaded object indexing
- CArrayIndexScalar( const CArrayIndexScalar& c): s( c.s), sInit( c.sInit)
+ CArrayIndexScalar( const CArrayIndexScalar& c): sInit( c.sInit), s( c.s)
{
assert( c.rawData != NULL);
rawData = c.rawData->Dup();
diff -up gdl-0.9.4/src/arrayindexlistnoassoct.hpp.reorder gdl-0.9.4/src/arrayindexlistnoassoct.hpp
--- gdl-0.9.4/src/arrayindexlistnoassoct.hpp.reorder 2013-07-04 17:24:44.000000000 -0600
+++ gdl-0.9.4/src/arrayindexlistnoassoct.hpp 2013-10-04 11:24:02.893867004 -0600
@@ -59,8 +59,8 @@ public:
{ nParam = 0;}
ArrayIndexListOneNoAssocT( const ArrayIndexListOneNoAssocT& cp):
- cleanupIx(),
ArrayIndexListT( cp),
+ cleanupIx(),
ix( cp.ix->Dup()),
allIx( NULL)
{
diff -up gdl-0.9.4/src/arrayindexlistt.hpp.reorder gdl-0.9.4/src/arrayindexlistt.hpp
--- gdl-0.9.4/src/arrayindexlistt.hpp.reorder 2013-09-17 10:46:19.000000000 -0600
+++ gdl-0.9.4/src/arrayindexlistt.hpp 2013-10-04 11:23:35.607069888 -0600
@@ -130,8 +130,8 @@ public:
{ nParam = 0;}
ArrayIndexListOneT( const ArrayIndexListOneT& cp):
- cleanupIx(),
ArrayIndexListT( cp),
+ cleanupIx(),
ix( cp.ix->Dup()),
allIx( NULL)
{
diff -up gdl-0.9.4/src/deviceps.hpp.reorder gdl-0.9.4/src/deviceps.hpp
--- gdl-0.9.4/src/deviceps.hpp.reorder 2013-07-03 15:48:06.000000000 -0600
+++ gdl-0.9.4/src/deviceps.hpp 2013-10-04 13:14:48.283746779 -0600
@@ -441,9 +441,9 @@ private:
}
public:
- DevicePS(): Graphics(), fileName( "gdl.ps"), actStream( NULL), color(0),
- decomposed( 0), encapsulated(false), scale(1.), XPageSize(17.78), YPageSize(12.7),
- XOffset(0.0),YOffset(0.0)
+ DevicePS(): Graphics(), fileName( "gdl.ps"), actStream( NULL),
+ XPageSize(17.78), YPageSize(12.7), XOffset(0.0),YOffset(0.0),
+ color(0), decomposed( 0), encapsulated(false), scale(1.)
{
name = "PS";
diff -up gdl-0.9.4/src/dnode.cpp.reorder gdl-0.9.4/src/dnode.cpp
--- gdl-0.9.4/src/dnode.cpp.reorder 2012-09-18 08:19:18.000000000 -0600
+++ gdl-0.9.4/src/dnode.cpp 2013-10-04 12:02:48.601416601 -0600
@@ -55,9 +55,10 @@ DNode::DNode( const DNode& cp):
// keepRight( false),
CommonAST( cp), //down(), right(),
lineNumber( cp.getLine()), cData(NULL),
- var(cp.var), arrIxList(NULL),arrIxListNoAssoc(NULL),
+ var(cp.var),
libFun( cp.libFun),
libPro( cp.libPro),
+ arrIxList(NULL),arrIxListNoAssoc(NULL),
labelStart( cp.labelStart), labelEnd( cp.labelEnd)
{
if( cp.cData != NULL) cData = cp.cData->Dup();
diff -up gdl-0.9.4/src/dnode.hpp.reorder gdl-0.9.4/src/dnode.hpp
diff -up gdl-0.9.4/src/dpro.cpp.reorder gdl-0.9.4/src/dpro.cpp
--- gdl-0.9.4/src/dpro.cpp.reorder 2013-09-17 03:03:25.000000000 -0600
+++ gdl-0.9.4/src/dpro.cpp 2013-10-04 13:05:23.169223727 -0600
@@ -200,8 +200,8 @@ DSubUD::~DSubUD()
DSubUD::DSubUD(const string& n,const string& o,const string& f) :
DSub(n,o), file(f),
tree( NULL),
- labelList(),
compileOpt(GDLParser::NONE),
+ labelList(),
nForLoops( 0)
{
if( o != "")
diff -up gdl-0.9.4/src/envt.cpp.reorder gdl-0.9.4/src/envt.cpp
--- gdl-0.9.4/src/envt.cpp.reorder 2013-09-25 05:55:21.000000000 -0600
+++ gdl-0.9.4/src/envt.cpp 2013-10-04 13:08:17.081114086 -0600
@@ -107,15 +107,15 @@ void EnvUDT::operator delete( void *ptr)
EnvBaseT::EnvBaseT( ProgNodeP cN, DSub* pro_):
- env(),
toDestroy(),
+ env(),
pro(pro_),
- extra(NULL),
- newEnv(NULL),
callingNode( cN),
lineNumber( 0),
- obj(false)
- ,ptrToReturnValue(NULL)
+ obj(false),
+ extra(NULL),
+ newEnv(NULL),
+ ptrToReturnValue(NULL)
//, toDestroyInitialIndex( toDestroy.size())
{}
diff -up gdl-0.9.4/src/envt.hpp.reorder gdl-0.9.4/src/envt.hpp
--- gdl-0.9.4/src/envt.hpp.reorder 2013-09-26 04:47:48.000000000 -0600
+++ gdl-0.9.4/src/envt.hpp 2013-10-04 10:55:21.892428311 -0600
@@ -863,7 +863,7 @@ public:
typedef SizeT size_type;
typedef EnvUDT* pointer_type;
- EnvStackT(): sz(defaultStackDepth), top(0)
+ EnvStackT(): top(0), sz(defaultStackDepth)
{
envStackFrame = new EnvUDT* [ sz+1];
envStack = envStackFrame + 1;
diff -up gdl-0.9.4/src/gdlexception.cpp.reorder gdl-0.9.4/src/gdlexception.cpp
--- gdl-0.9.4/src/gdlexception.cpp.reorder 2013-06-23 17:07:32.000000000 -0600
+++ gdl-0.9.4/src/gdlexception.cpp 2013-10-04 14:00:32.102348401 -0600
@@ -43,9 +43,9 @@ GDLException::GDLException(DLong eC, con
errorNodeP( NULL),
errorCode(eC),
line( 0), col( 0), prefix( pre),
+ arrayexprIndexeeFailed(false),
ioException( false),
- targetEnv( NULL),
- arrayexprIndexeeFailed(false)
+ targetEnv( NULL)
{
if(decorate && interpreter!=NULL && interpreter->CallStack().size()>0)
{
@@ -97,9 +97,9 @@ GDLException::GDLException(const RefDNod
errorNodeP( NULL),
errorCode(-1),
line( 0), col( 0), prefix( true),
+ arrayexprIndexeeFailed(false),
ioException( false),
- targetEnv( NULL),
- arrayexprIndexeeFailed(false)
+ targetEnv( NULL)
{
if(interpreter!=NULL && interpreter->CallStack().size()>0)
{
@@ -122,9 +122,9 @@ GDLException::GDLException(DLong eC, con
errorNodeP( NULL),
errorCode(eC),
line( 0), col( 0), prefix( true),
+ arrayexprIndexeeFailed(false),
ioException( false),
- targetEnv( NULL),
- arrayexprIndexeeFailed(false)
+ targetEnv( NULL)
{
if(interpreter!=NULL && interpreter->CallStack().size()>0)
{
@@ -148,9 +148,9 @@ GDLException::GDLException(const ProgNod
errorNodeP( eN),
errorCode(-1),
line( 0), col( 0), prefix( true),
+ arrayexprIndexeeFailed(false),
ioException( false),
- targetEnv( NULL),
- arrayexprIndexeeFailed(false)
+ targetEnv( NULL)
{
if( overWriteNode && interpreter!=NULL && interpreter->CallStack().size()>0)
{
@@ -177,9 +177,9 @@ GDLException::GDLException(DLong eC, con
errorNodeP( eN),
errorCode(eC),
line( 0), col( 0), prefix( true),
+ arrayexprIndexeeFailed(false),
ioException( false),
- targetEnv( NULL),
- arrayexprIndexeeFailed(false)
+ targetEnv( NULL)
{
if( overWriteNode && interpreter!=NULL && interpreter->CallStack().size()>0)
{
@@ -207,9 +207,9 @@ GDLException::GDLException(SizeT l, Size
errorNodeP( NULL),
errorCode(-1),
line( l), col( c), prefix( true),
+ arrayexprIndexeeFailed(false),
ioException( false),
- targetEnv( NULL),
- arrayexprIndexeeFailed(false)
+ targetEnv( NULL)
{
if(interpreter!=NULL && interpreter->CallStack().size()>0)
{
@@ -232,8 +232,8 @@ GDLException::GDLException(DLong eC, Siz
errorNodeP( NULL),
errorCode(eC),
line( l), col( c), prefix( true),
- targetEnv( NULL),
- arrayexprIndexeeFailed(false)
+ arrayexprIndexeeFailed(false),
+ targetEnv( NULL)
{
if(interpreter!=NULL && interpreter->CallStack().size()>0)
{
diff -up gdl-0.9.4/src/gdlexception.hpp.reorder gdl-0.9.4/src/gdlexception.hpp
--- gdl-0.9.4/src/gdlexception.hpp.reorder 2013-06-23 17:07:32.000000000 -0600
+++ gdl-0.9.4/src/gdlexception.hpp 2013-10-04 11:12:58.332125288 -0600
@@ -66,18 +66,18 @@ public:
errorNodeP( NULL),
errorCode(-1),
line( 0), col( 0), prefix( true),
+ arrayexprIndexeeFailed(false),
ioException( false),
- targetEnv( NULL),
- arrayexprIndexeeFailed(false)
+ targetEnv( NULL)
{}
GDLException( DLong eC): ANTLRException(),
errorNode(static_cast<RefDNode>(antlr::nullAST)),
errorNodeP( NULL),
errorCode(eC),
line( 0), col( 0), prefix( true),
+ arrayexprIndexeeFailed(false),
ioException( false),
- targetEnv( NULL),
- arrayexprIndexeeFailed(false)
+ targetEnv( NULL)
{}
GDLException(const std::string& s, bool pre = true, bool decorate=true);
GDLException(const RefDNode eN, const std::string& s);
diff -up gdl-0.9.4/src/prognode.cpp.reorder gdl-0.9.4/src/prognode.cpp
--- gdl-0.9.4/src/prognode.cpp.reorder 2013-09-27 18:47:49.000000000 -0600
+++ gdl-0.9.4/src/prognode.cpp 2013-10-04 14:01:11.490342867 -0600
@@ -54,19 +54,19 @@ return nonCopyNodeLookupArray;
// tanslation RefDNode -> ProgNode
ProgNode::ProgNode( const RefDNode& refNode):
+ ttype( refNode->getType()),
+ text( refNode->getText()),
keepRight( false),
keepDown( false),
breakTarget( NULL),
- ttype( refNode->getType()),
- text( refNode->getText()),
down( NULL),
right( NULL),
- lineNumber( refNode->getLine()),
cData( refNode->StealCData()), // stealing is crucial here because references might exist
+ var( refNode->var),
// as arrayindices
- libPro( refNode->libPro),
libFun( refNode->libFun),
- var( refNode->var),
+ libPro( refNode->libPro),
+ lineNumber( refNode->getLine()),
arrIxList( refNode->StealArrIxList()),
arrIxListNoAssoc( refNode->StealArrIxNoAssocList()),
// arrIxList( refNode->CloneArrIxList()),
diff -up gdl-0.9.4/src/prognodeexpr.cpp.reorder gdl-0.9.4/src/prognodeexpr.cpp
--- gdl-0.9.4/src/prognodeexpr.cpp.reorder 2013-09-26 05:08:39.000000000 -0600
+++ gdl-0.9.4/src/prognodeexpr.cpp 2013-10-04 13:20:36.660155916 -0600
@@ -49,18 +49,18 @@ BinaryExprNC::BinaryExprNC( const RefDNo
}
ProgNode::ProgNode(): // for NULLProgNode
+ ttype( antlr::Token::NULL_TREE_LOOKAHEAD),
+ text( "NULLProgNode"),
keepRight( false),
keepDown( false),
breakTarget( NULL),
- ttype( antlr::Token::NULL_TREE_LOOKAHEAD),
- text( "NULLProgNode"),
down( NULL),
right( NULL),
- lineNumber( 0),
cData( NULL),
- libPro( NULL),
- libFun( NULL),
var( NULL),
+ libFun( NULL),
+ libPro( NULL),
+ lineNumber( 0),
labelStart( 0),
labelEnd( 0)
{}

View File

@ -1,38 +0,0 @@
diff -up gdl-0.9.4/testsuite/test_matrix_multiply.pro.gsl gdl-0.9.4/testsuite/test_matrix_multiply.pro
--- gdl-0.9.4/testsuite/test_matrix_multiply.pro.gsl 2013-04-11 10:00:30.000000000 -0600
+++ gdl-0.9.4/testsuite/test_matrix_multiply.pro 2013-10-02 11:21:57.504511516 -0600
@@ -39,7 +39,7 @@ identity=DIAG_MATRIX(REPLICATE(1., nbp))
matrice=DIAG_MATRIX(REPLICATE(value, nbp-1), 1)
matrice[0,nbp-1]=value
;
-inv_matrice=INVERT(matrice)
+inv_matrice=INVERT(matrice,status)
;
; We use a "rotation matrix"
;
@@ -70,8 +70,15 @@ if (errors GT 0) then begin
print, 'effective type : ', effective_type
nb_errors=nb_errors+errors
endif
-;
+
if KEYWORD_SET(debug) then begin
+ print, 'Invert status = ', status
+ print, 'Where inv_matrice ne 0 : ', where(inv_matrice ne 0)
+ print, 'Where trans_matrice ne 0 : ', where(trans_matrice ne 0)
+ print, 'Where test1 ne 0 : ', where(abs(test1) gt tolerance)
+ print, 'Where test2 ne 0 : ', where(abs(test2) gt tolerance)
+ print, 'Where test3 ne 0 : ', where(abs(test3) gt tolerance)
+ print, 'Where test4 ne 0 : ', where(abs(test4) gt tolerance)
print, MIN(test1), MAX(test1)
print, MIN(test2), MAX(test2)
print, MIN(test3), MAX(test3)
@@ -110,7 +117,7 @@ liste_taille=[2,3,4,10,11,13,25,50,51,10
for itailles=0, N_ELEMENTS(liste_taille)-1 do begin
for itypes=0, N_ELEMENTS(liste_type)-1 do begin
TEST_MATRIX_UNITARY, type=liste_type[itypes], $
- nbp=liste_taille[itailles], nb_errors=nb_errors, verbose=verbose
+ nbp=liste_taille[itailles], nb_errors=nb_errors, verbose=verbose, debug=1
endfor
endfor
;

View File

@ -28,9 +28,12 @@ Patch5: gdl-python.patch
# Fix datatype for use with gsl's permutation type
# https://sourceforge.net/p/gnudatalanguage/bugs/570/
Patch6: gdl-gsl.patch
# test_matrix_multiply fails - try to debug
# Make proper use of dynamically sized matrices in eigen
# https://sourceforge.net/p/gnudatalanguage/bugs/556/
Patch7: gdl-test.patch
Patch7: gdl-eigen.patch
# Fix -Wreorder warnings
# https://sourceforge.net/p/gnudatalanguage/patches/71/
Patch8: gdl-reorder.patch
Patch13: gdl-0.9-antlr-cmake.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@ -119,7 +122,8 @@ popd
%patch4 -p1 -b .plwidth
%patch5 -p1 -b .python
%patch6 -p1 -b .gsl
%patch7 -p1 -b .test
%patch7 -p1 -b .eigen
%patch8 -p1 -b .reorder
%global cmake_opts \\\
-DWXWIDGETS=ON \\\
@ -197,6 +201,11 @@ rm -rf $RPM_BUILD_ROOT
%changelog
* Fri Oct 4 2013 Orion Poplawski <orion@cora.nwra.com> - 0.9.4-1
- Add patch to fix use of dynamically sized matrices with Eigen3
- Add patch to fix -Wreorder warnings
- Update gsl patch to match current cvs
* Mon Sep 30 2013 Orion Poplawski <orion@cora.nwra.com> - 0.9.4-1
- Update to 0.9.4
- Update build patch - drop automake components