コード例 #1
0
ファイル: ibex_Function.cpp プロジェクト: nicolaje/IBEX
IntervalMatrix Function::eval_affine2_matrix(const IntervalVector& box, Affine2Matrix& affine) const {
	ExprLabel res = Affine2Eval().eval_label(*this,box);
	affine = Affine2Matrix(expr().dim.dim2, expr().dim.dim3);

	switch (expr().dim.type()) {
	case Dim::SCALAR     : {
		affine[0][0] = res.af2->i();
		return IntervalMatrix(1,1,res.d->i());
	}
	case Dim::ROW_VECTOR : {
		affine.set_row(0,res.af2->v());
		IntervalMatrix M(image_dim(),1);
		M.set_row(0,res.d->v());
		return M;
	}
	case Dim::COL_VECTOR : {
		affine.set_col(0,res.af2->v());
		IntervalMatrix M(1,image_dim());
		M.set_col(0,res.d->v());
		return M;
	}
	case Dim::MATRIX: {
		affine = res.af2->m();
		return res.d->m();
	}
	default : {
		assert(false);
	}
	}
}
コード例 #2
0
ファイル: ibex_Fnc.cpp プロジェクト: ClementAubry/ibex-lib
IntervalMatrix Fnc::eval_matrix(const IntervalVector& x) const {
	not_implemented("eval_matrix");
	return IntervalMatrix(0,0);
}