diff --git a/src/frontend/inpcom.c b/src/frontend/inpcom.c index 8099347d3..16fea8644 100644 --- a/src/frontend/inpcom.c +++ b/src/frontend/inpcom.c @@ -2490,6 +2490,8 @@ static int is_a_modelname(char *s, const char* line) case 'P': case 'f': case 'F': + case 'a': + case 'A': st = st + 1; break; case 'm': diff --git a/src/frontend/numparam/xpressn.c b/src/frontend/numparam/xpressn.c index fd0749bc3..2a59f807d 100644 --- a/src/frontend/numparam/xpressn.c +++ b/src/frontend/numparam/xpressn.c @@ -610,6 +610,7 @@ parseunit(const char *s) case 'N': return 1e-9; case 'P': return 1e-12; case 'F': return 1e-15; + case 'A': return 1e-18; default : return 1; } } diff --git a/src/frontend/parser/numparse.c b/src/frontend/parser/numparse.c index ccb2d5e83..3ea6c62d6 100644 --- a/src/frontend/parser/numparse.c +++ b/src/frontend/parser/numparse.c @@ -95,6 +95,11 @@ int ft_numparse(char **p_str, bool whole, double *p_val) expo = -15.0; ++p_cur; break; + case 'a': + case 'A': + expo = -18.0; + ++p_cur; + break; case 'm': case 'M': { char ch_cur; diff --git a/src/spicelib/parser/inpeval.c b/src/spicelib/parser/inpeval.c index 8e8b24c9b..13dcaa81b 100644 --- a/src/spicelib/parser/inpeval.c +++ b/src/spicelib/parser/inpeval.c @@ -169,6 +169,10 @@ INPevaluate(char **line, int *error, int gobble) case 'F': expo1 = expo1 - 15; break; + case 'a': + case 'A': + expo1 = expo1 - 18; + break; case 'm': case 'M': if (((here[1] == 'E') || (here[1] == 'e')) && @@ -626,6 +630,10 @@ INPevaluateRKM_C(char** line, int* error, int gobble) expo1 = expo1 - 15; hasmulti = TRUE; break; + case 'a': + case 'A': + expo1 = expo1 - 18; + break; case 'm': case 'M': if (((here[1] == 'E') || (here[1] == 'e')) && @@ -860,6 +868,10 @@ INPevaluateRKM_L(char** line, int* error, int gobble) expo1 = expo1 - 15; hasmulti = TRUE; break; + case 'a': + case 'A': + expo1 = expo1 - 18; + break; case 'm': case 'M': if (((here[1] == 'E') || (here[1] == 'e')) && diff --git a/src/xspice/icm/digital/d_source/cfunc.mod b/src/xspice/icm/digital/d_source/cfunc.mod index da428c4a5..716ebb387 100644 --- a/src/xspice/icm/digital/d_source/cfunc.mod +++ b/src/xspice/icm/digital/d_source/cfunc.mod @@ -429,6 +429,10 @@ double *p_value ) /* OUT - The numerical value */ scale_factor = 1.0e-15; break; + case 'a': + scale_factor = 1.0e-18; + break; + case 'm': i++; if(i >= len) { diff --git a/src/xspice/icm/digital/d_state/cfunc.mod b/src/xspice/icm/digital/d_state/cfunc.mod index 472738f98..4666e8b8d 100644 --- a/src/xspice/icm/digital/d_state/cfunc.mod +++ b/src/xspice/icm/digital/d_state/cfunc.mod @@ -441,6 +441,10 @@ double *p_value ) /* OUT - The numerical value */ scale_factor = 1.0e-15; break; + case 'a': + scale_factor = 1.0e-18; + break; + case 'm': i++; if(i >= len) {