Exemplo n.º 1
0
        /// <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));
            }
        }