SCALAPACK 2.2.2
LAPACK: Linear Algebra PACKage
Loading...
Searching...
No Matches

◆ chkmatdat()

subroutine chkmatdat ( integer  nout,
character*8  infile,
logical  tstflag,
integer  nmat,
integer, dimension(nmat)  m0,
integer, dimension(nmat)  n0,
integer, dimension(nmat)  ldas0,
integer, dimension(nmat)  ldad0,
integer, dimension(nmat)  ldi0 
)

Definition at line 1789 of file blacstest.f.

1791*
1792* -- BLACS tester (version 1.0) --
1793* University of Tennessee
1794* December 15, 1994
1795*
1796*
1797* .. Scalar Arguments ..
1798 LOGICAL TSTFLAG
1799 INTEGER NOUT, NMAT
1800* ..
1801* .. Array Arguments ..
1802 CHARACTER*8 INFILE
1803 INTEGER M0(NMAT), N0(NMAT), LDAS0(NMAT), LDAD0(NMAT), LDI0(NMAT)
1804* ..
1805* Purpose
1806* =======
1807* CHKMATDAT: Checks that matrix data is correct.
1808*
1809* Arguments
1810* =========
1811* NOUT (input) INTEGER
1812* The device number to write output to.
1813*
1814* INFILE (input) CHARACTER*8
1815* The name of the input file where matrix values came from.
1816*
1817* TSTFLAG (input) LOGICAL
1818* Whether to test RCFLAG (LDI) values or not.
1819*
1820* NMAT (input) INTEGER
1821* The number of matrices to be tested.
1822*
1823* M0 (input) INTEGER array of dimension (NMAT)
1824* Values of M to be tested.
1825*
1826* M0 (input) INTEGER array of dimension (NMAT)
1827* Values of M to be tested.
1828*
1829* N0 (input) INTEGER array of dimension (NMAT)
1830* Values of N to be tested.
1831*
1832* LDAS0 (input) INTEGER array of dimension (NMAT)
1833* Values of LDAS (leading dimension of A on source process)
1834* to be tested.
1835*
1836* LDAD0 (input) INTEGER array of dimension (NMAT)
1837* Values of LDAD (leading dimension of A on destination
1838* process) to be tested.
1839*
1840* ====================================================================
1841*
1842* .. Local Scalars ..
1843 LOGICAL MATOK
1844 INTEGER I
1845* ..
1846* .. Executable Statements ..
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
Here is the caller graph for this function: