aboutsummaryrefslogtreecommitdiffstats
path: root/quantum/audio/luts.c
blob: 4404aff4340948321166a60d1e66704f07e063a7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
pre { line-height: 125%; margin: 0; }
td.linenos pre { color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px; }
span.linenos { color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px; }
td.linenos pre.special { color: #000000; background-color: #ffffc0; padding: 0 5px 0 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding: 0 5px 0 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight { background: #ffffff; }
.highlight .c { color: #888888 } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { color: #008800; font-weight: bold } /* Keyword */
.highlight .ch { color: #888888 } /* Comment.Hashbang */
.highlight .cm { color: #888888 } /* Comment.Multiline */
.highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */
.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
.highlight .c1 { color: #888888 } /* Comment.Single */
.highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #aa0000 } /* Generic.Error */
.highlight .gh { color: #333333 } /* Generic.Heading */
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #555555 } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #666666 } /* Generic.Subheading */
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008800 } /* Keyword.Pseudo */
.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */
.highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */
.highlight .na { color: #336699 } /* Name.Attribute */
.highlight .nb { color: #003388 } /* Name.Builtin */
.highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */
.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
.highlight .nd { color: #555555 } /* Name.Decorator */
.highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */
.highlight .nl { color: #336699; font-style: italic } /* Name.Label */
.highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */
.highlight .py { color: #336699; font-weight: bold } /* Name.Property */
.highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #336699 } /* Name.Variable */
.highlight .ow { color: #008800 } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */
.highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */
.highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */
.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
.highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */
.highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */
.highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */
.highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */
.highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */
.highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */
.highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */
.highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */
.highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */
.highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */
.highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */
.highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */
.highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */
.highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */
.highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */
.highlight .vc { color: #336699 } /* Name.Variable.Class */
.highlight .vg { color: #dd7700 } /* Name.Variable.Global */
.highlight .vi { color: #3333bb } /* Name.Variable.Instance */
.highlight .vm { color: #336699 } /* Name.Variable.Magic */
.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
/*
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 *
 * ia64 kernel NUMA specific stuff
 *
 * Copyright (C) 2002 Erich Focht <efocht@ess.nec.de>
 * Copyright (C) 2004 Silicon Graphics, Inc.
 *   Jesse Barnes <jbarnes@sgi.com>
 */
#ifdef XEN
#include <xen/types.h>
#endif
#include <linux/config.h>
#include <linux/topology.h>
#include <linux/module.h>
#include <asm/processor.h>
#include <asm/smp.h>
#ifdef XEN
#include <xen/nodemask.h>
#endif

#ifdef XEN
nodemask_t node_online_map = { { [0] = 1UL } };
#endif

u8 cpu_to_node_map[NR_CPUS] __cacheline_aligned;
EXPORT_SYMBOL(cpu_to_node_map);

cpumask_t node_to_cpu_mask[MAX_NUMNODES] __cacheline_aligned;

/**
 * build_cpu_to_node_map - setup cpu to node and node to cpumask arrays
 *
 * Build cpu to node mapping and initialize the per node cpu masks using
 * info from the node_cpuid array handed to us by ACPI.
 */
void __init build_cpu_to_node_map(void)
{
	int cpu, i, node;

	for(node=0; node < MAX_NUMNODES; node++)
		cpus_clear(node_to_cpu_mask[node]);

	for(cpu = 0; cpu < NR_CPUS; ++cpu) {
		node = -1;
		<
/* Copyright 2016 IBNobody
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#include "luts.h"

const float vibrato_lut[VIBRATO_LUT_LENGTH] =
{
	1.0022336811487,
	1.0042529943610,
	1.0058584256028,
	1.0068905285205,
	1.0072464122237,
	1.0068905285205,
	1.0058584256028,
	1.0042529943610,
	1.0022336811487,
	1.0000000000000,
	0.9977712970630,
	0.9957650169978,
	0.9941756956510,
	0.9931566259436,
	0.9928057204913,
	0.9931566259436,
	0.9941756956510,
	0.9957650169978,
	0.9977712970630,
	1.0000000000000,
};

const uint16_t frequency_lut[FREQUENCY_LUT_LENGTH] =
{
	0x8E0B,
	0x8C02,
	0x8A00,
	0x8805,
	0x8612,
	0x8426,
	0x8241,
	0x8063,
	0x7E8C,
	0x7CBB,
	0x7AF2,
	0x792E,
	0x7772,
	0x75BB,
	0x740B,
	0x7261,
	0x70BD,
	0x6F20,
	0x6D88,
	0x6BF6,
	0x6A69,
	0x68E3,
	0x6762,
	0x65E6,
	0x6470,
	0x6300,
	0x6194,
	0x602E,
	0x5ECD,
	0x5D71,
	0x5C1A,
	0x5AC8,
	0x597B,
	0x5833,
	0x56EF,
	0x55B0,
	0x5475,
	0x533F,
	0x520E,
	0x50E1,
	0x4FB8,
	0x4E93,
	0x4D73,
	0x4C57,
	0x4B3E,
	0x4A2A,
	0x491A,
	0x480E,
	0x4705,
	0x4601,
	0x4500,
	0x4402,
	0x4309,
	0x4213,
	0x4120,
	0x4031,
	0x3F46,
	0x3E5D,
	0x3D79,
	0x3C97,
	0x3BB9,
	0x3ADD,
	0x3A05,
	0x3930,
	0x385E,
	0x3790,
	0x36C4,
	0x35FB,
	0x3534,
	0x3471,
	0x33B1,
	0x32F3,
	0x3238,
	0x3180,
	0x30CA,
	0x3017,
	0x2F66,
	0x2EB8,
	0x2E0D,
	0x2D64,
	0x2CBD,
	0x2C19,
	0x2B77,
	0x2AD8,
	0x2A3A,
	0x299F,
	0x2907,
	0x2870,
	0x27DC,
	0x2749,
	0x26B9,
	0x262B,
	0x259F,
	0x2515,
	0x248D,
	0x2407,
	0x2382,
	0x2300,
	0x2280,
	0x2201,
	0x2184,
	0x2109,
	0x2090,
	0x2018,
	0x1FA3,
	0x1F2E,
	0x1EBC,
	0x1E4B,
	0x1DDC,
	0x1D6E,
	0x1D02,
	0x1C98,
	0x1C2F,
	0x1BC8,
	0x1B62,
	0x1AFD,
	0x1A9A,
	0x1A38,
	0x19D8,
	0x1979,
	0x191C,
	0x18C0,
	0x1865,
	0x180B,
	0x17B3,
	0x175C,
	0x1706,
	0x16B2,
	0x165E,
	0x160C,
	0x15BB,
	0x156C,
	0x151D,
	0x14CF,
	0x1483,
	0x1438,
	0x13EE,
	0x13A4,
	0x135C,
	0x1315,
	0x12CF,
	0x128A,
	0x1246,
	0x1203,
	0x11C1,
	0x1180,
	0x1140,
	0x1100,
	0x10C2,
	0x1084,
	0x1048,
	0x100C,
	0xFD1,
	0xF97,
	0xF5E,
	0xF25,
	0xEEE,
	0xEB7,
	0xE81,
	0xE4C,
	0xE17,
	0xDE4,
	0xDB1,
	0xD7E,
	0xD4D,
	0xD1C,
	0xCEC,
	0xCBC,
	0xC8E,
	0xC60,
	0xC32,
	0xC05,
	0xBD9,
	0xBAE,
	0xB83,
	0xB59,
	0xB2F,
	0xB06,
	0xADD,
	0xAB6,
	0xA8E,
	0xA67,
	0xA41,
	0xA1C,
	0x9F7,
	0x9D2,
	0x9AE,
	0x98A,
	0x967,
	0x945,
	0x923,
	0x901,
	0x8E0,
	0x8C0,
	0x8A0,
	0x880,
	0x861,
	0x842,
	0x824,
	0x806,
	0x7E8,
	0x7CB,
	0x7AF,
	0x792,
	0x777,
	0x75B,
	0x740,
	0x726,
	0x70B,
	0x6F2,
	0x6D8,
	0x6BF,
	0x6A6,
	0x68E,
	0x676,
	0x65E,
	0x647,
	0x630,
	0x619,
	0x602,
	0x5EC,
	0x5D7,
	0x5C1,
	0x5AC,
	0x597,
	0x583,
	0x56E,
	0x55B,
	0x547,
	0x533,
	0x520,
	0x50E,
	0x4FB,
	0x4E9,
	0x4D7,
	0x4C5,
	0x4B3,
	0x4A2,
	0x491,
	0x480,
	0x470,
	0x460,
	0x450,
	0x440,
	0x430,
	0x421,
	0x412,
	0x403,
	0x3F4,
	0x3E5,
	0x3D7,
	0x3C9,
	0x3BB,
	0x3AD,
	0x3A0,
	0x393,
	0x385,
	0x379,
	0x36C,
	0x35F,
	0x353,
	0x347,
	0x33B,
	0x32F,
	0x323,
	0x318,
	0x30C,
	0x301,
	0x2F6,
	0x2EB,
	0x2E0,
	0x2D6,
	0x2CB,
	0x2C1,
	0x2B7,
	0x2AD,
	0x2A3,
	0x299,
	0x290,
	0x287,
	0x27D,
	0x274,
	0x26B,
	0x262,
	0x259,
	0x251,
	0x248,
	0x240,
	0x238,
	0x230,
	0x228,
	0x220,
	0x218,
	0x210,
	0x209,
	0x201,
	0x1FA,
	0x1F2,
	0x1EB,
	0x1E4,
	0x1DD,
	0x1D6,
	0x1D0,
	0x1C9,
	0x1C2,
	0x1BC,
	0x1B6,
	0x1AF,
	0x1A9,
	0x1A3,
	0x19D,
	0x197,
	0x191,
	0x18C,
	0x186,
	0x180,
	0x17B,
	0x175,
	0x170,
	0x16B,
	0x165,
	0x160,
	0x15B,
	0x156,
	0x151,
	0x14C,
	0x148,
	0x143,
	0x13E,
	0x13A,
	0x135,
	0x131,
	0x12C,
	0x128,
	0x124,
	0x120,
	0x11C,
	0x118,
	0x114,
	0x110,
	0x10C,
	0x108,
	0x104,
	0x100,
	0xFD,
	0xF9,
	0xF5,
	0xF2,
	0xEE,
};