
/*******************************************************************************
*
* File sap_gcr.h
*
* Copyright (C) 2005 Martin Luescher
*
* This software is distributed under the terms of the GNU General Public
* License (GPL)
*
*******************************************************************************/

#ifndef SAP_GCR_H
#define SAP_GCR_H

#ifndef BLOCK_H
#include "block.h"
#endif

#ifndef BLK_SOLV_C
extern void blk_mres(block_t *b,int nmr);
#endif

#ifndef MSAP_C
void msap(int nmr,int isr,int isx);
void msap_ptr(int nmr, spinor *psr, spinor *psx);
void msap_gs_ptr(int nmr,spinor *psr,spinor *psx);
void ssap(int j, spinor *pr,spinor *pz,spinor *paz);
extern void free_msap_bufs(void);
#endif


double sap_gcr(int nmx,double res,int k,int l,int *status,int *ifail);
double sap_fgmres_dr(int nmx,int ndfl, double res,int k,int l,int *status,int *ifail);
double ssap_fgmres_dr(int nmx,int ndfl, double res,int k,int l,int *status,int *ifail);
double sap_cr_mix(int nmx, double res,int k,int l,int *status,int *ifail);


#endif

