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