WSPutInteger8Array()
This feature is not supported on the Wolfram Cloud.

int WSPutInteger8Array(WSLINK l, const unsigned char *a, const int *d, const char **h, int d)
puts an array of 8-bit integers to the WSTP connection specified by l to form a depth-d array with dimensions d.

DetailsDetails

  • The array a must be laid out in memory like a C array declared explicitly as unsigned char a[m][n]... .
  • If h 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 d[i].
  • WSPutInteger8Array() returns 0 in the event of an error, and a nonzero value if the function succeeds.
  • Use WSError() to retrieve the error code if WSPutInteger8Array() fails.
  • WSPutInteger8Array() is declared in the WSTP header file wstp.h.

ExamplesExamplesopen allclose all

Basic Examples  (1)Basic Examples  (1)

#include "wstp.h"

/* A function to send an array of 8-bit integers to a link */

void f(MLINK l)
{
    unsigned char array[6][10][2][1];
    int dims[4];
    int i;

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

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

    if(! WSPutInteger8Array(l, (unsigned char *)array, (int *)dims, (char **)0, 4))
    { /* Unable to write the array to the link */ }
}