Salome HOME
Homard executable
[modules/homard.git] / src / tool / Dependance_Machine / dmralo.F
1       subroutine dmralo ( adress, taille, codret )
2 c
3 c ______________________________________________________________________
4 c
5 c                             H O M A R D
6 c
7 c Outil de Maillage Adaptatif par Raffinement et Deraffinement d'EDF R&D
8 c
9 c Version originale enregistree le 18 juin 1996 sous le numero 96036
10 c aupres des huissiers de justice Simart et Lavoir a Clamart
11 c Version 11.2 enregistree le 13 fevrier 2015 sous le numero 2015/014
12 c aupres des huissiers de justice
13 c Lavoir, Silinski & Cherqui-Abrahmi a Clamart
14 c
15 c    HOMARD est une marque deposee d'Electricite de France
16 c
17 c Copyright EDF 1996
18 c Copyright EDF 1998
19 c Copyright EDF 2002
20 c Copyright EDF 2020
21 c ______________________________________________________________________
22 c   Dependance Machine : ReALlOcation
23 c   -          -         - -- -
24 c ______________________________________________________________________
25 c
26 c  but : re-alloue une place memoire demarrant a adress,
27 c        a la nouvelle taille
28 c  Attention : l'adresse de depart peut etre MODIFIEE, meme si la
29 c              nouvelle taille est plus petite que l'ancienne.
30 c              Le contenu, lui, est conserve.
31 c ______________________________________________________________________
32 c .        .     .        .                                            .
33 c .  nom   . e/s . taille .           description                      .
34 c .____________________________________________________________________.
35 c . adress . es  .   1    . adresse de depart de la zone allouee       .
36 c . taille . e   .   1    . nouvelle taille de la zone allouee         .
37 c . codret .  s  .   1    . code d'erreur ( 0 : tout va bien )         .
38 c ______________________________________________________________________
39 c
40 c====
41 c 0. declarations et dimensionnement
42 c====
43 c
44 c 0.1. ==> generalites
45 c
46       implicit none
47       save
48 c
49 c 0.2. ==> communs
50 c
51 c 0.3. ==> arguments
52 c
53       integer adress, taille, codret
54 c
55 c 0.4. ==> variables locales
56 c ______________________________________________________________________
57 c
58 c Precautions generales d'emploi:
59 c         - la taille finale doit etre strictement positive
60 c           (sinon, ce serait une desallocation complete: cf. dmlibe)
61 c         - l'adresse de depart doit correspondre (en entree) a une
62 c           adresse de depart d'une zone allouee (cf. dmalme) ou
63 c           re-allouee...
64 c
65       if ( taille.gt.0 ) then
66 c
67         call dmralc ( adress, taille )
68 c
69         if ( adress.eq.0 ) then
70           codret = 1
71         else
72           codret = 0
73         endif
74 c
75       else
76 c
77         codret = -1
78 c
79       endif
80 c
81       end