1 /*
2 *
3 * This file is part of MUMPS 4.10.0, built on Tue May 10 12:56:32 UTC 2011
4 *
5 *
6 * This version of MUMPS is provided to you free of charge. It is public
7 * domain, based on public domain software developed during the Esprit IV
8 * European project PARASOL (1996-1999). Since this first public domain
9 * version in 1999, research and developments have been supported by the
10 * following institutions: CERFACS, CNRS, ENS Lyon, INPT(ENSEEIHT)-IRIT,
11 * INRIA, and University of Bordeaux.
12 *
13 * The MUMPS team at the moment of releasing this version includes
14 * Patrick Amestoy, Maurice Bremond, Alfredo Buttari, Abdou Guermouche,
15 * Guillaume Joslin, Jean-Yves L'Excellent, Francois-Henry Rouet, Bora
16 * Ucar and Clement Weisbecker.
17 *
18 * We are also grateful to Emmanuel Agullo, Caroline Bousquet, Indranil
19 * Chowdhury, Philippe Combes, Christophe Daniel, Iain Duff, Vincent Espirat,
20 * Aurelia Fevre, Jacko Koster, Stephane Pralet, Chiara Puglisi, Gregoire
21 * Richard, Tzvetomila Slavova, Miroslav Tuma and Christophe Voemel who
22 * have been contributing to this project.
23 *
24 * Up-to-date copies of the MUMPS package can be obtained
25 * from the Web pages:
26 * http://mumps.enseeiht.fr/ or http://graal.ens-lyon.fr/MUMPS
27 *
28 *
29 * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
30 * EXPRESSED OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
31 *
32 *
33 * User documentation of any code that uses this software can
34 * include this complete notice. You can acknowledge (using
35 * references [1] and [2]) the contribution of this package
36 * in any scientific publication dependent upon the use of the
37 * package. You shall use reasonable endeavours to notify
38 * the authors of the package of this publication.
39 *
40 * [1] P. R. Amestoy, I. S. Duff, J. Koster and J.-Y. L'Excellent,
41 * A fully asynchronous multifrontal solver using distributed dynamic
42 * scheduling, SIAM Journal of Matrix Analysis and Applications,
43 * Vol 23, No 1, pp 15-41 (2001).
44 *
45 * [2] P. R. Amestoy and A. Guermouche and J.-Y. L'Excellent and
46 * S. Pralet, Hybrid scheduling for the parallel solution of linear
47 * systems. Parallel Computing Vol 32 (2), pp 136-156 (2006).
48 *
49 */
50 #include "mumps_common.h"
51 /* Special case of mapping and pivnul_list -- allocated from MUMPS */
52 static MUMPS_INT * MUMPS_MAPPING;
53 static MUMPS_INT * MUMPS_PIVNUL_LIST;
54 /* as uns_perm and sym_perm */
55 static MUMPS_INT * MUMPS_SYM_PERM;
56 static MUMPS_INT * MUMPS_UNS_PERM;
57 MUMPS_INT*
mumps_get_mapping()58 mumps_get_mapping()
59 {
60 return MUMPS_MAPPING;
61 }
62 void MUMPS_CALL
MUMPS_AFFECT_MAPPING(MUMPS_INT * f77mapping)63 MUMPS_AFFECT_MAPPING(MUMPS_INT * f77mapping)
64 {
65 MUMPS_MAPPING = f77mapping;
66 }
67 void MUMPS_CALL
MUMPS_NULLIFY_C_MAPPING()68 MUMPS_NULLIFY_C_MAPPING()
69 {
70 MUMPS_MAPPING = 0;
71 }
72 MUMPS_INT*
mumps_get_pivnul_list()73 mumps_get_pivnul_list()
74 {
75 return MUMPS_PIVNUL_LIST;
76 }
77 void MUMPS_CALL
MUMPS_AFFECT_PIVNUL_LIST(MUMPS_INT * f77pivnul_list)78 MUMPS_AFFECT_PIVNUL_LIST(MUMPS_INT * f77pivnul_list)
79 {
80 MUMPS_PIVNUL_LIST = f77pivnul_list;
81 }
82 void MUMPS_CALL
MUMPS_NULLIFY_C_PIVNUL_LIST()83 MUMPS_NULLIFY_C_PIVNUL_LIST()
84 {
85 MUMPS_PIVNUL_LIST = 0;
86 }
87 MUMPS_INT*
mumps_get_sym_perm()88 mumps_get_sym_perm()
89 {
90 return MUMPS_SYM_PERM;
91 }
92 void MUMPS_CALL
MUMPS_AFFECT_SYM_PERM(MUMPS_INT * f77sym_perm)93 MUMPS_AFFECT_SYM_PERM(MUMPS_INT * f77sym_perm)
94 {
95 MUMPS_SYM_PERM = f77sym_perm;
96 }
97 void MUMPS_CALL
MUMPS_NULLIFY_C_SYM_PERM()98 MUMPS_NULLIFY_C_SYM_PERM()
99 {
100 MUMPS_SYM_PERM = 0;
101 }
102 MUMPS_INT*
mumps_get_uns_perm()103 mumps_get_uns_perm()
104 {
105 return MUMPS_UNS_PERM;
106 }
107 void MUMPS_CALL
MUMPS_AFFECT_UNS_PERM(MUMPS_INT * f77uns_perm)108 MUMPS_AFFECT_UNS_PERM(MUMPS_INT * f77uns_perm)
109 {
110 MUMPS_UNS_PERM = f77uns_perm;
111 }
112 void MUMPS_CALL
MUMPS_NULLIFY_C_UNS_PERM()113 MUMPS_NULLIFY_C_UNS_PERM()
114 {
115 MUMPS_UNS_PERM = 0;
116 }
117