This is documentation for Mathematica 6, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.2)
MathLink C Function


int MLPutInteger64Array(MLINK link, mlint64 *a, int *dims, char **heads, int d)
puts an array of 64-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 mlint64 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 dims[i].
  • MLPutInteger64Array() returns 0 in the event of an error, and a nonzero value if the function succeeds.
  • Use MLError() to retrieve the error code if MLPutInteger64Array() fails.
  • MLPutInteger64Array() is declared in the MathLink header file mathlink.h.
#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++)
            /* this machine is a 64-bit machine */
            *((mlint64 *)array + i) = i;
            /* this machine is a 32-bit machine */
            ((mlint64 *)array + i)->hi = 0;
            ((mlint64 *)array + i)->low = i;

    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 */ }