Exemple #1
0
        int FillSendBuffer(int p)
        {
            int i0 = 0;

            int TotLen = 0;

            foreach (DGField fld in m_TRXFields)
            {
                TotLen += fld.GetMPISendBufferSize(p);
            }
            if (m_SendBuffers[p] == null)
            {
                m_SendBuffers[p] = new double[TotLen];
            }
            if (m_SendBuffers[p].Length < TotLen)
            {
                m_SendBuffers[p] = new double[TotLen];
            }

            for (int f = 0; f < m_TRXFields.Count; f++)
            {
                DGField fld = m_TRXFields[f];
                int     Len = fld.GetMPISendBufferSize(p);
                fld.FillMPISendBuffer(p, m_SendBuffers[p], i0);
                i0 += Len;
            }

            return(TotLen);
        }