Exemple #1
0
 private void CreateOutputUnits()
 {
     _tons      = CreateOutputUnit("tons");
     _piece     = CreateOutputUnit("piece");
     _mioPiece  = CreateOutputUnit("mioPiece");
     _mioClicks = CreateOutputUnit("mioClicks");
     _pax       = CreateOutputUnit("pax");
     _mioEuro   = CreateOutputUnit("mioEuro");
 }
Exemple #2
0
        private static OutputUnit CreateOutputUnit(string name)
        {
            var outputUnit = new OutputUnit {
                OutputUnitId = Guid.NewGuid(),
                Name         = name
            };

            if (_energySourceColors < (HTMLColor.Colors.Length - 1))
            {
                _energySourceColors++;
            }

            return(outputUnit);
        }
Exemple #3
0
        /// <summary>
        /// Write output unit into OutputStream
        /// </summary>
        /// <param name="id">Output id</param>
        /// <param name="unit">Output unit</param>
        private void WriteOutputUnit(long id, OutputUnit unit)
        {
            //It's thread for the specified id
            Queue <OutputUnit> outputQueue = null;
            bool found = OutputStream.TryGetValue(id, out outputQueue);

            if (!found || outputQueue == null)
            {
                outputQueue = new Queue <OutputUnit>();
                OutputStream.TryAdd(id, outputQueue);
            }

            outputQueue.Enqueue(unit);
        }
Exemple #4
0
        public void DoesSimulateWork()
        {
            InputUnit  input  = new InputUnit();
            And        and    = new And();
            OutputUnit output = new OutputUnit();
            Bus        bus1   = new Bus(input, and, and);
            Bus        bus2   = new Bus(and, output);

            and.AddInput(bus1, bus1);
            and.AddOutput(bus2);
            output.AddInput(bus2);
            input.AddOutput(bus1);

            output.Simulate();
            Assert.AreEqual(1, output.nextState);
        }
Exemple #5
0
        private void btnSimulate1_Click(object sender, EventArgs e)
        {
            InputUnit  input1 = new InputUnit();
            InputUnit  input2 = new InputUnit();
            InputUnit  input3 = new InputUnit();
            And        gate1  = new And();
            And        gate2  = new And();
            OutputUnit output = new OutputUnit();
            Bus        bus1   = new Bus(input1, gate1);
            Bus        bus2   = new Bus(input2, gate1);
            Bus        bus3   = new Bus(input3, gate2);
            Bus        bus4   = new Bus(gate1, gate2);
            Bus        bus5   = new Bus(gate2, output);

            gate1.AddInput(bus1, bus2);
            gate2.AddInput(bus3, bus4);
            gate1.AddOutput(bus4);
            gate2.AddOutput(bus5);
            input1.AddOutput(bus1);
            input2.AddOutput(bus2);
            input3.AddOutput(bus3);
            output.AddInput(bus5);
            Circuit circuit = new Circuit();

            circuit.AddGates(gate1, gate2, input1, input2, input3, output);
            circuit.AddBuses(bus1, bus2, bus3, bus4, bus5);
            if (circuit.IsValid())
            {
                circuit.Simulate();
                if (output.currentState == 1)
                {
                    picOutput1.ImageLocation = @"..\..\src\GUI\Images\OnBulb.jpg";
                }
                else
                {
                    picOutput1.ImageLocation = @"..\..\src\GUI\Images\OffBulb.jpg";
                }
            }
            else
            {
                picOutput1.ImageLocation = @"..\..\src\GUI\Images\InvalidCircuit.png";
            }
        }
        /// <summary>
        /// Query on Wolfram Alpha using the specified
        /// </summary>
        /// <param name="query">The query you would like to search for on Wolfram Alpha</param>
        /// <returns>The results of the query</returns>
        public QueryResult Query(string query)
        {
            //http://api.wolframalpha.com/v2/query?input=xx&appid=xxxxx
            RestRequest request = CreateRequest("query", query);

            //Output
            if (Formats.HasElements())
            {
                request.AddParameter("format", string.Join(",", Formats));
            }

            if (OutputUnit != Unit.NotSet)
            {
                request.AddParameter("units", OutputUnit.ToString().ToLower());
            }

            if (Assumptions.HasElements())
            {
                foreach (string assumption in Assumptions)
                {
                    request.AddParameter("assumption", assumption);
                }
            }

            //Filtering
            if (IncludePodIDs.HasElements())
            {
                foreach (string include in IncludePodIDs)
                {
                    request.AddParameter("includepodid", include);
                }
            }

            if (ExcludePodIDs.HasElements())
            {
                foreach (string exclude in ExcludePodIDs)
                {
                    request.AddParameter("excludepodid", exclude);
                }
            }

            if (PodTitles.HasElements())
            {
                foreach (string podTitle in PodTitles)
                {
                    request.AddParameter("podtitle", podTitle);
                }
            }

            if (PodIndex.HasElements())
            {
                request.AddParameter("podindex", string.Join(",", PodIndex));
            }

            if (Scanners.HasElements())
            {
                request.AddParameter("scanner", string.Join(",", Scanners));
            }

            //Timeout
            if (ParseTimeout >= Epsilon)
            {
                request.AddParameter("parsetimeout", ParseTimeout.ToString(_culture));
            }

            if (ScanTimeout >= Epsilon)
            {
                request.AddParameter("scantimeout", ScanTimeout.ToString(_culture));
            }

            if (PodTimeout >= Epsilon)
            {
                request.AddParameter("podtimeout", PodTimeout.ToString(_culture));
            }

            if (FormatTimeout >= Epsilon)
            {
                request.AddParameter("formattimeout", FormatTimeout.ToString(_culture));
            }

            //Async
            if (UseAsync)
            {
                request.AddParameter("async", UseAsync.ToString().ToLower());
            }

            //Location
            if (IpAddress != null)
            {
                request.AddParameter("ip", IpAddress.ToString());
            }

            if (!string.IsNullOrEmpty(Location))
            {
                request.AddParameter("location", Location);
            }

            if (GPSLocation != null)
            {
                request.AddParameter("latlong", GPSLocation.ToString());
            }

            //Size
            if (Width >= 1f)
            {
                request.AddParameter("width", Width);
            }

            if (MaxWidth >= 1f)
            {
                request.AddParameter("maxwidth", MaxWidth);
            }

            if (PlotWidth >= 1f)
            {
                request.AddParameter("plotwidth", PlotWidth);
            }

            if (Magnification >= 0.1f)
            {
                request.AddParameter("mag", Magnification.ToString(_culture));
            }

            //Misc
            if (!string.IsNullOrEmpty(Signature))
            {
                request.AddParameter("sig", Signature);
            }

            if (ReInterpret.HasValue)
            {
                request.AddParameter("reinterpret", ReInterpret.ToString().ToLower());
            }

            if (IgnoreCase.HasValue)
            {
                request.AddParameter("ignorecase", IgnoreCase.ToString().ToLower());
            }

            if (EnableTranslate.HasValue)
            {
                request.AddParameter("translation", EnableTranslate.ToString().ToLower());
            }

            QueryResult results = GetResponse <QueryResult>(request);

            return(results);
        }
Exemple #7
0
        /// <summary>
        /// Write verbose into output stream
        /// </summary>
        /// <param name="taskId">Task id</param>
        /// <param name="message">Verbose message</param>
        public void WriteVerbose(long taskId, string message)
        {
            OutputUnit unit = new OutputUnit(message, OutputType.Verbose);

            WriteOutputUnit(taskId, unit);
        }
Exemple #8
0
        /// <summary>
        /// Write error into OutputStream
        /// </summary>
        /// <param name="taskId">Output id</param>
        /// <param name="e">Exception object</param>
        public void WriteError(long taskId, Exception e)
        {
            OutputUnit unit = new OutputUnit(e, OutputType.Error);

            WriteOutputUnit(taskId, unit);
        }
Exemple #9
0
        /// <summary>
        /// Write object into OutputStream
        /// </summary>
        /// <param name="taskId">Output id</param>
        /// <param name="data">Output data</param>
        public void WriteObject(long taskId, object data)
        {
            OutputUnit unit = new OutputUnit(data, OutputType.Object);

            WriteOutputUnit(taskId, unit);
        }
Exemple #10
0
 public void init()
 {
     output = new OutputUnit();
 }