source: trunk/LMDZ.PLUTO/libf/muphypluto/swift_defined.h @ 3590

Last change on this file since 3590 was 3560, checked in by debatzbr, 5 weeks ago

Addition of the microphysics model in moments.

File size: 2.5 KB
Line 
1/*
2 * Copyright (c) Jeremie Burgalat (2013-2022)
3 * Contributor: Jeremie Burgalat (jeremie.burgalat@univ-reims.fr).
4 *
5 * This file is part of SWIFT
6 *
7 * Permission is hereby granted, free of charge, to any person obtaining a copy of
8 * this software and associated documentation files (the "Software"), to deal in
9 * the Software without restriction, including without limitation the rights to
10 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
11 * the Software, and to permit persons to whom the Software is furnished to do so,
12 * subject to the following conditions:
13 *
14 * The above copyright notice and this permission notice shall be included in all
15 * copies or substantial portions of the Software.
16 *
17 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
19 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
20 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
21 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
22 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 */
24
25 /**
26  * @file swift_defined.h
27  * @brief CPP macro definitions files
28  * @details This header defines few CPP symbols and macros that are used
29  * in the library source code.
30  */
31
32#ifdef HAVE_CONFIG_H
33#include "config.h"
34#endif
35
36/** @def ASSIGN_DTSTR(in,out)
37 *  Performs string assignment
38 *
39 *  This macro definition depends on compiler's support for allocatable string
40 *  in derived type:
41 *    - If it actually supports this feature, the macro defines an allocation
42 *      statement.
43 *    - Otherwise it defines a simple assignment statement.
44 */
45#if ! HAVE_FTNDTSTR
46#define ASSIGN_DTSTR(in,out) out = in
47#else
48#define ASSIGN_DTSTR(in,out) ALLOCATE(out,source=in)
49#endif
50
51/** @def OBJECT(name)
52 *  Derived type declaration
53 *
54 *  This macro definition depends on compiler's support for Bounded procedures
55 *  in derived type (more precisely, Fortran 2003 PROCEDURE keyword support):
56 *    - If it actually supports this feature, the macro defines derived type
57 *      declaration as dummy argument of subroutine/function using CLASS keyword.
58 *    - Otherwise, derived type dummy argument are declared using TYPE keyword.
59 */
60#if ! HAVE_FTNPROC
61#define OBJECT(name) TYPE(name)
62#else
63#define OBJECT(name) CLASS(name)
64#endif
65
66/* Defines SSLEN if needed */
67#ifndef SSLEN
68#define SSLEN 250
69#endif
70
71/* Defines SLLEN if needed */
72#ifndef SLLEN
73#define SLLEN 2500
74#endif
Note: See TracBrowser for help on using the repository browser.