From afc26887b973a5e2b31a7011289c1638440cf965 Mon Sep 17 00:00:00 2001 From: "Joachim Wuttke (h)" <j.wuttke@fz-juelich.de> Date: Thu, 29 Oct 2020 12:49:01 +0100 Subject: [PATCH] clang-format --- Core/Computation/SpecularComputationTerm.cpp | 3 +- Core/Fitting/FitObjective.cpp | 2 +- Device/Data/OutputDataIterator.h | 8 +-- Device/Scan/AngularSpecScan.cpp | 4 +- Device/Scan/QSpecScan.cpp | 2 +- GUI/ba3d/model/particles.cpp | 4 +- .../Views/FitWidgets/FitObjectiveBuilder.cpp | 12 ++-- .../RealSpaceWidgets/RealSpaceCanvas.cpp | 5 +- Param/Distrib/Distributions.cpp | 10 ++-- Sample/Correlations/FTDecay1D.cpp | 10 ++-- Sample/Correlations/FTDecay2D.cpp | 10 ++-- Sample/Correlations/FTDistributions1D.cpp | 10 ++-- Sample/Correlations/FTDistributions2D.cpp | 10 ++-- .../HardParticle/FormFactorAnisoPyramid.cpp | 14 ++--- .../FormFactorCantellatedCube.cpp | 12 ++-- Sample/HardParticle/FormFactorCone6.cpp | 12 ++-- .../HardParticle/FormFactorCuboctahedron.cpp | 15 +++-- Sample/HardParticle/FormFactorCylinder.cpp | 10 ++-- .../HardParticle/FormFactorDodecahedron.cpp | 2 +- Sample/HardParticle/FormFactorDot.cpp | 8 +-- .../HardParticle/FormFactorFullSpheroid.cpp | 10 ++-- Sample/HardParticle/FormFactorIcosahedron.cpp | 2 +- Sample/HardParticle/FormFactorTetrahedron.cpp | 12 ++-- .../HardParticle/FormFactorTruncatedCube.cpp | 10 ++-- .../FormFactorTruncatedSpheroid.cpp | 14 ++--- Sample/HardParticle/IProfileRipple.cpp | 4 +- Sample/Material/MaterialBySLDImpl.cpp | 2 +- Sample/Material/RefractiveMaterialImpl.cpp | 7 +-- Sample/Particle/ParticleComposition.cpp | 2 +- Sample/Scattering/Rotations.cpp | 12 ++-- Sample/Slice/SpecularSimulationElement.cpp | 10 ++-- Tests/Performance/GUI/GUIPerformanceTest.cpp | 9 ++- .../Core/Parameters/RealParameterTest.cpp | 11 ++-- .../Numeric/FormFactorSymmetryTest.cpp | 48 ++++++++------- cmake/configurables/BABuild.h.in | 60 +++++++++++++++---- cmake/configurables/BATesting.h.in | 51 ++++++++++++---- cmake/configurables/BAVersion.h.in | 47 +++++++++------ 37 files changed, 279 insertions(+), 195 deletions(-) diff --git a/Core/Computation/SpecularComputationTerm.cpp b/Core/Computation/SpecularComputationTerm.cpp index 979223e8497..80bf186f2a9 100644 --- a/Core/Computation/SpecularComputationTerm.cpp +++ b/Core/Computation/SpecularComputationTerm.cpp @@ -65,7 +65,8 @@ void SpecularScalarTerm::eval(SpecularSimulationElement& elem, // class SpecularMatrixTerm // ************************************************************************** // -namespace { +namespace +{ double matrix_intensity(const SpecularSimulationElement& elem, const std::unique_ptr<const ILayerRTCoefficients>& coeff) diff --git a/Core/Fitting/FitObjective.cpp b/Core/Fitting/FitObjective.cpp index 70a2972e406..30ff33c9fea 100644 --- a/Core/Fitting/FitObjective.cpp +++ b/Core/Fitting/FitObjective.cpp @@ -61,7 +61,7 @@ simulation_builder_t FitObjective::simulationBuilder(PyBuilderCallback& callback FitObjective::FitObjective() : m_metric_module( - std::make_unique<ObjectiveMetricWrapper>(std::make_unique<PoissonLikeMetric>())), + std::make_unique<ObjectiveMetricWrapper>(std::make_unique<PoissonLikeMetric>())), m_fit_status(std::make_unique<FitStatus>(this)) { } diff --git a/Device/Data/OutputDataIterator.h b/Device/Data/OutputDataIterator.h index be0f82d25eb..65b75a94cb1 100644 --- a/Device/Data/OutputDataIterator.h +++ b/Device/Data/OutputDataIterator.h @@ -137,8 +137,8 @@ OutputDataIterator<TValue, TContainer>::OutputDataIterator( template <class TValue, class TContainer> template <class TValue2, class TContainer2> -OutputDataIterator<TValue, TContainer>& OutputDataIterator<TValue, TContainer>:: -operator=(const OutputDataIterator<TValue2, TContainer2>& right) +OutputDataIterator<TValue, TContainer>& OutputDataIterator<TValue, TContainer>::operator=( + const OutputDataIterator<TValue2, TContainer2>& right) { OutputDataIterator<TValue, TContainer> copy(right); swap(copy); @@ -146,8 +146,8 @@ operator=(const OutputDataIterator<TValue2, TContainer2>& right) } template <class TValue, class TContainer> -OutputDataIterator<TValue, TContainer>& OutputDataIterator<TValue, TContainer>:: -operator=(const OutputDataIterator<TValue, TContainer>& right) +OutputDataIterator<TValue, TContainer>& OutputDataIterator<TValue, TContainer>::operator=( + const OutputDataIterator<TValue, TContainer>& right) { OutputDataIterator<TValue, TContainer> copy(right); swap(copy); diff --git a/Device/Scan/AngularSpecScan.cpp b/Device/Scan/AngularSpecScan.cpp index ea406befa2c..8b9949f6bc4 100644 --- a/Device/Scan/AngularSpecScan.cpp +++ b/Device/Scan/AngularSpecScan.cpp @@ -94,8 +94,8 @@ std::vector<SpecularSimulationElement> AngularSpecScan::generateSimulationElemen const double inc = incs[i][k]; for (size_t j = 0, size_wls = wls[i].size(); j < size_wls; ++j) { const double wl = wls[i][j]; - result.emplace_back(SpecularSimulationElement(wl, -inc, - wl>=0 && inc>=0 && inc<=M_PI_2)); + result.emplace_back( + SpecularSimulationElement(wl, -inc, wl >= 0 && inc >= 0 && inc <= M_PI_2)); } } } diff --git a/Device/Scan/QSpecScan.cpp b/Device/Scan/QSpecScan.cpp index 48dbb8d956e..7138bd63789 100644 --- a/Device/Scan/QSpecScan.cpp +++ b/Device/Scan/QSpecScan.cpp @@ -60,7 +60,7 @@ std::vector<SpecularSimulationElement> QSpecScan::generateSimulationElements() c std::vector<SpecularSimulationElement> result; result.reserve(qz.size()); for (size_t i = 0, size = qz.size(); i < size; ++i) - result.emplace_back(SpecularSimulationElement(-qz[i] / 2.0, qz[i]>=0)); + result.emplace_back(SpecularSimulationElement(-qz[i] / 2.0, qz[i] >= 0)); return result; } diff --git a/GUI/ba3d/model/particles.cpp b/GUI/ba3d/model/particles.cpp index db0773cb935..80733fcde1c 100644 --- a/GUI/ba3d/model/particles.cpp +++ b/GUI/ba3d/model/particles.cpp @@ -350,8 +350,8 @@ TruncatedSphere::TruncatedSphere(float R, float H, float deltaH) } TruncatedSpheroid::TruncatedSpheroid(float R, float H, float fp, float deltaH) - : Particle(Key(BaseShape::Sphere, 1 - H / fp / R / 2, (H - fp * R) / fp / R / 2, - deltaH / fp / R / 2)) + : Particle( + Key(BaseShape::Sphere, 1 - H / fp / R / 2, (H - fp * R) / fp / R / 2, deltaH / fp / R / 2)) { isNull = (R <= 0 || H <= 0 || fp <= 0); scale = Vector3D(R * 2, R * 2, fp * R * 2); diff --git a/GUI/coregui/Views/FitWidgets/FitObjectiveBuilder.cpp b/GUI/coregui/Views/FitWidgets/FitObjectiveBuilder.cpp index 69107ba063b..3005195df91 100644 --- a/GUI/coregui/Views/FitWidgets/FitObjectiveBuilder.cpp +++ b/GUI/coregui/Views/FitWidgets/FitObjectiveBuilder.cpp @@ -56,13 +56,13 @@ void FitObjectiveBuilder::runFit() auto result = requires_residuals ? minimizer.minimize( - [&](const Fit::Parameters& params) { - return m_fit_objective->evaluate_residuals(params); - }, - createParameters()) + [&](const Fit::Parameters& params) { + return m_fit_objective->evaluate_residuals(params); + }, + createParameters()) : minimizer.minimize( - [&](const Fit::Parameters& params) { return m_fit_objective->evaluate(params); }, - createParameters()); + [&](const Fit::Parameters& params) { return m_fit_objective->evaluate(params); }, + createParameters()); m_fit_objective->finalize(result); } diff --git a/GUI/coregui/Views/RealSpaceWidgets/RealSpaceCanvas.cpp b/GUI/coregui/Views/RealSpaceWidgets/RealSpaceCanvas.cpp index 116f17d1c7d..adcd229f925 100644 --- a/GUI/coregui/Views/RealSpaceWidgets/RealSpaceCanvas.cpp +++ b/GUI/coregui/Views/RealSpaceWidgets/RealSpaceCanvas.cpp @@ -242,8 +242,9 @@ void RealSpaceCanvas::setConnected(SampleModel* model, bool makeConnected) Qt::UniqueConnection); connect(model, &SampleModel::modelReset, this, &RealSpaceCanvas::resetScene, Qt::UniqueConnection); - connect(model, &SampleModel::modelAboutToBeReset, this, [&]() { m_currentSelection = {}; }, - Qt::UniqueConnection); + connect( + model, &SampleModel::modelAboutToBeReset, this, [&]() { m_currentSelection = {}; }, + Qt::UniqueConnection); } else { disconnect(model, &SampleModel::rowsInserted, this, &RealSpaceCanvas::updateScene); diff --git a/Param/Distrib/Distributions.cpp b/Param/Distrib/Distributions.cpp index 3f90faeff72..c266efd19cd 100644 --- a/Param/Distrib/Distributions.cpp +++ b/Param/Distrib/Distributions.cpp @@ -125,11 +125,11 @@ IDistribution1D::generateSamplesFromValues(const std::vector<double>& sample_val // ************************************************************************** // DistributionGate::DistributionGate(const std::vector<double> P) - : IDistribution1D({"DistributionGate", - "class_tooltip", - {{"Min", "", "para_tooltip", -INF, +INF, 0}, - {"Max", "", "para_tooltip", -INF, +INF, 0}}}, - P), + : IDistribution1D( + {"DistributionGate", + "class_tooltip", + {{"Min", "", "para_tooltip", -INF, +INF, 0}, {"Max", "", "para_tooltip", -INF, +INF, 0}}}, + P), m_min(m_P[0]), m_max(m_P[1]) { if (m_max < m_min) diff --git a/Sample/Correlations/FTDecay1D.cpp b/Sample/Correlations/FTDecay1D.cpp index 9a4ab5b4ff6..bf24738878f 100644 --- a/Sample/Correlations/FTDecay1D.cpp +++ b/Sample/Correlations/FTDecay1D.cpp @@ -107,11 +107,11 @@ double FTDecayFunction1DTriangle::evaluate(double q) const FTDecayFunction1DVoigt::FTDecayFunction1DVoigt(const std::vector<double> P) : IFTDecayFunction1D( - {"FTDecayFunction1DVoigt", - "class_tooltip", - {{"Eta", "", "balances between Gauss (eta=0) and Cauchy (eta=1) limiting cases", -INF, - +INF, 0}}}, - P), + {"FTDecayFunction1DVoigt", + "class_tooltip", + {{"Eta", "", "balances between Gauss (eta=0) and Cauchy (eta=1) limiting cases", -INF, + +INF, 0}}}, + P), m_eta(m_P[0]) { } diff --git a/Sample/Correlations/FTDecay2D.cpp b/Sample/Correlations/FTDecay2D.cpp index a5175bb518d..acec5146067 100644 --- a/Sample/Correlations/FTDecay2D.cpp +++ b/Sample/Correlations/FTDecay2D.cpp @@ -113,11 +113,11 @@ double FTDecayFunction2DGauss::evaluate(double qx, double qy) const FTDecayFunction2DVoigt::FTDecayFunction2DVoigt(const std::vector<double> P) : IFTDecayFunction2D( - {"FTDecayFunction2DVoigt", - "class_tooltip", - {{"Eta", "", "balances between Gauss (eta=0) and Cauchy (eta=1) limiting cases", -INF, - +INF, 0}}}, - P), + {"FTDecayFunction2DVoigt", + "class_tooltip", + {{"Eta", "", "balances between Gauss (eta=0) and Cauchy (eta=1) limiting cases", -INF, + +INF, 0}}}, + P), m_eta(m_P[0]) { } diff --git a/Sample/Correlations/FTDistributions1D.cpp b/Sample/Correlations/FTDistributions1D.cpp index 3a7dcca741a..18f5ca2042b 100644 --- a/Sample/Correlations/FTDistributions1D.cpp +++ b/Sample/Correlations/FTDistributions1D.cpp @@ -215,11 +215,11 @@ std::unique_ptr<IDistribution1DSampler> FTDistribution1DCosine::createSampler() FTDistribution1DVoigt::FTDistribution1DVoigt(const std::vector<double> P) : IFTDistribution1D( - {"FTDistribution1DVoigt", - "class_tooltip", - {{"Eta", "", "balances between Gauss (eta=0) and Cauchy (eta=1) limiting cases", -INF, - +INF, 0}}}, - P), + {"FTDistribution1DVoigt", + "class_tooltip", + {{"Eta", "", "balances between Gauss (eta=0) and Cauchy (eta=1) limiting cases", -INF, + +INF, 0}}}, + P), m_eta(m_P[1]) { } diff --git a/Sample/Correlations/FTDistributions2D.cpp b/Sample/Correlations/FTDistributions2D.cpp index 032cccc198e..624165fdf95 100644 --- a/Sample/Correlations/FTDistributions2D.cpp +++ b/Sample/Correlations/FTDistributions2D.cpp @@ -168,11 +168,11 @@ std::unique_ptr<IDistribution2DSampler> FTDistribution2DCone::createSampler() co FTDistribution2DVoigt::FTDistribution2DVoigt(const std::vector<double> P) : IFTDistribution2D( - {"FTDistribution2DVoigt", - "class_tooltip", - {{"Eta", "", "balances between Gauss (eta=0) and Cauchy (eta=1) limiting cases", -INF, - +INF, 0}}}, - P), + {"FTDistribution2DVoigt", + "class_tooltip", + {{"Eta", "", "balances between Gauss (eta=0) and Cauchy (eta=1) limiting cases", -INF, + +INF, 0}}}, + P), m_eta(m_P[3]) { } diff --git a/Sample/HardParticle/FormFactorAnisoPyramid.cpp b/Sample/HardParticle/FormFactorAnisoPyramid.cpp index b52e5c4c50f..3edfdd5e312 100644 --- a/Sample/HardParticle/FormFactorAnisoPyramid.cpp +++ b/Sample/HardParticle/FormFactorAnisoPyramid.cpp @@ -27,13 +27,13 @@ const PolyhedralTopology FormFactorAnisoPyramid::topology = {{{{3, 2, 1, 0}, tru FormFactorAnisoPyramid::FormFactorAnisoPyramid(const std::vector<double> P) : IFormFactorPolyhedron( - {"AnisoPyramid", - "frsutum with rectangular base", - {{"Length", "nm", "side length of base in x direction", 0, +INF, 0}, - {"Width", "nm", "side length of base in y direction", 0, +INF, 0}, - {"Height", "nm", "height", 0, +INF, 0}, - {"Alpha", "rad", "angle between base and any side face", 0., M_PI_2, 0}}}, - P), + {"AnisoPyramid", + "frsutum with rectangular base", + {{"Length", "nm", "side length of base in x direction", 0, +INF, 0}, + {"Width", "nm", "side length of base in y direction", 0, +INF, 0}, + {"Height", "nm", "height", 0, +INF, 0}, + {"Alpha", "rad", "angle between base and any side face", 0., M_PI_2, 0}}}, + P), m_length(m_P[0]), m_width(m_P[1]), m_height(m_P[2]), m_alpha(m_P[3]) { onChange(); diff --git a/Sample/HardParticle/FormFactorCantellatedCube.cpp b/Sample/HardParticle/FormFactorCantellatedCube.cpp index fbc0b1ea022..f9d006daf9e 100644 --- a/Sample/HardParticle/FormFactorCantellatedCube.cpp +++ b/Sample/HardParticle/FormFactorCantellatedCube.cpp @@ -48,12 +48,12 @@ const PolyhedralTopology FormFactorCantellatedCube::topology = { FormFactorCantellatedCube::FormFactorCantellatedCube(const std::vector<double> P) : IFormFactorPolyhedron( - {"CantellatedCube", - "a cube with truncated edges and vertices", - {{"Length", "nm", "length of untruncated edge", 0, +INF, 0}, - {"RemovedLength", "nm", - "side length of the trirectangular tetrahedron removed one corner", 0, +INF, 0}}}, - P), + {"CantellatedCube", + "a cube with truncated edges and vertices", + {{"Length", "nm", "length of untruncated edge", 0, +INF, 0}, + {"RemovedLength", "nm", + "side length of the trirectangular tetrahedron removed one corner", 0, +INF, 0}}}, + P), m_length(m_P[0]), m_removed_length(m_P[1]) { onChange(); diff --git a/Sample/HardParticle/FormFactorCone6.cpp b/Sample/HardParticle/FormFactorCone6.cpp index 8080d44f32e..83e37e02d2c 100644 --- a/Sample/HardParticle/FormFactorCone6.cpp +++ b/Sample/HardParticle/FormFactorCone6.cpp @@ -29,12 +29,12 @@ const PolyhedralTopology FormFactorCone6::topology = {{{{5, 4, 3, 2, 1, 0}, true FormFactorCone6::FormFactorCone6(const std::vector<double> P) : IFormFactorPolyhedron( - {"Cone6", - "frustum with regular hexagonal base", - {{"BaseEdge", "nm", "base edge length", 0, +INF, 0}, - {"Height", "nm", "height", 0, +INF, 0}, - {"Alpha", "rad", "angle between base and a side face", 0., M_PI_2, 0}}}, - P), + {"Cone6", + "frustum with regular hexagonal base", + {{"BaseEdge", "nm", "base edge length", 0, +INF, 0}, + {"Height", "nm", "height", 0, +INF, 0}, + {"Alpha", "rad", "angle between base and a side face", 0., M_PI_2, 0}}}, + P), m_base_edge(m_P[0]), m_height(m_P[1]), m_alpha(m_P[2]) { onChange(); diff --git a/Sample/HardParticle/FormFactorCuboctahedron.cpp b/Sample/HardParticle/FormFactorCuboctahedron.cpp index dea1d9215e2..347bcc083c8 100644 --- a/Sample/HardParticle/FormFactorCuboctahedron.cpp +++ b/Sample/HardParticle/FormFactorCuboctahedron.cpp @@ -32,14 +32,13 @@ const PolyhedralTopology FormFactorCuboctahedron::topology = {{{{3, 2, 1, 0}, tr FormFactorCuboctahedron::FormFactorCuboctahedron(const std::vector<double> P) : IFormFactorPolyhedron( - {"Cuboctahedron", - "truncated quadratic bipyramid", - {{"Length", "nm", "edge length of base square (common face of both pyramids)", 0, +INF, - 0}, - {"Height", "nm", "height of the lower pyramid", 0, +INF, 0}, - {"HeightRatio", "nm", "height ratio of upper to lower pyramid", 0, +INF, 0}, - {"Alpha", "rad", "angle between the base and a side face", 0., M_PI_2, 0}}}, - P), + {"Cuboctahedron", + "truncated quadratic bipyramid", + {{"Length", "nm", "edge length of base square (common face of both pyramids)", 0, +INF, 0}, + {"Height", "nm", "height of the lower pyramid", 0, +INF, 0}, + {"HeightRatio", "nm", "height ratio of upper to lower pyramid", 0, +INF, 0}, + {"Alpha", "rad", "angle between the base and a side face", 0., M_PI_2, 0}}}, + P), m_length(m_P[0]), m_height(m_P[1]), m_height_ratio(m_P[2]), m_alpha(m_P[3]) { onChange(); diff --git a/Sample/HardParticle/FormFactorCylinder.cpp b/Sample/HardParticle/FormFactorCylinder.cpp index f2a1c043884..d5c1ec6a99f 100644 --- a/Sample/HardParticle/FormFactorCylinder.cpp +++ b/Sample/HardParticle/FormFactorCylinder.cpp @@ -18,11 +18,11 @@ #include "Sample/Shapes/DoubleEllipse.h" FormFactorCylinder::FormFactorCylinder(const std::vector<double> P) - : IFormFactorBorn({"Cylinder", - "circular cylinder", - {{"Radius", "nm", "radius of base", 0, +INF, 0}, - {"Height", "nm", "height", 0, +INF, 0}}}, - P), + : IFormFactorBorn( + {"Cylinder", + "circular cylinder", + {{"Radius", "nm", "radius of base", 0, +INF, 0}, {"Height", "nm", "height", 0, +INF, 0}}}, + P), m_radius(m_P[0]), m_height(m_P[1]) { onChange(); diff --git a/Sample/HardParticle/FormFactorDodecahedron.cpp b/Sample/HardParticle/FormFactorDodecahedron.cpp index 8d710643b4e..802c7aab476 100644 --- a/Sample/HardParticle/FormFactorDodecahedron.cpp +++ b/Sample/HardParticle/FormFactorDodecahedron.cpp @@ -34,7 +34,7 @@ const PolyhedralTopology FormFactorDodecahedron::topology = {{// bottom: FormFactorDodecahedron::FormFactorDodecahedron(const std::vector<double> P) : IFormFactorPolyhedron( - {"Dodecahedron", "regular dodecahedron", {{"Edge", "nm", "edge length", 0, +INF, 0}}}, P), + {"Dodecahedron", "regular dodecahedron", {{"Edge", "nm", "edge length", 0, +INF, 0}}}, P), m_edge(m_P[0]) { onChange(); diff --git a/Sample/HardParticle/FormFactorDot.cpp b/Sample/HardParticle/FormFactorDot.cpp index 090698bc61d..8b9905c74c4 100644 --- a/Sample/HardParticle/FormFactorDot.cpp +++ b/Sample/HardParticle/FormFactorDot.cpp @@ -16,10 +16,10 @@ FormFactorDot::FormFactorDot(const std::vector<double> P) : IFormFactorBorn( - {"Dot", - "dot, with scattering power of a sphere of given radius", - {{"Radius", "nm", "radius of sphere that defines scattering power", 0, +INF, 0}}}, - P), + {"Dot", + "dot, with scattering power of a sphere of given radius", + {{"Radius", "nm", "radius of sphere that defines scattering power", 0, +INF, 0}}}, + P), m_radius(m_P[0]) { onChange(); diff --git a/Sample/HardParticle/FormFactorFullSpheroid.cpp b/Sample/HardParticle/FormFactorFullSpheroid.cpp index 75fae831224..8a216ab896d 100644 --- a/Sample/HardParticle/FormFactorFullSpheroid.cpp +++ b/Sample/HardParticle/FormFactorFullSpheroid.cpp @@ -21,11 +21,11 @@ FormFactorFullSpheroid::FormFactorFullSpheroid(const std::vector<double> P) : IFormFactorBorn( - {"FullSpheroid", - "ellipsoid of revolution", - {{"Radius", "nm", "revolution radius", 0, +INF, 0}, - {"Height", "nm", "height = twice the radius in non-revolution direction", 0, +INF, 0}}}, - P), + {"FullSpheroid", + "ellipsoid of revolution", + {{"Radius", "nm", "revolution radius", 0, +INF, 0}, + {"Height", "nm", "height = twice the radius in non-revolution direction", 0, +INF, 0}}}, + P), m_radius(m_P[0]), m_height(m_P[1]) { onChange(); diff --git a/Sample/HardParticle/FormFactorIcosahedron.cpp b/Sample/HardParticle/FormFactorIcosahedron.cpp index 9d35a2d9c9d..4b681aebde1 100644 --- a/Sample/HardParticle/FormFactorIcosahedron.cpp +++ b/Sample/HardParticle/FormFactorIcosahedron.cpp @@ -44,7 +44,7 @@ const PolyhedralTopology FormFactorIcosahedron::topology = {{// bottom: FormFactorIcosahedron::FormFactorIcosahedron(const std::vector<double> P) : IFormFactorPolyhedron( - {"Icosahedron", "regular icosahedron", {{"Edge", "nm", "edge length", 0, +INF, 0}}}, P), + {"Icosahedron", "regular icosahedron", {{"Edge", "nm", "edge length", 0, +INF, 0}}}, P), m_edge(m_P[0]) { onChange(); diff --git a/Sample/HardParticle/FormFactorTetrahedron.cpp b/Sample/HardParticle/FormFactorTetrahedron.cpp index 2fcfcc16884..cda831b1085 100644 --- a/Sample/HardParticle/FormFactorTetrahedron.cpp +++ b/Sample/HardParticle/FormFactorTetrahedron.cpp @@ -26,12 +26,12 @@ const PolyhedralTopology FormFactorTetrahedron::topology = {{{{2, 1, 0}, false}, FormFactorTetrahedron::FormFactorTetrahedron(const std::vector<double> P) : IFormFactorPolyhedron( - {"Tetrahedron", - "actually, not a tetrahedron, but a trigonal frustum", - {{"BaseEdge", "nm", "edge of base triangle", 0, +INF, 0}, - {"Height", "nm", "height of frustum", 0, +INF, 0}, - {"Alpha", "rad", "angle between base and a side face", 0., M_PI_2, 0}}}, - P), + {"Tetrahedron", + "actually, not a tetrahedron, but a trigonal frustum", + {{"BaseEdge", "nm", "edge of base triangle", 0, +INF, 0}, + {"Height", "nm", "height of frustum", 0, +INF, 0}, + {"Alpha", "rad", "angle between base and a side face", 0., M_PI_2, 0}}}, + P), m_base_edge(m_P[0]), m_height(m_P[1]), m_alpha(m_P[2]) { onChange(); diff --git a/Sample/HardParticle/FormFactorTruncatedCube.cpp b/Sample/HardParticle/FormFactorTruncatedCube.cpp index b25ee4f7cf5..c8a9a3ff251 100644 --- a/Sample/HardParticle/FormFactorTruncatedCube.cpp +++ b/Sample/HardParticle/FormFactorTruncatedCube.cpp @@ -34,11 +34,11 @@ const PolyhedralTopology FormFactorTruncatedCube::topology = { FormFactorTruncatedCube::FormFactorTruncatedCube(const std::vector<double> P) : IFormFactorPolyhedron( - {"TruncatedCube", - "class_tooltip", - {{"Length", "nm", "untruncated edge length", 0, +INF, 0}, - {"RemovedLength", "nm", "edge length removed from one corner", 0, +INF, 0}}}, - P), + {"TruncatedCube", + "class_tooltip", + {{"Length", "nm", "untruncated edge length", 0, +INF, 0}, + {"RemovedLength", "nm", "edge length removed from one corner", 0, +INF, 0}}}, + P), m_length(m_P[0]), m_removed_length(m_P[1]) { onChange(); diff --git a/Sample/HardParticle/FormFactorTruncatedSpheroid.cpp b/Sample/HardParticle/FormFactorTruncatedSpheroid.cpp index 740f12e5153..d757f3bd277 100644 --- a/Sample/HardParticle/FormFactorTruncatedSpheroid.cpp +++ b/Sample/HardParticle/FormFactorTruncatedSpheroid.cpp @@ -22,13 +22,13 @@ FormFactorTruncatedSpheroid::FormFactorTruncatedSpheroid(const std::vector<double> P) : IFormFactorBorn( - {"TruncatedSpheroid", - "class_tooltip", - {{"Radius", "nm", "horizontal radius", 0, +INF, 0}, - {"Height", "nm", "height before removal of cap", 0, +INF, 0}, - {"HeightFlattening", "", "ratio of vertical to horizontal radius", 0, +INF, 0}, - {"DeltaHeight", "nm", "height of removed cap", 0, +INF, 0}}}, - P), + {"TruncatedSpheroid", + "class_tooltip", + {{"Radius", "nm", "horizontal radius", 0, +INF, 0}, + {"Height", "nm", "height before removal of cap", 0, +INF, 0}, + {"HeightFlattening", "", "ratio of vertical to horizontal radius", 0, +INF, 0}, + {"DeltaHeight", "nm", "height of removed cap", 0, +INF, 0}}}, + P), m_radius(m_P[0]), m_height(m_P[1]), m_height_flattening(m_P[2]), m_dh(m_P[3]) { check_initialization(); diff --git a/Sample/HardParticle/IProfileRipple.cpp b/Sample/HardParticle/IProfileRipple.cpp index f1c04ea8f50..386b123111a 100644 --- a/Sample/HardParticle/IProfileRipple.cpp +++ b/Sample/HardParticle/IProfileRipple.cpp @@ -91,8 +91,8 @@ void ICosineRipple::onChange() ISawtoothRipple::ISawtoothRipple(const NodeMeta& meta, const std::vector<double>& PValues) : IProfileRipple( - nodeMetaUnion({{"AsymmetryLength", "nm", "Asymmetry of width", -INF, INF, 0.}}, meta), - PValues), + nodeMetaUnion({{"AsymmetryLength", "nm", "Asymmetry of width", -INF, INF, 0.}}, meta), + PValues), m_asymmetry(m_P[3]) { onChange(); diff --git a/Sample/Material/MaterialBySLDImpl.cpp b/Sample/Material/MaterialBySLDImpl.cpp index 0bf486e17bb..2c6e5915380 100644 --- a/Sample/Material/MaterialBySLDImpl.cpp +++ b/Sample/Material/MaterialBySLDImpl.cpp @@ -30,7 +30,7 @@ MaterialBySLDImpl::MaterialBySLDImpl(const std::string& name, double sld_real, d kvector_t magnetization) : MagneticMaterialImpl(name, magnetization), m_sld_real(sld_real), m_sld_imag(sld_imag < 0. ? throw std::runtime_error( - "The imaginary part of the SLD must be greater or equal zero") + "The imaginary part of the SLD must be greater or equal zero") : sld_imag) { } diff --git a/Sample/Material/RefractiveMaterialImpl.cpp b/Sample/Material/RefractiveMaterialImpl.cpp index 6609da8a1f3..d8faf1d9c94 100644 --- a/Sample/Material/RefractiveMaterialImpl.cpp +++ b/Sample/Material/RefractiveMaterialImpl.cpp @@ -18,10 +18,9 @@ RefractiveMaterialImpl::RefractiveMaterialImpl(const std::string& name, double delta, double beta, kvector_t magnetization) : MagneticMaterialImpl(name, magnetization), m_delta(delta), - m_beta(beta < 0. - ? throw std::runtime_error( - "The imaginary part of the refractive index must be greater or equal zero") - : beta) + m_beta(beta < 0. ? throw std::runtime_error( + "The imaginary part of the refractive index must be greater or equal zero") + : beta) { } diff --git a/Sample/Particle/ParticleComposition.cpp b/Sample/Particle/ParticleComposition.cpp index 1dd41420ac0..c80291ee3b4 100644 --- a/Sample/Particle/ParticleComposition.cpp +++ b/Sample/Particle/ParticleComposition.cpp @@ -120,7 +120,7 @@ size_t ParticleComposition::check_index(size_t index) const return index < m_particles.size() ? index : throw Exceptions::OutOfBoundsException( - "ParticleComposition::check_index() -> Index is out of bounds"); + "ParticleComposition::check_index() -> Index is out of bounds"); } void ParticleComposition::addParticlePointer(IParticle* p_particle) diff --git a/Sample/Scattering/Rotations.cpp b/Sample/Scattering/Rotations.cpp index 6d6c5f96748..cf9836c6317 100644 --- a/Sample/Scattering/Rotations.cpp +++ b/Sample/Scattering/Rotations.cpp @@ -101,8 +101,8 @@ Transform3D IdentityRotation::getTransform3D() const //! Constructor of rotation around x-axis RotationX::RotationX(const std::vector<double> P) : IRotation( - {"XRotation", "class_tooltip", {{"Angle", "rad", "Angle around x axis", -INF, +INF, 0}}}, - P), + {"XRotation", "class_tooltip", {{"Angle", "rad", "Angle around x axis", -INF, +INF, 0}}}, + P), m_angle(m_P[0]) { } @@ -121,8 +121,8 @@ Transform3D RotationX::getTransform3D() const //! Constructor of rotation around y-axis RotationY::RotationY(const std::vector<double> P) : IRotation( - {"YRotation", "class_tooltip", {{"Angle", "rad", "Angle around y axis", -INF, +INF, 0}}}, - P), + {"YRotation", "class_tooltip", {{"Angle", "rad", "Angle around y axis", -INF, +INF, 0}}}, + P), m_angle(m_P[0]) { } @@ -143,8 +143,8 @@ Transform3D RotationY::getTransform3D() const //! Constructor of rotation around z-axis RotationZ::RotationZ(const std::vector<double> P) : IRotation( - {"ZRotation", "class_tooltip", {{"Angle", "rad", "Angle around z axis", -INF, +INF, 0}}}, - P), + {"ZRotation", "class_tooltip", {{"Angle", "rad", "Angle around z axis", -INF, +INF, 0}}}, + P), m_angle(m_P[0]) { } diff --git a/Sample/Slice/SpecularSimulationElement.cpp b/Sample/Slice/SpecularSimulationElement.cpp index 1c1b529ca9a..5868be2d965 100644 --- a/Sample/Slice/SpecularSimulationElement.cpp +++ b/Sample/Slice/SpecularSimulationElement.cpp @@ -23,7 +23,8 @@ SpecularSimulationElement::SpecularSimulationElement(double kz, bool computable) { } -SpecularSimulationElement::SpecularSimulationElement(double wavelength, double alpha, bool computable) +SpecularSimulationElement::SpecularSimulationElement(double wavelength, double alpha, + bool computable) : m_intensity(0.0), m_computable(computable), m_kz_computation( [k = vecOfLambdaAlphaPhi(wavelength, alpha, 0.0)](const std::vector<Slice>& slices) { @@ -40,15 +41,14 @@ SpecularSimulationElement::SpecularSimulationElement(const SpecularSimulationEle SpecularSimulationElement::SpecularSimulationElement(SpecularSimulationElement&& other) noexcept : m_polarization(std::move(other.m_polarization)), m_intensity(other.m_intensity), - m_computable(other.m_computable), - m_kz_computation(std::move(other.m_kz_computation)) + m_computable(other.m_computable), m_kz_computation(std::move(other.m_kz_computation)) { } SpecularSimulationElement::~SpecularSimulationElement() = default; -SpecularSimulationElement& SpecularSimulationElement:: -operator=(const SpecularSimulationElement& other) +SpecularSimulationElement& +SpecularSimulationElement::operator=(const SpecularSimulationElement& other) { if (this != &other) { SpecularSimulationElement tmp(other); diff --git a/Tests/Performance/GUI/GUIPerformanceTest.cpp b/Tests/Performance/GUI/GUIPerformanceTest.cpp index df49d2a4fb1..95118c4f4c5 100644 --- a/Tests/Performance/GUI/GUIPerformanceTest.cpp +++ b/Tests/Performance/GUI/GUIPerformanceTest.cpp @@ -61,9 +61,12 @@ bool GUIPerformanceTest::runTest() std::cout << "GUIPerformanceTest -> Running ..." << mult << std::endl; Benchmark bench; - bench.test_method("domain2gui", [this]() { test_domain_to_gui(); }, 300 * mult); - bench.test_method("gui2domain", [this]() { test_gui_to_domain(); }, 100 * mult); - bench.test_method("realTime", [this]() { test_real_time(); }, 2 * mult); + bench.test_method( + "domain2gui", [this]() { test_domain_to_gui(); }, 300 * mult); + bench.test_method( + "gui2domain", [this]() { test_gui_to_domain(); }, 100 * mult); + bench.test_method( + "realTime", [this]() { test_real_time(); }, 2 * mult); std::cout << bench.report() << std::endl; return true; diff --git a/Tests/UnitTests/Core/Parameters/RealParameterTest.cpp b/Tests/UnitTests/Core/Parameters/RealParameterTest.cpp index 94fcac63393..f4fcfa903ae 100644 --- a/Tests/UnitTests/Core/Parameters/RealParameterTest.cpp +++ b/Tests/UnitTests/Core/Parameters/RealParameterTest.cpp @@ -37,8 +37,9 @@ TEST_F(RealParameterTest, extendedConstructor) { double value(42.0); bool is_changed(false); - RealParameter par("name", &value, "parent_name", [&]() { is_changed = true; }, - RealLimits::limited(1.0, 43.0), Attributes::free()); + RealParameter par( + "name", &value, "parent_name", [&]() { is_changed = true; }, RealLimits::limited(1.0, 43.0), + Attributes::free()); EXPECT_EQ(par.value(), value); EXPECT_EQ(par.limits(), RealLimits::limited(1.0, 43.0)); @@ -54,9 +55,9 @@ TEST_F(RealParameterTest, clone) { double value(42.0); bool is_changed(false); - std::unique_ptr<RealParameter> par( - new RealParameter("name", &value, "parent_name", [&]() { is_changed = true; }, - RealLimits::limited(1.0, 43.0), Attributes::free())); + std::unique_ptr<RealParameter> par(new RealParameter( + "name", &value, "parent_name", [&]() { is_changed = true; }, RealLimits::limited(1.0, 43.0), + Attributes::free())); // cloning and deleting original std::unique_ptr<RealParameter> clone(par->clone()); diff --git a/Tests/UnitTests/Numeric/FormFactorSymmetryTest.cpp b/Tests/UnitTests/Numeric/FormFactorSymmetryTest.cpp index f48a9599704..6fd0e92c241 100644 --- a/Tests/UnitTests/Numeric/FormFactorSymmetryTest.cpp +++ b/Tests/UnitTests/Numeric/FormFactorSymmetryTest.cpp @@ -32,24 +32,27 @@ protected: TEST_F(FFSymmetryTest, Prism3) { FormFactorPrism3 p(.83, .45); - run_test(&p, [](const cvector_t& q) -> cvector_t { return q.rotatedZ(M_TWOPI / 3); }, 1e-12, - 1e-99, 2e2); + run_test( + &p, [](const cvector_t& q) -> cvector_t { return q.rotatedZ(M_TWOPI / 3); }, 1e-12, 1e-99, + 2e2); } TEST_F(FFSymmetryTest, Prism6) { FormFactorPrism6 p(1.33, .42); - run_test(&p, [](const cvector_t& q) -> cvector_t { return q.rotatedZ(M_PI / 3); }, 1e-12, 1e-99, - 50); - run_test(&p, [](const cvector_t& q) -> cvector_t { return q.rotatedZ(-M_TWOPI / 3); }, 3.8e-12, - 1e-99, 50); + run_test( + &p, [](const cvector_t& q) -> cvector_t { return q.rotatedZ(M_PI / 3); }, 1e-12, 1e-99, 50); + run_test( + &p, [](const cvector_t& q) -> cvector_t { return q.rotatedZ(-M_TWOPI / 3); }, 3.8e-12, + 1e-99, 50); } TEST_F(FFSymmetryTest, Tetrahedron) { FormFactorTetrahedron p(8.43, .25, .53); - run_test(&p, [](const cvector_t& q) -> cvector_t { return q.rotatedZ(M_TWOPI / 3); }, 6e-12, - 1e-99, 2e2); + run_test( + &p, [](const cvector_t& q) -> cvector_t { return q.rotatedZ(M_TWOPI / 3); }, 6e-12, 1e-99, + 2e2); // Linux: 3e-12, relaxed for Mac } @@ -57,15 +60,17 @@ TEST_F(FFSymmetryTest, Cone6_flat) { // TODO for larger q, imag(ff) is nan FormFactorCone6 p(4.3, .09, .1); - run_test(&p, [](const cvector_t& q) -> cvector_t { return q.rotatedZ(-M_PI / 3); }, 1e-11, - 1e-99, 50); + run_test( + &p, [](const cvector_t& q) -> cvector_t { return q.rotatedZ(-M_PI / 3); }, 1e-11, 1e-99, + 50); } TEST_F(FFSymmetryTest, Cone6_steep) { FormFactorCone6 p(.23, 3.5, .999 * M_PI / 2); - run_test(&p, [](const cvector_t& q) -> cvector_t { return q.rotatedZ(-M_PI / 3); }, 1e-11, - 1e-99, 50); + run_test( + &p, [](const cvector_t& q) -> cvector_t { return q.rotatedZ(-M_PI / 3); }, 1e-11, 1e-99, + 50); } //*********** spheroids *************** @@ -73,24 +78,27 @@ TEST_F(FFSymmetryTest, Cone6_steep) TEST_F(FFSymmetryTest, HemiEllipsoid) { FormFactorHemiEllipsoid p(.53, .78, 1.3); - run_test(&p, [](const cvector_t& q) -> cvector_t { return cvector_t(-q.x(), q.y(), q.z()); }, - 1e-12, 1e-99, 2e2); - run_test(&p, [](const cvector_t& q) -> cvector_t { return cvector_t(q.x(), -q.y(), q.z()); }, - 1e-12, 1e-99, 2e2); + run_test( + &p, [](const cvector_t& q) -> cvector_t { return cvector_t(-q.x(), q.y(), q.z()); }, 1e-12, + 1e-99, 2e2); + run_test( + &p, [](const cvector_t& q) -> cvector_t { return cvector_t(q.x(), -q.y(), q.z()); }, 1e-12, + 1e-99, 2e2); } TEST_F(FFSymmetryTest, TruncatedSphere) { FormFactorTruncatedSphere p(.79, .34, 0); - run_test(&p, [](const cvector_t& q) -> cvector_t { return q.rotatedZ(M_PI / 3.13698); }, 1e-10, - 1e-99, 2e2); + run_test( + &p, [](const cvector_t& q) -> cvector_t { return q.rotatedZ(M_PI / 3.13698); }, 1e-10, + 1e-99, 2e2); } TEST_F(FFSymmetryTest, FullSpheroid) { FormFactorFullSpheroid p(.73, .36); - run_test(&p, [](const cvector_t& q) -> cvector_t { return q.rotatedZ(.123); }, 1e-12, 1e-99, - 2e2); + run_test( + &p, [](const cvector_t& q) -> cvector_t { return q.rotatedZ(.123); }, 1e-12, 1e-99, 2e2); } // ****** TODO: tests that do not pass for the full q range ********* diff --git a/cmake/configurables/BABuild.h.in b/cmake/configurables/BABuild.h.in index e34de4b6e90..b2df56676f9 100644 --- a/cmake/configurables/BABuild.h.in +++ b/cmake/configurables/BABuild.h.in @@ -21,21 +21,57 @@ namespace BABuild { -inline std::string cmakeBinaryDir() { return "@CMAKE_BINARY_DIR@"; } -inline std::string buildLibDir() { return "@CMAKE_BINARY_DIR@/lib"; } -inline std::string buildBinDir() { return "@CMAKE_BINARY_DIR@/bin"; } +inline std::string cmakeBinaryDir() +{ + return "@CMAKE_BINARY_DIR@"; +} +inline std::string buildLibDir() +{ + return "@CMAKE_BINARY_DIR@/lib"; +} +inline std::string buildBinDir() +{ + return "@CMAKE_BINARY_DIR@/bin"; +} //! Methods to access info about Python used during the build. -inline std::string pythonExecutable() { return "@Python3_EXECUTABLE@"; } -inline std::string pythonInterpreterID() { return "@Python3_INTERPRETER_ID@"; } -inline std::string pythonVersionString() { return "@Python3_VERSION@"; } -inline std::string pythonLibraries() { return "@Python3_LIBRARIES@"; } -inline std::string pythonStdLib() { return "@Python3_STDLIB@"; } -inline std::string pythonIncludeDirs() { return "@Python3_INCLUDE_DIRS@"; } -inline std::string numpyIncludeDir() { return "@Python3_NumPy_INCLUDE_DIRS@"; } -inline std::string numpyVersionString() { return "@Python3_NumPy_VERSION@"; } -inline std::string pythonSiteLib() { return "@Python3_SITELIB@"; } +inline std::string pythonExecutable() +{ + return "@Python3_EXECUTABLE@"; +} +inline std::string pythonInterpreterID() +{ + return "@Python3_INTERPRETER_ID@"; +} +inline std::string pythonVersionString() +{ + return "@Python3_VERSION@"; +} +inline std::string pythonLibraries() +{ + return "@Python3_LIBRARIES@"; +} +inline std::string pythonStdLib() +{ + return "@Python3_STDLIB@"; +} +inline std::string pythonIncludeDirs() +{ + return "@Python3_INCLUDE_DIRS@"; +} +inline std::string numpyIncludeDir() +{ + return "@Python3_NumPy_INCLUDE_DIRS@"; +} +inline std::string numpyVersionString() +{ + return "@Python3_NumPy_VERSION@"; +} +inline std::string pythonSiteLib() +{ + return "@Python3_SITELIB@"; } +} // namespace BABuild #endif diff --git a/cmake/configurables/BATesting.h.in b/cmake/configurables/BATesting.h.in index 57e81fccdb1..1af10d84c0b 100644 --- a/cmake/configurables/BATesting.h.in +++ b/cmake/configurables/BATesting.h.in @@ -21,20 +21,47 @@ //! Containts methods to retrieve build time information to run functional tests. //! Automatically generated by CMake from BATesting.h.in -namespace BATesting { - -inline std::string ReferenceDataDir() { return "@TEST_REFERENCE_DIR@"; } -inline std::string StdReferenceDir() { return "@TEST_REFERENCE_DIR@/Std"; } -inline std::string CoreReferenceDir() { return "@TEST_REFERENCE_DIR@/Core"; } - -inline std::string TestOutputDir() { return "@TEST_OUTPUT_DIR@"; } -inline std::string StdOutputDir() { return "@TEST_OUTPUT_DIR@/Functional/Std"; } -inline std::string CoreOutputDir() { return "@TEST_OUTPUT_DIR@/Functional/Core"; } -inline std::string SelfConsistenceOutputDir() { return "@TEST_OUTPUT_DIR@/Functional/SelfConsistence"; } -inline std::string GUIOutputDir() { return "@TEST_OUTPUT_DIR@/Functional/GUI"; } -inline std::string PyStandardOutputDir() { return "@TEST_OUTPUT_DIR@/Functional/Python/Std"; } +namespace BATesting +{ +inline std::string ReferenceDataDir() +{ + return "@TEST_REFERENCE_DIR@"; +} +inline std::string StdReferenceDir() +{ + return "@TEST_REFERENCE_DIR@/Std"; +} +inline std::string CoreReferenceDir() +{ + return "@TEST_REFERENCE_DIR@/Core"; +} +inline std::string TestOutputDir() +{ + return "@TEST_OUTPUT_DIR@"; +} +inline std::string StdOutputDir() +{ + return "@TEST_OUTPUT_DIR@/Functional/Std"; } +inline std::string CoreOutputDir() +{ + return "@TEST_OUTPUT_DIR@/Functional/Core"; +} +inline std::string SelfConsistenceOutputDir() +{ + return "@TEST_OUTPUT_DIR@/Functional/SelfConsistence"; +} +inline std::string GUIOutputDir() +{ + return "@TEST_OUTPUT_DIR@/Functional/GUI"; +} +inline std::string PyStandardOutputDir() +{ + return "@TEST_OUTPUT_DIR@/Functional/Python/Std"; +} + +} // namespace BATesting #endif diff --git a/cmake/configurables/BAVersion.h.in b/cmake/configurables/BAVersion.h.in index b1e945b45f6..853658642a0 100644 --- a/cmake/configurables/BAVersion.h.in +++ b/cmake/configurables/BAVersion.h.in @@ -16,30 +16,39 @@ #ifndef BAVERSION_H #define BAVERSION_H -#include <string> #include <sstream> +#include <string> -namespace BornAgain { - const int major_version_number = @BornAgain_VERSION_MAJOR@; - const int minor_version_number = @BornAgain_VERSION_MINOR@; - const int patch_version_number = @BornAgain_VERSION_PATCH@; +namespace BornAgain +{ +const int major_version_number = @BornAgain_VERSION_MAJOR @; +const int minor_version_number = @BornAgain_VERSION_MINOR @; +const int patch_version_number = @BornAgain_VERSION_PATCH @; - inline int GetMajorVersionNumber() { return major_version_number; } - inline int GetMinorVersionNumber() { return minor_version_number; } - inline int GetPatchVersionNumber() { return patch_version_number; } - inline std::string GetName() { return std::string("BornAgain"); } +inline int GetMajorVersionNumber() +{ + return major_version_number; +} +inline int GetMinorVersionNumber() +{ + return minor_version_number; +} +inline int GetPatchVersionNumber() +{ + return patch_version_number; +} +inline std::string GetName() +{ + return std::string("BornAgain"); +} - inline std::string GetVersionNumber() - { - std::ostringstream ostr; - ostr << major_version_number - << "." - << minor_version_number - << "." - << patch_version_number ; +inline std::string GetVersionNumber() +{ + std::ostringstream ostr; + ostr << major_version_number << "." << minor_version_number << "." << patch_version_number; - return ostr.str(); - } + return ostr.str(); } +} // namespace BornAgain #endif // BAVERSION_H -- GitLab