From: Alan W. I. <ir...@be...> - 2002-02-23 17:01:06
|
On Sat, 23 Feb 2002, Maurice LeBrun wrote: > Alan W. Irwin writes: > > 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. > > My further investigation of this problem shows this to be in fact the only way > to solve it. The ultimate sticky point is the offset into the PLStream > structure by the pls pointer -- if the PLFLT defn's don't match up, it's > wrong. I don't see any way to solve this except dual precision drivers. I have looked further into the dual-precision driver solution. From the README.drivers commentary in drivers it should be fairly straightforward, but to keep a clean separation between single/double you will need drivers.db (filled with the single-precision names) and driversd.db (filled with the double-precision names). Currently, the only C-code references I can find to drivers.db is in plcore.c. Those will have to be replaced by a configured name of either drivers.db or driversd.db. Perhaps the easiest way to handle this is with a configured symbolic constant much like the way PLFLT itself is handled. Maurice, although I don't have a deep understanding of the way dynamic drivers are done, I think I could probably handle most of this fix myself if you don't have time to deal with it at the moment. Let me know what you decide. Alan |