WSPutFunction (C Function)

int WSPutFunction(WSLINK link,const char *s,int n)

puts a function with head given by a symbol with name s and with n arguments to the WSTP connection specified by link.

Details

  • After the call to WSPutFunction() other WSTP functions must be called to send the arguments of the function.
  • WSPutFunction() returns 0 in the event of an error, and a nonzero value if the function succeeds.
  • Use WSError() to retrieve the error code if WSPutFunction() fails.
  • WSPutFunction() is declared in the WSTP header file wstp.h.

Examples

Basic Examples  (1)

#include "wstp.h"

/* put an Integrate[] expression to a link */

void f(WSLINK lp)
{
    if(! WSPutFunction(lp, "Integrate", 2))
        { /* unable to put the function to lp */ }

    if(! WSPutFunction(lp, "Times", 2))
        { /* unable to put the function to lp */ }

    if(! WSPutFunction(lp, "Power", 2))
        { /* unable to put the function to lp */ }

    if(! WSPutSymbol(lp, "x", 1))
        { /* unable to put the symbol to lp */ }

    if( ! WSPutInteger(lp, 2))
        { /* unable to put the integer to lp */ }

    if(! WSPutFunction(lp, "Power", 2))
        { /* unable to put the function to lp */ }

    if(! WSPutFunction(lp, "Sqrt", 1))
        { /* unable to put the function to lp */ }

    if(! WSPutSymbol(lp, "x", 1))
        { /* unable to put the symbol to lp */ }

    if(! WSPutInteger(lp, -1))
        { /* unable to put the integer to lp */ }

    if(! WSPutSymbol(lp, "x", 1))
        { /* unable to put the symbol to lp */ }

    if(! WSEndPacket(lp))
        { /* unable to send the end-of-packet sequence to lp */ }

    if(! WSFlush(lp))
        { /* unable to flush any buffered output data in lp */ }
}