00001 #ifndef __SPLTDEF_H 00002 #define __SPLTDEF_H 00003 00004 /**********************************************************/ 00005 /*/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\*/ 00006 /* 00007 Copyright: 1994 - Grupo de Voz (DAET) ETSII/IT-Bilbao 00008 00009 Nombre fuente................ SPLTDEF.H 00010 Nombre paquete............... SPL 00011 Lenguaje fuente.............. C (Borland C/C++ 3.1) 00012 Estado....................... Completado 00013 Dependencia Hard/OS.......... definicion de tipos fundamentales 00014 Codigo condicional........... - 00015 00016 Codificacion................. Borja Etxebarria 00017 00018 Version dd/mm/aa Autor Proposito de la edicion 00019 ------- -------- -------- ----------------------- 00020 1.1.2 20/01/98 Borja soporte MSVC++ (complex) 00021 1.1.1 27/08/95 Borja derivacion de tdef.h 00022 1.1.0 08/12/94 Borja revision general (tipos,idx,nel,tnel...) 00023 1.0.0 06/12/94 Borja Codificacion inicial. 00024 00025 ======================== Contenido ======================== 00026 Definicion de tipos fundamentales para librerias SPL. 00027 00028 Por ejemplo: 00029 00030 SPL_PTR --> define el operador puntero (*) 00031 00032 SPL_INT --> tipo entero a utilizar en funciones SPL 00033 00034 SPL_pINT --> puntero a {SPL_INT} 00035 00036 Similar con SPL_FLOAT, SPL_VOID, etc. 00037 00038 En SPL se han usado asi los tipos: 00039 SPL_INT ..... entero con signo 00040 SPL_FLOAT ... valor real 00041 SPL_BOOL .... valor booleano (SPL_TRUE, SPL_FALSE) 00042 SPL_VOID .... nulo 00043 SPL_LONG .... entero extendido; solo se usa en aquellos 00044 . raros casos en que es MUY evidente que un 00045 . INT puede sufrir overflow. 00046 =========================================================== 00047 */ 00048 /*/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\*/ 00049 /**********************************************************/ 00050 00051 #include "tdef.h" 00052 00053 /**********************************************************/ 00054 00055 #define SPL_PTR PTR /* Definicion de un puntero */ 00056 00057 /**********************************************************/ 00058 /* Plantilla de definicion de un nuevo tipo SPL_NAME y puntero 00059 al tipo (SPL_pNAME) (array), para el tipo TYPE. */ 00060 00061 #define __SPL_TDEF(TYPE,NAME) \ 00062 typedef TYPE SPL_##NAME; \ 00063 typedef SPL_##NAME SPL_PTR SPL_p##NAME; 00064 00065 /**********************************************************/ 00066 00067 __SPL_TDEF(INT, INT); /* define SPL_INT, SPL_pINT */ 00068 __SPL_TDEF(DOUBLE, FLOAT); /* define SPL_FLOAT, SPL_pFLOAT */ 00069 __SPL_TDEF(BOOL, BOOL); 00070 __SPL_TDEF(VOID, VOID); 00071 __SPL_TDEF(LONG, LONG); 00072 00073 #ifdef __cplusplus 00074 __SPL_TDEF(COMPLEX, COMPLEX); /* define SPL_COMPLEX, SPL_pCOMPLEX */ 00075 #endif 00076 00077 /**********************************************************/ 00078 /* valores booleanos */ 00079 00080 #define SPL_FALSE FALSE 00081 #define SPL_TRUE TRUE 00082 00083 /**********************************************************/ 00084 00085 #endif 00086