void operator () (int) const { #ifdef USE_ADAPTOR try { M m1 (N, N), m2 (N, N), m3 (N, N); ublas::triangular_adaptor<M> tam1 (m1), tam2 (m2), tam3 (m3); (*this) (tam1, tam2, tam3); #ifdef USE_RANGE ublas::matrix_range<ublas::triangular_adaptor<M> > mr1 (tam1, ublas::range (0, N), ublas::range (0, N)), mr2 (tam2, ublas::range (0, N), ublas::range (0, N)), mr3 (tam3, ublas::range (0, N), ublas::range (0, N)); (*this) (mr1, mr2, mr3); #endif #ifdef USE_SLICE ublas::matrix_slice<ublas::triangular_adaptor<M> > ms1 (tam1, ublas::slice (0, 1, N), ublas::slice (0, 1, N)), ms2 (tam2, ublas::slice (0, 1, N), ublas::slice (0, 1, N)), ms3 (tam3, ublas::slice (0, 1, N), ublas::slice (0, 1, N)); (*this) (ms1, ms2, ms3); #endif } catch (std::exception &e) { std::cout << e.what () << std::endl; } catch (...) { std::cout << "unknown exception" << std::endl; } #endif }
void operator () (int) const { #ifdef USE_ADAPTOR { V v1 (N), v2 (N); M m1 (N, N); ublas::symmetric_adaptor<M> tam1 (m1); test_with (v1, v2, tam1); ublas::matrix_row<ublas::symmetric_adaptor<M> > mr1 (tam1, N - 1), mr2 (tam1, N - 1); test_with (mr1, mr2, tam1); ublas::matrix_column<ublas::symmetric_adaptor<M> > mc1 (tam1, 0), mc2 (tam1, 0); test_with (mc1, mc2, tam1); #ifdef USE_RANGE ublas::matrix_vector_range<ublas::symmetric_adaptor<M> > mvr1 (tam1, ublas::range (0, N), ublas::range (0, N)), mvr2 (tam1, ublas::range (0, N), ublas::range (0, N)); test_with (mvr1, mvr2, tam1); #endif #ifdef USE_SLICE ublas::matrix_vector_slice<ublas::symmetric_adaptor<M> > mvs1 (tam1, ublas::slice (0, 1, N), ublas::slice (0, 1, N)), mvs2 (tam1, ublas::slice (0, 1, N), ublas::slice (0, 1, N)); test_with (mvs1, mvs2, tam1); #endif } #endif }
void operator () (int) const { #ifdef USE_ADAPTOR try { V v1 (N), v2 (N); M m1 (N, N); ublas::symmetric_adaptor<M> tam1 (m1); (*this) (v1, v2, tam1); ublas::matrix_row<ublas::symmetric_adaptor<M> > mr1 (tam1, N - 1), mr2 (tam1, N - 1); (*this) (mr1, mr2, tam1); ublas::matrix_column<ublas::symmetric_adaptor<M> > mc1 (tam1, 0), mc2 (tam1, 0); (*this) (mc1, mc2, tam1); #ifdef USE_RANGE_AND_SLICE ublas::matrix_vector_range<ublas::symmetric_adaptor<M> > mvr1 (tam1, ublas::range (0, N), ublas::range (0, N)), mvr2 (tam1, ublas::range (0, N), ublas::range (0, N)); (*this) (mvr1, mvr2, tam1); ublas::matrix_vector_slice<ublas::symmetric_adaptor<M> > mvs1 (tam1, ublas::slice (0, 1, N), ublas::slice (0, 1, N)), mvs2 (tam1, ublas::slice (0, 1, N), ublas::slice (0, 1, N)); (*this) (mvs1, mvs2, tam1); #endif } catch (std::exception &e) { std::cout << e.what () << std::endl; } catch (...) { std::cout << "unknown exception" << std::endl; } #endif }
void operator () () const { { M m1 (N, N), m2 (N, N), m3 (N, N); test_with (m1, m2, m3); #ifdef USE_RANGE ublas::matrix_range<M> mr1 (m1, ublas::range (0, N), ublas::range (0, N)), mr2 (m2, ublas::range (0, N), ublas::range (0, N)), mr3 (m3, ublas::range (0, N), ublas::range (0, N)); test_with (mr1, mr2, mr3); #endif #ifdef USE_SLICE ublas::matrix_slice<M> ms1 (m1, ublas::slice (0, 1, N), ublas::slice (0, 1, N)), ms2 (m2, ublas::slice (0, 1, N), ublas::slice (0, 1, N)), ms3 (m3, ublas::slice (0, 1, N), ublas::slice (0, 1, N)); test_with (ms1, ms2, ms3); #endif } #ifdef USE_ADAPTOR { M m1 (N, N), m2 (N, N), m3 (N, N); ublas::triangular_adaptor<M> tam1 (m1), tam2 (m2), tam3 (m3); test_with (tam1, tam2, tam3); #ifdef USE_RANGE ublas::matrix_range<ublas::triangular_adaptor<M> > mr1 (tam1, ublas::range (0, N), ublas::range (0, N)), mr2 (tam2, ublas::range (0, N), ublas::range (0, N)), mr3 (tam3, ublas::range (0, N), ublas::range (0, N)); test_with (mr1, mr2, mr3); #endif #ifdef USE_SLICE ublas::matrix_slice<ublas::triangular_adaptor<M> > ms1 (tam1, ublas::slice (0, 1, N), ublas::slice (0, 1, N)), ms2 (tam2, ublas::slice (0, 1, N), ublas::slice (0, 1, N)), ms3 (tam3, ublas::slice (0, 1, N), ublas::slice (0, 1, N)); test_with (ms1, ms2, ms3); #endif } #endif }