scalet 0.1.1

Continious wavelet transform
Documentation
/*
 * // Copyright (c) Radzivon Bartoshyk 12/2025. All rights reserved.
 * //
 * // Redistribution and use in source and binary forms, with or without modification,
 * // are permitted provided that the following conditions are met:
 * //
 * // 1.  Redistributions of source code must retain the above copyright notice, this
 * // list of conditions and the following disclaimer.
 * //
 * // 2.  Redistributions in binary form must reproduce the above copyright notice,
 * // this list of conditions and the following disclaimer in the documentation
 * // and/or other materials provided with the distribution.
 * //
 * // 3.  Neither the name of the copyright holder nor the names of its
 * // contributors may be used to endorse or promote products derived from
 * // this software without specific prior written permission.
 * //
 * // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * // DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
 * // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
 * // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
 * // CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 * // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

pub(crate) static INFERNO_R: [f32; 256] = [
    0.001462, 0.002267, 0.003299, 0.004547, 0.006006, 0.007676, 0.009561, 0.011663, 0.013995,
    0.016561, 0.019373, 0.022447, 0.025793, 0.029432, 0.033385, 0.037668, 0.042253, 0.046915,
    0.051644, 0.056449, 0.061340, 0.066331, 0.071429, 0.076637, 0.081962, 0.087411, 0.092990,
    0.098702, 0.104551, 0.110536, 0.116656, 0.122908, 0.129285, 0.135778, 0.142378, 0.149073,
    0.155850, 0.162689, 0.169575, 0.176493, 0.183429, 0.190367, 0.197297, 0.204209, 0.211095,
    0.217949, 0.224763, 0.231538, 0.238273, 0.244967, 0.251620, 0.258234, 0.264810, 0.271347,
    0.277850, 0.284321, 0.290763, 0.297178, 0.303568, 0.309935, 0.316282, 0.322610, 0.328921,
    0.335217, 0.341500, 0.347771, 0.354032, 0.360284, 0.366529, 0.372768, 0.379001, 0.385228,
    0.391453, 0.397674, 0.403894, 0.410113, 0.416331, 0.422549, 0.428768, 0.434987, 0.441207,
    0.447428, 0.453651, 0.459875, 0.466100, 0.472328, 0.478558, 0.484789, 0.491022, 0.497257,
    0.503493, 0.509730, 0.515967, 0.522206, 0.528444, 0.534683, 0.540920, 0.547157, 0.553392,
    0.559624, 0.565854, 0.572081, 0.578304, 0.584521, 0.590734, 0.596940, 0.603139, 0.609330,
    0.615513, 0.621685, 0.627847, 0.633998, 0.640135, 0.646260, 0.652369, 0.658463, 0.664540,
    0.670599, 0.676638, 0.682656, 0.688653, 0.694627, 0.700576, 0.706500, 0.712396, 0.718264,
    0.724103, 0.729909, 0.735683, 0.741423, 0.747127, 0.752794, 0.758422, 0.764010, 0.769556,
    0.775059, 0.780517, 0.785929, 0.791293, 0.796607, 0.801871, 0.807082, 0.812239, 0.817341,
    0.822386, 0.827372, 0.832299, 0.837165, 0.841969, 0.846709, 0.851384, 0.855992, 0.860533,
    0.865006, 0.869409, 0.873741, 0.878001, 0.882188, 0.886302, 0.890341, 0.894305, 0.898192,
    0.902003, 0.905735, 0.909390, 0.912966, 0.916462, 0.919879, 0.923215, 0.926470, 0.929644,
    0.932737, 0.935747, 0.938675, 0.941521, 0.944285, 0.946965, 0.949562, 0.952075, 0.954506,
    0.956852, 0.959114, 0.961293, 0.963387, 0.965397, 0.967322, 0.969163, 0.970919, 0.972590,
    0.974176, 0.975677, 0.977092, 0.978422, 0.979666, 0.980824, 0.981895, 0.982881, 0.983779,
    0.984591, 0.985315, 0.985952, 0.986502, 0.986964, 0.987337, 0.987622, 0.987819, 0.987926,
    0.987945, 0.987874, 0.987714, 0.987464, 0.987124, 0.986694, 0.986175, 0.985566, 0.984865,
    0.984075, 0.983196, 0.982228, 0.981173, 0.980032, 0.978806, 0.977497, 0.976108, 0.974638,
    0.973088, 0.971468, 0.969783, 0.968041, 0.966243, 0.964394, 0.962517, 0.960626, 0.958720,
    0.956834, 0.954997, 0.953215, 0.951546, 0.950018, 0.948683, 0.947594, 0.946809, 0.946392,
    0.946403, 0.946903, 0.947937, 0.949545, 0.951740, 0.954529, 0.957896, 0.961812, 0.966249,
    0.971162, 0.976511, 0.982257, 0.988362,
];
pub(crate) static INFERNO_G: [f32; 256] = [
    0.000466, 0.001270, 0.002249, 0.003392, 0.004692, 0.006136, 0.007713, 0.009417, 0.011225,
    0.013136, 0.015133, 0.017199, 0.019331, 0.021503, 0.023702, 0.025921, 0.028139, 0.030324,
    0.032474, 0.034569, 0.036590, 0.038504, 0.040294, 0.041905, 0.043328, 0.044556, 0.045583,
    0.046402, 0.047008, 0.047399, 0.047574, 0.047536, 0.047293, 0.046856, 0.046242, 0.045468,
    0.044559, 0.043554, 0.042489, 0.041402, 0.040329, 0.039309, 0.038400, 0.037632, 0.037030,
    0.036615, 0.036405, 0.036405, 0.036621, 0.037055, 0.037705, 0.038571, 0.039647, 0.040922,
    0.042353, 0.043933, 0.045644, 0.047470, 0.049396, 0.051407, 0.053490, 0.055634, 0.057827,
    0.060060, 0.062325, 0.064616, 0.066925, 0.069247, 0.071579, 0.073915, 0.076253, 0.078591,
    0.080927, 0.083257, 0.085580, 0.087896, 0.090203, 0.092501, 0.094790, 0.097069, 0.099338,
    0.101597, 0.103848, 0.106089, 0.108322, 0.110547, 0.112764, 0.114974, 0.117179, 0.119379,
    0.121575, 0.123769, 0.125960, 0.128150, 0.130341, 0.132534, 0.134729, 0.136929, 0.139134,
    0.141346, 0.143567, 0.145797, 0.148039, 0.150294, 0.152563, 0.154848, 0.157151, 0.159474,
    0.161817, 0.164184, 0.166575, 0.168992, 0.171438, 0.173914, 0.176421, 0.178962, 0.181539,
    0.184153, 0.186807, 0.189501, 0.192239, 0.195021, 0.197851, 0.200728, 0.203656, 0.206636,
    0.209670, 0.212759, 0.215906, 0.219112, 0.222378, 0.225706, 0.229097, 0.232554, 0.236077,
    0.239667, 0.243327, 0.247056, 0.250856, 0.254728, 0.258674, 0.262692, 0.266786, 0.270954,
    0.275197, 0.279517, 0.283913, 0.288385, 0.292933, 0.297559, 0.302260, 0.307038, 0.311892,
    0.316822, 0.321827, 0.326906, 0.332060, 0.337287, 0.342586, 0.347957, 0.353399, 0.358911,
    0.364492, 0.370140, 0.375856, 0.381636, 0.387481, 0.393389, 0.399359, 0.405389, 0.411479,
    0.417627, 0.423831, 0.430091, 0.436405, 0.442772, 0.449191, 0.455660, 0.462178, 0.468744,
    0.475356, 0.482014, 0.488716, 0.495462, 0.502249, 0.509078, 0.515946, 0.522853, 0.529798,
    0.536780, 0.543798, 0.550850, 0.557937, 0.565057, 0.572209, 0.579392, 0.586606, 0.593849,
    0.601122, 0.608422, 0.615750, 0.623105, 0.630485, 0.637890, 0.645320, 0.652773, 0.660250,
    0.667748, 0.675267, 0.682807, 0.690366, 0.697944, 0.705540, 0.713153, 0.720782, 0.728427,
    0.736087, 0.743758, 0.751442, 0.759135, 0.766837, 0.774545, 0.782258, 0.789974, 0.797692,
    0.805409, 0.813122, 0.820825, 0.828515, 0.836191, 0.843848, 0.851476, 0.859069, 0.866624,
    0.874129, 0.881569, 0.888942, 0.896226, 0.903409, 0.910473, 0.917399, 0.924168, 0.930761,
    0.937159, 0.943348, 0.949318, 0.955063, 0.960587, 0.965896, 0.971003, 0.975924, 0.980678,
    0.985282, 0.989753, 0.994109, 0.998364,
];
pub(crate) static INFERNO_B: [f32; 256] = [
    0.013866, 0.018570, 0.024239, 0.030909, 0.038558, 0.046836, 0.055143, 0.063460, 0.071862,
    0.080282, 0.088767, 0.097327, 0.105930, 0.114621, 0.123397, 0.132232, 0.141141, 0.150164,
    0.159254, 0.168414, 0.177642, 0.186962, 0.196354, 0.205799, 0.215289, 0.224813, 0.234358,
    0.243904, 0.253430, 0.262912, 0.272321, 0.281624, 0.290788, 0.299776, 0.308553, 0.317085,
    0.325338, 0.333277, 0.340874, 0.348111, 0.354971, 0.361447, 0.367535, 0.373238, 0.378563,
    0.383522, 0.388129, 0.392400, 0.396353, 0.400007, 0.403378, 0.406485, 0.409345, 0.411976,
    0.414392, 0.416608, 0.418637, 0.420491, 0.422182, 0.423721, 0.425116, 0.426377, 0.427511,
    0.428524, 0.429425, 0.430217, 0.430906, 0.431497, 0.431994, 0.432400, 0.432719, 0.432955,
    0.433109, 0.433183, 0.433179, 0.433098, 0.432943, 0.432714, 0.432412, 0.432039, 0.431594,
    0.431080, 0.430498, 0.429846, 0.429125, 0.428334, 0.427475, 0.426548, 0.425552, 0.424488,
    0.423356, 0.422156, 0.420887, 0.419549, 0.418142, 0.416667, 0.415123, 0.413511, 0.411829,
    0.410078, 0.408258, 0.406369, 0.404411, 0.402385, 0.400290, 0.398125, 0.395891, 0.393589,
    0.391219, 0.388781, 0.386276, 0.383704, 0.381065, 0.378359, 0.375586, 0.372748, 0.369846,
    0.366879, 0.363849, 0.360757, 0.357603, 0.354388, 0.351113, 0.347777, 0.344383, 0.340931,
    0.337424, 0.333861, 0.330245, 0.326576, 0.322856, 0.319085, 0.315266, 0.311399, 0.307485,
    0.303526, 0.299523, 0.295477, 0.291390, 0.287264, 0.283099, 0.278898, 0.274661, 0.270390,
    0.266085, 0.261750, 0.257383, 0.252988, 0.248564, 0.244113, 0.239636, 0.235133, 0.230606,
    0.226055, 0.221482, 0.216886, 0.212268, 0.207628, 0.202968, 0.198286, 0.193584, 0.188860,
    0.184116, 0.179350, 0.174563, 0.169755, 0.164924, 0.160070, 0.155193, 0.150292, 0.145367,
    0.140417, 0.135440, 0.130438, 0.125409, 0.120354, 0.115272, 0.110164, 0.105031, 0.099874,
    0.094695, 0.089499, 0.084289, 0.079073, 0.073859, 0.068659, 0.063488, 0.058367, 0.053324,
    0.048392, 0.043618, 0.039050, 0.034931, 0.031409, 0.028508, 0.026250, 0.024661, 0.023770,
    0.023606, 0.024202, 0.025592, 0.027814, 0.030908, 0.034916, 0.039886, 0.045581, 0.051750,
    0.058329, 0.065257, 0.072489, 0.079990, 0.087731, 0.095694, 0.103863, 0.112229, 0.120785,
    0.129527, 0.138453, 0.147565, 0.156863, 0.166353, 0.176037, 0.185923, 0.196018, 0.206332,
    0.216877, 0.227658, 0.238686, 0.249972, 0.261534, 0.273391, 0.285546, 0.298010, 0.310820,
    0.323974, 0.337475, 0.351369, 0.365627, 0.380271, 0.395289, 0.410665, 0.426373, 0.442367,
    0.458592, 0.474970, 0.491426, 0.507860, 0.524203, 0.540361, 0.556275, 0.571925, 0.587206,
    0.602154, 0.616760, 0.631017, 0.644924,
];