OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
mumps_size.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/* Utility to automatically get the sizes of Fortran types */
17#include "mumps_size.h"
18void MUMPS_CALL MUMPS_SIZE_C(char *a, char *b, MUMPS_INT8 *diff)
19{
20 *diff = (MUMPS_INT8) (b - a);
21}
23{
24*addr=*(MUMPS_INT8*)&a;
25/*
26 With the form "*addr=(MUMPS_INT8)a", "(MUMPS_INT8)a"
27 and "a" may have different binary representations
28 for large addresses. In the above code, "(MUMPS_INT8*)&a"
29 is a pointer to the address "a", considering that "a" is
30 a MUMPS_INT8 rather than an address. Then the content of
31 that pointer is the exact binary representation of the
32 address a, but stored in a MUMPS_INT8 (signed 64-bit
33 integer).
34*/
35}
#define MUMPS_INT8
#define MUMPS_CALL
#define MUMPS_ADDR_C
Definition mumps_size.h:23
#define MUMPS_SIZE_C
Definition mumps_size.h:20