made latte.in compatible with v1.1.1 and updated log files

This commit is contained in:
Steven J. Plimpton
2018-06-21 11:10:29 -06:00
parent 3e58ebea4f
commit cbfb751e92
13 changed files with 524 additions and 986 deletions

View File

@ -497,7 +497,7 @@ void Input::substitute(char *&str, char *&str2, int &max, int &max2, int flag)
beyond = ptr + strlen(var) + 3;
value = variable->retrieve(var);
// immediate variable between parenthesis, e.g. $(1/2)
// immediate variable between parenthesis, e.g. $(1/3) or $(1/3:%.6g)
} else if (*(ptr+1) == '(') {
var = ptr+2;
@ -516,17 +516,20 @@ void Input::substitute(char *&str, char *&str2, int &max, int &max2, int flag)
if (var[i] == '\0') error->one(FLERR,"Invalid immediate variable");
var[i] = '\0';
beyond = ptr + strlen(var) + 3;
// check if an inline format specifier was given
// check if an inline format specifier was appended with a colon
char fmtstr[64] = "%.20g";
char *fmtflag;
if ((fmtflag=strrchr(var, ':')) && (fmtflag[1]=='%')) {
strncpy(fmtstr,&fmtflag[1],sizeof(fmtstr)-1);
*fmtflag='\0';
}
sprintf(immediate,fmtstr,variable->compute_equal(var));
value = immediate;
// single character variable name, e.g. $a
// single character variable name, e.g. $a
} else {
var = ptr;