Fixed globally exposed symbols without namespace protection in pilut/, lapack/

and blas/. See issue 536.
This commit is contained in:
kolev1 2011-11-07 18:12:01 +00:00
parent dc37c39f25
commit 1b497fb016
7 changed files with 29 additions and 18 deletions

View File

@ -45,6 +45,8 @@
#define dtrsm_ hypre_F90_NAME_BLAS(dtrsm,DTRSM)
#define dtrsv_ hypre_F90_NAME_BLAS(dtrsv,DTRSV)
#define idamax_ hypre_F90_NAME_BLAS(idamax,IDAMAX)
#define s_cmp hypre_F90_NAME_BLAS(s_cmp,S_CMP)
#define s_copy hypre_F90_NAME_BLAS(s_copy,S_COPY)
/* blas_utils.c */
logical lsame_ ( char *ca , char *cb );

View File

@ -38,14 +38,14 @@ static HYPRE_Int mthresh; /* MTHRESHold in chars */
/*
* tex_qsort:
* hypre_tex_qsort:
* First, set up some global parameters for qst to share. Then, quicksort
* with qst(), and then a cleanup insertion sort ourselves. Sound simple?
* It's not...
*/
void
tex_qsort(base, n, size, compar)
hypre_tex_qsort(base, n, size, compar)
char *base;
HYPRE_Int n;
HYPRE_Int size;

View File

@ -35,7 +35,7 @@ static void sdqst(HYPRE_Int *, HYPRE_Int *);
/*
* tex_qsort:
* hypre_tex_qsort:
* First, set up some global parameters for qst to share. Then, quicksort
* with qst(), and then a cleanup insertion sort ourselves. Sound simple?
* It's not...

View File

@ -90,7 +90,7 @@ void hypre_p_daxbyz( DataDistType *ddist , double alpha , double *x , double bet
HYPRE_Int hypre_p_vprintf( DataDistType *ddist , double *x , hypre_PilutSolverGlobals *globals );
/* distributed_qsort.c */
void tex_qsort(char *base, HYPRE_Int n, HYPRE_Int size, HYPRE_Int (*compar) ());
void hypre_tex_qsort(char *base, HYPRE_Int n, HYPRE_Int size, HYPRE_Int (*compar) ());
/* distributed_qsort_si.c */
void hypre_sincsort_fast( HYPRE_Int n , HYPRE_Int *base );
void hypre_sdecsort_fast( HYPRE_Int n , HYPRE_Int *base );
@ -98,8 +98,8 @@ void hypre_sdecsort_fast( HYPRE_Int n , HYPRE_Int *base );
/* serilut.c */
HYPRE_Int hypre_SerILUT( DataDistType *ddist , HYPRE_DistributedMatrix matrix , FactorMatType *ldu , ReduceMatType *rmat , HYPRE_Int maxnz , double tol , hypre_PilutSolverGlobals *globals );
HYPRE_Int hypre_SelectInterior( HYPRE_Int local_num_rows , HYPRE_DistributedMatrix matrix , HYPRE_Int *external_rows , HYPRE_Int *newperm , HYPRE_Int *newiperm , hypre_PilutSolverGlobals *globals );
HYPRE_Int FindStructuralUnion( HYPRE_DistributedMatrix matrix , HYPRE_Int **structural_union , hypre_PilutSolverGlobals *globals );
HYPRE_Int ExchangeStructuralUnions( DataDistType *ddist , HYPRE_Int **structural_union , hypre_PilutSolverGlobals *globals );
HYPRE_Int hypre_FindStructuralUnion( HYPRE_DistributedMatrix matrix , HYPRE_Int **structural_union , hypre_PilutSolverGlobals *globals );
HYPRE_Int hypre_ExchangeStructuralUnions( DataDistType *ddist , HYPRE_Int **structural_union , hypre_PilutSolverGlobals *globals );
void hypre_SecondDrop( HYPRE_Int maxnz , double tol , HYPRE_Int row , HYPRE_Int *perm , HYPRE_Int *iperm , FactorMatType *ldu , hypre_PilutSolverGlobals *globals );
void hypre_SecondDropUpdate( HYPRE_Int maxnz , HYPRE_Int maxnzkeep , double tol , HYPRE_Int row , HYPRE_Int nlocal , HYPRE_Int *perm , HYPRE_Int *iperm , FactorMatType *ldu , ReduceMatType *rmat , hypre_PilutSolverGlobals *globals );
@ -118,5 +118,5 @@ HYPRE_Int hypre_DecKeyValueCmp( const void *v1 , const void *v2 );
void hypre_SortKeyValueNodesDec( KeyValueType *nodes , HYPRE_Int n );
HYPRE_Int hypre_sasum( HYPRE_Int n , HYPRE_Int *x );
void hypre_sincsort( HYPRE_Int n , HYPRE_Int *a );
void sdecsort( HYPRE_Int n , HYPRE_Int *a );
void hypre_sdecsort( HYPRE_Int n , HYPRE_Int *a );

