powerio_matrix/
lindist3flow_pf.rs1use powerio_prob::{LinDist3FlowLimitCheck, LinDist3FlowOpfValues, LinDist3FlowPfInstance};
4
5use crate::{
6 LinDist3FlowConicProblem, LinDist3FlowStandardForm, LinDist3FlowStandardFormOptions, Result,
7 build_lindist3flow_conic_problem, build_lindist3flow_standard_form_with_options,
8 lindist3flow_values_from_primal, lindist3flow_values_from_standard_primal,
9};
10
11pub fn build_lindist3flow_pf_conic_problem(
18 instance: &LinDist3FlowPfInstance,
19) -> Result<LinDist3FlowConicProblem> {
20 build_lindist3flow_conic_problem(instance.formulation())
21}
22
23pub fn build_lindist3flow_pf_standard_form(
28 instance: &LinDist3FlowPfInstance,
29) -> Result<LinDist3FlowStandardForm> {
30 build_lindist3flow_pf_standard_form_with_options(
31 instance,
32 LinDist3FlowStandardFormOptions::default(),
33 )
34}
35
36pub fn build_lindist3flow_pf_standard_form_with_options(
41 instance: &LinDist3FlowPfInstance,
42 options: LinDist3FlowStandardFormOptions,
43) -> Result<LinDist3FlowStandardForm> {
44 build_lindist3flow_standard_form_with_options(instance.formulation(), options)
45}
46
47pub fn lindist3flow_pf_values_from_primal(
52 problem: &LinDist3FlowConicProblem,
53 primal: &[f64],
54) -> Result<LinDist3FlowOpfValues> {
55 lindist3flow_values_from_primal(problem, primal)
56}
57
58pub fn lindist3flow_pf_values_from_standard_primal(
63 form: &LinDist3FlowStandardForm,
64 primal: &[f64],
65) -> Result<LinDist3FlowOpfValues> {
66 lindist3flow_values_from_standard_primal(form, primal)
67}
68
69pub fn evaluate_lindist3flow_pf_limits(
79 instance: &LinDist3FlowPfInstance,
80 values: &LinDist3FlowOpfValues,
81) -> Result<Vec<LinDist3FlowLimitCheck>> {
82 powerio_prob::evaluate_lindist3flow_pf_limits(instance, values).map_err(crate::Error::Commit)
83}