forked from gap-system/gap
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlistoper.h
138 lines (114 loc) · 4.46 KB
/
listoper.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
/****************************************************************************
**
*W listoper.h GAP source Martin Schönert
**
**
*Y Copyright (C) 1996, Lehrstuhl D für Mathematik, RWTH Aachen, Germany
*Y (C) 1998 School Math and Comp. Sci., University of St Andrews, Scotland
*Y Copyright (C) 2002 The GAP Group
**
** This file declares the functions of the package with the operations for
** generic lists.
*/
#ifndef GAP_LISTOPER_H
#define GAP_LISTOPER_H
#include "system.h"
/****************************************************************************
**
*F EqListList(<listL>,<listR>) . . . . . . . . . test if two lists are equal
*F LtListList(<listL>,<listR>) . . . . . . . . . test if two lists are equal
**
*/
extern Int EqListList (
Obj listL,
Obj listR );
extern Int LtListList (
Obj listL,
Obj listR );
/****************************************************************************
**
*F SumSclList(<listL>,<listR>) . . . . . . . . . sum of a scalar and a list
*F SumListScl(<listL>,<listR>) . . . . . . . . . sum of a list and a scalar
*F SumListList<listL>,<listR>) . . . . . . . . . . . . . sum of two lists
**
** 'SumSclList' is a generic function for the first kind of sum, that of a
** scalar and a list.
**
** 'SumListScl' is a generic function for the second kind of sum, that of a
** list and a scalar.
**
** 'SumListList' is a generic function for the third kind of sum, that of
** two lists.
*/
Obj SumSclList (
Obj listL,
Obj listR );
Obj SumListScl (
Obj listL,
Obj listR );
Obj SumListList (
Obj listL,
Obj listR );
/****************************************************************************
**
*F DiffSclList(<listL>,<listR>) . . . . . difference of a scalar and a list
*F DiffListScl(<listL>,<listR>) . . . . . difference of a list and a scalar
*F DiffListList(<listL>,<listR>) . . . . . . . . . . difference of two lists
**
** 'DiffSclList' is a generic function for the first kind of difference,
** that of a scalar and a list.
**
** 'DiffListScl' is a generic function for the second kind of difference,
** that of a list and a scalar.
**
** 'DiffListList' is a generic function for the third kind of difference,
** that of two lists.
*/
Obj DiffSclList (
Obj listL,
Obj listR );
Obj DiffListScl (
Obj listL,
Obj listR );
Obj DiffListList (
Obj listL,
Obj listR );
/****************************************************************************
**
*F ProdSclList(<listL>,<listR>) . . . . . . product of a scalar and a list
*F ProdListScl(<listL>,<listR>) . . . . . . product of a list and a scalar
*F ProdListList(<listL>,<listR>) . . . . . . . . . . . product of two lists
**
** 'ProdSclList' is a generic function for the first kind of product, that
** of a scalar and a list. Note that this includes kind of product defines
** the product of a matrix with a list of matrices.
**
** 'ProdListScl' is a generic function for the second kind of product, that
** of a list and a scalar. Note that this kind of product defines the
** product of a matrix with a vector, the product of two matrices, and the
** product of a list of matrices and a matrix.
**
** 'ProdListList' is a generic function for the third kind of product, that
** of two lists. Note that this kind of product defines the product of two
** vectors, a vector and a matrix, and the product of a vector and a list of
** matrices.
*/
Obj ProdSclList (
Obj listL,
Obj listR );
Obj ProdListScl (
Obj listL,
Obj listR );
Obj ProdListList (
Obj listL,
Obj listR );
/****************************************************************************
**
*F * * * * * * * * * * * * * initialize module * * * * * * * * * * * * * * *
*/
/****************************************************************************
**
*F InitInfoListOper() . . . . . . . . . . . . . . . table of init functions
*/
StructInitInfo * InitInfoListOper ( void );
#endif // GAP_LISTOPER_H