You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

39 lines
687 B

/* $Id$ */
void ucm_d_to_real (ARGS)
{
Digital_State_t in;
double *out;
double delay;
double zero;
double one;
double ena;
in = INPUT_STATE(in);
if(PORT_NULL(enable))
ena = 1.0;
else if(INPUT_STATE(enable) == ONE)
ena = 1.0;
else
ena = 0.0;
out = OUTPUT(out);
zero = PARAM(zero);
one = PARAM(one);
delay = PARAM(delay);
if(in == ZERO)
*out = zero * ena;
else if(in == UNKNOWN)
*out = (zero + one) / 2.0 * ena;
else
*out = one * ena;
if(TIME > 0.0)
OUTPUT_DELAY(out) = delay;
}