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

◆ ibtsizeof()

integer function ibtsizeof ( character*1  type)

Definition at line 285 of file btprim.f.

286*
287* -- BLACS tester (version 1.0) --
288* University of Tennessee
289* December 15, 1994
290*
291* .. Scalar Arguments ..
292 CHARACTER*1 TYPE
293* ..
294*
295* Purpose
296* =======
297* IBTSIZEOF: Returns the size, in bytes, of the 5 data types.
298* If your platform has a different size for DOUBLE PRECISION, you must
299* change the parameter statement in BLACSTEST as well.
300*
301* Arguments
302* =========
303* TYPE (input) CHARACTER*1
304* The data type who's size is to be determined:
305* 'I' : INTEGER
306* 'S' : SINGLE PRECISION REAL
307* 'D' : DOUBLE PRECISION REAL
308* 'C' : SINGLE PRECISION COMPLEX
309* 'Z' : DOUBLE PRECISION COMPLEX
310*
311* =====================================================================
312*
313* .. External Functions ..
314 LOGICAL LSAME
315 EXTERNAL lsame
316* ..
317* .. Include Files ..
318 include 'mpif.h'
319* ..
320* .. Common Blocks ..
321 COMMON /btmpi/ btcomm, ierr
322 INTEGER BTCOMM, IERR
323* ..
324* .. Local Scalars ..
325 INTEGER LENGTH
326 LOGICAL INIT
327 DATA init /.false./
328* ..
329* .. Executable Statements ..
330*
331*
332* Initialize MPI, if necessary
333*
334 IF (.NOT.init) THEN
335 CALL mpi_initialized(init, ierr)
336 IF (.NOT.init) CALL mpi_init(ierr)
337 IF (ierr.NE.0) CALL btmpierr("mpi_init", ierr)
338 init = .true.
339 END IF
340*
341 IF( lsame(TYPE, 'I') ) THEN
342 CALL mpi_type_size( mpi_integer, length, ierr )
343 IF (ierr.NE.0) CALL btmpierr("MPI_TYPE_SIZE", ierr)
344 ELSE IF( lsame(TYPE, 'S') ) THEN
345 CALL mpi_type_size( mpi_real, length, ierr )
346 IF (ierr.NE.0) CALL btmpierr("MPI_TYPE_SIZE", ierr)
347 ELSE IF( lsame(TYPE, 'D') ) THEN
348 CALL mpi_type_size( mpi_double_precision, length, ierr )
349 IF (ierr.NE.0) CALL btmpierr("MPI_TYPE_SIZE", ierr)
350 ELSE IF( lsame(TYPE, 'C') ) THEN
351 CALL mpi_type_size( mpi_complex, length, ierr )
352 IF (ierr.NE.0) CALL btmpierr("MPI_TYPE_SIZE", ierr)
353 ELSE IF( lsame(TYPE, 'Z') ) THEN
354 CALL mpi_type_size( mpi_double_complex, length, ierr )
355 IF (ierr.NE.0) CALL btmpierr("MPI_TYPE_SIZE", ierr)
356 END IF
357 ibtsizeof = length
358*
359 RETURN
subroutine btmpierr(rout, ierr0)
Definition btprim.f:362
integer function ibtsizeof(type)
Definition btprim.f:286
logical function lsame(ca, cb)
Definition tools.f:1724
Here is the call graph for this function:
Here is the caller graph for this function: