Example #1
0
Matrix *append( Matrix *m, Coordinate position, double theta ) {
	Matrix *givens  = makeGivens( m->height, position, theta, 0 )
	     , *product = multiply( m, givens )
	;

	freeMatrix( givens );
	return product;
}
Example #2
0
Matrix *rotate( Matrix *m, Coordinate position, double theta ) {
	Matrix *givens = makeGivens( m->height, position, theta, 1 )
	     , *product
	;

	product = multiply( givens, m );
	inverseGivens( givens, position );
	product = multiply( product, givens )

	freeMatrix( givens );
	return product;
}
Example #3
0
 Givens::Givens(double a, double b, Index i, Index j, double* z)
   :i(i), j(j)
 {
   makeGivens(a,b,i,j,z);
 }