GiNaC
1.8.7
ginac
version.h
Go to the documentation of this file.
1
5
/*
6
* GiNaC Copyright (C) 1999-2023 Johannes Gutenberg University Mainz, Germany
7
*
8
* This program is free software; you can redistribute it and/or modify
9
* it under the terms of the GNU General Public License as published by
10
* the Free Software Foundation; either version 2 of the License, or
11
* (at your option) any later version.
12
*
13
* This program is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
* GNU General Public License for more details.
17
*
18
* You should have received a copy of the GNU General Public License
19
* along with this program; if not, write to the Free Software
20
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21
*/
22
23
#ifndef GINAC_VERSION_H
24
#define GINAC_VERSION_H
25
26
/* Major version of GiNaC */
27
#define GINACLIB_MAJOR_VERSION 1
28
29
/* Minor version of GiNaC */
30
#define GINACLIB_MINOR_VERSION 8
31
32
/* Micro version of GiNaC */
33
#define GINACLIB_MICRO_VERSION 7
34
35
// GiNaC library version information. It has very little to do with GiNaC
36
// version number. In particular, library version is OS dependent.
37
//
38
// When making releases, do
39
// 1. Increment GINAC_LT_REVISION
40
// 2. If any interfaces have been added, removed, or changed since the last
41
// release, increment GINAC_LT_CURRENT and set GINAC_LT_REVISION to 0.
42
// 3. If any interfaces have been added since the last release, increment
43
// GINAC_LT_AGE.
44
// 4. If any interfaces have been removed since the last release, set
45
// GINAC_LT_AGE to 0.
46
//
47
// Please note: the libtool naming scheme cannot guarantee that on all
48
// systems, the numbering is consecutive. It only guarantees that it is
49
// increasing. This doesn't matter, though: there is not incurred cost
50
// for numbers that are omitted, except for shrinking the available space
51
// of leftover numbers. Not something we need to worry about yet. ;-)
52
//
53
// On Linux, the SONAME is libginac.so.$(GINAC_LT_CURRENT)-$(GINAC_LT_AGE).
54
//
55
// TODO, when breaking the SONAME:
56
// * change matrix inverse to use default argument (twice)
57
// * check for interfaces marked as deprecated
58
#define GINAC_LT_CURRENT 12
59
#define GINAC_LT_REVISION 6
60
#define GINAC_LT_AGE 1
61
62
/*
63
* GiNaC archive file version information.
64
*
65
* The current archive version is GINACLIB_ARCHIVE_VERSION. This is
66
* the version of archives created by the current version of GiNaC.
67
* Archives version (GINACLIB_ARCHIVE_VERSION - GINACLIB_ARCHIVE_AGE)
68
* thru * GINACLIB_ARCHIVE_VERSION can be read by current version
69
* of GiNaC.
70
*
71
* Backward compatibility notes:
72
* If new properties have been added:
73
* GINACLIB_ARCHIVE_VERSION += 1
74
* GINACLIB_ARCHIVE_AGE += 1
75
* If backwards compatibility has been broken, i.e. some properties
76
* has been removed, or their type and/or meaning changed:
77
* GINACLIB_ARCHIVE_VERSION += 1
78
* GINACLIB_ARCHIVE_AGE = 0
79
*/
80
#define GINACLIB_ARCHIVE_VERSION 3
81
#define GINACLIB_ARCHIVE_AGE 3
82
83
#define GINACLIB_STR_HELPER(x) #x
84
#define GINACLIB_STR(x) GINACLIB_STR_HELPER(x)
85
#define GINACLIB_VERSION \
86
GINACLIB_STR(GINACLIB_MAJOR_VERSION) "."
\
87
GINACLIB_STR(GINACLIB_MINOR_VERSION) "." \
88
GINACLIB_STR(GINACLIB_MICRO_VERSION)
89
90
namespace
GiNaC
{
91
92
extern
const
int
version_major
;
93
extern
const
int
version_minor
;
94
extern
const
int
version_micro
;
95
96
}
// namespace GiNaC
97
98
#endif
// ndef GINAC_VERSION_H
GiNaC
Definition:
add.cpp:38
GiNaC::version_minor
const int version_minor
Definition:
utils.cpp:33
GiNaC::version_major
const int version_major
Definition:
utils.cpp:32
GiNaC::version_micro
const int version_micro
Definition:
utils.cpp:34
This page is part of the
GiNaC
developer's reference. It was generated automatically by
doxygen
. For an introduction, see the
tutorial
.