RETURN

Purpose:

Terminates an iteration or a function, and optionally returns a value.

Syntax:

RETURN(val1, val2, ..., valN)

valN

-

Optional. Zero or more strings, scalars, series or tables.

Example:

IntgVal(s)

{

    ival = max(integ(s)); 

    return(ival); 

}

 

The SPL function, IntgVal, returns the max of the integral of the series, s.

Example:

Consider myfunction defined as follows:

 

myfunction(x)

{

    if (outargc > 1)  

    { 

        return(x, x*x); 

    } 

    else  

    { 

        return(x); 

    } 

}

 

(a,b) = myfunction(10)

 

assigns a the value 10 and b the value 100

 

a = myfunction(10)

 

only assigns a.

Example:

AVGHIST is an example of an SPL routine to calculate a histogram where the X values are the average of the points within a bin: Either the histogram as a whole or the separate X and Y components can be returned.

 

avghist(s, n)

{

    local h, a; 

 

    if (argc < 2)  

    { 

        if (argc < 1) error("avghist – input required"); 

        n = 10; 

    } 

 

    // first get normal histogram 

    h = hist(s, n); 

 

    // sort original data in ascending order 

    a = sort(s, -1); 

 

    // reshape such that each column is actual bin values  

    a = reshape(a, h, 1, 0, 1); 

 

    // compute mean of each bin 

    a = transpose(colmean(a)); 

 

    // return components or full XY graph 

    if (outargc > 1)  

    { 

        // (x, y) = avghist(s, n) 

        return(a, h); 

    } 

    else  

    { 

        return(xy(a, h)); 

    } 

}

Remarks:

RETURN is for use in SPL files. It can be used with or without optional return values.

 

Unlike C/C++, the SPL RETURN function can return multiple values.

 

See OUTARGC to determine the number of requested output return values.

See Also:

BREAK

FOR

IF

LOOP

OUTARGC

SPL: Series Processing Language

SWITCH

WHILE