public (FloatArray p, FloatArray s, FloatArray x) FeedForward(FloatArray c1, FloatArray c2)
        {
            var x = c1.Union(c2);

            var p = ActivationFunctions.Tanh(((x.T * w).SumLine() + b));
            var s = ActivationFunctions.Sigmoid((p.T * wScore).SumLine());

            return(p, s, x);
        }
        public (FloatArray z, FloatArray fGate, FloatArray iGate, FloatArray cGate, FloatArray cellState, FloatArray oGate, FloatArray hState) FeedForward(FloatArray x, FloatArray hiddenState, FloatArray cellState)
        {
            var z = hiddenState.Union(x);

            Parallel.For(0, w.Length, i => w[i].FeedForward(z));

            var c = F.Output * cellState + I.Output * C.Output;
            var h = O.Output * c.Tanh();

            return(z, F.Output, I.Output, C.Output, c, O.Output, h);
        }