int WSPutReal128Array(WSLINK link,const wsextended_double *a,const int *dims,const char **heads,int d)

puts an array of extended-precision floating-point numbers to the WSTP connection specified by link to form a depth-d array with dimensions dims.


  • The array a must be laid out in memory like a C array declared explicitly as wsextended_double a[m][n].
  • If heads is given as NULL, the array will be assumed to have head List at every level.
  • The length of the array at level i is taken to be .
  • WSPutReal128Array() returns 0 in the event of an error, and a nonzero value otherwise.
  • Use WSError() to retrieve the error code if WSPutReal128Array() fails.
  • WSPutReal128Array() is declared in the WSTP header file wstp.h.


Basic Examples  (1)

#include "wstp.h"

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

void f(WSLINK lp)
    wsextended_double array[2][10][2];
    int dims[3];
    int i;

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

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

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

See Also

WSPutReal32Array()  WSPutReal64Array()