I’ve checked in a first cut for a 0.7.9 release with lots of patches/bug-fixes/new code. I am planning to test the functionality over the next few days, and hopefully do an official Sourceforge release on Monday.
Risk Quantify is currently in the process of being moved to a subversion repository. You will be able to check-out the source using the command:
svn co https://riskquantify.svn.sourceforge.net/svnroot/riskquantify
I am also doing a lot of work cleaning out unused areas of the code, and integrating new code and patches prior to a 0.8 release.
I’ve created a page that contains information on creating and submitting patches. I’ve also created a mailing list on SourceForge that’s specifically for getting patches. Note that it will take between 6-12 hours for this mailing list to actually get created, so don’t submit any new patches until then! Also, please let me know if you find any errors in the information, or any updates that you think should be included.
Risk Quantify release 0.7.6 is downloadable from SourceForge. It has the following spiffy new features:
- Improvements to the red-black tree container class
- Generic iterator support for containers
- Filling out of the matrix functionality
- Development of a multi-factor monte carlo framework
- Poisson distribution random number generation
Please let me know if you find any problems with this release.
I added support to Risk Quantify to remove nodes from red-black trees. I also found that an in-order insertion into the red-black tree didn’t actually rebalance the tree, so I’ve fixed this bug as well. I’ve added a rq_tree_rb_size() function to get a count of the number of nodes in the tree.
I’ve created a file to test the new red-black tree functions, called test_tree_rb.c which is in the test/code directory. If you invoke it with an argument, you can get a prompt allowing you to test the functionality interactively. The test file is designed to fill the tree with integers, so if you are using it interactively; type in something like “a 1″ to add a node with the key “1″, “a 2″ will add a node with the key “2″, etc. “p” will print the current state of the tree. “r 2″ will remove the node with key 2 from the tree.
Please let me know if you find any problems with the implementation.
I added general iterator support to most of the container classes in Risk Quantify a few days ago. This will allow us to have generic functions that act on an iterator, which means we can easily change the underlying container classes without having to necessarily change functions that use those containers. Well, I was just adding generic iterator support to the rq_vector class that acts like an array of doubles, and realized that the rq_iterator_get_value() function isn’t really going to cut it for this class. If we do a cast from a double to a void * type, we could truncate the double and loose precision. Because of this, I’m going to change the generic iterator API slightly, so the get_value() function returns a rq_variant struct, allowing us to return doubles or void pointers (among other types).
I’ve upgraded Risk Quantify’s web/email servers. I’m still copying across the pages, but I should be finished by the end of today (Friday, Dec 30 2005). Sorry for any inconvenience!