| transpose.cxx |  | 
Demonstrate MultiArrayView::transpose() 
 Usage: transpose
#include <iostream>
#include <vigra/multi_array.hxx>
#include <vigra/linear_algebra.hxx>
using namespace vigra;
template <class T>
{
    for(
int y=0; y<array.
shape(1); ++y)
 
    {
        for(
int x=0; x<array.
shape(0); ++x)
 
            std::cout << array(x, y) << "  ";
        std::cout << "\n";
    }
}
int main (int argc, char ** argv)
{
    
    
    
    for (int i = 0; i < base_array.size(); i++) 
    {
        base_array[i] = i % base_array.shape(0);
    }
    std::cout << "base_array:\n";
    print(base_array);
    
    std::cout << "transarray:\n";
    print(transarray);
    std::cout << "transArrayView:\n";
    print(transarrayView);
    
    transarray = 5;
    std::cout << "base_array after setting transarray to 5\n(no change, since transarray is a copy):\n";
    print(base_array);
    
    transarrayView = 5;
    std::cout << "base_array after setting transarrayView to 5\n(base_array changes because transarrayView is a view):\n";
    print(base_array);
    
    
    
    std::cout << "Shape of array5D: " << array5D.shape() << "\n";
    
    
    std::cout << 
"Shape of array5D view after default transpose(): " << arrayview5D.
shape() << 
"\n";
    
    
    
    std::cout << 
"Shape of array5D view after user-defined transpose(): " << arrayview5D_permuted.
shape() << 
"\n";
    std::cout << "    (applied permutation 2 => 0, 1 => 1, 3 => 2, 4 => 3, 0 => 4 to the axes)\n";
    return 0;
}