+static int
+snprint_lambda_vec(char *str, int sz, const char *label, lambda_vec_t *lambda)
+{
+ int n = 0;
+
+ n += snprintf(str+n, sz-n, "lambda vector [%s]: ", label);
+ if (lambda->index >= 0)
+ {
+ n += snprintf(str+n, sz-n, " init-lambda-state=%d", lambda->index);
+ }
+ if (lambda->dhdl >= 0)
+ {
+ n += snprintf(str+n, sz-n, " dhdl index=%d", lambda->dhdl);
+ }
+ else
+ {
+ int i;
+ for (i = 0; i < lambda->lc->N; i++)
+ {
+ n += snprintf(str+n, sz-n, " (%s) l=%g", lambda->lc->names[i], lambda->val[i]);
+ }
+ }
+ return n;
+}
+