|
From: <and...@us...> - 2008-08-13 12:04:49
|
Revision: 8637
http://plplot.svn.sourceforge.net/plplot/?rev=8637&view=rev
Author: andrewross
Date: 2008-08-13 12:04:56 +0000 (Wed, 13 Aug 2008)
Log Message:
-----------
Small modifications to example 21 to avoid rounding errors and produce
consistent results with different languages.
Modified Paths:
--------------
trunk/bindings/octave/demos/x21c.m
trunk/examples/ada/x21a.adb.cmake
trunk/examples/c/x21c.c
trunk/examples/c++/x21.cc
trunk/examples/f77/x21f.fm4
trunk/examples/f95/x21f.f90
trunk/examples/java/x21.java
Modified: trunk/bindings/octave/demos/x21c.m
===================================================================
--- trunk/bindings/octave/demos/x21c.m 2008-08-12 22:22:00 UTC (rev 8636)
+++ trunk/bindings/octave/demos/x21c.m 2008-08-13 12:04:56 UTC (rev 8637)
@@ -50,7 +50,7 @@
pts = 500;
xp = 25;
yp = 20;
- nl = 15;
+ nl = 16;
knn_order = 20;
threshold = 1.001;
wmin = -1e3;
@@ -147,13 +147,14 @@
lzM = max(max(zg));
lzm = min(min(zg));
+ lzm = min(lzm, zmin)-0.01;
+ lzM = max(lzM, zmax)+0.01;
+
plcol0(1);
pladv(alg);
if (k == 0)
- lzm = min(lzm, zmin);
- lzM = max(lzM, zmax);
i = (0:nl-1)';
clev = lzm + (lzM-lzm)/(nl-1)*i;
@@ -178,7 +179,7 @@
## plw3d(1., 1., 1., xm, xM, ym, yM, zmin, zmax, 30, -60);
##
- plw3d(1., 1., 1., xm, xM, ym, yM, lzm, lzM, 30, -40);
+ plw3d(1., 1., 1., xm, xM, ym, yM, lzm, lzM, 30., -40.);
plbox3("bntu", "X", 0.0, 0,
"bntu", "Y", 0.0, 0,
"bcdfntu", "Z", 0.5, 0);
Modified: trunk/examples/ada/x21a.adb.cmake
===================================================================
--- trunk/examples/ada/x21a.adb.cmake 2008-08-12 22:22:00 UTC (rev 8636)
+++ trunk/examples/ada/x21a.adb.cmake 2008-08-13 12:04:56 UTC (rev 8637)
@@ -59,7 +59,7 @@
pts : Integer := 500;
xp : Integer := 25;
yp : Integer := 20;
- nl : Integer := 15;
+ nl : Integer := 16;
knn_order : Integer := 20;
threshold : Long_Float := 1.001;
wmin : Long_Float := -1.0e3;
@@ -239,12 +239,16 @@
lzm := Matrix_Min(zg);
lzMM := Matrix_Max(zg);
+ lzm := Vector_Min((lzm, zmin));
+ lzMM := Vector_Max((lzMM, zmax));
+
+ lzm := lzm - 0.01;
+ lzMM := lzMM + 0.01;
+
plcol0(1);
pladv(alg);
if k = 0 then
- lzm := Vector_Min((lzm, zmin));
- lzMM := Vector_Max((lzMM, zmax));
for i in 0 .. nl - 1 loop
clev(i) := lzm + (lzMM - lzm) / Long_Float(nl-1) * Long_Float(i);
end loop;
Modified: trunk/examples/c/x21c.c
===================================================================
--- trunk/examples/c/x21c.c 2008-08-12 22:22:00 UTC (rev 8636)
+++ trunk/examples/c/x21c.c 2008-08-13 12:04:56 UTC (rev 8637)
@@ -37,7 +37,7 @@
static PLINT pts = 500;
static PLINT xp = 25;
static PLINT yp = 20;
-static PLINT nl = 15;
+static PLINT nl = 16;
static int knn_order = 20;
static PLFLT threshold = 1.001;
static PLFLT wmin = -1e3;
@@ -252,13 +252,20 @@
plMinMax2dGrid(zg, xp, yp, &lzM, &lzm);
+ lzm = MIN(lzm, zmin);
+ lzM = MAX(lzM, zmax);
+
+ /* Increase limits slightly to prevent spurious contours
+ due to rounding errors */
+ lzm = lzm-0.01;
+ lzM = lzM+0.01;
+
plcol0(1);
+
pladv(alg);
if (k == 0) {
- lzm = MIN(lzm, zmin);
- lzM = MAX(lzM, zmax);
for (i=0; i<nl; i++)
clev[i] = lzm + (lzM-lzm)/(nl-1)*i;
Modified: trunk/examples/c++/x21.cc
===================================================================
--- trunk/examples/c++/x21.cc 2008-08-12 22:22:00 UTC (rev 8636)
+++ trunk/examples/c++/x21.cc 2008-08-13 12:04:56 UTC (rev 8637)
@@ -84,7 +84,7 @@
PLINT x21::pts = 500;
PLINT x21::xp = 25;
PLINT x21::yp = 20;
-PLINT x21::nl = 15;
+PLINT x21::nl = 16;
PLINT x21::knn_order = 20;
PLFLT x21::threshold = 1.001;
PLFLT x21::wmin = -1e3;
@@ -272,13 +272,17 @@
pls->MinMax2dGrid(zg, xp, yp, &lzM, &lzm);
+ lzm = MIN(lzm, zmin);
+ lzM = MAX(lzM, zmax);
+
+ lzm = lzm-0.01;
+ lzM = lzM+0.01;
+
pls->col0(1);
pls->adv(alg);
if (k == 0) {
- lzm = MIN(lzm, zmin);
- lzM = MAX(lzM, zmax);
for (i=0; i<nl; i++)
clev[i] = lzm + (lzM-lzm)/(nl-1)*i;
@@ -304,7 +308,7 @@
* plw3d(1., 1., 1., xm, xM, ym, yM, zmin, zmax, 30, -60);
*/
- pls->w3d(1., 1., 1., xm, xM, ym, yM, lzm, lzM, 30, -40);
+ pls->w3d(1., 1., 1., xm, xM, ym, yM, lzm, lzM, 30., -40.);
pls->box3("bntu", "X", 0.0, 0,
"bntu", "Y", 0.0, 0,
"bcdfntu", "Z", 0.5, 0);
Modified: trunk/examples/f77/x21f.fm4
===================================================================
--- trunk/examples/f77/x21f.fm4 2008-08-12 22:22:00 UTC (rev 8636)
+++ trunk/examples/f77/x21f.fm4 2008-08-13 12:04:56 UTC (rev 8637)
@@ -53,7 +53,7 @@
parameter (pts = 500)
parameter (xp = 25)
parameter (yp = 20)
- parameter (nl = 15)
+ parameter (nl = 16)
parameter (knn_order = 20)
parameter (threshold = 1.001d0)
parameter (wmin = -1d3)
@@ -200,15 +200,19 @@
enddo
endif
- call a2mnmx(zg, xp, yp, lzmin, lzmax, xp);
+ call a2mnmx(zg, xp, yp, lzmin, lzmax, xp)
+ lzmin = min(lzmin, zmin)
+ lzmax = max(lzmax, zmax)
+
+ lzmin = lzmin - 0.01d0
+ lzmax = lzmax + 0.01d0
+
call plcol0(1)
call pladv(alg)
if (k.eq.1) then
- lzmin = min(lzmin, zmin)
- lzmax = max(lzmax, zmax)
do i=1,nl
clev(i) = lzmin + (lzmax-lzmin)/(nl-1.d0)*(i-1.d0);
enddo
Modified: trunk/examples/f95/x21f.f90
===================================================================
--- trunk/examples/f95/x21f.f90 2008-08-12 22:22:00 UTC (rev 8636)
+++ trunk/examples/f95/x21f.f90 2008-08-13 12:04:56 UTC (rev 8637)
@@ -48,7 +48,7 @@
parameter (pts = 500)
parameter (xp = 25)
parameter (yp = 20)
- parameter (nl = 15)
+ parameter (nl = 16)
parameter (knn_order = 20)
parameter (threshold = 1.001_plflt)
parameter (wmin = -1e3_plflt)
@@ -194,15 +194,19 @@
enddo
endif
- call a2mnmx(zg, xp, yp, lzmin, lzmax, xp);
+ call a2mnmx(zg, xp, yp, lzmin, lzmax, xp)
+ lzmin = min(lzmin, zmin)
+ lzmax = max(lzmax, zmax)
+
+ lzmin = lzmin - 0.01_plflt
+ lzmax = lzmax + 0.01_plflt
+
call plcol0(1)
call pladv(alg)
if (k.eq.1) then
- lzmin = min(lzmin, zmin)
- lzmax = max(lzmax, zmax)
do i=1,nl
clev(i) = lzmin + (lzmax-lzmin)/(nl-1._plflt)*(i-1._plflt);
enddo
Modified: trunk/examples/java/x21.java
===================================================================
--- trunk/examples/java/x21.java 2008-08-12 22:22:00 UTC (rev 8636)
+++ trunk/examples/java/x21.java 2008-08-13 12:04:56 UTC (rev 8637)
@@ -43,7 +43,7 @@
static int pts = 500;
static int xp = 25;
static int yp = 20;
- static int nl = 15;
+ static int nl = 16;
static int knn_order = 20;
static double threshold = 1.001;
static double wmin = -1e3;
@@ -102,7 +102,7 @@
// &nl,
// PL_OPT_INT,
// "-nlevel ",
- // "Specify number of contour levels [15]" },
+ // "Specify number of contour levels [16]" },
// {
// "knn_order",
// NULL,
@@ -254,14 +254,16 @@
lzm = new double[1];
lzM = new double[1];
pls.minMax2dGrid(zg, lzM, lzm);
+ lzm[0] = Math.min(lzm[0], zmin);
+ lzM[0] = Math.max(lzM[0], zmax);
+ lzm[0] = lzm[0] - 0.01;
+ lzM[0] = lzM[0] + 0.01;
pls.col0(1);
pls.adv(alg);
if (k == 0) {
- lzm[0] = Math.min(lzm[0], zmin);
- lzM[0] = Math.max(lzM[0], zmax);
for (i=0; i<nl; i++)
clev[i] = lzm[0] + (lzM[0]-lzm[0])/(nl-1)*i;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|