- 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:
parent
774e96d41e
commit
95345bd9a1
50
gdl-eigen.patch
Normal file
50
gdl-eigen.patch
Normal 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;
|
||||
}
|
@ -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
380
gdl-reorder.patch
Normal 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)
|
||||
{}
|
@ -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
|
||||
;
|
15
gdl.spec
15
gdl.spec
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user