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