#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include "mexToolbox.h"
#include "EquationCalculator.h"
#include <gsl/gsl_vector.h>
#include <gsl/gsl_multiroots.h>

double solve_single_foc_int_terminal_nk(DoubleSingle x0);
DoublePair solve_single_foc_int(DoublePair X);
DoublePair solve_single_foc_double_op(DoublePair X, FocDoubleOp func);
DoubleTrio solve_single_foc_trio_op(DoubleTrio X, FocTrioOp func);
DoubleSingle solve_single_foc_single_op(DoubleSingle X, FocSingleOp func);
void print_state(size_t iter, gsl_multiroot_fsolver * s);