/** @file tinfos.h
*
- * Values for a do-it-yourself typeinfo scheme.
- *
- * GiNaC Copyright (C) 1999 Johannes Gutenberg University Mainz, Germany
+ * Values for a do-it-yourself typeinfo scheme. */
+
+/*
+ * GiNaC Copyright (C) 1999-2002 Johannes Gutenberg University Mainz, Germany
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
#ifndef __GINAC_TINFOS_H__
#define __GINAC_TINFOS_H__
-#define TINFO_BASIC 0x00000001U
+namespace GiNaC {
+
+const unsigned TINFO_basic = 0x00000001U;
-#define TINFO_EXPAIRSEQ 0x00010001U
-#define TINFO_ADD 0x00011001U
-#define TINFO_MUL 0x00011002U
+const unsigned TINFO_expairseq = 0x00010001U;
+const unsigned TINFO_add = 0x00011001U;
+const unsigned TINFO_mul = 0x00011002U;
-#define TINFO_SYMBOL 0x00020001U
-#define TINFO_CONSTANT 0x00021001U
+const unsigned TINFO_symbol = 0x00020001U;
+const unsigned TINFO_constant = 0x00021001U;
-#define TINFO_EXPRSEQ 0x00030001U
-#define TINFO_FUNCTION 0x00031001U
-#define TINFO_NCMUL 0x00031002U
-// #define TINFO_NFUNCTION 0x00031003U
+const unsigned TINFO_exprseq = 0x00030001U;
+const unsigned TINFO_function = 0x00031001U;
+const unsigned TINFO_fderivative = 0x00032001U;
+const unsigned TINFO_ncmul = 0x00031002U;
-#define TINFO_LST 0x00040001U
+const unsigned TINFO_lst = 0x00040001U;
-#define TINFO_MATRIX 0x00050001U
+const unsigned TINFO_matrix = 0x00050001U;
-#define TINFO_POWER 0x00060001U
+const unsigned TINFO_power = 0x00060001U;
-#define TINFO_RELATIONAL 0x00070001U
+const unsigned TINFO_relational = 0x00070001U;
-#define TINFO_FAIL 0x00080001U
+const unsigned TINFO_fail = 0x00080001U;
-#define TINFO_NUMERIC 0x00090001U
+const unsigned TINFO_numeric = 0x00090001U;
-#define TINFO_SERIES 0x000a0001U
+const unsigned TINFO_pseries = 0x000a0001U;
-#define TINFO_INDEXED 0x000b0001U
-#define TINFO_ALGEBRA 0x000b1001U
-#define TINFO_CLIFFORD 0x000b1101U
-#define TINFO_COLOR 0x000b1201U
-#define TINFO_ISOSPIN 0x000b1301U
-#define TINFO_SIMP_LOR 0x000b1401U
+const unsigned TINFO_indexed = 0x000b0001U;
+const unsigned TINFO_color = 0x000b1000U;
+// reserved up to 0x000b10ffU
+// for color algebras (only used for return_type_tinfo())
+const unsigned TINFO_clifford = 0x000b1100U;
+// reserved up to 0x000b11ffU
+// for clifford algebras (only used for return_type_tinfo())
-#define TINFO_STRUCTURE 0x000c0001U
-// reserved up to 0x000cffffU
+const unsigned TINFO_structure = 0x000c0001U;
+// reserved up to 0x000cffffU
// for user defined structures
-#define TINFO_IDX 0x000d0001U
-#define TINFO_COLORIDX 0x000d1001U
-#define TINFO_LORENTZIDX 0x000d1002U
+const unsigned TINFO_idx = 0x000d0001U;
+const unsigned TINFO_varidx = 0x000d1001U;
+const unsigned TINFO_spinidx = 0x000d2001U;
+
+const unsigned TINFO_tensor = 0x000e0001U;
+const unsigned TINFO_tensdelta = 0x000e1001U;
+const unsigned TINFO_tensmetric = 0x000e1002U;
+const unsigned TINFO_minkmetric = 0x000e2001U;
+const unsigned TINFO_spinmetric = 0x000e2002U;
+const unsigned TINFO_tensepsilon = 0x000e1003U;
+const unsigned TINFO_su3one = 0x000e1008U;
+const unsigned TINFO_su3t = 0x000e1009U;
+const unsigned TINFO_su3f = 0x000e100aU;
+const unsigned TINFO_su3d = 0x000e100bU;
+const unsigned TINFO_diracone = 0x000e100cU;
+const unsigned TINFO_diracgamma = 0x000e100dU;
+const unsigned TINFO_diracgamma5 = 0x000e100eU;
+const unsigned TINFO_diracgammaL = 0x000e100fU;
+const unsigned TINFO_diracgammaR = 0x000e1010U;
+
+const unsigned TINFO_wildcard = 0x000f0001U;
+
+const unsigned TINFO_symmetry = 0x00100001U;
+
+} // namespace GiNaC
#endif // ndef __GINAC_TINFOS_H__