1791
1792
1793
1794
1795
1796
1797
1798 LOGICAL TSTFLAG
1799 INTEGER NOUT, NMAT
1800
1801
1802 CHARACTER*8 INFILE
1803 INTEGER M0(NMAT), N0(NMAT), LDAS0(NMAT), LDAD0(NMAT), LDI0(NMAT)
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843 LOGICAL MATOK
1844 INTEGER I
1845
1846
1847 matok = .true.
1848 DO 10 i = 1, nmat
1849 IF( m0(i) .LT. 0 ) THEN
1850 WRITE(nout,1000) infile, 'M', m0(i)
1851 matok = .false.
1852 ELSE IF( n0(i) .LT. 0 ) THEN
1853 WRITE(nout,1000) infile, 'N', n0(i)
1854 matok = .false.
1855 ELSE IF( ldas0(i) .LT. m0(i) ) THEN
1856 WRITE(nout,2000) infile, 'LDASRC', ldas0(i), m0(i)
1857 matok = .false.
1858 ELSE IF( ldad0(i) .LT. m0(i) ) THEN
1859 WRITE(nout,2000) infile, 'LDADST', ldad0(i), m0(i)
1860 matok = .false.
1861 ELSE IF( tstflag ) THEN
1862 IF( (ldi0(i).LT.m0(i)) .AND. (ldi0(i).NE.-1) ) THEN
1863 WRITE(nout,2000) infile, 'RCFLAG', ldi0(i), m0(i)
1864 matok = .false.
1865 END IF
1866 END IF
1867 10 CONTINUE
1868
1869 IF( .NOT.matok ) THEN
1870 IF( nout .NE. 6 .AND. nout .NE. 0 ) CLOSE(nout)
1871 CALL blacs_abort(-1, 1)
1872 END IF
1873
1874 1000 FORMAT(a8,' INPUT ERROR: Illegal ',a1,'; value=',i6,'.')
1875 2000 FORMAT(a8,' INPUT ERROR: Illegal ',a6,'; value=',i6,', but M=',i6)
1876
1877 RETURN