pub struct SemanticConstraint {
pub clauses: Vec<ConstraintClause>,
pub specificity: u32,
pub recall: Probability,
}Expand description
A ranked disjunctive-normal-form semantic constraint.
Fields§
§clauses: Vec<ConstraintClause>Disjunction of clauses. An empty list is treated as trivially true.
specificity: u32Deterministic ranking score; larger values are more specific.
recall: ProbabilityFraction of the positive corpus satisfied by the DNF.
Implementations§
Source§impl SemanticConstraint
impl SemanticConstraint
Sourcepub const fn new(
clauses: Vec<ConstraintClause>,
specificity: u32,
recall: Probability,
) -> Self
pub const fn new( clauses: Vec<ConstraintClause>, specificity: u32, recall: Probability, ) -> Self
Builds a constraint value.
Sourcepub const fn trivially_true() -> Self
pub const fn trivially_true() -> Self
Builds the trivially true constraint.
Sourcepub fn evaluate(&self, grammar: &Grammar, input: &str) -> TruthValue
pub fn evaluate(&self, grammar: &Grammar, input: &str) -> TruthValue
Evaluates the DNF over one input.
Sourcepub fn evaluate_probabilistic(
&self,
grammar: &Grammar,
input: &str,
) -> ProbabilisticTruthValue
pub fn evaluate_probabilistic( &self, grammar: &Grammar, input: &str, ) -> ProbabilisticTruthValue
Evaluates the DNF as a probabilistic truth value.
Trait Implementations§
Source§impl Clone for SemanticConstraint
impl Clone for SemanticConstraint
Source§fn clone(&self) -> SemanticConstraint
fn clone(&self) -> SemanticConstraint
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SemanticConstraint
impl Debug for SemanticConstraint
Source§impl PartialEq for SemanticConstraint
impl PartialEq for SemanticConstraint
Source§fn eq(&self, other: &SemanticConstraint) -> bool
fn eq(&self, other: &SemanticConstraint) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Eq for SemanticConstraint
impl StructuralPartialEq for SemanticConstraint
Auto Trait Implementations§
impl Freeze for SemanticConstraint
impl RefUnwindSafe for SemanticConstraint
impl Send for SemanticConstraint
impl Sync for SemanticConstraint
impl Unpin for SemanticConstraint
impl UnsafeUnpin for SemanticConstraint
impl UnwindSafe for SemanticConstraint
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.