mld2p4-2:
MLD's constants are back authoritative in the .F90 file. the .h file is a slave one: built from the .F90. in a script for the (by hand, no Makefile rule for now) conversion.stopcriterion
parent
69a7fc4208
commit
e922dce38b
@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
hn=mld_const.h
|
||||||
|
fn=mld_base_prec_type.F90
|
||||||
|
echo "/* This file was generated by a script using the $fn file as a basis. */" > $hn
|
||||||
|
echo '#ifdef __cplusplus' >> $hn
|
||||||
|
echo 'extern "C" { ' >> $hn
|
||||||
|
echo '#endif' >> $hn
|
||||||
|
cat $fn | sed 's/=/= (/g;s/$/ )/g' | grep '\(^ *!\)\|parameter' | grep '_\>' | sed 's/^\s*//g;s/^.*:://g;s/\s*=\s*/ /g' | sed 's/,/\n/g;s/^ //g' | tr '[:lower:]' '[:upper:]' | grep ^MLD | sed 's/^/#define /g' >> $hn
|
||||||
|
echo '#ifdef __cplusplus' >> $hn
|
||||||
|
echo '}' >> $hn
|
||||||
|
echo '#endif' >> $hn
|
||||||
|
exit
|
||||||
|
|
@ -1,141 +1,104 @@
|
|||||||
/*
|
/* This file was generated by a script using the mld_base_prec_type.F90 file as a basis. */
|
||||||
|
|
||||||
MLD2P4 version 2.0
|
|
||||||
MultiLevel Domain Decomposition Parallel Preconditioners Package
|
|
||||||
based on PSBLAS (Parallel Sparse BLAS version 3.0)
|
|
||||||
|
|
||||||
(C) Copyright 2008,2009,2010
|
|
||||||
|
|
||||||
Salvatore Filippone University of Rome Tor Vergata
|
|
||||||
Alfredo Buttari CNRS-IRIT, Toulouse
|
|
||||||
Pasqua D'Ambra ICAR-CNR, Naples
|
|
||||||
Daniela di Serafino Second University of Naples
|
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
|
||||||
modification, are permitted provided that the following conditions
|
|
||||||
are met:
|
|
||||||
1. Redistributions of source code must retain the above copyright
|
|
||||||
notice, this list of conditions and the following disclaimer.
|
|
||||||
2. Redistributions in binary form must reproduce the above copyright
|
|
||||||
notice, this list of conditions, and the following disclaimer in the
|
|
||||||
documentation and/or other materials provided with the distribution.
|
|
||||||
3. The name of the MLD2P4 group or the names of its contributors may
|
|
||||||
not be used to endorse or promote products derived from this
|
|
||||||
software without specific written permission.
|
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
||||||
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
|
||||||
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
||||||
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE MLD2P4 GROUP OR ITS CONTRIBUTORS
|
|
||||||
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
#define MLD_VERSION_STRING_ "2.0.0"
|
#define MLD_VERSION_STRING_ ( "2.0.0" )
|
||||||
#define MLD_VERSION_MAJOR_ 2
|
#define MLD_VERSION_MAJOR_ ( 2 )
|
||||||
#define MLD_VERSION_MINOR_ 0
|
#define MLD_VERSION_MINOR_ ( 0 )
|
||||||
#define MLD_PATCHLEVEL_ 0
|
#define MLD_PATCHLEVEL_ ( 0 )
|
||||||
#define MLD_SMOOTHER_TYPE_ 1
|
#define MLD_SMOOTHER_TYPE_ ( 1 )
|
||||||
#define MLD_SUB_SOLVE_ 2
|
#define MLD_SUB_SOLVE_ ( 2 )
|
||||||
#define MLD_SUB_RESTR_ 3
|
#define MLD_SUB_RESTR_ ( 3 )
|
||||||
#define MLD_SUB_PROL_ 4
|
#define MLD_SUB_PROL_ ( 4 )
|
||||||
#define MLD_SUB_REN_ 5
|
#define MLD_SUB_REN_ ( 5 )
|
||||||
#define MLD_SUB_OVR_ 6
|
#define MLD_SUB_OVR_ ( 6 )
|
||||||
#define MLD_SUB_FILLIN_ 8
|
#define MLD_SUB_FILLIN_ ( 8 )
|
||||||
#define MLD_SLU_PTR_ 10
|
#define MLD_SLU_PTR_ ( 10 )
|
||||||
#define MLD_UMF_SYMPTR_ 12
|
#define MLD_UMF_SYMPTR_ ( 12 )
|
||||||
#define MLD_UMF_NUMPTR_ 14
|
#define MLD_UMF_NUMPTR_ ( 14 )
|
||||||
#define MLD_SLUD_PTR_ 16
|
#define MLD_SLUD_PTR_ ( 16 )
|
||||||
#define MLD_PREC_STATUS_ 18
|
#define MLD_PREC_STATUS_ ( 18 )
|
||||||
#define MLD_ML_TYPE_ 20
|
#define MLD_ML_TYPE_ ( 20 )
|
||||||
#define MLD_SMOOTHER_SWEEPS_PRE_ 21
|
#define MLD_SMOOTHER_SWEEPS_PRE_ ( 21 )
|
||||||
#define MLD_SMOOTHER_SWEEPS_POST_ 22
|
#define MLD_SMOOTHER_SWEEPS_POST_ ( 22 )
|
||||||
#define MLD_SMOOTHER_POS_ 23
|
#define MLD_SMOOTHER_POS_ ( 23 )
|
||||||
#define MLD_AGGR_KIND_ 24
|
#define MLD_AGGR_KIND_ ( 24 )
|
||||||
#define MLD_AGGR_ALG_ 25
|
#define MLD_AGGR_ALG_ ( 25 )
|
||||||
#define MLD_AGGR_OMEGA_ALG_ 26
|
#define MLD_AGGR_OMEGA_ALG_ ( 26 )
|
||||||
#define MLD_AGGR_EIG_ 27
|
#define MLD_AGGR_EIG_ ( 27 )
|
||||||
#define MLD_AGGR_FILTER_ 28
|
#define MLD_AGGR_FILTER_ ( 28 )
|
||||||
#define MLD_COARSE_MAT_ 29
|
#define MLD_COARSE_MAT_ ( 29 )
|
||||||
#define MLD_COARSE_SOLVE_ 30
|
#define MLD_COARSE_SOLVE_ ( 30 )
|
||||||
#define MLD_COARSE_SWEEPS_ 31
|
#define MLD_COARSE_SWEEPS_ ( 31 )
|
||||||
#define MLD_COARSE_FILLIN_ 32
|
#define MLD_COARSE_FILLIN_ ( 32 )
|
||||||
#define MLD_COARSE_SUBSOLVE_ 33
|
#define MLD_COARSE_SUBSOLVE_ ( 33 )
|
||||||
#define MLD_SMOOTHER_SWEEPS_ 34
|
#define MLD_SMOOTHER_SWEEPS_ ( 34 )
|
||||||
#define MLD_IFPSZ_ 36
|
#define MLD_IFPSZ_ ( 36 )
|
||||||
#define MLD_MIN_PREC_ 0
|
#define MLD_MIN_PREC_ ( 0 )
|
||||||
#define MLD_NOPREC_ 0
|
#define MLD_NOPREC_ ( 0 )
|
||||||
#define MLD_JAC_ 1
|
#define MLD_JAC_ ( 1 )
|
||||||
#define MLD_BJAC_ 2
|
#define MLD_BJAC_ ( 2 )
|
||||||
#define MLD_AS_ 3
|
#define MLD_AS_ ( 3 )
|
||||||
#define MLD_MAX_PREC_ 3
|
#define MLD_MAX_PREC_ ( 3 )
|
||||||
#define MLD_SLV_DELTA_ MLD_MAX_PREC_+1
|
#define MLD_SLV_DELTA_ ( MLD_MAX_PREC_+1 )
|
||||||
#define MLD_F_NONE_ MLD_SLV_DELTA_+0
|
#define MLD_F_NONE_ ( MLD_SLV_DELTA_+0 )
|
||||||
#define MLD_DIAG_SCALE_ MLD_SLV_DELTA_+1
|
#define MLD_DIAG_SCALE_ ( MLD_SLV_DELTA_+1 )
|
||||||
#define MLD_ILU_N_ MLD_SLV_DELTA_+2
|
#define MLD_ILU_N_ ( MLD_SLV_DELTA_+2 )
|
||||||
#define MLD_MILU_N_ MLD_SLV_DELTA_+3
|
#define MLD_MILU_N_ ( MLD_SLV_DELTA_+3 )
|
||||||
#define MLD_ILU_T_ MLD_SLV_DELTA_+4
|
#define MLD_ILU_T_ ( MLD_SLV_DELTA_+4 )
|
||||||
#define MLD_SLU_ MLD_SLV_DELTA_+5
|
#define MLD_SLU_ ( MLD_SLV_DELTA_+5 )
|
||||||
#define MLD_UMF_ MLD_SLV_DELTA_+6
|
#define MLD_UMF_ ( MLD_SLV_DELTA_+6 )
|
||||||
#define MLD_SLUDIST_ MLD_SLV_DELTA_+7
|
#define MLD_SLUDIST_ ( MLD_SLV_DELTA_+7 )
|
||||||
#define MLD_MAX_SUB_SOLVE_ MLD_SLV_DELTA_+7
|
#define MLD_MAX_SUB_SOLVE_ ( MLD_SLV_DELTA_+7 )
|
||||||
#define MLD_MIN_SUB_SOLVE_ MLD_DIAG_SCALE_
|
#define MLD_MIN_SUB_SOLVE_ ( MLD_DIAG_SCALE_ )
|
||||||
#define MLD_RENUM_NONE_ 0
|
#define MLD_RENUM_NONE_ (0 )
|
||||||
#define MLD_RENUM_GLB_ 1
|
#define MLD_RENUM_GLB_ (1 )
|
||||||
#define MLD_RENUM_GPS_ 2
|
#define MLD_RENUM_GPS_ (2 )
|
||||||
#define MLD_MAX_RENUM_ 1
|
#define MLD_MAX_RENUM_ (1 )
|
||||||
#define MLD_NO_ML_ 0
|
#define MLD_NO_ML_ ( 0 )
|
||||||
#define MLD_ADD_ML_ 1
|
#define MLD_ADD_ML_ ( 1 )
|
||||||
#define MLD_MULT_ML_ 2
|
#define MLD_MULT_ML_ ( 2 )
|
||||||
#define MLD_NEW_ML_PREC_ 3
|
#define MLD_NEW_ML_PREC_ ( 3 )
|
||||||
#define MLD_MAX_ML_TYPE_ MLD_MULT_ML_
|
#define MLD_MAX_ML_TYPE_ ( MLD_MULT_ML_ )
|
||||||
#define MLD_PRE_SMOOTH_ 1
|
#define MLD_PRE_SMOOTH_ (1 )
|
||||||
#define MLD_POST_SMOOTH_ 2
|
#define MLD_POST_SMOOTH_ (2 )
|
||||||
#define MLD_TWOSIDE_SMOOTH_ 3
|
#define MLD_TWOSIDE_SMOOTH_ (3 )
|
||||||
#define MLD_MAX_SMOOTH_ MLD_TWOSIDE_SMOOTH_
|
#define MLD_MAX_SMOOTH_ (MLD_TWOSIDE_SMOOTH_ )
|
||||||
#define MLD_NO_SMOOTH_ 0
|
#define MLD_NO_SMOOTH_ ( 0 )
|
||||||
#define MLD_SMOOTH_PROL_ 1
|
#define MLD_SMOOTH_PROL_ ( 1 )
|
||||||
#define MLD_MIN_ENERGY_ 2
|
#define MLD_MIN_ENERGY_ ( 2 )
|
||||||
#define MLD_BIZ_PROL_ 3
|
#define MLD_BIZ_PROL_ ( 3 )
|
||||||
#define MLD_MAX_AGGR_KIND_ MLD_MIN_ENERGY_
|
#define MLD_MAX_AGGR_KIND_ (MLD_MIN_ENERGY_ )
|
||||||
#define MLD_NO_FILTER_MAT_ 0
|
#define MLD_NO_FILTER_MAT_ (0 )
|
||||||
#define MLD_FILTER_MAT_ 1
|
#define MLD_FILTER_MAT_ (1 )
|
||||||
#define MLD_MAX_FILTER_MAT_ MLD_NO_FILTER_MAT_
|
#define MLD_MAX_FILTER_MAT_ (MLD_NO_FILTER_MAT_ )
|
||||||
#define MLD_DEC_AGGR_ 0
|
#define MLD_DEC_AGGR_ (0 )
|
||||||
#define MLD_SYM_DEC_AGGR_ 1
|
#define MLD_SYM_DEC_AGGR_ (1 )
|
||||||
#define MLD_GLB_AGGR_ 2
|
#define MLD_GLB_AGGR_ (2 )
|
||||||
#define MLD_NEW_DEC_AGGR_ 3
|
#define MLD_NEW_DEC_AGGR_ (3 )
|
||||||
#define MLD_NEW_GLB_AGGR_ 4
|
#define MLD_NEW_GLB_AGGR_ (4 )
|
||||||
#define MLD_MAX_AGGR_ALG_ MLD_DEC_AGGR_
|
#define MLD_MAX_AGGR_ALG_ (MLD_DEC_AGGR_ )
|
||||||
#define MLD_EIG_EST_ 0
|
#define MLD_EIG_EST_ (0 )
|
||||||
#define MLD_USER_CHOICE_ 999
|
#define MLD_USER_CHOICE_ (999 )
|
||||||
#define MLD_MAX_NORM_ 0
|
#define MLD_MAX_NORM_ (0 )
|
||||||
#define MLD_DISTR_MAT_ 0
|
#define MLD_DISTR_MAT_ (0 )
|
||||||
#define MLD_REPL_MAT_ 1
|
#define MLD_REPL_MAT_ (1 )
|
||||||
#define MLD_MAX_COARSE_MAT_ MLD_REPL_MAT_
|
#define MLD_MAX_COARSE_MAT_ (MLD_REPL_MAT_ )
|
||||||
#define MLD_PREC_BUILT_ 98765
|
#define MLD_PREC_BUILT_ (98765 )
|
||||||
#define MLD_SUB_ILUTHRS_ 1
|
#define MLD_SUB_ILUTHRS_ ( 1 )
|
||||||
#define MLD_AGGR_OMEGA_VAL_ 2
|
#define MLD_AGGR_OMEGA_VAL_ ( 2 )
|
||||||
#define MLD_AGGR_THRESH_ 3
|
#define MLD_AGGR_THRESH_ ( 3 )
|
||||||
#define MLD_COARSE_ILUTHRS_ 4
|
#define MLD_COARSE_ILUTHRS_ ( 4 )
|
||||||
#define MLD_RFPSZ_ 8
|
#define MLD_RFPSZ_ ( 8 )
|
||||||
#define MLD_L_PR_ 1
|
#define MLD_L_PR_ (1 )
|
||||||
#define MLD_U_PR_ 2
|
#define MLD_U_PR_ (2 )
|
||||||
#define MLD_BP_ILU_AVSZ_ 2
|
#define MLD_BP_ILU_AVSZ_ (2 )
|
||||||
#define MLD_AP_ND_ 3
|
#define MLD_AP_ND_ (3 )
|
||||||
#define MLD_AC_ 4
|
#define MLD_AC_ (4 )
|
||||||
#define MLD_SM_PR_T_ 5
|
#define MLD_SM_PR_T_ (5 )
|
||||||
#define MLD_SM_PR_ 6
|
#define MLD_SM_PR_ (6 )
|
||||||
#define MLD_SMTH_AVSZ_ 6
|
#define MLD_SMTH_AVSZ_ (6 )
|
||||||
#define MLD_MAX_AVSZ_ MLD_SMTH_AVSZ_
|
#define MLD_MAX_AVSZ_ (MLD_SMTH_AVSZ_ )
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue