Add patch to fix gsl usage
This commit is contained in:
parent
ba27e79ba0
commit
90d9e9f6d5
53
gdl-gsl.patch
Normal file
53
gdl-gsl.patch
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
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
|
||||||
|
@@ -41,10 +41,11 @@ namespace lib {
|
||||||
|
const int szdbl=sizeof(DDouble);
|
||||||
|
const int szflt=sizeof(DFloat);
|
||||||
|
const int szlng=sizeof(DLong);
|
||||||
|
+ const int szlng64=sizeof(DLong64);
|
||||||
|
|
||||||
|
void ludc_pro( EnvT* e)
|
||||||
|
{
|
||||||
|
- // cout << szdbl << " " <<szflt << " " << szlng << endl;
|
||||||
|
+ // cout << szdbl << " " <<szflt << " " << szlng << " " szlng64 << endl;
|
||||||
|
|
||||||
|
SizeT nParam=e->NParam(1);
|
||||||
|
// if( nParam == 0)
|
||||||
|
@@ -120,9 +121,15 @@ namespace lib {
|
||||||
|
dimension dim1(&n, (SizeT) 1);
|
||||||
|
BaseGDL** p1D = &e->GetPar( 1);
|
||||||
|
GDLDelete((*p1D));
|
||||||
|
- *p1D = new DLongGDL(dim1, BaseGDL::NOZERO);
|
||||||
|
- memcpy(&(*(DLongGDL*) *p1D)[0], p->data,
|
||||||
|
- p0->Dim(0)*szlng);
|
||||||
|
+ if (sizeof(size_t) == szlng) {
|
||||||
|
+ *p1D = new DLongGDL(dim1, BaseGDL::NOZERO);
|
||||||
|
+ memcpy(&(*(DLongGDL*) *p1D)[0], p->data,
|
||||||
|
+ p0->Dim(0)*szlng);
|
||||||
|
+ } else {
|
||||||
|
+ *p1D = new DLong64GDL(dim1, BaseGDL::NOZERO);
|
||||||
|
+ memcpy(&(*(DLong64GDL*) *p1D)[0], p->data,
|
||||||
|
+ p0->Dim(0)*szlng64);
|
||||||
|
+ }
|
||||||
|
|
||||||
|
// gsl_matrix_free(mat);
|
||||||
|
// gsl_permutation_free(p);
|
||||||
|
@@ -189,10 +196,15 @@ namespace lib {
|
||||||
|
GDLGuard<gsl_matrix> g1(mat,gsl_matrix_free);
|
||||||
|
memcpy(mat->data, &(*p0D)[0], nEl*szdbl);
|
||||||
|
|
||||||
|
- DLongGDL* p1L =e->GetParAs<DLongGDL>(1);
|
||||||
|
gsl_permutation *p = gsl_permutation_alloc (nEl1);
|
||||||
|
+ if (sizeof(size_t) == szlng) {
|
||||||
|
+ DLongGDL* p1L =e->GetParAs<DLongGDL>(1);
|
||||||
|
+ memcpy(p->data, &(*p1L)[0], nEl1*szlng);
|
||||||
|
+ } else {
|
||||||
|
+ 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);
|
5
gdl.spec
5
gdl.spec
@ -25,6 +25,9 @@ Patch4: gdl-plwidth.patch
|
|||||||
# Fix python build
|
# Fix python build
|
||||||
# https://sourceforge.net/p/gnudatalanguage/bugs/552/
|
# https://sourceforge.net/p/gnudatalanguage/bugs/552/
|
||||||
Patch5: gdl-python.patch
|
Patch5: gdl-python.patch
|
||||||
|
# Fix datatype for use with gsl's permutation type
|
||||||
|
# https://sourceforge.net/p/gnudatalanguage/bugs/570/
|
||||||
|
Patch6: gdl-gsl.patch
|
||||||
Patch13: gdl-0.9-antlr-cmake.patch
|
Patch13: gdl-0.9-antlr-cmake.patch
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
|
|
||||||
@ -112,6 +115,7 @@ popd
|
|||||||
%patch3 -p1 -b .build
|
%patch3 -p1 -b .build
|
||||||
%patch4 -p1 -b .plwidth
|
%patch4 -p1 -b .plwidth
|
||||||
%patch5 -p1 -b .python
|
%patch5 -p1 -b .python
|
||||||
|
%patch6 -p1 -b .gsl
|
||||||
|
|
||||||
%global cmake_opts \\\
|
%global cmake_opts \\\
|
||||||
-DWXWIDGETS=ON \\\
|
-DWXWIDGETS=ON \\\
|
||||||
@ -193,6 +197,7 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
- Update to 0.9.4
|
- Update to 0.9.4
|
||||||
- Update build patch - drop automake components
|
- Update build patch - drop automake components
|
||||||
- New python patch to fix python build
|
- New python patch to fix python build
|
||||||
|
- Add patch to fix gsl usage
|
||||||
|
|
||||||
* Tue Aug 27 2013 Orion Poplawski <orion@cora.nwra.com> - 0.9.3-10.cvs20130804
|
* Tue Aug 27 2013 Orion Poplawski <orion@cora.nwra.com> - 0.9.3-10.cvs20130804
|
||||||
- Add patch to support new width() method in plplot
|
- Add patch to support new width() method in plplot
|
||||||
|
Loading…
x
Reference in New Issue
Block a user