My Project
Toggle main menu visibility
Loading...
Searching...
No Matches
Singular
lists.h
Go to the documentation of this file.
1
#ifndef LISTS_H
2
#define LISTS_H
3
/****************************************
4
* Computer Algebra System SINGULAR *
5
****************************************/
6
/*
7
* ABSTRACT: handling of the list type
8
*/
9
#include "
omalloc/omalloc.h
"
10
11
#include "
kernel/structs.h
"
12
#include "
kernel/ideals.h
"
13
#include "
Singular/subexpr.h
"
14
#include "
Singular/tok.h
"
15
16
#ifdef MDEBUG
17
#define INLINE_THIS
18
#else
19
#define INLINE_THIS inline
20
#endif
21
22
EXTERN_VAR
omBin
slists_bin
;
23
class
slists
24
{
25
public
:
26
void
Clean
(ring r=
currRing
)
27
{
28
assume
(
this
!=
NULL
);
29
30
if
(
nr
>=0)
31
{
32
int
i
;
33
for
(
i
=
nr
;
i
>=0;
i
--)
34
{
35
if
(
m
[
i
].rtyp!=
DEF_CMD
)
m
[
i
].CleanUp(r);
36
}
37
omFreeSize
((
ADDRESS
)
m
, (
nr
+1)*
sizeof
(
sleftv
));
38
nr
=-1;
39
}
40
//omFreeSize((ADDRESS)this, sizeof(slists));
41
omFreeBin
((
ADDRESS
)
this
,
slists_bin
);
42
}
43
INLINE_THIS
void
Init
(
int
l
=0);
44
int
nr
;
/* the number of elements in the list -1 */
45
/* -1: empty list */
46
sleftv
*
m
;
/* field of sleftv */
47
};
48
49
typedef
slists
*
lists
;
50
51
int
lSize
(
lists
L);
52
lists
lCopy
(
lists
L);
53
lists
lInsert0
(
lists
ul,
leftv
v
,
int
pos);
54
BOOLEAN
lInsert
(
leftv
res
,
leftv
u,
leftv
v
);
55
BOOLEAN
lInsert3
(
leftv
res
,
leftv
u,
leftv
v
,
leftv
w
);
56
BOOLEAN
lAppend
(
leftv
res
,
leftv
u,
leftv
v
);
57
BOOLEAN
lDelete
(
leftv
res
,
leftv
u,
leftv
v
);
58
BOOLEAN
lDeleteIV
(
leftv
res
,
leftv
u,
leftv
v
);
59
BOOLEAN
lAdd
(
leftv
res
,
leftv
u,
leftv
v
);
60
BOOLEAN
lRingDependend
(
lists
L);
61
char
*
lString
(
lists
l
,
BOOLEAN
typed =
FALSE
,
int
dim
= 1);
62
63
64
lists
liMakeResolv
(
resolvente
r,
int
length
,
int
reallen,
int
typ0,
intvec
** weights,
int
add_row_shift);
65
resolvente
liFindRes
(
lists
L,
int
* len,
int
*typ0,
intvec
*** weights=
NULL
);
66
67
#if ! defined(MDEBUG) || defined(LISTS_CC)
68
INLINE_THIS
void
slists::Init
(
int
l
)
69
{
nr
=
l
-1;
m
=(
sleftv
*)((
l
>0) ?
omAlloc0
(
l
*
sizeof
(
sleftv
)):
NULL
);
70
}
71
#endif
72
73
#undef INLINE_THIS
74
75
#endif
BOOLEAN
int BOOLEAN
Definition
auxiliary.h:88
FALSE
#define FALSE
Definition
auxiliary.h:97
ADDRESS
void * ADDRESS
Definition
auxiliary.h:120
l
int l
Definition
cfEzgcd.cc:100
m
int m
Definition
cfEzgcd.cc:128
i
int i
Definition
cfEzgcd.cc:132
intvec
Definition
intvec.h:24
sleftv
Class used for (list of) interpreter objects.
Definition
subexpr.h:83
slists
Definition
lists.h:24
slists::m
sleftv * m
Definition
lists.h:46
slists::Clean
void Clean(ring r=currRing)
Definition
lists.h:26
slists::Init
INLINE_THIS void Init(int l=0)
slists::nr
int nr
Definition
lists.h:44
res
CanonicalForm res
Definition
facAbsFact.cc:60
w
const CanonicalForm & w
Definition
facAbsFact.cc:51
v
const Variable & v
< [in] a sqrfree bivariate poly
Definition
facBivar.h:39
EXTERN_VAR
#define EXTERN_VAR
Definition
globaldefs.h:6
ideals.h
resolvente
ideal * resolvente
Definition
ideals.h:18
length
static BOOLEAN length(leftv result, leftv arg)
Definition
interval.cc:257
slists_bin
VAR omBin slists_bin
Definition
lists.cc:23
lDelete
BOOLEAN lDelete(leftv res, leftv u, leftv v)
Definition
lists.cc:161
slists_bin
EXTERN_VAR omBin slists_bin
Definition
lists.h:22
lRingDependend
BOOLEAN lRingDependend(lists L)
Definition
lists.cc:222
lAdd
BOOLEAN lAdd(leftv res, leftv u, leftv v)
Definition
lists.cc:51
lInsert0
lists lInsert0(lists ul, leftv v, int pos)
Definition
lists.cc:87
lDeleteIV
BOOLEAN lDeleteIV(leftv res, leftv u, leftv v)
Definition
lists.cc:192
lAppend
BOOLEAN lAppend(leftv res, leftv u, leftv v)
Definition
lists.cc:151
lInsert3
BOOLEAN lInsert3(leftv res, leftv u, leftv v, leftv w)
Definition
lists.cc:135
liFindRes
resolvente liFindRes(lists L, int *len, int *typ0, intvec ***weights=NULL)
Definition
lists.cc:344
INLINE_THIS
#define INLINE_THIS
Definition
lists.h:17
lString
char * lString(lists l, BOOLEAN typed=FALSE, int dim=1)
Definition
lists.cc:409
lInsert
BOOLEAN lInsert(leftv res, leftv u, leftv v)
Definition
lists.cc:120
liMakeResolv
lists liMakeResolv(resolvente r, int length, int reallen, int typ0, intvec **weights, int add_row_shift)
Definition
lists.cc:239
lSize
int lSize(lists L)
Definition
lists.cc:25
lCopy
lists lCopy(lists L)
Definition
lists.cc:32
assume
#define assume(x)
Definition
mod2.h:389
lists
slists * lists
Definition
mpr_numeric.h:146
omFreeSize
#define omFreeSize(addr, size)
Definition
omAllocDecl.h:260
omAlloc0
#define omAlloc0(size)
Definition
omAllocDecl.h:211
omFreeBin
#define omFreeBin(addr, bin)
Definition
omAllocDecl.h:259
NULL
#define NULL
Definition
omList.c:12
omBin
omBin_t * omBin
Definition
omStructs.h:12
omalloc.h
currRing
VAR ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
Definition
polys.cc:13
structs.h
leftv
sleftv * leftv
Definition
structs.h:53
subexpr.h
tok.h
DEF_CMD
@ DEF_CMD
Definition
tok.h:58
dim
int dim(ideal I, ring r)
Definition
tropicalStrategy.cc:23
Generated on
for My Project by
doxygen 1.17.0
for
Singular