<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
Aha!!!!!!!!! Thanks Jesper and Ivan, much appreciated.<br>
<br>
Don<br>
<br>
<div class="moz-cite-prefix">On 2/13/2019 10.25 AM, Jesper Louis
Andersen wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CAGrdgiWrgYLgAN2bGM_SuUvHhDz6YFF33xv4mC5L0v-KX_Y5SQ@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif">You can
remove some of that repetition as well:</div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif"><br>
</div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif">notes(N)
when N < 6 -> 8;<br>
notes(N) when N < 12 -> 4;<br>
notes(_N) -> 2.<br>
<br>
makePanPositionL(Notes, rapidlyleft2right, L) ->
makePanPositionL(Notes, {rapidly, left2right}, L);<br>
makePanPositionL(Notes, rapidlyright2left, L) ->
makePanPositionL(Notes, {rapidly, right2left}, L);<br>
makePanPositionL(Notes, {rapidly, Mode}, L) -> 2 *
makePanPositionL(Notes, Mode, L);<br>
makePanPositionL(Notes, left2right, [Cur|_]) -> Cur +
notes(Notes);<br>
makePanPositionL(Notes, right2left, [Cur|_]) -> Cur -
notes(Notes).<br>
<br>
</div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif">Though this
is golfing, so go for the solution you think is most easy
to read. One advantage of the above model is that it might
be better if you are toying with altering the scaling. The
scaling parameters are in one place in this code, so
alteration is easier. Also, you can simplify by using an
erlang term rather than an atom via the {rapidly, Mode}
trick. Or perhaps just {scale, 2, Mode} and then interpret
this as</div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif"><br>
</div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif">mpp(Notes,
{scale, K, Mode}, L) -></div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif"> K *
mpp(Notes, Mode, L).</div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif"><br>
</div>
</div>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Wed, Feb 13, 2019 at 4:06
PM Ivan Uemlianin <<a href="mailto:ivan@llaisdy.com"
moz-do-not-send="true">ivan@llaisdy.com</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF"> Some people like it like that. The
repitition on the RHS makes me think there's room for more
streamlining.<br>
<br>
<div class="gmail-m_3979435971927316005moz-cite-prefix">On
13/02/2019 15:02, Donald Steven wrote:<br>
</div>
<blockquote type="cite"> Alas, that creates a different form
of code sprawl, as in:<br>
<br>
<div style="color:rgb(255,255,255);background-color:rgb(0,36,81);font-family:Consolas,"Courier New",monospace;font-weight:normal;font-size:16px;line-height:22px;white-space:pre-wrap"><div><span style="color:rgb(187,218,255)">makePanPositionL</span><span style="color:rgb(255,255,255)">(</span><span style="color:rgb(255,157,164)">Notes</span><span style="color:rgb(255,255,255)">, </span><span style="color:rgb(209,241,169)">left2right</span><span style="color:rgb(255,255,255)">, [</span><span style="color:rgb(255,157,164)">Cur</span><span style="color:rgb(255,255,255)">|</span><span style="color:rgb(255,157,164)">_</span><span style="color:rgb(255,255,255)">]) </span><span style="color:rgb(235,187,255)">when</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(255,157,164)">Notes</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(153,255,255)"><</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(255,197,143)">6</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(153,255,255)">-></span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(255,157,164)">Cur</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(153,255,255)">+</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(255,197,143)">8</span><span style="color:rgb(255,255,255)">;</span></div><div><span style="color:rgb(187,218,255)">makePanPositionL</span><span style="color:rgb(255,255,255)">(</span><span style="color:rgb(255,157,164)">Notes</span><span style="color:rgb(255,255,255)">, </span><span style="color:rgb(209,241,169)">left2right</span><span style="color:rgb(255,255,255)">, [</span><span style="color:rgb(255,157,164)">Cur</span><span style="color:rgb(255,255,255)">|</span><span style="color:rgb(255,157,164)">_</span><span style="color:rgb(255,255,255)">]) </span><span style="color:rgb(235,187,255)">when</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(255,157,164)">Notes</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(153,255,255)"><</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(255,197,143)">12</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(153,255,255)">-></span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(255,157,164)">Cur</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(153,255,255)">+</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(255,197,143)">4</span><span style="color:rgb(255,255,255)">;</span></div><div><span style="color:rgb(187,218,255)">makePanPositionL</span><span style="color:rgb(255,255,255)">(</span><span style="color:rgb(255,157,164)">Notes</span><span style="color:rgb(255,255,255)">, </span><span style="color:rgb(209,241,169)">left2right</span><span style="color:rgb(255,255,255)">, [</span><span style="color:rgb(255,157,164)">Cur</span><span style="color:rgb(255,255,255)">|</span><span style="color:rgb(255,157,164)">_</span><span style="color:rgb(255,255,255)">]) </span><span style="color:rgb(153,255,255)">-></span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(255,157,164)">Cur</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(153,255,255)">+</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(255,197,143)">2</span><span style="color:rgb(255,255,255)">.</span></div><div><span style="color:rgb(187,218,255)">makePanPositionL</span><span style="color:rgb(255,255,255)">(</span><span style="color:rgb(255,157,164)">Notes</span><span style="color:rgb(255,255,255)">, </span><span style="color:rgb(209,241,169)">right2left</span><span style="color:rgb(255,255,255)">, [</span><span style="color:rgb(255,157,164)">Cur</span><span style="color:rgb(255,255,255)">|</span><span style="color:rgb(255,157,164)">_</span><span style="color:rgb(255,255,255)">]) </span><span style="color:rgb(235,187,255)">when</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(255,157,164)">Notes</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(153,255,255)"><</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(255,197,143)">6</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(153,255,255)">-></span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(255,157,164)">Cur</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(153,255,255)">-</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(255,197,143)">8</span><span style="color:rgb(255,255,255)">;</span></div><div><span style="color:rgb(187,218,255)">makePanPositionL</span><span style="color:rgb(255,255,255)">(</span><span style="color:rgb(255,157,164)">Notes</span><span style="color:rgb(255,255,255)">, </span><span style="color:rgb(209,241,169)">right2left</span><span style="color:rgb(255,255,255)">, [</span><span style="color:rgb(255,157,164)">Cur</span><span style="color:rgb(255,255,255)">|</span><span style="color:rgb(255,157,164)">_</span><span style="color:rgb(255,255,255)">]) </span><span style="color:rgb(235,187,255)">when</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(255,157,164)">Notes</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(153,255,255)"><</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(255,197,143)">12</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(153,255,255)">-></span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(255,157,164)">Cur</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(153,255,255)">-</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(255,197,143)">4</span><span style="color:rgb(255,255,255)">;</span></div><div><span style="color:rgb(187,218,255)">makePanPositionL</span><span style="color:rgb(255,255,255)">(</span><span style="color:rgb(255,157,164)">Notes</span><span style="color:rgb(255,255,255)">, </span><span style="color:rgb(209,241,169)">right2left</span><span style="color:rgb(255,255,255)">, [</span><span style="color:rgb(255,157,164)">Cur</span><span style="color:rgb(255,255,255)">|</span><span style="color:rgb(255,157,164)">_</span><span style="color:rgb(255,255,255)">]) </span><span style="color:rgb(153,255,255)">-></span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(255,157,164)">Cur</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(153,255,255)">-</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(255,197,143)">2</span><span style="color:rgb(255,255,255)">.</span></div><div><span style="color:rgb(187,218,255)">makePanPositionL</span><span style="color:rgb(255,255,255)">(</span><span style="color:rgb(255,157,164)">Notes</span><span style="color:rgb(255,255,255)">, </span><span style="color:rgb(209,241,169)">rapidlyleft2right</span><span style="color:rgb(255,255,255)">, [</span><span style="color:rgb(255,157,164)">Cur</span><span style="color:rgb(255,255,255)">|</span><span style="color:rgb(255,157,164)">_</span><span style="color:rgb(255,255,255)">]) </span><span style="color:rgb(235,187,255)">when</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(255,157,164)">Notes</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(153,255,255)"><</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(255,197,143)">6</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(153,255,255)">-></span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(255,157,164)">Cur</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(153,255,255)">+</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(255,197,143)">16</span><span style="color:rgb(255,255,255)">;</span></div><div><span style="color:rgb(187,218,255)">makePanPositionL</span><span style="color:rgb(255,255,255)">(</span><span style="color:rgb(255,157,164)">Notes</span><span style="color:rgb(255,255,255)">, </span><span style="color:rgb(209,241,169)">rapidlyleft2right</span><span style="color:rgb(255,255,255)">, [</span><span style="color:rgb(255,157,164)">Cur</span><span style="color:rgb(255,255,255)">|</span><span style="color:rgb(255,157,164)">_</span><span style="color:rgb(255,255,255)">]) </span><span style="color:rgb(235,187,255)">when</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(255,157,164)">Notes</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(153,255,255)"><</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(255,197,143)">12</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(153,255,255)">-></span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(255,157,164)">Cur</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(153,255,255)">+</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(255,197,143)">8</span><span style="color:rgb(255,255,255)">;</span></div><div><span style="color:rgb(187,218,255)">makePanPositionL</span><span style="color:rgb(255,255,255)">(</span><span style="color:rgb(255,157,164)">Notes</span><span style="color:rgb(255,255,255)">, </span><span style="color:rgb(209,241,169)">rapidlyleft2right</span><span style="color:rgb(255,255,255)">, [</span><span style="color:rgb(255,157,164)">Cur</span><span style="color:rgb(255,255,255)">|</span><span style="color:rgb(255,157,164)">_</span><span style="color:rgb(255,255,255)">]) </span><span style="color:rgb(153,255,255)">-></span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(255,157,164)">Cur</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(153,255,255)">+</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(255,197,143)">4</span><span style="color:rgb(255,255,255)">.</span></div><div><span style="color:rgb(187,218,255)">makePanPositionL</span><span style="color:rgb(255,255,255)">(</span><span style="color:rgb(255,157,164)">Notes</span><span style="color:rgb(255,255,255)">, </span><span style="color:rgb(209,241,169)">rapidlyright2left</span><span style="color:rgb(255,255,255)">, [</span><span style="color:rgb(255,157,164)">Cur</span><span style="color:rgb(255,255,255)">|</span><span style="color:rgb(255,157,164)">_</span><span style="color:rgb(255,255,255)">]) </span><span style="color:rgb(235,187,255)">when</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(255,157,164)">Notes</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(153,255,255)"><</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(255,197,143)">6</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(153,255,255)">-></span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(255,157,164)">Cur</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(153,255,255)">-</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(255,197,143)">16</span><span style="color:rgb(255,255,255)">;</span></div><div><span style="color:rgb(187,218,255)">makePanPositionL</span><span style="color:rgb(255,255,255)">(</span><span style="color:rgb(255,157,164)">Notes</span><span style="color:rgb(255,255,255)">, </span><span style="color:rgb(209,241,169)">rapidlyright2left</span><span style="color:rgb(255,255,255)">, [</span><span style="color:rgb(255,157,164)">Cur</span><span style="color:rgb(255,255,255)">|</span><span style="color:rgb(255,157,164)">_</span><span style="color:rgb(255,255,255)">]) </span><span style="color:rgb(235,187,255)">when</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(255,157,164)">Notes</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(153,255,255)"><</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(255,197,143)">12</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(153,255,255)">-></span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(255,157,164)">Cur</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(153,255,255)">-</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(255,197,143)">8</span><span style="color:rgb(255,255,255)">;</span></div><div><span style="color:rgb(187,218,255)">makePanPositionL</span><span style="color:rgb(255,255,255)">(</span><span style="color:rgb(255,157,164)">Notes</span><span style="color:rgb(255,255,255)">, </span><span style="color:rgb(209,241,169)">rapidlyright2left</span><span style="color:rgb(255,255,255)">, [</span><span style="color:rgb(255,157,164)">Cur</span><span style="color:rgb(255,255,255)">|</span><span style="color:rgb(255,157,164)">_</span><span style="color:rgb(255,255,255)">]) </span><span style="color:rgb(153,255,255)">-></span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(255,157,164)">Cur</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(153,255,255)">-</span><span style="color:rgb(255,255,255)"> </span><span style="color:rgb(255,197,143)">4</span><span style="color:rgb(255,255,255)">.</span></div></div>
<br>
<br>
<div class="gmail-m_3979435971927316005moz-cite-prefix">On
2/13/2019 8.35 AM, Jesper Louis Andersen wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif">On
Wed, Feb 13, 2019 at 1:51 PM Ivan Uemlianin <<a
href="mailto:ivan@llaisdy.com" target="_blank"
moz-do-not-send="true">ivan@llaisdy.com</a>>
wrote:<br>
</div>
</div>
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px
0px 0px 0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">This might be
cheating but I would avoid the branching
altogether if <br>
poss., eg:<br>
<br>
PanPosition = CurrentPanPosition +
notes_to_pad(Notes),<br>
...<br>
<br>
notes_to_pad(N) where N < 6 -> 8;<br>
notes_to_pad(N) where N < 12 -> 4;<br>
notes_to_pad(_) -> 2.<br>
<br>
</blockquote>
<div><br>
</div>
<div>makePanPositionL(Notes, left2right, [Cur|_])
when Notes < 6 -> Cur + 8;<br>
makePanPositionL(Notes, left2right, [Cur|_])
when Notes < 12 -> Cur + 4;<br>
makePanPositionL(Notes, left2right,
[Cur|_]) -> Cur + 2.</div>
<div><br>
</div>
<div>
<div
style="font-family:arial,helvetica,sans-serif"
class="gmail_default">You can just lift
everything into a pattern match for this piece
of code, which is what I think I'd do. It
makes the result far more tabular, which in
some cases is easier to read. There may be
other reasons in the code to not do this, but
as it was written, I think I'd pick the above
as the solution. YMMV of course.</div>
<br>
</div>
</div>
</div>
</div>
<br>
<fieldset
class="gmail-m_3979435971927316005mimeAttachmentHeader"></fieldset>
<pre class="gmail-m_3979435971927316005moz-quote-pre">_______________________________________________
erlang-questions mailing list
<a class="gmail-m_3979435971927316005moz-txt-link-abbreviated" href="mailto:erlang-questions@erlang.org" target="_blank" moz-do-not-send="true">erlang-questions@erlang.org</a>
<a class="gmail-m_3979435971927316005moz-txt-link-freetext" href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank" moz-do-not-send="true">http://erlang.org/mailman/listinfo/erlang-questions</a>
</pre>
</blockquote>
<br>
</blockquote>
<br>
<pre class="gmail-m_3979435971927316005moz-signature" cols="72">--
============================================================
Ivan A. Uemlianin PhD
Llaisdy
Ymchwil a Datblygu Technoleg Lleferydd
Speech Technology Research and Development
<a class="gmail-m_3979435971927316005moz-txt-link-abbreviated" href="mailto:ivan@llaisdy.com" target="_blank" moz-do-not-send="true">ivan@llaisdy.com</a>
@llaisdy
<a href="http://llaisdy.wordpress.com" target="_blank" moz-do-not-send="true">llaisdy.wordpress.com</a>
<a href="http://github.com/llaisdy" target="_blank" moz-do-not-send="true">github.com/llaisdy</a>
<a class="gmail-m_3979435971927316005moz-txt-link-abbreviated" href="http://www.linkedin.com/in/ivanuemlianin" target="_blank" moz-do-not-send="true">www.linkedin.com/in/ivanuemlianin</a>
festina lente
============================================================ </pre>
</div>
</blockquote>
</div>
<br clear="all">
<br>
-- <br>
<div dir="ltr" class="gmail_signature">J.</div>
</blockquote>
<br>
</body>
</html>