/* * macros.h * * Written by: Ullrich Hafner * * This file is part of FIASCO (Fractal Image And Sequence COdec) * Copyright (C) 1994-2000 Ullrich Hafner */ /* * $Date: 2000/06/14 20:49:37 $ * $Author: hafner $ * $Revision: 5.1 $ * $State: Exp $ */ #ifndef _MACROS_H #define _MACROS_H #include /******************************************************************************* System configuration section *******************************************************************************/ #ifndef SEEK_CUR # define SEEK_CUR 1 #endif /* not SEEK_CUR */ /***************************************************************************** Various macros *****************************************************************************/ #define square(x) ((x) * (x)) #define first_band(color) ((unsigned) ((color) ? Y : GRAY)) #define last_band(color) ((unsigned) ((color) ? Cr : GRAY)) #define width_of_level(l) ((unsigned) (1 << ((l) >> 1))) #define height_of_level(l) ((unsigned) (1 << (((l) + 1) >> 1))) #define size_of_level(l) ((unsigned) (1 << (l))) #define address_of_level(l) ((unsigned) (size_of_level (l) - 1)) #define size_of_tree(l) ((unsigned) (address_of_level ((l) + 1))) #define is_odd(n) (abs (n) % 2) #define _(x) (x) #define MAXSTRLEN 1024 #define MAXSTRLEN_SCANF "%1024s" typedef enum color {GRAY = 0, Y = 0, Cb = 1, Cr = 2} color_e; #endif /* _MACROS_H */