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 - dmitr...@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 <unistd.h> -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 <pthread.h> #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 <time.h> #include <stdarg.h> +#if defined(WIN32) || defined(_MSC_VER) || defined(__BORLANDC__) +#include <windows.h> +#else +#include <unistd.h> +#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;i<nx*ny*nz;i++) d->a[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;i<nx*ny*nz;i++) @@ -194,7 +195,7 @@ if(wt) mgl_fft_free(wt,ws,mglNumThr); for(i=0;i<nx*ny*nz;i++) { re->a[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;i<nx*ny*nz;i++) d->a[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;j<nx;j++) b[j] = imag(a[j+nx*i]); gsl_dht_apply(dht,b,b+2*nx); - for(j=0;j<nx;j++) a[j+nx*i] = dual(b[j+nx],b[j+2*nx])*mm; + for(j=0;j<nx;j++) a[j+nx*i] = dual(b[j+nx],b[j+2*nx])*mreal(mm); } return 0; } @@ -695,7 +699,7 @@ gsl_dht_apply(dht,b,b+ny); for(j=0;j<ny;j++) b[j] = imag(a[i+nx*(j+ny*k)]); gsl_dht_apply(dht,b,b+2*ny); - for(j=0;j<ny;j++) a[i+nx*(j+ny*k)] = dual(b[j+ny],b[j+2*ny])*mm; + for(j=0;j<ny;j++) a[i+nx*(j+ny*k)] = dual(b[j+ny],b[j+2*ny])*mreal(mm); } return 0; } @@ -714,7 +718,7 @@ gsl_dht_apply(dht,b,b+nz); for(j=0;j<nz;j++) b[j] = imag(a[i+j*k]); gsl_dht_apply(dht,b,b+2*nz); - for(j=0;j<nz;j++) a[i+j*k] = dual(b[j+nz],b[j+2*nz])*mm; + for(j=0;j<nz;j++) a[i+j*k] = dual(b[j+nz],b[j+2*nz])*mreal(mm); } return 0; } @@ -767,7 +771,7 @@ { for(j=0;j<nx;j++) b[j] = a[j+nx*i]; gsl_dht_apply(dht,b,b+nx); - for(j=0;j<nx;j++) a[j+nx*i] = b[j+nx]*mm; + for(j=0;j<nx;j++) a[j+nx*i] = b[j+nx]*mreal(mm); } return 0; } @@ -785,7 +789,7 @@ i = ii%nx; k = ii/nx; for(j=0;j<ny;j++) b[j] = a[i+nx*(j+ny*k)]; gsl_dht_apply(dht,b,b+ny); - for(j=0;j<ny;j++)a[i+nx*(j+ny*k)] = b[j+ny]*mm; + for(j=0;j<ny;j++)a[i+nx*(j+ny*k)] = b[j+ny]*mreal(mm); } return 0; } @@ -802,7 +806,7 @@ { for(j=0;j<nz;j++) b[j] = a[i+j*k]; gsl_dht_apply(dht,b,b+nz); - for(j=0;j<nz;j++) a[i+j*k] = b[j+nz]*mm; + for(j=0;j<nz;j++) a[i+j*k] = b[j+nz]*mreal(mm); } return 0; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mathgl-2.1.3/src/font.cpp new/mathgl-2.1.3.1/src/font.cpp --- old/mathgl-2.1.3/src/font.cpp 2013-05-02 14:33:06.000000000 +0200 +++ new/mathgl-2.1.3.1/src/font.cpp 2013-05-08 09:39:36.000000000 +0200 @@ -619,7 +619,7 @@ register long i,j,ch,retVal; fp = gzopen(fname,"r"); if(!fp) return false; // false if no file // first string is comment (not used), second string have information - if(!gzgets(fp,str,256) || !gzgets(fp,str,256)) + if(!gzgets(fp,str,256) || strncmp(str,"# font",6) || !gzgets(fp,str,256)) { gzclose(fp); return false; } retVal = sscanf(str, "%d%f%d", &n, ff, &s); //Check sscanf read all data (3 items) @@ -657,11 +657,11 @@ fp = gzopen(fname,"r"); if(!fp) return false; // this font must be in any case // first string is comment (not used), second string have information - if(!gzgets(fp,str,256) || !gzgets(fp,str,256)) + if(!gzgets(fp,str,256) || strncmp(str,"# font",6) || !gzgets(fp,str,256)) { gzclose(fp); return false; } sscanf(str, "%u%f%u", &numg, fact, &s); fact[1] = fact[2] = fact[3] = fact[0]; // copy default factor for other font styles; - Buf = (short *)malloc(s*sizeof(short)); // prealocate buffer + Buf = (short *)malloc(s*sizeof(short)); // preallocate buffer memset(Buf,0,s*sizeof(short)); if(!Buf) { gzclose(fp); numg=0; return false; } // now allocate memory for all fonts diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mathgl-2.1.3/src/pde.cpp new/mathgl-2.1.3.1/src/pde.cpp --- old/mathgl-2.1.3/src/pde.cpp 2013-05-02 14:33:06.000000000 +0200 +++ new/mathgl-2.1.3.1/src/pde.cpp 2013-05-08 09:39:36.000000000 +0200 @@ -176,7 +176,7 @@ if(tmax<dt) return res; // nothing to do int nt = int(tmax/dt)+1; mgl_data_create(res,n,nt,1); - mreal x[n], k1[n], k2[n], k3[n], v[n], hh=dt/2; + mreal *x=new mreal[n], *k1=new mreal[n], *k2=new mreal[n], *k3=new mreal[n], *v=new mreal[n], hh=dt/2; register long i,k; // initial conditions for(i=0;i<n;i++) x[i] = res->a[i] = x0[i]; @@ -192,6 +192,7 @@ func(v,k2,par); for(i=0;i<n;i++) res->a[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> <canvas id="canvas" width="800" height="600" - style="border:1px solid #d3d3d3;" onmousemove="mglMouseMove()" - onmousedown="mglMouseDown()" onmouseup="mglMouseUp()" - onmouseout="mglMouseUp()" onmousewheel="mglMouseWheel()" - ondblclick="mglRestore()"></canvas> + style="border:1px solid #d3d3d3;" onmousemove="mglMouseMove(event)" + onmousedown="mglMouseDown(event)" onmouseup="mglMouseUp(event)" + onmouseout="mglMouseUp(event)" onmousewheel="mglMouseWheel(event)" + ondblclick="mglRestore(event)"></canvas> </center> <p id="time"></p> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mathgl-2.1.3/texinfo/mathgl.js new/mathgl-2.1.3.1/texinfo/mathgl.js --- old/mathgl-2.1.3/texinfo/mathgl.js 2013-05-02 14:34:16.000000000 +0200 +++ new/mathgl-2.1.3.1/texinfo/mathgl.js 2013-05-08 09:39:44.000000000 +0200 @@ -52,17 +52,17 @@ { obj.button = 0; obj.good = 0; ctx.clearRect(0,0,obj.width,obj.height); mgl_draw_good(obj, ctx); } -var mglMouseDown = function() +var mglMouseDown = function(event) { obj.good = 1; - obj.mouseX = window.event.clientX; - obj.mouseY = window.event.clientY; - obj.button = window.event.button+1; + obj.mouseX = event.clientX; + obj.mouseY = event.clientY; + obj.button = event.button+1; } -var mglMouseMove = function() +var mglMouseMove = function(event) { - var x = window.event.clientX-obj.mouseX; - var y = window.event.clientY-obj.mouseY; + var x = event.clientX-obj.mouseX; + var y = event.clientY-obj.mouseY; switch(obj.button) { case 1: // rotate @@ -80,16 +80,10 @@ mgl_draw(obj, ctx); } } -var mglMouseWheel = function() +var mglMouseWheel = function(event) { - var e = window.event; - var d = e.wheelDelta? e.wheelDelta:e.detail*(-120); - -/* var x = window.event.clientX; - var y = obj.height-window.event.clientY; - mgl_shift_down(obj, -y/obj.height); - mgl_shift_right(obj, x/obj.width);*/ - +// var e = window.event; + var d = event.wheelDelta? event.wheelDelta:event.detail*(-120); mgl_zoom_in(obj, Math.pow(1.002,d)); mgl_draw(obj, ctx); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mathgl-2.1.3/todo.txt new/mathgl-2.1.3.1/todo.txt --- old/mathgl-2.1.3/todo.txt 2013-05-02 14:32:32.000000000 +0200 +++ new/mathgl-2.1.3.1/todo.txt 2013-05-08 09:39:45.000000000 +0200 @@ -34,6 +34,7 @@ 15. Check samples: colorbar 16. Add samples about data handling (data1, data2, data2) +17. Add "Triangulation sample" 20. JS rotation in Firefox 23. check if all "value" options are described -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org