LCOV - code coverage report
Current view: top level - ballet/reedsol - fd_reedsol_encode_64.c (source / functions) Hit Total Coverage
Test: cov.lcov Lines: 209 222 94.1 %
Date: 2024-11-13 11:58:15 Functions: 1 1 100.0 %

          Line data    Source code
       1             : /* Note: This file is auto generated. */
       2             : #include "fd_reedsol_ppt.h"
       3             : 
       4             : FD_FN_UNSANITIZED void
       5             : fd_reedsol_private_encode_64( ulong                 shred_sz,
       6             :                               uchar const * const * data_shred,
       7             :                               ulong                 data_shred_cnt,
       8             :                               uchar       * const * parity_shred,
       9      227154 :                               ulong                 parity_shred_cnt ) {
      10     7496082 :   for( ulong shred_pos=0UL; shred_pos<shred_sz; /* advanced manually at end of loop */ ) {
      11     7268928 :     gf_t in00 = gf_ldu( data_shred[  0 ] + shred_pos );  gf_t in01 = gf_ldu( data_shred[  1 ] + shred_pos );
      12     7268928 :     gf_t in02 = gf_ldu( data_shred[  2 ] + shred_pos );  gf_t in03 = gf_ldu( data_shred[  3 ] + shred_pos );
      13     7268928 :     gf_t in04 = gf_ldu( data_shred[  4 ] + shred_pos );  gf_t in05 = gf_ldu( data_shred[  5 ] + shred_pos );
      14     7268928 :     gf_t in06 = gf_ldu( data_shred[  6 ] + shred_pos );  gf_t in07 = gf_ldu( data_shred[  7 ] + shred_pos );
      15     7268928 :     gf_t in08 = gf_ldu( data_shred[  8 ] + shred_pos );  gf_t in09 = gf_ldu( data_shred[  9 ] + shred_pos );
      16     7268928 :     gf_t in10 = gf_ldu( data_shred[ 10 ] + shred_pos );  gf_t in11 = gf_ldu( data_shred[ 11 ] + shred_pos );
      17     7268928 :     gf_t in12 = gf_ldu( data_shred[ 12 ] + shred_pos );  gf_t in13 = gf_ldu( data_shred[ 13 ] + shred_pos );
      18     7268928 :     gf_t in14 = gf_ldu( data_shred[ 14 ] + shred_pos );  gf_t in15 = gf_ldu( data_shred[ 15 ] + shred_pos );
      19     7268928 :     gf_t in16 = gf_ldu( data_shred[ 16 ] + shred_pos );  gf_t in17 = gf_ldu( data_shred[ 17 ] + shred_pos );
      20     7268928 :     gf_t in18 = gf_ldu( data_shred[ 18 ] + shred_pos );  gf_t in19 = gf_ldu( data_shred[ 19 ] + shred_pos );
      21     7268928 :     gf_t in20 = gf_ldu( data_shred[ 20 ] + shred_pos );  gf_t in21 = gf_ldu( data_shred[ 21 ] + shred_pos );
      22     7268928 :     gf_t in22 = gf_ldu( data_shred[ 22 ] + shred_pos );  gf_t in23 = gf_ldu( data_shred[ 23 ] + shred_pos );
      23     7268928 :     gf_t in24 = gf_ldu( data_shred[ 24 ] + shred_pos );  gf_t in25 = gf_ldu( data_shred[ 25 ] + shred_pos );
      24     7268928 :     gf_t in26 = gf_ldu( data_shred[ 26 ] + shred_pos );  gf_t in27 = gf_ldu( data_shred[ 27 ] + shred_pos );
      25     7268928 :     gf_t in28 = gf_ldu( data_shred[ 28 ] + shred_pos );  gf_t in29 = gf_ldu( data_shred[ 29 ] + shred_pos );
      26     7268928 :     gf_t in30 = gf_ldu( data_shred[ 30 ] + shred_pos );  gf_t in31 = gf_ldu( data_shred[ 31 ] + shred_pos );
      27     7268928 :     gf_t in32 = gf_zero();  gf_t in33 = gf_zero();  gf_t in34 = gf_zero();  gf_t in35 = gf_zero();
      28     7268928 :     gf_t in36 = gf_zero();  gf_t in37 = gf_zero();  gf_t in38 = gf_zero();  gf_t in39 = gf_zero();
      29     7268928 :     gf_t in40 = gf_zero();  gf_t in41 = gf_zero();  gf_t in42 = gf_zero();  gf_t in43 = gf_zero();
      30     7268928 :     gf_t in44 = gf_zero();  gf_t in45 = gf_zero();  gf_t in46 = gf_zero();  gf_t in47 = gf_zero();
      31     7268928 :     gf_t in48 = gf_zero();  gf_t in49 = gf_zero();  gf_t in50 = gf_zero();  gf_t in51 = gf_zero();
      32     7268928 :     gf_t in52 = gf_zero();  gf_t in53 = gf_zero();  gf_t in54 = gf_zero();  gf_t in55 = gf_zero();
      33     7268928 :     gf_t in56 = gf_zero();  gf_t in57 = gf_zero();  gf_t in58 = gf_zero();  gf_t in59 = gf_zero();
      34     7268928 :     gf_t in60 = gf_zero();  gf_t in61 = gf_zero();  gf_t in62 = gf_zero();  gf_t in63 = gf_zero();
      35     7268928 :     switch( data_shred_cnt ) {
      36     1147200 :       case 64UL: in63 = gf_ldu( data_shred[ 63 ] + shred_pos ); FALLTHRU
      37     1334400 :       case 63UL: in62 = gf_ldu( data_shred[ 62 ] + shred_pos ); FALLTHRU
      38     1521600 :       case 62UL: in61 = gf_ldu( data_shred[ 61 ] + shred_pos ); FALLTHRU
      39     1708896 :       case 61UL: in60 = gf_ldu( data_shred[ 60 ] + shred_pos ); FALLTHRU
      40     1896192 :       case 60UL: in59 = gf_ldu( data_shred[ 59 ] + shred_pos ); FALLTHRU
      41     2083392 :       case 59UL: in58 = gf_ldu( data_shred[ 58 ] + shred_pos ); FALLTHRU
      42     2270688 :       case 58UL: in57 = gf_ldu( data_shred[ 57 ] + shred_pos ); FALLTHRU
      43     2457888 :       case 57UL: in56 = gf_ldu( data_shred[ 56 ] + shred_pos ); FALLTHRU
      44     2645088 :       case 56UL: in55 = gf_ldu( data_shred[ 55 ] + shred_pos ); FALLTHRU
      45     2832288 :       case 55UL: in54 = gf_ldu( data_shred[ 54 ] + shred_pos ); FALLTHRU
      46     3019488 :       case 54UL: in53 = gf_ldu( data_shred[ 53 ] + shred_pos ); FALLTHRU
      47     3206880 :       case 53UL: in52 = gf_ldu( data_shred[ 52 ] + shred_pos ); FALLTHRU
      48     3394080 :       case 52UL: in51 = gf_ldu( data_shred[ 51 ] + shred_pos ); FALLTHRU
      49     3581280 :       case 51UL: in50 = gf_ldu( data_shred[ 50 ] + shred_pos ); FALLTHRU
      50     3768576 :       case 50UL: in49 = gf_ldu( data_shred[ 49 ] + shred_pos ); FALLTHRU
      51     3955776 :       case 49UL: in48 = gf_ldu( data_shred[ 48 ] + shred_pos ); FALLTHRU
      52     4143264 :       case 48UL: in47 = gf_ldu( data_shred[ 47 ] + shred_pos ); FALLTHRU
      53     4330464 :       case 47UL: in46 = gf_ldu( data_shred[ 46 ] + shred_pos ); FALLTHRU
      54     4517952 :       case 46UL: in45 = gf_ldu( data_shred[ 45 ] + shred_pos ); FALLTHRU
      55     4705248 :       case 45UL: in44 = gf_ldu( data_shred[ 44 ] + shred_pos ); FALLTHRU
      56     4902144 :       case 44UL: in43 = gf_ldu( data_shred[ 43 ] + shred_pos ); FALLTHRU
      57     5089344 :       case 43UL: in42 = gf_ldu( data_shred[ 42 ] + shred_pos ); FALLTHRU
      58     5276544 :       case 42UL: in41 = gf_ldu( data_shred[ 41 ] + shred_pos ); FALLTHRU
      59     5463840 :       case 41UL: in40 = gf_ldu( data_shred[ 40 ] + shred_pos ); FALLTHRU
      60     5651040 :       case 40UL: in39 = gf_ldu( data_shred[ 39 ] + shred_pos ); FALLTHRU
      61     5838240 :       case 39UL: in38 = gf_ldu( data_shred[ 38 ] + shred_pos ); FALLTHRU
      62     6048960 :       case 38UL: in37 = gf_ldu( data_shred[ 37 ] + shred_pos ); FALLTHRU
      63     6329952 :       case 37UL: in36 = gf_ldu( data_shred[ 36 ] + shred_pos ); FALLTHRU
      64     6610752 :       case 36UL: in35 = gf_ldu( data_shred[ 35 ] + shred_pos ); FALLTHRU
      65     6891552 :       case 35UL: in34 = gf_ldu( data_shred[ 34 ] + shred_pos ); FALLTHRU
      66     7172448 :       case 34UL: in33 = gf_ldu( data_shred[ 33 ] + shred_pos ); FALLTHRU
      67     7268928 :       case 33UL: in32 = gf_ldu( data_shred[ 32 ] + shred_pos );
      68     7268928 :     }
      69     7268928 :     #define ALL_VARS in00, in01, in02, in03, in04, in05, in06, in07, in08, in09, in10, in11, in12, in13, in14, in15, in16, in17, in18, in19, in20, in21, in22, in23, in24, in25, in26, in27, in28, in29, in30, in31, in32, in33, in34, in35, in36, in37, in38, in39, in40, in41, in42, in43, in44, in45, in46, in47, in48, in49, in50, in51, in52, in53, in54, in55, in56, in57, in58, in59, in60, in61, in62, in63
      70     7268928 :     #define ALL_VARS_REF &in00, &in01, &in02, &in03, &in04, &in05, &in06, &in07, &in08, &in09, &in10, &in11, &in12, &in13, &in14, &in15, &in16, &in17, &in18, &in19, &in20, &in21, &in22, &in23, &in24, &in25, &in26, &in27, &in28, &in29, &in30, &in31, &in32, &in33, &in34, &in35, &in36, &in37, &in38, &in39, &in40, &in41, &in42, &in43, &in44, &in45, &in46, &in47, &in48, &in49, &in50, &in51, &in52, &in53, &in54, &in55, &in56, &in57, &in58, &in59, &in60, &in61, &in62, &in63
      71     7268928 :     switch( data_shred_cnt ) {
      72     1147200 :       case 64UL: FD_REEDSOL_GENERATE_IFFT( 64,  0, ALL_VARS ); break;
      73      187200 :       case 63UL: fd_reedsol_ppt_64_63( ALL_VARS_REF ); break;
      74      187200 :       case 62UL: fd_reedsol_ppt_64_62( ALL_VARS_REF ); break;
      75      187296 :       case 61UL: fd_reedsol_ppt_64_61( ALL_VARS_REF ); break;
      76      187296 :       case 60UL: fd_reedsol_ppt_64_60( ALL_VARS_REF ); break;
      77      187200 :       case 59UL: fd_reedsol_ppt_64_59( ALL_VARS_REF ); break;
      78      187296 :       case 58UL: fd_reedsol_ppt_64_58( ALL_VARS_REF ); break;
      79      187200 :       case 57UL: fd_reedsol_ppt_64_57( ALL_VARS_REF ); break;
      80      187200 :       case 56UL: fd_reedsol_ppt_64_56( ALL_VARS_REF ); break;
      81      187200 :       case 55UL: fd_reedsol_ppt_64_55( ALL_VARS_REF ); break;
      82      187200 :       case 54UL: fd_reedsol_ppt_64_54( ALL_VARS_REF ); break;
      83      187392 :       case 53UL: fd_reedsol_ppt_64_53( ALL_VARS_REF ); break;
      84      187200 :       case 52UL: fd_reedsol_ppt_64_52( ALL_VARS_REF ); break;
      85      187200 :       case 51UL: fd_reedsol_ppt_64_51( ALL_VARS_REF ); break;
      86      187296 :       case 50UL: fd_reedsol_ppt_64_50( ALL_VARS_REF ); break;
      87      187200 :       case 49UL: fd_reedsol_ppt_64_49( ALL_VARS_REF ); break;
      88      187488 :       case 48UL: fd_reedsol_ppt_64_48( ALL_VARS_REF ); break;
      89      187200 :       case 47UL: fd_reedsol_ppt_64_47( ALL_VARS_REF ); break;
      90      187488 :       case 46UL: fd_reedsol_ppt_64_46( ALL_VARS_REF ); break;
      91      187296 :       case 45UL: fd_reedsol_ppt_64_45( ALL_VARS_REF ); break;
      92      196896 :       case 44UL: fd_reedsol_ppt_64_44( ALL_VARS_REF ); break;
      93      187200 :       case 43UL: fd_reedsol_ppt_64_43( ALL_VARS_REF ); break;
      94      187200 :       case 42UL: fd_reedsol_ppt_64_42( ALL_VARS_REF ); break;
      95      187296 :       case 41UL: fd_reedsol_ppt_64_41( ALL_VARS_REF ); break;
      96      187200 :       case 40UL: fd_reedsol_ppt_64_40( ALL_VARS_REF ); break;
      97      187200 :       case 39UL: fd_reedsol_ppt_64_39( ALL_VARS_REF ); break;
      98      210720 :       case 38UL: fd_reedsol_ppt_64_38( ALL_VARS_REF ); break;
      99      280992 :       case 37UL: fd_reedsol_ppt_64_37( ALL_VARS_REF ); break;
     100      280800 :       case 36UL: fd_reedsol_ppt_64_36( ALL_VARS_REF ); break;
     101      280800 :       case 35UL: fd_reedsol_ppt_64_35( ALL_VARS_REF ); break;
     102      280896 :       case 34UL: fd_reedsol_ppt_64_34( ALL_VARS_REF ); break;
     103       96480 :       case 33UL: fd_reedsol_ppt_64_33( ALL_VARS_REF ); break;
     104     7268928 :     }
     105             :     /* That generated the first 64-data_shred_cnt parity shreds in the
     106             :        last 64-data_shred_cnt variables. We might only need
     107             :        parity_shred_cnt of them though. */
     108     7268928 :     ulong total_shreds = data_shred_cnt+parity_shred_cnt;
     109     7268928 :     switch( data_shred_cnt ) {
     110       96480 :       case 33UL: if( total_shreds <= 33UL ) break; gf_stu( parity_shred[ 33UL-data_shred_cnt ] + shred_pos, in33 ); in33 = gf_zero(); FALLTHRU
     111      377376 :       case 34UL: if( total_shreds <= 34UL ) break; gf_stu( parity_shred[ 34UL-data_shred_cnt ] + shred_pos, in34 ); in34 = gf_zero(); FALLTHRU
     112      658176 :       case 35UL: if( total_shreds <= 35UL ) break; gf_stu( parity_shred[ 35UL-data_shred_cnt ] + shred_pos, in35 ); in35 = gf_zero(); FALLTHRU
     113      938976 :       case 36UL: if( total_shreds <= 36UL ) break; gf_stu( parity_shred[ 36UL-data_shred_cnt ] + shred_pos, in36 ); in36 = gf_zero(); FALLTHRU
     114     1219968 :       case 37UL: if( total_shreds <= 37UL ) break; gf_stu( parity_shred[ 37UL-data_shred_cnt ] + shred_pos, in37 ); in37 = gf_zero(); FALLTHRU
     115     1430688 :       case 38UL: if( total_shreds <= 38UL ) break; gf_stu( parity_shred[ 38UL-data_shred_cnt ] + shred_pos, in38 ); in38 = gf_zero(); FALLTHRU
     116     1617888 :       case 39UL: if( total_shreds <= 39UL ) break; gf_stu( parity_shred[ 39UL-data_shred_cnt ] + shred_pos, in39 ); in39 = gf_zero(); FALLTHRU
     117     1805088 :       case 40UL: if( total_shreds <= 40UL ) break; gf_stu( parity_shred[ 40UL-data_shred_cnt ] + shred_pos, in40 ); in40 = gf_zero(); FALLTHRU
     118     1992384 :       case 41UL: if( total_shreds <= 41UL ) break; gf_stu( parity_shred[ 41UL-data_shred_cnt ] + shred_pos, in41 ); in41 = gf_zero(); FALLTHRU
     119     2179584 :       case 42UL: if( total_shreds <= 42UL ) break; gf_stu( parity_shred[ 42UL-data_shred_cnt ] + shred_pos, in42 ); in42 = gf_zero(); FALLTHRU
     120     2366784 :       case 43UL: if( total_shreds <= 43UL ) break; gf_stu( parity_shred[ 43UL-data_shred_cnt ] + shred_pos, in43 ); in43 = gf_zero(); FALLTHRU
     121     2563680 :       case 44UL: if( total_shreds <= 44UL ) break; gf_stu( parity_shred[ 44UL-data_shred_cnt ] + shred_pos, in44 ); in44 = gf_zero(); FALLTHRU
     122     2750976 :       case 45UL: if( total_shreds <= 45UL ) break; gf_stu( parity_shred[ 45UL-data_shred_cnt ] + shred_pos, in45 ); in45 = gf_zero(); FALLTHRU
     123     2938464 :       case 46UL: if( total_shreds <= 46UL ) break; gf_stu( parity_shred[ 46UL-data_shred_cnt ] + shred_pos, in46 ); in46 = gf_zero(); FALLTHRU
     124     3125664 :       case 47UL: if( total_shreds <= 47UL ) break; gf_stu( parity_shred[ 47UL-data_shred_cnt ] + shred_pos, in47 ); in47 = gf_zero(); FALLTHRU
     125     3313152 :       case 48UL: if( total_shreds <= 48UL ) break; gf_stu( parity_shred[ 48UL-data_shred_cnt ] + shred_pos, in48 ); in48 = gf_zero(); FALLTHRU
     126     3500352 :       case 49UL: if( total_shreds <= 49UL ) break; gf_stu( parity_shred[ 49UL-data_shred_cnt ] + shred_pos, in49 ); in49 = gf_zero(); FALLTHRU
     127     3687648 :       case 50UL: if( total_shreds <= 50UL ) break; gf_stu( parity_shred[ 50UL-data_shred_cnt ] + shred_pos, in50 ); in50 = gf_zero(); FALLTHRU
     128     3874848 :       case 51UL: if( total_shreds <= 51UL ) break; gf_stu( parity_shred[ 51UL-data_shred_cnt ] + shred_pos, in51 ); in51 = gf_zero(); FALLTHRU
     129     4062048 :       case 52UL: if( total_shreds <= 52UL ) break; gf_stu( parity_shred[ 52UL-data_shred_cnt ] + shred_pos, in52 ); in52 = gf_zero(); FALLTHRU
     130     4249440 :       case 53UL: if( total_shreds <= 53UL ) break; gf_stu( parity_shred[ 53UL-data_shred_cnt ] + shred_pos, in53 ); in53 = gf_zero(); FALLTHRU
     131     4436640 :       case 54UL: if( total_shreds <= 54UL ) break; gf_stu( parity_shred[ 54UL-data_shred_cnt ] + shred_pos, in54 ); in54 = gf_zero(); FALLTHRU
     132     4623840 :       case 55UL: if( total_shreds <= 55UL ) break; gf_stu( parity_shred[ 55UL-data_shred_cnt ] + shred_pos, in55 ); in55 = gf_zero(); FALLTHRU
     133     4811040 :       case 56UL: if( total_shreds <= 56UL ) break; gf_stu( parity_shred[ 56UL-data_shred_cnt ] + shred_pos, in56 ); in56 = gf_zero(); FALLTHRU
     134     4998240 :       case 57UL: if( total_shreds <= 57UL ) break; gf_stu( parity_shred[ 57UL-data_shred_cnt ] + shred_pos, in57 ); in57 = gf_zero(); FALLTHRU
     135     5185536 :       case 58UL: if( total_shreds <= 58UL ) break; gf_stu( parity_shred[ 58UL-data_shred_cnt ] + shred_pos, in58 ); in58 = gf_zero(); FALLTHRU
     136     5372736 :       case 59UL: if( total_shreds <= 59UL ) break; gf_stu( parity_shred[ 59UL-data_shred_cnt ] + shred_pos, in59 ); in59 = gf_zero(); FALLTHRU
     137     5560032 :       case 60UL: if( total_shreds <= 60UL ) break; gf_stu( parity_shred[ 60UL-data_shred_cnt ] + shred_pos, in60 ); in60 = gf_zero(); FALLTHRU
     138     5747328 :       case 61UL: if( total_shreds <= 61UL ) break; gf_stu( parity_shred[ 61UL-data_shred_cnt ] + shred_pos, in61 ); in61 = gf_zero(); FALLTHRU
     139     5934528 :       case 62UL: if( total_shreds <= 62UL ) break; gf_stu( parity_shred[ 62UL-data_shred_cnt ] + shred_pos, in62 ); in62 = gf_zero(); FALLTHRU
     140     6121728 :       case 63UL: if( total_shreds <= 63UL ) break; gf_stu( parity_shred[ 63UL-data_shred_cnt ] + shred_pos, in63 ); in63 = gf_zero();
     141     7268928 :     }
     142     7268928 :     ulong parity_produced  = fd_ulong_min( 64UL - data_shred_cnt, parity_shred_cnt );
     143     7268928 :     ulong parity_remaining = parity_shred_cnt - parity_produced;
     144     7268928 :     if( FD_UNLIKELY( parity_remaining>0UL ) ) {
     145             :       /* Produce another 64 parity shreds */
     146     7268928 :       FD_REEDSOL_GENERATE_FFT(  64, 64, ALL_VARS );
     147     7268928 :       switch( parity_remaining ) {
     148           0 :         default:
     149     1147200 :         case 64UL: gf_stu( parity_shred[ 63UL+parity_produced ] + shred_pos, in63 ); FALLTHRU
     150     1147200 :         case 63UL: gf_stu( parity_shred[ 62UL+parity_produced ] + shred_pos, in62 ); FALLTHRU
     151     1334400 :         case 62UL: gf_stu( parity_shred[ 61UL+parity_produced ] + shred_pos, in61 ); FALLTHRU
     152     1334400 :         case 61UL: gf_stu( parity_shred[ 60UL+parity_produced ] + shred_pos, in60 ); FALLTHRU
     153     1521600 :         case 60UL: gf_stu( parity_shred[ 59UL+parity_produced ] + shred_pos, in59 ); FALLTHRU
     154     1521600 :         case 59UL: gf_stu( parity_shred[ 58UL+parity_produced ] + shred_pos, in58 ); FALLTHRU
     155     1708896 :         case 58UL: gf_stu( parity_shred[ 57UL+parity_produced ] + shred_pos, in57 ); FALLTHRU
     156     1708896 :         case 57UL: gf_stu( parity_shred[ 56UL+parity_produced ] + shred_pos, in56 ); FALLTHRU
     157     1896192 :         case 56UL: gf_stu( parity_shred[ 55UL+parity_produced ] + shred_pos, in55 ); FALLTHRU
     158     1896192 :         case 55UL: gf_stu( parity_shred[ 54UL+parity_produced ] + shred_pos, in54 ); FALLTHRU
     159     2083392 :         case 54UL: gf_stu( parity_shred[ 53UL+parity_produced ] + shred_pos, in53 ); FALLTHRU
     160     2083392 :         case 53UL: gf_stu( parity_shred[ 52UL+parity_produced ] + shred_pos, in52 ); FALLTHRU
     161     2270688 :         case 52UL: gf_stu( parity_shred[ 51UL+parity_produced ] + shred_pos, in51 ); FALLTHRU
     162     2270688 :         case 51UL: gf_stu( parity_shred[ 50UL+parity_produced ] + shred_pos, in50 ); FALLTHRU
     163     2457888 :         case 50UL: gf_stu( parity_shred[ 49UL+parity_produced ] + shred_pos, in49 ); FALLTHRU
     164     2457888 :         case 49UL: gf_stu( parity_shred[ 48UL+parity_produced ] + shred_pos, in48 ); FALLTHRU
     165     2645088 :         case 48UL: gf_stu( parity_shred[ 47UL+parity_produced ] + shred_pos, in47 ); FALLTHRU
     166     2645088 :         case 47UL: gf_stu( parity_shred[ 46UL+parity_produced ] + shred_pos, in46 ); FALLTHRU
     167     2832288 :         case 46UL: gf_stu( parity_shred[ 45UL+parity_produced ] + shred_pos, in45 ); FALLTHRU
     168     2832288 :         case 45UL: gf_stu( parity_shred[ 44UL+parity_produced ] + shred_pos, in44 ); FALLTHRU
     169     3019488 :         case 44UL: gf_stu( parity_shred[ 43UL+parity_produced ] + shred_pos, in43 ); FALLTHRU
     170     3019488 :         case 43UL: gf_stu( parity_shred[ 42UL+parity_produced ] + shred_pos, in42 ); FALLTHRU
     171     3206880 :         case 42UL: gf_stu( parity_shred[ 41UL+parity_produced ] + shred_pos, in41 ); FALLTHRU
     172     3206880 :         case 41UL: gf_stu( parity_shred[ 40UL+parity_produced ] + shred_pos, in40 ); FALLTHRU
     173     3394080 :         case 40UL: gf_stu( parity_shred[ 39UL+parity_produced ] + shred_pos, in39 ); FALLTHRU
     174     3394080 :         case 39UL: gf_stu( parity_shred[ 38UL+parity_produced ] + shred_pos, in38 ); FALLTHRU
     175     3581280 :         case 38UL: gf_stu( parity_shred[ 37UL+parity_produced ] + shred_pos, in37 ); FALLTHRU
     176     3581280 :         case 37UL: gf_stu( parity_shred[ 36UL+parity_produced ] + shred_pos, in36 ); FALLTHRU
     177     3768576 :         case 36UL: gf_stu( parity_shred[ 35UL+parity_produced ] + shred_pos, in35 ); FALLTHRU
     178     3768576 :         case 35UL: gf_stu( parity_shred[ 34UL+parity_produced ] + shred_pos, in34 ); FALLTHRU
     179     3955776 :         case 34UL: gf_stu( parity_shred[ 33UL+parity_produced ] + shred_pos, in33 ); FALLTHRU
     180     3955776 :         case 33UL: gf_stu( parity_shred[ 32UL+parity_produced ] + shred_pos, in32 ); FALLTHRU
     181     4143264 :         case 32UL: gf_stu( parity_shred[ 31UL+parity_produced ] + shred_pos, in31 ); FALLTHRU
     182     4143264 :         case 31UL: gf_stu( parity_shred[ 30UL+parity_produced ] + shred_pos, in30 ); FALLTHRU
     183     4330464 :         case 30UL: gf_stu( parity_shred[ 29UL+parity_produced ] + shred_pos, in29 ); FALLTHRU
     184     4330464 :         case 29UL: gf_stu( parity_shred[ 28UL+parity_produced ] + shred_pos, in28 ); FALLTHRU
     185     4517952 :         case 28UL: gf_stu( parity_shred[ 27UL+parity_produced ] + shred_pos, in27 ); FALLTHRU
     186     4517952 :         case 27UL: gf_stu( parity_shred[ 26UL+parity_produced ] + shred_pos, in26 ); FALLTHRU
     187     4705248 :         case 26UL: gf_stu( parity_shred[ 25UL+parity_produced ] + shred_pos, in25 ); FALLTHRU
     188     4705248 :         case 25UL: gf_stu( parity_shred[ 24UL+parity_produced ] + shred_pos, in24 ); FALLTHRU
     189     4902144 :         case 24UL: gf_stu( parity_shred[ 23UL+parity_produced ] + shred_pos, in23 ); FALLTHRU
     190     4902144 :         case 23UL: gf_stu( parity_shred[ 22UL+parity_produced ] + shred_pos, in22 ); FALLTHRU
     191     5089344 :         case 22UL: gf_stu( parity_shred[ 21UL+parity_produced ] + shred_pos, in21 ); FALLTHRU
     192     5089344 :         case 21UL: gf_stu( parity_shred[ 20UL+parity_produced ] + shred_pos, in20 ); FALLTHRU
     193     5276544 :         case 20UL: gf_stu( parity_shred[ 19UL+parity_produced ] + shred_pos, in19 ); FALLTHRU
     194     5276544 :         case 19UL: gf_stu( parity_shred[ 18UL+parity_produced ] + shred_pos, in18 ); FALLTHRU
     195     5463840 :         case 18UL: gf_stu( parity_shred[ 17UL+parity_produced ] + shred_pos, in17 ); FALLTHRU
     196     5463840 :         case 17UL: gf_stu( parity_shred[ 16UL+parity_produced ] + shred_pos, in16 ); FALLTHRU
     197     5651040 :         case 16UL: gf_stu( parity_shred[ 15UL+parity_produced ] + shred_pos, in15 ); FALLTHRU
     198     5651040 :         case 15UL: gf_stu( parity_shred[ 14UL+parity_produced ] + shred_pos, in14 ); FALLTHRU
     199     5838240 :         case 14UL: gf_stu( parity_shred[ 13UL+parity_produced ] + shred_pos, in13 ); FALLTHRU
     200     5838240 :         case 13UL: gf_stu( parity_shred[ 12UL+parity_produced ] + shred_pos, in12 ); FALLTHRU
     201     6048960 :         case 12UL: gf_stu( parity_shred[ 11UL+parity_produced ] + shred_pos, in11 ); FALLTHRU
     202     6048960 :         case 11UL: gf_stu( parity_shred[ 10UL+parity_produced ] + shred_pos, in10 ); FALLTHRU
     203     6329952 :         case 10UL: gf_stu( parity_shred[  9UL+parity_produced ] + shred_pos, in09 ); FALLTHRU
     204     6329952 :         case  9UL: gf_stu( parity_shred[  8UL+parity_produced ] + shred_pos, in08 ); FALLTHRU
     205     6610752 :         case  8UL: gf_stu( parity_shred[  7UL+parity_produced ] + shred_pos, in07 ); FALLTHRU
     206     6610752 :         case  7UL: gf_stu( parity_shred[  6UL+parity_produced ] + shred_pos, in06 ); FALLTHRU
     207     6891552 :         case  6UL: gf_stu( parity_shred[  5UL+parity_produced ] + shred_pos, in05 ); FALLTHRU
     208     6891552 :         case  5UL: gf_stu( parity_shred[  4UL+parity_produced ] + shred_pos, in04 ); FALLTHRU
     209     7172448 :         case  4UL: gf_stu( parity_shred[  3UL+parity_produced ] + shred_pos, in03 ); FALLTHRU
     210     7172448 :         case  3UL: gf_stu( parity_shred[  2UL+parity_produced ] + shred_pos, in02 ); FALLTHRU
     211     7268928 :         case  2UL: gf_stu( parity_shred[  1UL+parity_produced ] + shred_pos, in01 ); FALLTHRU
     212     7268928 :         case  1UL: gf_stu( parity_shred[  0UL+parity_produced ] + shred_pos, in00 );
     213     7268928 :       }
     214     7268928 :       parity_produced += fd_ulong_min( 64UL, parity_remaining );
     215     7268928 :       parity_remaining = parity_shred_cnt - parity_produced;
     216     7268928 :     }
     217     7268928 :     if( FD_UNLIKELY( parity_remaining>0UL ) ) {
     218             :       /* Produce another 64 parity shreds */
     219           0 :       FD_REEDSOL_GENERATE_IFFT( 64, 64, ALL_VARS );
     220           0 :       FD_REEDSOL_GENERATE_FFT(  64, 128, ALL_VARS );
     221           0 :       switch( parity_remaining ) {
     222           0 :         default:
     223           0 :         case  4UL: gf_stu( parity_shred[  3UL+parity_produced ] + shred_pos, in03 ); FALLTHRU
     224           0 :         case  3UL: gf_stu( parity_shred[  2UL+parity_produced ] + shred_pos, in02 ); FALLTHRU
     225           0 :         case  2UL: gf_stu( parity_shred[  1UL+parity_produced ] + shred_pos, in01 ); FALLTHRU
     226           0 :         case  1UL: gf_stu( parity_shred[  0UL+parity_produced ] + shred_pos, in00 );
     227           0 :       }
     228           0 :       parity_produced += fd_ulong_min( 4UL, parity_remaining );
     229           0 :       parity_remaining = parity_shred_cnt - parity_produced;
     230           0 :     }
     231     7268928 :     #undef ALL_VARS
     232             :     /* In order to handle shred sizes that are not divisible by 32, we clamp
     233             :        shred_pos to shred_sz-32 when shred_sz-32<shred_pos<shred_sz
     234             :        (after the increment). */
     235     7268928 :     shred_pos += GF_WIDTH;
     236     7268928 :     shred_pos = fd_ulong_if( ((shred_sz-GF_WIDTH)<shred_pos) & (shred_pos<shred_sz), shred_sz-GF_WIDTH, shred_pos );
     237     7268928 :   }
     238      227154 : }

Generated by: LCOV version 1.14