/* -*- C -*- */ /* * Copyright (c) 2003 Jindrich Novy (jnovy@users.sf.net) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ #ifndef FCE_C_INCLUDED #define FCE_C_INCLUDED 1 #include "fce_conf.h" #include "fce_base.c" #define PREFIXED(f) fce_##f #define _X(f) PREFIXED(f) enum { FCE_I8 = 1, FCE_I16 = 2, FCE_I32 = 3, FCE_I64 = 4, FCE_F32 = 5, FCE_F64 = 6, FCE_F80 = 7, FCE_F128 = 8 }; #define FCE_KSAMPLE float #define FCE_KSAMPLE_TYPE FCE_F32 #define Xk(f) X(f##_f32) #ifdef FCE_COMPILE_I8 # define FCE_SAMPLE unsigned char # define FCE_TYPE FCE_I8 # define FCE_COMPILING_I8 # define X(f) PREFIXED(f##_i8) # include "fce_core.c" # undef X # undef FCE_COMPILING_I8 # undef FCE_TYPE # undef FCE_SAMPLE #endif #ifdef FCE_COMPILE_I16 # define FCE_SAMPLE unsigned short # define FCE_TYPE FCE_I16 # define FCE_COMPILING_I16 # define X(f) PREFIXED(f##_i16) # include "fce_core.c" # undef X # undef FCE_COMPILING_I16 # undef FCE_TYPE # undef FCE_SAMPLE #endif #ifdef FCE_COMPILE_F32 # define FCE_SAMPLE float # define FCE_TYPE FCE_F32 # define FCE_COMPILING_F32 # define X(f) PREFIXED(f##_f32) # include "fce_core.c" # undef X # undef FCE_COMPILING_F32 # undef FCE_TYPE # undef FCE_SAMPLE #endif #endif