ergo
output.h
Go to the documentation of this file.
1/* Ergo, version 3.8.2, a program for linear scaling electronic structure
2 * calculations.
3 * Copyright (C) 2023 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek,
4 * and Anastasia Kruchinina.
5 *
6 * This program 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.
10 *
11 * This program 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.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 *
19 * Primary academic reference:
20 * Ergo: An open-source program for linear-scaling electronic structure
21 * calculations,
22 * Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, and Anastasia
23 * Kruchinina,
24 * SoftwareX 7, 107 (2018),
25 * <http://dx.doi.org/10.1016/j.softx.2018.03.005>
26 *
27 * For further information about Ergo, see <http://www.ergoscf.org>.
28 */
29
37#ifndef OUTPUT_HEADER
38#define OUTPUT_HEADER
39
40
41#include <stdarg.h>
42
43
44
45/* Log categories */
46#define LOG_CAT_UNDEFINED 0
47#define LOG_CAT_ERROR 1
48#define LOG_CAT_WARNING 2
49#define LOG_CAT_INFO 3
50#define LOG_CAT_EXTRAINFO 4
51#define LOG_CAT_RESULTS 5
52#define LOG_CAT_TIMINGS 6
53#define LOG_CAT_MEMUSAGE 7
54
55/* Log areas */
56#define LOG_AREA_UNDEFINED 0
57#define LOG_AREA_MAIN 1
58#define LOG_AREA_SCF 2
59#define LOG_AREA_LR 3
60#define LOG_AREA_INTEGRALS 4
61#define LOG_AREA_DENSFROMF 5
62#define LOG_AREA_DFT 6
63#define LOG_AREA_LOWLEVEL 7
64#define LOG_AREA_CI 8
65#define LOG_AREA_ED 9
66#define LOG_AREA_GS 10
67
68/* output functions */
69void do_output(int logCategory, int logArea, const char* format, ...);
70int do_voutput(int logCategory, int logArea, const char* format, va_list v);
71int do_voutput_printf(int logCategory, int logArea, const char* format, va_list a);
72void do_output_time(int logCategory, int logArea, const char* s);
73void output_current_memory_usage(int logArea, const char* contextString);
75void enable_output();
77
78
79#endif
void output_current_memory_usage(int logArea, const char *contextString)
Definition output.cc:186
int do_voutput_printf(int logCategory, int logArea, const char *format, va_list a)
Definition output.cc:76
void enable_output()
Definition output.cc:181
void enable_printf_output()
Definition output.cc:66
void enable_memory_usage_output(void)
Definition output.cc:175
void do_output_time(int logCategory, int logArea, const char *s)
Definition output.cc:159
int do_voutput(int logCategory, int logArea, const char *format, va_list v)
Definition output.cc:94
void do_output(int logCategory, int logArea, const char *format,...)
Definition output.cc:53