View Raw SPL
/*****************************************************************************
* *
* ISLOGICAL.SPL Copyright (C) 2018 DSP Development Corporation *
* All Rights Reserved *
* *
* Author: Randy Race *
* *
* Synopsis: Returns 1 if input is logical series *
* *
* Revisions: 23 Dec 2018 RRR Creation *
* *
*****************************************************************************/
#include
#if @HELP_ISLOGICAL
ISLOGICAL
Purpose: Returns 1 if input parameter is a logical series
Syntax: ISLOGICAL(val)
val - series, scalar or string input
Returns: The scalar 1 if the input is a logical series, else 0.
Example:
islogical(3i)
returns 0
Example:
islogical("string")
returns 0
Example:
islogical(gnorm(100, 1) > 0.5)
returns 1
Example:
islogical(logical({1, 0, 1}))
returns 1
Remarks:
If the input series is empty, islogical returns 0.
See Also:
Iscomplex
Isreal
#endif
/* is input logical series ? */
islogical(s)
{
local v, status = 0;
if (argc < 1)
{
s = refwindow(w0);
}
if (IS_ARRAY(s))
{
if (iswinempty(s))
{
s = {};
}
/* see if series is all logicals */
status = (seriestype(s) == LOGICAL_VALUE);
}
else
{
status = IS_LOGICAL(s);
}
return(status == 1);
}