Updating to GCC 4+ and VS2008+


  • Anonymous

    I've been trying to use PNL 1.0 under both linux and Windows (W7).  There doesn't seem to be much interest here but if there is:

    I have had a number of problems which I've solved or am currently solving. My changes currently only affect BNet and JTree (cuz those are what I need at present). Some of the problems seen and corrected:

    1.  There were numerous compile errors/warnings generated under GCC. These I've corrected.
    2. The std::vector front() and back() with empty vectors generate exceptions under GCC. Corrected.
    3. VS2008 detected numerous memory leaks
       a. So many that at one point, I ran out of space for a moderately sized problem (23 nodes, 15000 cases).

       b. One that did manage to complete took 12+ hours to exit the debugger because of all of the messages.

       c. Most of the memory loss occurrs in the PNL Wrappers (PNL High). A lot are in the Token routines.

       d. The low level (non-Wrapper) routines are the most robust but even there some confusion of ownership of dynamic memory items exists.

    There are a number of minor problems (bad spelling, bad English, etc.) that I'm slowly correcting as I encounter them (only if the module will be recompiled). The major of these is the horrible formatting. The code is very difficult to read.  I find it hard to believe that Intel coding standards required it. I further find it hard to believe it was such during development. More likely, it was done when placing the code in SourceForge. (* sigh *).

    I've kept the changes more or less private - meaning I have my own configuration control. I have not submitted any of these changes elsewhere. The changes required to fix the above are massive. I would feel more comfortable if they were peer reviewed. If anyone is interested let me know.

    As I said, I am currently only using BayesNets and JTrees. Many of the changes needed to overcome the above issues also need to be applied to rest of the code.

    Again, anyone interested my changes or in a collaboration let me know. Post here or send me email (davavra -at- gmail.com)