anchor.diff:      integer,allocatable,private::jA(:) !< CSR index array (size nNz)
       double precision,allocatable,private::A(:) !< CSR value array
     contains
  -    procedure::initLinEq
  +    procedure,public::initLinEq
       procedure,public::clear=>clearLinEq
       procedure,public::setCSR=>setCSRLinEq
       procedure,public::setCOO=>setCOOLinEq
  
positive.code:       integer,intent(in)::ir(*),jc(*)
        double precision,intent(inout)::ao(*)
        integer,intent(inout)::jao(*),iao(*)
      end subroutine
      
      !> ILUT factorization
  
negative.code: module modSparse
    use iso_c_binding
    private
    
    ! constants
    integer,parameter,public::CSR_CLEAN=1 !< remove CSR duplicated/zero entries
    integer,parameter,public::CSR_CLEAN_PSORT=2 !< remove CSR duplicated/zero entries, partial sort
    integer,parameter,public::CSR_CLEAN_SORT=3 !< remove CSR duplicated/zero entries, full sort
    
    !> generic CSR linear equation object
    type,public::linEq
  