/* SPDX-License-Identifier: GPL-2.0 */1/*2This is the program used to generate below table.34#include <stdio.h>5#include <math.h>6int main() {7int dB2;8printf("/" "* This file is only included exactly once!\n");9printf(" *\n");10printf(" * If they'd only tell us that generating this table was\n");11printf(" * as easy as calculating\n");12printf(" * hwvalue = 1048576.0*exp(0.057564628*dB*2)\n");13printf(" * :) *" "/\n");14printf("static int tas_gaintable[] = {\n");15printf(" 0x000000, /" "* -infinity dB *" "/\n");16for (dB2=-140;dB2<=36;dB2++)17printf(" 0x%.6x, /" "* %-02.1f dB *" "/\n", (int)(1048576.0*exp(0.057564628*dB2)), dB2/2.0);18printf("};\n\n");19}2021*/2223/* This file is only included exactly once!24*25* If they'd only tell us that generating this table was26* as easy as calculating27* hwvalue = 1048576.0*exp(0.057564628*dB*2)28* :) */29static const int tas_gaintable[] = {300x000000, /* -infinity dB */310x00014b, /* -70.0 dB */320x00015f, /* -69.5 dB */330x000174, /* -69.0 dB */340x00018a, /* -68.5 dB */350x0001a1, /* -68.0 dB */360x0001ba, /* -67.5 dB */370x0001d4, /* -67.0 dB */380x0001f0, /* -66.5 dB */390x00020d, /* -66.0 dB */400x00022c, /* -65.5 dB */410x00024d, /* -65.0 dB */420x000270, /* -64.5 dB */430x000295, /* -64.0 dB */440x0002bc, /* -63.5 dB */450x0002e6, /* -63.0 dB */460x000312, /* -62.5 dB */470x000340, /* -62.0 dB */480x000372, /* -61.5 dB */490x0003a6, /* -61.0 dB */500x0003dd, /* -60.5 dB */510x000418, /* -60.0 dB */520x000456, /* -59.5 dB */530x000498, /* -59.0 dB */540x0004de, /* -58.5 dB */550x000528, /* -58.0 dB */560x000576, /* -57.5 dB */570x0005c9, /* -57.0 dB */580x000620, /* -56.5 dB */590x00067d, /* -56.0 dB */600x0006e0, /* -55.5 dB */610x000748, /* -55.0 dB */620x0007b7, /* -54.5 dB */630x00082c, /* -54.0 dB */640x0008a8, /* -53.5 dB */650x00092b, /* -53.0 dB */660x0009b6, /* -52.5 dB */670x000a49, /* -52.0 dB */680x000ae5, /* -51.5 dB */690x000b8b, /* -51.0 dB */700x000c3a, /* -50.5 dB */710x000cf3, /* -50.0 dB */720x000db8, /* -49.5 dB */730x000e88, /* -49.0 dB */740x000f64, /* -48.5 dB */750x00104e, /* -48.0 dB */760x001145, /* -47.5 dB */770x00124b, /* -47.0 dB */780x001361, /* -46.5 dB */790x001487, /* -46.0 dB */800x0015be, /* -45.5 dB */810x001708, /* -45.0 dB */820x001865, /* -44.5 dB */830x0019d8, /* -44.0 dB */840x001b60, /* -43.5 dB */850x001cff, /* -43.0 dB */860x001eb7, /* -42.5 dB */870x002089, /* -42.0 dB */880x002276, /* -41.5 dB */890x002481, /* -41.0 dB */900x0026ab, /* -40.5 dB */910x0028f5, /* -40.0 dB */920x002b63, /* -39.5 dB */930x002df5, /* -39.0 dB */940x0030ae, /* -38.5 dB */950x003390, /* -38.0 dB */960x00369e, /* -37.5 dB */970x0039db, /* -37.0 dB */980x003d49, /* -36.5 dB */990x0040ea, /* -36.0 dB */1000x0044c3, /* -35.5 dB */1010x0048d6, /* -35.0 dB */1020x004d27, /* -34.5 dB */1030x0051b9, /* -34.0 dB */1040x005691, /* -33.5 dB */1050x005bb2, /* -33.0 dB */1060x006121, /* -32.5 dB */1070x0066e3, /* -32.0 dB */1080x006cfb, /* -31.5 dB */1090x007370, /* -31.0 dB */1100x007a48, /* -30.5 dB */1110x008186, /* -30.0 dB */1120x008933, /* -29.5 dB */1130x009154, /* -29.0 dB */1140x0099f1, /* -28.5 dB */1150x00a310, /* -28.0 dB */1160x00acba, /* -27.5 dB */1170x00b6f6, /* -27.0 dB */1180x00c1cd, /* -26.5 dB */1190x00cd49, /* -26.0 dB */1200x00d973, /* -25.5 dB */1210x00e655, /* -25.0 dB */1220x00f3fb, /* -24.5 dB */1230x010270, /* -24.0 dB */1240x0111c0, /* -23.5 dB */1250x0121f9, /* -23.0 dB */1260x013328, /* -22.5 dB */1270x01455b, /* -22.0 dB */1280x0158a2, /* -21.5 dB */1290x016d0e, /* -21.0 dB */1300x0182af, /* -20.5 dB */1310x019999, /* -20.0 dB */1320x01b1de, /* -19.5 dB */1330x01cb94, /* -19.0 dB */1340x01e6cf, /* -18.5 dB */1350x0203a7, /* -18.0 dB */1360x022235, /* -17.5 dB */1370x024293, /* -17.0 dB */1380x0264db, /* -16.5 dB */1390x02892c, /* -16.0 dB */1400x02afa3, /* -15.5 dB */1410x02d862, /* -15.0 dB */1420x03038a, /* -14.5 dB */1430x033142, /* -14.0 dB */1440x0361af, /* -13.5 dB */1450x0394fa, /* -13.0 dB */1460x03cb50, /* -12.5 dB */1470x0404de, /* -12.0 dB */1480x0441d5, /* -11.5 dB */1490x048268, /* -11.0 dB */1500x04c6d0, /* -10.5 dB */1510x050f44, /* -10.0 dB */1520x055c04, /* -9.5 dB */1530x05ad50, /* -9.0 dB */1540x06036e, /* -8.5 dB */1550x065ea5, /* -8.0 dB */1560x06bf44, /* -7.5 dB */1570x07259d, /* -7.0 dB */1580x079207, /* -6.5 dB */1590x0804dc, /* -6.0 dB */1600x087e80, /* -5.5 dB */1610x08ff59, /* -5.0 dB */1620x0987d5, /* -4.5 dB */1630x0a1866, /* -4.0 dB */1640x0ab189, /* -3.5 dB */1650x0b53be, /* -3.0 dB */1660x0bff91, /* -2.5 dB */1670x0cb591, /* -2.0 dB */1680x0d765a, /* -1.5 dB */1690x0e4290, /* -1.0 dB */1700x0f1adf, /* -0.5 dB */1710x100000, /* 0.0 dB */1720x10f2b4, /* 0.5 dB */1730x11f3c9, /* 1.0 dB */1740x13041a, /* 1.5 dB */1750x14248e, /* 2.0 dB */1760x15561a, /* 2.5 dB */1770x1699c0, /* 3.0 dB */1780x17f094, /* 3.5 dB */1790x195bb8, /* 4.0 dB */1800x1adc61, /* 4.5 dB */1810x1c73d5, /* 5.0 dB */1820x1e236d, /* 5.5 dB */1830x1fec98, /* 6.0 dB */1840x21d0d9, /* 6.5 dB */1850x23d1cd, /* 7.0 dB */1860x25f125, /* 7.5 dB */1870x2830af, /* 8.0 dB */1880x2a9254, /* 8.5 dB */1890x2d1818, /* 9.0 dB */1900x2fc420, /* 9.5 dB */1910x3298b0, /* 10.0 dB */1920x35982f, /* 10.5 dB */1930x38c528, /* 11.0 dB */1940x3c224c, /* 11.5 dB */1950x3fb278, /* 12.0 dB */1960x4378b0, /* 12.5 dB */1970x477829, /* 13.0 dB */1980x4bb446, /* 13.5 dB */1990x5030a1, /* 14.0 dB */2000x54f106, /* 14.5 dB */2010x59f980, /* 15.0 dB */2020x5f4e52, /* 15.5 dB */2030x64f403, /* 16.0 dB */2040x6aef5e, /* 16.5 dB */2050x714575, /* 17.0 dB */2060x77fbaa, /* 17.5 dB */2070x7f17af, /* 18.0 dB */208};209210211212