public StringValueCompare(LogicGates logic, CompareGates gate, ObjectChooseOptions options, Func <JObject, string> selectorA, Func <JObject, string> selectorB) : base(gate, options, selectorA, selectorB) { }
public static BitArray Add(BitArray numerator, BitArray denominator) { if (numerator.Length != denominator.Length) { throw (new Exception("Numerator and denominator but be of equal length")); } BitArray result = new BitArray(numerator.Length + 1); //Result can be on bit longer due to carry bit bool carry = false; for (int i = numerator.Length - 1; i >= 0; i--) { bool a = numerator[i]; bool b = denominator[i]; bool sum = LogicGates.XOrGate(LogicGates.XOrGate(a, b), carry); carry = LogicGates.OrGate(LogicGates.AndGate(LogicGates.XOrGate(a, b), carry), LogicGates.AndGate(a, b)); result[i + 1] = sum; result[i] = carry; } return(result); }
public Terminal(SpriteFont Font, Texture2D Background, Texture2D Backdrop, LogicGates.CircuitBoard Alu, string Prompt = "") { cursorTimer = 0; cursorOn = false; cursorIndex = 0; littleMan = new LittleMan(this, Alu); shell = new Shell(this); this.font = Font; this.background = Background; this.backdrop = Backdrop; this.Prompt = Prompt; buffer = new StringBuilder(); reportBuffer = new StringBuilder(); this.Clear(); offset = new Vector2(50, 50); }
public MainWindow() { InitializeComponent(); List <NumberSaved> numbers = new List <NumberSaved>(); for (int i = 0; i < 5; i++) { numbers.Add(new NumberSaved()); } grids = new List <DataGridView>(); grids.Add(FirstNumber); grids.Add(SecondNumber); grids.Add(ThirdNumber); grids.Add(FourthNumber); grids.Add(FifthNumber); for (int j = 0; j < grids.Count; j++) { grids[j].DataSource = numbers[j].DtOfNumber; for (int i = 0; i < 5; i++) { grids[j].Columns[i].Width = 22; grids[j].Columns[i].Resizable = DataGridViewTriState.False; } for (int l = 0; l < 7; l++) { grids[j].Rows[l].Resizable = DataGridViewTriState.False; } grids[j].Rows.RemoveAt(6); grids[j].ColumnHeadersVisible = false; grids[j].RowHeadersVisible = false; } LogicGates.Train(); //LogicGates.Recognize(); //Mnist.Train(18900, 0.0015); Debug.WriteLine("Linijka w debugu :-)"); Console.WriteLine("Everything done. Press any key to stop."); Console.ReadLine(); }
public static bool Input_Click(int id, int innr) { //switch (LogicGates.in_or_out) //{ // case 0: // LogicGates.inid = id; // LogicGates.innr = innr; // if (!LogicGates.Inenabled(innr, id)) // { // LogicGates.in_or_out = 2; // return true; // //input0.Background = System.Windows.Media.Brushes.Yellow; // } // break; // case 1: //output id inportid inportnr ouportnr if (!LogicGates.Inenabled(innr, id)) { LogicGates.inid = id; LogicGates.innr = innr; var temp = LogicGates.gates_logic.FirstOrDefault(c => c.id == LogicGates.outid); if (temp != null) { temp.Connection(); } } LogicGates.gates_logic.FirstOrDefault(c => c.id == LogicGates.outid).ChangeColor(); //LogicGates.in_or_out = 0; // break; // default: // LogicGates.in_or_out = 0; // LogicGates.gates_logic.FirstOrDefault(c => c.id == LogicGates.outid).ChangeColor(); // LogicGates.gates_logic.FirstOrDefault(c => c.id == LogicGates.inid).ChangeColor(); // break; //} return(false); }
public void CalculateOutputs() { Si = HAdder2.S; Ci = LogicGates.Or(HAdder1.C, HAdder2.C); }
private void CalculateOutputs() { C = LogicGates.And(A, B); S = LogicGates.XOr(A, B); }
private void button1_Click(object sender, EventArgs e) { List <DataTable> MatrixOfNumbers = new List <DataTable>(); for (int i = 0; i < 5; i++) { DataTable dt = new DataTable(); NumberSaved number = new NumberSaved(); dt = number.DtOfNumber; MatrixOfNumbers.Add(dt); } for (int k = 0; k < grids.Count; k++) { for (int i = 0; i < 7; i++) { for (int j = 0; j < 5; j++) { if (grids[k].Rows[i].Cells[j].Selected) { MatrixOfNumbers[k].Rows[i][j] = 1; } else { MatrixOfNumbers[k].Rows[i][j] = 0; } } } } double[] NumberFromDt = new double[35]; List <double[]> listOfNumbersFromDt = new List <double[]>(); for (int k = 0; k < MatrixOfNumbers.Count; k++) { for (int i = 0; i < MatrixOfNumbers[k].Rows.Count; i++) { for (int j = 0; j < MatrixOfNumbers[k].Columns.Count; j++) { NumberFromDt[(5 * i) + j] = Convert.ToDouble(MatrixOfNumbers[k].Rows[i][j]); } } listOfNumbersFromDt.Add(NumberFromDt); NumberFromDt = new double[35]; } for (int i = 0; i < listOfNumbersFromDt.Count; i++) { LogicGates.Recognize(listOfNumbersFromDt[i]); } recognizedPostalValue.Text = ""; probablyPostalValue.Text = ""; string temp = ""; for (int i = 0; i < LogicGates.recognizedPostalNums.Count; i++) { if (LogicGates.recognizedPostalNums[i] != -1 && LogicGates.recognizedPostalNums[i] < 10) { temp = LogicGates.recognizedPostalNums[i].ToString(); } else { temp = "?"; } recognizedPostalValue.Text += temp; if (i == 1) { recognizedPostalValue.Text += "-"; } } recognizedCodePanel.Visible = true; LogicGates.recognizedPostalNums.Clear(); LogicGates.probablyPostalNums.Clear(); int ij = 0; }
// Puzzle private void CreateLogicLayout() { var and10 = new LogicGates.AndGate(); var and11 = new LogicGates.AndGate(); var or12 = new LogicGates.OrGate(); var and20 = new LogicGates.AndGate(); var or21 = new LogicGates.OrGate(); var and30 = new LogicGates.AndGate(); var endGate = new LogicGates.LoginGate(); _switches.Add(new LogicGates.Switch()); _switches.Add(new LogicGates.Switch()); _switches.Add(new LogicGates.Switch()); _switches.Add(new LogicGates.Switch()); _switches.Add(new LogicGates.Switch()); _switches.Add(new LogicGates.Switch()); LogicGates.ConnectComponents(_switches[0], and10, 0, _puzzleLayer, new List <GridPosition>() { }, new List <GridPosition>() { new GridPosition(10, 1), new GridPosition(11, 1) }); LogicGates.ConnectComponents(_switches[1], and10, 1, _puzzleLayer, new List <GridPosition>() { }, new List <GridPosition>() { new GridPosition(10, 9), new GridPosition(11, 9) }); LogicGates.ConnectComponents(_switches[2], and11, 0, _puzzleLayer, new List <GridPosition>() { }, new List <GridPosition>() { new GridPosition(10, 17), new GridPosition(11, 17) }); LogicGates.ConnectComponents(_switches[3], and11, 1, _puzzleLayer, new List <GridPosition>() { }, new List <GridPosition>() { new GridPosition(10, 25), new GridPosition(11, 25) }); LogicGates.ConnectComponents(_switches[4], or12, 0, _puzzleLayer, new List <GridPosition>() { }, new List <GridPosition>() { new GridPosition(10, 33), new GridPosition(11, 33) }); LogicGates.ConnectComponents(_switches[5], or12, 1, _puzzleLayer, new List <GridPosition>() { }, new List <GridPosition>() { new GridPosition(10, 41), new GridPosition(11, 41) }); LogicGates.ConnectComponents(and10, and20, 0, _puzzleLayer, new List <GridPosition>() { new GridPosition(7, 6), new GridPosition(7, 7), new GridPosition(7, 8) }, new List <GridPosition>() { new GridPosition(8, 5), new GridPosition(7, 9) }); LogicGates.ConnectComponents(and11, and20, 1, _puzzleLayer, new List <GridPosition>() { new GridPosition(7, 18), new GridPosition(7, 19), new GridPosition(7, 20) }, new List <GridPosition>() { new GridPosition(8, 21), new GridPosition(7, 17) }); LogicGates.ConnectComponents(and11, or21, 0, _puzzleLayer, new List <GridPosition>() { new GridPosition(7, 22), new GridPosition(7, 23), new GridPosition(7, 24) }, new List <GridPosition>() { new GridPosition(8, 21), new GridPosition(7, 25) }); LogicGates.ConnectComponents(or12, or21, 1, _puzzleLayer, new List <GridPosition>() { new GridPosition(7, 34), new GridPosition(7, 35), new GridPosition(7, 36) }, new List <GridPosition>() { new GridPosition(8, 37), new GridPosition(7, 33) }); LogicGates.ConnectComponents(and20, and30, 0, _puzzleLayer, new List <GridPosition>() { new GridPosition(4, 14), new GridPosition(4, 15), new GridPosition(4, 16) }, new List <GridPosition>() { new GridPosition(5, 13), new GridPosition(4, 17) }); LogicGates.ConnectComponents(or21, and30, 1, _puzzleLayer, new List <GridPosition>() { new GridPosition(4, 26), new GridPosition(4, 27), new GridPosition(4, 28) }, new List <GridPosition>() { new GridPosition(4, 25), new GridPosition(5, 29) }); LogicGates.ConnectComponents(and30, endGate, 0, _puzzleLayer, new List <GridPosition>() { }, new List <GridPosition>() { new GridPosition(2, 21), new GridPosition(1, 21) }); }