/// <summary> /// Initializes a new instance of the <see cref="Biasing" /> class. /// </summary> /// <param name="context">The context.</param> /// <exception cref="ArgumentNullException">Thrown if <paramref name="context"/> is <c>null</c>.</exception> public Biasing(SubcircuitBindingContext context) : base(context) { var parameters = context.GetParameterSet <Parameters>(); var parent = context.GetState <IBiasingSimulationState>(); if (parameters.LocalSolver) { _state = new LocalSimulationState(Name, parent, new SparseRealSolver()); context.AddLocalState <IBiasingSimulationState>(_state); } else { context.AddLocalState <IBiasingSimulationState>(new FlatSimulationState(Name, parent, context.Bridges)); } }
/// <summary> /// Gets a simulation state from the used simulation. /// </summary> /// <typeparam name="S">The simulation state type.</typeparam> /// <returns>The simulation state.</returns> public S GetState <S>() where S : ISimulationState => _context.GetState <S>();