View Raw SPL
/* get args for std or var function */
stdvar_parse_args(have_series, argv)
{
        local dof, dim, naflag, method, j;

        dof = dim = naflag = method = {};

        loop (j = 1..(argc - 1))
        {
                if (is_argv_unspecified(getargv(j)))
                {
                        continue;
                }

                if (isscalar(getargv(j)))
                {
                        if (isempty(dof))
                        {
                                dof = getargv(j);
                        }
                        else if (isempty(dim))
                        {
                                dim = getargv(j);
                        }
                        else
                        {
                                error(sprintf("%s - unexpected integer %d", __CALLER__, getargv(j)));
                        }
                }
                else if (isstring(getargv(j)))
                {
                        if (tolower(getargv(j)) == "all")
                        {
                                dim = 0;
                        }
                        else if (isempty(naflag))
                        {
                                naflag = getargv(j);
                        }
                        else if (isempty(method))
                        {
                                method = getargv(j);
                        }
                        else
                        {
                                error(sprintf("%s - unexpected string '%s'", __CALLER__, getargv(j)));
                        }
                }
                else
                {
                        error(sprintf("%s - unexpected argument", __CALLER__));
                }
        }

        if (isempty(dof))    dof    = 0;
        if (isempty(dim))    dim    = have_series ? 1 : 0;
        if (isempty(naflag)) naflag = "omitnan";
        if (isempty(method)) method = "";

        return(dof, dim, naflag, method);
}