demo_M_matrix.f90 Source File


Contents

Source Code


Source Code

      program demo_M_matrix
      use M_matrix, only : lala, put_into_lala, get_from_lala, ifin_lala
      !real,allocatable             :: r
      !complex,allocatable          :: cvec(:)
      integer,allocatable          :: iarr(:,:)
      character(len=:),allocatable :: t(:)
      integer                      :: ierr
      integer                      :: i

      ! store some data into lala(3)
      call put_into_lala('A',[1,2,3,4,5]*10.5,ierr)
      write(*,*)'is A defined in LALA?',ifin_lala('A')
      call lala('A/2.0')

      ! pass some commands to lala(3f)
      call lala([character(len=80) :: &
      &'PI=atan(1)*4               ', &
      &"mytitle='this is my title';", &
      &'littlearray=<              ', &
      &'   1 2 3;                  ', &
      &'   4 5 6;                  ', &
      &'   7 8 9;                  ', &
      &'>                          ', &
      &'S=sum(A)                   ', &
      &'I=inv(littlearray);        ', &
      &'B=littlearray*sin(PI/3)    ', &
      &"save('keepB',B)            ", &
      &''])

      ! read a file containing lala(3f) commands
      call lala("exec('mycommands');")

      ! interactively interact with lala(3f) interpreter
      call lala()

      ! get some data from LALA into the calling program
      call get_from_lala('littlearray',iarr,ierr)
      write(*,'(a)')'IN CALLING PROGRAM IARR='
      write(*,'(1x,*(g0,1x))')(IARR(i,:),new_line('A'),i=1,size(iarr,dim=1))

      call get_from_lala('mytitle',t,ierr)
      write(*,*)'IN CALLING PROGRAM T=',t

      end program demo_M_matrix