Image Component Library (ICL)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
BasicTypes.h
Go to the documentation of this file.
00001 /********************************************************************
00002 **                Image Component Library (ICL)                    **
00003 **                                                                 **
00004 ** Copyright (C) 2006-2013 CITEC, University of Bielefeld          **
00005 **                         Neuroinformatics Group                  **
00006 ** Website: www.iclcv.org and                                      **
00007 **          http://opensource.cit-ec.de/projects/icl               **
00008 **                                                                 **
00009 ** File   : ICLUtils/src/ICLUtils/BasicTypes.h                     **
00010 ** Module : ICLUtils                                               **
00011 ** Authors: Christof Elbrechter                                    **
00012 **                                                                 **
00013 **                                                                 **
00014 ** GNU LESSER GENERAL PUBLIC LICENSE                               **
00015 ** This file may be used under the terms of the GNU Lesser General **
00016 ** Public License version 3.0 as published by the                  **
00017 **                                                                 **
00018 ** Free Software Foundation and appearing in the file LICENSE.LGPL **
00019 ** included in the packaging of this file.  Please review the      **
00020 ** following information to ensure the license requirements will   **
00021 ** be met: http://www.gnu.org/licenses/lgpl-3.0.txt                **
00022 **                                                                 **
00023 ** The development of this software was supported by the           **
00024 ** Excellence Cluster EXC 277 Cognitive Interaction Technology.    **
00025 ** The Excellence Cluster EXC 277 is a grant of the Deutsche       **
00026 ** Forschungsgemeinschaft (DFG) in the context of the German       **
00027 ** Excellence Initiative.                                          **
00028 **                                                                 **
00029 ********************************************************************/
00030 
00031 #pragma once
00032 
00033 #include <ICLUtils/CompatMacros.h>
00034 #include <stdint.h>
00035 #include <complex>
00036 
00037 #ifdef ICL_HAVE_IPP
00038 #include <ipp.h>
00039 
00040 #if IPP_VERSION_MAJOR == 6
00041 #define ICL_HAVE_IPP_6X
00042 #endif
00043 
00044 #endif
00045 
00046 namespace icl {
00047   
00048   // here, we do not use an extra utils namespace
00049   
00050 #ifdef ICL_HAVE_IPP
00051 
00052   typedef Ipp64f icl64f;
00053   
00055   typedef Ipp32f icl32f;
00056   
00058   typedef Ipp32s icl32s;
00059   
00061   typedef Ipp16s icl16s;
00062   
00064   typedef Ipp8u icl8u;
00065   
00066 #else
00067 
00068   typedef double icl64f;
00069   
00071   typedef float icl32f;
00072   
00074   typedef int32_t icl32s;
00075   
00077   typedef int16_t icl16s;
00078   
00080   typedef uint8_t icl8u;
00081   
00082 #endif
00083   
00085   typedef int8_t icl8s;
00086 
00088   typedef uint32_t icl32u;
00089   
00091   typedef uint16_t icl16u;
00092 
00094   typedef int64_t icl64s;
00095 
00097   typedef uint64_t icl64u;
00098 
00100   typedef std::complex<icl32f> icl32c;
00101 
00103   typedef std::complex<icl64f> icl64c;
00104 
00105 }
00106 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines