<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">On 9/14/2018 8:44 AM, Ronaldo wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:1536939852481-0.post@n5.nabble.com">
      <pre wrap="">​If you have many parameters for each alternative model, it is a good idea to
collect them in a list for each model.

modelA = [ ​1, // dim_a
               2, // dim_b
               [1,2]  // vec_a // some vector parameter
               ...
             ];
modelB = [ ​3, // dim_a
               4, // dim_b
               [2,3]  // vec_a
               ...
             ];
modelC = [ ​5, // dim_a
               6, // dim_b
               [3,4]  // vec_a
               ...
             ];

Then, select the parameter set with just one :? operator

modelset = model=='A' ? modelA : model=='B' ? modelB : modelC;
</pre>
    </blockquote>
    <br>
    That was what I was thinking, with a couple of additional notes...<br>
    <br>
    I would try to align the definitions of model[ABC] into a table-like
    form:<br>
    <blockquote>
      <pre>//         a  b  c
modelA = [ ​1, 2, [1,2], ... ];
modelB = [ ​3, 4, [2,3], ... ];
modelC = [ ​5, 6, [3,4], ... ];
</pre>
    </blockquote>
    <p>and if the number of variants is non-trivial, then do something
      similar with the ?: sequence:</p>
    <blockquote>
      <pre>modelset =
    model == 'A' ? modelA :
    model == 'B' ? modelB :
    modelC
</pre>
    </blockquote>
    <p>... though better would be to have the final "else" generate an
      error, so that a typo doesn't silently give you the default.  I
      don't happen to remember any good ways to do that, and don't have
      the time right now to look.</p>
    <p><br>
    </p>
    <pre>
</pre>
  </body>
</html>