Add a scale factor 'a' (atto, 1e-18)

This commit is contained in:
Holger Vogt 2023-01-22 16:32:09 +01:00
parent f9ed3fd080
commit 3ff9643f49
6 changed files with 28 additions and 0 deletions

View File

@ -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':

View File

@ -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;
}
}

View File

@ -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;

View File

@ -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')) &&

View File

@ -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) {

View File

@ -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) {