Loading...
Searching...
No Matches
Go to the documentation of this file.
24#define AUROSTD_NAN 1E9
27#ifndef AUROSTD_DEFAULT_PRECISION
28#define AUROSTD_DEFAULT_PRECISION 20
33#ifndef AUROSTD_ROUNDOFF_TOL
34#define AUROSTD_ROUNDOFF_TOL 1e-6
40#ifndef AUROSTD_IDENTITY_TOL
41#define AUROSTD_IDENTITY_TOL 1e-6
45#ifndef AUROSTD_MAX_INT
46#define AUROSTD_MAX_INT std::numeric_limits<int>::max()
50#ifndef AUROSTD_MAX_UINT
51#define AUROSTD_MAX_UINT std::numeric_limits<uint>::max()
55#ifndef AUROSTD_MAX_ULLINT
56#define AUROSTD_MAX_ULLINT std::numeric_limits<unsigned long long int>::max()
60#ifndef AUROSTD_MAX_DOUBLE
61#define AUROSTD_MAX_DOUBLE std::numeric_limits<double>::max()
65#ifndef AUROSTD_MAX_SIZET
66#define AUROSTD_MAX_SIZET std::numeric_limits<size_t>::max()
71#define DEFAULT_STREAM 'D'
74#define FIXED_STREAM 'F'
76#ifndef SCIENTIFIC_STREAM
77#define SCIENTIFIC_STREAM 'S'
80#ifndef __STRICT_ANSI__
81#define __STRICT_ANSI__
84#define _AUROSTD_XLIBS_ERROR_ std::string("ERROR - AUROSTD_XLIBS++ [***]:")
85#define _AUROSTD_XLIBS_WARNING_ std::string("WARNING - AUROSTD_XLIBS++ [***]:")
87#define EMPTY_WORDING std::string("blablabla")
92#define cursor_moveyx(y, x, fstr) std::fprintf(fstr, "\033[%d;%dH", y, x)
93#define cursor_moveup(y, fstr) std::fprintf(fstr, "\033[%dA", y)
94#define cursor_movedown(y, fstr) std::fprintf(fstr, "\033[%dB", y)
95#define cursor_moveright(x, fstr) std::fprintf(fstr, "\033[%dC", x)
96#define cursor_moveleft(x, fstr) std::fprintf(fstr, "\033[%dD", x)
97#define cursor_store(fstr) std::fprintf(fstr, "\033[s")
98#define cursor_restore(fstr) std::fprintf(fstr, "\033[u")
99#define cursor_clear(fstr) std::fprintf(fstr, "\033[2J")
100#define cursor_clearline(fstr) std::fprintf(fstr, "\033[K")
101#define cursor_fore_black(fstr) std::fprintf(fstr, "\033[30m")
102#define cursor_fore_red(fstr) std::fprintf(fstr, "\033[31m")
103#define cursor_fore_green(fstr) std::fprintf(fstr, "\033[32m")
104#define cursor_fore_orange(fstr) std::fprintf(fstr, "\033[33m")
105#define cursor_fore_blue(fstr) std::fprintf(fstr, "\033[34m")
106#define cursor_fore_magenta(fstr) std::fprintf(fstr, "\033[35m")
107#define cursor_fore_cyan(fstr) std::fprintf(fstr, "\033[36m")
108#define cursor_fore_yellow(fstr) std::fprintf(fstr, "\033[33m\033[1m")
109#define cursor_fore_white(fstr) std::fprintf(fstr, "\033[37m")
110#define cursor_back_black(fstr) std::fprintf(fstr, "\033[40m")
111#define cursor_back_red(fstr) std::fprintf(fstr, "\033[41m")
112#define cursor_back_green(fstr) std::fprintf(fstr, "\033[42m")
113#define cursor_back_orange(fstr) std::fprintf(fstr, "\033[43m")
114#define cursor_back_blue(fstr) std::fprintf(fstr, "\033[44m")
115#define cursor_back_magenta(fstr) std::fprintf(fstr, "\033[45m")
116#define cursor_back_cyan(fstr) std::fprintf(fstr, "\033[46m")
117#define cursor_back_white(fstr) std::fprintf(fstr, "\033[47m")
118#define cursor_attr_none(fstr) std::fprintf(fstr, "\033[0m")
119#define cursor_attr_bold(fstr) std::fprintf(fstr, "\033[1m")
120#define cursor_attr_underline(fstr) std::fprintf(fstr, "\033[4m")
121#define cursor_attr_blink(fstr) std::fprintf(fstr, "\033[5m")
122#define cursor_attr_reverse(fstr) std::fprintf(fstr, "\033[7m")
125#define AUROSTD_ZIP_BIN "xz"
126#define AUROSTD_ZIP_EXT ".xz"
131#define __xprototype __attribute__((const))
137#define GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
141#define GLIBC_VERSION (__GLIBC__ * 100 + __GLIBC_MINOR__)
142#if (GLIBC_VERSION < 230)
144#include <sys/syscall.h>
145#define gettid() syscall(SYS_gettid)
151#define __xprototype __attribute__((const))
157#define rad2deg (180.0 / 3.14159265358979323846)
158#define deg2rad (3.14159265358979323846 / 180.0)
159#define angstrom2bohr (1 / 0.529177249)
160#define bohr2angstrom (0.529177249)
164#define PI 3.14159265358979323846
166#define TWOPI 6.28318530717958647692
167#define EULERSNUMBER 2.71828182845904523536
168#define RTPI (sqrt(PI))
169#define C_VACUUM 2.99792458E+8
170#define EPS_VACUUM 8.854187817E-12
171#define MU_VACUUM (4.0 * PI * 1.0E-7)
172#define AMU2KILOGRAM 1.66054E-27
173#define KILOGRAM2AMU 6.022137E+26
174#define E_ELECTRON 1.60217662E-19
175#define eV2J E_ELECTRON
176#define J2eV (1.0 / E_ELECTRON)
177#define PLANCKSCONSTANT_h 6.62607E-34
178#define PLANCKSCONSTANT_hbar 1.0545718E-34
179#define PLANCKSCONSTANTEV_h (PLANCKSCONSTANT_h / E_ELECTRON)
180#define PLANCKSCONSTANTEV_hbar (PLANCKSCONSTANTEV_h / TWOPI)
181#define KBOLTZ 1.3806504E-23
182#define KBOLTZEV (KBOLTZ / E_ELECTRON)
183#define eV2K (11604.505)
184#define meV2K (11.604505)
185#define mol2atom 6.0221408E23
186#define atom2mol (1.0 / 6.0221408E23)
187#define eVatom2kJmol (E_ELECTRON * mol2atom / 1.0e3)
188#define meVatom2kJmol (eVatom2kJmol / 1.0e3)
189#define hartree2eV 27.2113862459
190#define eV2hartree (1.0 / hartree2eV)
191#define kcal2eV 4.336443203200000E-002
192#define eV2kcal (1.0 / kcal2eV)
196#define Hz2THz (1.0 / THz2Hz)
197#define au2Hz aurostd::sqrt(E_ELECTRON * 1E20 / AMU2KILOGRAM)
198#define au2rcm (au2Hz / (100 * C_VACUUM))
199#define au2eV (au2Hz * PLANCKSCONSTANTEV_h)
200#define eV2Hz (1.0 / PLANCKSCONSTANTEV_h)
201#define eV2rcm (1.0 / (PLANCKSCONSTANTEV_h * 100 * C_VACUUM))
202#define au2nmTHz ((E_ELECTRON * Hz2THz * Hz2THz * 1E18) / (0.1 * AMU2KILOGRAM))
203#define PLANCKSCONSTANT_h_THz (PLANCKSCONSTANT_h * THz2Hz)
204#define PLANCKSCONSTANT_hbar_THz (PLANCKSCONSTANT_hbar * THz2Hz)
205#define PLANCKSCONSTANTAMU_hbar_THz (PLANCKSCONSTANTEV_hbar * THz2Hz * (10 * au2nmTHz))
206#define BEfactor_hbar_THz (PLANCKSCONSTANTEV_hbar / (KBOLTZEV * Hz2THz))
207#define BEfactor_h_THz (PLANCKSCONSTANTEV_h / (KBOLTZEV * Hz2THz))
210#define eV2GPa (E_ELECTRON * 1e21)
211#define GPa2eV (1.0 / eV2GPa)
212#define eV2kBar (eV2GPa * 10)
213#define kBar2eV (1.0 / eV2kBar)
218#define TEMPERATURE_ROOM 300.0
219#define kBT_ROOM (KBOLTZEV * TEMPERATURE_ROOM)
221#define LIBRARY_NOTHING 256
223#define LIBRARY_ALL 100
225#define _LOCK_LINK_SUFFIX_ std::string(".init")
228#define _AUROSTD_ZERO_PRECISION_ 10
229#define _AUROSTD_ZERO_TOL_ std::pow(10, -_AUROSTD_ZERO_PRECISION_)
230#define _AUROSTD_ZERO_PRECISION_LOOSE_ 3
231#define _AUROSTD_ZERO_TOL_LOOSE_ std::pow(10, -_AUROSTD_ZERO_PRECISION_LOOSE_)
232#define _AUROSTD_DOUBLE_PRECISION_ 8
233#define _AUROSTD_DOUBLE_TOL_ std::pow(10, -_AUROSTD_DOUBLE_PRECISION_)
234#define _AUROSTD_FLOAT_PRECISION_ 6
235#define _AUROSTD_FLOAT_TOL_ std::pow(10, -_AUROSTD_FLOAT_PRECISION_)