From ed4071cf113bb922e5bbf8d713d3b52415f1f07e Mon Sep 17 00:00:00 2001 From: Holger Vogt Date: Sun, 28 Sep 2025 15:44:31 +0200 Subject: [PATCH] Add a hash table paramhash to store the .agemodel model parameters. --- src/frontend/inpdeg.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/frontend/inpdeg.c b/src/frontend/inpdeg.c index e74ab53b0..1ee7d0bd2 100644 --- a/src/frontend/inpdeg.c +++ b/src/frontend/inpdeg.c @@ -28,6 +28,7 @@ struct agemod { char *paramvalstr[DEGPARAMAX]; double paramvals[DEGPARAMAX]; bool paramread[DEGPARAMAX]; + NGHASHPTR paramhash; } agemods[DEGMODMAX]; int readdegparams (struct card *deck) { @@ -49,6 +50,8 @@ int readdegparams (struct card *deck) { continue; } + agemods[ageindex].paramhash = nghash_init(64); + card->line = inp_remove_ws(card->line); char* cut_line = card->line; @@ -94,12 +97,15 @@ int readdegparams (struct card *deck) { agemods[ageindex].paramvalstr[parno] = f2; char *fp = f2; agemods[ageindex].paramvals[parno] = INPevaluate(&fp, &err, 1); - agemods[ageindex].paramread[parno] = FALSE; - parno++; if (err != 0) fprintf(stderr, "\nError: Could not evaluate parameter %s\n", f2); - else + else { + agemods[ageindex].paramread[parno] = FALSE; + nghash_insert(agemods[ageindex].paramhash, f1, &(agemods[ageindex].paramvals[parno])); + parno++; agemods[ageindex].numparams = parno; + } + tfree(dftok); } ageindex++;