| typedef unsigned int u32; | |
| typedef unsigned short u16; | |
| typedef unsigned char u8; | |
| extern u32 mats[]; | |
| /* Simple class for throwing exceptions */ | |
| class stc_exception : public std::exception { | |
| public: | |
| stc_exception(std::string message, u32 error_id) { this->message = message; this->error_id = error_id; } | |
| virtual ~stc_exception() throw() {} | |
| virtual const char* what() const throw() { return message.c_str(); } | |
| u32 error_id; | |
| private: | |
| std::string message; | |
| }; | |
| /* | |
| The following error_ids are in use: | |
| 1 = Submatrix height must not exceed 31. | |
| 2 = Not enough memory. | |
| 3 = The message cannot be longer than the cover object. | |
| 4 = No solution exists. - This happen when there are too many Inf values in cost vector and thus the solution does not exist due to sparse parity-check matrix. | |
| 5 = Price vector limit exceeded. - There is a limit to cost elements when you use integer version of the algorithm. Try to use costs in double. | |
| 6 = Maximum number of trials in layered construction exceeded. | |
| */ | |
| u32 *getMatrix(int width, int height); | |