From 74b9f7cb88cd21cfac3c2e50c8efb802485df0c5 Mon Sep 17 00:00:00 2001 From: Determinant Date: Fri, 29 May 2015 23:06:58 +0800 Subject: init --- tnet_io/KaldiLib/Types.h | 78 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 tnet_io/KaldiLib/Types.h (limited to 'tnet_io/KaldiLib/Types.h') diff --git a/tnet_io/KaldiLib/Types.h b/tnet_io/KaldiLib/Types.h new file mode 100644 index 0000000..6a5bfac --- /dev/null +++ b/tnet_io/KaldiLib/Types.h @@ -0,0 +1,78 @@ +#ifndef TNet_Types_h +#define TNet_Types_h + +#ifdef HAVE_ATLAS +extern "C"{ + #include + #include +} +#endif + + +namespace TNet +{ + // TYPEDEFS .................................................................. +#if DOUBLEPRECISION + typedef double BaseFloat; +#else + typedef float BaseFloat; +#endif + +#ifndef UINT_16 + typedef unsigned short UINT_16 ; + typedef unsigned UINT_32 ; + typedef short INT_16 ; + typedef int INT_32 ; + typedef float FLOAT_32 ; + typedef double DOUBLE_64 ; +#endif + + + + // ........................................................................... + // The following declaration assumes that SSE instructions are enabled + // and that we are using GNU C/C++ compiler, which defines the __attribute__ + // notation. + // + // ENABLE_SSE is defined in . Its value depends on options given + // in the configure phase of builidng the library +#if defined(__GNUC__ ) + // vector of four single floats + typedef float v4sf __attribute__((vector_size(16))); + // vector of two single doubles + typedef double v2sd __attribute__((vector_size(16))); + + typedef BaseFloat BaseFloat16Aligned __attribute__((aligned(16))) ; + + typedef union + { + v4sf v; + float f[4]; + } f4vector; + + typedef union + { + v2sd v; + double f[2]; + } d2vector; +#endif // ENABLE_SSE && defined(__GNUC__ ) + + + + typedef enum + { +#ifdef HAVE_ATLAS + TRANS = CblasTrans, + NO_TRANS = CblasNoTrans +#else + TRANS = 'T', + NO_TRANS = 'N' +#endif + } MatrixTrasposeType; + + + +} // namespace TNet + +#endif // #ifndef TNet_Types_h + -- cgit v1.2.3-70-g09d2