anchor.diff:        integer,intent(in)::ir(*),jc(*)
         double precision,intent(inout)::ao(*)
         integer,intent(inout)::jao(*),iao(*)
  +    end subroutine
  +    
  +    !> CSR format cleanup and sort
  +    subroutine clncsr(job,value2,nrow,a,ja,ia,indu,iwk)
  +      integer,intent(in)::job,value2,nrow
  +      integer,intent(inout)::ia(nrow+1),ja(*)
  +      double precision,intent(inout)::a(*)
  +      integer,intent(inout)::indu(nrow),iwk(nrow+1)
       end subroutine
       
       !> ILUT factorization
  
positive.code: module modSparse
    use iso_c_binding
    private
    
    !> generic CSR linear equation object
    type,public::linEq
  
negative.code:     integer,allocatable,private::jA(:) !< CSR index array (size nNz)
      double precision,allocatable,private::A(:) !< CSR value array
    contains
      procedure,public::initLinEq
      procedure,public::clear=>clearLinEq
      procedure,public::setCSR=>setCSRLinEq
      procedure,public::setCOO=>setCOOLinEq
  