/*

    Copyright (C) 2014, The University of Texas at Austin

    This file is part of libflame and is available under the 3-Clause
    BSD license, which can be found in the LICENSE file at the top-level
    directory, or at http://opensource.org/licenses/BSD-3-Clause

*/

#ifndef FLA_EXTERN_DEFS_H
#define FLA_EXTERN_DEFS_H

extern FLA_Obj FLA_THREE;
extern FLA_Obj FLA_TWO;
extern FLA_Obj FLA_ONE;
extern FLA_Obj FLA_ONE_HALF;
extern FLA_Obj FLA_ZERO;
extern FLA_Obj FLA_MINUS_ONE_HALF;
extern FLA_Obj FLA_MINUS_ONE;
extern FLA_Obj FLA_MINUS_TWO;
extern FLA_Obj FLA_MINUS_THREE;

extern FLA_Obj FLA_EPSILON;
extern FLA_Obj FLA_SAFE_MIN;
extern FLA_Obj FLA_SAFE_MIN_SQUARE;
extern FLA_Obj FLA_SAFE_INV_MIN;
extern FLA_Obj FLA_SAFE_INV_MIN_SQUARE;
extern FLA_Obj FLA_UNDERFLOW_THRES;
extern FLA_Obj FLA_OVERFLOW_THRES;
extern FLA_Obj FLA_UNDERFLOW_SQUARE_THRES;
extern FLA_Obj FLA_OVERFLOW_SQUARE_THRES;

extern const float    fzero;
extern const double   dzero;
extern const scomplex czero;
extern const dcomplex zzero;

#endif

