View Raw SPL
/*****************************************************************************
* *
* ISREAL.SPL Copyright (C) 2000, 2010 DSP Development Corporation *
* All Rights Reserved *
* *
* Author: Randy Race *
* *
* Synopsis: Returns 1 if input is real *
* *
* Revisions: 14 Jun 2000 RRR Creation *
* 30 Jul 2010 RRR integer test, use seriestype *
* *
*****************************************************************************/
#include
#if @HELP_ISREAL
ISREAL
Purpose: Returns 1 if input parameter is real
Syntax: ISREAL(val)
val - series, scalar or string input
Returns: The scalar 1 if the input is real or a real
series, else 0.
Example:
isreal(3i)
returns 0
Example:
isreal("string")
returns 0
Example:
isreal(mag(fft({1, 2, 3, 4})))
returns 1
Remarks:
If the input series is empty, isreal returns 0.
See Also:
Iscomplex
#endif
/* is input real ? */
isreal(s)
{
local v, status = 0;
if (argc < 1)
{
/* current window */
if (length > 0)
{
/* series type */
status = (seriestype(W0) == REAL_VALUE);
}
}
else
{
if (not(IS_ARRAY(s)))
{
/* test value for real numeric */
status = IS_REAL(s) || IS_INTEGER(s);
}
else if (length(s) > 0)
{
/* see if series is all real */
status = (seriestype(s) == REAL_VALUE);
}
}
return(status == 1);
}