Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   Related Pages  

F4ThomasLS Class Reference

#include <F4ThomasLS.hpp>

Inheritance diagram for F4ThomasLS:

Inheritance graph
[legend]
Collaboration diagram for F4ThomasLS:

Collaboration graph
[legend]
List of all members.

Detailed Description

LU Tri Diagonal Linear Solver.

Author:
Bernard De Cuyper
Version:
0.05
Date:
27/08/2002
 
                        LU Tri diagonal solver
                        Used to solve a set of linearized differencial equations,....

                        Some restoration are of the style: A * iNew = iOld
                        iNew could be X, and iOld could be b.

                        Optimisations:
                        1) aligned 16 vectors + aligned moves movaps
                        2) reduction of cycles using recipocal+multiplication instead of division
                        3) reducing data in/out via combination of LR and forward substitution
                           this increase also computation complexity
                        Unsuccesfull optimisations
                        4) (Tried prefetch: no advantage (data too small?))
                        5) (Tried movntps: not good movaps is much better!!!) 

            Basic Memory Usage: 9*N
                

@ Copyrights: Bernard De Cuyper & Eddy Fraiha 2002, Eggs & Pictures. MIT/Open BSD copyright model.


Public Methods

 F4ThomasLS (int asize)
 F4ThomasLS (int asize, int lines)
virtual ~F4ThomasLS ()
virtual void loadA (F4TriDiagonalMatrix *m)
virtual void loadMatrix (Float4Vector *u1, Float4Vector *d1, Float4Vector *l1)
virtual void loadX (Float4Vector *data)
virtual void loadB (Float4Vector *data)
void solve ()
virtual void output ()
virtual void output (FILE *file)

Protected Methods

void computeLRdecomposition ()
 Equivalent to filter parametrisation.

void forwardSubstitution ()
 Equivalent to filter causal part.

void backwardSubstitution ()
 Equivalent to filter non-causal part.

void computeLR_forward ()
 Equivalent to filter parametrisation.


Private Attributes

Float4VectoruOut
Float4VectordOut
Float4VectorlOut
Float4Vectory


The documentation for this class was generated from the following files:
SourceForge.net Logo
Restoreinpaint sourceforge project `C++/Java Image Processing, Restoration, Inpainting Project'.

Bernard De Cuyper: Open Project Leader: Concept, design and development.
Bernard De Cuyper & Eddy Fraiha 2002, 2003. Bernard De Cuyper 2004. Open and free, for friendly usage only.
Modifications on Belgium ground of this piece of artistic work, by governement institutions or companies, must be notified to Bernard De Cuyper.
bern_bdc@hotmail.com