Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Problems with pack-ing data.

by seann (Initiate)
on Apr 26, 2021 at 15:31 UTC ( #11131732=perlquestion: print w/replies, xml ) Need Help??

seann has asked for the wisdom of the Perl Monks concerning the following question:

I have a Perl array of prices that I am converting to integers (price * 100) and then packing the data using w* (BER compressed integer). I don't know if I am misusing pack, or found a corner case with encoding data using w*. My program creates an array of prices and saves a packed copy in $pack1, prints the data before and after modification and then saves a packed copy in $pack2 which should be different. A quick comparison at the end shows $pack1 eq $pack2.
> ./packbug2 data before modification 160.22 data after modification 160.23 packed data is the same, utter madness!!! > perl -v This is perl 5, version 30, subversion 3 (v5.30.3) built for x86_64-li +nux-thread-multi (with 96 registered patches, see perl -V for more detail) Copyright 1987-2020, Larry Wall Perl may be copied only under the terms of either the Artistic License + or the GNU General Public License, which may be found in the Perl 5 source ki +t. Complete documentation for Perl, including FAQ lists, should be found +on this system using "man perl" or "perldoc perl". If you have access to + the Internet, point your browser at http://www.perl.org/, the Perl Home Pa +ge.
I have even tried pack templates l* and L* and get the same output. If I change the modified price to be 160.21 or 160.24, then the code works correctly. I only have a problem when modifying to the value 160.23.

Any idea what I am doing wrong?

#!/bin/perl my $start=11487; my $end=18740; my $edate=18451; my @data=[]; @data[$start..$end]=(55.8,55.66,0,0,55.31,55.47,56.05,56.5,56.14,0,0,5 +5.64,55.49,55.5,56.18,56.5,0,0,56.65,56.62,0,55.98,54.5,0,0,54.85,54. +12,54.2,55.48,55.74,0,0,55.1,55.75,55.17,55.48,55.48,0,0,54.52,53.77, +54.45,55.15,55.24,0,0,55.2,55.42,55.66,55.84,55.64,0,0,55,55.1,54.1,5 +4.26,54.48,0,0,54.58,54.45,53.98,54.15,53.33,0,0,53.7,52.95,53.44,53. +37,54.34,0,0,54.15,53.24,52.74,51.95,52.17,0,0,0,51.9,51.83,50.77,49. +75,0,0,50.12,0,0,0,0,0,0,47.74,47.13,46.5,45,44.27,0,0,45.7,46.12,45. +77,46.23,47.48,0,0,47.05,47.62,48.47,48.62,48.65,0,0,48.33,48.01,49.1 +5,50.05,49.66,0,0,49.73,50.02,49,48.74,48.88,0,0,49.61,49.42,49.4,50. +1,50.37,0,0,49.2,48.39,48.45,49.47,49.55,0,0,50.26,50.99,50.9,50.93,5 +1.04,0,0,50.95,51.85,52.17,52.01,51.98,0,0,52.52,52.14,51.82,0,52.45, +0,0,52.77,52.63,51.52,52.31,52.14,0,0,51.78,52.46,53.75,53.65,53.53,0 +,0,52.52,52.39,52.36,51.58,51.81,0,0,52.2,52.73,52.98,52.5,52.78,0,0, +52.7,0,52.96,53.27,53.42,0,0,52.7,0,53.12,53.7,54.05,0,0,53.7,53.55,5 +3.37,53.33,52.88,0,0,52.47,52.83,51.95,52.49,52.01,0,0,0,51.6,52.05,5 +2.27,52.36,0,0,52.32,51.02,51.5,52.23,51.93,0,0,50.67,50.49,50.16,49. +95,50.66,0,0,51.37,51.24,51.72,51.65,51.09,0,0,0,50.13,50.76,49.95,50 +.31,0,0,51.21,51.38,51.2,51.32,52.34,0,0,53.33,53.02,53.8,53.57,53.97 +,0,0,54.15,54.04,53.53,53.49,53.96,0,0,54,54.25,53.38,53.61,53.4,0,0, +52.45,52.81,53.13,53.05,0,0,0,53.09,52.74,52.17,52.33,52.24,0,0,52.38 +,52.1,52.72,51.52,51.93,0,0,51.62,52.7,52.62,52.57,52.59,0,0,51.84,51 +.57,51.15,51.23,50.28,0,0,50.05,50.69,51.11,50.87,50.4,0,0,49.45,49.2 +2,51.05,50.37,49.5,0,0,50.44,51.58,51.3,51.5,51.87,0,0,51.17,50.56,50 +.77,51.31,50.7,0,0,0,50.4,50.12,49.97,49.98,0,0,48.75,48.67,49.21,48. +28,48.35,0,0,48.44,47.62,47.85,47.35,47.24,0,0,48.6,48.65,47.9,47.28, +46.51,0,0,46.53,45.68,45.55,46.31,46.4,0,0,45.24,44.31,44.53,0,46.2,0 +,0,45.49,44.37,43.01,43.33,43.23,0,0,42.8,42.26,42.48,41.23,39.85,0,0 +,38.71,37.6,39.79,39.47,40,0,0,42.22,42.43,42.53,41.44,40.47,0,0,39.1 +1,40.4,41.03,42.33,42.4,0,0,42.3,41.38,42.95,43.4,43.38,0,0,44.42,43. +85,44.49,44.98,44.08,0,0,44.38,43.66,42.96,43,42.85,0,0,0,41.19,41.87 +,41.35,42.1,0,0,42.43,42.73,42.67,41.7,41.8,0,0,41.85,41.09,40.82,39. +77,39.77,0,0,39.34,38.79,39.57,40.22,39.01,0,0,38.38,39.81,38.88,38.4 +5,37.65,0,0,36.85,37.38,36.4,37.5,39.11,0,0,39.33,41.08,40.14,41.02,4 +1.19,0,0,41.92,41.4,41.67,41.12,41.92,0,0,41.47,41.15,41.45,41.25,42. +1,0,0,42.37,42.62,43.2,42.2,41.7,0,0,40.98,41.17,41.25,42.23,42.5,0,0 +,42.11,41.97,42.77,43.65,43.55,0,0,43.62,42.8,44,0,43.73,0,0,43.87,43 +.17,43.06,42.58,42.76,0,0,41.75,42.48,42.55,42.4,41.75,0,0,42.75,42.4 +1,41.8,41.55,42.03,0,0,41.85,41.66,0,41.7,41,0,0,41.23,41.31,0,42.5,4 +2.48,0,0,43.4,43.08,42.54,43.2,43.32,0,0,43.28,43.48,43.05,42.92,42.3 +,0,0,0,41.58,41.15,41.42,40.47,0,0,39.72,40.1,40.58,39.52,40.17,0,0,4 +0.32,40.5,39.7,39.34,38.95,0,0,39.27,38.97,38.45,38.39,39.04,0,0,0,39 +.94,39.61,39.29,39.83,0,0,39.02,39.49,38.95,39.4,39.54,0,0,39.26,38.7 +,38.94,38.72,38.99,0,0,38.04,37.74,37.88,39.15,39.29,0,0,40.4,40.77,4 +0.92,41.12,42,0,0,40.58,41.05,40.85,40.77,40.58,0,0,39.7,40.27,41.24, +41,41.15,0,0,41.15,41.12,40.65,40.86,40.7,0,0,41.54,41.81,41.26,41.9, +0,0,0,41.88,42.74,43.1,42.76,42.16,0,0,42.91,43.05,43.12,43.07,43.67, +0,0,43.65,43.95,43.8,43.35,43.98,0,0,44.5,44.45,44.29,44.64,44.55,0,0 +,43.5,43.45,43.63,43.92,44.11,0,0,0,44.99,45.04,44.97,45.63,0,0,45.83 +,46.1,46.76,47.02,46.9,0,0,46.27,46.7,47.26,47.35,46.89,0,0,47.85,47. +92,47.83,47.09,47.15,0,0,46.33,46.45,46.15,46.65,46.26,0,0,46.23,46.5 +5,47.07,46.75,0,0,0,47.65,47.92,47.75,47.15,47.51,0,0,47.87,47.63,47. +38,46.77,47.25,0,0,46.55,47.02,47.08,46.71,47.53,0,0,47.48,47.2,47.19 +,47.3,46.76,0,0,46.88,46.04,46.08,46.38,46.51,0,0,46.73,47.25,46.97,4 +7.26,47.23,0,0,47.77,47.94,47.94,48.15,47.65,0,0,47.6,47.76,47.83,48. +17,48.43,0,0,0,49.13,49.27,49.42,49.16,0,0,49.62,49.27,48.59,48.9,49. +03,0,0,48.77,49.55,49.38,50,49.82,0,0,49.25,49.52,48.67,48.26,47.93,0 +,0,48.04,47.75,48.7,48.92,49.46,0,0,49.67,49.9,49.71,49.84,49.92,0,0, +50.27,50.5,50.33,50.53,49.98,0,0,50.17,50.24,49.6,49.67,49.4,0,0,49.6 +8,50.34,50.55,50.41,50.64,0,0,50.95,50.8,50.89,51.1,50.88,0,0,50.62,5 +0.52,51.13,51.22,50.82,0,0,50.42,49.99,50.35,49.98,50.01,0,0,50.88,51 +,51.28,0,51.4,0,0,51.92,51.8,51.61,51.8,51.37,0,0,51.79,51.24,51.1,51 +.78,51.95,0,0,51.54,51.8,51.95,52.5,52.42,0,0,52.5,52.7,52.65,0,52.65 +,0,0,53.3,53.38,53.23,0,53.27,0,0,53.86,54.05,54.2,54.4,54.05,0,0,54. +3,54.17,54.56,54.8,54.96,0,0,0,55.1,55.34,55.3,55.2,0,0,55.77,55.3,54 +.6,54.7,54.62,0,0,54.72,54.7,54.2,54.41,55.12,0,0,55.05,55.4,55.85,55 +.7,55.42,0,0,0,56,55.75,55.45,55.27,0,0,54.91,54.93,55.23,55.3,55.38, +0,0,55.92,55.72,55.75,56,56.17,0,0,55.66,55.37,54.38,53.69,54.45,0,0, +53.62,53.91,54.49,54.43,53.8,0,0,53.12,53.05,53,53.75,53.88,0,0,54.24 +,54.54,54.64,54.92,55.42,0,0,55.78,55.63,55.41,55.33,0,0,0,55.5,54.76 +,54.58,54.6,54.86,0,0,54.92,54.05,54.4,55.27,55.26,0,0,55.02,55.15,54 +.38,53.86,53.42,0,0,53.99,54.05,54.27,53.74,52.99,0,0,52.26,52.71,52. +9,52.75,52.73,0,0,52.13,52.55,52.48,52.49,52.7,0,0,52.9,53.79,53.9,54 +.15,54.2,0,0,0,54.25,54.4,53.97,54.29,0,0,55.1,55.17,54.68,54.8,0,0,0 +,54.24,54.69,54.73,54.71,54.73,0,0,54.59,54.73,55.3,55.2,55.13,0,0,54 +.66,54.89,55.11,54.58,54.44,0,0,0,53.99,54.03,53.55,53.72,0,0,53.7,53 +.8,53.55,53.42,53.17,0,0,53.17,53.55,52.65,52.83,52.25,0,0,52.09,52.6 +1,52.65,52.98,53.15,0,0,53.28,52.88,52.73,51.85,51.12,0,0,51.14,51.75 +,51.62,51.05,51.13,0,0,51.77,52.03,52.66,52.5,52.94,0,0,52.82,52.73,5 +3.2,53.18,53.38,0,0,52.99,53.18,53.28,53.88,53.7,0,0,0,54.08,53.85,53 +.96,54.32,0,0,54.41,54.56,54.23,54.4,54.56,0,0,54.35,54.7,53.95,53.73 +,53.84,0,0,53.38,53.67,53.79,53.88,54.75,0,0,54.93,54.91,55.25,54.75, +54.3,0,0,54.42,54.3,53.91,53.42,53.72,0,0,53.95,53.48,53.49,53.73,53. +25,0,0,53.21,54.05,54.72,54.69,54.85,0,0,54.93,54.8,55.51,56.38,56.58 +,0,0,56.44,56.5,56.53,57.06,57.55,0,0,57.59,57.25,57.59,57.67,56.98,0 +,0,57.35,57.37,57.7,0,57.7,0,0,57.58,57.45,58.2,58.16,58.17,0,0,58.14 +,57.57,57.8,58.07,58,0,0,58.55,58.81,59,58.9,58.6,0,0,58.49,59.04,59. +26,59.33,0,0,0,58.65,59.14,59.23,59.17,59.02,0,0,58.6,57.82,57.42,57. +7,57.51,0,0,57.74,57.39,57.65,57.2,57.45,0,0,0,58.08,57.55,57.2,56.91 +,0,0,56.6,56.75,57.1,57.18,56.97,0,0,57.55,57.88,58.14,57.85,58.58,0, +0,58.55,58.65,58.1,58.3,58.77,0,0,58.79,59,59.01,58.62,58.6,0,0,0,57. +72,58.02,58.46,59.05,0,0,58.75,59.09,59.03,59.1,59.7,0,0,59.84,59.47, +58.92,58.82,58.63,0,0,58.92,58.61,58.1,58.17,58.05,0,0,57.87,57.38,57 +.33,57.12,0,0,0,57.17,56.7,57.47,57.43,57.19,0,0,57.38,57.55,57.69,58 +,57.5,0,0,57.45,57.75,57.12,56.45,55.55,0,0,55.75,56.22,55.42,56.47,5 +6.1,0,0,56.65,56.04,56.24,55.5,56.16,0,0,56.45,56.62,57.11,57.01,56.9 +9,0,0,57.3,56.78,57.07,56.42,56.18,0,0,56.74,57.13,57.82,58.08,58,0,0 +,58.3,58.3,58.09,58.41,58.51,0,0,0,58.34,58.83,58.92,58.58,0,0,58.67, +58.72,58.58,58.88,58.81,0,0,58.95,59.15,59.23,59.5,59.76,0,0,59.75,59 +.63,59.75,59.02,58.52,0,0,58.38,58.98,58.88,58.59,58.8,0,0,0,59.31,58 +.85,59.02,59.75,0,0,60.17,60.27,60.35,60.41,60.46,0,0,60.21,60.6,60.8 +,60.43,60.84,0,0,60.69,60.77,61.01,61.42,61.15,0,0,61.06,61.44,61.49, +60.95,60.48,0,0,60.27,60.59,60.67,60.97,60.59,0,0,60.91,60.11,60.1,60 +.04,60.25,0,0,60.2,60.12,59.72,59.91,59.5,0,0,59.91,59.72,60.48,60.48 +,60.33,0,0,0,61.02,61.23,61.01,61.42,0,0,61.44,61.05,60.8,60.81,61.23 +,0,0,61.01,60.41,59.83,60.03,60.16,0,0,59.95,59.95,60,60.5,60.67,0,0, +60.7,59.97,59.04,58.8,59.01,0,0,58.49,58.3,57.86,57.81,58.43,0,0,58.5 +9,57.99,58.84,57.96,58.2,0,0,59.21,59.06,58.84,58.07,58.98,0,0,59.25, +59.36,60.08,60.3,60.29,0,0,60.34,60.3,60.45,60.8,61.08,0,0,60.95,60.7 +1,60.83,61.4,61.79,0,0,62.06,62.41,62.7,0,62.78,0,0,62.22,62.23,61.98 +,62.76,62.78,0,0,62.64,62.63,62.37,62.38,62.52,0,0,62.62,62.98,63.1,6 +2.95,62.87,0,0,62.34,62.39,62.62,62.91,62.95,0,0,0,62.03,62.12,61.9,6 +1.66,0,0,0,62.58,63.03,62.99,63.61,0,0,63.84,63.94,64.11,63.75,63.82, +0,0,0,63.59,63.4,63.74,62.62,0,0,62.81,63,62.86,63.4,63.9,0,0,63.97,6 +3.65,63.9,63.33,63.02,0,0,63.16,62.55,63,62.88,63.01,0,0,62.73,63.32, +63.56,64.06,63.98,0,0,0,63.8,64.3,64.14,64.23,0,0,64.42,63.79,64.34,6 +4.31,64.2,0,0,63.73,63.47,63.65,63.31,63.8,0,0,63.96,64.62,64.91,65.0 +5,65.09,0,0,64.7,64.34,64.73,64.72,64.8,0,0,64.75,64.38,64.97,64.8,64 +.83,0,0,64.77,65.14,65.38,65.34,64.65,0,0,64.73,64.15,64.28,64.27,0,0 +,0,64.17,65.27,65.47,65.56,65.53,0,0,65.33,65.12,65.14,65.33,65.45,0, +0,65.14,65.53,65.33,65.64,66.2,0,0,66.26,66.25,66.17,65.31,64.44,0,0, +64.5,64.3,63.12,62.83,63.19,0,0,62.81,62.32,62.53,63.4,63.76,0,0,0,62 +.6,63.34,64.15,64.28,0,0,63.2,62.91,62.5,62.44,62.2,0,0,61.38,60.66,6 +1.04,62.45,62.12,0,0,61.5,61.52,62.2,61.86,61.95,0,0,61.99,61.4,61.84 +,63.19,63.16,0,0,63.64,0,63.12,63.33,62.8,0,0,62.88,63.1,62.43,61.5,6 +1.14,0,0,61.03,61.24,62.25,61.62,61.12,0,0,62.31,62.52,62.7,62.53,63. +09,0,0,63.08,62.76,63.15,63.29,63.26,0,0,63.05,62.76,62.44,62.68,62.4 +8,0,0,62.6,63.4,64.02,64.17,64.42,0,0,64.17,64.19,63.88,63.88,63.91,0 +,0,64.28,64.4,64.54,64.53,64.91,0,0,0,65.03,64.34,64.09,64.23,0,0,64. +25,64.98,65.33,65.19,65.34,0,0,65.39,65.22,65.61,65.2,65.03,0,0,65.33 +,65.78,65.86,65.92,65.72,0,0,65.53,65.64,66.33,66.65,66.52,0,0,66.58, +66.73,66.61,67.28,67.52,0,0,67.7,67.44,67.53,67.61,67.58,0,0,67.88,68 +.04,68.27,68.62,68.09,0,0,68.12,68.04,67.48,67.45,67.44,0,0,68.19,68. +42,68.59,68.22,68.38,0,0,68.53,69.06,69.33,69.48,69.44,0,0,69.48,69.6 +7,69.86,0,69.66,0,0,68.55,68.81,69.52,69.62,69.43,0,0,70.11,70.36,70. +33,70.01,70.13,0,0,70.28,70.17,70.29,70.83,70.84,0,0,70.56,70.66,70.6 +2,70.34,69.59,0,0,0,70,70.48,70.39,70.11,0,0,0,0,69.97,70.11,69.56,0, +0,69.81,69.81,69.97,70.5,70.97,0,0,0,70.83,70.88,70.5,70.78,0,0,70.5, +70.69,71.31,70.52,70.47,0,0,70.48,70.89,71.41,71.81,71.91,0,0,72,72,7 +2.23,72.14,71.59,0,0,71.34,71.95,72.43,72.44,72.5,0,0,0,72.7,72.73,72 +.72,72.48,0,0,72.39,69.7,70.25,70.05,69.05,0,0,68.25,69.4,69.34,69.92 +,69.95,0,0,70.14,68.88,69.22,69.5,69.2,0,0,69.98,70.45,71.58,71.61,71 +.75,0,0,71.33,71.05,70.58,70.78,70.73,0,0,70.91,71.56,71.63,71.83,0,0 +,0,71.92,72.11,71.66,72.12,72.36,0,0,73.09,73.2,73.28,73.14,73.79,0,0 +,73.64,73.64,74.29,74.31,74.23,0,0,73.58,73.75,74.29,74.62,74.84,0,0, +74.95,74.89,75.15,74.2,74.9,0,0,74.67,74.47,75.11,74.94,75.5,0,0,75.7 +,75.7,75.66,74.89,75.25,0,0,0,75.55,76.2,76.31,76.63,0,0,76.75,76.36, +75.58,74.09,75.11,0,0,75.2,74.28,75.44,75.97,76.38,0,0,76.26,76.47,75 +.47,75.84,75.2,0,0,74.39,73.78,74.87,74.86,74.69,0,0,75.56,75.88,0,75 +.84,76.26,0,0,76.22,75.17,75.72,76.87,77.09,0,0,77.05,77,76.83,77.01, +76.31,0,0,76.47,75.13,75.14,73.36,71.98,0,0,73.05,72.05,72.47,73.09,7 +1.19,0,0,72.39,72.94,74.03,72.03,71.86,0,0,72,70.75,69.8,70.25,71.53, +0,0,71.68,71.69,72.69,72.58,73.42,0,0,72.66,71.17,72.58,72.39,73.11,0 +,0,0,73.95,73.31,73.53,72.47,0,0,72.16,73.09,73.34,73.62,73.69,0,0,73 +.3,75.34,75.89,75.43,75.61,0,0,75.08,74.9,75.45,75.86,75.59,0,0,76.58 +,76.45,76.33,76.47,77.31,0,0,77.2,77.75,77.59,77.16,77.54,0,0,76.94,7 +6.39,76.44,76.47,74.5,0,0,74.86,75.4,75.34,75.3,76.2,0,0,76.51,75.97, +76.95,75,74.98,0,0,74.4,75.43,73.34,73.25,72.29,0,0,71.34,73.44,73.18 +,72.12,72.41,0,0,71.22,71.5,70.25,0,71.3,0,0,69.91,70.76,72.92,72.95, +73.47,0,0,73.03,72.56,73.64,74.7,74.8,0,0,75.44,73.39,73.84,73.86,72. +84,0,0,71.73,72.25,72.17,72.29,73.41,0,0,74.09,0,74.15,73.22,72.94,0, +0,72.58,0,71.72,71.63,69.72,0,0,69.75,68.5,69.22,69.68,69.03,0,0,69.6 +9,68,67.59,65.73,65.28,0,0,0,64.56,66.25,66.67,65.7,0,0,67.08,67.36,6 +6.75,68.09,69.2,0,0,68.38,66.44,65.94,66.54,66.15,0,0,66.53,67.15,67. +92,67.03,67.05,0,0,0,67.27,67.58,66.83,67.14,0,0,68.26,68.7,68.59,67. +9,66.4,0,0,66.17,65.95,66.33,64.95,64.25,0,0,63.27,65.51,64.89,65.31, +64.11,0,0,63.37,66,64.23,65.58,0,0,0,67,66.78,66,65.75,65.17,0,0,65.5 +,67.73,67.78,67.86,67.89,0,0,67.92,67.8,67.19,67.53,66.14,0,0,65.92,6 +6.23,67.88,67.95,68.89,0,0,68.75,68.17,68.39,68.77,69.3,0,0,69.27,68. +97,68.7,69.91,70.11,0,0,69.75,70.34,69.36,69.22,69.17,0,0,69.89,69.97 +,70.19,70.94,71.06,0,0,71.17,70.58,69.4,69.64,68.63,0,0,0,69.23,69.64 +,69.95,70.08,0,0,69.53,69.15,69.28,70.62,68.5,0,0,68.55,68.2,67.17,67 +.38,68.38,0,0,68.48,68,67.5,67.7,66.59,0,0,66.4,65.76,66.23,64.31,64. +22,0,0,64.09,64.39,63.07,63.01,0,0,0,62.4,63.55,62.26,62.65,62.1,0,0, +61.49,60.7,62.1,62.75,63.1,0,0,63.27,64.11,64.42,62.91,63.1,0,0,62.25 +,63.57,64.42,63.69,63.41,0,0,62.88,64.48,64.56,63.65,65,0,0,65.65,64. +93,64.78,65.12,65.5,0,0,64.54,63.86,64.09,64.26,65.16,0,0,63.79,64,64 +.43,65.48,64.62,0,0,0,64.34,64.23,62.26,62.63,0,0,63.72,61.51,61.92,6 +2.79,63.41,0,0,60.5,61.28,58.54,60.5,63.42,0,0,61.23,60.19,59.84,60.9 +1,60.86,0,0,56.85,58.36,58.29,55.67,54.82,0,0,52.91,49.68,48.73,45.67 +,44.35,0,0,50.04,49.61,44.97,47.04,46.6,0,0,48.99,47.51,44.86,45.42,4 +3.24,0,0,41.84,46.04,45.58,47.12,48.16,0,0,48,49.73,47.27,44.95,46.11 +,0,0,45.6,44.56,42.28,45.07,43.15,0,0,42.02,42.41,39.84,37.18,39.29,0 +,0,41.63,42.21,43.77,0,44.3,0,0,40.34,41.93,43.01,41.73,43.21,0,0,44. +86,44.04,44.54,43.29,43.72,0,0,43,45.26,44.93,44.15,44.11,0,0,43.16,4 +2.7,42.87,0,43.32,0,0,42.99,44.12,44.74,0,46.03,0,0,46.02,46.4,45.1,4 +5.3,44.19,0,0,43.22,43.28,41.87,42.02,42.33,0,0,0,40.13,41.77,41.05,4 +1.3,0,0,41.53,42.02,43.47,42.04,41.14,0,0,41.07,41.65,41.43,42.09,43. +3,0,0,43.31,41.33,41.58,41.69,41.27,0,0,0,39.49,39.36,38.94,38.47,0,0 +,37.17,38.52,38.22,37.52,36.81,0,0,35.1,34.79,35.56,34.11,34.11,0,0,3 +3.7,35.85,35.97,37.46,37.86,0,0,37.65,38.84,39.67,39.27,38.44,0,0,41. +11,40.29,40.43,41.44,40.65,0,0,39.22,39.58,40.36,41.58,42.1,0,0,41.69 +,40.63,41.2,42.87,0,0,0,42.93,42.13,42.58,43.31,43.6,0,0,41.75,42.58, +42.4,42.7,43.45,0,0,43,42.92,43.94,43.93,44.18,0,0,45.69,45.53,46.24, +45.52,46.55,0,0,45.75,45.63,44.33,44.78,44.31,0,0,45.67,45.68,45.42,4 +4.6,44.63,0,0,0,45.83,45.06,45.62,46.33,0,0,47.48,47.67,47.09,47.56,4 +7.47,0,0,47.34,47.59,47.47,47.75,47.79,0,0,46.68,46.03,45.97,46.22,46 +.39,0,0,45.05,45.05,45.18,46.23,46.14,0,0,46.58,46.27,46.54,45.32,0,0 +,0,45.15,44.22,44.16,44.25,44.14,0,0,45.16,45.48,46.84,47.3,47.32,0,0 +,47.85,48.06,48.09,49.23,49.39,0,0,49.6,49.48,49.24,49.77,49.85,0,0,5 +0.69,50.88,50.76,50.41,51.12,0,0,51,50.34,50.89,51.34,50.87,0,0,49.55 +,50.07,50.5,50.98,51.93,0,0,52,52.1,52.06,52.24,52.2,0,0,51.7,50.56,5 +0.35,50.81,51.46,0,0,0,51.98,52.5,53.04,53.08,0,0,53.36,53.62,54.46,5 +4.36,54.44,0,0,54.29,54.61,54.05,53.23,52.89,0,0,53.88,53.79,53.59,52 +.17,51.86,0,0,52.66,53.44,53.56,54.03,54.4,0,0,54.6,54.45,55.42,55.61 +,55.2,0,0,55.65,55.31,54.77,55.36,54.65,0,0,54.03,53.74,52.57,53.63,5 +2.18,0,0,52.47,52.71,52.8,53.81,53.95,0,0,55.16,55.18,55.46,54.84,55. +16,0,0,55.99,56.05,56.01,55.21,55.04,0,0,55.69,55.73,55.95,0,55.01,0, +0,55.15,55.83,55.99,55.49,55.9,0,0,55.83,55.25,55.43,55.71,55.99,0,0, +56.41,56.17,56.31,55.68,56.02,0,0,56.57,56.5,56.69,56.98,0,0,0,57.05, +56.95,56.93,56.37,0,0,0,57.31,57.53,57.61,57.85,58.04,0,0,58.12,57.52 +,58.06,58.16,57.5,0,0,0,58.26,57.72,56.66,55.41,0,0,55.65,55.4,55.67, +55.01,54.36,0,0,55.19,55.9,55.62,53.89,53.98,0,0,53.56,54.27,54.19,54 +.77,54.77,0,0,0,55.69,56,56.32,56.52,0,0,56.43,55.75,56.25,56.23,56.2 +3,0,0,56.9,57.08,57.15,57.3,58.21,0,0,58.22,58.34,58.65,58.87,58.87,0 +,0,58.85,59.33,59.71,59.64,59.25,0,0,59.67,60.09,59.74,59.4,59.39,0,0 +,59.74,59.77,59.59,60.02,0,0,0,60.6,60.77,60.45,60.59,61,0,0,61.14,61 +.2,61.95,62.03,61.06,0,0,61.22,61.8,61.75,62.05,62.47,0,0,62.25,60.75 +,61.15,61.95,60.89,0,0,61.71,60.21,59.72,57.71,56.62,0,0,59.22,59.17, +60.12,59.4,58.33,0,0,58.37,57.54,57.13,54.91,55.71,0,0,55.01,55.01,54 +.78,56.7,56.09,0,0,0,54.93,56.36,56.66,54.67,0,0,53.78,54.24,53.99,55 +.65,55.99,0,0,56,57.26,57.2,57.3,57.34,0,0,57.12,56.14,55.92,54.77,55 +.05,0,0,54.87,53.14,52.56,52.33,52.08,0,0,0,52.24,53.94,54.47,54.89,0 +,0,54.91,55.81,55.8,55.85,54.23,0,0,54.54,55.17,54.48,55.69,56.26,0,0 +,56.95,56.88,56.48,56.19,56.25,0,0,57.46,57.15,57.6,57.48,57.27,0,0,5 +7.57,57.21,55.52,55.21,55,0,0,54.95,55.73,55.86,54.88,54.69,0,0,54.4, +53.62,53.79,53.46,54.38,0,0,53.59,53.6,55.17,55.75,56.49,0,0,0,55.88, +56.17,56.45,56.69,0,0,57.41,57.4,57.59,57.57,57.6,0,0,58.55,58.41,58. +1,57.6,58.52,0,0,58.27,58.6,58.5,58.37,58.63,0,0,58.11,59.32,59.26,59 +.18,59.58,0,0,59.67,59.88,60.35,60.19,60.24,0,0,60.57,59.69,60.29,60. +39,60.57,0,0,60.77,60.76,60.64,60.64,60.72,0,0,60.73,61.21,61.46,62.6 +6,62.94,0,0,62.86,62.37,62.64,62.47,61.68,0,0,61.59,60.61,60.71,61.56 +,61.81,0,0,61.82,60.94,61.92,0,61.5,0,0,61.41,61.03,62.34,63.14,63.34 +,0,0,63.32,63.39,63.57,63.8,64.2,0,0,64.23,64.25,63.97,64.34,64.47,0, +0,64.64,65.03,64.93,64.84,0,0,0,64.88,64.94,65.04,64.95,64.93,0,0,65. +59,65.47,65.83,65.68,65.53,0,0,65.58,65.84,66.43,66.33,66.76,0,0,0,66 +.93,66.13,65.93,66.04,0,0,66.41,66.45,66.83,67.03,65.83,0,0,66.26,67. +34,67.27,67.42,67.61,0,0,68.06,68.4,68.22,68.3,68.75,0,0,68.93,68.7,6 +9.16,69.41,69.54,0,0,0,68.05,67.48,67.48,68.34,0,0,68.7,67.55,67.69,6 +8.92,68.45,0,0,67.84,68.45,68.34,67.04,67.48,0,0,67.08,66.37,65.22,65 +.97,66.28,0,0,67.31,67.09,67.26,67.9,67.86,0,0,67.7,68.2,68.7,68.7,69 +.04,0,0,69.09,69.14,69.31,69.12,68.83,0,0,68.58,68,68.04,68.08,68.41, +0,0,67.59,67.98,68.97,69.31,0,0,0,69.23,69.84,70.31,70.52,70.7,0,0,70 +.58,70.19,69.67,69.11,69.41,0,0,69.78,70.4,69.68,70.01,69.37,0,0,68.8 +9,68.83,69.48,69.66,69.14,0,0,68.26,68.19,68.47,68.88,69.2,0,0,0,69.9 +5,68.36,68.23,67.53,0,0,66.75,66.72,66.37,66.84,65.89,0,0,65.88,66.79 +,65.59,65.7,65.92,0,0,66.23,67.23,66.87,66.76,65.72,0,0,66.28,67.2,67 +.79,68.4,69.38,0,0,0,69.37,69.51,70.26,69.76,0,0,68.47,68.17,68.43,67 +.84,68.28,0,0,67.65,68.79,68.75,69.59,69.7,0,0,69.26,68.97,67.45,67.2 +2,66.84,0,0,66.55,64.79,65.15,61.88,61.62,0,0,57.35,60.22,57.66,60.3, +60.7,0,0,62.02,61.43,61.44,58.7,57.65,0,0,57.66,59.64,60.49,59.48,60. +47,0,0,62.36,62.53,62.78,62.07,60.37,0,0,0,59.99,61.78,61.04,59.45,0, +0,59.87,60.47,61.33,62.4,62.7,0,0,62.04,61.82,59.81,57.97,58,0,0,59.3 +7,60.12,58.75,59.18,57.72,0,0,55.81,57.21,58.38,59.51,58.97,0,0,61,61 +.05,61.63,61.55,62.67,0,0,61.4,62.64,61.81,62.09,63.26,0,0,64.31,63.0 +1,63.69,65.89,65.95,0,0,64.28,62.57,63.6,64.84,64.48,0,0,64.81,65.59, +63.1,63.66,64.92,0,0,64.28,64.67,63.59,62.55,62.46,0,0,61.3,61.01,59. +65,0,59.46,0,0,61.25,61.44,64.04,64.04,64.01,0,0,64.7,64.73,64.91,63. +44,64.56,0,0,63.58,62.9,62.18,62.41,62.62,0,0,61.89,63.83,63.59,64.25 +,64.73,0,0,0,64.75,63.96,64.59,64.3,0,0,0,65.2,65.23,65.53,65.38,0,0, +65.53,66.18,66.3,66.45,66.15,0,0,0,66.3,67.09,67.51,67.53,0,0,67.55,6 +7.54,68.16,67.81,67.86,0,0,67.59,67.56,68.34,68.45,69.48,0,0,69.44,69 +.59,69.75,69.86,69.31,0,0,69.84,69.73,69.44,70.27,70.37,0,0,0,70.34,7 +0.12,70.51,70.61,0,0,70.67,70.87,70.41,70.95,70.59,0,0,70.28,69.15,69 +.75,70.47,70.81,0,0,70.77,72.08,71.93,72.34,72.45,0,0,72.73,72.48,72. +4,71.81,72.11,0,0,72.8,72.56,72.2,72.06,72.26,0,0,72.87,72.63,71.81,7 +1.77,0,0,0,70.93,69.59,70.18,71.23,70.37,0,0,70.3,71.37,71.12,70.7,70 +.81,0,0,70.2,70.44,71.48,72,72.17,0,0,71.8,72.26,72.09,71.47,70.28,0, +0,70.33,70.06,69.65,69.83,69.64,0,0,68.84,68.48,68.16,66.98,66.42,0,0 +,67.65,67.67,67.79,67.92,67.76,0,0,0,68.58,67.5,67.33,65.59,0,0,65.54 +,66.04,67.58,67.5,68.09,0,0,67.14,67.87,67.37,68.06,68.77,0,0,68.97,6 +9.7,69.56,68,68.55,0,0,67.09,67.41,68.06,67.92,69.7,0,0,69.89,70.45,0 +,70.17,69.51,0,0,69.34,68.72,68.67,68.4,69.47,0,0,69.3,69.76,70.26,70 +.38,69.73,0,0,68.97,68.34,68.36,69.4,70.77,0,0,70.7,70.31,70.03,69.55 +,70.95,0,0,71.14,71.56,71.66,71.72,71.86,0,0,71.8,71.78,71.94,72.48,7 +2.63,0,0,72.62,72.47,72.38,71.84,72.25,0,0,72.23,72.23,72.31,71.78,72 +.2,0,0,0,72.16,72.16,73.59,73.95,0,0,73.52,73.68,73.98,75.09,75.5,0,0 +,75.19,75.06,75.12,75.02,75.04,0,0,74.51,73.75,73.26,73.98,73.65,0,0, +73.78,73.89,74.16,74.72,74.7,0,0,74.41,73.66,73.23,73.34,73.02,0,0,73 +.62,74.38,74.73,74.58,73.29,0,0,73.29,72.36,72.16,72.36,72.28,0,0,0,0 +,72.31,73.23,72.47,0,0,72.7,73.25,71.61,70.7,70.77,0,0,70.81,70.54,69 +.55,69.37,69.75,0,0,71.19,71.27,71.45,0,72.38,0,0,72.29,71.91,72.48,7 +2.9,72.88,0,0,72.56,72.45,72.59,72.83,73.04,0,0,73.13,73.59,73.62,73. +2,72.89,0,0,73.8,74.66,74.2,74.06,73.43,0,0,73.18,0,72.83,72.77,71.98 +,0,0,73.28,0,75.14,75.03,75.41,0,0,75.2,75.01,75.23,75.76,75.77,0,0,7 +5.69,75.83,75.77,76.29,76.5,0,0,0,76.9,76.98,77.08,77.51,0,0,77.44,77 +.7,77.39,77.25,78,0,0,77.18,77.91,78.05,77.91,78.38,0,0,78.34,78.47,7 +8.58,78.68,78.59,0,0,0,79.14,78.09,77.56,78.31,0,0,76.87,77.36,78.31, +78.23,78.42,0,0,78.78,79.56,79.69,79.88,80.27,0,0,80.5,80.36,80.51,80 +.95,80.87,0,0,80.43,80.2,80.81,80.16,80.29,0,0,80.02,80.62,80.68,80.9 +5,0,0,0,80.53,80.77,79.89,80.23,79.95,0,0,80.45,80.68,81.72,82.03,81. +73,0,0,79.75,80.93,79.72,79.22,79.98,0,0,80.31,81.19,81.31,81.64,81.4 +8,0,0,82.01,82.26,81.42,82.27,83.04,0,0,83.36,83.82,84.21,83.93,84.3, +0,0,84.32,85.19,85.56,85.21,86.08,0,0,86.07,86.21,85.36,85.2,85.09,0, +0,0,85.64,85.06,85.41,84.27,0,0,84.61,84.2,83.01,83.79,84.83,0,0,84.8 +6,84,83.29,84.58,84.1,0,0,84.69,85.33,84.24,82.15,82.36,0,0,80.92,81. +73,82.49,83.1,82.67,0,0,83.36,83.27,83.39,0,84.28,0,0,84.73,85.33,85. +37,86.61,86.69,0,0,87.02,86.63,86.91,87.4,87.53,0,0,87.72,87.56,87.21 +,87.53,87.54,0,0,87.24,87.33,87.42,88.53,88.57,0,0,88.58,88,87.65,88. +01,87.79,0,0,87.73,87.92,87.46,86.16,85.88,0,0,85.3,85.86,85.36,86.12 +,86.48,0,0,86.26,84.73,85.04,85.27,84.77,0,0,0,85.2,85.96,86.06,86.13 +,0,0,87.1,87.78,88.01,87.74,87.92,0,0,88.43,88.9,89.94,89.8,89.2,0,0, +88.37,88.23,88.07,88.41,88.06,0,0,87.65,88.41,88.26,87.51,88.15,0,0,8 +7.36,86.2,86.14,88.08,88.7,0,0,89.09,88.41,89.65,90.31,90.95,0,0,90.9 +,91.42,90.99,91.34,91.67,0,0,91.74,92.2,91.66,91.39,91.51,0,0,91.93,9 +1.66,91.9,90.68,91.89,0,0,91.95,91.81,92.59,93.03,93.44,0,0,93,92.73, +92.44,93.27,93.73,0,0,93.63,93.72,93.99,0,93.86,0,0,93.66,93.3,93.17, +92.9,93.86,0,0,94.07,93.76,92.6,92.43,92.46,0,0,93.11,92.83,94.33,94. +2,94.33,0,0,94.89,95.15,0,95.6,95.54,0,0,95.57,95.92,0,95.08,95.06,0, +0,94.81,95.42,95.49,95.57,95.84,0,0,94.63,95.67,96.15,96.08,95.71,0,0 +,0,96.03,96.21,95.38,93.32,0,0,92.72,93.37,92.41,93.49,92.88,0,0,90.7 +,91.39,91.25,92.36,93.55,0,0,93.66,94.73,94.86,95.44,95.9,0,0,0,96.18 +,95.54,96.18,96.1,0,0,96.65,96.61,96.71,97.22,97.4,0,0,96.69,98.21,98 +.23,98.41,98.38,0,0,98.31,97.76,97.83,96.7,96.58,0,0,97.35,98.18,97.6 +2,98.11,97.75,0,0,97.18,97.1,96.29,96.09,96.52,0,0,97.47,98.23,98.54, +98.27,96.92,0,0,95.76,96.18,97.33,95.19,94.25,0,0,94.89,95.54,96.54,9 +6.73,0,0,0,97.12,97.62,97.37,97.5,96.55,0,0,96.69,97.17,97.53,97.56,9 +7.48,0,0,97.64,96.74,97.19,96.93,97.17,0,0,98.27,98.21,97.67,96.77,97 +.18,0,0,97.63,96.9,97.65,97.98,98.49,0,0,0,99.14,99.03,99.56,99.58,0, +0,99.7,99.66,99.87,100.68,101.2,0,0,101.37,101.35,101.01,100.29,100.6 +2,0,0,100.7,101.06,101.81,101.93,102.17,0,0,102.14,101.01,101.52,101. +46,101.73,0,0,101.77,102.5,102.44,102.98,0,0,0,102.44,101.66,102.1,10 +1.65,101.74,0,0,102.23,101.97,102.23,101.05,102.14,0,0,101.9,102.42,1 +02.66,102.68,102.14,0,0,102.11,101.74,101.81,99.74,99.49,0,0,100.17,9 +9.29,99.31,98.79,99.93,0,0,100.29,100.11,100.82,101.26,101.27,0,0,102 +.18,102.69,102.93,103.16,103.01,0,0,103.55,103.74,103.68,103.57,103.8 +8,0,0,0,103.96,103.85,103.63,104.11,0,0,103.9,103.17,103.56,103.75,10 +3.08,0,0,102.81,103.54,103.65,104.18,103.98,0,0,103.02,102.36,102.69, +101.08,101.9,0,0,101.72,101.24,99.91,99.96,101.08,0,0,100.88,99.32,10 +0.97,98.89,97.66,0,0,96.1,96.4,95.86,96.07,97.12,0,0,98.09,100.03,99. +25,100.45,101.15,0,0,101.01,102.32,102.17,102.8,104.02,0,0,104.08,103 +.7,104.19,104.7,104.78,0,0,105.1,105.2,105.18,105.16,105.17,0,0,105.1 +6,105.78,105.51,105.81,106.37,0,0,106.76,106.74,106.98,0,106.6,0,0,10 +5.7,106.36,106.84,106.71,106.95,0,0,106.19,106.25,104.51,104.99,103.3 +4,0,0,102.59,101.83,104.01,106.47,106.91,0,0,106.77,107.01,107.04,0,1 +07.36,0,0,107.59,107.06,106,0,105.92,0,0,104.1,103.08,104.31,106.15,1 +05.27,0,0,104.52,104.28,103.71,102.66,104.02,0,0,0,104.17,104.64,106. +23,105.75,0,0,106.19,104.95,103.53,104.52,103.1,0,0,104.26,105.86,105 +.49,106.65,106.33,0,0,105.8,106.88,106.93,107.96,108.47,0,0,0,108.64, +108.7,108.67,109.28,0,0,109.27,109.52,109.48,109.41,109.02,0,0,109.69 +,109.24,108.8,108.97,107.46,0,0,107.86,106.22,106.14,107.47,106.87,0, +0,108.21,108,109.24,108.85,109.76,0,0,109.57,108.99,106.79,106.58,106 +.87,0,0,108.23,107.25,107.05,107.39,0,0,0,108.13,107.77,108.23,108.61 +,109.12,0,0,108.69,108.85,109.4,109.35,108.08,0,0,108.96,108.93,109.3 +9,109.73,109.85,0,0,109.28,109.57,109.09,107.91,108.9,0,0,109.28,107. +98,107.68,108.09,109.45,0,0,108.99,108.67,108.73,109.81,109.94,0,0,11 +0.35,110.3,110.23,110.51,110.3,0,0,0,109.15,110.15,110.05,109.31,0,0, +109.58,109.5,109.88,109,108.91,0,0,108.24,108.15,109.47,109.78,109.06 +,0,0,108.56,109.16,109.34,110.42,109.94,0,0,110.61,110.72,109.88,109. +54,109.01,0,0,106.73,107.02,107.72,107.58,0,0,0,107.3,107.89,106.09,1 +06.31,107.6,0,0,108.82,109.31,109.17,109.93,109.96,0,0,109.97,109.49, +109.33,108.7,107.56,0,0,106.85,108.12,108.86,108.95,108.84,0,0,108.45 +,108.27,108.63,107.74,107.43,0,0,108.77,107.79,107.9,107.75,108.16,0, +0,108.85,108.57,107.6,105.26,102.23,0,0,98.12,96.95,100.47,102.9,102. +98,0,0,102.21,99.21,101.08,101.2,99.76,0,0,0,102.28,100.88,101.4,101. +86,0,0,101.47,102.75,103.62,103.48,101.84,0,0,102.25,100.88,100.68,10 +0.32,99.61,0,0,96.94,96.92,98.72,98.92,100.36,0,0,102.21,101.88,102.8 +,103.69,103.83,0,0,103.85,103.09,102.56,104.11,104.51,0,0,104.63,104. +51,103.69,105.21,106.31,0,0,106.06,105.71,107.1,106.94,106.53,0,0,107 +.93,108.2,107.94,107.82,107.84,0,0,106.76,107,106.54,104.95,103.84,0, +0,105.35,105.22,106.9,106.76,107.22,0,0,107.11,107.39,107.47,0,107.63 +,0,0,107.17,108.18,107.05,105.45,107.39,0,0,106.55,105.91,105,105.31, +103.24,0,0,103.61,104.72,106.24,104.68,102.9,0,0,103.13,104.06,105.36 +,105.23,0,0,0,105,106.12,105.32,104.3,0,0,0,102.74,102.97,101.59,99.1 +,97.97,0,0,97.91,98.58,96.04,97.51,95.46,0,0,0,95.36,94.42,94.79,96.8 +1,0,0,95.22,96.67,95.57,95.95,98.33,0,0,98.35,96.45,97.03,97.26,95.26 +,0,0,93.78,93.66,93.72,92.56,94.36,0,0,0,96.08,97.67,97.28,97.3,0,0,9 +8.72,97.53,98.03,99.19,99.11,0,0,98.32,100.66,101.22,101.72,102.07,0, +0,102.28,101.01,101.5,101.47,103.19,0,0,103.07,102.24,102.88,103.67,1 +04.13,0,0,104.23,104.2,103.35,103.32,0,0,0,103.39,104.54,104.94,104.8 +2,105.48,0,0,105.04,104.02,105.16,103.9,104.2,0,0,103.91,104.92,106.1 +5,106.11,106.06,0,0,106.77,107.07,107.18,106.65,106.8,0,0,106.54,106. +83,107.09,106.13,105.51,0,0,106.33,105.26,104.64,104.6,104.98,0,0,105 +.09,106.34,105.37,105.33,104.42,0,0,105.46,104.51,104.5,104.09,104.89 +,0,0,104.76,106.16,106.93,106.91,107.39,0,0,0,107.34,107.63,107.99,10 +7.69,0,0,108.25,108.46,108.84,108.62,107.5,0,0,106.61,105.95,105.84,1 +06.15,105.8,0,0,106.52,106.75,106.51,107.98,104.05,0,0,101.98,103.85, +105.71,107.16,107.37,0,0,0,106.57,107.22,107.17,108.84,0,0,109.29,110 +.2,110.14,110.67,110.55,0,0,110.86,110.64,111.23,110.79,111.32,0,0,11 +1.03,111.15,111.02,111.16,111.42,0,0,111.27,110.43,110.84,110.97,111. +89,0,0,111.82,111.92,111.59,112.15,112.04,0,0,112.45,111.81,111.95,11 +2.3,112.14,0,0,112.17,112.47,111.84,111.77,111.54,0,0,112.15,111.97,1 +11.65,111.71,112.28,0,0,0,112.6,112.75,112.46,109.66,0,0,111.19,108.9 +2,108.93,110.05,109.61,0,0,109.77,109.72,110.98,111.79,111.15,0,0,110 +.27,110.9,111.55,110.46,111.33,0,0,110.99,110.49,110.92,110.96,110.54 +,0,0,111.14,109.66,109.79,109.4,109.37,0,0,109.06,109.7,110.05,109.84 +,109.8,0,0,110.35,109.88,109.55,109.18,108.82,0,0,108.89,108.08,107.3 +3,106.86,106.79,0,0,109.15,109.62,110.98,111.37,111.41,0,0,111.7,112. +57,112.41,112.98,112.77,0,0,113.62,113.95,114.11,0,114.55,0,0,113.89, +114.05,113.78,113.31,113.31,0,0,114.1,114.68,116.1,116.52,117.15,0,0, +116.85,117.53,116.47,116.95,116.77,0,0,117.1,116.87,116.54,116.24,116 +.42,0,0,0,116.71,115.74,115.75,115.32,0,0,0,116.2,117.09,116.86,117.2 +3,0,0,116.78,116.87,117.24,116.93,117.22,0,0,0,116.7,116.97,116.51,11 +6.91,0,0,116.6,117.51,118.52,118.35,118.16,0,0,117.36,117.46,117.45,1 +17.53,118.42,0,0,118.14,118.13,118.26,119.04,119.54,0,0,120.14,120.58 +,121.24,121.13,121.31,0,0,0,122.03,121.87,121.78,121.98,0,0,122.25,12 +1.8,123.44,122.65,122.75,0,0,122.27,121.88,121.54,121.6,122.04,0,0,12 +2.13,121.69,122.79,122.64,122.57,0,0,122.28,120.57,120.73,120.69,120. +16,0,0,120.02,120.86,121.08,121.53,121.32,0,0,121.02,121.08,120.59,12 +0.97,120.88,0,0,121.03,120.99,120.37,119.55,0,0,0,120.59,120.33,120.2 +3,121.22,120.83,0,0,122.11,122.87,122.9,123.02,122.61,0,0,122.93,122. +93,122.63,122.72,123.33,0,0,123.14,123.1,123.37,123.01,122.77,0,0,123 +.43,123.36,121.14,121.5,122.37,0,0,123.02,123.23,123.59,124.11,124.09 +,0,0,0,123.89,123.85,125,125.41,0,0,125.25,124.93,125.07,125.29,125.1 +9,0,0,125.17,125.79,125.61,125.33,125.25,0,0,126.27,125.41,124.69,124 +.74,125.05,0,0,125.14,124.11,125.28,124.28,124.45,0,0,124.75,0,124.89 +,123.66,124.52,0,0,124.61,124.58,125.47,125.67,126.23,0,0,126.23,126. +31,127.04,127.12,126.95,0,0,126.96,127.38,127.29,127.07,126.86,0,0,12 +6.79,127.05,126.93,126.64,126.91,0,0,127.16,126.81,126.67,124.81,125. +04,0,0,126.32,126.2,126.43,124.42,124.21,0,0,124.39,125.64,125.26,125 +.06,125.36,0,0,125.41,125.46,126.12,126.98,127.27,0,0,0,126.29,126.64 +,126.58,126.49,0,0,127.85,128.34,128.4,128.36,128.6,0,0,128.91,128.97 +,129.18,128.82,128.37,0,0,128.16,128.19,128.88,129.1,129.52,0,0,130.1 +9,130.46,130.59,131.28,131.19,0,0,130.93,131.24,131.41,131.26,131.36, +0,0,131.44,131.51,131.68,131.71,132.41,0,0,131.86,132.09,131.4,131.57 +,132.63,0,0,132.06,132.33,132.44,132.47,132.82,0,0,133.07,132.84,133. +06,132.52,132.54,0,0,132.61,132.37,131.69,132.88,132.63,0,0,132.97,13 +3.9,133.8,0,134.11,0,0,133.97,135.3,135.3,136.34,136.07,0,0,135.88,13 +5.31,135.22,135.77,136.47,0,0,136.8,136.94,136.97,136.33,137.55,0,0,1 +38.5,137.94,137.93,137.57,137.52,0,0,0,137.41,137.46,137.76,137.25,0, +0,0,138.22,139.02,139.55,140.37,0,0,140.69,140.94,140.72,141.91,142.7 +5,0,0,0,142.12,143.43,143.18,143.91,0,0,145.06,145.41,145.28,145.34,1 +46.86,0,0,145.9,144.38,144.43,144.37,141.3,0,0,135.74,137.96,137.35,1 +32.41,134.22,0,0,136.02,136.44,138.36,140.05,140.11,0,0,0,139.27,138. +62,138.71,140.86,0,0,142.34,140.55,139,137.35,138.24,0,0,139.8,140.31 +,140.43,140.96,143.3,0,0,143.22,142.33,141.61,141.41,141.66,0,0,139.8 +4,140.05,139.93,135.94,133.1,0,0,136.61,134.19,133.88,135.72,0,0,0,13 +2.63,134.28,135.79,136.74,133.87,0,0,134.32,136.5,135.87,136.97,136.5 +8,0,0,137.72,139.16,139.36,138.6,137.5,0,0,137.44,135.8,135.94,137.24 +,137.33,0,0,136.33,136.54,135.75,135.38,137.13,0,0,137.72,137.78,139. +08,140.29,140.57,0,0,140.63,139.79,140.47,140.51,140.19,0,0,141.25,14 +0.72,141.1,140.87,140.6,0,0,0,139.21,141.01,140.04,141.5,0,0,142.16,1 +42.37,143.63,143.41,143.91,0,0,144.12,144.41,143.88,144.29,144.15,0,0 +,143.99,143.51,143.84,142.85,142.44,0,0,140.44,140.77,139.46,140.33,1 +40.43,0,0,140.77,140.41,0,141.6,142.79,0,0,144.09,144.46,143.43,144.6 +1,144.69,0,0,144.47,145.13,145.44,145.1,144.84,0,0,145.07,145.38,146. +63,146.38,145.22,0,0,144.27,145.09,144.91,145.78,146.27,0,0,146.93,14 +7.41,147.27,147.16,146.25,0,0,145.69,146.65,145.49,146.63,147.16,0,0, +147.44,148,148.05,147.76,148.68,0,0,149.75,149.84,150.63,150.01,150.0 +7,0,0,0,149.86,149.37,148.91,148.58,0,0,148.9,149.4,149.41,150.16,150 +.28,0,0,149.33,150.13,150.15,151.31,151.16,0,0,150.61,150.53,149.94,1 +50.3,149.65,0,0,149.88,149.66,149.86,148.59,147.63,0,0,147.52,147.26, +142.57,139.53,141.37,0,0,140.74,143.84,143.8,141.72,141.35,0,0,140.79 +,139.96,135.61,138.16,135.77,0,0,135.02,137.13,138.56,140.13,139.56,0 +,0,140.24,141.04,143.91,143.63,142.16,0,0,139.44,139.24,138.22,139.78 +,140.08,0,0,137.65,135.19,135.86,0,135.13,0,0,137.22,137.4,140.6,140. +34,141.35,0,0,143,138.33,0,138.16,134.9,0,0,135.05,135.02,135.79,135. +46,133.12,0,0,130.28,130.24,128.24,126.17,123.49,0,0,119.7,0,125.46,1 +26.59,126.43,0,0,127.63,0,127.73,124.77,128.9,0,0,130.19,131.54,132.1 +6,132.81,132.84,0,0,132,133.44,133.82,134.9,136.65,0,0,0,134.78,134.9 +1,135.19,136.47,0,0,135.47,135.28,137.32,138.53,138.72,0,0,139.72,140 +.3,140.16,138.83,138.97,0,0,139.26,141,141.44,141.19,142.74,0,0,0,143 +.02,143.32,142.83,143.77,0,0,143.97,143.71,143.76,143.46,144.41,0,0,1 +43.75,143.47,142.38,141.28,140.99,0,0,143.06,143.54,144.46,144.34,145 +.01,0,0,145.55,145.52,144.91,146.62,143.56,0,0,142.69,143.79,143.13,1 +43.76,144.71,0,0,146.38,146.38,146.72,147.04,147.78,0,0,147.91,147.02 +,147.69,147.69,148.68,0,0,148.56,148.6,148.05,148.27,0,0,0,148.31,149 +.8,149.6,149.35,150.16,0,0,150.38,150.38,149.27,149.02,150.63,0,0,150 +.15,147.56,147.32,146.85,147.53,0,0,143.8,145.1,145.96,147.28,146.24, +0,0,145.19,146.62,146.09,144.22,144.58,0,0,0,143.31,142.33,142.61,140 +.69,0,0,140.41,143.56,144.66,145.47,146.79,0,0,147.61,147.47,147.27,1 +47.94,147.63,0,0,147.19,148.8,149.31,150.68,150.69,0,0,149.86,148.44, +148.16,149.05,150.09,0,0,151.15,151.5,152.63,0,152.55,0,0,151.72,152, +152.62,152.83,153.61,0,0,153.51,153.12,152.11,152.66,151.8,0,0,152.16 +,153.18,154.12,153.3,154.41,0,0,154.04,153.88,152.21,150.8,149.58,0,0 +,145.13,147.03,147.19,149.99,148.91,0,0,147.08,149.18,144.87,145.13,1 +47.34,0,0,149.09,147.94,149.19,149.07,145.31,0,0,146.78,146.1,147.13, +149.09,149.04,0,0,0,148.07,149.65,151.65,151.68,0,0,151.77,151.91,153 +.16,153.62,153.47,0,0,152.46,152.83,152.81,152.71,152.04,0,0,152.12,1 +50.71,151.66,151.19,150.3,0,0,151,149.03,146.61,147.8,149.72,0,0,149. +13,146.72,148.08,149.03,150.63,0,0,150.49,151.97,151.69,152.19,151.58 +,0,0,152.57,152.11,152.41,152.84,153.44,0,0,154.38,154.35,154.72,154. +18,155.83,0,0,156.4,156.26,156.19,156.72,157.16,0,0,156.85,157.12,157 +.19,157.35,158.55,0,0,158.63,158.69,158.19,157.79,158.13,0,0,159.63,1 +59.97,160.74,0,160.02,0,0,158.57,157.63,158.65,158.88,160.29,0,0,159. +78,159.63,160.02,161.33,161.33,0,0,162.51,162.57,162.63,163.35,164.19 +,0,0,164.29,163.44,0,164.23,164.08,0,0,163.19,163.62,0,164.98,163.93, +0,0,164.49,164.1,164.91,165.94,165.46,0,0,166.59,166.5,166.91,168.34, +168.76,0,0,0,168.4,168.5,168.69,167.09,0,0,164.58,166.17,166.06,166.4 +6,163.52,0,0,164.96,167.56,169.21,169.68,168.71,0,0,169.95,170.42,171 +.49,171.42,171.7,0,0,0,171.3,172.17,171.65,169.89,0,0,164.3,159.28,15 +8.4,151.46,150.44,0,0,156.66,152.63,158.72,153.44,150.59,0,0,138.5,14 +5.37,138.01,124.59,135.93,0,0,120.46,126.5,119.21,120.09,115.19,0,0,1 +11.91,122.53,124.22,131.11,126.93,0,0,130.78,128.91,122.96,125.52,123 +.38,0,0,132.01,132.16,136.8,139.36,0,0,0,137.69,141.88,138.55,139.19, +143.13,0,0,140.82,136.44,139.53,139.55,141.63,0,0,144.13,143.69,147.7 +6,145.84,141.81,0,0,142.35,143.66,142.88,144.75,147.47,0,0,147.49,144 +.35,141.44,142.97,143.83,0,0,148.6,147.02,149.74,148.84,149.26,0,0,0, +151.34,153.72,153.19,153.71,0,0,154.75,155.91,158.35,157.85,161.9,0,0 +,164.1,162.6,161.38,151.87,153.97,0,0,155.62,158.61,157.84,157.97,157 +.08,0,0,158.16,158.79,154.47,155.63,152.02,0,0,154.25,156.53,157.44,1 +58.07,0,0,0,160.56,158.93,160.22,159.24,160.94,0,0,159.21,161.3,163.3 +,162.57,163.19,0,0,164.44,164.91,165.77,163.96,162.69,0,0,164.09,162. +88,165.05,164.68,165.52,0,0,166.96,167.62,168.84,169.66,169.8,0,0,170 +.27,168.9,171.16,171.03,170.98,0,0,171.71,171.97,171.3,171.79,172.22, +0,0,173.87,174.45,176.03,176.45,177.68,0,0,177.28,178.85,181.24,174.9 +4,173.45,0,0,0,168.58,171.88,169.06,169.12,0,0,171.76,172.74,172.17,1 +70.75,169.09,0,0,167.05,168.71,164.64,164.99,166.96,0,0,169.99,169.04 +,170.31,171.73,170.39,0,0,173.46,171.32,174.31,175.84,177.32,0,0,179. +95,179,177.81,177.87,177.55,0,0,175.01,175.62,175.02,176.26,176.84,0, +0,173.54,172.95,167.08,168.98,166.73,0,0,168.82,172.06,175.67,179.31, +179.2,0,0,181.19,181.1,182.5,180.72,183.2,0,0,185.47,185.03,183.16,18 +4.18,183.19,0,0,184.66,187.55,187.44,0,188.12,0,0,187.06,188.98,189.1 +9,189.46,191.43,0,0,191.26,192.04,190.27,190.55,190.22,0,0,189.67,192 +.22,192.47,193.97,193.53,0,0,192.96,193,193.19,192.91,0,0,0,193.91,19 +3.15,193.68,194.61,0,0,0,191.77,193.38,195.02,198.21,199.16,0,0,198.1 +,198.71,198.9,198.66,197.11,0,0,0,198.82,201.36,201.18,200.88,0,0,201 +.41,200.78,195.59,197.58,193.98,0,0,197.31,200.19,200.46,202.87,204.0 +3,0,0,205.93,205.95,205.86,206.36,207.36,0,0,0,207.07,206.72,205.52,2 +05.85,0,0,203.91,203.89,206.27,200.8,200.17,0,0,205.19,203.2,200.24,1 +97.04,200.73,0,0,199.65,202.86,204.24,206.95,207.33,0,0,208.8,208.01, +208.7,205.06,205.29,0,0,206.41,204.13,202.38,203.08,206.41,0,0,205.46 +,205.36,206.45,209.1,0,0,0,211.71,211.72,211.59,212.76,214.16,0,0,214 +.11,214.89,214.21,216.52,217.14,0,0,215.71,213.91,216.23,214.55,217.1 +5); # Save packed scalar of initial data my $pack1=pack "w*",map { $_*100 } @data[$start..$end]; # Print data before modification print "data before modification $data[$edate]\n"; # Update data $data[$edate]=160.23; # Print data after modification print "data after modification $data[$edate]\n"; # Save packed scalar of modified data my $pack2=pack "w*",map { $_*100 } @data[$start..$end]; # Verify packed data is different print "packed data is the same, utter madness!!!\n" if ($pack1 eq $pac +k2);

Replies are listed 'Best First'.
Re: Problems with pack-ing data.
by choroba (Archbishop) on Apr 26, 2021 at 15:52 UTC
    It's not related to pack or BER. It's how floating point numbers work:
    #! /usr/bin/perl use warnings; use strict; use feature qw{ say }; my @v = map $_ * 100, 160.22, 160.23; printf "%.20f %d\n", $_, int for @v;
    Output:
    16022.00000000000000000000 16022 16022.99999999999818101060 16022

    See the popular article What Every Programmer Should Know About Floating-Point Arithmetic.

    Update: Try the following to see the correct number, too:

    printf "%.20f %.0f %d\n", $_, $_, int for @v;
    See also round or lround in POSIX.

    map{substr$_->[0],$_->[1]||0,1}[\*||{},3],[[]],[ref qr-1,-,-1],[{}],[sub{}^*ARGV,3]
      Thanks for your help.

      I added the round function to my pack line:

      pack "w*",map { round $_*100 } @data[$start..$end];

      and the program works as expected now.

        I am quite sure that you will open the article that choroba linked to, declare it 'More than I care to know', and close it immediately. Please do not do that. I recently decided that I had procrastinated long enough and read most of it carefully. I was rewarded with an elegant solution to a problem I first encountered over forty years ago. I wish that I had believed the title when I first encountered this article.
        Bill

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://11131732]
Approved by choroba
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (4)
As of 2022-06-25 16:05 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    My most frequent journeys are powered by:









    Results (83 votes). Check out past polls.

    Notices?