MLPutInteger16Array has been replaced by WSPutInteger16Array.

int MLPutInteger16Array(MLINK link,const short *a,const int *dims,const char **heads,int d)

puts an array of 16-bit integers to the MathLink 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 .
  • 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 .
  • MLPutInteger16Array() returns 0 in the event of an error, and a nonzero value if the function succeeds.
  • Use MLError() to retrieve the error code if MLPutInteger16Array() fails.
  • MLPutInteger16Array() is declared in the MathLink header file mathlink.h.


Basic Examples  (1)

#include "mathlink.h"

/* send an array of 16-bit integers to a link */

void f(MLINK lp)
    short array[6][10][2][1];
    int dims[4];
    int i;

    for(i = 0; i < 120; i++)
        *((short *)array + i) = i;

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

    if(! MLPutInteger16Array(lp, (short *)array, (int *)dims, (char **)0, 4))
        { /* unable to put the array to lp */ }

See Also

MLPutInteger32Array()  MLPutInteger64Array()