43 #ifndef _IFPACK2_CONFIGDEFS_HPP_
44 #define _IFPACK2_CONFIGDEFS_HPP_
46 #include <Ifpack2_config.h>
47 #include <Teuchos_ScalarTraits.hpp>
48 #include <Tpetra_ConfigDefs.hpp>
52 template<
class Scalar>
53 typename Teuchos::ScalarTraits<Scalar>::magnitudeType
54 IFPACK2_SGN(
const Scalar& x)
56 typedef Teuchos::ScalarTraits<Scalar> STS;
57 typedef typename STS::magnitudeType magnitudeType;
58 static const magnitudeType one = STS::magnitude(STS::one());
59 return STS::real(x) > 0.0 ? magnitudeType(-one) : one;
65 typedef Tpetra::global_size_t global_size_t;