本文整理汇总了C++中AzDvect::add方法的典型用法代码示例。如果您正苦于以下问题:C++ AzDvect::add方法的具体用法?C++ AzDvect::add怎么用?C++ AzDvect::add使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AzDvect
的用法示例。
在下文中一共展示了AzDvect::add方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: prod
/*-------------------------------------------------------------*/
void AzDmat::prod(const AzDmat *m0, const AzDmat *m1, bool is_m0_tran, bool is_m1_tran)
{
const char *eyec = "AzDmat::prod";
if (is_m1_tran) {
throw new AzException(eyec, "No support for the transpose of the second matrix");
}
if (is_m0_tran) {
reform(m0->colNum(), m1->colNum());
for (int col = 0; col < m1->colNum(); ++col) {
AzDvect *myv = col_u(col);
const AzDvect *v1 = m1->col(col);
for (int row = 0; row < rowNum(); ++row) {
double val = m0->col(col)->innerProduct(v1);
myv->set(row, val);
}
}
}
else {
reform(m0->rowNum(), m1->colNum());
for (int col = 0; col < m1->colNum(); ++col) {
AzDvect *myv = col_u(col);
const AzDvect *v1 = m1->col(col);
for (int row1 = 0; row1 < v1->rowNum(); ++row1) {
myv->add(m0->col(row1), v1->get(row1));
}
}
}
}
示例2: count
void count(const AzPmat *m) {
if (v_border.rowNum() == 0) init_count();
AzDmat md; m->get(&md);
const double *border = v_border.point();
int row, col;
for (col = 0; col < md.colNum(); ++col) {
for (row = 0; row < md.rowNum(); ++row) {
double val = md.get(row, col);
int bx;
for (bx = 0; bx < v_border.rowNum(); ++bx) {
if (val <= border[bx]) {
v_pop.add(bx, 1);
break;
}
}
}
}
}
示例3: resetTarDw_residual
void resetTarDw_residual(const AzDvect *v_p) { /* only for LS */
v_tar_dw.set(&v_y);
v_tar_dw.add(v_p, -1);
}