program OCsos_
  !! Paul Sava (paul@sep.stanford.edu)
  !! 04/07/04
  use sep
  use wei_util

  use oc_global_mod 
  use oc_utils_mod 
  use oc_dottest_mod 
  use oc_sos_mod

  logical            :: verb
  integer            :: stat
  character(len=128) :: m_,d_
  logical            :: adj,add
  integer :: op

  call sep_init()

  call from_param('verb',verb,.false.)
  call from_param("adj",adj,.false.)
  call from_param("add",add,.false.)
  call from_param("op",op,0)

  if(verb) then
     write(0,*) "adj=",adj
     write(0,*) "add=",add
     write(0,*) " op=",op
  end if

  m_ = 'm'; call auxinout(m_)
  d_ = 'd'; call auxinout(d_)

  call sep_close()

  if(adj) then
     call oc_sos_init(d_)
  else
     call oc_sos_init(m_)
  end if

  if(op==0) then
     write(0,*) "dot product test"
     call oc_dottest(oc_sos,m_,d_ )
  else
     write(0,*) "operator adj=",adj
     stat=oc_sos(adj,add,m_,d_)
  end if

  call exit(0)
end program OCSOS_










