Develop and Download Open Source Software

Browse Subversion Repository

Diff of /BLDConograph_ver1/trunk/src/utility_lattice_reduction/put_Buerger_reduced_lattice.hh

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

revision 31 by rtomiyasu, Fri Feb 21 01:47:53 2014 UTC revision 32 by rtomiyasu, Sat Aug 6 01:34:09 2016 UTC
# Line 397  inline Double operator/(const VCData& lh Line 397  inline Double operator/(const VCData& lh
397  }  }
398    
399  template<class T>  template<class T>
400  void putBuergerReducedMonoclinicB(  bool putBuergerReducedMonoclinicB(
401                  const BravaisType& monoclinic_b_type,                  const BravaisType& monoclinic_b_type,
402                  SymMat<T>& S_red, NRMat<Int4>& trans_mat2)                  SymMat<T>& S_red, NRMat<Int4>& trans_mat2)
403  {  {
# Line 431  void putBuergerReducedMonoclinicB( Line 431  void putBuergerReducedMonoclinicB(
431                          const Int8 m2 = m1*2;                          const Int8 m2 = m1*2;
432    
433                          S_red( ibase_axis, ibase_axis ) += ( S_red( ir, ir ) * m2 - S_red( ibase_axis, ir ) * 2 ) * m2;                          S_red( ibase_axis, ibase_axis ) += ( S_red( ir, ir ) * m2 - S_red( ibase_axis, ir ) * 2 ) * m2;
434                          assert( !( S_red( ibase_axis, ibase_axis ) < zerro ) );                          if( S_red( ibase_axis, ibase_axis ) < zerro ) return false;
435                          S_red( ibase_axis, ir ) = S_red( ir, ir ) * m2 - S_red( ibase_axis, ir );                          S_red( ibase_axis, ir ) = S_red( ir, ir ) * m2 - S_red( ibase_axis, ir );
436    
437                          for(Int4 l=0; l<irow; l++)                          for(Int4 l=0; l<irow; l++)
# Line 453  void putBuergerReducedMonoclinicB( Line 453  void putBuergerReducedMonoclinicB(
453                          const Int8 n = iceil( S_red( ibase_axis, ir ) / S_red( ibase_axis, ibase_axis ) );                          const Int8 n = iceil( S_red( ibase_axis, ir ) / S_red( ibase_axis, ibase_axis ) );
454    
455                          S_red( ir, ir ) += ( S_red( ibase_axis, ibase_axis ) * n - S_red( ibase_axis, ir ) * 2 ) * n;                          S_red( ir, ir ) += ( S_red( ibase_axis, ibase_axis ) * n - S_red( ibase_axis, ir ) * 2 ) * n;
456                          assert( !( S_red( ir, ir ) < zerro ) );                          if(  S_red( ir, ir ) < zerro ) return false;
457                          S_red( ibase_axis, ir ) = S_red( ibase_axis, ibase_axis ) * n - S_red( ibase_axis, ir );                          S_red( ibase_axis, ir ) = S_red( ibase_axis, ibase_axis ) * n - S_red( ibase_axis, ir );
458    
459                          for(Int4 l=0; l<irow; l++)                          for(Int4 l=0; l<irow; l++)
# Line 467  void putBuergerReducedMonoclinicB( Line 467  void putBuergerReducedMonoclinicB(
467                  }                  }
468          }          }
469          while( S_red( ir, ir ) < S_red( ibase_axis, ir ) || S_red( ibase_axis, ibase_axis ) < S_red( ibase_axis, ir ) * 2 );          while( S_red( ir, ir ) < S_red( ibase_axis, ir ) || S_red( ibase_axis, ibase_axis ) < S_red( ibase_axis, ir ) * 2 );
470    
471            return true;
472  }  }
473    
474    

Legend:
Removed from v.31  
changed lines
  Added in v.32

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