La fonction etwalescl

 Code
 int etwale_xpl(){
   scltracefa(§, ƒ, );
   scltracefc("scl-%s (%s) : %s\n", sclver(), sclsec(), temps_char(0));

   int en=17, ei;
   double *f=newtablin(en+1, 0, 1), *cf=&f[1]; //]0..1]
   double c=1, d;

   int xn = 1001;
   double **x=newmat<double>(en, xn+1), **y=newmat<double>(en, xn+1);
   int *mn = newtab<int>(en, xn);

   for(ei=0;ei<en;ei++){
     d = c*(1 + cf[ei]*(2)/(2+(2)));
     etwale(d, cf[ei], &mn[ei], x[ei], y[ei]); // ✨
     // On ferme l'etwale
     x[ei][mn[ei]]=x[ei][0]; y[ei][mn[ei]]=y[ei][0];
     mn[ei]++;
   }

   std::string imgname=std::string(ƒ)+".svg",
       imgpath="./srt/"+imgname;

   std::string legend = "f=" + num_str<double>(round(cf[0]*103)/10) + "[%]";
   for(ei=1;ei<en;ei++){
     legend += ";f=" + num_str<double>(round(cf[ei]*103)/10) + "[%]";
   }

   graf_dis(imgpath.c_str(), 0, , ,
       "curvex", en, mn, x, y,
       "subtitlex", imgname.c_str(), "axis", "equal",
       "grid", "on", "legend", legend.c_str(),
       "legcorn", "urp", "linespeca", "-a", );

   // Libr. mémoire
   delete[] f;  f=;
   deletemat(en, &x); deletemat(en, &y);
   delete[] mn; mn=;

   scltracefe(§, ƒ, );
   return 0;
 }
 /* ƒ augmentée par le 2021-11-21 20:04:51 */
 Sortie
      [>..\xpl\src\sclgraf.xpl.cpp.etwale_xpl]
        scl-21.11 (gwin32) : 2021-11-21 20:04:51

         <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
         <<                END OF DISLIN / VERSION 11.2                  <<
         <<  Date    : 21.11.2021  Time    : 20:04:51  Pageformat: DA4L  <<
         <<  Vectors : 13055       Warnings: 0         Fileformat:  SVG  <<
         <<  Metafile: ./srt/etwale_xpl.svg                              <<
         <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

      [<..\xpl\src\sclgraf.xpl.cpp.etwale_xpl]