/* timings.h - header file for timing information
 * $Id: timings.h,v 1.7 2005/05/08 23:51:41 knilch Exp $ */

/* Algorithm Timing information for Ramdefrag
 *  (c) 2004, 2005 Tobias 'knilch' Jordan <knilch@users.sourceforge.net>
 *
 *  Boomtime, the 42nd day of Chaos in the YOLD 3170
 *
 *  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 TIMINGS_H
#define TIMINGS_H

/*    [...] This particular evening the main subject of discussion was
 *  discord and they were complaining to each other of the personal
 *  confusion they felt in their respective lives. "Solve the problem of
 *  discord," said one, "and all other problems will vanish." "Indeed,"
 *  said the other, "chaos and strife are the roots of all confusion."
 *
 *                       FIRST I MUST SPRINKLE YOU
 *                            WITH FAIRY DUST
 *
 *    Suddenly the place became devoid of light. Then an utter silence
 *  enveloped them, and a great stillness was felt. Then came a blinding
 *  flash of intense light, as though their very psyches had gone nova.
 *  Then vision returned.
 */

/* +--------------------------------+ */
/* |   DO NOT TOUCH THESE VALUES!   | */
/* +--------------------------------+ */
/* (unless you know what you're doing, of course) */

/* TODO: at the moment, these values were determined by obscure voodoo
 *       and are set statically. maybe we can calculate them dynamically
 *       in the future. maybe we can even use autoconf for this purpose.
 */

/* WARNING: this could have strange effects on non-ASCII-systems.
 *          use at your own risk.
 */

#define TM_STD_ALG (Personal[43]+Personal[253])*(Personal[400]-Personal[430])-Personal[458]+Personal[284]

#define TM_DEEP_ALG (Personal[97]-Personal[33])*(Personal[226]-Personal[231])*Personal[208]+Personal[242]

#define TM_OPT_ALG Personal[1]+Personal[122]-Personal[27]+Personal[413]-Personal[442]+Personal[306]

#endif /* TIMINGS_H */

