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
Michele Martone 14 years ago
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

@ -54,7 +54,6 @@
! - printing a description of the preconditioner; ! - printing a description of the preconditioner;
! - deallocating the preconditioner data structure. ! - deallocating the preconditioner data structure.
! !
#include "mld_const.h"
module mld_base_prec_type module mld_base_prec_type
@ -82,7 +81,7 @@ module mld_base_prec_type
! !
! Version numbers ! Version numbers
! !
character(len=*), parameter :: mld_version_string_ = MLD_VERSION_STRING_ character(len=*), parameter :: mld_version_string_ = "2.0.0"
integer, parameter :: mld_version_major_ = 2 integer, parameter :: mld_version_major_ = 2
integer, parameter :: mld_version_minor_ = 0 integer, parameter :: mld_version_minor_ = 0
integer, parameter :: mld_patchlevel_ = 0 integer, parameter :: mld_patchlevel_ = 0
@ -124,153 +123,153 @@ module mld_base_prec_type
! !
! These are in baseprec ! These are in baseprec
! !
integer, parameter :: mld_smoother_type_ = MLD_SMOOTHER_TYPE_ integer, parameter :: mld_smoother_type_ = 1
integer, parameter :: mld_sub_solve_ = MLD_SUB_SOLVE_ integer, parameter :: mld_sub_solve_ = 2
integer, parameter :: mld_sub_restr_ = MLD_SUB_RESTR_ integer, parameter :: mld_sub_restr_ = 3
integer, parameter :: mld_sub_prol_ = MLD_SUB_PROL_ integer, parameter :: mld_sub_prol_ = 4
integer, parameter :: mld_sub_ren_ = MLD_SUB_REN_ integer, parameter :: mld_sub_ren_ = 5
integer, parameter :: mld_sub_ovr_ = MLD_SUB_OVR_ integer, parameter :: mld_sub_ovr_ = 6
integer, parameter :: mld_sub_fillin_ = MLD_SUB_FILLIN_ integer, parameter :: mld_sub_fillin_ = 8
!! 2 ints for 64 bit versions !! 2 ints for 64 bit versions
integer, parameter :: mld_slu_ptr_ = MLD_SLU_PTR_ integer, parameter :: mld_slu_ptr_ = 10
integer, parameter :: mld_umf_symptr_ = MLD_UMF_SYMPTR_ integer, parameter :: mld_umf_symptr_ = 12
integer, parameter :: mld_umf_numptr_ = MLD_UMF_NUMPTR_ integer, parameter :: mld_umf_numptr_ = 14
integer, parameter :: mld_slud_ptr_ = MLD_SLUD_PTR_ integer, parameter :: mld_slud_ptr_ = 16
integer, parameter :: mld_prec_status_ = MLD_PREC_STATUS_ integer, parameter :: mld_prec_status_ = 18
! !
! These are in onelev ! These are in onelev
! !
integer, parameter :: mld_ml_type_ = MLD_ML_TYPE_ integer, parameter :: mld_ml_type_ = 20
integer, parameter :: mld_smoother_sweeps_pre_ = MLD_SMOOTHER_SWEEPS_PRE_ integer, parameter :: mld_smoother_sweeps_pre_ = 21
integer, parameter :: mld_smoother_sweeps_post_ = MLD_SMOOTHER_SWEEPS_POST_ integer, parameter :: mld_smoother_sweeps_post_ = 22
integer, parameter :: mld_smoother_pos_ = MLD_SMOOTHER_POS_ integer, parameter :: mld_smoother_pos_ = 23
integer, parameter :: mld_aggr_kind_ = MLD_AGGR_KIND_ integer, parameter :: mld_aggr_kind_ = 24
integer, parameter :: mld_aggr_alg_ = MLD_AGGR_ALG_ integer, parameter :: mld_aggr_alg_ = 25
integer, parameter :: mld_aggr_omega_alg_ = MLD_AGGR_OMEGA_ALG_ integer, parameter :: mld_aggr_omega_alg_ = 26
integer, parameter :: mld_aggr_eig_ = MLD_AGGR_EIG_ integer, parameter :: mld_aggr_eig_ = 27
integer, parameter :: mld_aggr_filter_ = MLD_AGGR_FILTER_ integer, parameter :: mld_aggr_filter_ = 28
integer, parameter :: mld_coarse_mat_ = MLD_COARSE_MAT_ integer, parameter :: mld_coarse_mat_ = 29
integer, parameter :: mld_coarse_solve_ = MLD_COARSE_SOLVE_ integer, parameter :: mld_coarse_solve_ = 30
integer, parameter :: mld_coarse_sweeps_ = MLD_COARSE_SWEEPS_ integer, parameter :: mld_coarse_sweeps_ = 31
integer, parameter :: mld_coarse_fillin_ = MLD_COARSE_FILLIN_ integer, parameter :: mld_coarse_fillin_ = 32
integer, parameter :: mld_coarse_subsolve_ = MLD_COARSE_SUBSOLVE_ integer, parameter :: mld_coarse_subsolve_ = 33
integer, parameter :: mld_smoother_sweeps_ = MLD_SMOOTHER_SWEEPS_ integer, parameter :: mld_smoother_sweeps_ = 34
integer, parameter :: mld_ifpsz_ = MLD_IFPSZ_ integer, parameter :: mld_ifpsz_ = 36
! !
! Legal values for entry: mld_smoother_type_ ! Legal values for entry: mld_smoother_type_
! !
integer, parameter :: mld_min_prec_ = MLD_MIN_PREC_ integer, parameter :: mld_min_prec_ = 0
integer, parameter :: mld_noprec_ = MLD_NOPREC_ integer, parameter :: mld_noprec_ = 0
integer, parameter :: mld_jac_ = MLD_JAC_ integer, parameter :: mld_jac_ = 1
integer, parameter :: mld_bjac_ = MLD_BJAC_ integer, parameter :: mld_bjac_ = 2
integer, parameter :: mld_as_ = MLD_AS_ integer, parameter :: mld_as_ = 3
integer, parameter :: mld_max_prec_ = MLD_MAX_PREC_ integer, parameter :: mld_max_prec_ = 3
! !
! This is a quick&dirty fix, but I have nothing better now... ! This is a quick&dirty fix, but I have nothing better now...
! !
! Legal values for entry: mld_sub_solve_ ! Legal values for entry: mld_sub_solve_
! !
integer, parameter :: mld_slv_delta_ = MLD_SLV_DELTA_ integer, parameter :: mld_slv_delta_ = mld_max_prec_+1
integer, parameter :: mld_f_none_ = MLD_F_NONE_ integer, parameter :: mld_f_none_ = mld_slv_delta_+0
integer, parameter :: mld_diag_scale_ = MLD_DIAG_SCALE_ integer, parameter :: mld_diag_scale_ = mld_slv_delta_+1
integer, parameter :: mld_ilu_n_ = MLD_ILU_N_ integer, parameter :: mld_ilu_n_ = mld_slv_delta_+2
integer, parameter :: mld_milu_n_ = MLD_MILU_N_ integer, parameter :: mld_milu_n_ = mld_slv_delta_+3
integer, parameter :: mld_ilu_t_ = MLD_ILU_T_ integer, parameter :: mld_ilu_t_ = mld_slv_delta_+4
integer, parameter :: mld_slu_ = MLD_SLU_ integer, parameter :: mld_slu_ = mld_slv_delta_+5
integer, parameter :: mld_umf_ = MLD_UMF_ integer, parameter :: mld_umf_ = mld_slv_delta_+6
integer, parameter :: mld_sludist_ = MLD_SLUDIST_ integer, parameter :: mld_sludist_ = mld_slv_delta_+7
integer, parameter :: mld_max_sub_solve_= MLD_MAX_SUB_SOLVE_ integer, parameter :: mld_max_sub_solve_= mld_slv_delta_+7
integer, parameter :: mld_min_sub_solve_= MLD_MIN_SUB_SOLVE_ integer, parameter :: mld_min_sub_solve_= mld_diag_scale_
! !
! Legal values for entry: mld_sub_ren_ ! Legal values for entry: mld_sub_ren_
! !
integer, parameter :: mld_renum_none_= MLD_RENUM_NONE_ integer, parameter :: mld_renum_none_=0
integer, parameter :: mld_renum_glb_= MLD_RENUM_GLB_ integer, parameter :: mld_renum_glb_=1
integer, parameter :: mld_renum_gps_= MLD_RENUM_GPS_ integer, parameter :: mld_renum_gps_=2
! For the time being we are disabling GPS renumbering. ! For the time being we are disabling GPS renumbering.
integer, parameter :: mld_max_renum_= MLD_MAX_RENUM_ integer, parameter :: mld_max_renum_=1
! !
! Legal values for entry: mld_ml_type_ ! Legal values for entry: mld_ml_type_
! !
integer, parameter :: mld_no_ml_ = MLD_NO_ML_ integer, parameter :: mld_no_ml_ = 0
integer, parameter :: mld_add_ml_ = MLD_ADD_ML_ integer, parameter :: mld_add_ml_ = 1
integer, parameter :: mld_mult_ml_ = MLD_MULT_ML_ integer, parameter :: mld_mult_ml_ = 2
integer, parameter :: mld_new_ml_prec_ = MLD_NEW_ML_PREC_ integer, parameter :: mld_new_ml_prec_ = 3
integer, parameter :: mld_max_ml_type_ = MLD_MAX_ML_TYPE_ integer, parameter :: mld_max_ml_type_ = mld_mult_ml_
! !
! Legal values for entry: mld_smoother_pos_ ! Legal values for entry: mld_smoother_pos_
! !
integer, parameter :: mld_pre_smooth_= MLD_PRE_SMOOTH_ integer, parameter :: mld_pre_smooth_=1
integer, parameter :: mld_post_smooth_= MLD_POST_SMOOTH_ integer, parameter :: mld_post_smooth_=2
integer, parameter :: mld_twoside_smooth_= MLD_TWOSIDE_SMOOTH_ integer, parameter :: mld_twoside_smooth_=3
integer, parameter :: mld_max_smooth_= MLD_MAX_SMOOTH_ integer, parameter :: mld_max_smooth_=mld_twoside_smooth_
! !
! Legal values for entry: mld_aggr_kind_ ! Legal values for entry: mld_aggr_kind_
! !
integer, parameter :: mld_no_smooth_ = MLD_NO_SMOOTH_ integer, parameter :: mld_no_smooth_ = 0
integer, parameter :: mld_smooth_prol_ = MLD_SMOOTH_PROL_ integer, parameter :: mld_smooth_prol_ = 1
integer, parameter :: mld_min_energy_ = MLD_MIN_ENERGY_ integer, parameter :: mld_min_energy_ = 2
integer, parameter :: mld_biz_prol_ = MLD_BIZ_PROL_ integer, parameter :: mld_biz_prol_ = 3
! Disabling biz_prol for the time being. ! Disabling biz_prol for the time being.
integer, parameter :: mld_max_aggr_kind_= MLD_MAX_AGGR_KIND_ integer, parameter :: mld_max_aggr_kind_=mld_min_energy_
! !
! Legal values for entry: mld_aggr_filter_ ! Legal values for entry: mld_aggr_filter_
! !
integer, parameter :: mld_no_filter_mat_= MLD_NO_FILTER_MAT_ integer, parameter :: mld_no_filter_mat_=0
integer, parameter :: mld_filter_mat_= MLD_FILTER_MAT_ integer, parameter :: mld_filter_mat_=1
integer, parameter :: mld_max_filter_mat_= MLD_MAX_FILTER_MAT_ integer, parameter :: mld_max_filter_mat_=mld_no_filter_mat_
! !
! Legal values for entry: mld_aggr_alg_ ! Legal values for entry: mld_aggr_alg_
! !
integer, parameter :: mld_dec_aggr_= MLD_DEC_AGGR_ integer, parameter :: mld_dec_aggr_=0
integer, parameter :: mld_sym_dec_aggr_= MLD_SYM_DEC_AGGR_ integer, parameter :: mld_sym_dec_aggr_=1
integer, parameter :: mld_glb_aggr_= MLD_GLB_AGGR_ integer, parameter :: mld_glb_aggr_=2
integer, parameter :: mld_new_dec_aggr_= MLD_NEW_DEC_AGGR_ integer, parameter :: mld_new_dec_aggr_=3
integer, parameter :: mld_new_glb_aggr_= MLD_NEW_GLB_AGGR_ integer, parameter :: mld_new_glb_aggr_=4
integer, parameter :: mld_max_aggr_alg_= MLD_MAX_AGGR_ALG_ integer, parameter :: mld_max_aggr_alg_=mld_dec_aggr_
! !
! Legal values for entry: mld_aggr_omega_alg_ ! Legal values for entry: mld_aggr_omega_alg_
! !
integer, parameter :: mld_eig_est_= MLD_EIG_EST_ integer, parameter :: mld_eig_est_=0
integer, parameter :: mld_user_choice_= MLD_USER_CHOICE_ integer, parameter :: mld_user_choice_=999
! !
! Legal values for entry: mld_aggr_eig_ ! Legal values for entry: mld_aggr_eig_
! !
integer, parameter :: mld_max_norm_= MLD_MAX_NORM_ integer, parameter :: mld_max_norm_=0
! !
! Legal values for entry: mld_coarse_mat_ ! Legal values for entry: mld_coarse_mat_
! !
integer, parameter :: mld_distr_mat_= MLD_DISTR_MAT_ integer, parameter :: mld_distr_mat_=0
integer, parameter :: mld_repl_mat_= MLD_REPL_MAT_ integer, parameter :: mld_repl_mat_=1
integer, parameter :: mld_max_coarse_mat_= MLD_MAX_COARSE_MAT_ integer, parameter :: mld_max_coarse_mat_=mld_repl_mat_
! !
! Legal values for entry: mld_prec_status_ ! Legal values for entry: mld_prec_status_
! !
integer, parameter :: mld_prec_built_= MLD_PREC_BUILT_ integer, parameter :: mld_prec_built_=98765
! !
! Entries in rprcparm: ILU(k,t) threshold, smoothed aggregation omega ! Entries in rprcparm: ILU(k,t) threshold, smoothed aggregation omega
! !
integer, parameter :: mld_sub_iluthrs_ = MLD_SUB_ILUTHRS_ integer, parameter :: mld_sub_iluthrs_ = 1
integer, parameter :: mld_aggr_omega_val_ = MLD_AGGR_OMEGA_VAL_ integer, parameter :: mld_aggr_omega_val_ = 2
integer, parameter :: mld_aggr_thresh_ = MLD_AGGR_THRESH_ integer, parameter :: mld_aggr_thresh_ = 3
integer, parameter :: mld_coarse_iluthrs_ = MLD_COARSE_ILUTHRS_ integer, parameter :: mld_coarse_iluthrs_ = 4
integer, parameter :: mld_rfpsz_ = MLD_RFPSZ_ integer, parameter :: mld_rfpsz_ = 8
! !
! Fields for sparse matrices ensembles stored in av() ! Fields for sparse matrices ensembles stored in av()
! !
integer, parameter :: mld_l_pr_= MLD_L_PR_ integer, parameter :: mld_l_pr_=1
integer, parameter :: mld_u_pr_= MLD_U_PR_ integer, parameter :: mld_u_pr_=2
integer, parameter :: mld_bp_ilu_avsz_= MLD_BP_ILU_AVSZ_ integer, parameter :: mld_bp_ilu_avsz_=2
integer, parameter :: mld_ap_nd_= MLD_AP_ND_ integer, parameter :: mld_ap_nd_=3
integer, parameter :: mld_ac_= MLD_AC_ integer, parameter :: mld_ac_=4
integer, parameter :: mld_sm_pr_t_= MLD_SM_PR_T_ integer, parameter :: mld_sm_pr_t_=5
integer, parameter :: mld_sm_pr_= MLD_SM_PR_ integer, parameter :: mld_sm_pr_=6
integer, parameter :: mld_smth_avsz_= MLD_SMTH_AVSZ_ integer, parameter :: mld_smth_avsz_=6
integer, parameter :: mld_max_avsz_= MLD_MAX_AVSZ_ integer, parameter :: mld_max_avsz_=mld_smth_avsz_
! !
! Character constants used by mld_file_prec_descr ! Character constants used by mld_file_prec_descr

@ -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…
Cancel
Save