public static ProximalDendrite Deserialize(StreamReader sr) { ProximalDendrite proximal = new ProximalDendrite(); HtmSerializer2 ser = new HtmSerializer2(); while (sr.Peek() >= 0) { string data = sr.ReadLine(); if (data == String.Empty || data == ser.ReadBegin(nameof(ProximalDendrite)) || (data.ToCharArray()[0] == HtmSerializer2.ElementsDelimiter && data.ToCharArray()[1] == HtmSerializer2.ParameterDelimiter) || data.ToCharArray()[1] == HtmSerializer2.ParameterDelimiter) { continue; } else if (data == ser.ReadBegin(nameof(Pool))) { proximal.RFPool = Pool.Deserialize(sr); } //else if (data == ser.ReadBegin(nameof(Integer))) //{ // proximal.boxedIndex = Integer.Deserialize(sr); //} else if (data == ser.ReadBegin(nameof(Synapse))) { proximal.Synapses.Add(Synapse.Deserialize(sr)); } else if (data == ser.ReadEnd(nameof(ProximalDendrite))) { break; } else { string[] str = data.Split(HtmSerializer2.ParameterDelimiter); for (int i = 0; i < str.Length; i++) { switch (i) { case 0: { proximal.SegmentIndex = ser.ReadIntValue(str[i]); break; } case 1: { proximal.SynapsePermConnected = ser.ReadDoubleValue(str[i]); break; } case 2: { proximal.NumInputs = ser.ReadIntValue(str[i]); break; } default: { break; } } } } } return(proximal); }
public static Synapse Deserialize(StreamReader sr) { Synapse synapse = new Synapse(); HtmSerializer2 ser = new HtmSerializer2(); while (sr.Peek() >= 0) { string data = sr.ReadLine(); if (data == ser.LineDelimiter || data == ser.ReadBegin(nameof(Synapse))) { continue; } else if (data == ser.ReadBegin(nameof(Integer))) { synapse.BoxedIndex = Integer.Deserialize(sr); } else if (data == ser.ReadEnd(nameof(Synapse))) { break; } else { string[] str = data.Split(HtmSerializer2.ParameterDelimiter); for (int i = 0; i < str.Length; i++) { switch (i) { case 0: { synapse.SourceCell = new Cell(); synapse.SourceCell.Index = ser.ReadIntValue(str[i]); break; } case 1: { synapse.SegmentIndex = ser.ReadIntValue(str[i]); break; } case 2: { synapse.SynapseIndex = ser.ReadIntValue(str[i]); break; } case 3: { synapse.InputIndex = ser.ReadIntValue(str[i]); break; } case 4: { synapse.Permanence = ser.ReadDoubleValue(str[i]); break; } case 5: { synapse.IsDestroyed = ser.ReadBoolValue(str[i]); break; } default: { break; } } } } } return(synapse); }