<html><head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
  </head>
  <body>
    <p>I still do not know how I could print debug info to stdout, in a
      Squeak Plugin primitive. Hopefully I'll learn. This would be such
      a blessing! Please guide me!<br/>
    </p>
    <p>In the meantime, I have written all GF methods as primitives,
      including #decode:twoS:, #runEuclideanAlgorithm adn #dividePoly:,
      though these 3 are  not being called from the DecoderWithPlugin or
      GFPolyWithPlugin. The only new primitive is
      GFPoly>>#initializeFiled:coefficients:. Here are the
      numbers, with RSFEC Tests only.<br/>
    </p>
    <p>---</p>
    <blockquote>
      <p>WITH RSPlugin {RSFEC Tests}<br/>
        <br/>
         - 47765 tallies, 61320 msec.<br/>
        <br/>
        Overall performance increase with and without RSPlugin: 54%<br/>
        ((116473 - 53364) / 116473) asFloat * 100 54.183372970559695 <br/>
        <br/>
        Total WITH RSPlugin rates<br/>
        (13687 + 14730 + 24947) 53364 <br/>
      </p>
      <p>Without RSPlugin 116473</p>
      <p>RSFEC 53%<br/>
        ((13687 + 14730)/ 53364) asFloat * 100 53.25125552807136 <br/>
        Numerical 47%<br/>
        (24947 / 53364) asFloat * 100 46.748744471928646 <br/>
        <br/>
        **Leaves**<br/>
        Unpluginized<br/>
        (12303 + 1384)  13687 <br/>
        20.1% {12303ms} RSFECDecoderWithPlugin>>decode:twoS:<br/>
        2.3% {1384ms}
        RSFECDecoderWithPlugin>>runEuclideanAlgorithmPoly:poly:rDegrees:<br/>
        <br/>
        Pluginized<br/>
        (7532 +2877 + 2262 + 1200 + 859)  14730 <br/>
        12.3% {7532ms} RSFECGenericGFPoly
        class>>newField:coefficients:<br/>
        4.7% {2877ms}
RSFECDecoderWithPlugin>>primFindErrorLocationsDegree:coefficients:fieldSize:<br/>
        3.7% {2262ms}
        RSFECGenericGFPolyWithPlugin>>addOrSubtractPoly:<br/>
        2.0% {1200ms}
        RSFECDecoderWithPlugin>>findErrorMagnitudes:errorLocations:<br/>
        1.4% {859ms} RSFECGenericGFWithPlugin>>log:<br/>
        <br/>
        Numerical<br/>
        (4269 + 3571 + 2909 + 2820 + 2093 + 1602 + 1578 + 1530 + 1383 +
        877 + 847 + 815 + 653)  24947 <br/>
        7.0% {4269ms} LargePositiveInteger(Integer)>>bitShift:<br/>
        5.8% {3571ms} SecureHashAlgorithm>>finalHash<br/>
        4.7% {2909ms} ByteArray class(Behavior)>>new:<br/>
        4.6% {2820ms} LargePositiveInteger>>+<br/>
        3.4% {2093ms} IdentityDictionary(Dictionary)>>at:ifAbsent:<br/>
        2.6% {1602ms} ByteSymbol(Object)>>-><br/>
        2.6% {1578ms}
        WeakIdentityKeyDictionary(WeakKeyDictionary)>>at:ifAbsent:<br/>
        2.5% {1530ms} SecureHashAlgorithm>>hashInteger:seed:<br/>
        2.3% {1383ms} SecureRandom>>nextRandom160<br/>
        1.4% {877ms} SmallInteger(Magnitude)>>between:and:<br/>
        1.4% {847ms} ByteArray>>unsignedLongAt:put:bigEndian:<br/>
        1.3% {815ms} [] Delay>>wait<br/>
        1.1% {653ms} SmallInteger(Integer)>>timesRepeat:<br/>
        <br/>
      </p>
    </blockquote>
    <div class="moz-signature">-- <br/>
      ---<br/>
      Kindly,<br/>
      Robert<br/>
      <br/>
      <br/>
    </div>


</body></html>