Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

matvec::Session Class Reference

#include <session.h>

List of all members.


Detailed Description

A session class.

Definition at line 36 of file session.h.

Public Methods

 Session (void)
 ~Session (void)
Session & operator= (const Session &s)
void initialize (const std::string &td)
void clear (void)
std::string mktemp (void)

Public Attributes

MTRand mtr
int rand_seed
int warning
int output_precision
int output_line_width
double epsilon

Private Attributes

std::string tmpdir
std::vector< std::string > tmpfile


Constructor & Destructor Documentation

matvec::Session::Session void    [inline]
 

Definition at line 42 of file session.h.

References tmpdir.

00042 : tmpdir("") { }

matvec::Session::~Session void    [inline]
 

Definition at line 43 of file session.h.

References clear().

00043 { clear(); }


Member Function Documentation

void matvec::Session::clear void   
 

Definition at line 87 of file session.cpp.

References tmpfile.

Referenced by ~Session().

00088 {
00089    if (tmpfile.size() == 0) return;
00090    std::vector<std::string>::iterator it = tmpfile.begin();
00091    for (it = tmpfile.begin(); it != tmpfile.end(); ++it) std::remove(it->c_str());
00092    tmpfile.clear();
00093    return;
00094 }

void matvec::Session::initialize const std::string &    td
 

Definition at line 39 of file session.cpp.

References epsilon, output_line_width, output_precision, rand_seed, tmpdir, and warning.

00040 {
00041 
00042    tmpdir = d;
00043 #ifdef WIN32
00044    _fmode=O_BINARY;
00045 #endif
00046    DIR *dir = opendir(tmpdir.c_str());
00047    if (!dir) throw exception("Session::initialize(): " + d + ": No such directory");
00048    closedir(dir);
00049 
00050 
00051    warning = 1;
00052    rand_seed = -987654321;
00053    output_precision = 6;
00054    output_line_width = 80;
00055    epsilon = 1.0e-14; // was -14
00056    return;
00057 }

std::string matvec::Session::mktemp void   
 

Definition at line 59 of file session.cpp.

References tmpdir, and tmpfile.

Referenced by matvec::Pedigree::copyfrom(), matvec::Data::Data(), matvec::Pedigree::input(), matvec::Model::out_lsmeans_to_stream(), matvec::Pedigree::Pedigree(), matvec::Plotter::plot(), and matvec::Plotter::Plotter().

00060 {
00061    if (tmpdir == "") throw exception("Session::mktemp():  session is not initialized");
00062    char *fname;
00063 #ifndef WIN32
00064    fname= new char [tmpdir.length() + 11];
00065    strcpy(fname,tmpdir.c_str());
00066    strcat(fname,"/mv.XXXXXX");
00067 #endif
00068 
00069    int tfile;
00070    if (
00071 #ifdef WIN32
00072        !(fname=tempnam(tmpdir.c_str(),"mv."))
00073 #else
00074        mkstemp(fname)==-1
00075 #endif
00076        )   throw exception("Session::mktemp(): cannot make temporary filename");
00077    tmpfile.push_back(fname);
00078 #ifndef WIN32
00079    if(fname){
00080      delete [] fname;
00081      fname=0;
00082    }
00083 #endif
00084    return tmpfile.back();
00085 }

Session& matvec::Session::operator= const Session &    s [inline]
 

Definition at line 45 of file session.h.

References tmpdir, and tmpfile.

00045 { tmpdir = s.tmpdir; tmpfile=s.tmpfile;return(*this);}


Member Data Documentation

double matvec::Session::epsilon
 

Definition at line 40 of file session.h.

Referenced by matvec::Model::add_Ag(), matvec::Model::add_Ag_diag(), matvec::Model::add_Ig(), matvec::Model::add_Ig_diag(), matvec::GLMM::AI_REML(), matvec::betacf(), matvec::betain(), matvec::GLMM::Build_SinMat(), matvec::doubleMatrix::det(), matvec::BGMatrix::det(), matvec::Model::get_lms_kp(), matvec::doubleMatrix::ginv0(), matvec::doubleMatrix::ginv1(), matvec::BGMatrix::ginv1(), matvec::doubleMatrix::gs_solve(), matvec::BGMatrix::gs_solve(), initialize(), matvec::SparseMatrix::insert(), matvec::SparseBGMatrix::insert(), matvec::doubleMatrix::inv(), matvec::BGMatrix::inv(), matvec::inva22(), matvec::Model::inverse_residual_var(), matvec::doubleMatrix::logdet(), matvec::BGMatrix::logdet(), matvec::doubleMatrix::lu_solve(), matvec::BGMatrix::lu_solve(), matvec::doubleMatrix::mat_exp(), matvec::doubleMatrix::mat_exp_der(), matvec::doubleMatrix::mat_log(), matvec::doubleMatrix::psd(), matvec::BGMatrix::psd(), matvec::doubleMatrix::rank(), matvec::SparseMatrix::reset(), matvec::SparseBGMatrix::reset(), matvec::SparseMatrix::solve(), matvec::SparseBGMatrix::solve(), matvec::doubleMatrix::sqrtm(), matvec::BGMatrix::sqrtm(), matvec::doubleMatrix::symmetric(), matvec::BGMatrix::symmetric(), matvec::Model::vce_dfreml(), and matvec::Model::vce_emreml_single_trait().

MTRand matvec::Session::mtr
 

Definition at line 38 of file session.h.

Referenced by matvec::ranf().

int matvec::Session::output_line_width
 

Definition at line 39 of file session.h.

Referenced by initialize().

int matvec::Session::output_precision
 

Definition at line 39 of file session.h.

Referenced by matvec::GLMM::AI_REML(), matvec::GLMM::contrast(), matvec::Population::genotype_dist_peeling(), matvec::Model::info(), matvec::GLMM::info(), initialize(), matvec::Population::multi_geno_dist_peeling(), matvec::Population::multi_m_geno_dist_peeling(), matvec::Model::out_lsmeans_to_stream(), matvec::Pedigree::out_to_stream(), matvec::Vector< T >::print(), matvec::Matrix< T >::print(), matvec::Data::print(), matvec::Model::save(), matvec::GLMM::save(), matvec::Data::stat(), matvec::Model::vce_emreml_multi_trait(), matvec::Model::vce_emreml_single_trait(), and matvec::Model::vce_gibbs().

int matvec::Session::rand_seed
 

Definition at line 39 of file session.h.

Referenced by initialize(), and matvec::ran1().

std::string matvec::Session::tmpdir [private]
 

Definition at line 52 of file session.h.

Referenced by initialize(), mktemp(), operator=(), and Session().

std::vector<std::string> matvec::Session::tmpfile [private]
 

Definition at line 53 of file session.h.

Referenced by clear(), mktemp(), and operator=().

int matvec::Session::warning
 

Definition at line 39 of file session.h.

Referenced by initialize(), matvec::GLMM::log_likelihood(), matvec::Population::mblup(), matvec::Population::mblup1(), matvec::Model::restricted_log_likelihood(), matvec::GLMM::restricted_log_likelihood(), matvec::Model::vce_emreml_multi_trait(), and matvec::Model::vce_emreml_single_trait().


The documentation for this class was generated from the following files:
Generated on Thu Jun 16 17:14:48 2005 for Matvec by doxygen1.2.16