Skip to content

File verbositylevels.h

File List > code_source > templat > include > TempLat > lattice > memory > verbositylevels.h

Go to the documentation of this file

#ifndef TEMPLAT_LATTICE_MEMORY_VERBOSITYLEVELS_H
#define TEMPLAT_LATTICE_MEMORY_VERBOSITYLEVELS_H

/* This file is part of TempLat, available at https://cosmolattice.github.io/templat .
   Copyright 2021-2026 The TempLat authors, see AUTHORS.md.
   Released under the MIT license, see LICENSE.md. */

// File info: Main contributor(s): Wessel Valkenburg, Year: 2019

namespace TempLat
{

  struct VerbosityLevels {
  public:
    // Put public methods here. These should change very little over time.
    VerbosityLevels()
        : fieldAssignment(true), ghostUpdating(true), ghostsStale(false), allocation(false), spaceConfirmation(false),
          ghostConfirmationSteps(false)
    {
    }

    bool fieldAssignment;

    bool fftPerformance;

    bool ghostUpdating;

    bool ghostsStale;

    bool allocation;

    bool spaceConfirmation;

    bool ghostConfirmationSteps;

    void setAllOn()
    {
      fieldAssignment = true;
      fftPerformance = true;
      ghostUpdating = true;
      ghostsStale = true;
      allocation = true;
      spaceConfirmation = true;
      ghostConfirmationSteps = true;
    }

    void setAllOff()
    {
      fieldAssignment = false;
      fftPerformance = false;
      ghostUpdating = false;
      ghostsStale = false;
      allocation = false;
      spaceConfirmation = false;
      ghostConfirmationSteps = false;
    }

    void setToDefault() { *this = VerbosityLevels(); }
  };

} // namespace TempLat

#endif