/[escript]/trunk/paso/src/BlockOps.h
ViewVC logotype

Diff of /trunk/paso/src/BlockOps.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3097 by gross, Fri Aug 20 04:59:12 2010 UTC revision 3098 by gross, Fri Aug 20 08:08:27 2010 UTC
# Line 62  INLINE void Paso_BlockOps_MV_2(double* R Line 62  INLINE void Paso_BlockOps_MV_2(double* R
62  }  }
63    
64    
65  INLINE void Paso_BlockOps_MV_3(double* R, const double* MAT, const double* V)    INLINE void Paso_BlockOps_MV_3(double* R, const double* MAT, const double* V)
66  {  {
67     register double S1=V[0];     register double S1=V[0];
68     register double S2=V[1];     register double S2=V[1];
# Line 82  INLINE void Paso_BlockOps_MV_3(double* R Line 82  INLINE void Paso_BlockOps_MV_3(double* R
82  }  }
83    
84  /* this does not work in place */  /* this does not work in place */
85  INLINE void Paso_BlockOps_MV_N(const dim_t N, double* R, const double* MAT, const double* V)    INLINE void Paso_BlockOps_MV_N(const dim_t N, double* R, const double* MAT, const double* V)
86  {  {
87     dim_t p,q;     dim_t p,q;
88     for (p=0; p<N; p++ ) {                                   for (p=0; p<N; p++ ) {                              
# Line 97  INLINE void Paso_BlockOps_Solve_N(const Line 97  INLINE void Paso_BlockOps_Solve_N(const
97     Paso_setError(TYPE_ERROR, "Paso_BlockOps_Solve_N: Right now there is support block size less than 4 only");       Paso_setError(TYPE_ERROR, "Paso_BlockOps_Solve_N: Right now there is support block size less than 4 only");  
98  }  }
99    
100  INLINE void Paso_BlockOps_SMV_1(double* R, const double* MAT, const double* V)    INLINE void Paso_BlockOps_SMV_1(double* R, const double* MAT, const double* V)  
101  {  {
102     register double S1=V[0];     register double S1=V[0];
103     register double A11=MAT[0];     register double A11=MAT[0];
104     R[0]-=A11 * S1;     R[0]-=A11 * S1;
105  }  }
106    
107  INLINE void Paso_BlockOps_SMV_2(double* R, const double* MAT, const double* V)    INLINE void Paso_BlockOps_SMV_2(double* R, const double* MAT, const double* V)
108  {  {
109     register double S1=V[0];     register double S1=V[0];
110     register double S2=V[1];     register double S2=V[1];
# Line 136  INLINE void Paso_BlockOps_SMV_3(double* Line 136  INLINE void Paso_BlockOps_SMV_3(double*
136  }  }
137    
138  /* this does not work in place */  /* this does not work in place */
139  INLINE void Paso_BlockOps_SMV_N(const dim_t N, double* R, const double* MAT, const double* V)    INLINE void Paso_BlockOps_SMV_N(const dim_t N, double* R, const double* MAT, const double* V)  
140  {  {
141     dim_t p,q;     dim_t p,q;
142     for (p=0; p<N; p++ ) {                                   for (p=0; p<N; p++ ) {                              

Legend:
Removed from v.3097  
changed lines
  Added in v.3098

  ViewVC Help
Powered by ViewVC 1.1.26