subroutine test_norm ()
call lala( 'display(ones(80,1)''*61);help norm;display(ones(80,1)''*95)')
if(logs)call lala( 'diary(''norm.log'');')
call lala( [ character(len=256) :: &
&'tally=[0]''; ',&
&'//diary(''norm'') ',&
&'long ',&
&'X=magic(5); ',&
&'XX=X(:); ',&
&'// A is answer, E is expected ',&
&'A=norm(XX) ;E=74.330343736592525 ; if abs(A/E)-1<=2*eps,tally=[tally,0];else,tally=[tally,x];A,E,A-E,eps,abs(A/E)-1',&
&'A=norm(X,''inf'') ;E=65.0 ; if abs(A/E)-1<=2*eps,tally=[tally,0];else,tally=[tally,x];A,E,A-E,eps,abs(A/E)-1',&
&'A=norm(XX,''inf'');E=25.0 ; if abs(A/E)-1<=2*eps,tally=[tally,0];else,tally=[tally,x];A,E,A-E,eps,abs(A/E)-1',&
&'A=norm(X,1) ;E=65.0 ; if abs(A/E)-1<=2*eps,tally=[tally,0];else,tally=[tally,x];A,E,A-E,eps,abs(A/E)-1',&
&'A=norm(X,2) ;E=65.0 ; if abs(A/E)-1<=2*eps,tally=[tally,0];else,tally=[tally,x];A,E,A-E,eps,abs(A/E)-1',&
&'A=norm(X,''fro'') ;E=74.330343736592525 ; if abs(A/E)-1<=2*eps,tally=[tally,0];else,tally=[tally,x];A,E,A-E,eps,abs(A/E)-1',&
&'A=norm(XX,1) ;E=325.0 ; if abs(A/E)-1<=2*eps,tally=[tally,0];else,tally=[tally,x];A,E,A-E,eps,abs(A/E)-1',&
&'A=norm(XX,''inf'');E=25.0 ; if abs(A/E)-1<=2*eps,tally=[tally,0];else,tally=[tally,x];A,E,A-E,eps,abs(A/E)-1',&
&'A=norm(XX,2) ;E=74.330343736592525 ; if abs(A/E)-1<=2*eps,tally=[tally,0];else,tally=[tally,x];A,E,A-E,eps,abs(A/E)-1',&
&'A=norm(XX,3) ;E=47.270359729914041 ; if abs(A/E)-1<=2*eps,tally=[tally,0];else,tally=[tally,x];A,E,A-E,eps,abs(A/E)-1',&
&'A=norm(XX,1/2) ;E=7.333144324200370d+03; if abs(A/E)-1<=2*eps,tally=[tally,0];else,tally=[tally,x];A,E,A-E,eps,abs(A/E)-1',&
&'A=norm(XX,1/3) ;E=1.757406593784711d+05; if abs(A/E)-1<=2*eps,tally=[tally,0];else,tally=[tally,x];A,E,A-E,eps,abs(A/E)-1',&
&'A=norm(-XX,3) ;E=47.270359729914041 ; if abs(A/E)-1<=2*eps,tally=[tally,0];else,tally=[tally,x];A,E,A-E,eps,abs(A/E)-1',&
&'A=norm(-XX,-3) ;E=0.940699519035135 ; if abs(A/E)-1<=2*eps,tally=[tally,0];else,tally=[tally,x];A,E,A-E,eps,abs(A/E)-1',&
&'A=norm(-XX,1/3) ;E=1.757406593784711d+05; if abs(A/E)-1<=2*eps,tally=[tally,0];else,tally=[tally,x];A,E,A-E,eps,abs(A/E)-1',&
&'if sum(tally)=0,display(''norm PASSED'');else,display(''norm FAILED'') ',&
&'display(tally,1); ',&
&'quit ',&
&'//============================================================================== ',&
&'// YOU SHOULD GET THE FOLLOWING ERROR MESSAGE ',&
&'// norm(-X,-3) ',&
&'// /\--ERROR:Only 1, 2 or INF norm of matrix ',&
&'//============================================================================== ',&
&'// MACROS DID NOT WORK, ACTED LIKE ELSE COMMANDS NOT PRESENT 20210510 ',&
&"//T= 'if abs(A - E) = 0, display(''PASSED''),else,display(''FAILED''),A,E,A-E,eps,abs(A/E)-1'; ",&
&"//T= 'if abs(A - E) <= eps, display(''PASSED''),else,display(''FAILED''),A,E,A-E,eps,abs(A/E)-1'; ",&
&"//T= 'if abs(A/E)-1 <= 2*eps, display(''PASSED''),else,display(''FAILED''),A,E,A-E,eps,abs(A/E)-1'; ",&
&'display(T,1) ',&
&"//============================================================================== ",&
&""])
end subroutine test_norm