subroutine test_magic()
call lala( 'display(ones(80,1)''*61)')
call lala( 'help magic')
call lala( 'tally=[0];N=10')
if(logs)call lala( 'diary(''magic.log'');')
call lala( 'a=magic(N);')
call lala( 'b=sum(a);')
call lala( &
& 'display(ones(80,1)''*95); &
& if shape(a) = [N,N], &
& display(''magic shape OK''); &
& tally=[tally,0]; &
& else, &
& display(''magic shape BAD''); &
& shape(a), &
& tally=[tally,1]; ')
call lala( &
& 'if b = 5050, &
& display(''magic SUM OK''), &
& tally=[tally,0]; &
& else, &
& display(''magic SUM FAILED''); &
& shape(a), &
& tally=[tally,1]; &
& end ')
call lala( 'if sum(tally) = 0,display(''magic PASSED''),else,display(''magic FAILED'');tally')
end subroutine test_magic