#include <iostream>
#include <sstream>
#include <vector>
using namespace std;
extern matrix multiplicate(matrix*, matrix*);
extern matrix multiplicate(matrix*, float);
extern matrix add(matrix*, matrix*);
extern matrix substract(matrix*, matrix*);
extern matrix invert(matrix*);
extern matrix transpose(matrix*);
extern float determinant(matrix*);
extern matrix get_row(int, matrix*);
extern matrix get_column(int, matrix*);
extern int is_identical(matrix*, matrix*);
extern matrix get_matrix_ex_r_c(int, int, matrix*);
extern int random_number(int min, int max);
extern string gen_text_matrix(matrix*);
extern string export_matrix(matrix*);
extern matrix gen_matrix_from_text(int, int, const string&);
extern void tokenize_string(const string&, vector<string>&, const string&);
template <typename T> extern string to_string(const T& value);
/*
* Converts a type into string
*/
template <typename T>
string to_string(const T& value)
{
ostringstream oss;
oss << value;
return oss.str();
}
/*
* used when generating text matrices
* by 'gen_text_matrix()'
*/
struct TabItem
{
float num_tabs; // tabs to add
float val_one_tab; // the value to add one tab to
};
syntax highlighted by Code2HTML, v. 0.9.1