Program Listing for File ell_stable.hpp

Return to documentation for file (ellcpp/ell_stable.hpp)

// -*- coding: utf-8 -*-
#pragma once

#include <ellcpp/ell.hpp>

class ell_stable : public ell
{
  public:
    using Arr = xt::xarray<double, xt::layout_type::row_major>;

    ell_stable(const Arr& val, Arr x) noexcept
        : ell {val, std::move(x)}
    {
    }

    ell_stable(const double& alpha, Arr x) noexcept
        : ell {alpha, std::move(x)}
    {
    }

    ell_stable(ell_stable&& E) = default;

    explicit ell_stable(const ell_stable& E) = default;

    ~ell_stable() { }

    [[nodiscard]] auto copy() const -> ell_stable
    {
        return ell_stable(*this);
    }

    template <typename T>
    auto update(const std::tuple<Arr, T>& cut) -> std::tuple<CUTStatus, double>;
}; // } ell_stable