Sign in

    zhaoyuanjuns/moonbit_extractor/domain does not have a README file

    ExtractionError

    pub(all) suberror ExtractionError {
    InvalidFraction(name~ : String, value~ : Double)
    InvalidFlow(name~ : String, value~ : Double)
    InvalidCoefficient(name~ : String, value~ : Double)
    InvalidComposition(total~ : Double)
    InsufficientData(required~ : Int, actual~ : Int)
    UnsortedData(index~ : Int)
    DuplicateCoordinate(value~ : Double)
    OutOfRange(name~ : String, value~ : Double, lower~ : Double, upper~ : Double)
    SingularBalance(context~ : String)
    ConvergenceFailure(iterations~ : Int, residual~ : Double)
    InvalidArgument(message~ : String)
    } derive(Eq,
    Debug
    )

    Errors raised when physical inputs or numerical tables are invalid.

    EquilibriumPoint

    pub(all) struct EquilibriumPoint {
    x : Double
    y : Double
    } derive(Eq, ToJson,
    Debug
    )

    One equilibrium datum: raffinate concentration x and extract concentration y, expressed on a consistent solute-free basis.

    EquilibriumPoint::new

    fn EquilibriumPoint::new(x~ : Double, y~ : Double) -> EquilibriumPoint raise ExtractionError

    PhaseSplit

    pub(all) struct PhaseSplit {
    raffinate_amount : Double
    extract_amount : Double
    raffinate : TernaryComposition
    extract : TernaryComposition
    residual : Double
    } derive(Eq, ToJson,
    Debug
    )

    Result from splitting an overall mixture into two equilibrium phases.

    TernaryComposition

    pub(all) struct TernaryComposition {
    carrier : Double
    solute : Double
    solvent : Double
    } derive(Eq, ToJson,
    Debug
    )

    A normalized three-component composition.

    Components are ordered as carrier, solute and solvent. Fractions must be finite, non-negative and sum to one within the supplied tolerance.

    TernaryComposition::component

    fn TernaryComposition::component(self : TernaryComposition, index : Int) -> Double raise ExtractionError

    TernaryComposition::distance_squared

    fn TernaryComposition::distance_squared(self : TernaryComposition, other : TernaryComposition) -> Double

    TernaryComposition::from_amounts

    fn TernaryComposition::from_amounts(carrier~ : Double, solute~ : Double, solvent~ : Double) -> TernaryComposition raise ExtractionError

    Normalize non-negative component amounts to fractions.

    TernaryComposition::mix

    fn TernaryComposition::mix(self : TernaryComposition, other : TernaryComposition, self_amount~ : Double, other_amount~ : Double) -> TernaryComposition raise ExtractionError

    TernaryComposition::new

    fn TernaryComposition::new(carrier~ : Double, solute~ : Double, solvent~ : Double, tolerance? : Double) -> TernaryComposition raise ExtractionError

    TieLine

    pub(all) struct TieLine {
    raffinate : TernaryComposition
    extract : TernaryComposition
    } derive(Eq, ToJson,
    Debug
    )

    Endpoints of a measured tie line in a ternary phase diagram.

    TieLine::new

    fn TieLine::new(raffinate~ : TernaryComposition, extract~ : TernaryComposition) -> TieLine raise ExtractionError

    ValidationIssue

    pub(all) struct ValidationIssue {
    field : String
    code : String
    message : String
    value : Double
    blocking : Bool
    } derive(Eq, ToJson,
    Debug
    )

    Shared validation and normalization primitives for engineering inputs.

    ValidationSummary

    pub(all) struct ValidationSummary {
    checked : Int
    passed : Int
    issues : Array[ValidationIssue]
    valid : Bool
    completeness : Double
    } derive(Eq, ToJson,
    Debug
    )

    all_finite

    fn all_finite(values : ArrayView[Double]) -> Bool

    all_in_range

    fn all_in_range(values : ArrayView[Double], lower : Double, upper : Double) -> Bool

    approximately_equal

    fn approximately_equal(left : Double, right : Double, tolerance? : Double) -> Bool

    check_close

    fn check_close(field : String, value : Double, reference : Double, tolerance : Double) -> ValidationIssue?

    check_finite

    fn check_finite(field : String, value : Double) -> ValidationIssue?

    check_fraction

    fn check_fraction(field : String, value : Double) -> ValidationIssue?

    check_non_negative

    fn check_non_negative(field : String, value : Double) -> ValidationIssue?

    check_positive

    fn check_positive(field : String, value : Double) -> ValidationIssue?

    check_range

    fn check_range(field : String, value : Double, lower : Double, upper : Double) -> ValidationIssue?

    clamp

    fn clamp(value : Double, lower : Double, upper : Double) -> Double

    clamp_vector

    fn clamp_vector(values : ArrayView[Double], lower : Double, upper : Double) -> Array[Double]

    denormalize_from_range

    fn denormalize_from_range(normalized : Double, lower : Double, upper : Double) -> Double raise ExtractionError

    is_finite

    fn is_finite(value : Double) -> Bool

    merge_validation_summaries

    fn merge_validation_summaries(first : ValidationSummary, second : ValidationSummary) -> ValidationSummary

    normalize_to_range

    fn normalize_to_range(value : Double, lower : Double, upper : Double) -> Double raise ExtractionError

    normalized_weights

    fn normalized_weights(weights : ArrayView[Double]) -> Array[Double] raise ExtractionError

    percent_difference

    fn percent_difference(value : Double, reference : Double) -> Double

    relative_difference

    fn relative_difference(value : Double, reference : Double) -> Double

    require_finite

    fn require_finite(name : String, value : Double) -> Unit raise ExtractionError

    require_fraction

    fn require_fraction(name : String, value : Double) -> Unit raise ExtractionError

    require_non_negative

    fn require_non_negative(name : String, value : Double) -> Unit raise ExtractionError

    require_positive

    fn require_positive(name : String, value : Double) -> Unit raise ExtractionError

    require_valid

    fn require_valid(summary : ValidationSummary) -> Result[Unit, Array[ValidationIssue]]

    sum_non_negative

    fn sum_non_negative(values : ArrayView[Double]) -> Double raise ExtractionError

    summarize_validation

    fn summarize_validation(checked : Int, issues : ArrayView[ValidationIssue]) -> ValidationSummary

    validate_vector

    fn validate_vector(field_prefix : String, values : ArrayView[Double], lower : Double, upper : Double) -> ValidationSummary

    validation_issue

    fn validation_issue(field : String, code : String, message : String, value : Double, blocking : Bool) -> ValidationIssue

    validation_issues_markdown

    fn validation_issues_markdown(issues : ArrayView[ValidationIssue]) -> String

    validation_summary_text

    fn validation_summary_text(summary : ValidationSummary) -> String

    weighted_average

    fn weighted_average(values : ArrayView[Double], weights : ArrayView[Double]) -> Double raise ExtractionError

    weighted_variance

    fn weighted_variance(values : ArrayView[Double], weights : ArrayView[Double]) -> Double raise ExtractionError

    Powered by MoonBit

    Site sourceReport issuePackagesBuild queueSkillsStatistics

    © 2026 mooncakes.io