include ceil and floor function
This commit is contained in:
parent
7cef1871bb
commit
30ccbc9a18
|
|
@ -587,12 +587,13 @@ static inline double _d0_vt(double arg) { (void) arg; return (1.380650
|
|||
</admst:apply-templates>
|
||||
</admst:for-each>
|
||||
<admst:choose>
|
||||
<admst:when test="[ name='cos' or name='sin' or name='tan' or
|
||||
<admst:when test="[name='cos' or name='sin' or name='tan' or
|
||||
name='cosh' or name='sinh' or name='tanh' or
|
||||
name='acos' or name='asin' or name='atan' or name='atan2' or
|
||||
name='acosh' or name='asinh' or name='atanh' or
|
||||
name='ln' or name='log' or name='exp' or name='sqrt' or name='abs' or name='limexp'
|
||||
or name='div' or name='pow' or name='hypot' or name='min' or name='max' or name='\$vt' ]">
|
||||
name='ln' or name='log' or name='exp' or name='sqrt' or name='abs' or name='limexp' or
|
||||
name='div' or name='pow' or name='hypot' or name='min' or name='max' or name='\$vt' or
|
||||
name='floor' or name='ceil']">
|
||||
<admst:return name="x" value="_fn_$function($args)"/>
|
||||
<admst:for-each select="$globalanalogfunction/variable[input='yes']">
|
||||
<admst:value-of select="name"/> <admst:variable name="name" select="%s"/>
|
||||
|
|
|
|||
|
|
@ -62,6 +62,8 @@
|
|||
#define m00_exp(v00,x) v00 = exp(x);
|
||||
#define m10_exp(v10,v00,x) v10 = v00;
|
||||
#define m00_abs(v00) ((v00)<(0)?(-(v00)):(v00))
|
||||
#define m00_floor(v00,x) v00 = floor(x);
|
||||
#define m00_ceil(v00,x) v00 = ceil(x);
|
||||
#define m00_limexp(v00,x) v00 = ((x)<90.0?exp(x):EXP90*(x-89.0));
|
||||
#define m10_limexp(v10,v00,x) v10 = ((x)<90.0?(v00):EXP90);
|
||||
#define m00_atan2(v00,x,y) v00 = atan2(x,y);
|
||||
|
|
|
|||
|
|
@ -180,6 +180,8 @@ static inline double min(double x,double y) { return ((x)<(y))?(x):(y); }
|
|||
#define _f_fabs(val,arg) val = fabs(arg);
|
||||
#define _d_fabs(val,dval,arg) val = fabs(arg); dval = (((val)>=0)?(+1.0):(-1.0));
|
||||
#define _f_abs(val) ((val)<(0) ? (-(val)):(val))
|
||||
#define _f_floor(val,arg) val = floor(arg);
|
||||
#define _f_ceil(val,arg) val = ceil(arg);
|
||||
|
||||
/* declarations for $(module) MOSFETs */
|
||||
|
||||
|
|
|
|||
|
|
@ -37,7 +37,13 @@
|
|||
<admst:when test="[name='\$model']"><admst:return name="fname" value="_modelname"/></admst:when>
|
||||
<admst:when test="[name='\$instance']"><admst:return name="fname" value="_instancename"/></admst:when>
|
||||
<admst:when test="[name='\$temperature']"><admst:return name="fname" value="_circuit_temp"/></admst:when>
|
||||
<admst:when test="[name='abs' or name='acos' or name='asinh' or name='acosh' or name='atanh' or name='asin' or name='atan' or name='cos' or name='cosh' or name='exp' or name='hypot' or name='limexp' or name='ln' or name='log' or name='sin' or name='sinh' or name='sqrt' or name='tan' or name='tanh' or name='atan2' or name='pow' or name='max' or name='min']">
|
||||
<admst:when test="[name='cos' or name='sin' or name='tan' or
|
||||
name='cosh' or name='sinh' or name='tanh' or
|
||||
name='acos' or name='asin' or name='atan' or name='atan2' or
|
||||
name='acosh' or name='asinh' or name='atanh' or
|
||||
name='ln' or name='log' or name='exp' or name='sqrt' or name='abs' or name='limexp' or
|
||||
name='div' or name='pow' or name='hypot' or name='min' or name='max' or name='\$vt' or
|
||||
name='floor' or name='ceil']">
|
||||
<admst:return name="fname" value="%(name)"/>
|
||||
</admst:when>
|
||||
<admst:otherwise><admst:return name="fname" value="$(module)_%(name)"/></admst:otherwise>
|
||||
|
|
@ -47,7 +53,7 @@
|
|||
<admst:template match="function">
|
||||
<admst:choose>
|
||||
<admst:when test="[name='\$port_connected']">
|
||||
<admst:message format="ZZ 11!! port_connecte, this one\n"/>
|
||||
<admst:message format="ZZ 11!! port_connected, this one\n"/>
|
||||
<admst:for-each select="arguments[position(.)=1]">
|
||||
<admst:value-to select="/simulator/tmp" value="(here->%(.)Node_connected /* port_connected 13 */)"/>
|
||||
</admst:for-each>
|
||||
|
|
|
|||
Loading…
Reference in New Issue