79 using namespace shogun;
81 #ifndef DOXYGEN_SHOULD_SKIP_THIS
82 void fatalError(
const char *msg1,
const char *msg2);
87 QPproblem::QPproblem()
93 projection_solver = SOLVER_FLETCHER;
94 projection_projector = 1;
109 QPproblem::~QPproblem()
117 void QPproblem::Subproblem(QPproblem &p, int32_t len, int32_t *perm)
121 memcpy(
this, &p,
sizeof(QPproblem));
124 KER->SetSubproblem(p.KER, len, perm);
126 for (k = 0; k < ell; k++)
135 int32_t prescan_document(
char *file, int32_t *lines, int32_t *vlen, int32_t *ll)
140 int64_t current_length, current_vlen;
142 if ((fl = fopen (file,
"r")) == NULL)
152 while ((ic = getc(fl)) != EOF)
163 if (current_length > (*ll))
164 *ll = current_length;
165 if (current_vlen > (*vlen))
166 *vlen = current_vlen;
178 int32_t QPproblem::Check2Class()
182 for (i = 1; i < ell; i++)
194 int32_t n, int32_t part, int32_t parts, int32_t *dim, int32_t *off)
207 *off = *dim * part + r;
213 sKernel::sKernel (
CKernel* k, int32_t l)
223 KernelEvaluations = 0.0;
229 void sKernel::SetData(
230 float32_t **x_, int32_t **ix_, int32_t *lx_, int32_t _ell, int32_t _dim)
247 for (k = 0; k < lx[i]; k++)
248 vaux[ix[i][k]] = x[i][k];
251 for (i = 0; i < ell; i++)
254 for (j = 0; j < lx[i]; j++)
262 void sKernel::SetSubproblem(sKernel* ker, int32_t len, int32_t *perm)
275 for (k = 0; k < len; k++)
277 x[k] = ker->x[perm[k]];
278 ix[k] = ker->ix[perm[k]];
279 lx[k] = ker->lx[perm[k]];
280 nor[k] = ker->nor[perm[k]];
285 for (k = 0; k < lx[vauxRow]; k++)
286 vaux[ix[vauxRow][k]] = x[vauxRow][k];
303 for (i = 0; i < ell; i++)
310 for (i = 0; i < ell; i++)
316 #endif // DOXYGEN_SHOULD_SKIP_THIS