1
      2
      3
      4
      5
      6
      7
      8
<doc  9
     10
     11

     12
<doc 13
     14
     15

     16
<doc 17
     18
     19

     20
     21
<doc 22
     23
     24
     25

     26
<doc 27
     28
     29
     30

     31
<doc 32
     33
     34
     35

     36
     37
     38
     39
#ifndef FLENS_AUXILIARY_CXXF77BLAS_H
#define FLENS_AUXILIARY_CXXF77BLAS_H 1

#include <flens/typedefs.h>
#include <type_traits>

namespace flens { namespace cxxf77blas {

template <typename ENUM>
    typename std::enable_if<std::is_same<ENUM,Transpose>::value, char>::type
    getF77BlasChar(ENUM trans);

template <typename ENUM>
    typename std::enable_if<std::is_same<ENUM,Diag>::value, char>::type
    getF77BlasChar(ENUM diag);

template <typename ENUM>
    typename std::enable_if<std::is_same<ENUM,StorageUpLo>::value, char>::type
    getF77BlasChar(ENUM upLo);

//------------------------------------------------------------------------------
template <typename ENUM>
    typename std::enable_if<std::is_same<ENUM,Transpose>::value,
                            Transpose>::type
    getCxxBlasEnum(char trans);

template <typename ENUM>
    typename std::enable_if<std::is_same<ENUM,Diag>::value,
                            Diag>::type
    getCxxBlasEnum(char diag);

template <typename ENUM>
    typename std::enable_if<std::is_same<ENUM,StorageUpLo>::value,
                           StorageUpLo>::type
    getCxxBlasEnum(char upLo);

} } // namespace cxxf77blas, flens

#endif // FLENS_AUXILIARY_CXXF77BLAS_H