asqtad_linop_s.cc

Go to the documentation of this file.
00001 // $Id: asqtad_linop_s.cc,v 3.2 2006/11/18 02:33:03 kostas Exp $
00002 /*! \file
00003  *  \brief Unpreconditioned Asqtad linear operator
00004  */
00005 // NEW $Id: asqtad_linop.cc 2003/11/13 steve
00006 
00007 #include "chromabase.h"
00008 #include "actions/ferm/linop/asqtad_linop_s.h"
00009 
00010 namespace Chroma 
00011 { 
00012   void AsqtadLinOp::evenOddLinOp(LatticeStaggeredFermion& chi, 
00013                                  const LatticeStaggeredFermion& psi, 
00014                                  enum PlusMinus isign) const
00015   {
00016     D.apply(chi, psi, isign, 0);
00017   }
00018 
00019   void AsqtadLinOp::oddEvenLinOp(LatticeStaggeredFermion& chi, 
00020                                  const LatticeStaggeredFermion& psi, 
00021                                  enum PlusMinus isign) const
00022   {
00023     D.apply(chi, psi, isign, 1);
00024   }
00025 
00026   //! Return flops performed by the operator()
00027   unsigned long AsqtadLinOp::nFlops() const
00028   {
00029     unsigned long cbsite_flops = 1146; // I think this is correct... see flop count in asq_dsl_s.cc
00030     return cbsite_flops*(Layout::sitesOnNode()/2);
00031   }
00032 
00033 } // End Namespace Chroma
00034 

Generated on Sun Nov 22 04:28:49 2009 for CHROMA by  doxygen 1.4.7