use crate::{
illuminant::{Illuminant, IlluminantType},
spectral::Spd,
};
static SPD_DATA: [(u32, f64); 401] = [
(380, 2.39),
(381, 2.498),
(382, 2.60133333333333),
(383, 2.70466666666667),
(384, 2.81266666666667),
(385, 2.93),
(386, 3.10656),
(387, 3.29048),
(388, 3.47512),
(389, 3.65384),
(390, 3.82),
(391, 3.91448),
(392, 3.99624),
(393, 4.07176),
(394, 4.14752),
(395, 4.23),
(396, 4.36374814814815),
(397, 4.50765925925926),
(398, 4.6586962962963),
(399, 4.81382222222222),
(400, 4.97),
(401, 5.10718518518518),
(402, 5.24477037037037),
(403, 5.3828),
(404, 5.52131851851852),
(405, 303.237998255242),
(406, 137.824193193835),
(407, 5.94025185185185),
(408, 6.08117037037037),
(409, 6.2228),
(410, 6.36518518518518),
(411, 6.50837037037037),
(412, 6.6524),
(413, 6.79731851851852),
(414, 6.94317037037037),
(415, 7.09),
(416, 7.23879111111111),
(417, 7.38838814814815),
(418, 7.53858962962963),
(419, 7.68919407407407),
(420, 7.84),
(421, 7.9868),
(422, 8.1344),
(423, 8.2836),
(424, 8.4352),
(425, 8.59),
(426, 8.7571),
(427, 8.926925),
(428, 9.0982),
(429, 9.26965),
(430, 9.44),
(431, 9.603575),
(432, 9.7646),
(433, 9.9229),
(434, 11.7365184090634),
(435, 939.203118238364),
(436, 11.7677663391656),
(437, 10.53466),
(438, 10.67804),
(439, 10.813655),
(440, 10.94),
(441, 11.03869),
(442, 11.12932),
(443, 11.214605),
(444, 11.29726),
(445, 11.38),
(446, 11.4796),
(447, 11.5812),
(448, 11.684),
(449, 11.7872),
(450, 11.89),
(451, 11.98872),
(452, 12.08616),
(453, 12.18224),
(454, 12.27688),
(455, 12.37),
(456, 12.46312),
(457, 12.55416),
(458, 12.64264),
(459, 12.72808),
(460, 12.81),
(461, 12.886),
(462, 12.958),
(463, 13.026),
(464, 13.09),
(465, 13.15),
(466, 13.20504),
(467, 13.25632),
(468, 13.30408),
(469, 13.34856),
(470, 13.39),
(471, 13.43184),
(472, 13.47032),
(473, 13.50488),
(474, 13.53496),
(475, 13.56),
(476, 13.57464),
(477, 13.58432),
(478, 13.58968),
(479, 13.59136),
(480, 13.59),
(481, 13.5696),
(482, 13.5516),
(483, 13.5408),
(484, 13.542),
(485, 13.56),
(486, 13.67416),
(487, 13.79608),
(488, 13.91192),
(489, 14.00784),
(490, 14.07),
(491, 13.97256),
(492, 13.84168),
(493, 13.69152),
(494, 13.53624),
(495, 13.39),
(496, 13.34024),
(497, 13.30952),
(498, 13.29368),
(499, 13.28856),
(500, 13.29),
(501, 13.26888),
(502, 13.25224),
(503, 13.24216),
(504, 13.24072),
(505, 13.25),
(506, 13.27688),
(507, 13.31744),
(508, 13.37256),
(509, 13.44312),
(510, 13.53),
(511, 13.62608),
(512, 13.74224),
(513, 13.88136),
(514, 14.04632),
(515, 14.24),
(516, 14.46944),
(517, 14.73232),
(518, 15.03048),
(519, 15.36576),
(520, 15.74),
(521, 16.14704),
(522, 16.59872),
(523, 17.09888),
(524, 17.65136),
(525, 18.26),
(526, 18.93856),
(527, 19.67848),
(528, 20.48112),
(529, 21.34784),
(530, 22.28),
(531, 23.27256),
(532, 24.33488),
(533, 25.46992),
(534, 26.68064),
(535, 27.97),
(536, 29.35188),
(537, 30.81559),
(538, 32.36136),
(539, 33.98942),
(540, 35.7),
(541, 37.52037),
(542, 39.41696),
(543, 41.38324),
(544, 44.1341720557604),
(545, 561.316828957953),
(546, 48.4401176378362),
(547, 49.77868),
(548, 51.99032),
(549, 54.24789),
(550, 56.55),
(551, 58.95046),
(552, 61.37888),
(553, 63.82007),
(554, 66.25884),
(555, 68.68),
(556, 70.97592),
(557, 73.24696),
(558, 75.50104),
(559, 77.74608),
(560, 79.99),
(561, 82.33),
(562, 84.6624),
(563, 86.9728),
(564, 89.2468),
(565, 91.47),
(566, 93.6109175308642),
(567, 95.6765056790124),
(568, 97.6566350617284),
(569, 99.5411762962963),
(570, 101.32),
(571, 102.923642469136),
(572, 104.416142222222),
(573, 105.80220345679),
(574, 107.08653037037),
(575, 108.273827160494),
(576, 110.779974103229),
(577, 217.676580576851),
(578, 111.612699045698),
(579, 156.492152685164),
(580, 117.185734779311),
(581, 113.58474962963),
(582, 114.139903209877),
(583, 114.575484444444),
(584, 114.882010864198),
(585, 115.05),
(586, 114.972183703704),
(587, 114.761311604938),
(588, 114.432347654321),
(589, 114.000255802469),
(590, 113.48),
(591, 112.96464),
(592, 112.37152),
(593, 111.69608),
(594, 110.93376),
(595, 110.08),
(596, 109.0512),
(597, 107.9416),
(598, 106.7664),
(599, 105.5408),
(600, 104.28),
(601, 103.11056),
(602, 101.90848),
(603, 100.66112),
(604, 99.35584),
(605, 97.98),
(606, 96.4192),
(607, 94.788),
(608, 93.0992),
(609, 91.3656),
(610, 89.6),
(611, 87.84976),
(612, 86.08448),
(613, 84.30832),
(614, 82.52544),
(615, 80.74),
(616, 78.96128),
(617, 77.18704),
(618, 75.42016),
(619, 73.66352),
(620, 71.92),
(621, 70.20464),
(622, 68.50512),
(623, 66.82128),
(624, 65.15296),
(625, 63.5),
(626, 61.85616),
(627, 60.22888),
(628, 58.61952),
(629, 57.02944),
(630, 55.46),
(631, 53.90648),
(632, 52.37784),
(633, 50.87696),
(634, 49.40672),
(635, 47.97),
(636, 46.58824),
(637, 45.24112),
(638, 43.92688),
(639, 42.64376),
(640, 41.39),
(641, 40.15616),
(642, 38.95008),
(643, 37.77192),
(644, 36.62184),
(645, 35.5),
(646, 34.40912),
(647, 33.34616),
(648, 32.31064),
(649, 31.30208),
(650, 30.32),
(651, 29.36424),
(652, 28.43392),
(653, 27.52848),
(654, 26.64736),
(655, 25.79),
(656, 24.95168),
(657, 24.13704),
(658, 23.34656),
(659, 22.58072),
(660, 21.84),
(661, 21.13288),
(662, 20.44984),
(663, 19.78936),
(664, 19.14992),
(665, 18.53),
(666, 17.92328),
(667, 17.33424),
(668, 16.76256),
(669, 16.20792),
(670, 15.67),
(671, 15.14848),
(672, 14.64304),
(673, 14.15336),
(674, 13.67912),
(675, 13.22),
(676, 12.77536),
(677, 12.34528),
(678, 11.92952),
(679, 11.52784),
(680, 11.14),
(681, 10.744),
(682, 10.3668),
(683, 10.0136),
(684, 9.6896),
(685, 9.4),
(686, 9.23928),
(687, 9.10104),
(688, 8.96816),
(689, 8.82352),
(690, 8.65),
(691, 8.29832),
(692, 7.91656),
(693, 7.52064),
(694, 7.12648),
(695, 6.75),
(696, 6.49),
(697, 6.2588),
(698, 6.0516),
(699, 5.8636),
(700, 5.69),
(701, 5.5068),
(702, 5.3332),
(703, 5.1692),
(704, 5.0148),
(705, 4.87),
(706, 4.74792),
(707, 4.63216),
(708, 4.51944),
(709, 4.40648),
(710, 4.29),
(711, 4.14048),
(712, 3.98744),
(713, 3.83416),
(714, 3.68392),
(715, 3.54),
(716, 3.42328),
(717, 3.31504),
(718, 3.21416),
(719, 3.11952),
(720, 3.03),
(721, 2.94096),
(722, 2.85568),
(723, 2.77392),
(724, 2.69544),
(725, 2.62),
(726, 2.54864),
(727, 2.47952),
(728, 2.41208),
(729, 2.34576),
(730, 2.28),
(731, 2.2088),
(732, 2.1384),
(733, 2.0696),
(734, 2.0032),
(735, 1.94),
(736, 1.88592),
(737, 1.83536),
(738, 1.78784),
(739, 1.74288),
(740, 1.7),
(741, 1.65616),
(742, 1.61408),
(743, 1.57392),
(744, 1.53584),
(745, 1.5),
(746, 1.47104),
(747, 1.44352),
(748, 1.41648),
(749, 1.38896),
(750, 1.36),
(751, 1.19648),
(752, 1.06264),
(753, 0.99056),
(754, 1.01232),
(755, 1.16),
(756, 1.96712),
(757, 2.83896),
(758, 3.68224),
(759, 4.40368),
(760, 4.91),
(761, 4.34376),
(762, 3.56688),
(763, 2.67712),
(764, 1.77224),
(765, 0.95),
(766, 0.88064),
(767, 0.94632),
(768, 1.10168),
(769, 1.30136),
(770, 1.5),
(771, 1.42088),
(772, 1.30784),
(773, 1.17336),
(774, 1.02992),
(775, 0.89),
(776, 0.837333333333333),
(777, 0.795333333333333),
(778, 0.758666666666667),
(779, 0.722),
(780, 0.68),
];
impl Illuminant {
pub const FL3_1: Self = Self::new("FL3.1", IlluminantType::Fluorescent, Spd::new(&SPD_DATA));
}