static public FloatParallelArray Append(FloatParallelArray f1, FloatParallelArray f2, int Dimension) { FloatParallelArray a = ParallelArrays.Replicate(f1, f2.Shape[0] + f1.Shape[0]); a = ParallelArrays.ShiftDefault(a, 0.0f, new int[] { -f2.Shape[0] }); a = ParallelArrays.ShiftDefault(a, 0.0f, new int[] { f2.Shape[0] }); FloatParallelArray b = ParallelArrays.Replicate(f2, f2.Shape[0] + f1.Shape[0]); b = ParallelArrays.ShiftDefault(b, 0.0f, new int[] { f1.Shape[0] }); b = ParallelArrays.ShiftDefault(b, 0.0f, new int[] { -f1.Shape[0] }); return(a + b); }
public FloatParallelArray Pop() { if (IsEmpty) { throw new UnexpectedOperation(); } if (m_ContArray.Shape[0] - 1 == 0) { IsEmpty = true; return(m_ContArray); } Slice slc = new Slice(0, m_ContArray.Shape[0] - 1); FloatParallelArray popelem = ParallelArrays.Section(m_ContArray, slc); m_ContArray = ParallelArrays.Replicate(m_ContArray, m_ContArray.Shape[0] - 1); return(popelem); }