29#if defined(SPANDSP_USE_FIXED_POINTx) 
   30#define FP_SCALE(x)     ((int16_t) x) 
   32#define FP_SCALE(x)     (x) 
   36#if defined(SPANDSP_USE_FIXED_POINTx) 
   37static const complexi16_t v17_v32bis_14400_constellation[128] =
 
   39static const complexf_t v17_v32bis_14400_constellation[128] =
 
   42    {FP_SCALE(-8.0f), FP_SCALE(-3.0f)},         
 
   43    {FP_SCALE( 9.0f), FP_SCALE( 2.0f)},         
 
   44    {FP_SCALE( 2.0f), FP_SCALE(-9.0f)},         
 
   45    {FP_SCALE(-3.0f), FP_SCALE( 8.0f)},         
 
   46    {FP_SCALE( 8.0f), FP_SCALE( 3.0f)},         
 
   47    {FP_SCALE(-9.0f), FP_SCALE(-2.0f)},         
 
   48    {FP_SCALE(-2.0f), FP_SCALE( 9.0f)},         
 
   49    {FP_SCALE( 3.0f), FP_SCALE(-8.0f)},         
 
   50    {FP_SCALE(-8.0f), FP_SCALE( 1.0f)},         
 
   51    {FP_SCALE( 9.0f), FP_SCALE(-2.0f)},         
 
   52    {FP_SCALE(-2.0f), FP_SCALE(-9.0f)},         
 
   53    {FP_SCALE( 1.0f), FP_SCALE( 8.0f)},         
 
   54    {FP_SCALE( 8.0f), FP_SCALE(-1.0f)},         
 
   55    {FP_SCALE(-9.0f), FP_SCALE( 2.0f)},         
 
   56    {FP_SCALE( 2.0f), FP_SCALE( 9.0f)},         
 
   57    {FP_SCALE(-1.0f), FP_SCALE(-8.0f)},         
 
   58    {FP_SCALE(-4.0f), FP_SCALE(-3.0f)},         
 
   59    {FP_SCALE( 5.0f), FP_SCALE( 2.0f)},         
 
   60    {FP_SCALE( 2.0f), FP_SCALE(-5.0f)},         
 
   61    {FP_SCALE(-3.0f), FP_SCALE( 4.0f)},         
 
   62    {FP_SCALE( 4.0f), FP_SCALE( 3.0f)},         
 
   63    {FP_SCALE(-5.0f), FP_SCALE(-2.0f)},         
 
   64    {FP_SCALE(-2.0f), FP_SCALE( 5.0f)},         
 
   65    {FP_SCALE( 3.0f), FP_SCALE(-4.0f)},         
 
   66    {FP_SCALE(-4.0f), FP_SCALE( 1.0f)},         
 
   67    {FP_SCALE( 5.0f), FP_SCALE(-2.0f)},         
 
   68    {FP_SCALE(-2.0f), FP_SCALE(-5.0f)},         
 
   69    {FP_SCALE( 1.0f), FP_SCALE( 4.0f)},         
 
   70    {FP_SCALE( 4.0f), FP_SCALE(-1.0f)},         
 
   71    {FP_SCALE(-5.0f), FP_SCALE( 2.0f)},         
 
   72    {FP_SCALE( 2.0f), FP_SCALE( 5.0f)},         
 
   73    {FP_SCALE(-1.0f), FP_SCALE(-4.0f)},         
 
   74    {FP_SCALE( 4.0f), FP_SCALE(-3.0f)},         
 
   75    {FP_SCALE(-3.0f), FP_SCALE( 2.0f)},         
 
   76    {FP_SCALE( 2.0f), FP_SCALE( 3.0f)},         
 
   77    {FP_SCALE(-3.0f), FP_SCALE(-4.0f)},         
 
   78    {FP_SCALE(-4.0f), FP_SCALE( 3.0f)},         
 
   79    {FP_SCALE( 3.0f), FP_SCALE(-2.0f)},         
 
   80    {FP_SCALE(-2.0f), FP_SCALE(-3.0f)},         
 
   81    {FP_SCALE( 3.0f), FP_SCALE( 4.0f)},         
 
   82    {FP_SCALE( 4.0f), FP_SCALE( 1.0f)},         
 
   83    {FP_SCALE(-3.0f), FP_SCALE(-2.0f)},         
 
   84    {FP_SCALE(-2.0f), FP_SCALE( 3.0f)},         
 
   85    {FP_SCALE( 1.0f), FP_SCALE(-4.0f)},         
 
   86    {FP_SCALE(-4.0f), FP_SCALE(-1.0f)},         
 
   87    {FP_SCALE( 3.0f), FP_SCALE( 2.0f)},         
 
   88    {FP_SCALE( 2.0f), FP_SCALE(-3.0f)},         
 
   89    {FP_SCALE(-1.0f), FP_SCALE( 4.0f)},         
 
   90    {FP_SCALE( 0.0f), FP_SCALE(-3.0f)},         
 
   91    {FP_SCALE( 1.0f), FP_SCALE( 2.0f)},         
 
   92    {FP_SCALE( 2.0f), FP_SCALE(-1.0f)},         
 
   93    {FP_SCALE(-3.0f), FP_SCALE( 0.0f)},         
 
   94    {FP_SCALE( 0.0f), FP_SCALE( 3.0f)},         
 
   95    {FP_SCALE(-1.0f), FP_SCALE(-2.0f)},         
 
   96    {FP_SCALE(-2.0f), FP_SCALE( 1.0f)},         
 
   97    {FP_SCALE( 3.0f), FP_SCALE( 0.0f)},         
 
   98    {FP_SCALE( 0.0f), FP_SCALE( 1.0f)},         
 
   99    {FP_SCALE( 1.0f), FP_SCALE(-2.0f)},         
 
  100    {FP_SCALE(-2.0f), FP_SCALE(-1.0f)},         
 
  101    {FP_SCALE( 1.0f), FP_SCALE( 0.0f)},         
 
  102    {FP_SCALE( 0.0f), FP_SCALE(-1.0f)},         
 
  103    {FP_SCALE(-1.0f), FP_SCALE( 2.0f)},         
 
  104    {FP_SCALE( 2.0f), FP_SCALE( 1.0f)},         
 
  105    {FP_SCALE(-1.0f), FP_SCALE( 0.0f)},         
 
  106    {FP_SCALE( 8.0f), FP_SCALE(-3.0f)},         
 
  107    {FP_SCALE(-7.0f), FP_SCALE( 2.0f)},         
 
  108    {FP_SCALE( 2.0f), FP_SCALE( 7.0f)},         
 
  109    {FP_SCALE(-3.0f), FP_SCALE(-8.0f)},         
 
  110    {FP_SCALE(-8.0f), FP_SCALE( 3.0f)},         
 
  111    {FP_SCALE( 7.0f), FP_SCALE(-2.0f)},         
 
  112    {FP_SCALE(-2.0f), FP_SCALE(-7.0f)},         
 
  113    {FP_SCALE( 3.0f), FP_SCALE( 8.0f)},         
 
  114    {FP_SCALE( 8.0f), FP_SCALE( 1.0f)},         
 
  115    {FP_SCALE(-7.0f), FP_SCALE(-2.0f)},         
 
  116    {FP_SCALE(-2.0f), FP_SCALE( 7.0f)},         
 
  117    {FP_SCALE( 1.0f), FP_SCALE(-8.0f)},         
 
  118    {FP_SCALE(-8.0f), FP_SCALE(-1.0f)},         
 
  119    {FP_SCALE( 7.0f), FP_SCALE( 2.0f)},         
 
  120    {FP_SCALE( 2.0f), FP_SCALE(-7.0f)},         
 
  121    {FP_SCALE(-1.0f), FP_SCALE( 8.0f)},         
 
  122    {FP_SCALE(-4.0f), FP_SCALE(-7.0f)},         
 
  123    {FP_SCALE( 5.0f), FP_SCALE( 6.0f)},         
 
  124    {FP_SCALE( 6.0f), FP_SCALE(-5.0f)},         
 
  125    {FP_SCALE(-7.0f), FP_SCALE( 4.0f)},         
 
  126    {FP_SCALE( 4.0f), FP_SCALE( 7.0f)},         
 
  127    {FP_SCALE(-5.0f), FP_SCALE(-6.0f)},         
 
  128    {FP_SCALE(-6.0f), FP_SCALE( 5.0f)},         
 
  129    {FP_SCALE( 7.0f), FP_SCALE(-4.0f)},         
 
  130    {FP_SCALE(-4.0f), FP_SCALE( 5.0f)},         
 
  131    {FP_SCALE( 5.0f), FP_SCALE(-6.0f)},         
 
  132    {FP_SCALE(-6.0f), FP_SCALE(-5.0f)},         
 
  133    {FP_SCALE( 5.0f), FP_SCALE( 4.0f)},         
 
  134    {FP_SCALE( 4.0f), FP_SCALE(-5.0f)},         
 
  135    {FP_SCALE(-5.0f), FP_SCALE( 6.0f)},         
 
  136    {FP_SCALE( 6.0f), FP_SCALE( 5.0f)},         
 
  137    {FP_SCALE(-5.0f), FP_SCALE(-4.0f)},         
 
  138    {FP_SCALE( 4.0f), FP_SCALE(-7.0f)},         
 
  139    {FP_SCALE(-3.0f), FP_SCALE( 6.0f)},         
 
  140    {FP_SCALE( 6.0f), FP_SCALE( 3.0f)},         
 
  141    {FP_SCALE(-7.0f), FP_SCALE(-4.0f)},         
 
  142    {FP_SCALE(-4.0f), FP_SCALE( 7.0f)},         
 
  143    {FP_SCALE( 3.0f), FP_SCALE(-6.0f)},         
 
  144    {FP_SCALE(-6.0f), FP_SCALE(-3.0f)},         
 
  145    {FP_SCALE( 7.0f), FP_SCALE( 4.0f)},         
 
  146    {FP_SCALE( 4.0f), FP_SCALE( 5.0f)},         
 
  147    {FP_SCALE(-3.0f), FP_SCALE(-6.0f)},         
 
  148    {FP_SCALE(-6.0f), FP_SCALE( 3.0f)},         
 
  149    {FP_SCALE( 5.0f), FP_SCALE(-4.0f)},         
 
  150    {FP_SCALE(-4.0f), FP_SCALE(-5.0f)},         
 
  151    {FP_SCALE( 3.0f), FP_SCALE( 6.0f)},         
 
  152    {FP_SCALE( 6.0f), FP_SCALE(-3.0f)},         
 
  153    {FP_SCALE(-5.0f), FP_SCALE( 4.0f)},         
 
  154    {FP_SCALE( 0.0f), FP_SCALE(-7.0f)},         
 
  155    {FP_SCALE( 1.0f), FP_SCALE( 6.0f)},         
 
  156    {FP_SCALE( 6.0f), FP_SCALE(-1.0f)},         
 
  157    {FP_SCALE(-7.0f), FP_SCALE( 0.0f)},         
 
  158    {FP_SCALE( 0.0f), FP_SCALE( 7.0f)},         
 
  159    {FP_SCALE(-1.0f), FP_SCALE(-6.0f)},         
 
  160    {FP_SCALE(-6.0f), FP_SCALE( 1.0f)},         
 
  161    {FP_SCALE( 7.0f), FP_SCALE( 0.0f)},         
 
  162    {FP_SCALE( 0.0f), FP_SCALE( 5.0f)},         
 
  163    {FP_SCALE( 1.0f), FP_SCALE(-6.0f)},         
 
  164    {FP_SCALE(-6.0f), FP_SCALE(-1.0f)},         
 
  165    {FP_SCALE( 5.0f), FP_SCALE( 0.0f)},         
 
  166    {FP_SCALE( 0.0f), FP_SCALE(-5.0f)},         
 
  167    {FP_SCALE(-1.0f), FP_SCALE( 6.0f)},         
 
  168    {FP_SCALE( 6.0f), FP_SCALE( 1.0f)},         
 
  169    {FP_SCALE(-5.0f), FP_SCALE( 0.0f)}          
 
  172#if defined(SPANDSP_USE_FIXED_POINTx) 
  173static const complexi16_t v17_v32bis_12000_constellation[64] =
 
  175static const complexf_t v17_v32bis_12000_constellation[64] =
 
  178    {FP_SCALE( 7.0f), FP_SCALE( 1.0f)},         
 
  179    {FP_SCALE(-5.0f), FP_SCALE(-1.0f)},         
 
  180    {FP_SCALE(-1.0f), FP_SCALE( 5.0f)},         
 
  181    {FP_SCALE( 1.0f), FP_SCALE(-7.0f)},         
 
  182    {FP_SCALE(-7.0f), FP_SCALE(-1.0f)},         
 
  183    {FP_SCALE( 5.0f), FP_SCALE( 1.0f)},         
 
  184    {FP_SCALE( 1.0f), FP_SCALE(-5.0f)},         
 
  185    {FP_SCALE(-1.0f), FP_SCALE( 7.0f)},         
 
  186    {FP_SCALE( 3.0f), FP_SCALE(-3.0f)},         
 
  187    {FP_SCALE(-1.0f), FP_SCALE( 3.0f)},         
 
  188    {FP_SCALE( 3.0f), FP_SCALE( 1.0f)},         
 
  189    {FP_SCALE(-3.0f), FP_SCALE(-3.0f)},         
 
  190    {FP_SCALE(-3.0f), FP_SCALE( 3.0f)},         
 
  191    {FP_SCALE( 1.0f), FP_SCALE(-3.0f)},         
 
  192    {FP_SCALE(-3.0f), FP_SCALE(-1.0f)},         
 
  193    {FP_SCALE( 3.0f), FP_SCALE( 3.0f)},         
 
  194    {FP_SCALE( 7.0f), FP_SCALE(-7.0f)},         
 
  195    {FP_SCALE(-5.0f), FP_SCALE( 7.0f)},         
 
  196    {FP_SCALE( 7.0f), FP_SCALE( 5.0f)},         
 
  197    {FP_SCALE(-7.0f), FP_SCALE(-7.0f)},         
 
  198    {FP_SCALE(-7.0f), FP_SCALE( 7.0f)},         
 
  199    {FP_SCALE( 5.0f), FP_SCALE(-7.0f)},         
 
  200    {FP_SCALE(-7.0f), FP_SCALE(-5.0f)},         
 
  201    {FP_SCALE( 7.0f), FP_SCALE( 7.0f)},         
 
  202    {FP_SCALE(-1.0f), FP_SCALE(-7.0f)},         
 
  203    {FP_SCALE( 3.0f), FP_SCALE( 7.0f)},         
 
  204    {FP_SCALE( 7.0f), FP_SCALE(-3.0f)},         
 
  205    {FP_SCALE(-7.0f), FP_SCALE( 1.0f)},         
 
  206    {FP_SCALE( 1.0f), FP_SCALE( 7.0f)},         
 
  207    {FP_SCALE(-3.0f), FP_SCALE(-7.0f)},         
 
  208    {FP_SCALE(-7.0f), FP_SCALE( 3.0f)},         
 
  209    {FP_SCALE( 7.0f), FP_SCALE(-1.0f)},         
 
  210    {FP_SCALE( 3.0f), FP_SCALE( 5.0f)},         
 
  211    {FP_SCALE(-1.0f), FP_SCALE(-5.0f)},         
 
  212    {FP_SCALE(-5.0f), FP_SCALE( 1.0f)},         
 
  213    {FP_SCALE( 5.0f), FP_SCALE(-3.0f)},         
 
  214    {FP_SCALE(-3.0f), FP_SCALE(-5.0f)},         
 
  215    {FP_SCALE( 1.0f), FP_SCALE( 5.0f)},         
 
  216    {FP_SCALE( 5.0f), FP_SCALE(-1.0f)},         
 
  217    {FP_SCALE(-5.0f), FP_SCALE( 3.0f)},         
 
  218    {FP_SCALE(-1.0f), FP_SCALE( 1.0f)},         
 
  219    {FP_SCALE( 3.0f), FP_SCALE(-1.0f)},         
 
  220    {FP_SCALE(-1.0f), FP_SCALE(-3.0f)},         
 
  221    {FP_SCALE( 1.0f), FP_SCALE( 1.0f)},         
 
  222    {FP_SCALE( 1.0f), FP_SCALE(-1.0f)},         
 
  223    {FP_SCALE(-3.0f), FP_SCALE( 1.0f)},         
 
  224    {FP_SCALE( 1.0f), FP_SCALE( 3.0f)},         
 
  225    {FP_SCALE(-1.0f), FP_SCALE(-1.0f)},         
 
  226    {FP_SCALE(-5.0f), FP_SCALE( 5.0f)},         
 
  227    {FP_SCALE( 7.0f), FP_SCALE(-5.0f)},         
 
  228    {FP_SCALE(-5.0f), FP_SCALE(-7.0f)},         
 
  229    {FP_SCALE( 5.0f), FP_SCALE( 5.0f)},         
 
  230    {FP_SCALE( 5.0f), FP_SCALE(-5.0f)},         
 
  231    {FP_SCALE(-7.0f), FP_SCALE( 5.0f)},         
 
  232    {FP_SCALE( 5.0f), FP_SCALE( 7.0f)},         
 
  233    {FP_SCALE(-5.0f), FP_SCALE(-5.0f)},         
 
  234    {FP_SCALE(-5.0f), FP_SCALE(-3.0f)},         
 
  235    {FP_SCALE( 7.0f), FP_SCALE( 3.0f)},         
 
  236    {FP_SCALE( 3.0f), FP_SCALE(-7.0f)},         
 
  237    {FP_SCALE(-3.0f), FP_SCALE( 5.0f)},         
 
  238    {FP_SCALE( 5.0f), FP_SCALE( 3.0f)},         
 
  239    {FP_SCALE(-7.0f), FP_SCALE(-3.0f)},         
 
  240    {FP_SCALE(-3.0f), FP_SCALE( 7.0f)},         
 
  241    {FP_SCALE( 3.0f), FP_SCALE(-5.0f)}          
 
  244#if defined(SPANDSP_USE_FIXED_POINTx) 
  245static const complexi16_t v17_v32bis_9600_constellation[32] =
 
  247static const complexf_t v17_v32bis_9600_constellation[32] =
 
  250    {FP_SCALE(-8.0f), FP_SCALE( 2.0f)},         
 
  251    {FP_SCALE(-6.0f), FP_SCALE(-4.0f)},         
 
  252    {FP_SCALE(-4.0f), FP_SCALE( 6.0f)},         
 
  253    {FP_SCALE( 2.0f), FP_SCALE( 8.0f)},         
 
  254    {FP_SCALE( 8.0f), FP_SCALE(-2.0f)},         
 
  255    {FP_SCALE( 6.0f), FP_SCALE( 4.0f)},         
 
  256    {FP_SCALE( 4.0f), FP_SCALE(-6.0f)},         
 
  257    {FP_SCALE(-2.0f), FP_SCALE(-8.0f)},         
 
  258    {FP_SCALE( 0.0f), FP_SCALE( 2.0f)},         
 
  259    {FP_SCALE(-6.0f), FP_SCALE( 4.0f)},         
 
  260    {FP_SCALE( 4.0f), FP_SCALE( 6.0f)},         
 
  261    {FP_SCALE( 2.0f), FP_SCALE( 0.0f)},         
 
  262    {FP_SCALE( 0.0f), FP_SCALE(-2.0f)},         
 
  263    {FP_SCALE( 6.0f), FP_SCALE(-4.0f)},         
 
  264    {FP_SCALE(-4.0f), FP_SCALE(-6.0f)},         
 
  265    {FP_SCALE(-2.0f), FP_SCALE( 0.0f)},         
 
  266    {FP_SCALE( 0.0f), FP_SCALE(-6.0f)},         
 
  267    {FP_SCALE( 2.0f), FP_SCALE(-4.0f)},         
 
  268    {FP_SCALE(-4.0f), FP_SCALE(-2.0f)},         
 
  269    {FP_SCALE(-6.0f), FP_SCALE( 0.0f)},         
 
  270    {FP_SCALE( 0.0f), FP_SCALE( 6.0f)},         
 
  271    {FP_SCALE(-2.0f), FP_SCALE( 4.0f)},         
 
  272    {FP_SCALE( 4.0f), FP_SCALE( 2.0f)},         
 
  273    {FP_SCALE( 6.0f), FP_SCALE( 0.0f)},         
 
  274    {FP_SCALE( 8.0f), FP_SCALE( 2.0f)},         
 
  275    {FP_SCALE( 2.0f), FP_SCALE( 4.0f)},         
 
  276    {FP_SCALE( 4.0f), FP_SCALE(-2.0f)},         
 
  277    {FP_SCALE( 2.0f), FP_SCALE(-8.0f)},         
 
  278    {FP_SCALE(-8.0f), FP_SCALE(-2.0f)},         
 
  279    {FP_SCALE(-2.0f), FP_SCALE(-4.0f)},         
 
  280    {FP_SCALE(-4.0f), FP_SCALE( 2.0f)},         
 
  281    {FP_SCALE(-2.0f), FP_SCALE( 8.0f)}          
 
  284#if defined(SPANDSP_USE_FIXED_POINTx) 
  285static const complexi16_t v17_v32bis_7200_constellation[16] =
 
  287static const complexf_t v17_v32bis_7200_constellation[16] =
 
  290    {FP_SCALE( 6.0f), FP_SCALE(-6.0f)},         
 
  291    {FP_SCALE(-2.0f), FP_SCALE( 6.0f)},         
 
  292    {FP_SCALE( 6.0f), FP_SCALE( 2.0f)},         
 
  293    {FP_SCALE(-6.0f), FP_SCALE(-6.0f)},         
 
  294    {FP_SCALE(-6.0f), FP_SCALE( 6.0f)},         
 
  295    {FP_SCALE( 2.0f), FP_SCALE(-6.0f)},         
 
  296    {FP_SCALE(-6.0f), FP_SCALE(-2.0f)},         
 
  297    {FP_SCALE( 6.0f), FP_SCALE( 6.0f)},         
 
  298    {FP_SCALE(-2.0f), FP_SCALE( 2.0f)},         
 
  299    {FP_SCALE( 6.0f), FP_SCALE(-2.0f)},         
 
  300    {FP_SCALE(-2.0f), FP_SCALE(-6.0f)},         
 
  301    {FP_SCALE( 2.0f), FP_SCALE( 2.0f)},         
 
  302    {FP_SCALE( 2.0f), FP_SCALE(-2.0f)},         
 
  303    {FP_SCALE(-6.0f), FP_SCALE( 2.0f)},         
 
  304    {FP_SCALE( 2.0f), FP_SCALE( 6.0f)},         
 
  305    {FP_SCALE(-2.0f), FP_SCALE(-2.0f)}          
 
  310#if defined(SPANDSP_USE_FIXED_POINTx) 
  311static const complexi16_t v17_v32bis_4800_constellation[4] =
 
  313static const complexf_t v17_v32bis_4800_constellation[4] =
 
  316    {FP_SCALE(-6.0f), FP_SCALE(-2.0f)},         
 
  317    {FP_SCALE(-2.0f), FP_SCALE( 6.0f)},         
 
  318    {FP_SCALE( 2.0f), FP_SCALE(-6.0f)},         
 
  319    {FP_SCALE( 6.0f), FP_SCALE( 2.0f)}          
 
  322#if defined(SPANDSP_USE_FIXED_POINTx) 
  323static const complexi16_t v17_v32bis_abcd_constellation[4] =
 
  325static const complexf_t v17_v32bis_abcd_constellation[4] =
 
  328    {FP_SCALE(-6.0f), FP_SCALE(-2.0f)},         
 
  329    {FP_SCALE( 2.0f), FP_SCALE(-6.0f)},         
 
  330    {FP_SCALE( 6.0f), FP_SCALE( 2.0f)},         
 
  331    {FP_SCALE(-2.0f), FP_SCALE( 6.0f)}