@@ -1015,22 +1015,22 @@ int main(int argc, char* argv[]) {
10151015 #ifndef _NDELTA
10161016 case 22 : delta8e24 (in ,inlen ,out ); clen = inlen + 1 ; break ;
10171017 #endif
1018- #ifndef _NQUANT )
1019- #if defined(FLT16_BUILTIN )
1018+ #ifndef _NQUANT )
1019+ #if defined(FLT16_BUILTIN )
10201020 case 25 : { _Float16 fmin , fmax ; if (quantb > 16 ) quantb = 16 ;
1021- fpquant16e16 (in ,inlen /2 ,out , quantb , & fmin , & fmax ); memcpy (in ,out ,inlen ); tpenc (in , inlen , out , 2 );
1022- ctof16 (out + inlen ) = fmin ; ctof16 (out + inlen + 2 ) = fmax ; ctou8 (out + inlen + 4 ) = quantb ; clen = inlen + 4 + 1 ; if (verbose > 2 ) printf ("len = %u R:[%g - %g] q=%u " , inlen , (double )fmin , (double )fmax , quantb );
1023- } break ;
1024- #endif
1021+ fpquant16e16 (in ,inlen /2 ,out , quantb , & fmin , & fmax ); memcpy (in ,out ,inlen ); tpenc (in , inlen , out , 2 );
1022+ ctof16 (out + inlen ) = fmin ; ctof16 (out + inlen + 2 ) = fmax ; ctou8 (out + inlen + 4 ) = quantb ; clen = inlen + 4 + 1 ; if (verbose > 2 ) printf ("len = %u R:[%g - %g] q=%u " , inlen , (double )fmin , (double )fmax , quantb );
1023+ } break ;
1024+ #endif
10251025 case 26 : { float fmin ,fmax ; if (quantb > 32 ) quantb = 32 ;
1026- fpquant32e32 (in ,inlen /2 ,out , quantb , & fmin , & fmax ); memcpy (in ,out ,inlen ); tpenc (in , inlen , out , 4 );
1027- ctof16 (out + inlen ) = fmin ; ctof16 (out + inlen + 4 ) = fmax ; ctou8 (out + inlen + 8 ) = quantb ; clen = inlen + 8 + 1 ; if (verbose > 2 ) printf ("len = %u R:[%g - %g] q=%u " , inlen , (double )fmin , (double )fmax , quantb );
1028- } break ;
1026+ fpquant32e32 (in ,inlen /2 ,out , quantb , & fmin , & fmax ); memcpy (in ,out ,inlen ); tpenc (in , inlen , out , 4 );
1027+ ctof32 (out + inlen ) = fmin ; ctof32 (out + inlen + 4 ) = fmax ; ctou8 (out + inlen + 8 ) = quantb ; clen = inlen + 8 + 1 ; if (verbose > 2 ) printf ("len = %u R:[%g - %g] q=%u " , inlen , (double )fmin , (double )fmax , quantb );
1028+ } break ;
10291029 case 27 : { double fmin ,fmax ; if (quantb > 32 ) quantb = 32 ;
1030- fpquant64e64 (in ,inlen /2 ,out , quantb , & fmin , & fmax ); memcpy (in ,out ,inlen ); tpenc (in , inlen , out , 8 );
1031- ctof16 (out + inlen ) = fmin ; ctof16 (out + inlen + 8 ) = fmax ; ctou8 (out + inlen + 16 ) = quantb ; clen = inlen + 16 + 1 ; if (verbose > 2 ) printf ("len = %u R:[%g - %g] q=%u " , inlen , (double )fmin , (double )fmax , quantb );
1032- } break ;
1033- #endif
1030+ fpquant64e64 (in ,inlen /2 ,out , quantb , & fmin , & fmax ); memcpy (in ,out ,inlen ); tpenc (in , inlen , out , 8 );
1031+ ctof64 (out + inlen ) = fmin ; ctof64 (out + inlen + 8 ) = fmax ; ctou8 (out + inlen + 16 ) = quantb ; clen = inlen + 16 + 1 ; if (verbose > 2 ) printf ("len = %u R:[%g - %g] q=%u " , inlen , (double )fmin , (double )fmax , quantb );
1032+ } break ;
1033+ #endif
10341034 default : ERR (E_CODEC );
10351035 }
10361036 hdb_t hdb = { 0 }; hdb .inlen = inlen ; hdb .bsize = bsize ; hdb .clen = clen ; if ((rc = hdbwr (& hdb , fo )) < 0 ) ERR (- rc ); folen += rc ;
@@ -1073,19 +1073,19 @@ int main(int argc, char* argv[]) {
10731073 #endif
10741074 case 21 : utf8dec ( in , outlen , out ); break ;
10751075 case 22 : delta8d24 (in ,outlen ,out ); break ;
1076- #ifndef _NQUANT )
1077- #if defined(FLT16_BUILTIN ) //if(verbose>3) printf("len = %u R:[%g - %g] q=%u ", outlen, (double)fmin, (double)fmax, quantb);
1078- case 25 : { _Float16 fmin = ctof16 (in + outlen ), fmax = ctof16 (in + outlen + 2 ); quantb = ctou8 (in + outlen + 4 );
1076+ #ifndef _NQUANT )
1077+ #if defined(FLT16_BUILTIN ) //if(verbose>3) printf("len = %u R:[%g - %g] q=%u ", outlen, (double)fmin, (double)fmax, quantb);
1078+ case 25 : { _Float16 fmin = ctof16 (in + outlen ), fmax = ctof16 (in + outlen + 2 ); quantb = ctou8 (in + outlen + 4 );
10791079 tpdec (in , outlen , out , 2 ); memcpy (in , out , outlen ); fpquant16d16 (in , outlen /2 , out , quantb , fmin , fmax );
1080- } break ;
1081- #endif
1082- case 26 : { float fmin = ctof32 (in + outlen ), fmax = ctof32 (in + outlen + 4 ); quantb = ctou8 (in + outlen + 8 );
1083- tpdec (in , outlen , out , 4 ); memcpy (in , out , outlen ); fpquant32d32 (in , outlen /4 , out , quantb , fmin , fmax );
1084- } break ;
1085- case 27 : { double fmin = ctof32 (in + outlen ), fmax = ctof32 (in + outlen + 8 ); quantb = ctou8 (in + outlen + 16 );
1080+ } break ;
1081+ #endif
1082+ case 26 : { float fmin = ctof32 (in + outlen ), fmax = ctof32 (in + outlen + 4 ); quantb = ctou8 (in + outlen + 8 );
1083+ tpdec (in , outlen , out , 4 ); memcpy (in , out , outlen ); fpquant32d32 (in , outlen /4 , out , quantb , fmin , fmax );
1084+ } break ;
1085+ case 27 : { double fmin = ctof32 (in + outlen ), fmax = ctof32 (in + outlen + 8 ); quantb = ctou8 (in + outlen + 16 );
10861086 tpdec (in , outlen , out , 8 ); memcpy (in , out , outlen ); fpquant32d32 (in , outlen /8 , out , quantb , fmin , fmax );
1087- } break ;
1088- #endif
1087+ } break ;
1088+ #endif
10891089 default : ERR (E_CODEC );
10901090 }
10911091 if (fwrite (out , 1 , outlen , fo ) != outlen ) ERR (E_FWR ); folen += outlen ;
0 commit comments