bugs: Consider alternatives to refiltering following Irani-Peleg.
[Ale.git] / ale.cc
blobf025bc282d23ee02eedeb28560399111270f817a
1 // Copyright 2002, 2003, 2004, 2005, 2006 David Hilvert <dhilvert@auricle.dyndns.org>,
2 // <dhilvert@ugcs.caltech.edu>
4 /* This file is part of the Anti-Lamenessing Engine.
6 The Anti-Lamenessing Engine is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 3 of the License, or
9 (at your option) any later version.
11 The Anti-Lamenessing Engine is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with the Anti-Lamenessing Engine; if not, write to the Free Software
18 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22 * ale.cc: The main module of ale. This calls the input handler.
26 * Configuration
29 #include <config.h>
32 * Types
35 #include "ale_fixed.h"
36 #include "ale_pos.h"
37 #include "ale_real.h"
40 * Version Information
43 #ifdef USE_MAGICK
44 #include <magick/api.h>
45 #endif
47 const char *package_name = PACKAGE_NAME;
49 const char *short_version = VERSION;
51 const char *version = PACKAGE_NAME " Version: " VERSION "\n"
52 #ifdef USE_MAGICK
53 "File handler: " MagickPackageName " " MagickLibVersionText " " MagickReleaseDate " " MagickQuantumDepth "\n"
54 #else
55 "File handler: PPM\n"
56 #endif
57 "Color data: " ALE_REAL_PRECISION_STRING "\n"
58 "Coordinate data: " ALE_POS_PRECISION_STRING "\n"
59 #ifdef USE_FFTW
60 "DFT: FFTW3\n"
61 #else
62 "DFT: Built-in\n"
63 #endif
64 #if defined USE_PTHREAD
65 "Threads: POSIX\n"
66 #else
67 "Threads: Disabled\n"
68 #endif
69 #if defined NDEBUG && !defined DEBUG
70 "Assertions: Disabled\n"
71 #elif defined DEBUG && !defined NDEBUG
72 "Assertions: Enabled\n"
73 #elif defined NDEBUG
74 "Assertions: Probably disabled\n"
75 #else
76 "Assertions: Probably enabled\n"
77 #endif
78 #if OPTIMIZATIONS == 1
79 "Optimizations: Enabled\n"
80 #else
81 "Optimizations: Disabled\n"
82 #endif
86 * User interface includes
89 #include "ui/ui.h"
92 * main() calls the input handler.
95 int main(int argc, const char *argv[]){
97 /*
98 * Call UI routine to handle options and other interface input.
99 * Returning from this function indicates program success.
102 ui::handle_input(argc, argv, package_name, short_version, version);
104 return 0;