Develop and Download Open Source Software

Browse Subversion Repository

Diff of /Conograph/trunk/src/utility_lattice_reduction/matrix_NbyN.hh

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

revision 25 by rtomiyasu, Mon Jul 7 02:35:51 2014 UTC revision 33 by rtomiyasu, Wed Sep 7 04:38:51 2016 UTC
# Line 153  inline const NRMat<Int4>& put_reduction_ Line 153  inline const NRMat<Int4>& put_reduction_
153  {  {
154          assert( i < j );          assert( i < j );
155          assert( 3 <= ISIZE && ISIZE <= 4 );          assert( 3 <= ISIZE && ISIZE <= 4 );
         static const NRMat<Int4> trans_mat3[3]  
           = {  
                   put_reduct_mat(3, 0, 1),  
                   put_reduct_mat(3, 0, 2),  
                   put_reduct_mat(3, 1, 2),  
           };  
156    
157          static const NRMat<Int4> trans_mat4[6]          // 2014.11.6 VIC Tamura. (For programs compiled with Visual Studio C++)
158            = {          const NRMat<Int4>* trans_mat3;
159                    put_reduct_mat(4, 0, 1),          const NRMat<Int4>* trans_mat4;
160                    put_reduct_mat(4, 0, 2),  #ifdef _OPENMP
161                    put_reduct_mat(4, 0, 3),  #pragma omp critical
162                    put_reduct_mat(4, 1, 2),  #endif
163                    put_reduct_mat(4, 1, 3),  {
164                    put_reduct_mat(4, 2, 3)      static const NRMat<Int4> trans_mat3_[3]
165            };        = {
166            put_reduct_mat(3, 0, 1),
167            put_reduct_mat(3, 0, 2),
168            put_reduct_mat(3, 1, 2),
169        };
170        static const NRMat<Int4> trans_mat4_[6]
171          = {
172            put_reduct_mat(4, 0, 1),
173            put_reduct_mat(4, 0, 2),
174            put_reduct_mat(4, 0, 3),
175            put_reduct_mat(4, 1, 2),
176            put_reduct_mat(4, 1, 3),
177            put_reduct_mat(4, 2, 3)
178        };
179        trans_mat3 = trans_mat3_;
180        trans_mat4 = trans_mat4_;
181    }
182    
183          if( ISIZE == 3 ) return trans_mat3[ i*(3-i)/2 + j-1 ];          if( ISIZE == 3 ) return trans_mat3[ i*(3-i)/2 + j-1 ];
184          else return trans_mat4[ i*(5-i)/2 + j-1 ];          else return trans_mat4[ i*(5-i)/2 + j-1 ];

Legend:
Removed from v.25  
changed lines
  Added in v.33

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26