/* ====================== piro_band_lapack_main.c ========================== */

/* -----------------------------------------------------------------------------
 * PIRO_BAND.  Version 0.9.
 * Copyright (C) 2009, Sivasankaran Rajamanickam, Timothy A. Davis.
 * PIRO_BAND is licensed under Version 2.0 of the GNU
 * General Public License.  See gpl.txt for a text of the license.
 * PIRO_BAND is also available under other licenses; contact authors for 
 * details. http://www.cise.ufl.edu/research/sparse
 * -------------------------------------------------------------------------- */

/* 
 * Includes all 8 possible versions of piro_band_lapack methods. All the
 * functions depend only on the macro LONG and not on COMPLEX or FLOAT. 
 * piro_band_lapack.c is included once for the integer and once for long case. 
 * But all the 8 possible prototypes for the functions are included so they can
 * be used.
 * 
 *  */

/* ------------------------ Double  ---------------------------------------- */
#include "piro_band_internal.h"

#define COMPLEX      /* dci */
#include "piro_band_internal.h"
#undef COMPLEX
/* Introduce a new typedef for uv_update by undefining L_UV for the long case
 * of U and V update
 * */
#undef L_UV

#define LONG         /* drl */
#include "piro_band_internal.h"

#define COMPLEX      /* dcl */
#include "piro_band_internal.h"
#undef COMPLEX
#undef LONG

/* ------------------------ Single  ---------------------------------------- */
#define FLOAT         /* sri */
#include "piro_band_internal.h"

#define COMPLEX       /* sci */
#include "piro_band_internal.h"
#include "piro_band_lapack.c" /* int lapack */
#undef COMPLEX

#define LONG          /* srl */
#include "piro_band_internal.h"
#undef PIRO_BAND_BLOCKSIZE_H

#define COMPLEX       /* scl */
#include "piro_band_internal.h"
#include "piro_band_lapack.c" /* long lapack */
#undef COMPLEX    
#undef LONG
#undef FLOAT

