ergo
|
00001 /* Ergo, version 3.2, a program for linear scaling electronic structure 00002 * calculations. 00003 * Copyright (C) 2012 Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek. 00004 * 00005 * This program is free software: you can redistribute it and/or modify 00006 * it under the terms of the GNU General Public License as published by 00007 * the Free Software Foundation, either version 3 of the License, or 00008 * (at your option) any later version. 00009 * 00010 * This program is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 * GNU General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU General Public License 00016 * along with this program. If not, see <http://www.gnu.org/licenses/>. 00017 * 00018 * Primary academic reference: 00019 * KohnâSham Density Functional Theory Electronic Structure Calculations 00020 * with Linearly Scaling Computational Time and Memory Usage, 00021 * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, 00022 * J. Chem. Theory Comput. 7, 340 (2011), 00023 * <http://dx.doi.org/10.1021/ct100611z> 00024 * 00025 * For further information about Ergo, see <http://www.ergoscf.org>. 00026 */ 00027 00028 #ifndef OUTPUT_HEADER 00029 #define OUTPUT_HEADER 00030 00031 00032 #include <stdarg.h> 00033 00034 00035 #ifdef __cplusplus 00036 #define EXTERN_C extern "C" 00037 #else 00038 #define EXTERN_C 00039 #endif 00040 00041 /* Log categories */ 00042 #define LOG_CAT_UNDEFINED 0 00043 #define LOG_CAT_ERROR 1 00044 #define LOG_CAT_WARNING 2 00045 #define LOG_CAT_INFO 3 00046 #define LOG_CAT_EXTRAINFO 4 00047 #define LOG_CAT_RESULTS 5 00048 #define LOG_CAT_TIMINGS 6 00049 #define LOG_CAT_MEMUSAGE 7 00050 00051 /* Log areas */ 00052 #define LOG_AREA_UNDEFINED 0 00053 #define LOG_AREA_MAIN 1 00054 #define LOG_AREA_SCF 2 00055 #define LOG_AREA_LR 3 00056 #define LOG_AREA_INTEGRALS 4 00057 #define LOG_AREA_DENSFROMF 5 00058 #define LOG_AREA_DFT 6 00059 #define LOG_AREA_LOWLEVEL 7 00060 #define LOG_AREA_CI 8 00061 00062 /* output functions */ 00063 EXTERN_C void do_output(int logCategory, int logArea, const char* format, ...); 00064 EXTERN_C int do_voutput(int logCategory, int logArea, const char* format, va_list v); 00065 EXTERN_C void do_output_time(int logCategory, int logArea, const char* s); 00066 EXTERN_C void output_current_memory_usage(int logArea, const char* contextString); 00067 EXTERN_C void enable_memory_usage_output(void); 00068 00069 00070 #endif