#ifndef POLYCOEFF_H
#define POLYCOEFF_H

#include "mfem.hpp"
#include <cmath>

namespace polycoeff
{
  /**
   * @brief Computes the xi coefficient function.
   * 
   * @param x Input vector.
   * @return double The computed xi coefficient.
   */
    double xi_coeff_func(const mfem::Vector &x);

  /**
   * @brief Computes the vector xi coefficient function.
   * 
   * @param x Input vector.
   * @param v Output vector to store the computed xi coefficient.
   */
    void vec_xi_coeff_func(const mfem::Vector &x, mfem::Vector &v);

  /**
   * @brief Computes the initial guess for theta.
   * 
   * @param x Input vector.
   * @param root Root value used in the computation.
   * @return double The initial guess for theta.
   */
    double theta_initial_guess(const mfem::Vector &x, double root);
} // namespace polyCoeff

#endif // POLYCOEFF_H