flexiblesusy is hosted by Hepforge, IPPP Durham
FlexibleSUSY
fortran_utils.cpp
Go to the documentation of this file.
1// ====================================================================
2// This file is part of FlexibleSUSY.
3//
4// FlexibleSUSY is free software: you can redistribute it and/or modify
5// it under the terms of the GNU General Public License as published
6// by the Free Software Foundation, either version 3 of the License,
7// or (at your option) any later version.
8//
9// FlexibleSUSY is distributed in the hope that it will be useful, but
10// WITHOUT ANY WARRANTY; without even the implied warranty of
11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12// General Public License for more details.
13//
14// You should have received a copy of the GNU General Public License
15// along with FlexibleSUSY. If not, see
16// <http://www.gnu.org/licenses/>.
17// ====================================================================
18
19#include "fortran_utils.hpp"
20#include <unistd.h>
21#include <iostream>
22
23extern "C" {
25}
26
27namespace flexiblesusy
28{
29namespace futils
30{
31
32void swap() noexcept
33{
34 std::cout << std::flush;
35 std::cerr << std::flush;
36 int stdout_copy = dup(STDOUT_FILENO);
37 dup2(STDERR_FILENO, STDOUT_FILENO);
38 dup2(stdout_copy, STDERR_FILENO);
39 close(stdout_copy);
40}
41
42void flush() noexcept { flush_impl(); }
43
44} // namespace futils
45} // namespace flexiblesusy
void flush_impl()
void flush() noexcept
Flushes output of fortran routines.
void swap() noexcept
Swaps stdout and stderr descriptors.
static int close(Real m1, Real m2, Real tol)