<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Monospaced;
        panose-1:0 0 0 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
pre
        {mso-style-priority:99;
        mso-style-link:"Préformaté HTML Car";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
span.PrformatHTMLCar
        {mso-style-name:"Préformaté HTML Car";
        mso-style-priority:99;
        mso-style-link:"Préformaté HTML";
        font-family:"Courier New";
        mso-fareast-language:FR;}
span.EmailStyle20
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.EmailStyle21
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="FR" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US">Here is the correct code – loop faster here (68 time faster with n = 100 000)<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal">I’m confuse<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Paul<o:p></o:p></p>
<p class="MsoNormal">#############################################################<o:p></o:p></p>
<p class="MsoNormal"><span style="font-family:"Monospaced","serif";color:#32B9B9;mso-fareast-language:FR">mode</span><span style="font-family:"Monospaced","serif";color:#4A55DB;mso-fareast-language:FR">(</span><span style="font-family:"Monospaced","serif";color:rosybrown;mso-fareast-language:FR">0</span><span style="font-family:"Monospaced","serif";color:#4A55DB;mso-fareast-language:FR">)</span><span style="font-family:"Monospaced","serif";mso-fareast-language:FR"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Monospaced","serif";color:#32B9B9;mso-fareast-language:FR">clear</span><span style="font-family:"Monospaced","serif";mso-fareast-language:FR"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Monospaced","serif";mso-fareast-language:FR"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">n</span><span style="font-family:"Monospaced","serif";mso-fareast-language:FR">
<span style="color:#5C5C5C">=</span> <span style="color:rosybrown">10000</span><span style="color:black">;</span><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">lower_bound</span><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR">
<span style="color:#5C5C5C">=</span> <span style="color:rosybrown">0.1</span><span style="color:#5C5C5C">*</span><span style="color:black">n;</span><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">upper_bound</span><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR">
<span style="color:#5C5C5C">=</span> <span style="color:rosybrown">0.6</span><span style="color:#5C5C5C">*</span><span style="color:black">n;</span><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">a</span><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR">
<span style="color:#5C5C5C">=</span> <span style="color:#32B9B9">rand</span><span style="color:#4A55DB">(</span><span style="color:black">n,</span><span style="color:rosybrown">1</span><span style="color:#4A55DB">)</span><span style="color:black">;</span><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">b</span><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR">
<span style="color:#5C5C5C">=</span> <span style="color:#32B9B9">string</span><span style="color:#4A55DB">(</span><span style="color:black">a</span><span style="color:#4A55DB">)</span><span style="color:black">;</span><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR"><o:p> </o:p></span></p>
<p class="MsoNormal"><i><span lang="EN-US" style="font-family:"Monospaced","serif";color:#64AE64;mso-fareast-language:FR">// case 1 : eval on each row</span></i><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR"><o:p></o:p></span></p>
<pre><u><span lang="EN-US" style="font-size:11.0pt;font-family:"Monospaced","serif";color:#AE5CB0">tic</span></u><span lang="EN-US" style="font-size:11.0pt;font-family:"Monospaced","serif";color:#4A55DB">()</span><span lang="EN-US" style="font-size:11.0pt;font-family:"Monospaced","serif";color:black">;</span><span lang="EN-US" style="font-size:11.0pt;font-family:"Monospaced","serif""><o:p></o:p></span></pre>
<pre><span lang="EN-US" style="font-size:11.0pt;font-family:"Monospaced","serif";color:black">i</span><span lang="EN-US" style="font-size:11.0pt;font-family:"Monospaced","serif";color:#5C5C5C">=</span><span lang="EN-US" style="font-size:11.0pt;font-family:"Monospaced","serif";color:rosybrown">1</span><span lang="EN-US" style="font-size:11.0pt;font-family:"Monospaced","serif";color:#FFAA00">:</span><span lang="EN-US" style="font-size:11.0pt;font-family:"Monospaced","serif";color:#4A55DB">(</span><span lang="EN-US" style="font-size:11.0pt;font-family:"Monospaced","serif";color:black">upper_bound</span><span lang="EN-US" style="font-size:11.0pt;font-family:"Monospaced","serif";color:#5C5C5C">-</span><span lang="EN-US" style="font-size:11.0pt;font-family:"Monospaced","serif";color:black">lower_bound</span><span lang="EN-US" style="font-size:11.0pt;font-family:"Monospaced","serif";color:#5C5C5C">+</span><span lang="EN-US" style="font-size:11.0pt;font-family:"Monospaced","serif";color:rosybrown">1</span><span lang="EN-US" style="font-size:11.0pt;font-family:"Monospaced","serif";color:#4A55DB">)</span><span lang="EN-US" style="font-size:11.0pt;font-family:"Monospaced","serif";color:#5C5C5C">'</span><span lang="EN-US" style="font-size:11.0pt;font-family:"Monospaced","serif";color:black">;</span><span lang="EN-US" style="font-size:11.0pt;font-family:"Monospaced","serif""><o:p></o:p></span></pre>
<pre><span lang="EN-US" style="font-size:11.0pt;font-family:"Monospaced","serif";color:black">c</span><span lang="EN-US" style="font-size:11.0pt;font-family:"Monospaced","serif";color:#4A55DB">(</span><span lang="EN-US" style="font-size:11.0pt;font-family:"Monospaced","serif";color:black">i,</span><span lang="EN-US" style="font-size:11.0pt;font-family:"Monospaced","serif";color:rosybrown">1</span><span lang="EN-US" style="font-size:11.0pt;font-family:"Monospaced","serif";color:#4A55DB">)</span><span lang="EN-US" style="font-size:11.0pt;font-family:"Monospaced","serif""> <span style="color:#5C5C5C">=</span> <span style="color:#32B9B9">zeros</span><span style="color:#4A55DB">((</span><span style="color:black">upper_bound</span><span style="color:#5C5C5C">-</span><span style="color:black">lower_bound</span><span style="color:#5C5C5C">+</span><span style="color:rosybrown">1</span><span style="color:#4A55DB">)</span><span style="color:black">,</span><span style="color:rosybrown">1</span><span style="color:#4A55DB">)</span><span style="color:black">;</span><o:p></o:p></span></pre>
<pre><span lang="EN-US" style="font-size:11.0pt;font-family:"Monospaced","serif";color:black">c</span><span lang="EN-US" style="font-size:11.0pt;font-family:"Monospaced","serif";color:#4A55DB">(</span><span lang="EN-US" style="font-size:11.0pt;font-family:"Monospaced","serif";color:black">i,</span><span lang="EN-US" style="font-size:11.0pt;font-family:"Monospaced","serif";color:rosybrown">1</span><span lang="EN-US" style="font-size:11.0pt;font-family:"Monospaced","serif";color:#4A55DB">)</span><span lang="EN-US" style="font-size:11.0pt;font-family:"Monospaced","serif""> <span style="color:#5C5C5C">=</span> <u><span style="color:#AE5CB0">eval</span></u><span style="color:#4A55DB">(</span><span style="color:black">b</span><span style="color:#4A55DB">(</span><span style="color:black">lower_bound</span><span style="color:#FFAA00">:</span><span style="color:black">upper_bound,</span><span style="color:rosybrown">1</span><span style="color:#4A55DB">))</span><span style="color:black">;</span><o:p></o:p></span></pre>
<pre><span lang="EN-US" style="font-size:11.0pt;font-family:"Monospaced","serif";color:black">duration1</span><span lang="EN-US" style="font-size:11.0pt;font-family:"Monospaced","serif""> <span style="color:#5C5C5C">=</span> <u><span style="color:#AE5CB0">toc</span></u><span style="color:#4A55DB">()</span><o:p></o:p></span></pre>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR"><o:p> </o:p></span></p>
<p class="MsoNormal"><i><span lang="EN-US" style="font-family:"Monospaced","serif";color:#64AE64;mso-fareast-language:FR">// case 2 : eval on the complete matrix</span></i><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR"><o:p></o:p></span></p>
<p class="MsoNormal"><u><span lang="EN-US" style="font-family:"Monospaced","serif";color:#AE5CB0;mso-fareast-language:FR">tic</span></u><span lang="EN-US" style="font-family:"Monospaced","serif";color:#4A55DB;mso-fareast-language:FR">()</span><span lang="EN-US" style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">;</span><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">d</span><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR">
<span style="color:#5C5C5C">=</span> <span style="color:#32B9B9">zeros</span><span style="color:#4A55DB">((</span><span style="color:black">upper_bound</span><span style="color:#5C5C5C">-</span><span style="color:black">lower_bound</span><span style="color:#5C5C5C">+</span><span style="color:rosybrown">1</span><span style="color:#4A55DB">)</span><span style="color:black">,</span><span style="color:rosybrown">1</span><span style="color:#4A55DB">)</span><span style="color:black">;</span><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">d</span><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR">
<span style="color:#5C5C5C">=</span> <span style="color:#32B9B9">string</span><span style="color:#4A55DB">(</span><span style="color:black">d</span><span style="color:#4A55DB">)</span><span style="color:black">;</span><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">d</span><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR">
<span style="color:#5C5C5C">=</span> <span style="color:black">b</span><span style="color:#4A55DB">(</span><span style="color:black">lower_bound</span><span style="color:#FFAA00">:</span><span style="color:black">upper_bound,</span><span style="color:rosybrown">1</span><span style="color:#4A55DB">)</span><span style="color:black">;</span><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">d</span><span style="font-family:"Monospaced","serif";mso-fareast-language:FR">
<span style="color:#5C5C5C">=</span> <u><span style="color:#AE5CB0">eval</span></u><span style="color:#4A55DB">(</span><span style="color:black">d</span><span style="color:#4A55DB">)</span><span style="color:black">;</span><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">duration2</span><span style="font-family:"Monospaced","serif";mso-fareast-language:FR">
<span style="color:#5C5C5C">=</span> <u><span style="color:#AE5CB0">toc</span></u><span style="color:#4A55DB">()</span><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Monospaced","serif";mso-fareast-language:FR"><o:p> </o:p></span></p>
<p class="MsoNormal"><i><span lang="EN-US" style="font-family:"Monospaced","serif";color:#64AE64;mso-fareast-language:FR">// case 3 :with an uggly loop</span></i><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR"><o:p></o:p></span></p>
<p class="MsoNormal"><u><span lang="EN-US" style="font-family:"Monospaced","serif";color:#AE5CB0;mso-fareast-language:FR">tic</span></u><span lang="EN-US" style="font-family:"Monospaced","serif";color:#4A55DB;mso-fareast-language:FR">()</span><span lang="EN-US" style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">;</span><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">e</span><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR">
<span style="color:#5C5C5C">=</span> <span style="color:#32B9B9">zeros</span><span style="color:#4A55DB">((</span><span style="color:black">upper_bound</span><span style="color:#5C5C5C">-</span><span style="color:black">lower_bound</span><span style="color:#5C5C5C">+</span><span style="color:rosybrown">1</span><span style="color:#4A55DB">)</span><span style="color:black">,</span><span style="color:rosybrown">1</span><span style="color:#4A55DB">)</span><span style="color:black">;</span><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";color:#A020F0;mso-fareast-language:FR">for</span><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR">
<span style="color:black">i</span> <span style="color:#5C5C5C">=</span> <span style="color:rosybrown">
1</span> <span style="color:#FFAA00">:</span> <span style="color:#4A55DB">(</span><span style="color:black">upper_bound</span>
<span style="color:#5C5C5C">-</span> <span style="color:black">lower_bound</span><span style="color:#5C5C5C">+</span><span style="color:rosybrown">1</span><span style="color:#4A55DB">)</span><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR">   
<span style="color:black">e</span><span style="color:#4A55DB">(</span><span style="color:black">i,</span><span style="color:rosybrown">1</span><span style="color:#4A55DB">)</span>
<span style="color:#5C5C5C">=</span> <u><span style="color:#AE5CB0">eval</span></u><span style="color:#4A55DB">(</span><span style="color:black">b</span><span style="color:#4A55DB">(</span><span style="color:black">i</span><span style="color:#5C5C5C">+</span><span style="color:black">lower_bound</span><span style="color:#5C5C5C">-</span><span style="color:rosybrown">1</span><span style="color:black">,</span><span style="color:rosybrown">1</span><span style="color:#4A55DB">))</span><span style="color:black">;</span><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";color:#A020F0;mso-fareast-language:FR">end</span><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">duration3</span><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR">
<span style="color:#5C5C5C">=</span> <u><span style="color:#AE5CB0">toc</span></u><span style="color:#4A55DB">()</span><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR"><o:p> </o:p></span></p>
<p class="MsoNormal"><i><span lang="EN-US" style="font-family:"Monospaced","serif";color:#64AE64;mso-fareast-language:FR">// case 4 :with an uggly loop (eval on the complete matrix)</span></i><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR"><o:p></o:p></span></p>
<p class="MsoNormal"><u><span lang="EN-US" style="font-family:"Monospaced","serif";color:#AE5CB0;mso-fareast-language:FR">tic</span></u><span lang="EN-US" style="font-family:"Monospaced","serif";color:#4A55DB;mso-fareast-language:FR">()</span><span lang="EN-US" style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">;</span><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">f</span><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR">
<span style="color:#5C5C5C">=</span> <span style="color:#32B9B9">zeros</span><span style="color:#4A55DB">((</span><span style="color:black">upper_bound</span><span style="color:#5C5C5C">-</span><span style="color:black">lower_bound</span><span style="color:#5C5C5C">+</span><span style="color:rosybrown">1</span><span style="color:#4A55DB">)</span><span style="color:black">,</span><span style="color:rosybrown">1</span><span style="color:#4A55DB">)</span><span style="color:black">;</span><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">f</span><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR">
<span style="color:#5C5C5C">=</span> <span style="color:#32B9B9">string</span><span style="color:#4A55DB">(</span><span style="color:black">f</span><span style="color:#4A55DB">)</span><span style="color:black">;</span><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";color:#A020F0;mso-fareast-language:FR">for</span><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR">
<span style="color:black">i</span> <span style="color:#5C5C5C">=</span> <span style="color:rosybrown">
1</span> <span style="color:#FFAA00">:</span> <span style="color:#4A55DB">(</span><span style="color:black">upper_bound</span>
<span style="color:#5C5C5C">-</span> <span style="color:black">lower_bound</span><span style="color:#4A55DB">)</span><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR">   
<span style="color:black">f</span><span style="color:#4A55DB">(</span><span style="color:black">i,</span><span style="color:rosybrown">1</span><span style="color:#4A55DB">)</span>
<span style="color:#5C5C5C">=</span> <span style="color:black">b</span><span style="color:#4A55DB">(</span><span style="color:black">i</span><span style="color:#5C5C5C">+</span><span style="color:black">lower_bound</span><span style="color:#5C5C5C">-</span><span style="color:rosybrown">1</span><span style="color:black">,</span><span style="color:rosybrown">1</span><span style="color:#4A55DB">)</span><span style="color:black">;</span><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";color:#A020F0;mso-fareast-language:FR">end</span><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">f</span><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR">
<span style="color:#5C5C5C">=</span> <u><span style="color:#AE5CB0">eval</span></u><span style="color:#4A55DB">(</span><span style="color:black">f</span><span style="color:#4A55DB">)</span><span style="color:black">;</span><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">duration3</span><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR">
<span style="color:#5C5C5C">=</span> <u><span style="color:#AE5CB0">toc</span></u><span style="color:#4A55DB">()</span><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><o:p></o:p></p>
<p><b><i><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:gray">EXPORT CONTROL :
<br>
</span></i></b><b><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">Cet email ne contient pas de données techniques<br>
This email does not contain technical data</span></b><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><a name="_____replyseparator"></a><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";mso-fareast-language:FR">De :</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";mso-fareast-language:FR"> users
 [mailto:users-bounces@lists.scilab.org] <b>De la part de</b> Carrico, Paul<br>
<b>Envoyé :</b> jeudi 29 juin 2017 09:29<br>
<b>À :</b> International users mailing list for Scilab. (users@lists.scilab.org)<br>
<b>Objet :</b> [EXTERNAL] [Scilab-users] my loop faster than vectorization (???)<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Hi all<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">I’m facing a case where a loop is faster than vectorization (at least I hope I’m using vectorization) ... I’m necessarily doing something wrong but I don’t see what</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US"> </span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">Hope somebody will point out my mistake</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US"> </span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">Thanks for your time</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US"> </span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">Paul</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US"> </span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">################################################</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";color:#32B9B9;mso-fareast-language:FR">mode</span><span lang="EN-US" style="font-family:"Monospaced","serif";color:#4A55DB;mso-fareast-language:FR">(</span><span lang="EN-US" style="font-family:"Monospaced","serif";color:rosybrown;mso-fareast-language:FR">0</span><span lang="EN-US" style="font-family:"Monospaced","serif";color:#4A55DB;mso-fareast-language:FR">)</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";color:#32B9B9;mso-fareast-language:FR">clear</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR"> </span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">n</span><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR">
<span style="color:#5C5C5C">=</span> <span style="color:rosybrown">10000</span><span style="color:black">;</span></span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">lower_bound</span><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR">
<span style="color:#5C5C5C">=</span> <span style="color:rosybrown">0.1</span><span style="color:#5C5C5C">*</span><span style="color:black">n;</span></span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">upper_bound</span><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR">
<span style="color:#5C5C5C">=</span> <span style="color:rosybrown">0.6</span><span style="color:#5C5C5C">*</span><span style="color:black">n;</span></span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR"> </span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">a</span><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR">
<span style="color:#5C5C5C">=</span> <span style="color:#32B9B9">rand</span><span style="color:#4A55DB">(</span><span style="color:black">n,</span><span style="color:rosybrown">1</span><span style="color:#4A55DB">)</span><span style="color:black">;</span></span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">b</span><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR">
<span style="color:#5C5C5C">=</span> <span style="color:#32B9B9">string</span><span style="color:#4A55DB">(</span><span style="color:black">a</span><span style="color:#4A55DB">)</span><span style="color:black">;</span></span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR"> </span><o:p></o:p></p>
<p class="MsoNormal"><i><span lang="EN-US" style="font-family:"Monospaced","serif";color:#64AE64;mso-fareast-language:FR">// case 1 : eval on each row</span></i><o:p></o:p></p>
<p class="MsoNormal"><u><span lang="EN-US" style="font-family:"Monospaced","serif";color:#AE5CB0;mso-fareast-language:FR">tic</span></u><span lang="EN-US" style="font-family:"Monospaced","serif";color:#4A55DB;mso-fareast-language:FR">()</span><span lang="EN-US" style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">;</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">c</span><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR">
<span style="color:#5C5C5C">=</span> <span style="color:#32B9B9">zeros</span><span style="color:#4A55DB">((</span><span style="color:black">upper_bound</span><span style="color:#5C5C5C">-</span><span style="color:black">lower_bound</span><span style="color:#4A55DB">)</span><span style="color:black">,</span><span style="color:rosybrown">1</span><span style="color:#4A55DB">)</span><span style="color:black">;</span></span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">c</span><span lang="EN-US" style="font-family:"Monospaced","serif";color:#4A55DB;mso-fareast-language:FR">(</span><span lang="EN-US" style="font-family:"Monospaced","serif";color:rosybrown;mso-fareast-language:FR">1</span><span lang="EN-US" style="font-family:"Monospaced","serif";color:#FFAA00;mso-fareast-language:FR">:</span><span lang="EN-US" style="font-family:"Monospaced","serif";color:#4A55DB;mso-fareast-language:FR">(</span><span lang="EN-US" style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">upper_bound</span><span lang="EN-US" style="font-family:"Monospaced","serif";color:#5C5C5C;mso-fareast-language:FR">-</span><span lang="EN-US" style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">lower_bound</span><span lang="EN-US" style="font-family:"Monospaced","serif";color:#4A55DB;mso-fareast-language:FR">)</span><span lang="EN-US" style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">,</span><span lang="EN-US" style="font-family:"Monospaced","serif";color:rosybrown;mso-fareast-language:FR">1</span><span lang="EN-US" style="font-family:"Monospaced","serif";color:#4A55DB;mso-fareast-language:FR">)</span><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR">
<span style="color:#5C5C5C">=</span> <u><span style="color:#AE5CB0">eval</span></u><span style="color:#4A55DB">(</span><span style="color:black">b</span><span style="color:#4A55DB">(</span><span style="color:rosybrown">1</span><span style="color:#FFAA00">:</span><span style="color:#4A55DB">(</span><span style="color:black">upper_bound</span><span style="color:#5C5C5C">-</span><span style="color:black">lower_bound</span><span style="color:#4A55DB">)</span><span style="color:black">,</span><span style="color:rosybrown">1</span><span style="color:#4A55DB">))</span><span style="color:black">;</span></span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">duration1</span><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR">
<span style="color:#5C5C5C">=</span> <u><span style="color:#AE5CB0">toc</span></u><span style="color:#4A55DB">()</span></span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR"> </span><o:p></o:p></p>
<p class="MsoNormal"><i><span lang="EN-US" style="font-family:"Monospaced","serif";color:#64AE64;mso-fareast-language:FR">// case 2 : eval on the complete matrix</span></i><o:p></o:p></p>
<p class="MsoNormal"><u><span lang="EN-US" style="font-family:"Monospaced","serif";color:#AE5CB0;mso-fareast-language:FR">tic</span></u><span lang="EN-US" style="font-family:"Monospaced","serif";color:#4A55DB;mso-fareast-language:FR">()</span><span lang="EN-US" style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">;</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">d</span><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR">
<span style="color:#5C5C5C">=</span> <span style="color:#32B9B9">zeros</span><span style="color:#4A55DB">((</span><span style="color:black">upper_bound</span><span style="color:#5C5C5C">-</span><span style="color:black">lower_bound</span><span style="color:#4A55DB">)</span><span style="color:black">,</span><span style="color:rosybrown">1</span><span style="color:#4A55DB">)</span><span style="color:black">;</span></span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">d</span><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR">
<span style="color:#5C5C5C">=</span> <span style="color:#32B9B9">string</span><span style="color:#4A55DB">(</span><span style="color:black">d</span><span style="color:#4A55DB">)</span><span style="color:black">;</span></span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">d</span><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR">
<span style="color:#5C5C5C">=</span> <span style="color:black">b</span><span style="color:#4A55DB">([</span><span style="color:rosybrown">1</span><span style="color:#FFAA00">:</span><span style="color:#4A55DB">(</span><span style="color:black">upper_bound</span><span style="color:#5C5C5C">-</span><span style="color:black">lower_bound</span><span style="color:#4A55DB">)]</span><span style="color:black">,</span><span style="color:rosybrown">1</span><span style="color:#4A55DB">)</span><span style="color:black">;</span></span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">d</span><span style="font-family:"Monospaced","serif";mso-fareast-language:FR">
<span style="color:#5C5C5C">=</span> <u><span style="color:#AE5CB0">eval</span></u><span style="color:#4A55DB">(</span><span style="color:black">d</span><span style="color:#4A55DB">)</span><span style="color:black">;</span></span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">duration2</span><span style="font-family:"Monospaced","serif";mso-fareast-language:FR">
<span style="color:#5C5C5C">=</span> <u><span style="color:#AE5CB0">toc</span></u><span style="color:#4A55DB">()</span></span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-family:"Monospaced","serif";mso-fareast-language:FR"> </span><o:p></o:p></p>
<p class="MsoNormal"><i><span lang="EN-US" style="font-family:"Monospaced","serif";color:#64AE64;mso-fareast-language:FR">// case 3 :with an uggly loop</span></i><o:p></o:p></p>
<p class="MsoNormal"><u><span lang="EN-US" style="font-family:"Monospaced","serif";color:#AE5CB0;mso-fareast-language:FR">tic</span></u><span lang="EN-US" style="font-family:"Monospaced","serif";color:#4A55DB;mso-fareast-language:FR">()</span><span lang="EN-US" style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">;</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">e</span><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR">
<span style="color:#5C5C5C">=</span> <span style="color:#32B9B9">zeros</span><span style="color:#4A55DB">((</span><span style="color:black">upper_bound</span><span style="color:#5C5C5C">-</span><span style="color:black">lower_bound</span><span style="color:#4A55DB">)</span><span style="color:black">,</span><span style="color:rosybrown">1</span><span style="color:#4A55DB">)</span><span style="color:black">;</span></span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";color:#A020F0;mso-fareast-language:FR">for</span><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR">
<span style="color:black">i</span> <span style="color:#5C5C5C">=</span> <span style="color:rosybrown">
1</span> <span style="color:#FFAA00">:</span> <span style="color:#4A55DB">(</span><span style="color:black">upper_bound</span>
<span style="color:#5C5C5C">-</span> <span style="color:black">lower_bound</span><span style="color:#4A55DB">)</span></span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR">   
<span style="color:black">e</span><span style="color:#4A55DB">(</span><span style="color:black">i,</span><span style="color:rosybrown">1</span><span style="color:#4A55DB">)</span>
<span style="color:#5C5C5C">=</span> <u><span style="color:#AE5CB0">eval</span></u><span style="color:#4A55DB">(</span><span style="color:black">b</span><span style="color:#4A55DB">(</span><span style="color:black">i</span><span style="color:#5C5C5C">+</span><span style="color:black">lower_bound</span><span style="color:#5C5C5C">-</span><span style="color:rosybrown">1</span><span style="color:black">,</span><span style="color:rosybrown">1</span><span style="color:#4A55DB">))</span><span style="color:black">;</span></span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";color:#A020F0;mso-fareast-language:FR">end</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">duration3</span><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR">
<span style="color:#5C5C5C">=</span> <u><span style="color:#AE5CB0">toc</span></u><span style="color:#4A55DB">()</span></span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR"> </span><o:p></o:p></p>
<p class="MsoNormal"><i><span lang="EN-US" style="font-family:"Monospaced","serif";color:#64AE64;mso-fareast-language:FR">// case 4 :with an uggly loop (eval on the complete matrix)</span></i><o:p></o:p></p>
<p class="MsoNormal"><u><span lang="EN-US" style="font-family:"Monospaced","serif";color:#AE5CB0;mso-fareast-language:FR">tic</span></u><span lang="EN-US" style="font-family:"Monospaced","serif";color:#4A55DB;mso-fareast-language:FR">()</span><span lang="EN-US" style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">;</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">f</span><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR">
<span style="color:#5C5C5C">=</span> <span style="color:#32B9B9">zeros</span><span style="color:#4A55DB">((</span><span style="color:black">upper_bound</span><span style="color:#5C5C5C">-</span><span style="color:black">lower_bound</span><span style="color:#4A55DB">)</span><span style="color:black">,</span><span style="color:rosybrown">1</span><span style="color:#4A55DB">)</span><span style="color:black">;</span></span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">f</span><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR">
<span style="color:#5C5C5C">=</span> <span style="color:#32B9B9">string</span><span style="color:#4A55DB">(</span><span style="color:black">f</span><span style="color:#4A55DB">)</span><span style="color:black">;</span></span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";color:#A020F0;mso-fareast-language:FR">for</span><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR">
<span style="color:black">i</span> <span style="color:#5C5C5C">=</span> <span style="color:rosybrown">
1</span> <span style="color:#FFAA00">:</span> <span style="color:#4A55DB">(</span><span style="color:black">upper_bound</span>
<span style="color:#5C5C5C">-</span> <span style="color:black">lower_bound</span><span style="color:#4A55DB">)</span></span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR">   
<span style="color:black">f</span><span style="color:#4A55DB">(</span><span style="color:black">i,</span><span style="color:rosybrown">1</span><span style="color:#4A55DB">)</span>
<span style="color:#5C5C5C">=</span> <span style="color:black">b</span><span style="color:#4A55DB">(</span><span style="color:black">i</span><span style="color:#5C5C5C">+</span><span style="color:black">lower_bound</span><span style="color:#5C5C5C">-</span><span style="color:rosybrown">1</span><span style="color:black">,</span><span style="color:rosybrown">1</span><span style="color:#4A55DB">)</span><span style="color:black">;</span></span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";color:#A020F0;mso-fareast-language:FR">end</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">f</span><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR">
<span style="color:#5C5C5C">=</span> <u><span style="color:#AE5CB0">eval</span></u><span style="color:#4A55DB">(</span><span style="color:black">f</span><span style="color:#4A55DB">)</span><span style="color:black">;</span></span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Monospaced","serif";color:black;mso-fareast-language:FR">duration3</span><span lang="EN-US" style="font-family:"Monospaced","serif";mso-fareast-language:FR">
<span style="color:#5C5C5C">=</span> <u><span style="color:#AE5CB0">toc</span></u><span style="color:#4A55DB">()</span></span><o:p></o:p></p>
<p><b><i><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:gray">EXPORT CONTROL :
<br>
</span></i></b><b><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">Cet email ne contient pas de données techniques<br>
This email does not contain technical data</span></b><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US"> </span><o:p></o:p></p>
</div>
</body>
</html>