#ifndef __FILE_SVMOD_H_SEEN__
#define __FILE_SVMOD_H_SEEN__ 

#include "libscl.h"

struct sample {
  REAL x0;
  scl::realmat x;
  scl::realmat y;
  sample(INTEGER n) : x0(0.0), x(1,n), y(1,n) { }
};

class svmod {
private:
  REAL phi;
  REAL sigma;
  REAL beta;
public:
  svmod() : phi(0.9),sigma(0.5),beta(0.01) { }
  void set_parms(const scl::realmat& theta);
  scl::realmat get_parms() const;
  REAL draw_x0(INT_32BIT& seed) const;
  REAL draw_xt(REAL xlag, INT_32BIT& seed) const;
  REAL prob_yt(REAL yt, REAL xt) const;
  sample draw_sample(INTEGER n, INT_32BIT& seed) const;
};

#endif

