Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project!

## [Plplot-cvs] SF.net SVN: plplot:[9497] trunk/examples/lua/x11.lua

 [Plplot-cvs] SF.net SVN: plplot:[9497] trunk/examples/lua/x11.lua From: - 2009-02-10 12:50:21 ```Revision: 9497 http://plplot.svn.sourceforge.net/plplot/?rev=9497&view=rev Author: smekal Date: 2009-02-10 12:50:17 +0000 (Tue, 10 Feb 2009) Log Message: ----------- Added code for bitwise or operator. Example 11 produces now correct output. Modified Paths: -------------- trunk/examples/lua/x11.lua Modified: trunk/examples/lua/x11.lua =================================================================== --- trunk/examples/lua/x11.lua 2009-02-10 08:49:52 UTC (rev 9496) +++ trunk/examples/lua/x11.lua 2009-02-10 12:50:17 UTC (rev 9497) @@ -37,6 +37,24 @@ "#frPLplot Example 11 - Alt=33, Az=24, Opt=3", "#frPLplot Example 11 - Alt=17, Az=115, Opt=3" } + +-- bitwise or operator from http://lua-users.org/wiki/BaseSixtyFour +-- (c) 2006-2008 by Alex Kloss +-- licensed under the terms of the LGPL2 + +-- return single bit (for OR) +function bit(x,b) + return (math.mod(x, 2^b) - math.mod(x,2^(b-1)) > 0) +end + +-- logic OR for number values +function lor(x,y) + result = 0 + for p=1,8 do result = result + (((bit(x,p) or bit(y,p)) == true) and 2^(p-1) or 0) end + return result +end + + function cmap1_init() i = { 0, 1 } -- left boundary , right boundary h = { 240, 0 } -- blue -> green -> yellow -> red @@ -47,6 +65,7 @@ pl.scmap1l(0, i, h, l, s, {0}) end + ---------------------------------------------------------------------------- -- main -- @@ -118,17 +137,17 @@ -- magnitude colored wireframe plot if i==2 then - pl.mesh(x, y, z, opt[k] or MAG_COLOR) + pl.mesh(x, y, z, lor(opt[k], pl.MAG_COLOR)) end -- magnitude colored wireframe plot with sides if i==3 then - pl.plot3d(x, y, z, opt[k] or MAG_COLOR, 1) + pl.plot3d(x, y, z, lor(opt[k], pl.MAG_COLOR), 1) end -- magnitude colored wireframe plot with base contour if i==4 then - pl.meshc(x, y, z, opt[k] or MAG_COLOR or BASE_CONT, clevel) + pl.meshc(x, y, z, lor(lor(opt[k], pl.MAG_COLOR), pl.BASE_CONT), clevel) end pl.col0(3) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ```

 [Plplot-cvs] SF.net SVN: plplot:[9396] trunk/examples/lua/x11.lua From: - 2009-01-26 21:09:15 ```Revision: 9396 http://plplot.svn.sourceforge.net/plplot/?rev=9396&view=rev Author: smekal Date: 2009-01-26 21:09:05 +0000 (Mon, 26 Jan 2009) Log Message: ----------- Finished porting example 11. Modified Paths: -------------- trunk/examples/lua/x11.lua Modified: trunk/examples/lua/x11.lua =================================================================== --- trunk/examples/lua/x11.lua 2009-01-26 20:58:13 UTC (rev 9395) +++ trunk/examples/lua/x11.lua 2009-01-26 21:09:05 UTC (rev 9396) @@ -1,4 +1,4 @@ -/* \$Id\$ +--[[ \$Id\$ Mesh plot demo. @@ -6,158 +6,143 @@ This file is part of PLplot. - PLplot is free software; you can redistribute it and/or modify + PLplot is free software you can redistribute it and/or modify it under the terms of the GNU General Library Public License as published - by the Free Software Foundation; either version 2 of the License, or + by the Free Software Foundation either version 2 of the License, or (at your option) any later version. PLplot is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of + but WITHOUT ANY WARRANTY without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License - along with PLplot; if not, write to the Free Software + along with PLplot if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ +--]] -#include "plcdemos.h" -#define XPTS 35 /* Data points in x */ -#define YPTS 46 /* Data points in y */ -#define LEVELS 10 +-- initialise Lua bindings to PLplot +if string.sub(_VERSION,1,7)=='Lua 5.0' then + lib=loadlib('./plplotluac.so','luaopen_plplotluac') or loadlib('plplotluac.dll','luaopen_plplotluac') + assert(lib)() +else + require('plplotluac') +end -static int opt[] = { DRAW_LINEXY, DRAW_LINEXY}; -static PLFLT alt[] = {33.0, 17.0}; -static PLFLT az[] = {24.0, 115.0}; +XPTS = 35 -- Data points in x +YPTS = 46 -- Data points in y +LEVELS = 10 -static char *title[4] = -{ - "#frPLplot Example 11 - Alt=33, Az=24, Opt=3", - "#frPLplot Example 11 - Alt=17, Az=115, Opt=3", -}; +opt = { pl.DRAW_LINEXY, pl.DRAW_LINEXY } -static void -cmap1_init() -{ - PLFLT i[2], h[2], l[2], s[2]; +alt = { 33, 17 } +az = { 24, 115 } - i[0] = 0.0; /* left boundary */ - i[1] = 1.0; /* right boundary */ +title = { + "#frPLplot Example 11 - Alt=33, Az=24, Opt=3", + "#frPLplot Example 11 - Alt=17, Az=115, Opt=3" } - h[0] = 240; /* blue -> green -> yellow -> */ - h[1] = 0; /* -> red */ +function cmap1_init() + i = { 0, 1 } -- left boundary , right boundary + h = { 240, 0 } -- blue -> green -> yellow -> red + l = { 0.6, 0.6 } + s = { 0.8, 0.8 } - l[0] = 0.6; - l[1] = 0.6; + pl.scmap1n(256) + pl.scmap1l(0, i, h, l, s, {0}) +end - s[0] = 0.8; - s[1] = 0.8; +---------------------------------------------------------------------------- +-- main +-- +-- Does a series of mesh plots for a given data set, with different +-- viewing options in each plot. +---------------------------------------------------------------------------- - plscmap1n(256); - c_plscmap1l(0, 2, i, h, l, s, NULL); -} +nlevel = LEVELS +clevel = {} -/*--------------------------------------------------------------------------*\ - * main - * - * Does a series of mesh plots for a given data set, with different - * viewing options in each plot. -\*--------------------------------------------------------------------------*/ +-- Parse and process command line arguments +pl.parseopts(arg, pl.PL_PARSE_FULL) -int -main(int argc, const char *argv[]) -{ - int i, j, k; - PLFLT *x, *y, **z; - PLFLT xx, yy; - int nlevel = LEVELS; - PLFLT clevel[LEVELS]; - PLFLT zmin, zmax, step; +-- Initialize plplot +pl.init() - /* Parse and process command line arguments */ +x = {} +y = {} +z = {} - (void) plparseopts(&argc, argv, PL_PARSE_FULL); +for i=1, XPTS do + x[i] = 3 * (i-1-math.floor(XPTS/2)) / math.floor(XPTS/2) +end - /* Initialize plplot */ +for i=1, YPTS do + y[i] = 3 * (i-1-math.floor(YPTS/2)) / math.floor(YPTS/2) +end - plinit(); +for i=1, XPTS do + xx = x[i] + z[i] = {} + for j=1, YPTS do + yy = y[j] + z[i][j] = 3 * (1-xx)^2 * math.exp(-xx^2 - (yy+1.)^2) - + 10 * (xx/5 - xx^3 - yy^5) * math.exp(-xx^2-yy^2) - + 1/3 * math.exp(-(xx+1)^2 - yy^2) + + -- Jungfraujoch/Interlaken + if false then + if z[i][j] < -1 then z[i][j] = -1 end + end + end +end - x = (PLFLT *) calloc(XPTS, sizeof(PLFLT)); - y = (PLFLT *) calloc(YPTS, sizeof(PLFLT)); +zmax, zmin = pl.MinMax2dGrid(z) +step = (zmax - zmin)/(nlevel+1) +for i=1, nlevel do + clevel[i] = zmin + step + step*(i-1) +end - plAlloc2dGrid(&z, XPTS, YPTS); - for (i = 0; i < XPTS; i++) { - x[i] = 3. * (double) (i - (XPTS / 2)) / (double) (XPTS / 2); - } +cmap1_init() +for k=1, 2 do + for i=1, 4 do + pl.adv(0) + pl.col0(1) + pl.vpor(0, 1, 0, 0.9) + pl.wind(-1, 1, -1, 1.5) + pl.w3d(1, 1, 1.2, -3, 3, -3, 3, zmin, zmax, alt[k], az[k]) + pl.box3("bnstu", "x axis", 0, 0, + "bnstu", "y axis", 0, 0, + "bcdmnstuv", "z axis", 0, 4) - for (i = 0; i < YPTS; i++) - y[i] = 3.* (double) (i - (YPTS / 2)) / (double) (YPTS / 2); + pl.col0(2) - for (i = 0; i < XPTS; i++) { - xx = x[i]; - for (j = 0; j < YPTS; j++) { - yy = y[j]; - z[i][j] = 3. * (1.-xx)*(1.-xx) * exp(-(xx*xx) - (yy+1.)*(yy+1.)) - - 10. * (xx/5. - pow(xx,3.) - pow(yy,5.)) * exp(-xx*xx-yy*yy) - - 1./3. * exp(-(xx+1)*(xx+1) - (yy*yy)); - - if(0) { /* Jungfraujoch/Interlaken */ - if (z[i][j] < -1.) - z[i][j] = -1.; - } - } - } + -- wireframe plot + if i==1 then + pl.mesh(x, y, z, opt[k]) + end - plMinMax2dGrid(z, XPTS, YPTS, &zmax, &zmin); - step = (zmax - zmin)/(nlevel+1); - for (i=0; i
 [Plplot-cvs] SF.net SVN: plplot:[9497] trunk/examples/lua/x11.lua From: - 2009-02-10 12:50:21 ```Revision: 9497 http://plplot.svn.sourceforge.net/plplot/?rev=9497&view=rev Author: smekal Date: 2009-02-10 12:50:17 +0000 (Tue, 10 Feb 2009) Log Message: ----------- Added code for bitwise or operator. Example 11 produces now correct output. Modified Paths: -------------- trunk/examples/lua/x11.lua Modified: trunk/examples/lua/x11.lua =================================================================== --- trunk/examples/lua/x11.lua 2009-02-10 08:49:52 UTC (rev 9496) +++ trunk/examples/lua/x11.lua 2009-02-10 12:50:17 UTC (rev 9497) @@ -37,6 +37,24 @@ "#frPLplot Example 11 - Alt=33, Az=24, Opt=3", "#frPLplot Example 11 - Alt=17, Az=115, Opt=3" } + +-- bitwise or operator from http://lua-users.org/wiki/BaseSixtyFour +-- (c) 2006-2008 by Alex Kloss +-- licensed under the terms of the LGPL2 + +-- return single bit (for OR) +function bit(x,b) + return (math.mod(x, 2^b) - math.mod(x,2^(b-1)) > 0) +end + +-- logic OR for number values +function lor(x,y) + result = 0 + for p=1,8 do result = result + (((bit(x,p) or bit(y,p)) == true) and 2^(p-1) or 0) end + return result +end + + function cmap1_init() i = { 0, 1 } -- left boundary , right boundary h = { 240, 0 } -- blue -> green -> yellow -> red @@ -47,6 +65,7 @@ pl.scmap1l(0, i, h, l, s, {0}) end + ---------------------------------------------------------------------------- -- main -- @@ -118,17 +137,17 @@ -- magnitude colored wireframe plot if i==2 then - pl.mesh(x, y, z, opt[k] or MAG_COLOR) + pl.mesh(x, y, z, lor(opt[k], pl.MAG_COLOR)) end -- magnitude colored wireframe plot with sides if i==3 then - pl.plot3d(x, y, z, opt[k] or MAG_COLOR, 1) + pl.plot3d(x, y, z, lor(opt[k], pl.MAG_COLOR), 1) end -- magnitude colored wireframe plot with base contour if i==4 then - pl.meshc(x, y, z, opt[k] or MAG_COLOR or BASE_CONT, clevel) + pl.meshc(x, y, z, lor(lor(opt[k], pl.MAG_COLOR), pl.BASE_CONT), clevel) end pl.col0(3) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ```