use sprs::CsMat;
use crate::Result;
use crate::indexed::IndexedNetwork;
use super::ybus::{YbusFlags, build_ybus_with_flags};
use super::{BuildOptions, Scheme, negate_into};
pub fn build_bdoubleprime(case: &IndexedNetwork, opts: &BuildOptions) -> Result<CsMat<f64>> {
let flags = YbusFlags {
zero_resistance: matches!(opts.scheme, Scheme::Bx),
zero_charging: false,
unity_taps: false,
zero_shifts: true,
skip_bus_shunts: false,
};
let parts = build_ybus_with_flags(case, flags)?;
Ok(negate_into(parts.b))
}