#include "POLAR/Continuous.h"

using namespace flowstar;
using namespace std;

// Benchmark 1
void remainder_linear_taylor_benchmark1(Matrix<Interval> &remainder, Matrix<Interval> &domain);

void dynamics_linear_taylor_benchmark1(Matrix<string> &dynamics, Matrix<double> &coeff, Matrix<double> &const_term, Matrix<Interval> &domain);

// Benchmark 2
void remainder_linear_taylor_benchmark2(Matrix<Interval> &remainder, Matrix<Interval> &domain);

void dynamics_linear_taylor_benchmark2(Matrix<string> &dynamics, Matrix<double> &coeff, Matrix<double> &const_term, Matrix<Interval> &domain);

// Benchmark 3
void remainder_linear_taylor_benchmark3(Matrix<Interval> &remainder, Matrix<Interval> &domain);

void dynamics_linear_taylor_benchmark3(Matrix<string> &dynamics, Matrix<double> &coeff, Matrix<double> &const_term, Matrix<Interval> &domain);

// Benchmark 4
void remainder_linear_taylor_benchmark4(Matrix<Interval> &remainder, Matrix<Interval> &domain);

void dynamics_linear_taylor_benchmark4(Matrix<string> &dynamics, Matrix<double> &coeff, Matrix<double> &const_term, Matrix<Interval> &domain);

// Benchmark 5
void remainder_linear_taylor_benchmark5(Matrix<Interval> &remainder, Matrix<Interval> &domain);

void dynamics_linear_taylor_benchmark5(Matrix<string> &dynamics, Matrix<double> &coeff, Matrix<double> &const_term, Matrix<Interval> &domain);

// Benchmark 6
void remainder_linear_taylor_benchmark6(Matrix<Interval> &remainder, Matrix<Interval> &domain);

void dynamics_linear_taylor_benchmark6(Matrix<string> &dynamics, Matrix<double> &coeff, Matrix<double> &const_term, Matrix<Interval> &domain);