[Insight-developers] SHAMEFULLY UNCOVERED FILE OF THE WEEK: Insight/Code/Numerics/FEM/dsrc2c.c : Search for a Guru
Luis Ibanez
luis.ibanez at kitware.com
Thu Feb 19 14:26:58 EST 2009
Hi Bill,
Thanks for the hint.
I end up adding a second test for the two methods #5 and #6.
They are now solving a trivial linear system.
The process uncovered a bug in the computation of the size
required for the workspace to be passed to the FORTRAN
routines
rscg_
rssi_
The fix has been committed and the six test are now passing.
The bad news:
This still leaves about half of the evil dsrc2.c file uncovered.
The good news:
Attacking this file already gave us 1% up on coverage for the
entire toolkit :-)
There are big chunks of unused code in the dsrc2.c file,
I would suggest to remove the unused functions from it.
Luis
---------------------
Bill Lorensen wrote:
> Luis,
>
> This test was running each method before your changes. These are done
> at the end of the original test. I think the reason they are failing
> now, is because with your changes, the methods are invoked before the
> matrix, vector and solution are initialized. If you move the method
> invocation after the initialization code, the test passes. However,
> since all 7 methods were already being run, the coverage does not
> improve.
>
> I suspect that part of the low coverage is because we only test
> symmetric solutions.
>
> I am checking in the test with the redundant method tests placed in
> the proper location.
>
> Bill
>
> On Tue, Feb 17, 2009 at 11:33 PM, Luis Ibanez <luis.ibanez at kitware.com> wrote:
>
>>In order to increase coverage for the dsrc2c.c file,
>>tests were added to the class
>>
>> itkFEMinearSystemWrapperItpack
>>
>>This class provides several methods to be used for solving
>>the linear system.
>>
>>They are selected with the "m_Method" variable, as:
>>
>> 0: JacobianConjugateGradient()
>> 1: JacobianSemiIterative()
>> 2; SuccessiveOverrelaxation()
>> 3: SymmetricSuccessiveOverrelaxationConjugateGradient()
>> 4: SymmetricSuccessiveOverrelaxationSuccessiveOverrelaxation()
>> 5: ReducedSystemConjugateGradient()
>> 6: ReducedSystemSemiIteration()
>>
>>
>>When re-running the current test with each one of these methods,
>>the following two fail by throwing an exception:
>>
>> 5: ReducedSystemConjugateGradient()
>> 6: ReducedSystemSemiIteration()
>>
>>
>> Could a LinearSystemSolver-Guru help us here ?
>>
>>
>>Could you tell us if the current test is suitable for these
>>two methods ?
>>
>>and if not,
>>Could you suggest another test that will be suitable ?
>>
>>
>> Thanks for any hint,
>>
>>
>> Luis
>>
>>
>>-----------------
>>Luis Ibanez wrote:
>>
>>>The price of the
>>>
>>>
>>> "SHAMEFULLY UNCOVERED FILE OF THE WEEK"
>>>
>>>
>>>goes to the file:
>>>
>>>
>>> Insight/Code/Numerics/FEM/dsrc2c.c
>>>
>>>http://www.cdash.org/CDash/viewCoverageFile.php?buildid=273257&fileid=4777
>>>
>>> with
>>>
>>> 2,283 lines uncovered,
>>>
>>>
>>> for a total of
>>>
>>>
>>> 79% uncovered lines.
>>>
>>>
>>>This file will be subject to special treatment
>>>in the following days.
>>>
>>>
>>>
>>> Luis
>>>
>>>
>>>
>>
>>_______________________________________________
>>Powered by www.kitware.com
>>
>>Visit other Kitware open-source projects at
>>http://www.kitware.com/opensource/opensource.html
>>
>>Please keep messages on-topic and check the ITK FAQ at:
>>http://www.itk.org/Wiki/ITK_FAQ
>>
>>Follow this link to subscribe/unsubscribe:
>>http://www.itk.org/mailman/listinfo/insight-developers
>>
>
>
More information about the Insight-developers
mailing list