OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
mumps_common.c
Go to the documentation of this file.
1/*
2 *
3 * This file is part of MUMPS 5.5.1, released
4 * on Tue Jul 12 13:17:24 UTC 2022
5 *
6 *
7 * Copyright 1991-2022 CERFACS, CNRS, ENS Lyon, INP Toulouse, Inria,
8 * Mumps Technologies, University of Bordeaux.
9 *
10 * This version of MUMPS is provided to you free of charge. It is
11 * released under the CeCILL-C license
12 * (see doc/CeCILL-C_V1-en.txt, doc/CeCILL-C_V1-fr.txt, and
13 * https://cecill.info/licences/Licence_CeCILL-C_V1-en.html)
14 *
15 */
16#include <stdlib.h>
17#include "mumps_common.h"
18/* Special case of mapping and pivnul_list -- allocated from MUMPS */
21/* as uns_perm and sym_perm */
26{
27 return MUMPS_MAPPING;
28}
29void MUMPS_CALL
31{
32 MUMPS_MAPPING = f77mapping;
33}
34void MUMPS_CALL
44void MUMPS_CALL
46{
47 MUMPS_PIVNUL_LIST = f77pivnul_list;
48}
49void MUMPS_CALL
59void MUMPS_CALL
61{
62 MUMPS_SYM_PERM = f77sym_perm;
63}
64void MUMPS_CALL
74void MUMPS_CALL
76{
77 MUMPS_UNS_PERM = f77uns_perm;
78}
79void MUMPS_CALL
86/* Copies in-place *sizetab int values starting at address inouttab
87 into *sizetab int64_t values starting at the same address.
88*/
89{
90 MUMPS_INT8 i8; /* signed integer needed for reversed loop below */
91 for (i8=*sizetab-1; i8 >=0; i8--)
92 {
93 /* outtab8[i8]=(MUMPS_INT8)intab4[i8]; */
94 ((MUMPS_INT8 *)inouttab)[i8]=(MUMPS_INT8)inouttab[i8];
95 }
96}
97void MUMPS_CALL
99/* Copies in-place *sizetab int64_t values starting at address inouttab
100 into *sizetab int values starting at the same address */
101{
102 MUMPS_INT8 i8;
103 for (i8=0; i8 < *sizetab; i8++)
104 {
105 /* outtab4[i8]=(MUMPS_INT)intab8[i8]; */
106 ((MUMPS_INT *)inouttab)[i8]=(MUMPS_INT)inouttab[i8];
107 }
108}
109void MUMPS_CALL
111{
112 void * ptr;
113 ptr=malloc(*size);
114 *address=(MUMPS_INT8)(ptr);
115}
116void MUMPS_CALL
117MUMPS_FREE_C(void *address)
118{
119 free(address);
120}
#define MUMPS_INT8
#define MUMPS_INT
MUMPS_INT * mumps_get_mapping()
static MUMPS_INT * MUMPS_UNS_PERM
void MUMPS_CALL MUMPS_NULLIFY_C_UNS_PERM()
MUMPS_INT * mumps_get_uns_perm()
static MUMPS_INT * MUMPS_PIVNUL_LIST
void MUMPS_CALL MUMPS_NULLIFY_C_PIVNUL_LIST()
MUMPS_INT * mumps_get_sym_perm()
MUMPS_INT * mumps_get_pivnul_list()
void MUMPS_CALL MUMPS_NULLIFY_C_SYM_PERM()
static MUMPS_INT * MUMPS_MAPPING
void MUMPS_CALL MUMPS_NULLIFY_C_MAPPING()
static MUMPS_INT * MUMPS_SYM_PERM
#define MUMPS_MALLOC_C
#define MUMPS_ICOPY_32TO64_64C_IP_C
#define MUMPS_ICOPY_64TO32_64C_IP_C
#define MUMPS_ASSIGN_UNS_PERM
#define MUMPS_ASSIGN_MAPPING
#define MUMPS_ASSIGN_SYM_PERM
#define MUMPS_FREE_C
#define MUMPS_ASSIGN_PIVNUL_LIST
#define MUMPS_CALL