Hello community,
here is the log from the commit of package mathgl for openSUSE:Factory checked in at 2013-05-13 15:08:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mathgl (Old)
and /work/SRC/openSUSE:Factory/.mathgl.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mathgl"
Changes:
--------
--- /work/SRC/openSUSE:Factory/mathgl/mathgl.changes 2013-05-03 13:43:29.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.mathgl.new/mathgl.changes 2013-05-13 15:08:53.000000000 +0200
@@ -1,0 +2,6 @@
+Wed May 8 18:07:21 UTC 2013 - dmitry_r@opensuse.org
+
+- Update to version 2.1.3.1
+ * bugfix release, see included ChangeLog.txt for details
+
+-------------------------------------------------------------------
Old:
----
mathgl-2.1.3.tar.gz
New:
----
mathgl-2.1.3.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mathgl.spec ++++++
--- /var/tmp/diff_new_pack.NR1x3t/_old 2013-05-13 15:08:55.000000000 +0200
+++ /var/tmp/diff_new_pack.NR1x3t/_new 2013-05-13 15:08:55.000000000 +0200
@@ -22,8 +22,9 @@
Name: mathgl
%define libname libmgl
-Version: 2.1.3
+Version: 2.1.3.1
Release: 0
+%define oct_version 2.1.3
%define somajor 7
%define libversion %{somajor}_0_0
Summary: Cross-platform library for making high-quality scientific graphics
@@ -286,7 +287,7 @@
%patch5 -p1
# Correct octave-mathgl version
-sed -i 's/2.0/%{version}/' lang/DESCRIPTION
+sed -i 's/2.0/%{oct_version}/' lang/DESCRIPTION
# Correct location of numpy/arrayobject.h header file
numpy_h=%{python_sitearch}/numpy/core/include/numpy/arrayobject.h
@@ -452,8 +453,8 @@
%files -n octave-mathgl
%defattr(-,root,root)
-%{_datadir}/octave/packages/%{name}-%{version}/
-%{_libdir}/octave/packages/%{name}-%{version}/
+%{_datadir}/octave/packages/%{name}-%{oct_version}/
+%{_libdir}/octave/packages/%{name}-%{oct_version}/
%files -n python-mathgl
%defattr(-,root,root)
++++++ mathgl-2.1.3.tar.gz -> mathgl-2.1.3.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mathgl-2.1.3/ChangeLog.txt new/mathgl-2.1.3.1/ChangeLog.txt
--- old/mathgl-2.1.3/ChangeLog.txt 2013-05-02 14:34:12.000000000 +0200
+++ new/mathgl-2.1.3.1/ChangeLog.txt 2013-05-08 09:39:45.000000000 +0200
@@ -1,3 +1,9 @@
+2.1.3.1 Released 8 May 2013
+
+* Compatibility changes for MS VS.
+* Bugfixes for cmake options enable-double=OFF, enable-zlib=OFF.
+* Enable mouse actions for Firefox in JS sample.
+
2.1.3 Released 2 May 2013
* Functions SinFFT, CosFFT, Hankel and so on, become multi-threaded
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mathgl-2.1.3/examples/fltk_example.cpp new/mathgl-2.1.3.1/examples/fltk_example.cpp
--- old/mathgl-2.1.3/examples/fltk_example.cpp 2013-05-02 14:34:17.000000000 +0200
+++ new/mathgl-2.1.3.1/examples/fltk_example.cpp 2013-05-08 09:39:45.000000000 +0200
@@ -31,8 +31,7 @@
int sample_3(mglGraph *gr);
int sample_d(mglGraph *gr);
//-----------------------------------------------------------------------------
-//#include
-mglPoint pnt; // some global variable for changable data
+mglPoint pnt; // some global variable for changeable data
void *mgl_fltk_tmp(void *) { mgl_fltk_run(); return 0; }
//#define PTHREAD_SAMPLE
//-----------------------------------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mathgl-2.1.3/examples/full_test.cpp new/mathgl-2.1.3.1/examples/full_test.cpp
--- old/mathgl-2.1.3/examples/full_test.cpp 2013-05-02 14:34:17.000000000 +0200
+++ new/mathgl-2.1.3.1/examples/full_test.cpp 2013-05-08 09:39:45.000000000 +0200
@@ -63,8 +63,11 @@
//-----------------------------------------------------------------------------
void save(mglGraph *gr,const char *name,const char *suf);
void smgl_stfa(mglGraph *gr); // STFA sample
+void smgl_text(mglGraph *gr); // text drawing
void test(mglGraph *gr)
{
+ smgl_text(gr); return;
+
mglParse par;
par.AllowSetSize(true);
setlocale(LC_CTYPE, "");
@@ -200,8 +203,13 @@
snprintf(buf,128,"%s%s.jsonz",name,suf);
gr->WriteJSON(buf); break;
default:// PNG (no alpha)
+#if MGL_HAVE_PNG
snprintf(buf,128,"%s%s.png",name,suf);
gr->WritePNG(buf,0,false); break;
+#else
+ snprintf(buf,128,"%s%s.bmp",name,suf);
+ gr->WriteBMP(buf); break;
+#endif
}
}
//-----------------------------------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mathgl-2.1.3/examples/qt_example.cpp new/mathgl-2.1.3.1/examples/qt_example.cpp
--- old/mathgl-2.1.3/examples/qt_example.cpp 2013-05-02 14:34:17.000000000 +0200
+++ new/mathgl-2.1.3.1/examples/qt_example.cpp 2013-05-08 09:39:45.000000000 +0200
@@ -35,7 +35,7 @@
#ifdef PTHREAD_SAMPLE
#include
#endif
-mglPoint pnt; // some global variable for changable data
+mglPoint pnt; // some global variable for changeable data
void *mgl_qt_tmp(void *);
//-----------------------------------------------------------------------------
class Foo : public mglDraw
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mathgl-2.1.3/examples/samples.cpp new/mathgl-2.1.3.1/examples/samples.cpp
--- old/mathgl-2.1.3/examples/samples.cpp 2013-05-02 14:34:17.000000000 +0200
+++ new/mathgl-2.1.3.1/examples/samples.cpp 2013-05-08 09:39:45.000000000 +0200
@@ -60,7 +60,7 @@
//-----------------------------------------------------------------------------
const char *mmgl_fexport="";
#define splot1(b) {(b).Norm(-1,1,true);gr->Rotate(70,60);gr->Box();gr->Surf3(b);}
-void smgl_fexport(mglGraph *gr) // surface triangulation
+void smgl_fexport(mglGraph *gr) // test file export
{
gr->SubPlot(3,2,0);
double d,x1,x2,x0,y=0.95;
@@ -233,7 +233,7 @@
"title 'max=',b.max:norm b -1 1 on:rotate 70 60:box:surf3 b\n"
"return\n";
#define splot1(b) {(b).Norm(-1,1,true);gr->Rotate(70,60);gr->Box();gr->Surf3(b);}
-void smgl_data1(mglGraph *gr) // surface triangulation
+void smgl_data1(mglGraph *gr) // basic data operations
{
mglData a(40,50,60),b; gr->Fill(a,"exp(-x^2-4*y^2-16*z^2)");
gr->Light(true); gr->Alpha(true);
@@ -275,7 +275,7 @@
"title 'max=',b.max:norm b -1 1 on:rotate 70 60:box\n"
"surf3 b 0.5:surf3 b -0.5\nreturn\n";
#define splot2(b) {(b).Norm(-1,1,true);gr->Rotate(70,60);gr->Box();gr->Surf3(0.5,b);gr->Surf3(-0.5,b);}
-void smgl_data2(mglGraph *gr) // surface triangulation
+void smgl_data2(mglGraph *gr) // data transforms
{
mglData a(40,50,60),b; gr->Fill(a,"exp(-x^2-4*y^2-16*z^2)");
gr->Light(true); gr->Alpha(true);
@@ -310,7 +310,7 @@
"subplot 4 3 9:rotate 40 60:box:step x y z\n"
"subplot 4 3 10:rotate 40 60:box:torus x z 'z';light on\n"
"subplot 4 3 11:rotate 40 60:box:label x y z '%z'\n";
-void smgl_param1(mglGraph *gr) // surface triangulation
+void smgl_param1(mglGraph *gr) // 1d parametric plots
{
mglData x(100), y(100), z(100), c(100);
gr->Fill(x,"sin(pi*x)"); gr->Fill(y,"cos(pi*x)");
@@ -350,7 +350,7 @@
"subplot 4 4 13:rotate 40 60:box:boxs x y z '';meshnum 10;light on\n"
"subplot 4 4 14:rotate 40 60:box:boxs x y z '#';meshnum 10;light on\n"
"subplot 4 4 15:rotate 40 60:box:boxs x y z '@';meshnum 10;light on\n";
-void smgl_param2(mglGraph *gr) // surface triangulation
+void smgl_param2(mglGraph *gr) // 2d parametric plots
{
mglData x(100,100), y(100,100), z(100,100), c(100,100);
gr->Fill(x,"sin(pi*(x+y)/2)*cos(pi*y/2)"); gr->Fill(y,"cos(pi*(x+y)/2)*cos(pi*y/2)");
@@ -391,7 +391,7 @@
"subplot 4 3 8:rotate 40 60:box:densx c '' 0:densy c '' 0:densz c '' 0\n"
"subplot 4 3 9:rotate 40 60:box:contx c '' 0:conty c '' 0:contz c '' 0\n"
"subplot 4 3 10:rotate 40 60:box:contfx c '' 0:contfy c '' 0:contfz c '' 0\n";
-void smgl_param3(mglGraph *gr) // surface triangulation
+void smgl_param3(mglGraph *gr) // 3d parametric plots
{
mglData x(50,50,50), y(50,50,50), z(50,50,50), c(50,50,50), d(50,50,50);
gr->Fill(x,"(x+2)/3*sin(pi*y/2)"); gr->Fill(y,"(x+2)/3*cos(pi*y/2)"); gr->Fill(z,"z");
@@ -427,7 +427,7 @@
"grid3 x y z z '{r9}':grid3 x y z z '{g9}x':grid3 x y z z '{b9}z'\n"
"subplot 3 3 6:rotate 40 60:box:flow x y z ex ey ez\n"
"subplot 3 3 7:rotate 40 60:box:pipe x y z ex ey ez\n";
-void smgl_paramv(mglGraph *gr) // surface triangulation
+void smgl_paramv(mglGraph *gr) // parametric plots for vector field
{
mglData x(20,20,20), y(20,20,20), z(20,20,20), ex(20,20,20), ey(20,20,20), ez(20,20,20);
gr->Fill(x,"(x+2)/3*sin(pi*y/2)"); gr->Fill(y,"(x+2)/3*cos(pi*y/2)"); gr->Fill(z,"x+z");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mathgl-2.1.3/include/mgl2/mgl.h new/mathgl-2.1.3.1/include/mgl2/mgl.h
--- old/mathgl-2.1.3/include/mgl2/mgl.h 2013-05-02 14:32:32.000000000 +0200
+++ new/mathgl-2.1.3.1/include/mgl2/mgl.h 2013-05-08 09:39:32.000000000 +0200
@@ -415,7 +415,7 @@
/// Calculate 3D coordinate {x,y,z} for screen point {xs,ys}
inline mglPoint CalcXYZ(int xs, int ys)
{
- double x,y,z;
+ mreal x,y,z;
mgl_calc_xyz(gr,xs,ys,&x,&y,&z);
return mglPoint(x,y,z);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mathgl-2.1.3/include/mgl2/wnd.h new/mathgl-2.1.3.1/include/mgl2/wnd.h
--- old/mathgl-2.1.3/include/mgl2/wnd.h 2013-05-02 14:32:32.000000000 +0200
+++ new/mathgl-2.1.3.1/include/mgl2/wnd.h 2013-05-08 09:39:32.000000000 +0200
@@ -89,7 +89,7 @@
inline void Setup(bool clf_upd=true, bool showpos=false)
{ mgl_setup_window(gr, clf_upd, showpos); }
inline mglPoint LastMousePos() ///< Last mouse position
- { double x,y,z; mgl_get_last_mouse_pos(gr,&x,&y,&z); return mglPoint(x,y,z); }
+ { mreal x,y,z; mgl_get_last_mouse_pos(gr,&x,&y,&z); return mglPoint(x,y,z); }
};
//-----------------------------------------------------------------------------
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mathgl-2.1.3/src/data_new.cpp new/mathgl-2.1.3.1/src/data_new.cpp
--- old/mathgl-2.1.3/src/data_new.cpp 2013-05-02 14:33:06.000000000 +0200
+++ new/mathgl-2.1.3.1/src/data_new.cpp 2013-05-08 09:39:36.000000000 +0200
@@ -875,7 +875,7 @@
}
//-----------------------------------------------------------------------------
struct MGL_NO_EXPORT mglFuncV { mglFormula *eq; char var; };
-mreal MGL_NO_EXPORT mgl_funcv(double v, void *par)
+mreal MGL_NO_EXPORT mgl_funcv(mreal v, void *par)
{
mglFuncV *f = (mglFuncV *)par;
mreal var[MGL_VS]; memset(var,0,('z'-'a')*sizeof(mreal));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mathgl-2.1.3/src/export.cpp new/mathgl-2.1.3.1/src/export.cpp
--- old/mathgl-2.1.3/src/export.cpp 2013-05-02 14:33:06.000000000 +0200
+++ new/mathgl-2.1.3.1/src/export.cpp 2013-05-08 09:39:36.000000000 +0200
@@ -20,6 +20,12 @@
#include
#include
+#if defined(WIN32) || defined(_MSC_VER) || defined(__BORLANDC__)
+#include
+#else
+#include
+#endif
+
#include "mgl2/canvas.h"
#include "mgl2/canvas_cf.h"
@@ -576,7 +582,7 @@
{
snprintf(cmd,128,"%s %s &", viewer,fname);
if(system(cmd)==-1) printf("Error to call external viewer\n");
- // sleep(2);
+ Sleep(2000);
snprintf(cmd,128,"del %s", fname);
}
else snprintf(cmd,128,"%s %s; del %s", viewer,fname,fname);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mathgl-2.1.3/src/fft.cpp new/mathgl-2.1.3.1/src/fft.cpp
--- old/mathgl-2.1.3/src/fft.cpp 2013-05-02 14:33:06.000000000 +0200
+++ new/mathgl-2.1.3.1/src/fft.cpp 2013-05-08 09:39:36.000000000 +0200
@@ -134,7 +134,7 @@
if(!dir || *dir==0) return;
long nx = d->nx, ny = d->ny, nz = d->nz;
if(mglNumThr<1) mgl_set_num_thr(0); // manually set number of threads
- void *wt=0, *ws[mglNumThr];
+ void *wt=0, **ws=new void*[mglNumThr];
long par[4]={nx,ny,nz,strchr(dir,'i')!=0}, i;
#if MGL_USE_DOUBLE
double *a = (double *)(d->a);
@@ -159,6 +159,7 @@
mglStartThreadT(mgl_fftz,nx*ny,0,a,wt,ws,par);
}
if(wt) mgl_fft_free(wt,ws,mglNumThr);
+ delete []ws;
#if !MGL_USE_DOUBLE
for(i=0;ia[i] = dual(a[2*i], a[2*i+1]);
delete []a;
@@ -171,7 +172,7 @@
long nx = re->nx, ny = re->ny, nz = re->nz;
if(nx*ny*nz != im->nx*im->ny*im->nz || !dir || dir[0]==0) return;
if(mglNumThr<1) mgl_set_num_thr(0); // manually set number of threads
- void *wt=0, *ws[mglNumThr];
+ void *wt=0, **ws=new void*[mglNumThr];
long par[4]={nx,ny,nz,strchr(dir,'i')!=0}, i;
double *a = new double[2*nx*ny*nz];
for(i=0;ia[i] = a[2*i]; im->a[i] = a[2*i+1]; }
- delete []a;
+ delete []ws; delete []a;
}
//-----------------------------------------------------------------------------
MGL_NO_EXPORT void* mgl_envx(void *par)
@@ -253,7 +254,7 @@
register long i;
long nx=d->nx,ny=d->ny,nz=d->nz,par[3]={nx,ny,nz};
if(mglNumThr<1) mgl_set_num_thr(0); // manually set number of threads
- void *wt=0, *ws[mglNumThr];
+ void *wt=0, **ws=new void*[mglNumThr];
double *b = 0;
if(dir=='x' && nx>1)
{
@@ -275,6 +276,7 @@
}
for(i=0;ia[i] = hypot(b[2*i], b[2*i+1]);
if(b) { mgl_fft_free(wt,ws,mglNumThr); delete []b; }
+ delete []ws;
}
//-----------------------------------------------------------------------------
MGL_NO_EXPORT void* mgl_stfa1(void *par)
@@ -347,7 +349,7 @@
register long i,j,k,i0,dd=dn/2;
if(mglNumThr<1) mgl_set_num_thr(0); // manually set number of threads
double *a = new double[4*dn*mglNumThr],ff;
- void *ws[mglNumThr], *wt = mgl_fft_alloc(2*dn,ws,mglNumThr);
+ void **ws=new void*[mglNumThr], *wt = mgl_fft_alloc(2*dn,ws,mglNumThr);
long mx,my,mz;
if(dir=='y')
{
@@ -363,8 +365,8 @@
long par[5]={mx,my,mz,dn,nx};
mglStartThreadT(mgl_stfa2,my*mz,d->a,a,wt,ws,par,re,im);
}
- delete []a;
mgl_fft_free(wt,ws,mglNumThr);
+ delete []ws; delete []a;
return d;
}
//-----------------------------------------------------------------------------
@@ -436,7 +438,7 @@
if(!dir || *dir==0) return;
double *b = 0;
if(mglNumThr<1) mgl_set_num_thr(0); // manually set number of threads
- void *wt=0, *ws[mglNumThr];
+ void *wt=0, **ws=new void*[mglNumThr];
long nx=d->nx, ny=d->ny, nz=d->nz;
long par[3]={nx,ny,nz}, i;
if(strchr(dir,'x') && nx>1)
@@ -458,6 +460,7 @@
mglStartThreadT(mgl_sinz,nx*ny,d->a,b,wt,ws,par);
}
if(b) { mgl_fft_free(wt,ws,mglNumThr); delete []b; }
+ delete []ws;
}
//-----------------------------------------------------------------------------
MGL_NO_EXPORT void* mgl_cosx(void *par)
@@ -550,7 +553,7 @@
if(!dir || *dir==0) return;
double *b = 0;
if(mglNumThr<1) mgl_set_num_thr(0); // manually set number of threads
- void *wt=0, *ws[mglNumThr];
+ void *wt=0, **ws=new void*[mglNumThr];
long nx=d->nx, ny=d->ny, nz=d->nz;
long par[3]={nx,ny,nz}, i;
if(strchr(dir,'x') && nx>1)
@@ -572,6 +575,7 @@
mglStartThreadT(mgl_cosz,nx*ny,d->a,b,wt,ws,par);
}
if(b) { mgl_fft_free(wt,ws,mglNumThr); delete []b; }
+ delete []ws;
}
//-----------------------------------------------------------------------------
HMDT MGL_EXPORT mgl_transform_a(HCDT am, HCDT ph, const char *tr)
@@ -675,7 +679,7 @@
gsl_dht_apply(dht,b,b+nx);
for(j=0;ja[i] = x0[i];
@@ -192,6 +192,7 @@
func(v,k2,par);
for(i=0;ia[i+n*k] = x[i] += (k1[i]+k2[i]+2*k3[i])*dt/6;
}
+ delete []x; delete []k1; delete []k2; delete []k3; delete []v;
return res;
}
//-----------------------------------------------------------------------------
@@ -419,7 +420,7 @@
{
dual *hxy, *huv, *hxv, *huy, *a;
dual *hx, *hy, *hu, *hv, h0;
- double *dmp;
+ mreal *dmp;
mreal *r, dr, dk;
mgl_ap *ra;
dual (*ham)(mreal u, mreal x, mreal y, mreal z, mreal px, mreal py, mreal pz, void *par);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mathgl-2.1.3/texinfo/json.html new/mathgl-2.1.3.1/texinfo/json.html
--- old/mathgl-2.1.3/texinfo/json.html 2013-05-02 14:34:17.000000000 +0200
+++ new/mathgl-2.1.3.1/texinfo/json.html 2013-05-08 09:39:44.000000000 +0200
@@ -109,10 +109,10 @@
<p>You can use mouse with pressed left button for rotation; with pressed middle button for shift; mouse wheel for zoom in/out. Double click will restore original view.</p>
<center>