MLPutReal128Array (C 函数)

MLPutReal128Array 已经被 WSPutReal128Array 所取代.

int MLPutReal128Array(MLINK link,mlextended_double *a,int *dims,char **heads,int d)

把一扩展精度浮点数数组写入由 link 指定的 MathLink 连接中形成深度为 d,维数为 dims 的数组.

更多信息

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

范例

基本范例  (1)

#include "mathlink.h"

/* put an array of extended-precision floating-point numbers to a link */

void f(MLINK lp)
{
    mlextended_double array[2][10][2];
    int dims[3];
    int i;

    for(i = 0; i < 40; i++)
        *((mlextended_double *)array + i) = (mlextended_double)(i + .1);

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

    if(! MLPutReal128Array(lp, (mlextended_double *)array, (int *)dims, (char **)0, 3))
        { /* unable to send the array to lp */ }
}