README
1# Copyright 1998-2019 Lawrence Livermore National Security, LLC and other
2# HYPRE Project Developers. See the top-level COPYRIGHT file for details.
3#
4# SPDX-License-Identifier: (Apache-2.0 OR MIT)
5
6HYPRE BLAS README file
7
8The source in the HYPRE BLAS and LAPACK is taken from CLAPACK and most recently
9based on release 3.2.1 (though many of the files here are much older). To add a
10new BLAS or LAPACK routine, copy the file to the appropriate directory, then do
11the following:
12
13- Add the University of Tennessee copyright statement to the top of the file
14
15- Add C include guards at the beginning and end of the file to allow for C++ compilation
16
17- Change the 'blaswrap.h' include file to either 'hypre_blas.h' or 'hypre_lapack.h'
18
19- Change 'int' to 'integer' to avoid errors in the autotest check-int script
20
21- Add 'const' in front of 'char *' in prototypes as required by C++ (use the
22 warnings from the C++ compiler to determine where the changes are needed)
23
24- Add the #define name changes to 'hypre_blas.h' and/or 'hypre_lapack.h'.
25 Organize things alphabetically and by routine type. Note that the blas
26 renaming needs to be replicated in 'hypre_lapack.h'.
27
28- Create a hypre_ prototype for the main BLAS and LAPACK routines in either
29 '_hypre_blas.h' or '_hypre_lapack.h'. Do not create prototypes for auxiliary
30 routines or f2c-library routines.
31
32- To determine which routines are auxiliary routines, look at the comments in
33 the C files (search for 'auxiliary').
34
35- Add the filename in Makefile
36