View File

@ -89,11 +89,11 @@ HYPRE_Int hypre_SerILUT(DataDistType *ddist, HYPRE_DistributedMatrix matrix,
#ifdef HYPRE_TIMING
{
HYPRE_Int FSUtimer;
FSUtimer = hypre_InitializeTiming( "FindStructuralUnion");
FSUtimer = hypre_InitializeTiming( "hypre_FindStructuralUnion");
hypre_BeginTiming( FSUtimer );
#endif
ierr = FindStructuralUnion( matrix, &structural_union, globals );
ierr = hypre_FindStructuralUnion( matrix, &structural_union, globals );
#ifdef HYPRE_TIMING
hypre_EndTiming( FSUtimer );
@ -104,7 +104,7 @@ HYPRE_Int hypre_SerILUT(DataDistType *ddist, HYPRE_DistributedMatrix matrix,
/* if(ierr) return(ierr);*/
/* Exchange structural unions with other processors */
ierr = ExchangeStructuralUnions( ddist, &structural_union, globals );
ierr = hypre_ExchangeStructuralUnions( ddist, &structural_union, globals );
/* if(ierr) return(ierr); */
/* Select the rows to be factored */
@ -407,11 +407,11 @@ HYPRE_Int hypre_SelectInterior( HYPRE_Int local_num_rows,
/*************************************************************************
* FindStructuralUnion
* hypre_FindStructuralUnion
* Produces a vector of length n that marks the union of the nonzero
* structure of all locally stored rows, not including locally stored columns.
**************************************************************************/
HYPRE_Int FindStructuralUnion( HYPRE_DistributedMatrix matrix,
HYPRE_Int hypre_FindStructuralUnion( HYPRE_DistributedMatrix matrix,
HYPRE_Int **structural_union,
hypre_PilutSolverGlobals *globals )
{
@ -449,14 +449,14 @@ HYPRE_Int FindStructuralUnion( HYPRE_DistributedMatrix matrix,
/*************************************************************************
* ExchangeStructuralUnions
* hypre_ExchangeStructuralUnions
* Exchanges structural union vectors with other processors and produces
* a vector the size of the number of locally stored rows that marks
* whether any exterior processor has a nonzero in the column corresponding
* to each row. This is used to determine if a local row might have to
* update an off-processor row.
**************************************************************************/
HYPRE_Int ExchangeStructuralUnions( DataDistType *ddist,
HYPRE_Int hypre_ExchangeStructuralUnions( DataDistType *ddist,
HYPRE_Int **structural_union,
hypre_PilutSolverGlobals *globals )
{

View File

@ -170,7 +170,7 @@ HYPRE_Int hypre_DecKeyValueCmp(const void *v1, const void *v2)
**************************************************************************/
void hypre_SortKeyValueNodesDec(KeyValueType *nodes, HYPRE_Int n)
{
tex_qsort((void *)nodes, (size_t)n, (size_t)sizeof(KeyValueType), hypre_DecKeyValueCmp);
hypre_tex_qsort((void *)nodes, (size_t)n, (size_t)sizeof(KeyValueType), hypre_DecKeyValueCmp);
}
@ -210,13 +210,13 @@ static HYPRE_Int decshort(const void *v1, const void *v2)
**************************************************************************/
void hypre_sincsort(HYPRE_Int n, HYPRE_Int *a)
{
tex_qsort((void *)a, (size_t)n, (size_t)sizeof(HYPRE_Int), incshort);
hypre_tex_qsort((void *)a, (size_t)n, (size_t)sizeof(HYPRE_Int), incshort);
}
void sdecsort(HYPRE_Int n, HYPRE_Int *a)
void hypre_sdecsort(HYPRE_Int n, HYPRE_Int *a)
{
tex_qsort((void *)a, (size_t)n, (size_t)sizeof(HYPRE_Int), decshort);
hypre_tex_qsort((void *)a, (size_t)n, (size_t)sizeof(HYPRE_Int), decshort);
}

View File

@ -18,6 +18,7 @@
#ifndef HYPRE_LAPACK_H
#define HYPRE_LAPACK_H
#include "f2c.h"
#include "fortran.h"
/* --------------------------------------------------------------------------
* Change all names to hypre_ to avoid link conflicts
@ -104,6 +105,14 @@
#define dlasq5_ hypre_dlasq5
#define dlasq6_ hypre_dlasq6
#define s_cmp hypre_F90_NAME_BLAS(s_cmp,S_CMP)
#define s_copy hypre_F90_NAME_BLAS(s_copy,S_COPY)
#define d_lg10 hypre_d_lg10
#define d_sign hypre_d_sign
#define pow_dd hypre_pow_dd
#define pow_di hypre_pow_di
#define s_cat hypre_s_cat
/* --------------------------------------------------------------------------
* Prototypes
* --------------------------------------------------------------------------*/