codewiz51, 2013/02/18 18:18
I added the VS 2012 version of the project to Github
.This is the home for my work on dcdflib.
This project involves porting the native C++ version (found here
) to a managed version that may be compiled using the /clr:safe compile option. The reference FORTRAN 90 source code is located here
I have added a file containing the original
documentation and legal information attached to the FORTRAN source code. You should carefully review the information in this file if you intend to utilize this software in a for profit
distribution. Download the legalities 7-zip file.Warranty and disclaimer: This work is a port of the original C++ native source code. I do not make any claims that the software is fit for any purpose. This work does not change any licensing or copyright claims made by the original authors. This work is made available as is. The author does not warranty the work performed here or the software source code provided in any way.Reference code:
I have created a Visual Studio project containing the original, native mode implementation of C++ code for DCDFLib. If you want to compare output and perform reference calculations, download the project here
.codewiz51, 2011/05/07 10:43 Release 1.8.0 of dcdflib.
This release removes the old test program. A unit test module has been added. In the course of expanding the unit tests, I've cleaned up some bugs in the code. I've managed to improve the code coverage of the unit testing to 63%. As is usual, the gamma functions and their inverses are the most difficult to cover properly. At this point, I am going to take a break from coding and complete the XML documentation of the library. (My vision has gone blurry trying to design unit tests that cover all code paths.)codewiz51, 2011/05/05 22:02
Here is the latest release of DCDFlib. This release completes the port of dcdflibTest to a unit test format. This will be the last release with an executable test program. I am a bit disappointed that the code coverage is so poor. Approximately 35% of the code in the library is not tested using the the unit test project. Generating improved code coverage will take some time, as I have to generate results from the original program in order to have comparison values. Determining the parameters necessary to travel a particular code path can be quite time consuming. Enjoy the code: dcdflibTest.220.127.116.11.7zcodewiz51, 2011/04/29 22:25
I am pleased to release version 18.104.22.168 of DCDFlib. This release completes the modernization of code for the managed C++ version of DCDFlib. There is only one method that I have not been able to remove all goto statements:
. I have started a unit test module, which is included in the solution. I have only completed two tests. Generating the unit tests is tedious. I have to execute code in the native C++ app, and record the results. I am reviewing each routine for if-then-else paths to make sure each path is executed. I have started XML documentation of all functions. Enjoy the code: DCDFlib 22.214.171.124codewiz51, 2011/02/20 20:49
I am about 90% complete with the modernization of the code. I am working with two routines that have proven very difficult to remove goto statements and labels. One routine in particular stubbornly hangs on to three labels. I can remove them, but the cost is a significant increase in code size. I am looking at placing the code in separate function calls. I should have a new release sometime in march.codewiz51, 2010/07/07 21:43
Release 126.96.36.199 of DCDFlib. I am a little over half way completed with the porting project. Click here to download.Administrator, 2008/10/19 10:31
I've added some discussion of how I am cleaning up labels left over from the old FORTRAN port to C++. Cleaning up labels and code flow
My original port of dcdflib and the test program to managed code: dcdflibTest-Rel.1.1.zipI would like to thank the faculty and staff at MD Anderson and University of Texas for making the source code for this library available. The source code may be downloaded here. I would also like to thank Dr. John D. Cook for his assistance, advice and encouragement in this work.