00001 /* 00002 This file is part of matfile. 00003 00004 Copyright (C) 2010-2011 Andrea Arteaga <arteagaa@student.ethz.ch> 00005 00006 matfile is free software: you can redistribute it and/or modify 00007 it under the terms of the GNU Lesser General Public License as published 00008 by the Free Software Foundation, either version 3 of the License, or 00009 (at your option) any later version. 00010 00011 matfile is distributed in the hope that it will be useful, 00012 but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 GNU Lesser General Public License for more details. 00015 00016 You should have received a copy of the GNU Lesser General Public License 00017 along with matfile. If not, see <http://www.gnu.org/licenses/>. 00018 */ 00019 00020 #ifndef TYPES_HPP 00021 #define TYPES_HPP 00022 00023 typedef char byte; 00024 00025 typedef signed char miINT8_t; 00026 typedef unsigned char miUINT8_t; 00027 typedef int16_t miINT16_t; 00028 typedef uint16_t miUINT16_t; 00029 typedef int32_t miINT32_t; 00030 typedef uint32_t miUINT32_t; 00031 typedef int64_t miINT64_t; 00032 typedef uint64_t miUINT64_t; 00033 typedef float miSINGLE_t; 00034 typedef double miDOUBLE_t; 00035 00036 00037 typedef miINT32_t MATtype; 00038 const miINT32_t miINT8 = 1; 00039 const miINT32_t miUINT8 = 2; 00040 const miINT32_t miINT16 = 3; 00041 const miINT32_t miUINT16 = 4; 00042 const miINT32_t miINT32 = 5; 00043 const miINT32_t miUINT32 = 6; 00044 const miINT32_t miSINGLE = 7; 00045 const miINT32_t miDOUBLE = 9; 00046 const miINT32_t miINT64 = 12; 00047 const miINT32_t miUINT64 = 13; 00048 const miINT32_t miMATRIX = 14; 00049 const miINT32_t miCOMPRESSED = 15; 00050 const miINT32_t miUTF8 = 16; 00051 const miINT32_t miUTF16 = 17; 00052 const miINT32_t miUTF32 = 18; 00053 00054 00055 00056 00057 typedef miINT32_t miMATRIX_class; 00058 const miINT32_t mxCELL_CLASS = 1; 00059 const miINT32_t mxSTRUCT_CLASS = 2; 00060 const miINT32_t mxOBJECT_CLASS = 3; 00061 const miINT32_t mxCHAR_CLASS = 4; 00062 const miINT32_t mxSPARSE_CLASS = 5; 00063 const miINT32_t mxDOUBLE_CLASS = 6; 00064 const miINT32_t mxSINGLE_CLASS = 7; 00065 const miINT32_t mxINT8_CLASS = 8; 00066 const miINT32_t mxUINT8_CLASS = 9; 00067 const miINT32_t mxINT16_CLASS = 10; 00068 const miINT32_t mxUINT16_CLASS = 11; 00069 const miINT32_t mxINT32_CLASS = 12; 00070 const miINT32_t mxUINT32_CLASS = 13; 00071 00072 00073 /* Wrappers */ 00074 struct CWiseDenseWrapper; 00075 struct ArrayDenseWrapper; 00076 00077 struct ArraySparseWrapper; 00078 00079 00080 #endif //TYPES_HPP