Xmipp  v3.23.11-Nereus
Public Member Functions | List of all members
ONE_CLASS_Q Class Reference
Inheritance diagram for ONE_CLASS_Q:
Inheritance graph
[legend]
Collaboration diagram for ONE_CLASS_Q:
Collaboration graph
[legend]

Public Member Functions

 ONE_CLASS_Q (const svm_problem &prob, const svm_parameter &param)
 
Qfloatget_Q (int i, int len) const
 
double * get_QD () const
 
void swap_index (int i, int j) const
 
 ~ONE_CLASS_Q ()
 
- Public Member Functions inherited from Kernel
 Kernel (int l, svm_node *const *x, const svm_parameter &param)
 
virtual ~Kernel ()
 
- Public Member Functions inherited from QMatrix
virtual ~QMatrix ()
 

Additional Inherited Members

- Static Public Member Functions inherited from Kernel
static double k_function (const svm_node *x, const svm_node *y, const svm_parameter &param)
 
- Protected Attributes inherited from Kernel
double(Kernel::* kernel_function )(int i, int j) const
 

Detailed Description

Definition at line 1322 of file svm.cpp.

Constructor & Destructor Documentation

◆ ONE_CLASS_Q()

ONE_CLASS_Q::ONE_CLASS_Q ( const svm_problem prob,
const svm_parameter param 
)
inline

Definition at line 1325 of file svm.cpp.

1326  :Kernel(prob.l, prob.x, param)
1327  {
1328  cache = new Cache(prob.l,(long int)(param.cache_size*(1<<20)));
1329  QD = new double[prob.l];
1330  for(int i=0;i<prob.l;i++)
1331  QD[i] = (this->*kernel_function)(i,i);
1332  }
double(Kernel::* kernel_function)(int i, int j) const
Definition: svm.cpp:224
#define i
Definition: svm.cpp:73
double cache_size
Definition: svm.h:43
Kernel(int l, svm_node *const *x, const svm_parameter &param)
Definition: svm.cpp:259
struct svm_node ** x
Definition: svm.h:26
int l
Definition: svm.h:24

◆ ~ONE_CLASS_Q()

ONE_CLASS_Q::~ONE_CLASS_Q ( )
inline

Definition at line 1358 of file svm.cpp.

1359  {
1360  delete cache;
1361  delete[] QD;
1362  }

Member Function Documentation

◆ get_Q()

Qfloat* ONE_CLASS_Q::get_Q ( int  i,
int  len 
) const
inlinevirtual

Implements Kernel.

Definition at line 1334 of file svm.cpp.

1335  {
1336  Qfloat *data;
1337  int start, j;
1338  if((start = cache->get_data(i,&data,len)) < len)
1339  {
1340  for(j=start;j<len;j++)
1341  data[j] = (Qfloat)(this->*kernel_function)(i,j);
1342  }
1343  return data;
1344  }
int get_data(const int index, Qfloat **data, int len)
Definition: svm.cpp:132
double(Kernel::* kernel_function)(int i, int j) const
Definition: svm.cpp:224
#define i
float Qfloat
Definition: svm.cpp:18
#define j
#define len

◆ get_QD()

double* ONE_CLASS_Q::get_QD ( ) const
inlinevirtual

Implements Kernel.

Definition at line 1346 of file svm.cpp.

1347  {
1348  return QD;
1349  }

◆ swap_index()

void ONE_CLASS_Q::swap_index ( int  i,
int  j 
) const
inlinevirtual

Reimplemented from Kernel.

Definition at line 1351 of file svm.cpp.

1352  {
1353  cache->swap_index(i,j);
1355  swap(QD[i],QD[j]);
1356  }
#define i
virtual void swap_index(int i, int j) const
Definition: svm.cpp:217
#define j
void swap_index(int i, int j)
Definition: svm.cpp:162

The documentation for this class was generated from the following file: