MLPutInteger64Array()

int MLPutInteger64Array(MLINK link, mlint64 *a, int *dims, char **heads, int d)
把一64位整数数组写入由 link 指定的 MathLink 连接中形成深度为 d,维数为 dims 的数组.

更多信息更多信息

  • 数组 a 在内存中的布局必须像一个被明确声明为 mlint64的 C 数组.
  • 如果 headsNULL,那么数组将被假设为在每层中具有标头 List.
  • i 层的数组长度为 .
  • MLPutInteger64Array() 在错误事件中返回0,如果函数成功则返回非零值.
  • 如果 MLPutInteger64Array() 失败,则使用 MLError() 检索错误代码.
  • MLPutInteger64Array()MathLink 标头文件 mathlink.h 中被声明.

范例范例打开所有单元关闭所有单元

基本范例 (1)基本范例 (1)

#include "mathlink.h"

/* send an array of 64-bit numbers to a link */

void f(MLINK lp)
{
    mlint64 array[2][10][2][5];
    int dims[4];
    int i;

    for(i = 0; i < 200; i++)
        {
#if ML64BIT_MATHLINK
            /* this machine is a 64-bit machine */
            *((mlint64 *)array + i) = i;
#else
            /* this machine is a 32-bit machine */
            ((mlint64 *)array + i)->hi = 0;
            ((mlint64 *)array + i)->low = i;
#endif
        }

    dims[0] = 2;
    dims[1] = 10;
    dims[2] = 2;
    dims[3] = 5;

    if(! MLPutInteger64Array(lp, (mlint64 *)array, (int *)dims, (char **)0, 4))
        { /* unable to send the array to lp */ }
}
New to Mathematica? Find your learning path »
Have a question? Ask support »