Print

Print


Van Snyder asked
> I think P1 should be
>  11 12 13 14 21 22 23 24 31 32 33 34 41 42 43 44
> and P2 should be
>   1  5  9 13
>   2  6 10 14
>   3  7 11 15
>   4  8 12 16
> 
> 1.  What do you think the "right" answers are for P1 and P2?
> 2.  Do you have a compiler that does what you (or I) expect?

I am extremely hesitant to question Van's thoughts but is there any
reason why the output of P1 => res(reshape(t2,(/16/))) should not be
the same as the output of reshape(t2,(/16/)) ?
(Similarly P2 => res(reshape(t1,(/4,4/))) should look the same as
 reshape(t1,(/4,4/)) ).

Consequently I think P1 should be
11 21 31 41 12 22 32 42 13 23 33 43 14 24 34 44
and (p2(i,:),i=1,4)
 1  5  9 13
 2  6 10 14
 3  7 11 15
 4  8 12 16
which is exactly what I get from DEC compliers on VMS and Tru64.
(I compared print *, p1 with print *, t2 and print *, p2 with print *,t1
as a sanity check)

However, with Fujitsu on Linux my output from Van's code is as follows.
This is obviously a problem area.  Has somebody already reported this
to Fujitsu ?

 T1 =
  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16
 T2 =
 11 12 13 14
 21 22 23 24
 31 32 33 34
 41 42 43 44
 P1 => res(reshape(t2,(/16/))) =
  0***************  0  0  0  0  0  0  0  0  0  1
 P2 => res(reshape(t1,(/4,4/))) =
  0***  0  0
******  0  0
***  0  0  0
***  0  0  1
 SHAPE(P1) = 16
 SHAPE(P2) = 4 4

Bob ([log in to unmask])


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%