@ -12,9 +12,8 @@ pub struct Mask<'core> {
pub luma_scaling : f32 ,
}
lazy_static ! {
pub static ref FLOAT_RANGE : Vec < f32 > = ( 0 .. 256 ) . map ( | i | ( i as f32 ) / 256.0 ) . collect ( ) ;
}
#[ rustfmt::skip ]
static FLOAT_RANGE : [ f32 ; 256 ] = [ 0.0 , 0.003921569 , 0.007843138 , 0.011764706 , 0.015686275 , 0.019607844 , 0.023529412 , 0.02745098 , 0.03137255 , 0.03529412 , 0.039215688 , 0.043137256 , 0.047058824 , 0.050980393 , 0.05490196 , 0.05882353 , 0.0627451 , 0.06666667 , 0.07058824 , 0.07450981 , 0.078431375 , 0.08235294 , 0.08627451 , 0.09019608 , 0.09411765 , 0.09803922 , 0.101960786 , 0.105882354 , 0.10980392 , 0.11372549 , 0.11764706 , 0.12156863 , 0.1254902 , 0.12941177 , 0.13333334 , 0.13725491 , 0.14117648 , 0.14509805 , 0.14901961 , 0.15294118 , 0.15686275 , 0.16078432 , 0.16470589 , 0.16862746 , 0.17254902 , 0.1764706 , 0.18039216 , 0.18431373 , 0.1882353 , 0.19215687 , 0.19607843 , 0.2 , 0.20392157 , 0.20784314 , 0.21176471 , 0.21568628 , 0.21960784 , 0.22352941 , 0.22745098 , 0.23137255 , 0.23529412 , 0.23921569 , 0.24313726 , 0.24705882 , 0.2509804 , 0.25490198 , 0.25882354 , 0.2627451 , 0.26666668 , 0.27058825 , 0.27450982 , 0.2784314 , 0.28235295 , 0.28627452 , 0.2901961 , 0.29411766 , 0.29803923 , 0.3019608 , 0.30588236 , 0.30980393 , 0.3137255 , 0.31764707 , 0.32156864 , 0.3254902 , 0.32941177 , 0.33333334 , 0.3372549 , 0.34117648 , 0.34509805 , 0.34901962 , 0.3529412 , 0.35686275 , 0.36078432 , 0.3647059 , 0.36862746 , 0.37254903 , 0.3764706 , 0.38039216 , 0.38431373 , 0.3882353 , 0.39215687 , 0.39607844 , 0.4 , 0.40392157 , 0.40784314 , 0.4117647 , 0.41568628 , 0.41960785 , 0.42352942 , 0.42745098 , 0.43137255 , 0.43529412 , 0.4392157 , 0.44313726 , 0.44705883 , 0.4509804 , 0.45490196 , 0.45882353 , 0.4627451 , 0.46666667 , 0.47058824 , 0.4745098 , 0.47843137 , 0.48235294 , 0.4862745 , 0.49019608 , 0.49411765 , 0.49803922 , 0.5019608 , 0.5058824 , 0.50980395 , 0.5137255 , 0.5176471 , 0.52156866 , 0.5254902 , 0.5294118 , 0.53333336 , 0.5372549 , 0.5411765 , 0.54509807 , 0.54901963 , 0.5529412 , 0.5568628 , 0.56078434 , 0.5647059 , 0.5686275 , 0.57254905 , 0.5764706 , 0.5803922 , 0.58431375 , 0.5882353 , 0.5921569 , 0.59607846 , 0.6 , 0.6039216 , 0.60784316 , 0.6117647 , 0.6156863 , 0.61960787 , 0.62352943 , 0.627451 , 0.6313726 , 0.63529414 , 0.6392157 , 0.6431373 , 0.64705884 , 0.6509804 , 0.654902 , 0.65882355 , 0.6627451 , 0.6666667 , 0.67058825 , 0.6745098 , 0.6784314 , 0.68235296 , 0.6862745 , 0.6901961 , 0.69411767 , 0.69803923 , 0.7019608 , 0.7058824 , 0.70980394 , 0.7137255 , 0.7176471 , 0.72156864 , 0.7254902 , 0.7294118 , 0.73333335 , 0.7372549 , 0.7411765 , 0.74509805 , 0.7490196 , 0.7529412 , 0.75686276 , 0.7607843 , 0.7647059 , 0.76862746 , 0.77254903 , 0.7764706 , 0.78039217 , 0.78431374 , 0.7882353 , 0.7921569 , 0.79607844 , 0.8 , 0.8039216 , 0.80784315 , 0.8117647 , 0.8156863 , 0.81960785 , 0.8235294 , 0.827451 , 0.83137256 , 0.8352941 , 0.8392157 , 0.84313726 , 0.84705883 , 0.8509804 , 0.85490197 , 0.85882354 , 0.8627451 , 0.8666667 , 0.87058824 , 0.8745098 , 0.8784314 , 0.88235295 , 0.8862745 , 0.8901961 , 0.89411765 , 0.8980392 , 0.9019608 , 0.90588236 , 0.9098039 , 0.9137255 , 0.91764706 , 0.92156863 , 0.9254902 , 0.92941177 , 0.93333334 , 0.9372549 , 0.9411765 , 0.94509804 , 0.9490196 , 0.9529412 , 0.95686275 , 0.9607843 , 0.9647059 , 0.96862745 , 0.972549 , 0.9764706 , 0.98039216 , 0.9843137 , 0.9882353 , 0.99215686 , 0.99607843 , 1.0 ] ;
#[ inline ]
pub fn get_mask_value ( x : f32 , luma_scaling : f32 ) -> f32 {
@ -232,9 +231,9 @@ mod tests {
// Just in case this isn’ t the last time I rewrite the lut builder:
#[ rustfmt::skip ]
static EXPECTED_MASK_02 : [ f32 ; 256 ] = [ 1.0 , 0.99829 847, 0.99670357 , 0.9952108 , 0.99381596 , 0.99251467 , 0.9913026 , 0.99017555 , 0.98912925 , 0.9881595 , 0.9872621 , 0.98643315 , 0.98566836 , 0.98496383 , 0.98431563 , 0.98371994 , 0.9831729 , 0.9826707 , 0.98220986 , 0.9817866 , 0.9813975 , 0.9810391 , 0.980708 , 0.980401 , 0.9801147 , 0.9798461 , 0.97959214 , 0.97934985 , 0.9791162 , 0.9788885 , 0.9786639 , 0.97843987 , 0.9782137 , 0.97798294 , 0.97774506 , 0.9774978 , 0.9772388 , 0.97696584 , 0.9766768 , 0.97636956 , 0.9760422 , 0.97569263 , 0.97531915 , 0.97491974 , 0.97449285 , 0.9740367 , 0.9735496 , 0.9730301 , 0.9724766 , 0.9718877 , 0.97126204 , 0.9705982 , 0.96989495 , 0.96915096 , 0.9683652 , 0.9675364 , 0.9666635 , 0.9657455 , 0.96478134 , 0.9637701 , 0.96271086 , 0.96160275 , 0.9604449 , 0.9592366 , 0.95797706 , 0.9566655 , 0.9553014 , 0.95388395 , 0.95241266 , 0.95088685 , 0.949306 , 0.9476697 , 0.9459774 , 0.9442286 , 0.9424229 , 0.94056 , 0.93863946 , 0.93666095 , 0.93462414 , 0.9325288 , 0.93037456 , 0.9281613 , 0.9258888 , 0.9235568 , 0.92116517 , 0.9187138 , 0.9162025 , 0.9136312 , 0.91099983 , 0.9083083 , 0.9055567 , 0.90274477 , 0.8998728 , 0.8969405 , 0.8939482 , 0.8908958 , 0.88778335 , 0.88461095 , 0.8813788 , 0.87808704 , 0.87473565 , 0.871325 , 0.8678552 , 0.8643263 , 0.8607387 , 0.8570925 , 0.85338813 , 0.8496256 , 0.84580535 , 0.8419277 , 0.83799297 , 0.83400136 , 0.8299533 , 0.8258492 , 0.8216893 , 0.8174741 , 0.81320417 , 0.80887955 , 0.8045011 , 0.80006903 , 0.79558396 , 0.7910463 , 0.78645676 , 0.7818155 , 0.7771236 , 0.7723811 , 0.76758915 , 0.7627478 , 0.75785816 , 0.75292087 , 0.7479362 , 0.74290544 , 0.7378288 , 0.7327075 , 0.72754174 , 0.72233313 , 0.71708167 , 0.7117891 , 0.7064553 , 0.7010822 , 0.6956699 , 0.69022 , 0.6847333 , 0.6792108 , 0.67365366 , 0.668063 , 0.6624399 , 0.65678567 , 0.65110123 , 0.6453887 , 0.63964826 , 0.63388246 , 0.6280915 , 0.622278 , 0.61644244 , 0.6105874 , 0.6047135 , 0.5988235 , 0.5929182 , 0.58700025 , 0.58107054 , 0.57513213 , 0.5691858 , 0.56323487 , 0.55728036 , 0.5513258 , 0.54537195 , 0.5394228 , 0.5334794 , 0.52754575 , 0.52162296 , 0.5157146 , 0.50982434 , 0.5039534 , 0.49810678 , 0.4922856 , 0.48649472 , 0.48073623 , 0.47501534 , 0.46933344 , 0.46369645 , 0.4581058 , 0.45256722 , 0.44708318 , 0.4416599 , 0.4362986 , 0.4310061 , 0.42578426 , 0.42064053 , 0.41557512 , 0.41059688 , 0.4057069 , 0.4009107 , 0.39621186 , 0.39161587 , 0.3871265 , 0.38274762 , 0.37848303 , 0.37433672 , 0.37031212 , 0.36641234 , 0.36264044 , 0.35899892 , 0.35549006 , 0.35211465 , 0.34887564 , 0.3457732 , 0.34280726 , 0.33997762 , 0.33728316 , 0.3347223 , 0.33229122 , 0.32998928 , 0.3278117 , 0.32575342 , 0.32380822 , 0.32197225 , 0.32023716 , 0.31859392 , 0.31703717 , 0.3155556 , 0.31413817 , 0.31277677 , 0.31145856 , 0.3101692 , 0.3088991 , 0.30763134 , 0.30635372 , 0.30504793 , 0.30370083 , 0.30229148 , 0.30080518 , 0.29921892 , 0.29751524 , 0.29566884 , 0.29365554 , 0.29145348 , 0.28903463 , 0.28636503 , 0.28341296 , 0.2801431 , 0.27650893 , 0.27246484 , 0.2679581 , 0.26291874 , 0.25727344 , 0.25092778 , 0.24376981 , 0.23564698 , 0.22636926 , 0.2156733 , 0.20318091 , 0.18831593 , 0.17008513 , 0.14654778 , 0.11254175 ] ;
static EXPECTED_MASK_02 : [ f32 ; 256 ] = [ 1.0 , 0.99829 2, 0.99669147 , 0.99519384 , 0.9937948 , 0.99249005 , 0.99127513 , 0.99014574 , 0.98909765 , 0.98812664 , 0.9872284 , 0.9863988 , 0.98563385 , 0.9849295 , 0.9842816 , 0.98368645 , 0.9831401 , 0.9826388 , 0.9821788 , 0.9817565 , 0.98136836 , 0.98101085 , 0.98068064 , 0.98037434 , 0.9800887 , 0.97982067 , 0.979567 , 0.97932476 , 0.9790909 , 0.9788629 , 0.97863764 , 0.97841257 , 0.97818506 , 0.9779526 , 0.9777127 , 0.977463 , 0.97720116 , 0.97692496 , 0.97663224 , 0.97632086 , 0.97598886 , 0.9756343 , 0.9752552 , 0.97484976 , 0.97441626 , 0.973953 , 0.9734583 , 0.97293067 , 0.9723685 , 0.97177035 , 0.9711349 , 0.9704607 , 0.96974653 , 0.96899116 , 0.9681933 , 0.9673519 , 0.9664658 , 0.965534 , 0.9645555 , 0.9635293 , 0.96245456 , 0.9613303 , 0.96015584 , 0.9589302 , 0.9576528 , 0.9563228 , 0.95493966 , 0.9535026 , 0.9520111 , 0.95046455 , 0.9488624 , 0.9472042 , 0.94548935 , 0.94371754 , 0.9418882 , 0.94000113 , 0.9380558 , 0.936052 , 0.93398947 , 0.9318677 , 0.9296866 , 0.9274459 , 0.9251454 , 0.92278486 , 0.92036426 , 0.91788334 , 0.91534203 , 0.91274023 , 0.9100778 , 0.9073548 , 0.9045712 , 0.9017268 , 0.89882183 , 0.8958562 , 0.89282995 , 0.8897432 , 0.886596 , 0.8833886 , 0.88012075 , 0.876793 , 0.8734053 , 0.8699578 , 0.8664507 , 0.8628842 , 0.85925865 , 0.8555742 , 0.85183114 , 0.8480296 , 0.84417003 , 0.8402527 , 0.836278 , 0.8322462 , 0.82815754 , 0.8240127 , 0.81981164 , 0.8155552 , 0.8112436 , 0.8068773 , 0.8024568 , 0.79798263 , 0.7934552 , 0.788875 , 0.78424263 , 0.77955866 , 0.77482367 , 0.7700382 , 0.76520306 , 0.7603186 , 0.7553858 , 0.750405 , 0.74537706 , 0.7403031 , 0.73518324 , 0.73001873 , 0.72480994 , 0.7195582 , 0.714264 , 0.7089286 , 0.70355237 , 0.6981368 , 0.6926824 , 0.6871906 , 0.68166244 , 0.6760984 , 0.67050064 , 0.66486925 , 0.65920633 , 0.6535124 , 0.64778924 , 0.6420377 , 0.63625985 , 0.6304561 , 0.62462854 , 0.6187791 , 0.61290854 , 0.60701925 , 0.60111195 , 0.5951895 , 0.58925253 , 0.5833042 , 0.57734525 , 0.5713786 , 0.5654054 , 0.55942863 , 0.5534506 , 0.5474728 , 0.54149866 , 0.5355294 , 0.5295689 , 0.52361876 , 0.51768285 , 0.5117627 , 0.50586176 , 0.49998415 , 0.49413142 , 0.48830834 , 0.48251665 , 0.47676167 , 0.4710447 , 0.4653721 , 0.45974478 , 0.45416957 , 0.44864753 , 0.44318435 , 0.43778518 , 0.4324514 , 0.4271907 , 0.42200384 , 0.4168986 , 0.41187632 , 0.40694392 , 0.4021045 , 0.39736322 , 0.39272374 , 0.38819104 , 0.38376838 , 0.37945992 , 0.3752701 , 0.37120032 , 0.36725762 , 0.36344275 , 0.35975853 , 0.3562081 , 0.35279226 , 0.34951332 , 0.3463715 , 0.3433669 , 0.34050032 , 0.33777085 , 0.3351737 , 0.3327109 , 0.33037695 , 0.32816976 , 0.32608336 , 0.32411364 , 0.32225302 , 0.32049632 , 0.31883442 , 0.31725863 , 0.31575835 , 0.31432915 , 0.31295443 , 0.31162542 , 0.31032994 , 0.30905154 , 0.30778122 , 0.30649903 , 0.30519295 , 0.3038461 , 0.30243647 , 0.3009518 , 0.29937094 , 0.29767165 , 0.29583326 , 0.2938297 , 0.29163584 , 0.28922495 , 0.28656486 , 0.28362364 , 0.28036165 , 0.27673277 , 0.2726987 , 0.26819843 , 0.2631695 , 0.25753176 , 0.25119466 , 0.24403761 , 0.23592123 , 0.2266435 , 0.2159501 , 0.20344463 , 0.18856688 , 0.17031908 , 0.1467575 , 0.11270576 , 0.00323677 ] ;
#[ rustfmt::skip ]
static EXPECTED_MASK_08 : [ f32 ; 256 ] = [ 1.0 , 0.973 12033, 0.94854075 , 0.92606485 , 0.9055145 , 0.88672876 , 0.86956084 , 0.8538767 , 0.839554 , 0.82648087 , 0.8145538 , 0.8036785 , 0.793767 , 0.7847378 , 0.7765157 , 0.7690307 , 0.76221645 , 0.7560116 , 0.7503583 , 0.7452015 , 0.7404903 , 0.73617536 , 0.73221 , 0.72855055 , 0.7251544 , 0.72198164 , 0.7189933 , 0.71615267 , 0.7134242 , 0.7107743 , 0.70816976 , 0.7055801 , 0.7029752 , 0.7003262 , 0.69760597 , 0.6947885 , 0.69184875 , 0.68876356 , 0.6855104 , 0.68206835 , 0.6784181 , 0.6745413 , 0.6704213 , 0.66604257 , 0.6613911 , 0.65645486 , 0.65122217 , 0.6456841 , 0.6398328 , 0.6336617 , 0.6271661 , 0.6203427 , 0.6131898 , 0.6057077 , 0.5978976 , 0.5897622 , 0.5813064 , 0.57253623 , 0.56345886 , 0.55408335 , 0.54441965 , 0.5344795 , 0.52427536 , 0.5138211 , 0.5031317 , 0.4922232 , 0.48111236 , 0.46981704 , 0.45835546 , 0.4467467 , 0.4350106 , 0.42316702 , 0.4112368 , 0.39924026 , 0.38719845 , 0.37513202 , 0.36306223 , 0.35100925 , 0.33899403 , 0.32703626 , 0.31515577 , 0.30337203 , 0.29170325 , 0.28016755 , 0.268782 , 0.25756323 , 0.2465265 , 0.23568656 , 0.22505718 , 0.21465099 , 0.20447965 , 0.19455387 , 0.18488336 , 0.17547633 , 0.1663404 , 0.15748179 , 0.14890584 , 0.14061676 , 0.13261788 , 0.1249111 , 0.11749773 , 0.11037807 , 0.10355142 , 0.09701606 , 0.09076972 , 0.08480923 , 0.07913076 , 0.07372954 , 0.06860047 , 0.06373775 , 0.05913521 , 0.05478584 , 0.05068255 , 0.046817873 , 0.043183923 , 0.039772622 , 0.03657578 , 0.03358472 , 0.030791199 , 0.0281864 , 0.025761817 , 0.02350881 , 0.021418924 , 0.019483581 , 0.017694633 , 0.01604377 , 0.014523158 , 0.013124882 , 0.011841504 , 0.010665701 , 0.009590316 , 0.008608681 , 0.0077141733 , 0.0069006504 , 0.0061620683 , 0.005492886 , 0.0048876274 , 0.004341311 , 0.0038490645 , 0.003406462 , 0.0030092031 , 0.002653386 , 0.0023353002 , 0.0020515076 , 0.0017988166 , 0.0015742666 , 0.0013751301 , 0.0011988885 , 0.0010432207 , 0.0009060293 , 0.0007853431 , 0.0006794224 , 0.000586633 , 0.0005055344 , 0.00043479103 , 0.00037322083 , 0.00031973835 , 0.000273389 , 0.00023330118 , 0.00019870678 , 0.00016891248 , 0.00014331177 , 0.00012135691 , 0.00010257295 , 0.00008653258 , 0.00007286733 , 0.000061247025 , 0.000051388823 , 0.00004304101 , 0.000035988374 , 0.0000300405 , 0.000025035166 , 0.000020831892 , 0.000017307977 , 0.000014360154 , 0.000011898005 , 0.000009845784 , 0.000008137849 , 0.0000067192714 , 0.0000055424794 , 0.0000045681495 , 0.0000037622924 , 0.000003096917 , 0.0000025480817 , 0.000002096078 , 0.0000017240154 , 0.0000014181916 , 0.0000011669001 , 0.0000009606775 , 0.0000007913941 , 0.0000006526048 , 0.00000053876414 , 0.00000044541238 , 0.0000003688414 , 0.0000003060302 , 0.0000002544758 , 0.0000002121291 , 0.00000017731381 , 0.0000001486616 , 0.00000012505093 , 0.00000010556544 , 0.00000008945813 , 0.000000076118496 , 0.00000006504881 , 0.000000055840008 , 0.000000048164882 , 0.000000041750454 , 0.000000036374765 , 0.000000031857045 , 0.00000002804884 , 0.000000024828736 , 0.0000000220954 , 0.000000019769583 , 0.000000017782428 , 0.000000016077687 , 0.000000014608518 , 0.000000013338133 , 0.000000012233408 , 0.000000011266786 , 0.00000001041748 , 0.000000009665278 , 0.000000008993553 , 0.000000008389807 , 0.000000007841596 , 0.000000007338018 , 0.0000000068717365 , 0.0000000064341195 , 0.000000006019636 , 0.0000000056219833 , 0.000000005237641 , 0.0000000048619975 , 0.0000000044932946 , 0.000000004128811 , 0.0000000037683177 , 0.0000000034110592 , 0.0000000030578147 , 0.000000002710866 , 0.0000000023724578 , 0.0000000020451252 , 0.0000000017326667 , 0.0000000014390599 , 0.0000000011677407 , 0.00000000092250246 , 0.00000000070643236 , 0.00000000052136806 , 0.00000000036839945 , 0.00000000024704733 , 0.00000000015548153 , 0.0000000000904045 , 0.000000000047542185 , 0.000000000021915018 , 0.000000000008435807 , 0.0000000000025014576 , 0.0000000000004905257 , 0.00000000000004525513 , 0.0000000000000006622447 ] ;
static EXPECTED_MASK_08 : [ f32 ; 256 ] = [ 1.0 , 0.973 01966, 0.9483565 , 0.92581207 , 0.9052065 , 0.8863773 , 0.86917543 , 0.8534658 , 0.8391256 , 0.82604086 , 0.81410825 , 0.80323166 , 0.79332286 , 0.78429985 , 0.7760863 , 0.7686117 , 0.7618097 , 0.7556182 , 0.7499784 , 0.7448358 , 0.74013805 , 0.735836 , 0.7318828 , 0.7282341 , 0.724847 , 0.7216812 , 0.7186976 , 0.7158591 , 0.7131299 , 0.71047634 , 0.70786506 , 0.705265 , 0.7026458 , 0.6999789 , 0.69723636 , 0.69439274 , 0.6914226 , 0.68830246 , 0.6850099 , 0.6815241 , 0.6778255 , 0.6738958 , 0.66971844 , 0.6652776 , 0.6605602 , 0.65555304 , 0.650246 , 0.6446294 , 0.6386957 , 0.6324387 , 0.6258541 , 0.6189384 , 0.6116908 , 0.60411143 , 0.59620154 , 0.5879653 , 0.5794071 , 0.5705335 , 0.5613522 , 0.55187273 , 0.5421053 , 0.532062 , 0.52175605 , 0.5112014 , 0.5004138 , 0.4894094 , 0.47820586 , 0.46682078 , 0.45527333 , 0.44358265 , 0.43176922 , 0.41985318 , 0.4078552 , 0.39579678 , 0.38369834 , 0.37158158 , 0.35946706 , 0.3473761 , 0.33532932 , 0.3233465 , 0.31144762 , 0.29965213 , 0.28797832 , 0.27644426 , 0.2650672 , 0.2538632 , 0.24284792 , 0.23203576 , 0.22144021 , 0.21107364 , 0.20094803 , 0.19107313 , 0.18145862 , 0.17211263 , 0.1630422 , 0.15425344 , 0.14575136 , 0.13753979 , 0.12962131 , 0.121998124 , 0.11467082 , 0.107639365 , 0.100902446 , 0.09445834 , 0.08830449 , 0.08243708 , 0.076852135 , 0.07154449 , 0.06650879 , 0.061738882 , 0.05722833 , 0.052969858 , 0.048956152 , 0.045179587 , 0.041631833 , 0.03830488 , 0.035190117 , 0.032279003 , 0.029562855 , 0.027033038 , 0.02468074 , 0.022497335 , 0.020474205 , 0.018602902 , 0.016875094 , 0.015282571 , 0.013817431 , 0.012471816 , 0.0112383105 , 0.0101095475 , 0.009078545 , 0.008138663 , 0.0072833193 , 0.006506449 , 0.0058021126 , 0.0051648114 , 0.004589231 , 0.004070427 , 0.0036036533 , 0.0031845558 , 0.0028089648 , 0.0024730647 , 0.0021732512 , 0.0019061574 , 0.0016687337 , 0.0014580758 , 0.0012715748 , 0.001106781 , 0.0009614784 , 0.0008336202 , 0.00072136015 , 0.00062298466 , 0.00053696934 , 0.00046192406 , 0.00039657977 , 0.00033981237 , 0.00029059322 , 0.00024801854 , 0.00021126306 , 0.00017960659 , 0.00015239452 , 0.00012905747 , 0.0001090837 , 0.000092026974 , 0.000077492776 , 0.00006513292 , 0.000054645934 , 0.00004576495 , 0.00003826129 , 0.000031933254 , 0.000026608495 , 0.000022135933 , 0.000018386958 , 0.000015251044 , 0.000012632214 , 0.000010449756 , 0.000008633694 , 0.000007125597 , 0.000005874811 , 0.0000048395545 , 0.000003983536 , 0.0000032770909 , 0.0000026945397 , 0.0000022148818 , 0.0000018204425 , 0.0000014962245 , 0.000001230123 , 0.000001011725 , 0.00000083269754 , 0.00000068591316 , 0.0000005656565 , 0.00000046711415 , 0.0000003863694 , 0.00000032018005 , 0.00000026590607 , 0.00000022136388 , 0.00000018477976 , 0.0000001547046 , 0.00000012993713 , 0.000000109530006 , 0.000000092677915 , 0.00000007873675 , 0.00000006718318 , 0.00000005758441 , 0.00000004959293 , 0.000000042921464 , 0.000000037336587 , 0.000000032649805 , 0.000000028704813 , 0.0000000253699 , 0.000000022546159 , 0.00000002014448 , 0.000000018095754 , 0.000000016340236 , 0.000000014830539 , 0.000000013525465 , 0.000000012392772 , 0.00000001140364 , 0.000000010534523 , 0.0000000097651105 , 0.000000009081434 , 0.000000008466379 , 0.000000007909084 , 0.000000007399097 , 0.000000006926191 , 0.000000006484458 , 0.0000000060654903 , 0.000000005664892 , 0.000000005277865 , 0.00000000489944 , 0.0000000045284674 , 0.0000000041625015 , 0.0000000038001398 , 0.0000000034415308 , 0.0000000030869618 , 0.000000002738131 , 0.000000002397576 , 0.0000000020680777 , 0.0000000017533902 , 0.0000000014571282 , 0.0000000011829588 , 0.0000000009352538 , 0.00000000071663736 , 0.0000000005293817 , 0.00000000037436287 , 0.00000000025128466 , 0.00000000015823709 , 0.000000000092102735 , 0.000000000048472164 , 0.000000000022369412 , 0.000000000008612706 , 0.000000000002555328 , 0.00000000000050143293 , 0.00000000000004630252 , 0.0000000000000006778562 , 0.000000000000000000000000000000000000000145141 ] ;
#[ test ]
fn test_mask_values ( ) {
@ -242,13 +241,27 @@ mod tests {
. iter ( )
. zip ( EXPECTED_MASK_02 . iter ( ) )
. for_each ( | ( & x , & exp ) | {
assert! ( ( get_mask_value ( x , calc_luma_scaling ( 0.2 , 10.0 ) ) - exp ) . abs ( ) < 0.0001 ) ;
let value = get_mask_value ( x , calc_luma_scaling ( 0.2 , 10.0 ) ) ;
assert! (
( value - exp ) . abs ( ) < 0.0001 ,
"luma scaling 0.2: Mask was wrong at position {}, expected {}, got {}" ,
x ,
exp ,
value
) ;
} ) ;
FLOAT_RANGE
. iter ( )
. zip ( EXPECTED_MASK_08 . iter ( ) )
. for_each ( | ( & x , & exp ) | {
assert! ( ( get_mask_value ( x , calc_luma_scaling ( 0.8 , 10.0 ) ) - exp ) . abs ( ) < 0.0001 ) ;
let value = get_mask_value ( x , calc_luma_scaling ( 0.8 , 10.0 ) ) ;
assert! (
( value - exp ) . abs ( ) < 0.0001 ,
"luma scaling 0.8: Mask was wrong at position {}, expected {}, got {}" ,
x ,
exp ,
value
) ;
} ) ;
}