
/*** DO NOT EDIT THIS FILE DIRECTLY (use ../config/gen_code.sh to generate) ***/

#ifndef hypre_SEQ_BLOCK_MV_MUP_HEADER
#define hypre_SEQ_BLOCK_MV_MUP_HEADER

#ifdef __cplusplus
extern "C" {
#endif

#if defined (HYPRE_MIXED_PRECISION)

/*** DO NOT EDIT THIS FILE DIRECTLY (use ../config/gen_code.sh to generate) ***/

/******************************************************************************
 * Copyright (c) 1998 Lawrence Livermore National Security, LLC and other
 * HYPRE Project Developers. See the top-level COPYRIGHT file for details.
 *
 * SPDX-License-Identifier: (Apache-2.0 OR MIT)
 ******************************************************************************/


HYPRE_Int
hypre_DenseBlockMatrixBuildAOP_flt( hypre_DenseBlockMatrix *A );
HYPRE_Int
hypre_DenseBlockMatrixBuildAOP_dbl( hypre_DenseBlockMatrix *A );
HYPRE_Int
hypre_DenseBlockMatrixBuildAOP_long_dbl( hypre_DenseBlockMatrix *A );

hypre_DenseBlockMatrix*
hypre_DenseBlockMatrixClone_flt( hypre_DenseBlockMatrix *A, HYPRE_Int copy_data );
hypre_DenseBlockMatrix*
hypre_DenseBlockMatrixClone_dbl( hypre_DenseBlockMatrix *A, HYPRE_Int copy_data );
hypre_DenseBlockMatrix*
hypre_DenseBlockMatrixClone_long_dbl( hypre_DenseBlockMatrix *A, HYPRE_Int copy_data );

HYPRE_Int
hypre_DenseBlockMatrixCopy_flt( hypre_DenseBlockMatrix *A, hypre_DenseBlockMatrix *B );
HYPRE_Int
hypre_DenseBlockMatrixCopy_dbl( hypre_DenseBlockMatrix *A, hypre_DenseBlockMatrix *B );
HYPRE_Int
hypre_DenseBlockMatrixCopy_long_dbl( hypre_DenseBlockMatrix *A, hypre_DenseBlockMatrix *B );

hypre_DenseBlockMatrix *
hypre_DenseBlockMatrixCreate_flt( HYPRE_Int row_major, HYPRE_Int num_rows, HYPRE_Int num_cols, HYPRE_Int num_rows_block, HYPRE_Int num_cols_block );
hypre_DenseBlockMatrix *
hypre_DenseBlockMatrixCreate_dbl( HYPRE_Int row_major, HYPRE_Int num_rows, HYPRE_Int num_cols, HYPRE_Int num_rows_block, HYPRE_Int num_cols_block );
hypre_DenseBlockMatrix *
hypre_DenseBlockMatrixCreate_long_dbl( HYPRE_Int row_major, HYPRE_Int num_rows, HYPRE_Int num_cols, HYPRE_Int num_rows_block, HYPRE_Int num_cols_block );

hypre_DenseBlockMatrix *
hypre_DenseBlockMatrixCreateByBlock_flt( HYPRE_Int row_major, HYPRE_Int num_blocks, HYPRE_Int num_rows_block, HYPRE_Int num_cols_block );
hypre_DenseBlockMatrix *
hypre_DenseBlockMatrixCreateByBlock_dbl( HYPRE_Int row_major, HYPRE_Int num_blocks, HYPRE_Int num_rows_block, HYPRE_Int num_cols_block );
hypre_DenseBlockMatrix *
hypre_DenseBlockMatrixCreateByBlock_long_dbl( HYPRE_Int row_major, HYPRE_Int num_blocks, HYPRE_Int num_rows_block, HYPRE_Int num_cols_block );

HYPRE_Int
hypre_DenseBlockMatrixDestroy_flt( hypre_DenseBlockMatrix *A );
HYPRE_Int
hypre_DenseBlockMatrixDestroy_dbl( hypre_DenseBlockMatrix *A );
HYPRE_Int
hypre_DenseBlockMatrixDestroy_long_dbl( hypre_DenseBlockMatrix *A );

HYPRE_Int
hypre_DenseBlockMatrixInitialize_flt( hypre_DenseBlockMatrix *A );
HYPRE_Int
hypre_DenseBlockMatrixInitialize_dbl( hypre_DenseBlockMatrix *A );
HYPRE_Int
hypre_DenseBlockMatrixInitialize_long_dbl( hypre_DenseBlockMatrix *A );

HYPRE_Int
hypre_DenseBlockMatrixInitializeOn_flt( hypre_DenseBlockMatrix *A, HYPRE_MemoryLocation memory_location );
HYPRE_Int
hypre_DenseBlockMatrixInitializeOn_dbl( hypre_DenseBlockMatrix *A, HYPRE_MemoryLocation memory_location );
HYPRE_Int
hypre_DenseBlockMatrixInitializeOn_long_dbl( hypre_DenseBlockMatrix *A, HYPRE_MemoryLocation memory_location );

HYPRE_Int
hypre_DenseBlockMatrixMigrate_flt( hypre_DenseBlockMatrix *A, HYPRE_MemoryLocation memory_location );
HYPRE_Int
hypre_DenseBlockMatrixMigrate_dbl( hypre_DenseBlockMatrix *A, HYPRE_MemoryLocation memory_location );
HYPRE_Int
hypre_DenseBlockMatrixMigrate_long_dbl( hypre_DenseBlockMatrix *A, HYPRE_MemoryLocation memory_location );

HYPRE_Int
hypre_DenseBlockMatrixMultiply_flt( hypre_DenseBlockMatrix *A, hypre_DenseBlockMatrix *B, hypre_DenseBlockMatrix **C_ptr );
HYPRE_Int
hypre_DenseBlockMatrixMultiply_dbl( hypre_DenseBlockMatrix *A, hypre_DenseBlockMatrix *B, hypre_DenseBlockMatrix **C_ptr );
HYPRE_Int
hypre_DenseBlockMatrixMultiply_long_dbl( hypre_DenseBlockMatrix *A, hypre_DenseBlockMatrix *B, hypre_DenseBlockMatrix **C_ptr );

HYPRE_Int
hypre_DenseBlockMatrixMultiplyHost_flt( hypre_DenseBlockMatrix *A, hypre_DenseBlockMatrix *B, hypre_DenseBlockMatrix *C );
HYPRE_Int
hypre_DenseBlockMatrixMultiplyHost_dbl( hypre_DenseBlockMatrix *A, hypre_DenseBlockMatrix *B, hypre_DenseBlockMatrix *C );
HYPRE_Int
hypre_DenseBlockMatrixMultiplyHost_long_dbl( hypre_DenseBlockMatrix *A, hypre_DenseBlockMatrix *B, hypre_DenseBlockMatrix *C );

HYPRE_Int
hypre_DenseBlockMatrixPrint_flt( MPI_Comm comm, hypre_DenseBlockMatrix *A, const char* filename );
HYPRE_Int
hypre_DenseBlockMatrixPrint_dbl( MPI_Comm comm, hypre_DenseBlockMatrix *A, const char* filename );
HYPRE_Int
hypre_DenseBlockMatrixPrint_long_dbl( MPI_Comm comm, hypre_DenseBlockMatrix *A, const char* filename );


/*** DO NOT EDIT THIS FILE DIRECTLY (use ../config/gen_code.sh to generate) ***/

/******************************************************************************
 * Copyright (c) 1998 Lawrence Livermore National Security, LLC and other
 * HYPRE Project Developers. See the top-level COPYRIGHT file for details.
 *
 * SPDX-License-Identifier: (Apache-2.0 OR MIT)
 ******************************************************************************/



/*** DO NOT EDIT THIS FILE DIRECTLY (use ../config/gen_code.sh to generate) ***/

/******************************************************************************
 * Copyright (c) 1998 Lawrence Livermore National Security, LLC and other
 * HYPRE Project Developers. See the top-level COPYRIGHT file for details.
 *
 * SPDX-License-Identifier: (Apache-2.0 OR MIT)
 ******************************************************************************/



#endif

#ifdef __cplusplus
}
#endif

#endif

