View Raw SPL
/*****************************************************************************
* *
* ISCOMPLX.SPL Copyright (C) 2000 DSP Development Corporation *
* All Rights Reserved *
* *
* Author: Randy Race *
* *
* Synopsis: Returns 1 if input is complex *
* *
* Revisions: 14 Jun 2000 RRR Creation *
* *
*****************************************************************************/
#include
#if @HELP_ISCOMPLX
ISCOMPLX
Purpose: Returns 1 if input parameter is complex
Syntax: ISCOMPLX(val)
val - series, scalar or string input
Returns: The scalar 1 if the input is complex or a complex
series, else 0.
Example:
iscomplx(3i)
returns 1
Example:
iscomplx("string")
returns 0
Example:
iscomplx(fft({1, 2, 3, 4}))
returns 1
Remarks:
If the input series is empty, iscomplx returns 0.
See Also:
Isreal
#endif
/* is input complex ? */
iscomplx(s)
{
local status = 0;
if (argc < 1)
{
/* current window */
if (length > 0)
{
/* series type */
status = (seriestype(W0) == COMPLEX_VALUE);
}
}
else
{
if (not(IS_ARRAY(s)))
{
/* test value for complex */
status = IS_COMPLEX(s);
}
else if (length(s) > 0)
{
status = (seriestype(s) == COMPLEX_VALUE);
}
}
return(status == 1);
}