There have been some posts about Ada example 19 (both x19a.adb and  
xthick19a.adb) causing problems, possibly on 64-bit systems but not  
32-bit systems.

Fortunately, example 19 is short.

Unfortunately, example 19 runs fine on my machine, OS X.

Could someone send me detailed info about what happens? On 7/18/08,  
Alan indicated this runtime error:

     raised STORAGE_ERROR : stack overflow (or erroneous memory access)

This is an Ada exception being raised. Was there a line number  
associated with this output?

I would like to try to find, as exactly as possible, where this  
problem is arising. Toward that end, I can supply shortened versions  
of example 19 with some lines deleted, until we get a version that  
runs OK. OTOH, the editing might be easier for someone with a 64-bit  
box to do. Ada comments are everything on a line following two  
dashes, --. Here is an example of what I would try first. Note that I  
have only deleted only the last two calls that create the "northern  
view" of the map, leaving the others intact.

Jerry


..... Preliminary Stuff ....., then this...

procedure x19a is
     minx, maxx, miny, maxy : Long_Float;

     procedure mapform19(n : Integer; x, y : in out Real_Vector);
     pragma Convention(C, mapform19);

     procedure mapform19(n : Integer; x, y : in out Real_Vector) is
         xp, yp, radius : Long_Float;
     begin
         for i in 0 .. n - 1 loop
             radius := 90.0 - y(i);
             xp := radius * cos(x(i) * pi / 180.0);
             yp := radius * sin(x(i) * pi / 180.0);
             x(i) := xp;
             y(i) := yp;
         end loop;
     end mapform19;

begin

     -- Parse and process command line arguments
     plparseopts(PL_PARSE_FULL);

     plinit;

     -- Longitude (x) and latitude (y)
     miny := -70.0;
     maxy := 80.0;

     -- Cartesian plots
     -- Most of world
     minx := 190.0;
     maxx := 190.0 + 360.0;

     plcol0(1);
     plenv(minx, maxx, miny, maxy, 1, -1);
     plmap(null, USA_States_and_Continents, minx, maxx, miny, maxy);

     -- The Americas
     minx := 190.0;
     maxx := 340.0;

     plcol0(1);
     plenv(minx, maxx, miny, maxy, 1, -1);
     plmap(null, USA_States_and_Continents, minx, maxx, miny, maxy);

     plend;
end x19a;


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to