use crate::{
illuminant::{Illuminant, IlluminantType},
spectral::Spd,
};
static SPD_DATA: [(u32, f64); 401] = [
(380, 0.9),
(381, 0.944),
(382, 0.987733333333333),
(383, 1.03146666666667),
(384, 1.07546666666667),
(385, 1.12),
(386, 1.16704),
(387, 1.21472),
(388, 1.26288),
(389, 1.31136),
(390, 1.36),
(391, 1.40920469135802),
(392, 1.45810820987654),
(393, 1.50640938271605),
(394, 1.55380703703704),
(395, 1.6),
(396, 1.64177450617284),
(397, 1.68247012345679),
(398, 1.72251382716065),
(399, 1.76233259389687),
(400, 1.80235575715488),
(401, 1.84523125053043),
(402, 1.98098359066298),
(403, 4.21277577587674),
(404, 16.8134155591741),
(405, 29.4449588800791),
(406, 16.8175476679051),
(407, 4.37005056143995),
(408, 2.25701170543549),
(409, 2.21661032397536),
(410, 2.2682970396147),
(411, 2.3242659271794),
(412, 2.38170641975324),
(413, 2.44033185185185),
(414, 2.49985783950617),
(415, 2.56),
(416, 2.61512185185185),
(417, 2.67162913580247),
(418, 2.73057549382716),
(419, 2.79301456790123),
(420, 2.86),
(421, 2.93872),
(422, 3.02256),
(423, 3.11104),
(424, 3.20368),
(425, 3.3),
(426, 3.39675456790123),
(427, 3.49692049382716),
(428, 3.60070913580247),
(429, 3.70833185185185),
(430, 3.82),
(431, 3.93837432098765),
(432, 4.06060444444444),
(433, 4.18628938271605),
(434, 4.31502814814815),
(435, 32.4028913916863),
(436, 145.029689658943),
(437, 4.72826798751778),
(438, 4.85109530864198),
(439, 4.98944),
(440, 5.12913580246914),
(441, 5.26934518518518),
(442, 5.41060839506173),
(443, 5.55285333333333),
(444, 5.69600790123457),
(445, 5.84),
(446, 5.98668148148148),
(447, 6.13357530864198),
(448, 6.28012839506173),
(449, 6.42578765432099),
(450, 6.57),
(451, 6.71064),
(452, 6.84912),
(453, 6.98528),
(454, 7.11896),
(455, 7.25),
(456, 7.3792),
(457, 7.5052),
(458, 7.6276),
(459, 7.746),
(460, 7.86),
(461, 7.96664),
(462, 8.06872),
(463, 8.16648),
(464, 8.26016),
(465, 8.35),
(466, 8.4372),
(467, 8.5208),
(468, 8.6008),
(469, 8.6772),
(470, 8.75),
(471, 8.81824),
(472, 8.88312),
(473, 8.94488),
(474, 9.00376),
(475, 9.06),
(476, 9.11544),
(477, 9.16832),
(478, 9.21848),
(479, 9.26576),
(480, 9.31),
(481, 9.34912),
(482, 9.38536),
(483, 9.41904),
(484, 9.45048),
(485, 9.48),
(486, 9.50984),
(487, 9.53792),
(488, 9.56408),
(489, 9.58816),
(490, 9.61),
(491, 9.6272),
(492, 9.6424),
(493, 9.656),
(494, 9.6684),
(495, 9.68),
(496, 9.68992),
(497, 9.70016),
(498, 9.71144),
(499, 9.72448),
(500, 9.74),
(501, 9.76352),
(502, 9.78976),
(503, 9.81824),
(504, 9.84848),
(505, 9.88),
(506, 9.90912),
(507, 9.93936),
(508, 9.97104),
(509, 10.00448),
(510, 10.04),
(511, 10.08112),
(512, 10.12416),
(513, 10.16864),
(514, 10.21408),
(515, 10.26),
(516, 10.30624),
(517, 10.35192),
(518, 10.39648),
(519, 10.43936),
(520, 10.48),
(521, 10.51336),
(522, 10.54448),
(523, 10.57392),
(524, 10.60224),
(525, 10.63),
(526, 10.65904),
(527, 10.68832),
(528, 10.71808),
(529, 10.74856),
(530, 10.78),
(531, 10.81328),
(532, 10.84784),
(533, 10.88376),
(534, 10.92112),
(535, 10.96),
(536, 10.9988997530864),
(537, 11.0398745679012),
(538, 11.0833995061728),
(539, 11.1299496296296),
(540, 11.18),
(541, 11.2374824691358),
(542, 11.2985511111111),
(543, 11.3628167901235),
(544, 11.4298903703704),
(545, 12.4072370465673),
(546, 105.55031615711),
(547, 19.7602641277677),
(548, 11.7160316049383),
(549, 11.79192),
(550, 11.8695061728395),
(551, 11.948082962963),
(552, 12.028347654321),
(553, 12.1103733333333),
(554, 12.1942330864198),
(555, 12.28),
(556, 12.3693037037037),
(557, 12.4602716049383),
(558, 12.552587654321),
(559, 12.6459358024691),
(560, 12.74),
(561, 12.83448),
(562, 12.92904),
(563, 13.02336),
(564, 13.11712),
(565, 13.21),
(566, 13.3016641975309),
(567, 13.391812345679),
(568, 13.4801283950617),
(569, 13.5662962962963),
(570, 13.65),
(571, 13.7287150617284),
(572, 13.8052316049383),
(573, 13.87944),
(574, 13.951230617284),
(575, 14.0204938271605),
(576, 17.6949070812334),
(577, 26.0673527853828),
(578, 14.2120228231985),
(579, 27.839068090131),
(580, 17.0609402063608),
(581, 14.3768582716049),
(582, 14.42536),
(583, 14.4704572839506),
(584, 14.5120404938272),
(585, 14.55),
(586, 14.578877037037),
(587, 14.6030360493827),
(588, 14.6227565432099),
(589, 14.6383180246914),
(590, 14.65),
(591, 14.65824),
(592, 14.66312),
(593, 14.66488),
(594, 14.66376),
(595, 14.66),
(596, 14.6548),
(597, 14.6472),
(598, 14.6372),
(599, 14.6248),
(600, 14.61),
(601, 14.59088),
(602, 14.56984),
(603, 14.54736),
(604, 14.52392),
(605, 14.5),
(606, 14.47416),
(607, 14.44928),
(608, 14.42632),
(609, 14.40624),
(610, 14.39),
(611, 14.38432),
(612, 14.38296),
(613, 14.38544),
(614, 14.39128),
(615, 14.4),
(616, 14.40856),
(617, 14.41968),
(618, 14.43352),
(619, 14.45024),
(620, 14.47),
(621, 14.49776),
(622, 14.52768),
(623, 14.55872),
(624, 14.58984),
(625, 14.62),
(626, 14.65104),
(627, 14.67832),
(628, 14.70008),
(629, 14.71456),
(630, 14.72),
(631, 14.69832),
(632, 14.66816),
(633, 14.63184),
(634, 14.59168),
(635, 14.55),
(636, 14.50848),
(637, 14.47024),
(638, 14.43776),
(639, 14.41352),
(640, 14.4),
(641, 14.41632),
(642, 14.44416),
(643, 14.48184),
(644, 14.52768),
(645, 14.58),
(646, 14.62368),
(647, 14.67384),
(648, 14.73216),
(649, 14.80032),
(650, 14.88),
(651, 15.0116),
(652, 15.1484),
(653, 15.2824),
(654, 15.4056),
(655, 15.51),
(656, 15.60552),
(657, 15.66176),
(658, 15.66624),
(659, 15.60648),
(660, 15.47),
(661, 15.13456),
(662, 14.72488),
(663, 14.25592),
(664, 13.74264),
(665, 13.2),
(666, 12.6516),
(667, 12.1016),
(668, 11.5628),
(669, 11.048),
(670, 10.57),
(671, 10.21776),
(672, 9.90888),
(673, 9.63712),
(674, 9.39624),
(675, 9.18),
(676, 8.96392),
(677, 8.76456),
(678, 8.58024),
(679, 8.40928),
(680, 8.25),
(681, 8.09752),
(682, 7.95416),
(683, 7.81904),
(684, 7.69128),
(685, 7.57),
(686, 7.45976),
(687, 7.35288),
(688, 7.24712),
(689, 7.14024),
(690, 7.03),
(691, 6.89912),
(692, 6.76416),
(693, 6.62664),
(694, 6.48808),
(695, 6.35),
(696, 6.21648),
(697, 6.08584),
(698, 5.95896),
(699, 5.83672),
(700, 5.72),
(701, 5.61768),
(702, 5.52064),
(703, 5.42776),
(704, 5.33792),
(705, 5.25),
(706, 5.16096),
(707, 5.07208),
(708, 4.98272),
(709, 4.89224),
(710, 4.8),
(711, 4.70024),
(712, 4.59872),
(713, 4.49608),
(714, 4.39296),
(715, 4.29),
(716, 4.1872),
(717, 4.086),
(718, 3.9872),
(719, 3.8916),
(720, 3.8),
(721, 3.71832),
(722, 3.64096),
(723, 3.56744),
(724, 3.49728),
(725, 3.43),
(726, 3.36352),
(727, 3.29936),
(728, 3.23744),
(729, 3.17768),
(730, 3.12),
(731, 3.06432),
(732, 3.01056),
(733, 2.95864),
(734, 2.90848),
(735, 2.86),
(736, 2.81376),
(737, 2.76888),
(738, 2.72512),
(739, 2.68224),
(740, 2.64),
(741, 2.59624),
(742, 2.55312),
(743, 2.51088),
(744, 2.46976),
(745, 2.43),
(746, 2.39248),
(747, 2.35664),
(748, 2.32256),
(749, 2.29032),
(750, 2.26),
(751, 2.2336),
(752, 2.2088),
(753, 2.1852),
(754, 2.1624),
(755, 2.14),
(756, 2.11824),
(757, 2.09592),
(758, 2.07248),
(759, 2.04736),
(760, 2.02),
(761, 1.98632),
(762, 1.95016),
(763, 1.91184),
(764, 1.87168),
(765, 1.83),
(766, 1.78776),
(767, 1.74448),
(768, 1.70032),
(769, 1.65544),
(770, 1.61),
(771, 1.56544),
(772, 1.52032),
(773, 1.47448),
(774, 1.42776),
(775, 1.38),
(776, 1.3288),
(777, 1.2768),
(778, 1.2244),
(779, 1.172),
(780, 1.12),
];
impl Illuminant {
pub const FL9: Self = Self::new("FL9", IlluminantType::Fluorescent, Spd::new(&SPD_DATA));
}