1 /****************************************************************************
2 **
3 ** This file is part of GAP, a system for computational discrete algebra.
4 **
5 ** Copyright of GAP belongs to its developers, whose names are too numerous
6 ** to list here. Please refer to the COPYRIGHT file for details.
7 **
8 ** SPDX-License-Identifier: GPL-2.0-or-later
9 **
10 ** This file implements the arithmetic for elements from cyclotomic fields
11 ** $Q(e^{{2 \pi i}/n}) = Q(e_n)$, which we call cyclotomics for short.
12 */
13
14 #ifndef GAP_CYCLOTOM_H
15 #define GAP_CYCLOTOM_H
16
17 #include "objects.h"
18
19
20 /****************************************************************************
21 **
22 *F IS_CYC . . . . . . . . . . . . . . . . test if the object is a cyclotomic
23 **
24 ** 'IS_CYC' returns 1 if the argument object's tnum indicates that it is an
25 ** internal integer, rational or (proper) cyclotomic object, otherwise 0.
26 */
IS_CYC(Obj o)27 EXPORT_INLINE Int IS_CYC(Obj o)
28 {
29 return TNUM_OBJ(o) <= T_CYC;
30 }
31
32 /****************************************************************************
33 **
34 *F * * * * * * * * * * * * * initialize module * * * * * * * * * * * * * * *
35 */
36
37
38 /****************************************************************************
39 **
40 *F InitInfoCyc() . . . . . . . . . . . . . . . . . . table of init functions
41 */
42 StructInitInfo * InitInfoCyc ( void );
43
44
45 #endif // GAP_CYCLOTOM_H
46