How about just using the library suffix (e.g., psd.drv for the
double-precision version and ps.drv for the single precision version)
instead on all dynamically loadable *.drv files? Such a division of library
names seems to work well for our libraries so it shouldn't be that difficult
to extend it to the *.drv files. I believe such a solution should be a lot
simpler to maintain than rules about library function arguments.
phone: 250-727-2902 FAX: 250-721-7715
Dr. Alan W. Irwin
Department of Physics and Astronomy,
University of Victoria, P.O. Box 3055,
Victoria, British Columbia, Canada, V8W 3P6
On Fri, 22 Feb 2002, Maurice LeBrun wrote:
> I recently ran into the following gotcha. I had an application that ran just
> fine in double precision, but after installing a new version of plplot with
> float precision, it broke. The reason: only one precision of dynamic drivers
> is built, and they're potentially being used in conjunction with both
> precision libraries. This is a real recipe for trouble.
> My immediate problem looks to occur in plbuf_swin, which I will fix. I'm also
> worried about any driver call to or from the plplot library that involves
> PLFLT's. Fortunately, there's not too many. For example, every driver
> calls plP_setpxl which passes PLFLT's on the stack. Since ANSI C is not
> supposed to auto promote to double, this could be trouble.
> A possible solution is:
> - drivers may only call internal plplot functions
> - those functions callable by drivers that use PLFLT's in the argument list
> be changed to use double instead.
> Maurice LeBrun mjl@...
> Plplot-devel mailing list