00001 /* 00002 * This file is part of the ESO SINFONI Pipeline 00003 * Copyright (C) 2004,2005 European Southern Observatory 00004 * 00005 * This program is free software; you can redistribute it and/or modify 00006 * it under the terms of the GNU General Public License as published by 00007 * the Free Software Foundation; either version 2 of the License, or 00008 * (at your option) any later version. 00009 * 00010 * This program is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 * GNU General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU General Public License 00016 * along with this program; if not, write to the Free Software 00017 * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA 00018 */ 00019 /*---------------------------------------------------------------------------- 00020 00021 File name : sinfo_local_types.h 00022 Author : Nicolas Devillard 00023 Created on : Nov 27, 1995 00024 Description : all shared local types for eclipse 00025 00026 ---------------------------------------------------------------------------*/ 00027 /*--------------------------------------------------------------------------- 00028 PUBLIC NOTICE AS REQUIRED BY LAW: Any use of this product, in any 00029 manner whatsoever, will increase the amount of disorder in the 00030 universe. Although no liability is implied herein, the consumer is 00031 warned that this process will ultimately lead to the heat death of the 00032 universe. 00033 ---------------------------------------------------------------------------*/ 00034 /* 00035 $Id: sinfo_local_types.h,v 1.4 2007/06/06 07:10:45 amodigli Exp $ 00036 $Author: amodigli $ 00037 $Date: 2007/06/06 07:10:45 $ 00038 $Revision: 1.4 $ 00039 */ 00040 00041 #ifndef SINFO_LOCAL_TYPES_H 00042 #define SINFO_LOCAL_TYPES_H 00043 /*---------------------------------------------------------------------------- 00044 Includes 00045 *--------------------------------------------------------------------------*/ 00046 /*---------------------------------------------------------------------------- 00047 Defines 00048 *--------------------------------------------------------------------------*/ 00049 00050 /*---------------------------------------------------------------------------- 00051 New types 00052 ---------------------------------------------------------------------------*/ 00053 /* 00054 * These types are defined for portability issues 00055 * On DEC-Alpha stations, long is 64 bits, but int is 32 00056 * We have to redefine all int values accordingly to ensure 00057 * portability! 00058 */ 00059 00060 #ifdef _DEC_ALPHA 00061 typedef unsigned int ulong32 ; 00062 typedef int long32 ; 00063 #else 00064 typedef unsigned long ulong32 ; 00065 typedef long long32 ; 00066 #endif 00067 00068 typedef unsigned short ushort16 ; 00069 typedef short short16 ; 00070 00071 typedef unsigned char uchar8 ; 00072 typedef char char8 ; 00073 00074 typedef unsigned char BYTE ; 00075 00076 /* defined in limits.h, redefined here for portability */ 00077 00078 #define LONG32_MIN (long32)(-2147483647-1) 00079 #define LONG32_MAX (long32)(2147483647) 00080 #define ULONG32_MAX (ulong32)(4294967295) 00081 00082 #define SHRT16_MIN (short16)(-32768) 00083 #define SHRT16_MAX (short16)(32767) 00084 #define USHRT16_MAX (ushort16)(65535) 00085 00086 typedef struct _DOUBLE_COMPLEX_ { 00087 double x, y ; 00088 } dcomplex ; 00089 00090 /*--------------------------------------------------------------------------*/ 00091 /* pixelvalue is the internal Pixel representation */ 00092 00093 #ifdef DOUBLEPIX 00094 typedef double pixelvalue ; 00095 #else 00096 typedef float pixelvalue ; 00097 #endif 00098 00099 00100 00101 /* 00102 * dpoint: useful to store point coordinates in double precision 00103 */ 00104 00105 typedef struct _DPOINT_ { 00106 double x ; 00107 double y ; 00108 } dpoint ; 00109 00110 00111 00112 00113 /*--------------------------------------------------------------------------*/ 00114 /* Pixel map */ 00115 00116 00117 typedef uchar8 binpix ; 00118 00119 typedef struct _PIXEL_MAP_ 00120 { 00121 int lx, ly ; 00122 int nbpix ; 00123 int ngoodpix ; 00124 binpix * data ; 00125 } pixel_map ; 00126 00127 00128 #define NullMap (pixel_map*)NULL 00129 00130 00131 #endif