mirror of
https://github.com/ellmau/adf-obdd.git
synced 2025-12-20 09:39:38 +01:00
Upgrade dependencies
This commit is contained in:
parent
f601d473cc
commit
331836142c
1770
Cargo.lock
generated
1770
Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
24
flake.lock
generated
24
flake.lock
generated
@ -5,11 +5,11 @@
|
|||||||
"flake-utils": "flake-utils_2"
|
"flake-utils": "flake-utils_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1696331477,
|
"lastModified": 1722363685,
|
||||||
"narHash": "sha256-YkbRa/1wQWdWkVJ01JvV+75KIdM37UErqKgTf0L54Fk=",
|
"narHash": "sha256-XCf2PIAT6lH7BwytgioPmVf/wkzXjSKScC4KzcZgb64=",
|
||||||
"owner": "gytis-ivaskevicius",
|
"owner": "gytis-ivaskevicius",
|
||||||
"repo": "flake-utils-plus",
|
"repo": "flake-utils-plus",
|
||||||
"rev": "bfc53579db89de750b25b0c5e7af299e0c06d7d3",
|
"rev": "6b10f51ff73a66bb29f3bc8151a59d217713f496",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -38,16 +38,16 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1704290814,
|
"lastModified": 1736200483,
|
||||||
"narHash": "sha256-LWvKHp7kGxk/GEtlrGYV68qIvPHkU9iToomNFGagixU=",
|
"narHash": "sha256-JO+lFN2HsCwSLMUWXHeOad6QUxOuwe9UOAF/iSl1J4I=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "70bdadeb94ffc8806c0570eb5c2695ad29f0e421",
|
"rev": "3f0a8ac25fb674611b98089ca3a5dd6480175751",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"ref": "nixos-23.05",
|
"ref": "nixos-24.11",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@ -61,20 +61,16 @@
|
|||||||
},
|
},
|
||||||
"rust-overlay": {
|
"rust-overlay": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": [
|
|
||||||
"flake-utils",
|
|
||||||
"flake-utils"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1704680242,
|
"lastModified": 1736390353,
|
||||||
"narHash": "sha256-5bD6iSPDgVTLly2gy2oJVwzuyuFZOz2p4qt8c8UoYIE=",
|
"narHash": "sha256-e2SP1zV9CISHlYZwEhwT53N9CW7yPh0tKTR0vuQqiWc=",
|
||||||
"owner": "oxalica",
|
"owner": "oxalica",
|
||||||
"repo": "rust-overlay",
|
"repo": "rust-overlay",
|
||||||
"rev": "2037779e018ebc2d381001a891e2a793fce7a74f",
|
"rev": "1033caad3e26a56050de55ba0384df5ff0fa5ebd",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@ -2,7 +2,7 @@ rec {
|
|||||||
description = "adf-bdd, Abstract Dialectical Frameworks solved by Binary Decision Diagrams; developed in Dresden";
|
description = "adf-bdd, Abstract Dialectical Frameworks solved by Binary Decision Diagrams; developed in Dresden";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05";
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11";
|
||||||
rust-overlay = {
|
rust-overlay = {
|
||||||
url = "github:oxalica/rust-overlay";
|
url = "github:oxalica/rust-overlay";
|
||||||
inputs = {
|
inputs = {
|
||||||
|
|||||||
@ -1135,8 +1135,8 @@ mod test {
|
|||||||
let (s, r) = unbounded();
|
let (s, r) = unbounded();
|
||||||
adf.nogood_internal(
|
adf.nogood_internal(
|
||||||
&grounded,
|
&grounded,
|
||||||
crate::adf::heuristics::heu_simple,
|
heuristics::heu_simple,
|
||||||
crate::adf::Adf::stability_check,
|
Adf::stability_check,
|
||||||
s,
|
s,
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -1172,8 +1172,8 @@ mod test {
|
|||||||
let (s, r) = unbounded();
|
let (s, r) = unbounded();
|
||||||
adf.nogood_internal(
|
adf.nogood_internal(
|
||||||
&grounded,
|
&grounded,
|
||||||
crate::adf::heuristics::heu_simple,
|
heuristics::heu_simple,
|
||||||
crate::adf::Adf::stability_check,
|
Adf::stability_check,
|
||||||
s.clone(),
|
s.clone(),
|
||||||
);
|
);
|
||||||
let stable_result = r.try_iter().collect::<Vec<_>>();
|
let stable_result = r.try_iter().collect::<Vec<_>>();
|
||||||
|
|||||||
@ -2,9 +2,11 @@
|
|||||||
//! utilising the biodivine-lib-bdd (see <https://github.com/sybila/biodivine-lib-bdd>) BDD implementation to compute various semantics.
|
//! utilising the biodivine-lib-bdd (see <https://github.com/sybila/biodivine-lib-bdd>) BDD implementation to compute various semantics.
|
||||||
//!
|
//!
|
||||||
//! These are currently the
|
//! These are currently the
|
||||||
|
//!
|
||||||
//! - grounded
|
//! - grounded
|
||||||
//! - stable
|
//! - stable
|
||||||
//! - complete
|
//! - complete
|
||||||
|
//!
|
||||||
//! semantics of ADFs.
|
//! semantics of ADFs.
|
||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
@ -89,7 +91,7 @@ impl Adf {
|
|||||||
|
|
||||||
pub(crate) fn stm_rewriting(&mut self, parser: &AdfParser) {
|
pub(crate) fn stm_rewriting(&mut self, parser: &AdfParser) {
|
||||||
let expr = parser.formula_order().iter().enumerate().fold(
|
let expr = parser.formula_order().iter().enumerate().fold(
|
||||||
biodivine_lib_bdd::boolean_expression::BooleanExpression::Const(true),
|
BooleanExpression::Const(true),
|
||||||
|acc, (insert_order, new_order)| {
|
|acc, (insert_order, new_order)| {
|
||||||
BooleanExpression::And(
|
BooleanExpression::And(
|
||||||
Box::new(acc),
|
Box::new(acc),
|
||||||
@ -322,13 +324,13 @@ impl Adf {
|
|||||||
log::debug!("[Start] stable representation rewriting");
|
log::debug!("[Start] stable representation rewriting");
|
||||||
self.ac.iter().enumerate().fold(
|
self.ac.iter().enumerate().fold(
|
||||||
self.varset.eval_expression(
|
self.varset.eval_expression(
|
||||||
&biodivine_lib_bdd::boolean_expression::BooleanExpression::Const(true),
|
&BooleanExpression::Const(true),
|
||||||
),
|
),
|
||||||
|acc, (idx, formula)| {
|
|acc, (idx, formula)| {
|
||||||
acc.and(
|
acc.and(
|
||||||
&formula.iff(
|
&formula.iff(
|
||||||
&self.varset.eval_expression(
|
&self.varset.eval_expression(
|
||||||
&biodivine_lib_bdd::boolean_expression::BooleanExpression::Variable(
|
&BooleanExpression::Variable(
|
||||||
self.ordering
|
self.ordering
|
||||||
.name(crate::datatypes::Var(idx))
|
.name(crate::datatypes::Var(idx))
|
||||||
.expect("Variable should exist"),
|
.expect("Variable should exist"),
|
||||||
@ -430,8 +432,8 @@ mod test {
|
|||||||
let c = variables.eval_expression_string("c");
|
let c = variables.eval_expression_string("c");
|
||||||
let d = variables.eval_expression_string("a & b & c");
|
let d = variables.eval_expression_string("a & b & c");
|
||||||
let e = variables.eval_expression_string("a ^ b");
|
let e = variables.eval_expression_string("a ^ b");
|
||||||
let t = variables.eval_expression(&boolean_expression::BooleanExpression::Const(true));
|
let t = variables.eval_expression(&BooleanExpression::Const(true));
|
||||||
let f = variables.eval_expression(&boolean_expression::BooleanExpression::Const(false));
|
let f = variables.eval_expression(&BooleanExpression::Const(false));
|
||||||
|
|
||||||
println!("{:?}", a.to_string());
|
println!("{:?}", a.to_string());
|
||||||
println!("{:?}", a.to_bytes());
|
println!("{:?}", a.to_bytes());
|
||||||
|
|||||||
@ -342,7 +342,6 @@ let parsed_adf: Adf = parsed_custom_adf.into();
|
|||||||
#![deny(
|
#![deny(
|
||||||
missing_debug_implementations,
|
missing_debug_implementations,
|
||||||
missing_copy_implementations,
|
missing_copy_implementations,
|
||||||
missing_copy_implementations,
|
|
||||||
trivial_casts,
|
trivial_casts,
|
||||||
trivial_numeric_casts,
|
trivial_numeric_casts,
|
||||||
unsafe_code
|
unsafe_code
|
||||||
|
|||||||
@ -33,6 +33,7 @@ impl super::Bdd {
|
|||||||
/// # Attention
|
/// # Attention
|
||||||
/// - Constants for [`⊤`][crate::datatypes::Term::TOP] and [`⊥`][crate::datatypes::Term::BOT] concepts are not sent, as they are considered to be existing in every [Bdd][super::Bdd] structure.
|
/// - Constants for [`⊤`][crate::datatypes::Term::TOP] and [`⊥`][crate::datatypes::Term::BOT] concepts are not sent, as they are considered to be existing in every [Bdd][super::Bdd] structure.
|
||||||
/// - Mixing manipulating operations and utilising the communication channel for a receiving [roBDD][super::Bdd] may end up in inconsistent data.
|
/// - Mixing manipulating operations and utilising the communication channel for a receiving [roBDD][super::Bdd] may end up in inconsistent data.
|
||||||
|
///
|
||||||
/// So far, only manipulate the [roBDD][super::Bdd] if no further [recv][Self::recv] will be called.
|
/// So far, only manipulate the [roBDD][super::Bdd] if no further [recv][Self::recv] will be called.
|
||||||
pub fn with_sender_receiver(
|
pub fn with_sender_receiver(
|
||||||
sender: crossbeam_channel::Sender<BddNode>,
|
sender: crossbeam_channel::Sender<BddNode>,
|
||||||
|
|||||||
@ -11,7 +11,7 @@ where
|
|||||||
V: Serialize + 'a,
|
V: Serialize + 'a,
|
||||||
{
|
{
|
||||||
let container: Vec<_> = target.into_iter().collect();
|
let container: Vec<_> = target.into_iter().collect();
|
||||||
serde::Serialize::serialize(&container, ser)
|
Serialize::serialize(&container, ser)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Deserialize from a [Vector][std::vec::Vec] to a [Map][std::collections::HashMap].
|
/// Deserialize from a [Vector][std::vec::Vec] to a [Map][std::collections::HashMap].
|
||||||
@ -22,6 +22,6 @@ where
|
|||||||
K: Deserialize<'de>,
|
K: Deserialize<'de>,
|
||||||
V: Deserialize<'de>,
|
V: Deserialize<'de>,
|
||||||
{
|
{
|
||||||
let container: Vec<_> = serde::Deserialize::deserialize(des)?;
|
let container: Vec<_> = Deserialize::deserialize(des)?;
|
||||||
Ok(T::from_iter(container))
|
Ok(T::from_iter(container))
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user