Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
S
sylvan
Manage
Activity
Members
Labels
Plan
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Model registry
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
PMC-SOG
sylvan
Commits
85823305
Commit
85823305
authored
4 years ago
by
Chiheb Amer Abid
Browse files
Options
Downloads
Patches
Plain Diff
modifié : stats.h
modifié : sylvan_int.h modifié : sylvan_seq.c
parent
f7e4ec32
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
stats.h
+1
-0
1 addition, 0 deletions
stats.h
sylvan_int.h
+3
-0
3 additions, 0 deletions
sylvan_int.h
sylvan_seq.c
+10
-24
10 additions, 24 deletions
sylvan_seq.c
with
14 additions
and
24 deletions
stats.h
+
1
−
0
View file @
85823305
...
...
@@ -114,6 +114,7 @@ typedef enum {
LDD_PROJECT_MINUS_CACHED
,
LDD_NODES_CREATED
,
LDD_NODES_REUSED
,
LDD_FIRE_CACHED
,
LLMSSET_LOOKUP
,
...
...
This diff is collapsed.
Click to expand it.
sylvan_int.h
+
3
−
0
View file @
85823305
...
...
@@ -80,6 +80,9 @@ static const uint64_t CACHE_MDD_RELPREV = (27LL<<40);
static
const
uint64_t
CACHE_MDD_SATCOUNT
=
(
28LL
<<
40
);
static
const
uint64_t
CACHE_MDD_SATCOUNTL1
=
(
29LL
<<
40
);
static
const
uint64_t
CACHE_MDD_SATCOUNTL2
=
(
30LL
<<
40
);
static
const
uint64_t
CACHE_LDD_FIRE
=
(
31LL
<<
40
);
static
const
uint64_t
CACHE_LDD_UNION
=
(
32LL
<<
40
);
// MTBDD operations
static
const
uint64_t
CACHE_MTBDD_APPLY
=
(
40LL
<<
40
);
...
...
This diff is collapsed.
Click to expand it.
sylvan_seq.c
+
10
−
24
View file @
85823305
...
...
@@ -37,8 +37,6 @@
#include
<string.h>
/**
* MDD node structure
*/
...
...
@@ -107,15 +105,10 @@ MDD ldd_makenode(uint32_t value, MDD ifeq, MDD ifneq)
uint64_t
index
=
llmsset_lookup
(
nodes
,
n
.
a
,
n
.
b
,
&
created
);
if
(
index
==
0
)
{
/*LACE_ME;
sylvan_gc(); // --- MC*/
index
=
llmsset_lookup
(
nodes
,
n
.
a
,
n
.
b
,
&
created
);
if
(
index
==
0
)
{
fprintf
(
stderr
,
"MDD Unique table full!
\n
"
);
exit
(
1
);
}
}
...
...
@@ -137,11 +130,7 @@ ldd_make_copynode(MDD ifeq, MDD ifneq)
uint64_t
index
=
llmsset_lookup
(
nodes
,
n
.
a
,
n
.
b
,
&
created
);
if
(
index
==
0
)
{
lddmc_refs_push
(
ifeq
);
lddmc_refs_push
(
ifneq
);
// LACE_ME;
//sylvan_gc();
lddmc_refs_pop
(
1
);
index
=
llmsset_lookup
(
nodes
,
n
.
a
,
n
.
b
,
&
created
);
if
(
index
==
0
)
...
...
@@ -164,7 +153,7 @@ MDD lddmc_union_mono(MDD a, MDD b)
if
(
a
==
lddmc_false
)
return
b
;
if
(
b
==
lddmc_false
)
return
a
;
assert
(
a
!=
lddmc_true
&&
b
!=
lddmc_true
);
// expecting same length
/* Test gc */
// LACE_ME;
// sylvan_gc_test();
...
...
@@ -181,10 +170,10 @@ MDD lddmc_union_mono(MDD a, MDD b)
/* Access cache */
MDD
result
;
/*if (cache_get3(CACHE_MDD_UNION, a, b, 0, &result)) {
sylvan_stats_count(LDD_UNION_CACHED);
/*if (cache_get3(CACHE_LDD_UNION, a, b, 0,&result)) {
return result;
}*/
/* Get nodes */
mddnode_t
na
=
GETNODE
(
a
);
...
...
@@ -232,8 +221,8 @@ MDD lddmc_union_mono(MDD a, MDD b)
result
=
ldd_makenode
(
nb_value
,
mddnode_getdown
(
nb
),
right
);
}
/* Write to cache */
/
/ if (
cache_put3(CACHE_
M
DD_UNION, a, b, 0, result)
) sylvan_stats_count(LDD_UNION_CACHEDPUT);
/
*
cache_put3(CACHE_
L
DD_UNION, a, b, 0, result)
;*/
return
result
;
}
...
...
@@ -291,15 +280,11 @@ MDD lddmc_firing_mono(MDD cmark, MDD minus, MDD plus)
{
// for an empty set of source states, or an empty transition relation, return the empty set
if
(
cmark
==
lddmc_true
)
return
lddmc_true
;
if
(
minus
==
lddmc_false
)
return
lddmc_false
;
if
(
plus
==
lddmc_false
)
return
lddmc_false
;
// we assume that if meta is finished, then the rest is not in rel
/* Access cache */
if
(
minus
==
lddmc_false
||
plus
==
lddmc_false
)
return
lddmc_false
;
MDD
result
;
MDD
_cmark
=
cmark
,
_minus
=
minus
,
_plus
=
plus
;
/*if (cache_get3(CACHE_MDD_RELPROD, cmark, minus, plus, &result)) {
sylvan_stats_count(LDD_RELPROD_CACHED);
/* if (cache_get3(CACHE_LDD_FIRE, cmark, minus, plus, &result)) {
return result;
}*/
...
...
@@ -328,6 +313,7 @@ MDD lddmc_firing_mono(MDD cmark, MDD minus, MDD plus)
if
(
cmark
==
lddmc_false
)
break
;
n_cmark
=
GETNODE
(
cmark
);
}
//cache_put3(CACHE_LDD_FIRE, cmark, minus, plus, result);
return
result
;
}
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment