From 79096fd626b946efd6947fa94ab15d30bf003ba0 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 19 Aug 2010 05:04:28 +0000 Subject: converted to new library template and debianized svn path=/trunk/externals/ekext/; revision=13835 --- GnuGPL.txt | 674 --- LICENSE.txt | 674 +++ Makefile | 298 ++ README.txt | 8 + beauty.wav | Bin 0 -> 177644 bytes count-help.pd | 2 + count.pd | 43 + cup-help.pd | 47 + cup.c | 49 + cup/cup-help.pd | 47 - cup/cup.c | 49 - cup/makefile | 105 - cupd-help.pd | 19 + cupd.c | 68 + cupd/cupd-help.pd | 19 - cupd/cupd.c | 68 - cupd/makefile | 105 - debian/changelog | 5 + debian/compat | 1 + debian/control | 16 + debian/copyright | 14 + debian/links | 4 + debian/rules | 16 + debian/source/format | 1 + doubledelta-help.pd | 10 + doubledelta.c | 48 + doubledelta/doubledelta.c | 48 - doubledelta/makefile | 105 - drummach.wav | Bin 0 -> 211724 bytes ekext-meta.pd | 6 + examples/lpc-cross-synthesis.pd | 327 ++ examples/peakit-listmoses.pd | 362 ++ framescore~-help.pd | 180 + framescore~.c | 101 + framescore~/framescore~-help.pd | 180 - framescore~/framescore~.c | 101 - framescore~/m_pd.h | 635 --- framescore~/makefile | 107 - framespect~-help.pd | 176 + framespect~.c | 111 + framespect~/framespect~-help.pd | 176 - framespect~/framespect~.c | 111 - framespect~/m_pd.h | 635 --- framespect~/makefile | 106 - hasc~-help.pd | 3 + hasc~.c | 100 + hasc~/hasc~.c | 100 - hasc~/makefile | 103 - hssc~-help.pd | 180 + hssc~.c | 98 + hssc~/hssc~-help.pd | 180 - hssc~/hssc~.c | 98 - hssc~/m_pd.h | 635 --- hssc~/makefile | 103 - list_sum-help.pd | 41 + list_sum.c | 179 + list_sum/list_sum-help.pd | 41 - list_sum/list_sum.c | 179 - list_sum/makefile | 105 - listmoses-help.pd | 37 + listmoses.c | 149 + listmoses/help_listmoses.pd | 37 - listmoses/listmoses-help.pd | 37 - listmoses/listmoses.c | 149 - listmoses/m_pd.h | 635 --- listmoses/makefile | 105 - lpc~-help.pd | 53 + lpc~.c | 203 + lpc~/lpc_anal/lpc_test.pd | 53 - lpc~/lpc_anal/lpc~.c | 203 - lpc~/lpc_anal/makefile | 105 - lpc~/lpc_filter/beauty.wav | Bin 177644 -> 0 bytes lpc~/lpc_filter/drummach.wav | Bin 211724 -> 0 bytes lpc~/lpc_filter/lpc-cross-synthesis.pd | 327 -- lpc~/lpc_filter/lpc_test.pd | 53 - lpc~/lpc_filter/lpreson~.c | 131 - lpc~/lpc_filter/makefile | 106 - lpreson~-help.pd | 53 + lpreson~.c | 131 + maskxor-help.pd | 104 + maskxor-test.pd | 25 + maskxor.c | 216 + maskxor/makefile | 105 - maskxor/maskxor-help.pd | 104 - maskxor/maskxor-test.pd | 25 - maskxor/maskxor.c | 216 - peakit~-help.pd | 49 + peakit~.c | 147 + peakit~/README.txt | 8 - peakit~/license.txt | 31 - peakit~/makefile | 105 - peakit~/peakit-listmoses.pd | 362 -- peakit~/peakit~-help.pd | 49 - peakit~/peakit~.c | 147 - peakit~_license.txt | 31 + polymap-help.pd | 62 + polymap.c | 206 + polymap/makefile | 105 - polymap/polymap-help.pd | 62 - polymap/polymap.c | 206 - polystat-help.pd | 92 + polystat.c | 268 ++ polystat/makefile | 105 - polystat/polystat-help.pd | 92 - polystat/polystat.c | 268 -- sieve-help.pd | 123 + sieve.c | 410 ++ sieve/makefile | 105 - sieve/sieve-help.pd | 123 - sieve/sieve.c | 410 -- simile-help.pd | 33 + simile.c | 69 + simile/m_pd.h | 635 --- simile/makefile | 105 - simile/simile-help.pd | 33 - simile/simile.c | 69 - simile~-help.pd | 5474 ++++++++++++++++++++++ simile~.c | 84 + simile~/m_pd.h | 635 --- simile~/makefile | 105 - simile~/simile~-help.pd | 5474 ---------------------- simile~/simile~.c | 84 - steady-help.pd | 110 + steady.c | 80 + steady/makefile | 105 - steady/steady-help.pd | 110 - steady/steady.c | 80 - stink.wav | Bin 0 -> 213234 bytes valve-help.pd | 34 + valve.c | 123 + valve/makefile | 105 - valve/valve-help.pd | 34 - valve/valve.c | 123 - voicing_detector~-help.pd | 85 + voicing_detector~.c | 132 + voicing_detector~/count.pd | 43 - voicing_detector~/makefile | 106 - voicing_detector~/voicing_detector~-help.pd | 85 - voicing_detector~/voicing_detector~.c | 132 - voicing_detector~/voicing_detector~test3-help.pd | 275 -- voicing_detector~test3-help.pd | 275 ++ weightonset-help.pd | 261 ++ weightonset.c | 106 + weightonset/help-weightonset.pd | 261 -- weightonset/makefile | 106 - weightonset/stink.wav | Bin 213234 -> 0 bytes weightonset/weightonset.c | 106 - zeroxpos~-help.pd | 96 + zeroxpos~.c | 194 + zeroxpos~/makefile | 106 - zeroxpos~/zeroxpos~-help.pd | 96 - zeroxpos~/zeroxpos~.c | 194 - 152 files changed, 12702 insertions(+), 18591 deletions(-) delete mode 100644 GnuGPL.txt create mode 100644 LICENSE.txt create mode 100644 Makefile create mode 100644 README.txt create mode 100644 beauty.wav create mode 100644 count-help.pd create mode 100644 count.pd create mode 100644 cup-help.pd create mode 100644 cup.c delete mode 100644 cup/cup-help.pd delete mode 100644 cup/cup.c delete mode 100644 cup/makefile create mode 100644 cupd-help.pd create mode 100644 cupd.c delete mode 100644 cupd/cupd-help.pd delete mode 100644 cupd/cupd.c delete mode 100644 cupd/makefile create mode 100644 debian/changelog create mode 100644 debian/compat create mode 100644 debian/control create mode 100644 debian/copyright create mode 100644 debian/links create mode 100755 debian/rules create mode 100644 debian/source/format create mode 100644 doubledelta-help.pd create mode 100644 doubledelta.c delete mode 100644 doubledelta/doubledelta.c delete mode 100644 doubledelta/makefile create mode 100644 drummach.wav create mode 100644 ekext-meta.pd create mode 100644 examples/lpc-cross-synthesis.pd create mode 100644 examples/peakit-listmoses.pd create mode 100644 framescore~-help.pd create mode 100644 framescore~.c delete mode 100644 framescore~/framescore~-help.pd delete mode 100644 framescore~/framescore~.c delete mode 100644 framescore~/m_pd.h delete mode 100644 framescore~/makefile create mode 100644 framespect~-help.pd create mode 100644 framespect~.c delete mode 100644 framespect~/framespect~-help.pd delete mode 100644 framespect~/framespect~.c delete mode 100644 framespect~/m_pd.h delete mode 100644 framespect~/makefile create mode 100644 hasc~-help.pd create mode 100644 hasc~.c delete mode 100644 hasc~/hasc~.c delete mode 100644 hasc~/makefile create mode 100644 hssc~-help.pd create mode 100644 hssc~.c delete mode 100644 hssc~/hssc~-help.pd delete mode 100644 hssc~/hssc~.c delete mode 100644 hssc~/m_pd.h delete mode 100644 hssc~/makefile create mode 100644 list_sum-help.pd create mode 100644 list_sum.c delete mode 100644 list_sum/list_sum-help.pd delete mode 100644 list_sum/list_sum.c delete mode 100644 list_sum/makefile create mode 100644 listmoses-help.pd create mode 100644 listmoses.c delete mode 100644 listmoses/help_listmoses.pd delete mode 100644 listmoses/listmoses-help.pd delete mode 100644 listmoses/listmoses.c delete mode 100644 listmoses/m_pd.h delete mode 100644 listmoses/makefile create mode 100644 lpc~-help.pd create mode 100644 lpc~.c delete mode 100644 lpc~/lpc_anal/lpc_test.pd delete mode 100644 lpc~/lpc_anal/lpc~.c delete mode 100644 lpc~/lpc_anal/makefile delete mode 100644 lpc~/lpc_filter/beauty.wav delete mode 100644 lpc~/lpc_filter/drummach.wav delete mode 100644 lpc~/lpc_filter/lpc-cross-synthesis.pd delete mode 100644 lpc~/lpc_filter/lpc_test.pd delete mode 100644 lpc~/lpc_filter/lpreson~.c delete mode 100644 lpc~/lpc_filter/makefile create mode 100644 lpreson~-help.pd create mode 100644 lpreson~.c create mode 100644 maskxor-help.pd create mode 100644 maskxor-test.pd create mode 100644 maskxor.c delete mode 100755 maskxor/makefile delete mode 100644 maskxor/maskxor-help.pd delete mode 100644 maskxor/maskxor-test.pd delete mode 100644 maskxor/maskxor.c create mode 100644 peakit~-help.pd create mode 100644 peakit~.c delete mode 100644 peakit~/README.txt delete mode 100644 peakit~/license.txt delete mode 100644 peakit~/makefile delete mode 100644 peakit~/peakit-listmoses.pd delete mode 100644 peakit~/peakit~-help.pd delete mode 100644 peakit~/peakit~.c create mode 100644 peakit~_license.txt create mode 100644 polymap-help.pd create mode 100644 polymap.c delete mode 100755 polymap/makefile delete mode 100644 polymap/polymap-help.pd delete mode 100644 polymap/polymap.c create mode 100644 polystat-help.pd create mode 100644 polystat.c delete mode 100755 polystat/makefile delete mode 100644 polystat/polystat-help.pd delete mode 100644 polystat/polystat.c create mode 100644 sieve-help.pd create mode 100644 sieve.c delete mode 100755 sieve/makefile delete mode 100644 sieve/sieve-help.pd delete mode 100644 sieve/sieve.c create mode 100644 simile-help.pd create mode 100644 simile.c delete mode 100644 simile/m_pd.h delete mode 100644 simile/makefile delete mode 100644 simile/simile-help.pd delete mode 100644 simile/simile.c create mode 100644 simile~-help.pd create mode 100644 simile~.c delete mode 100644 simile~/m_pd.h delete mode 100644 simile~/makefile delete mode 100644 simile~/simile~-help.pd delete mode 100644 simile~/simile~.c create mode 100644 steady-help.pd create mode 100644 steady.c delete mode 100644 steady/makefile delete mode 100644 steady/steady-help.pd delete mode 100644 steady/steady.c create mode 100755 stink.wav create mode 100644 valve-help.pd create mode 100644 valve.c delete mode 100644 valve/makefile delete mode 100644 valve/valve-help.pd delete mode 100644 valve/valve.c create mode 100644 voicing_detector~-help.pd create mode 100644 voicing_detector~.c delete mode 100644 voicing_detector~/count.pd delete mode 100644 voicing_detector~/makefile delete mode 100644 voicing_detector~/voicing_detector~-help.pd delete mode 100644 voicing_detector~/voicing_detector~.c delete mode 100644 voicing_detector~/voicing_detector~test3-help.pd create mode 100644 voicing_detector~test3-help.pd create mode 100644 weightonset-help.pd create mode 100644 weightonset.c delete mode 100644 weightonset/help-weightonset.pd delete mode 100755 weightonset/makefile delete mode 100755 weightonset/stink.wav delete mode 100644 weightonset/weightonset.c create mode 100644 zeroxpos~-help.pd create mode 100644 zeroxpos~.c delete mode 100644 zeroxpos~/makefile delete mode 100644 zeroxpos~/zeroxpos~-help.pd delete mode 100644 zeroxpos~/zeroxpos~.c diff --git a/GnuGPL.txt b/GnuGPL.txt deleted file mode 100644 index 94a9ed0..0000000 --- a/GnuGPL.txt +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..94a9ed0 --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..cd5b186 --- /dev/null +++ b/Makefile @@ -0,0 +1,298 @@ +## Pd library template version 1.0.1 +# For instructions on how to use this template, see: +# http://puredata.info/docs/developer/MakefileTemplate +LIBRARY_NAME = ekext + +# add your .c source files to the SOURCES variable, help files will be +# included automatically +SOURCES = cup.c cupd.c doubledelta.c framescore~.c framespect~.c hasc~.c hssc~.c listmoses.c list_sum.c lpc~.c lpreson~.c maskxor.c peakit~.c polymap.c polystat.c sieve.c simile~.c simile.c steady.c valve.c voicing_detector~.c weightonset.c zeroxpos~.c + + +# For objects that only build on certain platforms, add those to the SOURCES +# line for the right platforms. +SOURCES_android = +SOURCES_cygwin = +SOURCES_macosx = +SOURCES_iphoneos = +SOURCES_linux = +SOURCES_windows = + +# list all pd objects (i.e. myobject.pd) files here, and their helpfiles will +# be included automatically +PDOBJECTS = count.pd + +# example patches and related files, in the 'examples' subfolder +EXAMPLES = lpc-cross-synthesis.pd peakit-listmoses.pd + +# manuals and related files, in the 'manual' subfolder +MANUAL = + +# if you want to include any other files in the source and binary tarballs, +# list them here. This can be anything from header files, example patches, +# documentation, etc. README.txt and LICENSE.txt are required and therefore +# automatically included +EXTRA_DIST = peakit~_license.txt voicing_detector~test3-help.pd maskxor-test.pd beauty.wav drummach.wav stink.wav + + + +#------------------------------------------------------------------------------# +# +# you shouldn't need to edit anything below here, if we did it right :) +# +#------------------------------------------------------------------------------# + +# get library version from meta file +LIBRARY_VERSION = $(shell sed -n 's|^\#X text [0-9][0-9]* [0-9][0-9]* VERSION \(.*\);|\1|p' $(LIBRARY_NAME)-meta.pd) + +# where Pd lives +PD_PATH = ../../pd +# where to install the library +prefix = /usr/local +libdir = $(prefix)/lib +pkglibdir = $(libdir)/pd-externals +objectsdir = $(pkglibdir) + + +INSTALL = install +INSTALL_FILE = $(INSTALL) -p -m 644 +INSTALL_DIR = $(INSTALL) -p -m 755 -d + +CFLAGS = -DPD -I$(PD_PATH)/src -Wall -W -g +LDFLAGS = +LIBS = +ALLSOURCES := $(SOURCES) $(SOURCES_android) $(SOURCES_cygwin) $(SOURCES_macosx) \ + $(SOURCES_iphoneos) $(SOURCES_linux) $(SOURCES_windows) + +DISTDIR=$(LIBRARY_NAME)-$(LIBRARY_VERSION) +ORIGDIR=pd-$(LIBRARY_NAME)_$(LIBRARY_VERSION) + +UNAME := $(shell uname -s) +ifeq ($(UNAME),Darwin) + CPU := $(shell uname -p) + ifeq ($(CPU),arm) # iPhone/iPod Touch + SOURCES += $(SOURCES_iphoneos) + EXTENSION = pd_darwin + OS = iphoneos + IPHONE_BASE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin + CC=$(IPHONE_BASE)/gcc + CPP=$(IPHONE_BASE)/cpp + CXX=$(IPHONE_BASE)/g++ + ISYSROOT = -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk + IPHONE_CFLAGS = -miphoneos-version-min=3.0 $(ISYSROOT) -arch armv6 + OPT_CFLAGS = -fast -funroll-loops -fomit-frame-pointer + CFLAGS := $(IPHONE_CFLAGS) $(OPT_CFLAGS) $(CFLAGS) \ + -I/Applications/Pd-extended.app/Contents/Resources/include + LDFLAGS += -arch armv6 -bundle -undefined dynamic_lookup $(ISYSROOT) + LIBS += -lc + STRIP = strip -x + DISTBINDIR=$(DISTDIR)-$(OS) + else # Mac OS X + SOURCES += $(SOURCES_macosx) + EXTENSION = pd_darwin + OS = macosx + OPT_CFLAGS = -ftree-vectorize -ftree-vectorizer-verbose=2 -fast +# build universal 32-bit on 10.4 and 32/64 on newer + ifeq ($(shell uname -r | sed 's|\([0-9][0-9]*\)\.[0-9][0-9]*\.[0-9][0-9]*|\1|'), 8) + FAT_FLAGS = -arch ppc -arch i386 -mmacosx-version-min=10.4 + else + FAT_FLAGS = -arch ppc -arch i386 -arch x86_64 -mmacosx-version-min=10.4 + SOURCES += $(SOURCES_iphoneos) + endif + CFLAGS += $(FAT_FLAGS) -fPIC -I/sw/include \ + -I/Applications/Pd-extended.app/Contents/Resources/include + LDFLAGS += $(FAT_FLAGS) -bundle -undefined dynamic_lookup -L/sw/lib + # if the 'pd' binary exists, check the linking against it to aid with stripping + LDFLAGS += $(shell test -e $(PD_PATH)/bin/pd && echo -bundle_loader $(PD_PATH)/bin/pd) + LIBS += -lc + STRIP = strip -x + DISTBINDIR=$(DISTDIR)-$(OS) +# install into ~/Library/Pd on Mac OS X since /usr/local isn't used much + pkglibdir=$(HOME)/Library/Pd + endif +endif +ifeq ($(UNAME),Linux) + SOURCES += $(SOURCES_linux) + EXTENSION = pd_linux + OS = linux + OPT_CFLAGS = -O6 -funroll-loops -fomit-frame-pointer + CFLAGS += -fPIC + LDFLAGS += -Wl,--export-dynamic -shared -fPIC + LIBS += -lc + STRIP = strip --strip-unneeded -R .note -R .comment + DISTBINDIR=$(DISTDIR)-$(OS)-$(shell uname -m) +endif +ifeq (CYGWIN,$(findstring CYGWIN,$(UNAME))) + SOURCES += $(SOURCES_cygwin) + EXTENSION = dll + OS = cygwin + OPT_CFLAGS = -O6 -funroll-loops -fomit-frame-pointer + CFLAGS += + LDFLAGS += -Wl,--export-dynamic -shared -L$(PD_PATH)/src + LIBS += -lc -lpd + STRIP = strip --strip-unneeded -R .note -R .comment + DISTBINDIR=$(DISTDIR)-$(OS) +endif +ifeq (MINGW,$(findstring MINGW,$(UNAME))) + SOURCES += $(SOURCES_windows) + EXTENSION = dll + OS = windows + OPT_CFLAGS = -O3 -funroll-loops -fomit-frame-pointer -march=i686 -mtune=pentium4 + CFLAGS += -mms-bitfields + LDFLAGS += -s -shared -Wl,--enable-auto-import + LIBS += -L$(PD_PATH)/src -L$(PD_PATH)/bin -L$(PD_PATH)/obj -lpd -lwsock32 -lkernel32 -luser32 -lgdi32 + STRIP = strip --strip-unneeded -R .note -R .comment + DISTBINDIR=$(DISTDIR)-$(OS) +endif + +CFLAGS += $(OPT_CFLAGS) + + +.PHONY = install libdir_install single_install install-doc install-exec install-examples install-manual clean dist etags + +all: $(SOURCES:.c=.$(EXTENSION)) + +%.o: %.c + $(CC) $(CFLAGS) -o "$*.o" -c "$*.c" + +%.$(EXTENSION): %.o + $(CC) $(LDFLAGS) -o "$*.$(EXTENSION)" "$*.o" $(LIBS) + chmod a-x "$*.$(EXTENSION)" + +# this links everything into a single binary file +$(LIBRARY_NAME): $(SOURCES:.c=.o) $(LIBRARY_NAME).o + $(CC) $(LDFLAGS) -o $(LIBRARY_NAME).$(EXTENSION) $(SOURCES:.c=.o) $(LIBRARY_NAME).o $(LIBS) + chmod a-x $(LIBRARY_NAME).$(EXTENSION) + + +install: libdir_install + +# The meta and help files are explicitly installed to make sure they are +# actually there. Those files are not optional, then need to be there. +libdir_install: $(SOURCES:.c=.$(EXTENSION)) install-doc install-examples install-manual + $(INSTALL_DIR) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME) + $(INSTALL_FILE) $(LIBRARY_NAME)-meta.pd \ + $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME) + test -z "$(strip $(SOURCES))" || (\ + $(INSTALL_FILE) $(SOURCES:.c=.$(EXTENSION)) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME) && \ + $(STRIP) $(addprefix $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/,$(SOURCES:.c=.$(EXTENSION)))) + test -z "$(strip $(PDOBJECTS))" || \ + $(INSTALL_FILE) $(PDOBJECTS) \ + $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME) + +# install library linked as single binary +single_install: $(LIBRARY_NAME) install-doc install-exec + $(INSTALL_DIR) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME) + $(INSTALL_FILE) $(LIBRARY_NAME).$(EXTENSION) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME) + $(STRIP) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/$(LIBRARY_NAME).$(EXTENSION) + +install-doc: + $(INSTALL_DIR) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME) + test -z "$(strip $(SOURCES))" || \ + $(INSTALL_FILE) $(SOURCES:.c=-help.pd) \ + $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME) + test -z "$(strip $(PDOBJECTS))" || \ + $(INSTALL_FILE) $(PDOBJECTS:.pd=-help.pd) \ + $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME) + $(INSTALL_FILE) README.txt $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/README.txt + $(INSTALL_FILE) LICENSE.txt $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/LICENSE.txt + +install-examples: + test -z "$(strip $(EXAMPLES))" || \ + $(INSTALL_DIR) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/examples && \ + for file in $(EXAMPLES); do \ + $(INSTALL_FILE) examples/$$file $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/examples; \ + done + +install-manual: + test -z "$(strip $(MANUAL))" || \ + $(INSTALL_DIR) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/manual && \ + for file in $(MANUAL); do \ + $(INSTALL_FILE) manual/$$file $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/manual; \ + done + + +clean: + -rm -f -- $(SOURCES:.c=.o) + -rm -f -- $(SOURCES:.c=.$(EXTENSION)) + -rm -f -- $(LIBRARY_NAME).o + -rm -f -- $(LIBRARY_NAME).$(EXTENSION) + +distclean: clean + -rm -f -- $(DISTBINDIR).tar.gz + -rm -rf -- $(DISTBINDIR) + -rm -f -- $(DISTDIR).tar.gz + -rm -rf -- $(DISTDIR) + -rm -f -- $(ORIGDIR).tar.gz + -rm -rf -- $(ORIGDIR) + + +$(DISTBINDIR): + $(INSTALL_DIR) $(DISTBINDIR) + +libdir: all $(DISTBINDIR) + $(INSTALL_FILE) $(LIBRARY_NAME)-meta.pd $(DISTBINDIR) + $(INSTALL_FILE) $(SOURCES) $(DISTBINDIR) + $(INSTALL_FILE) $(SOURCES:.c=-help.pd) $(DISTBINDIR) + test -z "$(strip $(EXTRA_DIST))" || \ + $(INSTALL_FILE) $(EXTRA_DIST) $(DISTBINDIR) +# tar --exclude-vcs -czpf $(DISTBINDIR).tar.gz $(DISTBINDIR) + +$(DISTDIR): + $(INSTALL_DIR) $(DISTDIR) + +$(ORIGDIR): + $(INSTALL_DIR) $(ORIGDIR) + +dist: $(DISTDIR) + $(INSTALL_FILE) Makefile $(DISTDIR) + $(INSTALL_FILE) README.txt $(DISTDIR) + $(INSTALL_FILE) LICENSE.txt $(DISTDIR) + $(INSTALL_FILE) $(LIBRARY_NAME)-meta.pd $(DISTDIR) + test -z "$(strip $(ALLSOURCES))" || \ + $(INSTALL_FILE) $(ALLSOURCES) $(DISTDIR) + test -z "$(strip $(ALLSOURCES))" || \ + $(INSTALL_FILE) $(ALLSOURCES:.c=-help.pd) $(DISTDIR) + test -z "$(strip $(PDOBJECTS))" || \ + $(INSTALL_FILE) $(PDOBJECTS) $(DISTDIR) + test -z "$(strip $(PDOBJECTS))" || \ + $(INSTALL_FILE) $(PDOBJECTS:.pd=-help.pd) $(DISTDIR) + test -z "$(strip $(EXTRA_DIST))" || \ + $(INSTALL_FILE) $(EXTRA_DIST) $(DISTDIR) + test -z "$(strip $(EXAMPLES))" || \ + $(INSTALL_DIR) $(DISTDIR)/examples && \ + for file in $(EXAMPLES); do \ + $(INSTALL_FILE) examples/$$file $(DISTDIR)/examples; \ + done + test -z "$(strip $(MANUAL))" || \ + $(INSTALL_DIR) $(DISTDIR)/manual && \ + for file in $(MANUAL); do \ + $(INSTALL_FILE) manual/$$file $(DISTDIR)/manual; \ + done + tar --exclude-vcs -czpf $(DISTDIR).tar.gz $(DISTDIR) + +# make a Debian source package +dpkg-source: + debclean + make distclean dist + mv $(DISTDIR) $(ORIGDIR) + tar --exclude-vcs -czpf ../$(ORIGDIR).orig.tar.gz $(ORIGDIR) + rm -f -- $(DISTDIR).tar.gz + rm -rf -- $(DISTDIR) $(ORIGDIR) + cd .. && dpkg-source -b $(LIBRARY_NAME) + +etags: + etags *.h $(SOURCES) ../../pd/src/*.[ch] /usr/include/*.h /usr/include/*/*.h + +showsetup: + @echo "PD_PATH: $(PD_PATH)" + @echo "objectsdir: $(objectsdir)" + @echo "LIBRARY_NAME: $(LIBRARY_NAME)" + @echo "LIBRARY_VERSION: $(LIBRARY_VERSION)" + @echo "SOURCES: $(SOURCES)" + @echo "PDOBJECTS: $(PDOBJECTS)" + @echo "ALLSOURCES: $(ALLSOURCES)" + @echo "UNAME: $(UNAME)" + @echo "CPU: $(CPU)" + @echo "pkglibdir: $(pkglibdir)" + @echo "DISTDIR: $(DISTDIR)" + @echo "ORIGDIR: $(ORIGDIR)" diff --git a/README.txt b/README.txt new file mode 100644 index 0000000..427e349 --- /dev/null +++ b/README.txt @@ -0,0 +1,8 @@ +peakit~ - find frequency peaks of an FFT and output lists of frequencies and magnitudes. + +(c) Edward Kelly 2005. This software is subject to the GNU General Public License, and may be freely copied, distributed and modified. + +You will need the listmoses external to make the best use of this software, and to run the peakit-listmoses demonstration patches in the help file. + +Have fun! +Ed Kelly diff --git a/beauty.wav b/beauty.wav new file mode 100644 index 0000000..689b25c Binary files /dev/null and b/beauty.wav differ diff --git a/count-help.pd b/count-help.pd new file mode 100644 index 0000000..a079712 --- /dev/null +++ b/count-help.pd @@ -0,0 +1,2 @@ +#N canvas 1 52 450 300 10; +#X obj 155 148 count; diff --git a/count.pd b/count.pd new file mode 100644 index 0000000..9be4cf8 --- /dev/null +++ b/count.pd @@ -0,0 +1,43 @@ +#N canvas 529 241 271 210 10; +#X obj 69 42 inlet; +#X obj 180 76 inlet; +#X obj 69 59 f; +#X obj 92 59 + 1; +#X msg 172 148 0; +#X obj 92 76 t f f; +#X obj 106 103 f; +#X obj 150 93 >= \$1; +#X obj 150 131 sel 0 1; +#X obj 172 114 inlet; +#X obj 25 139 outlet; +#X obj 69 139 outlet; +#X obj 69 122 sel 0; +#X text 16 25 INLETS: bang/set reset limit; +#X obj 25 76 t f f; +#X obj 139 59 loadbang; +#X msg 25 93 1; +#X obj 55 99 spigot; +#X msg 139 76 0; +#X text 20 170 OUTLETS: count bang-when-done; +#X connect 0 0 2 0; +#X connect 1 0 7 1; +#X connect 2 0 3 0; +#X connect 2 0 14 0; +#X connect 3 0 5 0; +#X connect 4 0 2 1; +#X connect 4 0 17 1; +#X connect 5 0 7 0; +#X connect 5 1 6 1; +#X connect 6 0 2 1; +#X connect 7 0 8 0; +#X connect 8 0 6 0; +#X connect 8 1 4 0; +#X connect 9 0 4 0; +#X connect 12 0 11 0; +#X connect 14 0 10 0; +#X connect 14 0 16 0; +#X connect 14 1 17 0; +#X connect 15 0 18 0; +#X connect 16 0 17 1; +#X connect 17 0 12 0; +#X connect 18 0 17 1; diff --git a/cup-help.pd b/cup-help.pd new file mode 100644 index 0000000..ea1a27f --- /dev/null +++ b/cup-help.pd @@ -0,0 +1,47 @@ +#N canvas 0 22 433 272 10; +#X obj 71 134 cup; +#X msg 133 118 0; +#X msg 177 118 25; +#X msg 220 118 -67; +#X text 153 89 set to float; +#X text 130 100 (but do not output); +#X obj 71 81 metro 500; +#X obj 71 62 loadbang; +#X floatatom 71 156 5 0 0 0 - - -; +#X text 196 24 cup counts up ^_^; +#X text 165 46 it's the simplest counter there is; +#X text 184 70 why waste cpu power on counting?; +#X text 106 236 Ed; +#X text 71 198 someday I may write a haiku poem about it; +#X msg 280 119 setbang 198; +#X text 278 103 set and output; +#N canvas 0 0 450 300 simplecounter 0; +#X obj 107 147 cup; +#X msg 138 147 0; +#X msg 107 80 1; +#X floatatom 107 191 5 0 0 0 - - -; +#X obj 107 63 loadbang; +#X obj 107 97 metro 200; +#X text 228 190 don't forget the delay 0!; +#X obj 174 172 select 10; +#X obj 174 189 delay 0; +#X text 80 233 cup counts up from float; +#X text 79 248 simplicity helps me think; +#X text 80 263 organise my patch; +#X text 81 218 ______A_CUP_HAIKU_______; +#X connect 0 0 3 0; +#X connect 0 0 7 0; +#X connect 1 0 0 0; +#X connect 2 0 5 0; +#X connect 4 0 2 0; +#X connect 5 0 0 0; +#X connect 7 0 8 0; +#X connect 8 0 1 0; +#X restore 230 158 pd simplecounter; +#X connect 0 0 8 0; +#X connect 1 0 0 0; +#X connect 2 0 0 0; +#X connect 3 0 0 0; +#X connect 6 0 0 0; +#X connect 7 0 6 0; +#X connect 14 0 0 0; diff --git a/cup.c b/cup.c new file mode 100644 index 0000000..7876e69 --- /dev/null +++ b/cup.c @@ -0,0 +1,49 @@ +#include "m_pd.h" + +t_class *cup_class; + +typedef struct _cup +{ + t_object x_obj; + t_int f_count, fa; + t_outlet *count; +} t_cup; + +void cup_float(t_cup *y, t_floatarg f) +{ + y->f_count = f; +} + +void cup_bang(t_cup *y) +{ + outlet_float(y->count, y->f_count); + y->f_count += 1; +} + +void cup_setbang(t_cup *y, t_floatarg f) +{ + y->f_count = f; + outlet_float(y->count, y->f_count); + y->f_count += 1; +} + +void *cup_new(t_floatarg f) +{ + t_cup *y = (t_cup *)pd_new(cup_class); + y->fa = f; + y->f_count = 0; + y->count = outlet_new(&y->x_obj, gensym("float")); + return(void *)y; +} + +void cup_setup(void) +{ + cup_class = class_new(gensym("cup"), + (t_newmethod)cup_new, + 0, sizeof(t_cup), + 0, A_DEFFLOAT, 0); + post("cup counts up ^_^"); + + class_addbang(cup_class, cup_bang); + class_addfloat(cup_class, cup_float); + class_addmethod(cup_class, (t_method)cup_setbang, gensym("setbang"), A_DEFFLOAT, 0);} diff --git a/cup/cup-help.pd b/cup/cup-help.pd deleted file mode 100644 index ea1a27f..0000000 --- a/cup/cup-help.pd +++ /dev/null @@ -1,47 +0,0 @@ -#N canvas 0 22 433 272 10; -#X obj 71 134 cup; -#X msg 133 118 0; -#X msg 177 118 25; -#X msg 220 118 -67; -#X text 153 89 set to float; -#X text 130 100 (but do not output); -#X obj 71 81 metro 500; -#X obj 71 62 loadbang; -#X floatatom 71 156 5 0 0 0 - - -; -#X text 196 24 cup counts up ^_^; -#X text 165 46 it's the simplest counter there is; -#X text 184 70 why waste cpu power on counting?; -#X text 106 236 Ed; -#X text 71 198 someday I may write a haiku poem about it; -#X msg 280 119 setbang 198; -#X text 278 103 set and output; -#N canvas 0 0 450 300 simplecounter 0; -#X obj 107 147 cup; -#X msg 138 147 0; -#X msg 107 80 1; -#X floatatom 107 191 5 0 0 0 - - -; -#X obj 107 63 loadbang; -#X obj 107 97 metro 200; -#X text 228 190 don't forget the delay 0!; -#X obj 174 172 select 10; -#X obj 174 189 delay 0; -#X text 80 233 cup counts up from float; -#X text 79 248 simplicity helps me think; -#X text 80 263 organise my patch; -#X text 81 218 ______A_CUP_HAIKU_______; -#X connect 0 0 3 0; -#X connect 0 0 7 0; -#X connect 1 0 0 0; -#X connect 2 0 5 0; -#X connect 4 0 2 0; -#X connect 5 0 0 0; -#X connect 7 0 8 0; -#X connect 8 0 1 0; -#X restore 230 158 pd simplecounter; -#X connect 0 0 8 0; -#X connect 1 0 0 0; -#X connect 2 0 0 0; -#X connect 3 0 0 0; -#X connect 6 0 0 0; -#X connect 7 0 6 0; -#X connect 14 0 0 0; diff --git a/cup/cup.c b/cup/cup.c deleted file mode 100644 index 7876e69..0000000 --- a/cup/cup.c +++ /dev/null @@ -1,49 +0,0 @@ -#include "m_pd.h" - -t_class *cup_class; - -typedef struct _cup -{ - t_object x_obj; - t_int f_count, fa; - t_outlet *count; -} t_cup; - -void cup_float(t_cup *y, t_floatarg f) -{ - y->f_count = f; -} - -void cup_bang(t_cup *y) -{ - outlet_float(y->count, y->f_count); - y->f_count += 1; -} - -void cup_setbang(t_cup *y, t_floatarg f) -{ - y->f_count = f; - outlet_float(y->count, y->f_count); - y->f_count += 1; -} - -void *cup_new(t_floatarg f) -{ - t_cup *y = (t_cup *)pd_new(cup_class); - y->fa = f; - y->f_count = 0; - y->count = outlet_new(&y->x_obj, gensym("float")); - return(void *)y; -} - -void cup_setup(void) -{ - cup_class = class_new(gensym("cup"), - (t_newmethod)cup_new, - 0, sizeof(t_cup), - 0, A_DEFFLOAT, 0); - post("cup counts up ^_^"); - - class_addbang(cup_class, cup_bang); - class_addfloat(cup_class, cup_float); - class_addmethod(cup_class, (t_method)cup_setbang, gensym("setbang"), A_DEFFLOAT, 0);} diff --git a/cup/makefile b/cup/makefile deleted file mode 100644 index f35a9b0..0000000 --- a/cup/makefile +++ /dev/null @@ -1,105 +0,0 @@ -current: - echo make pd_linux, pd_nt, pd_irix5, pd_irix6 or pd_darwin, then make install - -clean: ; rm -f *.pd_* *.o - -# ----------------------- NT ----------------------- - -pd_nt: cup.dll - -INSTALL_PREFIX="C:\pd\extra" -EXT=dll -.SUFFIXES: .obj .dll - -PDNTCFLAGS = /W3 /WX /DNT /DPD /nologo -VC="D:\Program Files\Microsoft Visual Studio\Vc98" - -PDNTINCLUDE = /I. /I\tcl\include /I..\..\src /I$(VC)\include - -PDNTLDIR = $(VC)\lib -PDNTLIB = $(PDNTLDIR)\libc.lib \ - $(PDNTLDIR)\oldnames.lib \ - $(PDNTLDIR)\kernel32.lib \ - ..\..\bin\pd.lib - -.c.dll: - cl $(PDNTCFLAGS) $(PDNTINCLUDE) /c $*.c - link /dll /export:$*_setup $*.obj $(PDNTLIB) - -# ----------------------- IRIX 5.x ----------------------- - -pd_irix5: cup.pd_irix5 - -INSTALL_PREFIX=/usr/local -EXT=pd_irix5 -.SUFFIXES: .pd_irix5 - -SGICFLAGS5 = -o32 -DPD -DUNIX -DIRIX -O2 - -SGIINCLUDE = -I/usr/local/include - -.c.pd_irix5: - cc $(SGICFLAGS5) $(SGIINCLUDE) -o $*.o -c $*.c - ld -elf -shared -rdata_shared -o $*.pd_irix5 $*.o - rm $*.o - -# ----------------------- IRIX 5.x ----------------------- - -pd_irix6: cup.pd_irix6 - -INSTALL_PREFIX=/usr/local -EXT=pd_irix6 -.SUFFIXES: .pd_irix6 - -SGICFLAGS5 = -o32 -DPD -DUNIX -DIRIX -O2 - -SGIINCLUDE = -I/usr/local/include - -.c.pd_irix6: - cc $(SGICFLAGS5) $(SGIINCLUDE) -o $*.o -c $*.c - ld -elf -shared -rdata_shared -o $*.pd_irix6 $*.o - rm $*.o - -# ----------------------- LINUX i386 ----------------------- - -pd_linux: cup.pd_linux - -INSTALL_PREFIX=/usr/local -EXT=pd_linux -.SUFFIXES: .pd_linux - -LINUXCFLAGS = -DPD -O2 -funroll-loops -fomit-frame-pointer \ - -Wall -W -Wshadow -Wstrict-prototypes -Werror \ - -Wno-unused -Wno-parentheses -Wno-switch - -LINUXINCLUDE = -I/usr/local/include - -.c.pd_linux: - cc $(LINUXCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c - ld --export-dynamic -shared -o $*.pd_linux $*.o -lc -lm - strip --strip-unneeded $*.pd_linux - rm $*.o - -# ----------------------- Mac OSX ----------------------- - -pd_darwin: cup.pd_darwin - -INSTALL_PREFIX=/usr/local -EXT=pd_darwin -.SUFFIXES: .pd_darwin - -DARWINCFLAGS = -DPD -O2 -Wall -W -Wshadow -Wstrict-prototypes \ - -Wno-unused -Wno-parentheses -Wno-switch - -.c.pd_darwin: - cc $(DARWINCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c - cc -bundle -undefined suppress -flat_namespace -o $*.pd_darwin $*.o - rm -f $*.o - -# ---------------------------------------------- - -install:: - install -d $(INSTALL_PREFIX)/lib/pd/extra -# install -m 644 *.$(EXT) $(INSTALL_PREFIX)/lib/pd/externs - -install -m 644 cup.$(EXT) $(INSTALL_PREFIX)/lib/pd/extra - install -m 644 *.pd $(INSTALL_PREFIX)/lib/pd/doc/5.reference diff --git a/cupd-help.pd b/cupd-help.pd new file mode 100644 index 0000000..2bd8d67 --- /dev/null +++ b/cupd-help.pd @@ -0,0 +1,19 @@ +#N canvas 0 0 450 300 10; +#X obj 87 161 cupd; +#X obj 87 94 metro 100; +#X obj 87 56 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X obj 110 134 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#X floatatom 87 201 5 0 0 0 - - -; +#X msg 197 102 160; +#X text 109 59 bang counts; +#X text 70 14 cupd counts up ^_^ and down _^_; +#X text 223 101 float sets next; +#X text 132 135 != 0 counts down \, 0 counts up; +#X text 69 235 aaaaah \, simplicity!; +#X connect 0 0 4 0; +#X connect 1 0 0 0; +#X connect 2 0 1 0; +#X connect 3 0 0 1; +#X connect 5 0 0 0; diff --git a/cupd.c b/cupd.c new file mode 100644 index 0000000..66d42c0 --- /dev/null +++ b/cupd.c @@ -0,0 +1,68 @@ +#include "m_pd.h" + +t_class *cupd_class; + +typedef struct _cupd +{ + t_object x_obj; + t_int f_count; + t_float f_dir, f_prevdir, firstbang, floatset; + t_outlet *count; +} t_cupd; + +void cupd_float(t_cupd *y, t_floatarg f) +{ + y->f_count = f; + y->floatset = 1; +} + +void cupd_bang(t_cupd *y) +{ + int flag = y->f_dir != y->f_prevdir ? 1 : 0; + if (flag==1&&y->firstbang==0&&y->floatset==0) + { + y->f_count += y->f_dir == 0 ? 2 : -2; + outlet_float(y->count, y->f_count); + y->f_count += y->f_dir == 0 ? 1 : -1; + } + else + { + outlet_float(y->count, y->f_count); + y->f_count += y->f_dir == 0 ? 1 : -1; + y->firstbang = y->floatset = 0; + } + y->f_prevdir = y->f_dir; +} + +void cupd_setbang(t_cupd *y, t_floatarg f) +{ + y->f_count = f; + outlet_float(y->count, y->f_count); + y->f_count += y->f_dir == 0 ? 1 : -1; + y->firstbang = y->floatset = 0; + y->f_prevdir = y->f_dir; +} + +void *cupd_new(t_floatarg f) +{ + t_cupd *y = (t_cupd *)pd_new(cupd_class); + y->f_dir = f; + y->f_count = 0; + y->firstbang = 1; + y->floatset = 0; + floatinlet_new(&y->x_obj, &y->f_dir); + y->count = outlet_new(&y->x_obj, gensym("float")); + return(void *)y; +} + +void cupd_setup(void) +{ + cupd_class = class_new(gensym("cupd"), + (t_newmethod)cupd_new, + 0, sizeof(t_cupd), + 0, A_DEFFLOAT, 0); + post("cupd counts up ^_^ and down _^_"); + + class_addbang(cupd_class, cupd_bang); + class_addfloat(cupd_class, cupd_float); + class_addmethod(cupd_class, (t_method)cupd_setbang, gensym("setbang"), A_DEFFLOAT, 0);} diff --git a/cupd/cupd-help.pd b/cupd/cupd-help.pd deleted file mode 100644 index 2bd8d67..0000000 --- a/cupd/cupd-help.pd +++ /dev/null @@ -1,19 +0,0 @@ -#N canvas 0 0 450 300 10; -#X obj 87 161 cupd; -#X obj 87 94 metro 100; -#X obj 87 56 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 -; -#X obj 110 134 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 -1; -#X floatatom 87 201 5 0 0 0 - - -; -#X msg 197 102 160; -#X text 109 59 bang counts; -#X text 70 14 cupd counts up ^_^ and down _^_; -#X text 223 101 float sets next; -#X text 132 135 != 0 counts down \, 0 counts up; -#X text 69 235 aaaaah \, simplicity!; -#X connect 0 0 4 0; -#X connect 1 0 0 0; -#X connect 2 0 1 0; -#X connect 3 0 0 1; -#X connect 5 0 0 0; diff --git a/cupd/cupd.c b/cupd/cupd.c deleted file mode 100644 index 66d42c0..0000000 --- a/cupd/cupd.c +++ /dev/null @@ -1,68 +0,0 @@ -#include "m_pd.h" - -t_class *cupd_class; - -typedef struct _cupd -{ - t_object x_obj; - t_int f_count; - t_float f_dir, f_prevdir, firstbang, floatset; - t_outlet *count; -} t_cupd; - -void cupd_float(t_cupd *y, t_floatarg f) -{ - y->f_count = f; - y->floatset = 1; -} - -void cupd_bang(t_cupd *y) -{ - int flag = y->f_dir != y->f_prevdir ? 1 : 0; - if (flag==1&&y->firstbang==0&&y->floatset==0) - { - y->f_count += y->f_dir == 0 ? 2 : -2; - outlet_float(y->count, y->f_count); - y->f_count += y->f_dir == 0 ? 1 : -1; - } - else - { - outlet_float(y->count, y->f_count); - y->f_count += y->f_dir == 0 ? 1 : -1; - y->firstbang = y->floatset = 0; - } - y->f_prevdir = y->f_dir; -} - -void cupd_setbang(t_cupd *y, t_floatarg f) -{ - y->f_count = f; - outlet_float(y->count, y->f_count); - y->f_count += y->f_dir == 0 ? 1 : -1; - y->firstbang = y->floatset = 0; - y->f_prevdir = y->f_dir; -} - -void *cupd_new(t_floatarg f) -{ - t_cupd *y = (t_cupd *)pd_new(cupd_class); - y->f_dir = f; - y->f_count = 0; - y->firstbang = 1; - y->floatset = 0; - floatinlet_new(&y->x_obj, &y->f_dir); - y->count = outlet_new(&y->x_obj, gensym("float")); - return(void *)y; -} - -void cupd_setup(void) -{ - cupd_class = class_new(gensym("cupd"), - (t_newmethod)cupd_new, - 0, sizeof(t_cupd), - 0, A_DEFFLOAT, 0); - post("cupd counts up ^_^ and down _^_"); - - class_addbang(cupd_class, cupd_bang); - class_addfloat(cupd_class, cupd_float); - class_addmethod(cupd_class, (t_method)cupd_setbang, gensym("setbang"), A_DEFFLOAT, 0);} diff --git a/cupd/makefile b/cupd/makefile deleted file mode 100644 index 52abb12..0000000 --- a/cupd/makefile +++ /dev/null @@ -1,105 +0,0 @@ -current: - echo make pd_linux, pd_nt, pd_irix5, pd_irix6 or pd_darwin, then make install - -clean: ; rm -f *.pd_* *.o - -# ----------------------- NT ----------------------- - -pd_nt: cupd.dll - -INSTALL_PREFIX="C:\pd\extra" -EXT=dll -.SUFFIXES: .obj .dll - -PDNTCFLAGS = /W3 /WX /DNT /DPD /nologo -VC="D:\Program Files\Microsoft Visual Studio\Vc98" - -PDNTINCLUDE = /I. /I\tcl\include /I..\..\src /I$(VC)\include - -PDNTLDIR = $(VC)\lib -PDNTLIB = $(PDNTLDIR)\libc.lib \ - $(PDNTLDIR)\oldnames.lib \ - $(PDNTLDIR)\kernel32.lib \ - ..\..\bin\pd.lib - -.c.dll: - cl $(PDNTCFLAGS) $(PDNTINCLUDE) /c $*.c - link /dll /export:$*_setup $*.obj $(PDNTLIB) - -# ----------------------- IRIX 5.x ----------------------- - -pd_irix5: cupd.pd_irix5 - -INSTALL_PREFIX=/usr/local -EXT=pd_irix5 -.SUFFIXES: .pd_irix5 - -SGICFLAGS5 = -o32 -DPD -DUNIX -DIRIX -O2 - -SGIINCLUDE = -I/usr/local/include - -.c.pd_irix5: - cc $(SGICFLAGS5) $(SGIINCLUDE) -o $*.o -c $*.c - ld -elf -shared -rdata_shared -o $*.pd_irix5 $*.o - rm $*.o - -# ----------------------- IRIX 5.x ----------------------- - -pd_irix6: cupd.pd_irix6 - -INSTALL_PREFIX=/usr/local -EXT=pd_irix6 -.SUFFIXES: .pd_irix6 - -SGICFLAGS5 = -o32 -DPD -DUNIX -DIRIX -O2 - -SGIINCLUDE = -I/usr/local/include - -.c.pd_irix6: - cc $(SGICFLAGS5) $(SGIINCLUDE) -o $*.o -c $*.c - ld -elf -shared -rdata_shared -o $*.pd_irix6 $*.o - rm $*.o - -# ----------------------- LINUX i386 ----------------------- - -pd_linux: cupd.pd_linux - -INSTALL_PREFIX=/usr/local -EXT=pd_linux -.SUFFIXES: .pd_linux - -LINUXCFLAGS = -DPD -O2 -funroll-loops -fomit-frame-pointer \ - -Wall -W -Wshadow -Wstrict-prototypes -Werror \ - -Wno-unused -Wno-parentheses -Wno-switch - -LINUXINCLUDE = -I/usr/local/include - -.c.pd_linux: - cc $(LINUXCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c - ld --export-dynamic -shared -o $*.pd_linux $*.o -lc -lm - strip --strip-unneeded $*.pd_linux - rm $*.o - -# ----------------------- Mac OSX ----------------------- - -pd_darwin: cupd.pd_darwin - -INSTALL_PREFIX=/usr/local -EXT=pd_darwin -.SUFFIXES: .pd_darwin - -DARWINCFLAGS = -DPD -O2 -Wall -W -Wshadow -Wstrict-prototypes \ - -Wno-unused -Wno-parentheses -Wno-switch - -.c.pd_darwin: - cc $(DARWINCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c - cc -bundle -undefined suppress -flat_namespace -o $*.pd_darwin $*.o - rm -f $*.o - -# ---------------------------------------------- - -install:: - install -d $(INSTALL_PREFIX)/lib/pd/extra -# install -m 644 *.$(EXT) $(INSTALL_PREFIX)/lib/pd/externs - -install -m 644 cupd.$(EXT) $(INSTALL_PREFIX)/lib/pd/extra - install -m 644 *.pd $(INSTALL_PREFIX)/lib/pd/doc/5.reference diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..316c86a --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +pd-ekext (0.1-1) unstable; urgency=low + + * Initial release (Closes: #nnnn) + + -- Hans-Christoph Steiner Wed, 18 Aug 2010 17:14:25 -0400 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..7f8f011 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +7 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..d81b410 --- /dev/null +++ b/debian/control @@ -0,0 +1,16 @@ +Source: pd-ekext +Section: sound +Priority: optional +Maintainer: Debian Multimedia Maintainers +Uploaders: Hans-Christoph Steiner +Build-Depends: debhelper (>= 7.0.50~), puredata (>= 0.42.5-3.1~) +Standards-Version: 3.9.1 +Homepage: http://puredata.info + +Package: pd-ekext +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, pd +Description: Pd objects for music information retrieval and polyphony control + This library is a collection of objects for analyzing audio to get musical + information, like spectrum and peak information, to generate sound based on + analysis, like Linear-Predictive Coding, and for working with polyphony. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..6b4e2a3 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,14 @@ +Debianized-By: Hans-Christoph Steiner +Debianized-Date: Wed, 18 Aug 2010 17:14:25 -0400 +Files: * +Copyright: 2005-2009, Ed Kelly + +License: GPL-3+ + This package is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + . + On Debian systems, the complete text of the GNU General Public License + version 3 can be found in file "/usr/share/common-licenses/GPL-3". + diff --git a/debian/links b/debian/links new file mode 100644 index 0000000..6b085af --- /dev/null +++ b/debian/links @@ -0,0 +1,4 @@ +usr/lib/pd/extra/ekext/README.txt usr/share/doc/pd-ekext/README +usr/lib/pd/extra/ekext/examples usr/share/doc/pd-ekext/examples + + diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..8cfe268 --- /dev/null +++ b/debian/rules @@ -0,0 +1,16 @@ +#!/usr/bin/make -f + +LIBRARY_NAME = ekext +PACKAGE = pd-$(LIBRARY_NAME) +pkglibdir = /usr/lib/pd/extra + +%: + dh $@ + +override_dh_auto_install: + make DESTDIR=$(CURDIR)/debian/$(PACKAGE) pkglibdir=$(pkglibdir) install + +override_dh_shlibdeps: + dpkg-shlibdeps $(CURDIR)/debian/$(PACKAGE)$(pkglibdir)/$(LIBRARY_NAME)/*.pd_linux \ + -T$(CURDIR)/debian/$(PACKAGE).substvars + diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/doubledelta-help.pd b/doubledelta-help.pd new file mode 100644 index 0000000..a06d36b --- /dev/null +++ b/doubledelta-help.pd @@ -0,0 +1,10 @@ +#N canvas 1 52 450 300 10; +#X obj 138 148 doubledelta; +#X obj 139 113 hsl 128 15 0 127 0 0 empty empty empty -2 -8 0 10 -262144 +-1 -1 5900 1; +#X floatatom 138 178 5 0 0 0 - - -; +#X floatatom 201 178 5 0 0 0 - - -; +#X text 87 63 delta and delta-of-delta of incoming values; +#X connect 0 0 2 0; +#X connect 0 1 3 0; +#X connect 1 0 0 0; diff --git a/doubledelta.c b/doubledelta.c new file mode 100644 index 0000000..d21341c --- /dev/null +++ b/doubledelta.c @@ -0,0 +1,48 @@ +#include "m_pd.h" + +t_class *doubledelta_class; + +typedef struct _doubledelta +{ + t_object x_obj; + t_float f_now, f_prev, f_delta, f_delta_prev, f_doubledelta, fa; + t_outlet *delta, *doubledelta; +} t_doubledelta; + +void doubledelta_float(t_doubledelta *y, t_floatarg f) +{ + y->f_delta_prev = y->f_delta; + y->f_prev = y->f_now; + y->f_now = f; + y->f_delta = y->f_now - y->f_prev; + y->f_doubledelta = y->f_delta - y->f_delta_prev; + outlet_float(y->doubledelta, y->f_doubledelta); + outlet_float(y->delta, y->f_delta); +} + +void doubledelta_bang(t_doubledelta *y) +{ + outlet_float(y->doubledelta, y->f_doubledelta); + outlet_float(y->delta, y->f_delta); +} + +void *doubledelta_new(t_floatarg f) +{ + t_doubledelta *y = (t_doubledelta *)pd_new(doubledelta_class); + y->fa = f; + y->delta = outlet_new(&y->x_obj, gensym("float")); + y->doubledelta = outlet_new(&y->x_obj, gensym("float")); + return(void *)y; +} + +void doubledelta_setup(void) +{ + doubledelta_class = class_new(gensym("doubledelta"), + (t_newmethod)doubledelta_new, + 0, sizeof(t_doubledelta), + 0, A_DEFFLOAT, 0); + post("delta & delta-delta values, "); + + class_addbang(doubledelta_class, doubledelta_bang); + class_addfloat(doubledelta_class, doubledelta_float); +} diff --git a/doubledelta/doubledelta.c b/doubledelta/doubledelta.c deleted file mode 100644 index d21341c..0000000 --- a/doubledelta/doubledelta.c +++ /dev/null @@ -1,48 +0,0 @@ -#include "m_pd.h" - -t_class *doubledelta_class; - -typedef struct _doubledelta -{ - t_object x_obj; - t_float f_now, f_prev, f_delta, f_delta_prev, f_doubledelta, fa; - t_outlet *delta, *doubledelta; -} t_doubledelta; - -void doubledelta_float(t_doubledelta *y, t_floatarg f) -{ - y->f_delta_prev = y->f_delta; - y->f_prev = y->f_now; - y->f_now = f; - y->f_delta = y->f_now - y->f_prev; - y->f_doubledelta = y->f_delta - y->f_delta_prev; - outlet_float(y->doubledelta, y->f_doubledelta); - outlet_float(y->delta, y->f_delta); -} - -void doubledelta_bang(t_doubledelta *y) -{ - outlet_float(y->doubledelta, y->f_doubledelta); - outlet_float(y->delta, y->f_delta); -} - -void *doubledelta_new(t_floatarg f) -{ - t_doubledelta *y = (t_doubledelta *)pd_new(doubledelta_class); - y->fa = f; - y->delta = outlet_new(&y->x_obj, gensym("float")); - y->doubledelta = outlet_new(&y->x_obj, gensym("float")); - return(void *)y; -} - -void doubledelta_setup(void) -{ - doubledelta_class = class_new(gensym("doubledelta"), - (t_newmethod)doubledelta_new, - 0, sizeof(t_doubledelta), - 0, A_DEFFLOAT, 0); - post("delta & delta-delta values, "); - - class_addbang(doubledelta_class, doubledelta_bang); - class_addfloat(doubledelta_class, doubledelta_float); -} diff --git a/doubledelta/makefile b/doubledelta/makefile deleted file mode 100644 index d39fb48..0000000 --- a/doubledelta/makefile +++ /dev/null @@ -1,105 +0,0 @@ -current: - echo make pd_linux, pd_nt, pd_irix5, pd_irix6 or pd_darwin, then make install - -clean: ; rm -f *.pd_* *.o - -# ----------------------- NT ----------------------- - -pd_nt: doubledelta.dll - -INSTALL_PREFIX="C:\pd\extra" -EXT=dll -.SUFFIXES: .obj .dll - -PDNTCFLAGS = /W3 /WX /DNT /DPD /nologo -VC="D:\Program Files\Microsoft Visual Studio\Vc98" - -PDNTINCLUDE = /I. /I\tcl\include /I..\..\src /I$(VC)\include - -PDNTLDIR = $(VC)\lib -PDNTLIB = $(PDNTLDIR)\libc.lib \ - $(PDNTLDIR)\oldnames.lib \ - $(PDNTLDIR)\kernel32.lib \ - ..\..\bin\pd.lib - -.c.dll: - cl $(PDNTCFLAGS) $(PDNTINCLUDE) /c $*.c - link /dll /export:$*_setup $*.obj $(PDNTLIB) - -# ----------------------- IRIX 5.x ----------------------- - -pd_irix5: doubledelta.pd_irix5 - -INSTALL_PREFIX=/usr/local -EXT=pd_irix5 -.SUFFIXES: .pd_irix5 - -SGICFLAGS5 = -o32 -DPD -DUNIX -DIRIX -O2 - -SGIINCLUDE = -I/usr/local/include - -.c.pd_irix5: - cc $(SGICFLAGS5) $(SGIINCLUDE) -o $*.o -c $*.c - ld -elf -shared -rdata_shared -o $*.pd_irix5 $*.o - rm $*.o - -# ----------------------- IRIX 5.x ----------------------- - -pd_irix6: doubledelta.pd_irix6 - -INSTALL_PREFIX=/usr/local -EXT=pd_irix6 -.SUFFIXES: .pd_irix6 - -SGICFLAGS5 = -o32 -DPD -DUNIX -DIRIX -O2 - -SGIINCLUDE = -I/usr/local/include - -.c.pd_irix6: - cc $(SGICFLAGS5) $(SGIINCLUDE) -o $*.o -c $*.c - ld -elf -shared -rdata_shared -o $*.pd_irix6 $*.o - rm $*.o - -# ----------------------- LINUX i386 ----------------------- - -pd_linux: doubledelta.pd_linux - -INSTALL_PREFIX=/usr/local -EXT=pd_linux -.SUFFIXES: .pd_linux - -LINUXCFLAGS = -DPD -O2 -funroll-loops -fomit-frame-pointer \ - -Wall -W -Wshadow -Wstrict-prototypes -Werror \ - -Wno-unused -Wno-parentheses -Wno-switch - -LINUXINCLUDE = -I/usr/local/include - -.c.pd_linux: - cc $(LINUXCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c - ld --export-dynamic -shared -o $*.pd_linux $*.o -lc -lm - strip --strip-unneeded $*.pd_linux - rm $*.o - -# ----------------------- Mac OSX ----------------------- - -pd_darwin: doubledelta.pd_darwin - -INSTALL_PREFIX=/usr/local -EXT=pd_darwin -.SUFFIXES: .pd_darwin - -DARWINCFLAGS = -DPD -O2 -Wall -W -Wshadow -Wstrict-prototypes \ - -Wno-unused -Wno-parentheses -Wno-switch - -.c.pd_darwin: - cc $(DARWINCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c - cc -bundle -undefined suppress -flat_namespace -o $*.pd_darwin $*.o - rm -f $*.o - -# ---------------------------------------------- - -install:: - install -d $(INSTALL_PREFIX)/lib/pd/extra -# install -m 644 *.$(EXT) $(INSTALL_PREFIX)/lib/pd/externs - -install -m 644 doubledelta.$(EXT) $(INSTALL_PREFIX)/lib/pd/extra - install -m 644 *.pd $(INSTALL_PREFIX)/lib/pd/doc/5.reference diff --git a/drummach.wav b/drummach.wav new file mode 100644 index 0000000..cf8cd55 Binary files /dev/null and b/drummach.wav differ diff --git a/ekext-meta.pd b/ekext-meta.pd new file mode 100644 index 0000000..26a4d3b --- /dev/null +++ b/ekext-meta.pd @@ -0,0 +1,6 @@ +#N canvas 15 49 200 200 10; +#N canvas 25 49 420 300 META 1; +#X text 13 41 NAME ekext; +#X text 10 25 AUTHOR Ed Kelly; +#X text 10 10 VERSION 0.1; +#X restore 10 10 pd META; diff --git a/examples/lpc-cross-synthesis.pd b/examples/lpc-cross-synthesis.pd new file mode 100644 index 0000000..e49ea4a --- /dev/null +++ b/examples/lpc-cross-synthesis.pd @@ -0,0 +1,327 @@ +#N canvas 87 183 604 300 10; +#X obj 247 210 hsl 121 15 100 10000 0 1 empty empty filter-f -2 -6 +0 8 -225280 -62784 -90133 3409 1; +#X floatatom 244 225 0 0 0 0 - - -; +#X obj 91 218 dac~; +#N canvas 0 0 453 387 lpc-resynth 0; +#X obj 27 199 lpreson~; +#X obj 28 244 hip~ 18; +#X obj 27 49 inlet~; +#X obj 145 64 inlet; +#X obj 202 34 inlet; +#X obj 99 118 inlet~; +#X obj 28 318 outlet~; +#X obj 27 94 hip~ 1000; +#X obj 99 135 hip~ 1000; +#X obj 27 216 lop~ 1000; +#X obj 316 54 inlet; +#X obj 27 111 lpc~ 32; +#X obj 27 152 *~ 1; +#X obj 99 152 *~ 0; +#X obj 202 51 sel 0 1; +#X text 164 280 filter with larger block sizes; +#X text 163 267 lpc~ produces a less glitchy; +#X msg 202 68 1; +#X msg 202 85 0; +#X msg 224 85 1; +#X msg 224 68 0; +#X text 294 23 pre-emphasis/; +#X text 275 36 de-emphasis frequency; +#X text 160 18 select excitation; +#X text 146 48 order; +#X obj 181 248 block~ 1024 2 1; +#X obj 28 284 *~; +#X obj 142 221 tabreceive~ hanning; +#X text 151 296 overlapping windows are essential; +#X text 151 308 otherwise clicks will result; +#X connect 0 0 9 0; +#X connect 1 0 26 0; +#X connect 2 0 7 0; +#X connect 3 0 11 1; +#X connect 4 0 14 0; +#X connect 5 0 8 0; +#X connect 7 0 11 0; +#X connect 8 0 13 0; +#X connect 9 0 1 0; +#X connect 10 0 9 1; +#X connect 10 0 7 1; +#X connect 10 0 8 1; +#X connect 11 0 12 0; +#X connect 11 1 0 0; +#X connect 12 0 0 0; +#X connect 13 0 0 0; +#X connect 14 0 17 0; +#X connect 14 0 18 0; +#X connect 14 1 20 0; +#X connect 14 1 19 0; +#X connect 17 0 12 1; +#X connect 18 0 13 1; +#X connect 19 0 13 1; +#X connect 20 0 12 1; +#X connect 26 0 6 0; +#X connect 27 0 26 1; +#X restore 92 184 pd lpc-resynth; +#N canvas 0 0 450 300 graph2 0; +#X array voice 88800 float 0; +#X coords 0 1 88799 -1 100 70 1; +#X restore 358 49 graph; +#N canvas 0 0 450 300 graph2 0; +#X array sample 105840 float 0; +#X coords 0 1 105839 -1 100 70 1; +#X restore 358 121 graph; +#X obj 75 55 bng 15 250 50 0 empty empty load-voice -38 -6 0 8 -262144 +-1 -1; +#X obj 111 55 bng 15 250 50 0 empty empty sample -10 -6 0 8 -262144 +-1 -1; +#N canvas 0 0 450 300 play 0; +#X obj 82 157 tabplay~ voice; +#X obj 237 157 tabplay~ sample; +#X obj 291 71 inlet; +#X obj 350 71 inlet; +#X obj 52 66 inlet; +#X obj 111 66 inlet; +#X obj 190 140 metro; +#X obj 48 140 metro; +#X obj 84 196 outlet~; +#X obj 238 269 outlet~; +#X obj 410 80 inlet; +#X obj 237 235 *~ 0; +#X connect 0 0 8 0; +#X connect 1 0 11 0; +#X connect 2 0 7 1; +#X connect 3 0 6 1; +#X connect 4 0 0 0; +#X connect 4 0 1 0; +#X connect 5 0 7 0; +#X connect 5 0 6 0; +#X connect 6 0 1 0; +#X connect 7 0 0 0; +#X connect 10 0 11 1; +#X connect 11 0 9 0; +#X restore 73 146 pd play; +#X obj 22 125 bng 15 250 50 0 empty empty play 0 -6 0 8 -262144 -1 +-1; +#X floatatom 195 97 5 1 100 2 order - -; +#X obj 210 142 tgl 15 1 empty empty select-excitation -25 -6 0 8 -262144 +-1 -1 1 1; +#X obj 52 111 tgl 15 0 empty empty loop 0 -6 0 8 -262144 -1 -1 1 1 +; +#N canvas 0 0 450 300 load 0; +#X obj 77 135 soundfiler; +#X obj 77 169 outlet; +#X obj 161 186 soundfiler; +#X obj 161 220 outlet; +#X msg 161 169 read -resize drummach.wav sample; +#X obj 161 101 loadbang; +#X obj 80 84 openpanel; +#X obj 80 27 inlet; +#X msg 8 101 read -resize \$1 voice; +#X msg 218 152 read -resize \$1 sample; +#X obj 77 152 / 44.1; +#X obj 114 47 samplerate~; +#X obj 114 64 / 1000; +#X obj 218 135 openpanel; +#X obj 218 25 inlet; +#X obj 161 203 / 44.1; +#X msg 77 118 read -resize beauty.wav voice; +#X connect 0 0 10 0; +#X connect 2 0 15 0; +#X connect 4 0 2 0; +#X connect 5 0 16 0; +#X connect 5 0 4 0; +#X connect 6 0 8 0; +#X connect 7 0 6 0; +#X connect 7 0 11 0; +#X connect 8 0 0 0; +#X connect 9 0 2 0; +#X connect 10 0 1 0; +#X connect 11 0 12 0; +#X connect 12 0 10 1; +#X connect 12 0 15 1; +#X connect 13 0 9 0; +#X connect 14 0 13 0; +#X connect 14 0 11 0; +#X connect 15 0 3 0; +#X connect 16 0 0 0; +#X restore 75 70 pd load; +#X text 192 70 filter; +#X msg 244 80 32; +#X obj 244 63 loadbang; +#X floatatom 138 84 5 0 100 0 - - -; +#X obj 138 98 dbtorms; +#X text 144 52 V; +#X text 144 45 |; +#X text 144 37 |; +#X text 144 30 |; +#X text 315 224 pre-emphasis/; +#X text 296 237 de-emphasis frequency; +#X msg 222 178 2500; +#X obj 216 161 loadbang; +#X text 36 18 sample level should be lower than for a regular filter +; +#X text 37 4 LPC CROSS SYNTHESIS; +#X text 128 262 (C) Edward Kelly and Nicolas Chetry 2005; +#X msg 138 67 88; +#X msg 472 52 \; pd dsp \$1; +#X obj 472 23 tgl 15 0 empty empty audio_on 0 -6 0 8 -262144 -1 -1 +0 1; +#N canvas 0 0 450 300 graph11 0; +#X array hanning 1024 float 1; +#A 0 0 9.41236e-06 3.76491e-05 8.47091e-05 0.000150591 0.000235291 +0.000338808 0.000461136 0.000602272 0.00076221 0.000940944 0.00113847 +0.00135477 0.00158985 0.00184369 0.00211629 0.00240764 0.00271771 0.00304651 +0.00339403 0.00376023 0.00414512 0.00454868 0.00497089 0.00541175 0.00587122 +0.00634929 0.00684595 0.00736118 0.00789495 0.00844726 0.00901807 0.00960736 +0.0102151 0.0108413 0.0114859 0.0121489 0.0128303 0.01353 0.0142481 +0.0149844 0.015739 0.0165118 0.0173028 0.018112 0.0189393 0.0197847 +0.0206483 0.0215298 0.0224294 0.023347 0.0242825 0.0252359 0.0262072 +0.0271963 0.0282033 0.029228 0.0302704 0.0313305 0.0324082 0.0335036 +0.0346165 0.035747 0.0368949 0.0380602 0.039243 0.0404431 0.0416605 +0.0428951 0.044147 0.045416 0.0467021 0.0480054 0.0493256 0.0506628 +0.0520169 0.0533879 0.0547756 0.0561802 0.0576015 0.0590394 0.0604939 +0.061965 0.0634525 0.0649565 0.0664769 0.0680136 0.0695665 0.0711357 +0.072721 0.0743224 0.0759398 0.0775732 0.0792225 0.0808876 0.0825686 +0.0842652 0.0859775 0.0877054 0.0894487 0.0912076 0.0929818 0.0947714 +0.0965762 0.0983962 0.100231 0.102082 0.103947 0.105827 0.107722 0.109631 +0.111556 0.113495 0.115448 0.117416 0.119399 0.121396 0.123407 0.125432 +0.127471 0.129524 0.131592 0.133673 0.135768 0.137876 0.139999 0.142135 +0.144284 0.146447 0.148623 0.150812 0.153014 0.15523 0.157458 0.159699 +0.161954 0.164221 0.1665 0.168792 0.171097 0.173414 0.175743 0.178084 +0.180438 0.182803 0.185181 0.18757 0.189971 0.192384 0.194809 0.197244 +0.199692 0.20215 0.20462 0.207101 0.209593 0.212096 0.21461 0.217134 +0.219669 0.222215 0.224771 0.227338 0.229914 0.232501 0.235098 0.237705 +0.240322 0.242949 0.245585 0.248231 0.250886 0.253551 0.256225 0.258908 +0.2616 0.264302 0.267012 0.269731 0.272458 0.275194 0.277939 0.280692 +0.283453 0.286222 0.289 0.291785 0.294578 0.297379 0.300188 0.303004 +0.305827 0.308658 0.311496 0.314341 0.317194 0.320052 0.322918 0.325791 +0.32867 0.331555 0.334447 0.337345 0.340249 0.343159 0.346075 0.348997 +0.351925 0.354858 0.357796 0.36074 0.363689 0.366644 0.369603 0.372567 +0.375536 0.37851 0.381488 0.384471 0.387458 0.390449 0.393445 0.396444 +0.399448 0.402455 0.405466 0.40848 0.411498 0.414519 0.417543 0.420571 +0.423601 0.426635 0.429671 0.43271 0.435751 0.438795 0.441841 0.444889 +0.447939 0.450991 0.454046 0.457101 0.460159 0.463218 0.466278 0.46934 +0.472402 0.475466 0.478531 0.481596 0.484663 0.487729 0.490797 0.493864 +0.496932 0.5 0.503068 0.506136 0.509203 0.512271 0.515337 0.518404 +0.521469 0.524534 0.527598 0.53066 0.533722 0.536782 0.539841 0.542899 +0.545954 0.549009 0.552061 0.555111 0.558159 0.561205 0.564249 0.56729 +0.570329 0.573365 0.576399 0.579429 0.582457 0.585481 0.588502 0.59152 +0.594534 0.597545 0.600552 0.603556 0.606555 0.609551 0.612542 0.615529 +0.618512 0.62149 0.624464 0.627433 0.630397 0.633356 0.636311 0.63926 +0.642204 0.645142 0.648075 0.651003 0.653925 0.656841 0.659751 0.662655 +0.665553 0.668445 0.67133 0.674209 0.677082 0.679947 0.682806 0.685659 +0.688504 0.691342 0.694173 0.696996 0.699812 0.702621 0.705422 0.708215 +0.711 0.713778 0.716547 0.719308 0.722061 0.724806 0.727542 0.730269 +0.732988 0.735698 0.7384 0.741092 0.743775 0.746449 0.749114 0.751769 +0.754415 0.757051 0.759678 0.762295 0.764902 0.767499 0.770086 0.772663 +0.775229 0.777785 0.780331 0.782866 0.78539 0.787904 0.790407 0.792899 +0.79538 0.79785 0.800308 0.802756 0.805191 0.807616 0.810029 0.81243 +0.814819 0.817197 0.819562 0.821916 0.824257 0.826586 0.828903 0.831208 +0.8335 0.835779 0.838046 0.840301 0.842542 0.84477 0.846986 0.849188 +0.851377 0.853553 0.855716 0.857865 0.860001 0.862124 0.864232 0.866327 +0.868408 0.870476 0.872529 0.874568 0.876593 0.878604 0.880601 0.882584 +0.884552 0.886505 0.888444 0.890369 0.892278 0.894173 0.896053 0.897918 +0.899769 0.901604 0.903424 0.905229 0.907018 0.908792 0.910551 0.912295 +0.914023 0.915735 0.917431 0.919112 0.920777 0.922427 0.92406 0.925678 +0.927279 0.928864 0.930433 0.931986 0.933523 0.935044 0.936548 0.938035 +0.939506 0.940961 0.942399 0.94382 0.945224 0.946612 0.947983 0.949337 +0.950674 0.951995 0.953298 0.954584 0.955853 0.957105 0.95834 0.959557 +0.960757 0.96194 0.963105 0.964253 0.965383 0.966496 0.967592 0.96867 +0.96973 0.970772 0.971797 0.972804 0.973793 0.974764 0.975717 0.976653 +0.977571 0.97847 0.979352 0.980215 0.981061 0.981888 0.982697 0.983488 +0.984261 0.985016 0.985752 0.98647 0.98717 0.987851 0.988514 0.989159 +0.989785 0.990393 0.990982 0.991553 0.992105 0.992639 0.993154 0.993651 +0.994129 0.994588 0.995029 0.995451 0.995855 0.99624 0.996606 0.996953 +0.997282 0.997592 0.997884 0.998156 0.99841 0.998645 0.998862 0.999059 +0.999238 0.999398 0.999539 0.999661 0.999765 0.999849 0.999915 0.999962 +0.999991 1 0.999991 0.999962 0.999915 0.999849 0.999765 0.999661 0.999539 +0.999398 0.999238 0.999059 0.998862 0.998645 0.99841 0.998156 0.997884 +0.997592 0.997282 0.996953 0.996606 0.99624 0.995855 0.995451 0.995029 +0.994588 0.994129 0.993651 0.993154 0.992639 0.992105 0.991553 0.990982 +0.990393 0.989785 0.989159 0.988514 0.987851 0.98717 0.98647 0.985752 +0.985016 0.984261 0.983488 0.982697 0.981888 0.981061 0.980215 0.979352 +0.97847 0.977571 0.976653 0.975717 0.974764 0.973793 0.972804 0.971797 +0.970772 0.96973 0.96867 0.967592 0.966496 0.965383 0.964253 0.963105 +0.96194 0.960757 0.959557 0.95834 0.957105 0.955853 0.954584 0.953298 +0.951995 0.950674 0.949337 0.947983 0.946612 0.945224 0.94382 0.942399 +0.940961 0.939506 0.938035 0.936548 0.935044 0.933523 0.931986 0.930433 +0.928864 0.927279 0.925678 0.92406 0.922427 0.920777 0.919112 0.917431 +0.915735 0.914023 0.912295 0.910551 0.908792 0.907018 0.905229 0.903424 +0.901604 0.899769 0.897918 0.896053 0.894173 0.892278 0.890369 0.888444 +0.886505 0.884552 0.882584 0.880601 0.878604 0.876593 0.874568 0.872529 +0.870476 0.868408 0.866327 0.864232 0.862124 0.860001 0.857865 0.855716 +0.853553 0.851377 0.849188 0.846986 0.84477 0.842542 0.840301 0.838046 +0.835779 0.8335 0.831208 0.828903 0.826586 0.824257 0.821916 0.819562 +0.817197 0.814819 0.81243 0.810029 0.807616 0.805191 0.802756 0.800308 +0.79785 0.79538 0.792899 0.790407 0.787904 0.78539 0.782866 0.780331 +0.777785 0.775229 0.772663 0.770086 0.767499 0.764902 0.762295 0.759678 +0.757051 0.754415 0.751769 0.749114 0.746449 0.743775 0.741092 0.7384 +0.735698 0.732988 0.730269 0.727542 0.724806 0.722061 0.719308 0.716547 +0.713778 0.711 0.708215 0.705422 0.702621 0.699812 0.696996 0.694173 +0.691342 0.688504 0.685659 0.682806 0.679947 0.677082 0.674209 0.67133 +0.668445 0.665553 0.662655 0.659751 0.656841 0.653925 0.651003 0.648075 +0.645142 0.642204 0.63926 0.636311 0.633356 0.630397 0.627433 0.624464 +0.62149 0.618512 0.615529 0.612542 0.609551 0.606555 0.603556 0.600552 +0.597545 0.594534 0.59152 0.588502 0.585481 0.582457 0.579429 0.576399 +0.573365 0.570329 0.56729 0.564249 0.561205 0.558159 0.555111 0.552061 +0.549009 0.545954 0.542899 0.539841 0.536782 0.533722 0.53066 0.527598 +0.524534 0.521469 0.518404 0.515337 0.512271 0.509203 0.506136 0.503068 +0.5 0.496932 0.493864 0.490797 0.487729 0.484663 0.481596 0.478531 +0.475466 0.472402 0.46934 0.466278 0.463218 0.460159 0.457101 0.454046 +0.450991 0.447939 0.444889 0.441841 0.438795 0.435751 0.43271 0.429671 +0.426635 0.423601 0.420571 0.417543 0.414519 0.411498 0.40848 0.405466 +0.402455 0.399448 0.396444 0.393445 0.390449 0.387458 0.384471 0.381488 +0.37851 0.375536 0.372567 0.369603 0.366644 0.363689 0.36074 0.357796 +0.354858 0.351925 0.348997 0.346075 0.343159 0.340249 0.337345 0.334447 +0.331555 0.32867 0.325791 0.322918 0.320052 0.317194 0.314341 0.311496 +0.308658 0.305827 0.303004 0.300188 0.297379 0.294578 0.291785 0.289 +0.286222 0.283453 0.280692 0.277939 0.275194 0.272458 0.269731 0.267012 +0.264302 0.2616 0.258908 0.256225 0.253551 0.250886 0.248231 0.245585 +0.242949 0.240322 0.237705 0.235098 0.232501 0.229914 0.227338 0.224771 +0.222215 0.219669 0.217134 0.21461 0.212096 0.209593 0.207101 0.20462 +0.20215 0.199692 0.197244 0.194809 0.192384 0.189971 0.18757 0.185181 +0.182803 0.180438 0.178084 0.175743 0.173414 0.171097 0.168792 0.1665 +0.164221 0.161954 0.159699 0.157458 0.15523 0.153014 0.150812 0.148623 +0.146447 0.144284 0.142135 0.139999 0.137876 0.135768 0.133673 0.131592 +0.129524 0.127471 0.125432 0.123407 0.121396 0.119399 0.117416 0.115448 +0.113495 0.111556 0.109631 0.107722 0.105827 0.103947 0.102082 0.100231 +0.0983962 0.0965762 0.0947714 0.0929818 0.0912076 0.0894487 0.0877054 +0.0859775 0.0842652 0.0825686 0.0808876 0.0792225 0.0775732 0.0759398 +0.0743224 0.072721 0.0711357 0.0695665 0.0680136 0.0664769 0.0649565 +0.0634525 0.061965 0.0604939 0.0590394 0.0576015 0.0561802 0.0547756 +0.0533879 0.0520169 0.0506628 0.0493256 0.0480054 0.0467021 0.045416 +0.044147 0.0428951 0.0416605 0.0404431 0.039243 0.0380602 0.0368949 +0.035747 0.0346165 0.0335036 0.0324082 0.0313305 0.0302704 0.029228 +0.0282033 0.0271963 0.0262072 0.0252359 0.0242825 0.023347 0.0224294 +0.0215298 0.0206483 0.0197847 0.0189393 0.018112 0.0173028 0.0165118 +0.015739 0.0149844 0.0142481 0.01353 0.0128303 0.0121489 0.0114859 +0.0108413 0.0102151 0.00960736 0.00901807 0.00844726 0.00789495 0.00736118 +0.00684595 0.00634929 0.00587122; +#A 1000 0.00541175 0.00497089 0.00454868 0.00414512 0.00376023 0.00339403 +0.00304651 0.00271771 0.00240764 0.00211629 0.00184369 0.00158985 0.00135477 +0.00113847 0.000940944 0.00076221 0.000602272 0.000461136 0.000338808 +0.000235291 0.000150591 8.47091e-05 3.76491e-05 9.41236e-06; +#X coords 0 1 1023 0 100 70 1; +#X restore 478 154 graph; +#X connect 0 0 1 0; +#X connect 1 0 3 4; +#X connect 3 0 2 0; +#X connect 3 0 2 1; +#X connect 6 0 13 0; +#X connect 7 0 13 1; +#X connect 8 0 3 0; +#X connect 8 1 3 1; +#X connect 9 0 8 0; +#X connect 10 0 3 2; +#X connect 11 0 3 3; +#X connect 12 0 8 1; +#X connect 13 0 8 2; +#X connect 13 1 8 3; +#X connect 15 0 10 0; +#X connect 16 0 15 0; +#X connect 16 0 30 0; +#X connect 17 0 18 0; +#X connect 18 0 8 4; +#X connect 25 0 0 0; +#X connect 26 0 25 0; +#X connect 30 0 17 0; +#X connect 32 0 31 0; diff --git a/examples/peakit-listmoses.pd b/examples/peakit-listmoses.pd new file mode 100644 index 0000000..0075dc6 --- /dev/null +++ b/examples/peakit-listmoses.pd @@ -0,0 +1,362 @@ +#N canvas 0 0 769 391 10; +#N canvas 0 0 450 300 peakit 0; +#X obj 183 102 rfft~; +#X obj 184 57 inlet~; +#X obj 183 157 outlet; +#X obj 227 157 outlet; +#X obj 242 90 inlet; +#X obj 183 140 peakit~ 0; +#X text 89 185 argument sets minimum magnitude to report; +#X obj 315 76 switch~ 1024 1 1; +#X obj 315 51 inlet; +#X connect 0 0 5 0; +#X connect 0 1 5 1; +#X connect 1 0 0 0; +#X connect 4 0 5 2; +#X connect 5 0 2 0; +#X connect 5 1 3 0; +#X connect 8 0 7 0; +#X restore 447 134 pd peakit; +#X floatatom 447 69 5 0 0 0 - - -; +#X floatatom 237 168 0 0 0 0 - - -; +#X floatatom 288 168 0 0 0 0 - - -; +#X floatatom 339 168 0 0 0 0 - - -; +#X floatatom 390 168 0 0 0 0 - - -; +#X floatatom 441 168 0 0 0 0 - - -; +#X floatatom 492 168 0 0 0 0 - - -; +#X floatatom 529 168 0 0 0 0 - - -; +#X floatatom 580 168 0 0 0 0 - - -; +#X obj 367 256 listmoses; +#X floatatom 458 242 5 0 0 0 - - -; +#X floatatom 523 242 5 0 0 0 - - -; +#X obj 458 225 unpack f f; +#X floatatom 476 120 3 0 500 2 magnitude-threshold - -; +#X obj 458 191 loadbang; +#X msg 447 52 440; +#X obj 447 35 loadbang; +#X text 13 58 peakit~ finds the frequencies of each peak in an FFT +vector \, which it outputs as a list from the left outlet. It separates +out the magnitudes of those peaks also \, which it outputs from it's +right output. Right-to-left order is preserved so that the object may +be used with the listmoses external.; +#X msg 458 208 300 800; +#N canvas 0 0 615 349 sources 0; +#X obj 37 99 osc~ 440; +#X obj 135 82 sig~; +#X obj 135 99 phasor~ 440; +#X obj 134 121 -~ 0.5; +#X obj 244 100 tabplay~ testinput; +#X obj 65 35 inlet; +#X obj 302 22 inlet; +#X obj 372 100 spigot; +#X obj 302 39 route bang float; +#X obj 31 210 *~ 1; +#X obj 75 210 *~ 0; +#X msg 209 174 1; +#X msg 209 193 0; +#X obj 209 155 sel 0 1 2; +#X msg 232 174 1; +#X msg 232 193 0; +#X msg 255 174 1; +#X msg 255 193 0; +#X obj 119 210 *~ 0; +#X obj 75 251 outlet~; +#X obj 209 138 r \$0-select-input; +#X msg 160 245 set sine; +#X msg 218 245 set sawtooth; +#X msg 304 245 set sample; +#X obj 197 290 s \$0-label; +#X msg 413 67 bang; +#X obj 436 102 openpanel; +#X msg 436 119 read -resize \$1 testinput; +#X obj 436 136 soundfiler; +#X obj 452 203 loadbang; +#X obj 452 248 s \$0-main-on; +#X msg 452 225 1; +#X connect 0 0 9 0; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 10 0; +#X connect 4 0 18 0; +#X connect 4 1 7 0; +#X connect 5 0 0 0; +#X connect 5 0 1 0; +#X connect 6 0 8 0; +#X connect 7 0 4 0; +#X connect 8 0 4 0; +#X connect 8 1 7 1; +#X connect 8 2 25 0; +#X connect 9 0 19 0; +#X connect 10 0 19 0; +#X connect 11 0 9 1; +#X connect 12 0 9 1; +#X connect 13 0 11 0; +#X connect 13 0 15 0; +#X connect 13 0 17 0; +#X connect 13 0 21 0; +#X connect 13 1 12 0; +#X connect 13 1 14 0; +#X connect 13 1 17 0; +#X connect 13 1 22 0; +#X connect 13 2 12 0; +#X connect 13 2 15 0; +#X connect 13 2 16 0; +#X connect 13 2 23 0; +#X connect 14 0 10 1; +#X connect 15 0 10 1; +#X connect 16 0 18 1; +#X connect 17 0 18 1; +#X connect 18 0 19 0; +#X connect 20 0 13 0; +#X connect 21 0 24 0; +#X connect 22 0 24 0; +#X connect 23 0 24 0; +#X connect 25 0 26 0; +#X connect 26 0 27 0; +#X connect 27 0 28 0; +#X connect 29 0 31 0; +#X connect 31 0 30 0; +#X restore 447 86 pd sources; +#X obj 546 69 tgl 17 0 empty empty loop-sample 0 -6 0 8 -262144 -1 +-1 0 1; +#N canvas 0 0 450 300 graph1 0; +#X array testinput 100 float 3; +#A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0; +#X coords 0 1 99 -1 100 70 1; +#X restore 642 130 graph; +#X obj 513 27 hradio 15 1 0 3 \$0-select-input empty source 0 -6 0 +8 -262144 -1 -1 0; +#X obj 521 69 bng 17 250 50 0 empty empty play 0 -6 0 8 -262144 -1 +-1; +#X symbolatom 513 42 8 0 0 0 - #0-label -; +#X msg 570 69 load; +#N canvas 0 0 763 487 amp-segregation 0; +#X obj 36 148 listswap; +#X obj 37 49 tabplay~ testinput; +#N canvas 0 0 450 300 peakit 0; +#X obj 70 58 inlet~; +#X obj 67 95 rfft~; +#X obj 67 122 peakit~; +#X obj 67 152 outlet; +#X obj 116 152 outlet; +#X obj 200 125 switch~ 1024 1 1; +#X obj 201 95 inlet; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 1 1 2 1; +#X connect 2 0 3 0; +#X connect 2 1 4 0; +#X connect 6 0 5 0; +#X restore 36 118 pd peakit; +#X obj 118 92 tgl 15 0 empty empty on 0 -6 0 12 -262144 -1 -1 0 1; +#X obj 171 49 spigot; +#X obj 222 49 tgl 15 0 empty empty loop 0 -6 0 8 -262144 -1 -1 0 1 +; +#X obj 37 34 bng 15 250 50 0 empty empty play 0 -6 0 8 -262144 -1 -1 +; +#X obj 36 207 listmoses; +#X msg 113 138 10 100; +#X obj 113 155 unpack f f; +#X floatatom 113 172 5 0 0 0 - - -; +#X floatatom 178 172 5 0 0 0 - - -; +#X obj 113 121 loadbang; +#X floatatom 393 319 0 0 0 0 - - -; +#X floatatom 424 302 0 0 0 0 - - -; +#X floatatom 455 285 0 0 0 0 - - -; +#X floatatom 486 268 0 0 0 0 - - -; +#X floatatom 541 319 0 0 0 0 - - -; +#X floatatom 572 302 0 0 0 0 - - -; +#X floatatom 603 285 0 0 0 0 - - -; +#X floatatom 634 268 0 0 0 0 - - -; +#X floatatom 245 320 0 0 0 0 - - -; +#X floatatom 276 302 0 0 0 0 - - -; +#X floatatom 307 285 0 0 0 0 - - -; +#X floatatom 338 268 0 0 0 0 - - -; +#X text 413 235 freqs-MID; +#X obj 245 251 unpack f f f f; +#X obj 393 251 unpack f f f f; +#X obj 541 251 unpack f f f f; +#X text 560 234 freqs-LOUD; +#X text 260 235 freqs-QUIET; +#X floatatom 184 423 0 0 0 0 - - -; +#X floatatom 215 406 0 0 0 0 - - -; +#X floatatom 246 389 0 0 0 0 - - -; +#X floatatom 277 372 0 0 0 0 - - -; +#X floatatom 332 423 0 0 0 0 - - -; +#X floatatom 363 406 0 0 0 0 - - -; +#X floatatom 394 389 0 0 0 0 - - -; +#X floatatom 425 372 0 0 0 0 - - -; +#X floatatom 36 424 0 0 0 0 - - -; +#X floatatom 67 406 0 0 0 0 - - -; +#X floatatom 98 389 0 0 0 0 - - -; +#X floatatom 129 372 0 0 0 0 - - -; +#X obj 36 355 unpack f f f f; +#X obj 184 355 unpack f f f f; +#X obj 332 355 unpack f f f f; +#X text 51 339 mags-QUIET; +#X text 204 339 mags-MID; +#X text 351 338 mags-LOUD; +#X text 336 251 f...; +#X text 484 251 f...; +#X text 632 251 f...; +#X text 127 355 f...; +#X text 275 355 f...; +#X text 423 355 f...; +#X text 243 85 peakit~ / listmoses can also be used to segregate frequencies +according to their power. You nee the listswap abstraction for this. +1st 4 elements of each list shown...; +#X connect 0 0 7 0; +#X connect 0 1 7 1; +#X connect 1 0 2 0; +#X connect 1 1 4 0; +#X connect 2 0 0 0; +#X connect 2 1 0 1; +#X connect 3 0 2 1; +#X connect 4 0 1 0; +#X connect 5 0 4 1; +#X connect 6 0 1 0; +#X connect 7 0 43 0; +#X connect 7 1 44 0; +#X connect 7 2 45 0; +#X connect 7 3 26 0; +#X connect 7 4 27 0; +#X connect 7 5 28 0; +#X connect 8 0 9 0; +#X connect 9 0 10 0; +#X connect 9 1 11 0; +#X connect 10 0 7 2; +#X connect 11 0 7 3; +#X connect 12 0 8 0; +#X connect 26 0 21 0; +#X connect 26 1 22 0; +#X connect 26 2 23 0; +#X connect 26 3 24 0; +#X connect 27 0 13 0; +#X connect 27 1 14 0; +#X connect 27 2 15 0; +#X connect 27 3 16 0; +#X connect 28 0 17 0; +#X connect 28 1 18 0; +#X connect 28 2 19 0; +#X connect 28 3 20 0; +#X connect 43 0 39 0; +#X connect 43 1 40 0; +#X connect 43 2 41 0; +#X connect 43 3 42 0; +#X connect 44 0 31 0; +#X connect 44 1 32 0; +#X connect 44 2 33 0; +#X connect 44 3 34 0; +#X connect 45 0 35 0; +#X connect 45 1 36 0; +#X connect 45 2 37 0; +#X connect 45 3 38 0; +#X restore 69 235 pd amp-segregation; +#X obj 613 119 tgl 15 0 empty \$0-main-on on 0 -6 0 8 -262144 -1 -1 +0 1; +#X floatatom 146 389 0 0 0 0 - - -; +#X floatatom 177 372 0 0 0 0 - - -; +#X floatatom 208 355 0 0 0 0 - - -; +#X floatatom 239 338 0 0 0 0 - - -; +#X floatatom 269 389 0 0 0 0 - - -; +#X floatatom 300 372 0 0 0 0 - - -; +#X floatatom 331 355 0 0 0 0 - - -; +#X floatatom 362 338 0 0 0 0 - - -; +#X floatatom 23 390 0 0 0 0 - - -; +#X floatatom 54 372 0 0 0 0 - - -; +#X floatatom 85 355 0 0 0 0 - - -; +#X floatatom 116 338 0 0 0 0 - - -; +#X text 166 305 freqs-MID; +#X obj 23 321 unpack f f f f; +#X obj 146 321 unpack f f f f; +#X obj 269 321 unpack f f f f; +#X floatatom 516 389 0 0 0 0 - - -; +#X floatatom 547 372 0 0 0 0 - - -; +#X floatatom 578 355 0 0 0 0 - - -; +#X floatatom 609 338 0 0 0 0 - - -; +#X floatatom 640 389 0 0 0 0 - - -; +#X floatatom 671 372 0 0 0 0 - - -; +#X floatatom 702 355 0 0 0 0 - - -; +#X floatatom 733 338 0 0 0 0 - - -; +#X floatatom 392 390 0 0 0 0 - - -; +#X floatatom 423 372 0 0 0 0 - - -; +#X floatatom 454 355 0 0 0 0 - - -; +#X floatatom 485 338 0 0 0 0 - - -; +#X obj 392 321 unpack f f f f; +#X obj 516 321 unpack f f f f; +#X obj 640 321 unpack f f f f; +#X text 536 305 mags-MID; +#X text 114 321 f...; +#X text 237 321 f...; +#X text 360 321 f...; +#X text 483 321 f...; +#X text 607 321 f...; +#X text 731 321 f...; +#X text 407 305 mags-LOW; +#X text 659 305 mags-HIGH; +#X text 38 305 freqs-LOW; +#X text 288 304 freqs-HIGH; +#X obj 313 151 unpack f f f f f f f f; +#X text 329 133 it's in here--->; +#X obj 17 21 peakit~; +#X text 17 21 peakit~ - FFT peak frequencies and magnitudes; +#X text 85 37 (c) Edward Kelly 2005 - GNU GPL; +#X connect 0 0 10 0; +#X connect 0 0 71 0; +#X connect 0 1 10 1; +#X connect 1 0 20 0; +#X connect 10 0 42 0; +#X connect 10 1 43 0; +#X connect 10 2 44 0; +#X connect 10 3 57 0; +#X connect 10 4 58 0; +#X connect 10 5 59 0; +#X connect 11 0 10 2; +#X connect 12 0 10 3; +#X connect 13 0 11 0; +#X connect 13 1 12 0; +#X connect 14 0 0 1; +#X connect 15 0 19 0; +#X connect 16 0 1 0; +#X connect 17 0 16 0; +#X connect 19 0 13 0; +#X connect 20 0 0 0; +#X connect 21 0 20 1; +#X connect 24 0 20 1; +#X connect 26 0 20 1; +#X connect 28 0 0 2; +#X connect 42 0 37 0; +#X connect 42 1 38 0; +#X connect 42 2 39 0; +#X connect 42 3 40 0; +#X connect 43 0 29 0; +#X connect 43 1 30 0; +#X connect 43 2 31 0; +#X connect 43 3 32 0; +#X connect 44 0 33 0; +#X connect 44 1 34 0; +#X connect 44 2 35 0; +#X connect 44 3 36 0; +#X connect 57 0 53 0; +#X connect 57 1 54 0; +#X connect 57 2 55 0; +#X connect 57 3 56 0; +#X connect 58 0 45 0; +#X connect 58 1 46 0; +#X connect 58 2 47 0; +#X connect 58 3 48 0; +#X connect 59 0 49 0; +#X connect 59 1 50 0; +#X connect 59 2 51 0; +#X connect 59 3 52 0; +#X connect 71 0 2 0; +#X connect 71 1 3 0; +#X connect 71 2 4 0; +#X connect 71 3 5 0; +#X connect 71 4 6 0; +#X connect 71 5 7 0; +#X connect 71 6 8 0; +#X connect 71 7 9 0; diff --git a/framescore~-help.pd b/framescore~-help.pd new file mode 100644 index 0000000..694cd6f --- /dev/null +++ b/framescore~-help.pd @@ -0,0 +1,180 @@ +#N canvas 184 397 913 445 10; +#N canvas 0 22 464 243 frame-scoring 0; +#X obj 61 76 inlet~; +#X obj 362 116 block~ 1024; +#X obj 61 93 rfft~; +#X obj 61 110 cartopol~; +#X obj 197 72 inlet~; +#X obj 197 89 rfft~; +#X obj 197 106 cartopol~; +#X obj 60 166 framescore~; +#X obj 60 183 outlet; +#X obj 296 149 inlet; +#X connect 0 0 2 0; +#X connect 2 0 3 0; +#X connect 2 1 3 1; +#X connect 3 0 7 0; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 5 1 6 1; +#X connect 6 0 7 1; +#X connect 7 0 8 0; +#X connect 9 0 7 2; +#X restore 95 210 pd frame-scoring; +#X floatatom 95 262 0 0 0 0 similarity - -; +#X obj 80 279 f; +#X obj 151 70 bng 15 250 50 0 empty empty different 0 -6 0 8 -262144 +-1 -1; +#X obj 151 85 t b b; +#X obj 74 70 bng 15 250 50 0 empty empty same 0 -6 0 8 -262144 -1 -1 +; +#X obj 74 85 t b b; +#X floatatom 342 165 5 1 100 0 - - -; +#X floatatom 342 196 5 0 0 1 window - -; +#X obj 342 179 / 100; +#N canvas 0 22 532 477 testinput 0; +#X obj 73 73 openpanel; +#X obj 107 23 inlet; +#X obj 107 40 sel 1 2; +#N canvas 0 22 450 300 graph20 0; +#X array test-1 325922 float 0; +#X coords 0 1 325921 -1 300 80 1; +#X restore 83 191 graph; +#N canvas 0 22 450 300 graph20 0; +#X array test-2 192058 float 0; +#X coords 0 1 192057 -1 300 80 1; +#X restore 83 282 graph; +#X msg 73 90 read -resize \$1 test-1; +#X obj 73 107 soundfiler; +#X obj 169 124 t b f; +#X obj 240 73 openpanel; +#X obj 240 107 soundfiler; +#X msg 240 90 read -resize \$1 test-2; +#X obj 169 158 / 44.1; +#X obj 169 141 min; +#X obj 213 158 outlet; +#X obj 329 124 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 329 139 outlet; +#X connect 0 0 5 0; +#X connect 1 0 2 0; +#X connect 2 0 0 0; +#X connect 2 1 8 0; +#X connect 5 0 6 0; +#X connect 6 0 12 0; +#X connect 7 0 12 0; +#X connect 7 1 12 1; +#X connect 8 0 10 0; +#X connect 9 0 7 0; +#X connect 9 0 14 0; +#X connect 10 0 9 0; +#X connect 11 0 13 0; +#X connect 12 0 11 0; +#X connect 14 0 15 0; +#X restore 314 48 pd testinput; +#X msg 314 31 1; +#X msg 337 31 2; +#X floatatom 314 65 0 0 0 0 shortest - -; +#X obj 314 82 / 2; +#X floatatom 314 216 0 0 0 0 - - -; +#X obj 263 216 del 500; +#N canvas 0 22 264 157 playsound 0; +#X obj 51 82 tabplay~ test-1; +#X obj 164 65 inlet; +#X obj 51 65 inlet; +#X obj 51 99 outlet~; +#X connect 0 0 3 0; +#X connect 1 0 0 0; +#X connect 2 0 0 0; +#X restore 74 136 pd playsound; +#N canvas 0 22 264 157 playsound 0; +#X obj 51 82 tabplay~ test-1; +#X obj 153 65 inlet; +#X obj 51 65 inlet; +#X obj 51 99 outlet~; +#X connect 0 0 3 0; +#X connect 1 0 0 0; +#X connect 2 0 0 0; +#X restore 160 136 pd playsound; +#X text 439 12 framescore~ calculates a weighted similarity value for +two signal vectors. The value is weighted proportional to amplitude +\, so that comparisons made between higher value vectors have more +effect on the output than comparisons between low value vectors.; +#X obj 337 14 r loadsamples; +#X msg 103 119 set test-1; +#X msg 233 102 set test-1; +#X msg 233 119 set test-2; +#X text 437 80 Its use is in comparing alpha vectors from an rfft~ +-> cartopol~ pair \, where higher amplitude bins are weighted against +low amplitude bins. The maximum amplitude of the comparison vector +on inlet 2 is used to scale the output value so that it always gives +a score between 0 (no similarity) and 1 (identical alpha).; +#X text 434 242 start here; +#X obj 125 313 > 0.5; +#X msg 102 313 1; +#X obj 102 330 -; +#X obj 80 296 t f b f; +#X obj 80 355 spigot; +#X obj 124 355 spigot; +#X obj 124 372 print similar; +#X obj 80 389 print different; +#X msg 436 258 \; pd dsp 1 \; loadsamples bang; +#X obj 246 153 loadbang; +#X msg 246 170 1; +#X text 92 37 _Compare_; +#X text 670 244 see also; +#X obj 671 258 framespect~; +#X text 438 158 Differences between the peak levels of the two vectors +may cause similarities in peak patterns to be missed. This can be avoided +by first passing the alpha vectors through a object from +the library.; +#X text 3 210 HERE it is-->; +#X obj 671 278 simile~; +#X obj 671 298 simile; +#X obj 671 318 hssc~; +#X text 438 210 Alternatively the object may be used to compare any +positive pair of vectors block-by-block.; +#X connect 0 0 1 0; +#X connect 1 0 2 1; +#X connect 2 0 29 0; +#X connect 3 0 4 0; +#X connect 4 0 16 0; +#X connect 4 0 18 0; +#X connect 4 0 17 0; +#X connect 4 1 23 0; +#X connect 4 1 21 0; +#X connect 5 0 6 0; +#X connect 6 0 16 0; +#X connect 6 0 17 0; +#X connect 6 0 18 0; +#X connect 6 1 21 0; +#X connect 6 1 22 0; +#X connect 7 0 9 0; +#X connect 8 0 0 2; +#X connect 9 0 8 0; +#X connect 10 0 13 0; +#X connect 10 1 11 0; +#X connect 11 0 10 0; +#X connect 12 0 10 0; +#X connect 13 0 14 0; +#X connect 14 0 15 0; +#X connect 15 0 16 1; +#X connect 16 0 2 0; +#X connect 17 0 0 0; +#X connect 18 0 0 1; +#X connect 20 0 12 0; +#X connect 21 0 17 1; +#X connect 22 0 18 1; +#X connect 23 0 18 1; +#X connect 26 0 28 1; +#X connect 26 0 31 1; +#X connect 27 0 28 0; +#X connect 28 0 30 1; +#X connect 29 0 30 0; +#X connect 29 0 31 0; +#X connect 29 1 27 0; +#X connect 29 2 26 0; +#X connect 30 0 33 0; +#X connect 31 0 32 0; +#X connect 35 0 36 0; +#X connect 36 0 7 0; diff --git a/framescore~.c b/framescore~.c new file mode 100644 index 0000000..2cbfea8 --- /dev/null +++ b/framescore~.c @@ -0,0 +1,101 @@ +/* + * framescore~ : Weighted block comparison. + * Copyright (C) 2005 Edward Kelly + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include "m_pd.h" + +static t_class *framescore_tilde_class; + +typedef struct _framescore_tilde +{ + t_object x_obj; + t_float f; + t_float f_max, f_win, f_accum; + t_outlet *f_score; +} t_framescore_tilde; + +t_int *framescore_tilde_perform(t_int *w) +{ + t_framescore_tilde *x = (t_framescore_tilde *)(w[1]); + t_sample *in1 = (t_sample *)(w[2]); + t_sample *in2 = (t_sample *)(w[3]); + int n = (int)(w[4]); + float vector1; + float vector2; + x->f_accum = 0; + float block_accum = 0; + x->f_max = 0; + float score = 0; + float avg = 0; + int block = n; + x->f_win = x->f_win > 0 ? x->f_win : 0.01; + + while (n--) + { + vector1 = (*in1++); + vector2 = (*in2++); + vector1 = vector1 > 0 ? vector1 : 0 - vector1; + vector2 = vector2 > 0 ? vector2 : 0 - vector2; + block_accum += vector2; + x->f_max = vector2 > x->f_max ? vector2 : x->f_max; + float diff = vector1 > vector2 ? vector1 - vector2 : vector2 - vector1; + x->f_accum += (1/((diff/x->f_win)+1)) * vector2; + } + score = x->f_accum / x->f_max; + block_accum /= x->f_max; + avg = score / block_accum; + outlet_float(x->f_score, avg); + + return(w+5); +} + +void framescore_tilde_dsp(t_framescore_tilde *x, t_signal **sp) +{ + dsp_add(framescore_tilde_perform, 4, x, + sp[0]->s_vec, sp[1]->s_vec, sp[0]->s_n); +} + +void *framescore_tilde_new(t_floatarg f) +{ + t_framescore_tilde *x = (t_framescore_tilde *)pd_new(framescore_tilde_class); + + x->f_win = f; + + inlet_new (&x->x_obj, &x->x_obj.ob_pd, &s_signal, &s_signal); + floatinlet_new (&x->x_obj, &x->f_win); + x->f_score = outlet_new(&x->x_obj, gensym("float")); + + return (void *)x; +} + + +void framescore_tilde_setup(void) +{ + framescore_tilde_class = class_new(gensym("framescore~"), + (t_newmethod)framescore_tilde_new, + 0, sizeof(t_framescore_tilde), + CLASS_DEFAULT, A_DEFFLOAT, 0); + + post("|+++++++++++framescore~+++++++++++++|"); + post("|+++++weighted block comparison+++++|"); + post("|+++edward+++++++kelly+++++++2005+++|"); + + class_addmethod(framescore_tilde_class, (t_method)framescore_tilde_dsp, + gensym("dsp"), 0); + + CLASS_MAINSIGNALIN(framescore_tilde_class, t_framescore_tilde, f); +} diff --git a/framescore~/framescore~-help.pd b/framescore~/framescore~-help.pd deleted file mode 100644 index 694cd6f..0000000 --- a/framescore~/framescore~-help.pd +++ /dev/null @@ -1,180 +0,0 @@ -#N canvas 184 397 913 445 10; -#N canvas 0 22 464 243 frame-scoring 0; -#X obj 61 76 inlet~; -#X obj 362 116 block~ 1024; -#X obj 61 93 rfft~; -#X obj 61 110 cartopol~; -#X obj 197 72 inlet~; -#X obj 197 89 rfft~; -#X obj 197 106 cartopol~; -#X obj 60 166 framescore~; -#X obj 60 183 outlet; -#X obj 296 149 inlet; -#X connect 0 0 2 0; -#X connect 2 0 3 0; -#X connect 2 1 3 1; -#X connect 3 0 7 0; -#X connect 4 0 5 0; -#X connect 5 0 6 0; -#X connect 5 1 6 1; -#X connect 6 0 7 1; -#X connect 7 0 8 0; -#X connect 9 0 7 2; -#X restore 95 210 pd frame-scoring; -#X floatatom 95 262 0 0 0 0 similarity - -; -#X obj 80 279 f; -#X obj 151 70 bng 15 250 50 0 empty empty different 0 -6 0 8 -262144 --1 -1; -#X obj 151 85 t b b; -#X obj 74 70 bng 15 250 50 0 empty empty same 0 -6 0 8 -262144 -1 -1 -; -#X obj 74 85 t b b; -#X floatatom 342 165 5 1 100 0 - - -; -#X floatatom 342 196 5 0 0 1 window - -; -#X obj 342 179 / 100; -#N canvas 0 22 532 477 testinput 0; -#X obj 73 73 openpanel; -#X obj 107 23 inlet; -#X obj 107 40 sel 1 2; -#N canvas 0 22 450 300 graph20 0; -#X array test-1 325922 float 0; -#X coords 0 1 325921 -1 300 80 1; -#X restore 83 191 graph; -#N canvas 0 22 450 300 graph20 0; -#X array test-2 192058 float 0; -#X coords 0 1 192057 -1 300 80 1; -#X restore 83 282 graph; -#X msg 73 90 read -resize \$1 test-1; -#X obj 73 107 soundfiler; -#X obj 169 124 t b f; -#X obj 240 73 openpanel; -#X obj 240 107 soundfiler; -#X msg 240 90 read -resize \$1 test-2; -#X obj 169 158 / 44.1; -#X obj 169 141 min; -#X obj 213 158 outlet; -#X obj 329 124 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X obj 329 139 outlet; -#X connect 0 0 5 0; -#X connect 1 0 2 0; -#X connect 2 0 0 0; -#X connect 2 1 8 0; -#X connect 5 0 6 0; -#X connect 6 0 12 0; -#X connect 7 0 12 0; -#X connect 7 1 12 1; -#X connect 8 0 10 0; -#X connect 9 0 7 0; -#X connect 9 0 14 0; -#X connect 10 0 9 0; -#X connect 11 0 13 0; -#X connect 12 0 11 0; -#X connect 14 0 15 0; -#X restore 314 48 pd testinput; -#X msg 314 31 1; -#X msg 337 31 2; -#X floatatom 314 65 0 0 0 0 shortest - -; -#X obj 314 82 / 2; -#X floatatom 314 216 0 0 0 0 - - -; -#X obj 263 216 del 500; -#N canvas 0 22 264 157 playsound 0; -#X obj 51 82 tabplay~ test-1; -#X obj 164 65 inlet; -#X obj 51 65 inlet; -#X obj 51 99 outlet~; -#X connect 0 0 3 0; -#X connect 1 0 0 0; -#X connect 2 0 0 0; -#X restore 74 136 pd playsound; -#N canvas 0 22 264 157 playsound 0; -#X obj 51 82 tabplay~ test-1; -#X obj 153 65 inlet; -#X obj 51 65 inlet; -#X obj 51 99 outlet~; -#X connect 0 0 3 0; -#X connect 1 0 0 0; -#X connect 2 0 0 0; -#X restore 160 136 pd playsound; -#X text 439 12 framescore~ calculates a weighted similarity value for -two signal vectors. The value is weighted proportional to amplitude -\, so that comparisons made between higher value vectors have more -effect on the output than comparisons between low value vectors.; -#X obj 337 14 r loadsamples; -#X msg 103 119 set test-1; -#X msg 233 102 set test-1; -#X msg 233 119 set test-2; -#X text 437 80 Its use is in comparing alpha vectors from an rfft~ --> cartopol~ pair \, where higher amplitude bins are weighted against -low amplitude bins. The maximum amplitude of the comparison vector -on inlet 2 is used to scale the output value so that it always gives -a score between 0 (no similarity) and 1 (identical alpha).; -#X text 434 242 start here; -#X obj 125 313 > 0.5; -#X msg 102 313 1; -#X obj 102 330 -; -#X obj 80 296 t f b f; -#X obj 80 355 spigot; -#X obj 124 355 spigot; -#X obj 124 372 print similar; -#X obj 80 389 print different; -#X msg 436 258 \; pd dsp 1 \; loadsamples bang; -#X obj 246 153 loadbang; -#X msg 246 170 1; -#X text 92 37 _Compare_; -#X text 670 244 see also; -#X obj 671 258 framespect~; -#X text 438 158 Differences between the peak levels of the two vectors -may cause similarities in peak patterns to be missed. This can be avoided -by first passing the alpha vectors through a object from -the library.; -#X text 3 210 HERE it is-->; -#X obj 671 278 simile~; -#X obj 671 298 simile; -#X obj 671 318 hssc~; -#X text 438 210 Alternatively the object may be used to compare any -positive pair of vectors block-by-block.; -#X connect 0 0 1 0; -#X connect 1 0 2 1; -#X connect 2 0 29 0; -#X connect 3 0 4 0; -#X connect 4 0 16 0; -#X connect 4 0 18 0; -#X connect 4 0 17 0; -#X connect 4 1 23 0; -#X connect 4 1 21 0; -#X connect 5 0 6 0; -#X connect 6 0 16 0; -#X connect 6 0 17 0; -#X connect 6 0 18 0; -#X connect 6 1 21 0; -#X connect 6 1 22 0; -#X connect 7 0 9 0; -#X connect 8 0 0 2; -#X connect 9 0 8 0; -#X connect 10 0 13 0; -#X connect 10 1 11 0; -#X connect 11 0 10 0; -#X connect 12 0 10 0; -#X connect 13 0 14 0; -#X connect 14 0 15 0; -#X connect 15 0 16 1; -#X connect 16 0 2 0; -#X connect 17 0 0 0; -#X connect 18 0 0 1; -#X connect 20 0 12 0; -#X connect 21 0 17 1; -#X connect 22 0 18 1; -#X connect 23 0 18 1; -#X connect 26 0 28 1; -#X connect 26 0 31 1; -#X connect 27 0 28 0; -#X connect 28 0 30 1; -#X connect 29 0 30 0; -#X connect 29 0 31 0; -#X connect 29 1 27 0; -#X connect 29 2 26 0; -#X connect 30 0 33 0; -#X connect 31 0 32 0; -#X connect 35 0 36 0; -#X connect 36 0 7 0; diff --git a/framescore~/framescore~.c b/framescore~/framescore~.c deleted file mode 100644 index 2cbfea8..0000000 --- a/framescore~/framescore~.c +++ /dev/null @@ -1,101 +0,0 @@ -/* - * framescore~ : Weighted block comparison. - * Copyright (C) 2005 Edward Kelly - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "m_pd.h" - -static t_class *framescore_tilde_class; - -typedef struct _framescore_tilde -{ - t_object x_obj; - t_float f; - t_float f_max, f_win, f_accum; - t_outlet *f_score; -} t_framescore_tilde; - -t_int *framescore_tilde_perform(t_int *w) -{ - t_framescore_tilde *x = (t_framescore_tilde *)(w[1]); - t_sample *in1 = (t_sample *)(w[2]); - t_sample *in2 = (t_sample *)(w[3]); - int n = (int)(w[4]); - float vector1; - float vector2; - x->f_accum = 0; - float block_accum = 0; - x->f_max = 0; - float score = 0; - float avg = 0; - int block = n; - x->f_win = x->f_win > 0 ? x->f_win : 0.01; - - while (n--) - { - vector1 = (*in1++); - vector2 = (*in2++); - vector1 = vector1 > 0 ? vector1 : 0 - vector1; - vector2 = vector2 > 0 ? vector2 : 0 - vector2; - block_accum += vector2; - x->f_max = vector2 > x->f_max ? vector2 : x->f_max; - float diff = vector1 > vector2 ? vector1 - vector2 : vector2 - vector1; - x->f_accum += (1/((diff/x->f_win)+1)) * vector2; - } - score = x->f_accum / x->f_max; - block_accum /= x->f_max; - avg = score / block_accum; - outlet_float(x->f_score, avg); - - return(w+5); -} - -void framescore_tilde_dsp(t_framescore_tilde *x, t_signal **sp) -{ - dsp_add(framescore_tilde_perform, 4, x, - sp[0]->s_vec, sp[1]->s_vec, sp[0]->s_n); -} - -void *framescore_tilde_new(t_floatarg f) -{ - t_framescore_tilde *x = (t_framescore_tilde *)pd_new(framescore_tilde_class); - - x->f_win = f; - - inlet_new (&x->x_obj, &x->x_obj.ob_pd, &s_signal, &s_signal); - floatinlet_new (&x->x_obj, &x->f_win); - x->f_score = outlet_new(&x->x_obj, gensym("float")); - - return (void *)x; -} - - -void framescore_tilde_setup(void) -{ - framescore_tilde_class = class_new(gensym("framescore~"), - (t_newmethod)framescore_tilde_new, - 0, sizeof(t_framescore_tilde), - CLASS_DEFAULT, A_DEFFLOAT, 0); - - post("|+++++++++++framescore~+++++++++++++|"); - post("|+++++weighted block comparison+++++|"); - post("|+++edward+++++++kelly+++++++2005+++|"); - - class_addmethod(framescore_tilde_class, (t_method)framescore_tilde_dsp, - gensym("dsp"), 0); - - CLASS_MAINSIGNALIN(framescore_tilde_class, t_framescore_tilde, f); -} diff --git a/framescore~/m_pd.h b/framescore~/m_pd.h deleted file mode 100644 index fc9d6ab..0000000 --- a/framescore~/m_pd.h +++ /dev/null @@ -1,635 +0,0 @@ -/* Copyright (c) 1997-1999 Miller Puckette. -* For information on usage and redistribution, and for a DISCLAIMER OF ALL -* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */ - -#ifndef __m_pd_h_ - -#if defined(_LANGUAGE_C_PLUS_PLUS) || defined(__cplusplus) -extern "C" { -#endif - -#define PD_MAJOR_VERSION 0 -#define PD_MINOR_VERSION 38 - -/* old name for "MSW" flag -- we have to take it for the sake of many old -"nmakefiles" for externs, which will define NT and not MSW */ -#if defined(NT) && !defined(MSW) -#define MSW -#endif - -#ifdef MSW -/* #pragma warning( disable : 4091 ) */ -#pragma warning( disable : 4305 ) /* uncast const double to float */ -#pragma warning( disable : 4244 ) /* uncast float/int conversion etc. */ -#pragma warning( disable : 4101 ) /* unused automatic variables */ -#endif /* MSW */ - - /* the external storage class is "extern" in UNIX; in MSW it's ugly. */ -#ifdef MSW -#ifdef PD_INTERNAL -#define EXTERN __declspec(dllexport) extern -#else -#define EXTERN __declspec(dllimport) extern -#endif /* PD_INTERNAL */ -#else -#define EXTERN extern -#endif /* MSW */ - - /* and depending on the compiler, hidden data structures are - declared differently: */ -#if defined( __GNUC__) || defined( __BORLANDC__ ) || defined( __MWERKS__ ) -#define EXTERN_STRUCT struct -#else -#define EXTERN_STRUCT extern struct -#endif - - -#if !defined(_SIZE_T) && !defined(_SIZE_T_) -#include /* just for size_t -- how lame! */ -#endif - -#define MAXPDSTRING 1000 /* use this for anything you want */ -#define MAXPDARG 5 /* max number of args we can typecheck today */ - -/* signed and unsigned integer types the size of a pointer: */ -/* GG: long is the size of a pointer */ -typedef long t_int; - -typedef float t_float; /* a floating-point number at most the same size */ -typedef float t_floatarg; /* floating-point type for function calls */ - -typedef struct _symbol -{ - char *s_name; - struct _class **s_thing; - struct _symbol *s_next; -} t_symbol; - -EXTERN_STRUCT _array; -#define t_array struct _array /* g_canvas.h */ - -/* pointers to glist and array elements go through a "stub" which sticks -around after the glist or array is freed. The stub itself is deleted when -both the glist/array is gone and the refcount is zero, ensuring that no -gpointers are pointing here. */ - -#define GP_NONE 0 /* the stub points nowhere (has been cut off) */ -#define GP_GLIST 1 /* the stub points to a glist element */ -#define GP_ARRAY 2 /* ... or array */ - -typedef struct _gstub -{ - union - { - struct _glist *gs_glist; /* glist we're in */ - struct _array *gs_array; /* array we're in */ - } gs_un; - int gs_which; /* GP_GLIST/GP_ARRAY */ - int gs_refcount; /* number of gpointers pointing here */ -} t_gstub; - -typedef struct _gpointer /* pointer to a gobj in a glist */ -{ - union - { - struct _scalar *gp_scalar; /* scalar we're in (if glist) */ - union word *gp_w; /* raw data (if array) */ - } gp_un; - int gp_valid; /* number which must match gpointee */ - t_gstub *gp_stub; /* stub which points to glist/array */ -} t_gpointer; - -typedef union word -{ - t_float w_float; - t_symbol *w_symbol; - t_gpointer *w_gpointer; - t_array *w_array; - struct _glist *w_list; - int w_index; -} t_word; - -typedef enum -{ - A_NULL, - A_FLOAT, - A_SYMBOL, - A_POINTER, - A_SEMI, - A_COMMA, - A_DEFFLOAT, - A_DEFSYM, - A_DOLLAR, - A_DOLLSYM, - A_GIMME, - A_CANT -} t_atomtype; - -#define A_DEFSYMBOL A_DEFSYM /* better name for this */ - -typedef struct _atom -{ - t_atomtype a_type; - union word a_w; -} t_atom; - -EXTERN_STRUCT _class; -#define t_class struct _class - -EXTERN_STRUCT _outlet; -#define t_outlet struct _outlet - -EXTERN_STRUCT _inlet; -#define t_inlet struct _inlet - -EXTERN_STRUCT _binbuf; -#define t_binbuf struct _binbuf - -EXTERN_STRUCT _clock; -#define t_clock struct _clock - -EXTERN_STRUCT _outconnect; -#define t_outconnect struct _outconnect - -EXTERN_STRUCT _glist; -#define t_glist struct _glist -#define t_canvas struct _glist /* LATER lose this */ - -typedef t_class *t_pd; /* pure datum: nothing but a class pointer */ - -typedef struct _gobj /* a graphical object */ -{ - t_pd g_pd; /* pure datum header (class) */ - struct _gobj *g_next; /* next in list */ -} t_gobj; - -typedef struct _scalar /* a graphical object holding data */ -{ - t_gobj sc_gobj; /* header for graphical object */ - t_symbol *sc_template; /* template name (LATER replace with pointer) */ - t_word sc_vec[1]; /* indeterminate-length array of words */ -} t_scalar; - -typedef struct _text /* patchable object - graphical, with text */ -{ - t_gobj te_g; /* header for graphical object */ - t_binbuf *te_binbuf; /* holder for the text */ - t_outlet *te_outlet; /* linked list of outlets */ - t_inlet *te_inlet; /* linked list of inlets */ - short te_xpix; /* x&y location (within the toplevel) */ - short te_ypix; - short te_width; /* requested width in chars, 0 if auto */ - unsigned int te_type:2; /* from defs below */ -} t_text; - -#define T_TEXT 0 /* just a textual comment */ -#define T_OBJECT 1 /* a MAX style patchable object */ -#define T_MESSAGE 2 /* a MAX stype message */ -#define T_ATOM 3 /* a cell to display a number or symbol */ - -#define te_pd te_g.g_pd - - /* t_object is synonym for t_text (LATER unify them) */ - -typedef struct _text t_object; - -#define ob_outlet te_outlet -#define ob_inlet te_inlet -#define ob_binbuf te_binbuf -#define ob_pd te_g.g_pd -#define ob_g te_g - -typedef void (*t_method)(void); -typedef void *(*t_newmethod)( void); -typedef void (*t_gotfn)(void *x, ...); - -/* ---------------- pre-defined objects and symbols --------------*/ -EXTERN t_pd pd_objectmaker; /* factory for creating "object" boxes */ -EXTERN t_pd pd_canvasmaker; /* factory for creating canvases */ -EXTERN t_symbol s_pointer; -EXTERN t_symbol s_float; -EXTERN t_symbol s_symbol; -EXTERN t_symbol s_bang; -EXTERN t_symbol s_list; -EXTERN t_symbol s_anything; -EXTERN t_symbol s_signal; -EXTERN t_symbol s__N; -EXTERN t_symbol s__X; -EXTERN t_symbol s_x; -EXTERN t_symbol s_y; -EXTERN t_symbol s_; - -/* --------- prototypes from the central message system ----------- */ -EXTERN void pd_typedmess(t_pd *x, t_symbol *s, int argc, t_atom *argv); -EXTERN void pd_forwardmess(t_pd *x, int argc, t_atom *argv); -EXTERN t_symbol *gensym(char *s); -EXTERN t_gotfn getfn(t_pd *x, t_symbol *s); -EXTERN t_gotfn zgetfn(t_pd *x, t_symbol *s); -EXTERN void nullfn(void); -EXTERN void pd_vmess(t_pd *x, t_symbol *s, char *fmt, ...); -#define mess0(x, s) ((*getfn((x), (s)))((x))) -#define mess1(x, s, a) ((*getfn((x), (s)))((x), (a))) -#define mess2(x, s, a,b) ((*getfn((x), (s)))((x), (a),(b))) -#define mess3(x, s, a,b,c) ((*getfn((x), (s)))((x), (a),(b),(c))) -#define mess4(x, s, a,b,c,d) ((*getfn((x), (s)))((x), (a),(b),(c),(d))) -#define mess5(x, s, a,b,c,d,e) ((*getfn((x), (s)))((x), (a),(b),(c),(d),(e))) -EXTERN void obj_list(t_object *x, t_symbol *s, int argc, t_atom *argv); -EXTERN t_pd *pd_newest(void); - -/* --------------- memory management -------------------- */ -EXTERN void *getbytes(size_t nbytes); -EXTERN void *getzbytes(size_t nbytes); -EXTERN void *copybytes(void *src, size_t nbytes); -EXTERN void freebytes(void *x, size_t nbytes); -EXTERN void *resizebytes(void *x, size_t oldsize, size_t newsize); - -/* -------------------- atoms ----------------------------- */ - -#define SETSEMI(atom) ((atom)->a_type = A_SEMI, (atom)->a_w.w_index = 0) -#define SETCOMMA(atom) ((atom)->a_type = A_COMMA, (atom)->a_w.w_index = 0) -#define SETPOINTER(atom, gp) ((atom)->a_type = A_POINTER, \ - (atom)->a_w.w_gpointer = (gp)) -#define SETFLOAT(atom, f) ((atom)->a_type = A_FLOAT, (atom)->a_w.w_float = (f)) -#define SETSYMBOL(atom, s) ((atom)->a_type = A_SYMBOL, \ - (atom)->a_w.w_symbol = (s)) -#define SETDOLLAR(atom, n) ((atom)->a_type = A_DOLLAR, \ - (atom)->a_w.w_index = (n)) -#define SETDOLLSYM(atom, s) ((atom)->a_type = A_DOLLSYM, \ - (atom)->a_w.w_symbol= (s)) - -EXTERN t_float atom_getfloat(t_atom *a); -EXTERN t_int atom_getint(t_atom *a); -EXTERN t_symbol *atom_getsymbol(t_atom *a); -EXTERN t_symbol *atom_gensym(t_atom *a); -EXTERN t_float atom_getfloatarg(int which, int argc, t_atom *argv); -EXTERN t_int atom_getintarg(int which, int argc, t_atom *argv); -EXTERN t_symbol *atom_getsymbolarg(int which, int argc, t_atom *argv); - -EXTERN void atom_string(t_atom *a, char *buf, unsigned int bufsize); - -/* ------------------ binbufs --------------- */ - -EXTERN t_binbuf *binbuf_new(void); -EXTERN void binbuf_free(t_binbuf *x); -EXTERN t_binbuf *binbuf_duplicate(t_binbuf *y); - -EXTERN void binbuf_text(t_binbuf *x, char *text, size_t size); -EXTERN void binbuf_gettext(t_binbuf *x, char **bufp, int *lengthp); -EXTERN void binbuf_clear(t_binbuf *x); -EXTERN void binbuf_add(t_binbuf *x, int argc, t_atom *argv); -EXTERN void binbuf_addv(t_binbuf *x, char *fmt, ...); -EXTERN void binbuf_addbinbuf(t_binbuf *x, t_binbuf *y); -EXTERN void binbuf_addsemi(t_binbuf *x); -EXTERN void binbuf_restore(t_binbuf *x, int argc, t_atom *argv); -EXTERN void binbuf_print(t_binbuf *x); -EXTERN int binbuf_getnatom(t_binbuf *x); -EXTERN t_atom *binbuf_getvec(t_binbuf *x); -EXTERN void binbuf_eval(t_binbuf *x, t_pd *target, int argc, t_atom *argv); -EXTERN int binbuf_read(t_binbuf *b, char *filename, char *dirname, - int crflag); -EXTERN int binbuf_read_via_path(t_binbuf *b, char *filename, char *dirname, - int crflag); -EXTERN int binbuf_write(t_binbuf *x, char *filename, char *dir, - int crflag); -EXTERN void binbuf_evalfile(t_symbol *name, t_symbol *dir); -EXTERN t_symbol *binbuf_realizedollsym(t_symbol *s, int ac, t_atom *av, - int tonew); - -/* ------------------ clocks --------------- */ - -EXTERN t_clock *clock_new(void *owner, t_method fn); -EXTERN void clock_set(t_clock *x, double systime); -EXTERN void clock_delay(t_clock *x, double delaytime); -EXTERN void clock_unset(t_clock *x); -EXTERN double clock_getlogicaltime(void); -EXTERN double clock_getsystime(void); /* OBSOLETE; use clock_getlogicaltime() */ -EXTERN double clock_gettimesince(double prevsystime); -EXTERN double clock_getsystimeafter(double delaytime); -EXTERN void clock_free(t_clock *x); - -/* ----------------- pure data ---------------- */ -EXTERN t_pd *pd_new(t_class *cls); -EXTERN void pd_free(t_pd *x); -EXTERN void pd_bind(t_pd *x, t_symbol *s); -EXTERN void pd_unbind(t_pd *x, t_symbol *s); -EXTERN t_pd *pd_findbyclass(t_symbol *s, t_class *c); -EXTERN void pd_pushsym(t_pd *x); -EXTERN void pd_popsym(t_pd *x); -EXTERN t_symbol *pd_getfilename(void); -EXTERN t_symbol *pd_getdirname(void); -EXTERN void pd_bang(t_pd *x); -EXTERN void pd_pointer(t_pd *x, t_gpointer *gp); -EXTERN void pd_float(t_pd *x, t_float f); -EXTERN void pd_symbol(t_pd *x, t_symbol *s); -EXTERN void pd_list(t_pd *x, t_symbol *s, int argc, t_atom *argv); -EXTERN void pd_anything(t_pd *x, t_symbol *s, int argc, t_atom *argv); -#define pd_class(x) (*(x)) - -/* ----------------- pointers ---------------- */ -EXTERN void gpointer_init(t_gpointer *gp); -EXTERN void gpointer_copy(const t_gpointer *gpfrom, t_gpointer *gpto); -EXTERN void gpointer_unset(t_gpointer *gp); -EXTERN int gpointer_check(const t_gpointer *gp, int headok); - -/* ----------------- patchable "objects" -------------- */ -EXTERN t_inlet *inlet_new(t_object *owner, t_pd *dest, t_symbol *s1, - t_symbol *s2); -EXTERN t_inlet *pointerinlet_new(t_object *owner, t_gpointer *gp); -EXTERN t_inlet *floatinlet_new(t_object *owner, t_float *fp); -EXTERN t_inlet *symbolinlet_new(t_object *owner, t_symbol **sp); -EXTERN void inlet_free(t_inlet *x); - -EXTERN t_outlet *outlet_new(t_object *owner, t_symbol *s); -EXTERN void outlet_bang(t_outlet *x); -EXTERN void outlet_pointer(t_outlet *x, t_gpointer *gp); -EXTERN void outlet_float(t_outlet *x, t_float f); -EXTERN void outlet_symbol(t_outlet *x, t_symbol *s); -EXTERN void outlet_list(t_outlet *x, t_symbol *s, int argc, t_atom *argv); -EXTERN void outlet_anything(t_outlet *x, t_symbol *s, int argc, t_atom *argv); -EXTERN t_symbol *outlet_getsymbol(t_outlet *x); -EXTERN void outlet_free(t_outlet *x); -EXTERN t_object *pd_checkobject(t_pd *x); - - -/* -------------------- canvases -------------- */ - -EXTERN void glob_setfilename(void *dummy, t_symbol *name, t_symbol *dir); - -EXTERN void canvas_setargs(int argc, t_atom *argv); -EXTERN void canvas_getargs(int *argcp, t_atom **argvp); -EXTERN t_symbol *canvas_getcurrentdir(void); -EXTERN t_glist *canvas_getcurrent(void); -EXTERN void canvas_makefilename(t_glist *c, char *file, - char *result,int resultsize); -EXTERN t_symbol *canvas_getdir(t_glist *x); -EXTERN int sys_fontwidth(int fontsize); -EXTERN int sys_fontheight(int fontsize); -EXTERN void canvas_dataproperties(t_glist *x, t_scalar *sc, t_binbuf *b); - -/* ---------------- widget behaviors ---------------------- */ - -EXTERN_STRUCT _widgetbehavior; -#define t_widgetbehavior struct _widgetbehavior - -EXTERN_STRUCT _parentwidgetbehavior; -#define t_parentwidgetbehavior struct _parentwidgetbehavior -EXTERN t_parentwidgetbehavior *pd_getparentwidget(t_pd *x); - -/* -------------------- classes -------------- */ - -#define CLASS_DEFAULT 0 /* flags for new classes below */ -#define CLASS_PD 1 -#define CLASS_GOBJ 2 -#define CLASS_PATCHABLE 3 -#define CLASS_NOINLET 8 - -#define CLASS_TYPEMASK 3 - - -EXTERN t_class *class_new(t_symbol *name, t_newmethod newmethod, - t_method freemethod, size_t size, int flags, t_atomtype arg1, ...); -EXTERN void class_addcreator(t_newmethod newmethod, t_symbol *s, - t_atomtype type1, ...); -EXTERN void class_addmethod(t_class *c, t_method fn, t_symbol *sel, - t_atomtype arg1, ...); -EXTERN void class_addbang(t_class *c, t_method fn); -EXTERN void class_addpointer(t_class *c, t_method fn); -EXTERN void class_doaddfloat(t_class *c, t_method fn); -EXTERN void class_addsymbol(t_class *c, t_method fn); -EXTERN void class_addlist(t_class *c, t_method fn); -EXTERN void class_addanything(t_class *c, t_method fn); -EXTERN void class_sethelpsymbol(t_class *c, t_symbol *s); -EXTERN void class_setwidget(t_class *c, t_widgetbehavior *w); -EXTERN void class_setparentwidget(t_class *c, t_parentwidgetbehavior *w); -EXTERN t_parentwidgetbehavior *class_parentwidget(t_class *c); -EXTERN char *class_getname(t_class *c); -EXTERN char *class_gethelpname(t_class *c); -EXTERN void class_setdrawcommand(t_class *c); -EXTERN int class_isdrawcommand(t_class *c); -EXTERN void class_domainsignalin(t_class *c, int onset); -#define CLASS_MAINSIGNALIN(c, type, field) \ - class_domainsignalin(c, (char *)(&((type *)0)->field) - (char *)0) - - /* prototype for functions to save Pd's to a binbuf */ -typedef void (*t_savefn)(t_gobj *x, t_binbuf *b); -EXTERN void class_setsavefn(t_class *c, t_savefn f); -EXTERN t_savefn class_getsavefn(t_class *c); - /* prototype for functions to open properties dialogs */ -typedef void (*t_propertiesfn)(t_gobj *x, struct _glist *glist); -EXTERN void class_setpropertiesfn(t_class *c, t_propertiesfn f); -EXTERN t_propertiesfn class_getpropertiesfn(t_class *c); - -#ifndef PD_CLASS_DEF -#define class_addbang(x, y) class_addbang((x), (t_method)(y)) -#define class_addpointer(x, y) class_addpointer((x), (t_method)(y)) -#define class_addfloat(x, y) class_doaddfloat((x), (t_method)(y)) -#define class_addsymbol(x, y) class_addsymbol((x), (t_method)(y)) -#define class_addlist(x, y) class_addlist((x), (t_method)(y)) -#define class_addanything(x, y) class_addanything((x), (t_method)(y)) -#endif - -/* ------------ printing --------------------------------- */ -EXTERN void post(const char *fmt, ...); -EXTERN void startpost(const char *fmt, ...); -EXTERN void poststring(const char *s); -EXTERN void postfloat(float f); -EXTERN void postatom(int argc, t_atom *argv); -EXTERN void endpost(void); -EXTERN void error(const char *fmt, ...); -EXTERN void bug(const char *fmt, ...); -EXTERN void pd_error(void *object, const char *fmt, ...); -EXTERN void sys_logerror(const char *object, const char *s); -EXTERN void sys_unixerror(const char *object); -EXTERN void sys_ouch(void); - - -/* ------------ system interface routines ------------------- */ -EXTERN int sys_isreadablefile(const char *name); -EXTERN void sys_bashfilename(const char *from, char *to); -EXTERN void sys_unbashfilename(const char *from, char *to); -EXTERN int open_via_path(const char *name, const char *ext, const char *dir, - char *dirresult, char **nameresult, unsigned int size, int bin); -EXTERN int sched_geteventno(void); -EXTERN double sys_getrealtime(void); -EXTERN int (*sys_idlehook)(void); /* hook to add idle time computation */ - - -/* ------------ threading ------------------- */ -/* T.Grill - see m_sched.c */ - -EXTERN void sys_lock(void); -EXTERN void sys_unlock(void); -EXTERN int sys_trylock(void); - - -/* --------------- signals ----------------------------------- */ - -typedef float t_sample; -#define MAXLOGSIG 32 -#define MAXSIGSIZE (1 << MAXLOGSIG) - -typedef struct _signal -{ - int s_n; /* number of points in the array */ - t_sample *s_vec; /* the array */ - float s_sr; /* sample rate */ - int s_refcount; /* number of times used */ - int s_isborrowed; /* whether we're going to borrow our array */ - struct _signal *s_borrowedfrom; /* signal to borrow it from */ - struct _signal *s_nextfree; /* next in freelist */ - struct _signal *s_nextused; /* next in used list */ -} t_signal; - - -typedef t_int *(*t_perfroutine)(t_int *args); - -EXTERN t_int *plus_perform(t_int *args); -EXTERN t_int *zero_perform(t_int *args); -EXTERN t_int *copy_perform(t_int *args); - -EXTERN void dsp_add_plus(t_sample *in1, t_sample *in2, t_sample *out, int n); -EXTERN void dsp_add_copy(t_sample *in, t_sample *out, int n); -EXTERN void dsp_add_scalarcopy(t_sample *in, t_sample *out, int n); -EXTERN void dsp_add_zero(t_sample *out, int n); - -EXTERN int sys_getblksize(void); -EXTERN float sys_getsr(void); -EXTERN int sys_get_inchannels(void); -EXTERN int sys_get_outchannels(void); - -EXTERN void dsp_add(t_perfroutine f, int n, ...); -EXTERN void dsp_addv(t_perfroutine f, int n, t_int *vec); -EXTERN void pd_fft(float *buf, int npoints, int inverse); -EXTERN int ilog2(int n); - -EXTERN void mayer_fht(float *fz, int n); -EXTERN void mayer_fft(int n, float *real, float *imag); -EXTERN void mayer_ifft(int n, float *real, float *imag); -EXTERN void mayer_realfft(int n, float *real); -EXTERN void mayer_realifft(int n, float *real); - -EXTERN float *cos_table; -#define LOGCOSTABSIZE 9 -#define COSTABSIZE (1< 0.5; +#X msg 102 313 1; +#X obj 102 330 -; +#X obj 80 296 t f b f; +#X obj 80 355 spigot; +#X obj 124 355 spigot; +#X obj 124 372 print similar; +#X obj 80 389 print different; +#X msg 436 258 \; pd dsp 1 \; loadsamples bang; +#X obj 246 153 loadbang; +#X msg 246 170 1; +#X text 92 37 _Compare_; +#X text 437 80 Its use is in comparing alpha vectors from an rfft~ +object where higher amplitude bins are weighted against low amplitude +bins. The maximum amplitude of the comparison vector on inlets 3+4 +is used to scale the output value so that it always gives a score between +0 (no similarity) and 1 (identical alpha).; +#X text 672 243 see also; +#X obj 671 258 framescore~; +#X text 3 210 HERE it is-->; +#X obj 671 278 simile~; +#X obj 671 298 simile; +#X obj 671 318 hssc~; +#X text 438 158 Differences between the peak levels of the two vectors +may cause similarities in peak patterns to be missed. Since the cartesian-to-polar +conversion is done internally to the object \, may not +be used in the same way as it can with \, but since the +phase is not calculated as it is in it is marginally less +CPU-intensive.; +#X connect 0 0 1 0; +#X connect 1 0 2 1; +#X connect 2 0 28 0; +#X connect 3 0 4 0; +#X connect 4 0 16 0; +#X connect 4 0 18 0; +#X connect 4 0 17 0; +#X connect 4 1 23 0; +#X connect 4 1 21 0; +#X connect 5 0 6 0; +#X connect 6 0 16 0; +#X connect 6 0 17 0; +#X connect 6 0 18 0; +#X connect 6 1 21 0; +#X connect 6 1 22 0; +#X connect 7 0 9 0; +#X connect 8 0 0 2; +#X connect 9 0 8 0; +#X connect 10 0 13 0; +#X connect 10 1 11 0; +#X connect 11 0 10 0; +#X connect 12 0 10 0; +#X connect 13 0 14 0; +#X connect 14 0 15 0; +#X connect 15 0 16 1; +#X connect 16 0 2 0; +#X connect 17 0 0 0; +#X connect 18 0 0 1; +#X connect 20 0 12 0; +#X connect 21 0 17 1; +#X connect 22 0 18 1; +#X connect 23 0 18 1; +#X connect 25 0 27 1; +#X connect 25 0 30 1; +#X connect 26 0 27 0; +#X connect 27 0 29 1; +#X connect 28 0 29 0; +#X connect 28 0 30 0; +#X connect 28 1 26 0; +#X connect 28 2 25 0; +#X connect 29 0 32 0; +#X connect 30 0 31 0; +#X connect 34 0 35 0; +#X connect 35 0 7 0; diff --git a/framespect~.c b/framespect~.c new file mode 100644 index 0000000..add2a97 --- /dev/null +++ b/framespect~.c @@ -0,0 +1,111 @@ +/* + * framespect~ : Weighted alpha comparison, block-by-block. + * Copyright (C) 2005 Edward Kelly + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include "m_pd.h" +#include + +static t_class *framespect_tilde_class; + +typedef struct _framespect_tilde +{ + t_object x_obj; + t_float f; + t_float f_max, f_win, f_accum; + t_outlet *f_score; +} t_framespect_tilde; + +t_int *framespect_tilde_perform(t_int *w) +{ + t_framespect_tilde *x = (t_framespect_tilde *)(w[1]); + t_sample *real1 = (t_sample *)(w[2]); + t_sample *imag1 = (t_sample *)(w[3]); + t_sample *real2 = (t_sample *)(w[4]); + t_sample *imag2 = (t_sample *)(w[5]); + int n = (int)(w[6]); + float r1, i1, r2, i2; + float vector1; + float vector2; + x->f_accum = 0; + float block_accum = 0; + x->f_max = 0; + float score = 0; + float avg = 0; + int block = n; + x->f_win = x->f_win > 0 ? x->f_win : 0.01; + + while (n--) + { + r1 = (*real1++); + i1 = (*imag1++); + r2 = (*real2++); + i2 = (*imag2++); + vector1 = sqrt((r1 * r1) + (i1 * i1)); + vector2 = sqrt((r2 * r2) + (i2 * i2)); + vector1 = vector1 > 0 ? vector1 : 0 - vector1; + vector2 = vector2 > 0 ? vector2 : 0 - vector2; + block_accum += vector2; + x->f_max = vector2 > x->f_max ? vector2 : x->f_max; + float diff = vector1 > vector2 ? vector1 - vector2 : vector2 - vector1; + x->f_accum += (1/((diff/x->f_win)+1)) * vector2; + } + score = x->f_accum / x->f_max; + block_accum /= x->f_max; + avg = score / block_accum; + outlet_float(x->f_score, avg); + + return(w+7); +} + +void framespect_tilde_dsp(t_framespect_tilde *x, t_signal **sp) +{ + dsp_add(framespect_tilde_perform, 6, x, + sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[3]->s_vec, sp[0]->s_n); +} + +void *framespect_tilde_new(t_floatarg f) +{ + t_framespect_tilde *x = (t_framespect_tilde *)pd_new(framespect_tilde_class); + + x->f_win = f; + + inlet_new (&x->x_obj, &x->x_obj.ob_pd, &s_signal, &s_signal); + inlet_new (&x->x_obj, &x->x_obj.ob_pd, &s_signal, &s_signal); + inlet_new (&x->x_obj, &x->x_obj.ob_pd, &s_signal, &s_signal); + floatinlet_new (&x->x_obj, &x->f_win); + x->f_score = outlet_new(&x->x_obj, gensym("float")); + + return (void *)x; +} + + +void framespect_tilde_setup(void) +{ + framespect_tilde_class = class_new(gensym("framespect~"), + (t_newmethod)framespect_tilde_new, + 0, sizeof(t_framespect_tilde), + CLASS_DEFAULT, A_DEFFLOAT, 0); + + post("|'''''''''''framespect~'''''''''''''|"); + post("|'''''weighted alpha comparison'''''|"); + post("|'''edward'''''''kelly'''''''2005'''|"); + + class_addmethod(framespect_tilde_class, (t_method)framespect_tilde_dsp, + gensym("dsp"), 0); + + CLASS_MAINSIGNALIN(framespect_tilde_class, t_framespect_tilde, f); +} diff --git a/framespect~/framespect~-help.pd b/framespect~/framespect~-help.pd deleted file mode 100644 index ea4c3e6..0000000 --- a/framespect~/framespect~-help.pd +++ /dev/null @@ -1,176 +0,0 @@ -#N canvas 109 303 913 445 10; -#N canvas 0 22 468 247 frame-scoring 0; -#X obj 61 76 inlet~; -#X obj 362 116 block~ 1024; -#X obj 61 93 rfft~; -#X obj 197 72 inlet~; -#X obj 197 89 rfft~; -#X obj 60 183 outlet; -#X obj 295 150 inlet; -#X obj 60 166 framespect~; -#X connect 0 0 2 0; -#X connect 2 0 7 0; -#X connect 2 1 7 1; -#X connect 3 0 4 0; -#X connect 4 0 7 2; -#X connect 4 1 7 3; -#X connect 6 0 7 4; -#X connect 7 0 5 0; -#X restore 95 210 pd frame-scoring; -#X floatatom 95 262 0 0 0 0 similarity - -; -#X obj 80 279 f; -#X obj 151 70 bng 15 250 50 0 empty empty different 0 -6 0 8 -262144 --1 -1; -#X obj 151 85 t b b; -#X obj 74 70 bng 15 250 50 0 empty empty same 0 -6 0 8 -262144 -1 -1 -; -#X obj 74 85 t b b; -#X floatatom 342 165 5 1 100 0 - - -; -#X floatatom 342 196 5 0 0 1 window - -; -#X obj 342 179 / 100; -#N canvas 0 22 532 477 testinput 0; -#X obj 73 73 openpanel; -#X obj 107 23 inlet; -#X obj 107 40 sel 1 2; -#N canvas 0 22 450 300 graph20 0; -#X array test-1 325922 float 0; -#X coords 0 1 325921 -1 300 80 1; -#X restore 83 191 graph; -#N canvas 0 22 450 300 graph20 0; -#X array test-2 192058 float 0; -#X coords 0 1 192057 -1 300 80 1; -#X restore 83 282 graph; -#X msg 73 90 read -resize \$1 test-1; -#X obj 73 107 soundfiler; -#X obj 169 124 t b f; -#X obj 240 73 openpanel; -#X obj 240 107 soundfiler; -#X msg 240 90 read -resize \$1 test-2; -#X obj 169 158 / 44.1; -#X obj 169 141 min; -#X obj 213 158 outlet; -#X obj 329 124 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X obj 329 139 outlet; -#X connect 0 0 5 0; -#X connect 1 0 2 0; -#X connect 2 0 0 0; -#X connect 2 1 8 0; -#X connect 5 0 6 0; -#X connect 6 0 12 0; -#X connect 7 0 12 0; -#X connect 7 1 12 1; -#X connect 8 0 10 0; -#X connect 9 0 7 0; -#X connect 9 0 14 0; -#X connect 10 0 9 0; -#X connect 11 0 13 0; -#X connect 12 0 11 0; -#X connect 14 0 15 0; -#X restore 314 48 pd testinput; -#X msg 314 31 1; -#X msg 337 31 2; -#X floatatom 314 65 0 0 0 0 shortest - -; -#X obj 314 82 / 2; -#X floatatom 314 216 0 0 0 0 - - -; -#X obj 263 216 del 500; -#N canvas 0 22 264 157 playsound 0; -#X obj 51 82 tabplay~ test-1; -#X obj 164 65 inlet; -#X obj 51 65 inlet; -#X obj 51 99 outlet~; -#X connect 0 0 3 0; -#X connect 1 0 0 0; -#X connect 2 0 0 0; -#X restore 74 136 pd playsound; -#N canvas 0 22 264 157 playsound 0; -#X obj 51 82 tabplay~ test-1; -#X obj 153 65 inlet; -#X obj 51 65 inlet; -#X obj 51 99 outlet~; -#X connect 0 0 3 0; -#X connect 1 0 0 0; -#X connect 2 0 0 0; -#X restore 160 136 pd playsound; -#X text 439 12 framescore~ calculates a weighted similarity value for -two signal vectors. The value is weighted proportional to amplitude -\, so that comparisons made between higher value vectors have more -effect on the output than comparisons between low value vectors.; -#X obj 337 14 r loadsamples; -#X msg 103 119 set test-1; -#X msg 233 102 set test-1; -#X msg 233 119 set test-2; -#X text 434 242 start here; -#X obj 125 313 > 0.5; -#X msg 102 313 1; -#X obj 102 330 -; -#X obj 80 296 t f b f; -#X obj 80 355 spigot; -#X obj 124 355 spigot; -#X obj 124 372 print similar; -#X obj 80 389 print different; -#X msg 436 258 \; pd dsp 1 \; loadsamples bang; -#X obj 246 153 loadbang; -#X msg 246 170 1; -#X text 92 37 _Compare_; -#X text 437 80 Its use is in comparing alpha vectors from an rfft~ -object where higher amplitude bins are weighted against low amplitude -bins. The maximum amplitude of the comparison vector on inlets 3+4 -is used to scale the output value so that it always gives a score between -0 (no similarity) and 1 (identical alpha).; -#X text 672 243 see also; -#X obj 671 258 framescore~; -#X text 3 210 HERE it is-->; -#X obj 671 278 simile~; -#X obj 671 298 simile; -#X obj 671 318 hssc~; -#X text 438 158 Differences between the peak levels of the two vectors -may cause similarities in peak patterns to be missed. Since the cartesian-to-polar -conversion is done internally to the object \, may not -be used in the same way as it can with \, but since the -phase is not calculated as it is in it is marginally less -CPU-intensive.; -#X connect 0 0 1 0; -#X connect 1 0 2 1; -#X connect 2 0 28 0; -#X connect 3 0 4 0; -#X connect 4 0 16 0; -#X connect 4 0 18 0; -#X connect 4 0 17 0; -#X connect 4 1 23 0; -#X connect 4 1 21 0; -#X connect 5 0 6 0; -#X connect 6 0 16 0; -#X connect 6 0 17 0; -#X connect 6 0 18 0; -#X connect 6 1 21 0; -#X connect 6 1 22 0; -#X connect 7 0 9 0; -#X connect 8 0 0 2; -#X connect 9 0 8 0; -#X connect 10 0 13 0; -#X connect 10 1 11 0; -#X connect 11 0 10 0; -#X connect 12 0 10 0; -#X connect 13 0 14 0; -#X connect 14 0 15 0; -#X connect 15 0 16 1; -#X connect 16 0 2 0; -#X connect 17 0 0 0; -#X connect 18 0 0 1; -#X connect 20 0 12 0; -#X connect 21 0 17 1; -#X connect 22 0 18 1; -#X connect 23 0 18 1; -#X connect 25 0 27 1; -#X connect 25 0 30 1; -#X connect 26 0 27 0; -#X connect 27 0 29 1; -#X connect 28 0 29 0; -#X connect 28 0 30 0; -#X connect 28 1 26 0; -#X connect 28 2 25 0; -#X connect 29 0 32 0; -#X connect 30 0 31 0; -#X connect 34 0 35 0; -#X connect 35 0 7 0; diff --git a/framespect~/framespect~.c b/framespect~/framespect~.c deleted file mode 100644 index add2a97..0000000 --- a/framespect~/framespect~.c +++ /dev/null @@ -1,111 +0,0 @@ -/* - * framespect~ : Weighted alpha comparison, block-by-block. - * Copyright (C) 2005 Edward Kelly - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "m_pd.h" -#include - -static t_class *framespect_tilde_class; - -typedef struct _framespect_tilde -{ - t_object x_obj; - t_float f; - t_float f_max, f_win, f_accum; - t_outlet *f_score; -} t_framespect_tilde; - -t_int *framespect_tilde_perform(t_int *w) -{ - t_framespect_tilde *x = (t_framespect_tilde *)(w[1]); - t_sample *real1 = (t_sample *)(w[2]); - t_sample *imag1 = (t_sample *)(w[3]); - t_sample *real2 = (t_sample *)(w[4]); - t_sample *imag2 = (t_sample *)(w[5]); - int n = (int)(w[6]); - float r1, i1, r2, i2; - float vector1; - float vector2; - x->f_accum = 0; - float block_accum = 0; - x->f_max = 0; - float score = 0; - float avg = 0; - int block = n; - x->f_win = x->f_win > 0 ? x->f_win : 0.01; - - while (n--) - { - r1 = (*real1++); - i1 = (*imag1++); - r2 = (*real2++); - i2 = (*imag2++); - vector1 = sqrt((r1 * r1) + (i1 * i1)); - vector2 = sqrt((r2 * r2) + (i2 * i2)); - vector1 = vector1 > 0 ? vector1 : 0 - vector1; - vector2 = vector2 > 0 ? vector2 : 0 - vector2; - block_accum += vector2; - x->f_max = vector2 > x->f_max ? vector2 : x->f_max; - float diff = vector1 > vector2 ? vector1 - vector2 : vector2 - vector1; - x->f_accum += (1/((diff/x->f_win)+1)) * vector2; - } - score = x->f_accum / x->f_max; - block_accum /= x->f_max; - avg = score / block_accum; - outlet_float(x->f_score, avg); - - return(w+7); -} - -void framespect_tilde_dsp(t_framespect_tilde *x, t_signal **sp) -{ - dsp_add(framespect_tilde_perform, 6, x, - sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[3]->s_vec, sp[0]->s_n); -} - -void *framespect_tilde_new(t_floatarg f) -{ - t_framespect_tilde *x = (t_framespect_tilde *)pd_new(framespect_tilde_class); - - x->f_win = f; - - inlet_new (&x->x_obj, &x->x_obj.ob_pd, &s_signal, &s_signal); - inlet_new (&x->x_obj, &x->x_obj.ob_pd, &s_signal, &s_signal); - inlet_new (&x->x_obj, &x->x_obj.ob_pd, &s_signal, &s_signal); - floatinlet_new (&x->x_obj, &x->f_win); - x->f_score = outlet_new(&x->x_obj, gensym("float")); - - return (void *)x; -} - - -void framespect_tilde_setup(void) -{ - framespect_tilde_class = class_new(gensym("framespect~"), - (t_newmethod)framespect_tilde_new, - 0, sizeof(t_framespect_tilde), - CLASS_DEFAULT, A_DEFFLOAT, 0); - - post("|'''''''''''framespect~'''''''''''''|"); - post("|'''''weighted alpha comparison'''''|"); - post("|'''edward'''''''kelly'''''''2005'''|"); - - class_addmethod(framespect_tilde_class, (t_method)framespect_tilde_dsp, - gensym("dsp"), 0); - - CLASS_MAINSIGNALIN(framespect_tilde_class, t_framespect_tilde, f); -} diff --git a/framespect~/m_pd.h b/framespect~/m_pd.h deleted file mode 100644 index fc9d6ab..0000000 --- a/framespect~/m_pd.h +++ /dev/null @@ -1,635 +0,0 @@ -/* Copyright (c) 1997-1999 Miller Puckette. -* For information on usage and redistribution, and for a DISCLAIMER OF ALL -* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */ - -#ifndef __m_pd_h_ - -#if defined(_LANGUAGE_C_PLUS_PLUS) || defined(__cplusplus) -extern "C" { -#endif - -#define PD_MAJOR_VERSION 0 -#define PD_MINOR_VERSION 38 - -/* old name for "MSW" flag -- we have to take it for the sake of many old -"nmakefiles" for externs, which will define NT and not MSW */ -#if defined(NT) && !defined(MSW) -#define MSW -#endif - -#ifdef MSW -/* #pragma warning( disable : 4091 ) */ -#pragma warning( disable : 4305 ) /* uncast const double to float */ -#pragma warning( disable : 4244 ) /* uncast float/int conversion etc. */ -#pragma warning( disable : 4101 ) /* unused automatic variables */ -#endif /* MSW */ - - /* the external storage class is "extern" in UNIX; in MSW it's ugly. */ -#ifdef MSW -#ifdef PD_INTERNAL -#define EXTERN __declspec(dllexport) extern -#else -#define EXTERN __declspec(dllimport) extern -#endif /* PD_INTERNAL */ -#else -#define EXTERN extern -#endif /* MSW */ - - /* and depending on the compiler, hidden data structures are - declared differently: */ -#if defined( __GNUC__) || defined( __BORLANDC__ ) || defined( __MWERKS__ ) -#define EXTERN_STRUCT struct -#else -#define EXTERN_STRUCT extern struct -#endif - - -#if !defined(_SIZE_T) && !defined(_SIZE_T_) -#include /* just for size_t -- how lame! */ -#endif - -#define MAXPDSTRING 1000 /* use this for anything you want */ -#define MAXPDARG 5 /* max number of args we can typecheck today */ - -/* signed and unsigned integer types the size of a pointer: */ -/* GG: long is the size of a pointer */ -typedef long t_int; - -typedef float t_float; /* a floating-point number at most the same size */ -typedef float t_floatarg; /* floating-point type for function calls */ - -typedef struct _symbol -{ - char *s_name; - struct _class **s_thing; - struct _symbol *s_next; -} t_symbol; - -EXTERN_STRUCT _array; -#define t_array struct _array /* g_canvas.h */ - -/* pointers to glist and array elements go through a "stub" which sticks -around after the glist or array is freed. The stub itself is deleted when -both the glist/array is gone and the refcount is zero, ensuring that no -gpointers are pointing here. */ - -#define GP_NONE 0 /* the stub points nowhere (has been cut off) */ -#define GP_GLIST 1 /* the stub points to a glist element */ -#define GP_ARRAY 2 /* ... or array */ - -typedef struct _gstub -{ - union - { - struct _glist *gs_glist; /* glist we're in */ - struct _array *gs_array; /* array we're in */ - } gs_un; - int gs_which; /* GP_GLIST/GP_ARRAY */ - int gs_refcount; /* number of gpointers pointing here */ -} t_gstub; - -typedef struct _gpointer /* pointer to a gobj in a glist */ -{ - union - { - struct _scalar *gp_scalar; /* scalar we're in (if glist) */ - union word *gp_w; /* raw data (if array) */ - } gp_un; - int gp_valid; /* number which must match gpointee */ - t_gstub *gp_stub; /* stub which points to glist/array */ -} t_gpointer; - -typedef union word -{ - t_float w_float; - t_symbol *w_symbol; - t_gpointer *w_gpointer; - t_array *w_array; - struct _glist *w_list; - int w_index; -} t_word; - -typedef enum -{ - A_NULL, - A_FLOAT, - A_SYMBOL, - A_POINTER, - A_SEMI, - A_COMMA, - A_DEFFLOAT, - A_DEFSYM, - A_DOLLAR, - A_DOLLSYM, - A_GIMME, - A_CANT -} t_atomtype; - -#define A_DEFSYMBOL A_DEFSYM /* better name for this */ - -typedef struct _atom -{ - t_atomtype a_type; - union word a_w; -} t_atom; - -EXTERN_STRUCT _class; -#define t_class struct _class - -EXTERN_STRUCT _outlet; -#define t_outlet struct _outlet - -EXTERN_STRUCT _inlet; -#define t_inlet struct _inlet - -EXTERN_STRUCT _binbuf; -#define t_binbuf struct _binbuf - -EXTERN_STRUCT _clock; -#define t_clock struct _clock - -EXTERN_STRUCT _outconnect; -#define t_outconnect struct _outconnect - -EXTERN_STRUCT _glist; -#define t_glist struct _glist -#define t_canvas struct _glist /* LATER lose this */ - -typedef t_class *t_pd; /* pure datum: nothing but a class pointer */ - -typedef struct _gobj /* a graphical object */ -{ - t_pd g_pd; /* pure datum header (class) */ - struct _gobj *g_next; /* next in list */ -} t_gobj; - -typedef struct _scalar /* a graphical object holding data */ -{ - t_gobj sc_gobj; /* header for graphical object */ - t_symbol *sc_template; /* template name (LATER replace with pointer) */ - t_word sc_vec[1]; /* indeterminate-length array of words */ -} t_scalar; - -typedef struct _text /* patchable object - graphical, with text */ -{ - t_gobj te_g; /* header for graphical object */ - t_binbuf *te_binbuf; /* holder for the text */ - t_outlet *te_outlet; /* linked list of outlets */ - t_inlet *te_inlet; /* linked list of inlets */ - short te_xpix; /* x&y location (within the toplevel) */ - short te_ypix; - short te_width; /* requested width in chars, 0 if auto */ - unsigned int te_type:2; /* from defs below */ -} t_text; - -#define T_TEXT 0 /* just a textual comment */ -#define T_OBJECT 1 /* a MAX style patchable object */ -#define T_MESSAGE 2 /* a MAX stype message */ -#define T_ATOM 3 /* a cell to display a number or symbol */ - -#define te_pd te_g.g_pd - - /* t_object is synonym for t_text (LATER unify them) */ - -typedef struct _text t_object; - -#define ob_outlet te_outlet -#define ob_inlet te_inlet -#define ob_binbuf te_binbuf -#define ob_pd te_g.g_pd -#define ob_g te_g - -typedef void (*t_method)(void); -typedef void *(*t_newmethod)( void); -typedef void (*t_gotfn)(void *x, ...); - -/* ---------------- pre-defined objects and symbols --------------*/ -EXTERN t_pd pd_objectmaker; /* factory for creating "object" boxes */ -EXTERN t_pd pd_canvasmaker; /* factory for creating canvases */ -EXTERN t_symbol s_pointer; -EXTERN t_symbol s_float; -EXTERN t_symbol s_symbol; -EXTERN t_symbol s_bang; -EXTERN t_symbol s_list; -EXTERN t_symbol s_anything; -EXTERN t_symbol s_signal; -EXTERN t_symbol s__N; -EXTERN t_symbol s__X; -EXTERN t_symbol s_x; -EXTERN t_symbol s_y; -EXTERN t_symbol s_; - -/* --------- prototypes from the central message system ----------- */ -EXTERN void pd_typedmess(t_pd *x, t_symbol *s, int argc, t_atom *argv); -EXTERN void pd_forwardmess(t_pd *x, int argc, t_atom *argv); -EXTERN t_symbol *gensym(char *s); -EXTERN t_gotfn getfn(t_pd *x, t_symbol *s); -EXTERN t_gotfn zgetfn(t_pd *x, t_symbol *s); -EXTERN void nullfn(void); -EXTERN void pd_vmess(t_pd *x, t_symbol *s, char *fmt, ...); -#define mess0(x, s) ((*getfn((x), (s)))((x))) -#define mess1(x, s, a) ((*getfn((x), (s)))((x), (a))) -#define mess2(x, s, a,b) ((*getfn((x), (s)))((x), (a),(b))) -#define mess3(x, s, a,b,c) ((*getfn((x), (s)))((x), (a),(b),(c))) -#define mess4(x, s, a,b,c,d) ((*getfn((x), (s)))((x), (a),(b),(c),(d))) -#define mess5(x, s, a,b,c,d,e) ((*getfn((x), (s)))((x), (a),(b),(c),(d),(e))) -EXTERN void obj_list(t_object *x, t_symbol *s, int argc, t_atom *argv); -EXTERN t_pd *pd_newest(void); - -/* --------------- memory management -------------------- */ -EXTERN void *getbytes(size_t nbytes); -EXTERN void *getzbytes(size_t nbytes); -EXTERN void *copybytes(void *src, size_t nbytes); -EXTERN void freebytes(void *x, size_t nbytes); -EXTERN void *resizebytes(void *x, size_t oldsize, size_t newsize); - -/* -------------------- atoms ----------------------------- */ - -#define SETSEMI(atom) ((atom)->a_type = A_SEMI, (atom)->a_w.w_index = 0) -#define SETCOMMA(atom) ((atom)->a_type = A_COMMA, (atom)->a_w.w_index = 0) -#define SETPOINTER(atom, gp) ((atom)->a_type = A_POINTER, \ - (atom)->a_w.w_gpointer = (gp)) -#define SETFLOAT(atom, f) ((atom)->a_type = A_FLOAT, (atom)->a_w.w_float = (f)) -#define SETSYMBOL(atom, s) ((atom)->a_type = A_SYMBOL, \ - (atom)->a_w.w_symbol = (s)) -#define SETDOLLAR(atom, n) ((atom)->a_type = A_DOLLAR, \ - (atom)->a_w.w_index = (n)) -#define SETDOLLSYM(atom, s) ((atom)->a_type = A_DOLLSYM, \ - (atom)->a_w.w_symbol= (s)) - -EXTERN t_float atom_getfloat(t_atom *a); -EXTERN t_int atom_getint(t_atom *a); -EXTERN t_symbol *atom_getsymbol(t_atom *a); -EXTERN t_symbol *atom_gensym(t_atom *a); -EXTERN t_float atom_getfloatarg(int which, int argc, t_atom *argv); -EXTERN t_int atom_getintarg(int which, int argc, t_atom *argv); -EXTERN t_symbol *atom_getsymbolarg(int which, int argc, t_atom *argv); - -EXTERN void atom_string(t_atom *a, char *buf, unsigned int bufsize); - -/* ------------------ binbufs --------------- */ - -EXTERN t_binbuf *binbuf_new(void); -EXTERN void binbuf_free(t_binbuf *x); -EXTERN t_binbuf *binbuf_duplicate(t_binbuf *y); - -EXTERN void binbuf_text(t_binbuf *x, char *text, size_t size); -EXTERN void binbuf_gettext(t_binbuf *x, char **bufp, int *lengthp); -EXTERN void binbuf_clear(t_binbuf *x); -EXTERN void binbuf_add(t_binbuf *x, int argc, t_atom *argv); -EXTERN void binbuf_addv(t_binbuf *x, char *fmt, ...); -EXTERN void binbuf_addbinbuf(t_binbuf *x, t_binbuf *y); -EXTERN void binbuf_addsemi(t_binbuf *x); -EXTERN void binbuf_restore(t_binbuf *x, int argc, t_atom *argv); -EXTERN void binbuf_print(t_binbuf *x); -EXTERN int binbuf_getnatom(t_binbuf *x); -EXTERN t_atom *binbuf_getvec(t_binbuf *x); -EXTERN void binbuf_eval(t_binbuf *x, t_pd *target, int argc, t_atom *argv); -EXTERN int binbuf_read(t_binbuf *b, char *filename, char *dirname, - int crflag); -EXTERN int binbuf_read_via_path(t_binbuf *b, char *filename, char *dirname, - int crflag); -EXTERN int binbuf_write(t_binbuf *x, char *filename, char *dir, - int crflag); -EXTERN void binbuf_evalfile(t_symbol *name, t_symbol *dir); -EXTERN t_symbol *binbuf_realizedollsym(t_symbol *s, int ac, t_atom *av, - int tonew); - -/* ------------------ clocks --------------- */ - -EXTERN t_clock *clock_new(void *owner, t_method fn); -EXTERN void clock_set(t_clock *x, double systime); -EXTERN void clock_delay(t_clock *x, double delaytime); -EXTERN void clock_unset(t_clock *x); -EXTERN double clock_getlogicaltime(void); -EXTERN double clock_getsystime(void); /* OBSOLETE; use clock_getlogicaltime() */ -EXTERN double clock_gettimesince(double prevsystime); -EXTERN double clock_getsystimeafter(double delaytime); -EXTERN void clock_free(t_clock *x); - -/* ----------------- pure data ---------------- */ -EXTERN t_pd *pd_new(t_class *cls); -EXTERN void pd_free(t_pd *x); -EXTERN void pd_bind(t_pd *x, t_symbol *s); -EXTERN void pd_unbind(t_pd *x, t_symbol *s); -EXTERN t_pd *pd_findbyclass(t_symbol *s, t_class *c); -EXTERN void pd_pushsym(t_pd *x); -EXTERN void pd_popsym(t_pd *x); -EXTERN t_symbol *pd_getfilename(void); -EXTERN t_symbol *pd_getdirname(void); -EXTERN void pd_bang(t_pd *x); -EXTERN void pd_pointer(t_pd *x, t_gpointer *gp); -EXTERN void pd_float(t_pd *x, t_float f); -EXTERN void pd_symbol(t_pd *x, t_symbol *s); -EXTERN void pd_list(t_pd *x, t_symbol *s, int argc, t_atom *argv); -EXTERN void pd_anything(t_pd *x, t_symbol *s, int argc, t_atom *argv); -#define pd_class(x) (*(x)) - -/* ----------------- pointers ---------------- */ -EXTERN void gpointer_init(t_gpointer *gp); -EXTERN void gpointer_copy(const t_gpointer *gpfrom, t_gpointer *gpto); -EXTERN void gpointer_unset(t_gpointer *gp); -EXTERN int gpointer_check(const t_gpointer *gp, int headok); - -/* ----------------- patchable "objects" -------------- */ -EXTERN t_inlet *inlet_new(t_object *owner, t_pd *dest, t_symbol *s1, - t_symbol *s2); -EXTERN t_inlet *pointerinlet_new(t_object *owner, t_gpointer *gp); -EXTERN t_inlet *floatinlet_new(t_object *owner, t_float *fp); -EXTERN t_inlet *symbolinlet_new(t_object *owner, t_symbol **sp); -EXTERN void inlet_free(t_inlet *x); - -EXTERN t_outlet *outlet_new(t_object *owner, t_symbol *s); -EXTERN void outlet_bang(t_outlet *x); -EXTERN void outlet_pointer(t_outlet *x, t_gpointer *gp); -EXTERN void outlet_float(t_outlet *x, t_float f); -EXTERN void outlet_symbol(t_outlet *x, t_symbol *s); -EXTERN void outlet_list(t_outlet *x, t_symbol *s, int argc, t_atom *argv); -EXTERN void outlet_anything(t_outlet *x, t_symbol *s, int argc, t_atom *argv); -EXTERN t_symbol *outlet_getsymbol(t_outlet *x); -EXTERN void outlet_free(t_outlet *x); -EXTERN t_object *pd_checkobject(t_pd *x); - - -/* -------------------- canvases -------------- */ - -EXTERN void glob_setfilename(void *dummy, t_symbol *name, t_symbol *dir); - -EXTERN void canvas_setargs(int argc, t_atom *argv); -EXTERN void canvas_getargs(int *argcp, t_atom **argvp); -EXTERN t_symbol *canvas_getcurrentdir(void); -EXTERN t_glist *canvas_getcurrent(void); -EXTERN void canvas_makefilename(t_glist *c, char *file, - char *result,int resultsize); -EXTERN t_symbol *canvas_getdir(t_glist *x); -EXTERN int sys_fontwidth(int fontsize); -EXTERN int sys_fontheight(int fontsize); -EXTERN void canvas_dataproperties(t_glist *x, t_scalar *sc, t_binbuf *b); - -/* ---------------- widget behaviors ---------------------- */ - -EXTERN_STRUCT _widgetbehavior; -#define t_widgetbehavior struct _widgetbehavior - -EXTERN_STRUCT _parentwidgetbehavior; -#define t_parentwidgetbehavior struct _parentwidgetbehavior -EXTERN t_parentwidgetbehavior *pd_getparentwidget(t_pd *x); - -/* -------------------- classes -------------- */ - -#define CLASS_DEFAULT 0 /* flags for new classes below */ -#define CLASS_PD 1 -#define CLASS_GOBJ 2 -#define CLASS_PATCHABLE 3 -#define CLASS_NOINLET 8 - -#define CLASS_TYPEMASK 3 - - -EXTERN t_class *class_new(t_symbol *name, t_newmethod newmethod, - t_method freemethod, size_t size, int flags, t_atomtype arg1, ...); -EXTERN void class_addcreator(t_newmethod newmethod, t_symbol *s, - t_atomtype type1, ...); -EXTERN void class_addmethod(t_class *c, t_method fn, t_symbol *sel, - t_atomtype arg1, ...); -EXTERN void class_addbang(t_class *c, t_method fn); -EXTERN void class_addpointer(t_class *c, t_method fn); -EXTERN void class_doaddfloat(t_class *c, t_method fn); -EXTERN void class_addsymbol(t_class *c, t_method fn); -EXTERN void class_addlist(t_class *c, t_method fn); -EXTERN void class_addanything(t_class *c, t_method fn); -EXTERN void class_sethelpsymbol(t_class *c, t_symbol *s); -EXTERN void class_setwidget(t_class *c, t_widgetbehavior *w); -EXTERN void class_setparentwidget(t_class *c, t_parentwidgetbehavior *w); -EXTERN t_parentwidgetbehavior *class_parentwidget(t_class *c); -EXTERN char *class_getname(t_class *c); -EXTERN char *class_gethelpname(t_class *c); -EXTERN void class_setdrawcommand(t_class *c); -EXTERN int class_isdrawcommand(t_class *c); -EXTERN void class_domainsignalin(t_class *c, int onset); -#define CLASS_MAINSIGNALIN(c, type, field) \ - class_domainsignalin(c, (char *)(&((type *)0)->field) - (char *)0) - - /* prototype for functions to save Pd's to a binbuf */ -typedef void (*t_savefn)(t_gobj *x, t_binbuf *b); -EXTERN void class_setsavefn(t_class *c, t_savefn f); -EXTERN t_savefn class_getsavefn(t_class *c); - /* prototype for functions to open properties dialogs */ -typedef void (*t_propertiesfn)(t_gobj *x, struct _glist *glist); -EXTERN void class_setpropertiesfn(t_class *c, t_propertiesfn f); -EXTERN t_propertiesfn class_getpropertiesfn(t_class *c); - -#ifndef PD_CLASS_DEF -#define class_addbang(x, y) class_addbang((x), (t_method)(y)) -#define class_addpointer(x, y) class_addpointer((x), (t_method)(y)) -#define class_addfloat(x, y) class_doaddfloat((x), (t_method)(y)) -#define class_addsymbol(x, y) class_addsymbol((x), (t_method)(y)) -#define class_addlist(x, y) class_addlist((x), (t_method)(y)) -#define class_addanything(x, y) class_addanything((x), (t_method)(y)) -#endif - -/* ------------ printing --------------------------------- */ -EXTERN void post(const char *fmt, ...); -EXTERN void startpost(const char *fmt, ...); -EXTERN void poststring(const char *s); -EXTERN void postfloat(float f); -EXTERN void postatom(int argc, t_atom *argv); -EXTERN void endpost(void); -EXTERN void error(const char *fmt, ...); -EXTERN void bug(const char *fmt, ...); -EXTERN void pd_error(void *object, const char *fmt, ...); -EXTERN void sys_logerror(const char *object, const char *s); -EXTERN void sys_unixerror(const char *object); -EXTERN void sys_ouch(void); - - -/* ------------ system interface routines ------------------- */ -EXTERN int sys_isreadablefile(const char *name); -EXTERN void sys_bashfilename(const char *from, char *to); -EXTERN void sys_unbashfilename(const char *from, char *to); -EXTERN int open_via_path(const char *name, const char *ext, const char *dir, - char *dirresult, char **nameresult, unsigned int size, int bin); -EXTERN int sched_geteventno(void); -EXTERN double sys_getrealtime(void); -EXTERN int (*sys_idlehook)(void); /* hook to add idle time computation */ - - -/* ------------ threading ------------------- */ -/* T.Grill - see m_sched.c */ - -EXTERN void sys_lock(void); -EXTERN void sys_unlock(void); -EXTERN int sys_trylock(void); - - -/* --------------- signals ----------------------------------- */ - -typedef float t_sample; -#define MAXLOGSIG 32 -#define MAXSIGSIZE (1 << MAXLOGSIG) - -typedef struct _signal -{ - int s_n; /* number of points in the array */ - t_sample *s_vec; /* the array */ - float s_sr; /* sample rate */ - int s_refcount; /* number of times used */ - int s_isborrowed; /* whether we're going to borrow our array */ - struct _signal *s_borrowedfrom; /* signal to borrow it from */ - struct _signal *s_nextfree; /* next in freelist */ - struct _signal *s_nextused; /* next in used list */ -} t_signal; - - -typedef t_int *(*t_perfroutine)(t_int *args); - -EXTERN t_int *plus_perform(t_int *args); -EXTERN t_int *zero_perform(t_int *args); -EXTERN t_int *copy_perform(t_int *args); - -EXTERN void dsp_add_plus(t_sample *in1, t_sample *in2, t_sample *out, int n); -EXTERN void dsp_add_copy(t_sample *in, t_sample *out, int n); -EXTERN void dsp_add_scalarcopy(t_sample *in, t_sample *out, int n); -EXTERN void dsp_add_zero(t_sample *out, int n); - -EXTERN int sys_getblksize(void); -EXTERN float sys_getsr(void); -EXTERN int sys_get_inchannels(void); -EXTERN int sys_get_outchannels(void); - -EXTERN void dsp_add(t_perfroutine f, int n, ...); -EXTERN void dsp_addv(t_perfroutine f, int n, t_int *vec); -EXTERN void pd_fft(float *buf, int npoints, int inverse); -EXTERN int ilog2(int n); - -EXTERN void mayer_fht(float *fz, int n); -EXTERN void mayer_fft(int n, float *real, float *imag); -EXTERN void mayer_ifft(int n, float *real, float *imag); -EXTERN void mayer_realfft(int n, float *real); -EXTERN void mayer_realifft(int n, float *real); - -EXTERN float *cos_table; -#define LOGCOSTABSIZE 9 -#define COSTABSIZE (1< + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include "m_pd.h" +#include + +#ifdef NT +#pragma warning( disable : 4244 ) +#pragma warning( disable : 4305 ) +#endif + +static t_class *hasc_tilde_class; + +typedef struct _hasc_tilde +{ + t_object x_obj; + t_float f; + t_float f_topbin, f_thresh; + t_outlet *f_hasc, *f_levs; +} t_hasc_tilde; + +t_int *hasc_tilde_perform(t_int *w) +{ + t_hasc_tilde *x = (t_hasc_tilde *)(w[1]); + t_sample *real = (t_sample *)(w[2]); + t_sample *imag = (t_sample *)(w[3]); + int n = (int)(w[4]); + int incr = 0; + double max = 0; + double vectorr, vectori; + double alpha; + x->f_topbin = 0; + x->f_thresh = x->f_thresh > 0 ? x->f_thresh : 1; + + while (n--) + { + vectorr = (*real++); + vectori = (*imag++); + alpha = sqrt((vectorr * vectorr) + (vectori * vectori)); + max = alpha > max ? alpha : max; + x->f_topbin = alpha > x->f_thresh ? incr : x->f_topbin; + incr++; + } + outlet_float(x->f_levs, (float)max); + outlet_float(x->f_hasc, x->f_topbin); + + return(w+5); +} + +void hasc_tilde_dsp(t_hasc_tilde *x, t_signal **sp) +{ + dsp_add(hasc_tilde_perform, 4, x, + sp[0]->s_vec, sp[1]->s_vec, sp[0]->s_n); +} + +void *hasc_tilde_new(t_floatarg f) +{ + t_hasc_tilde *x = (t_hasc_tilde *)pd_new(hasc_tilde_class); + + x->f_thresh = f; + + inlet_new (&x->x_obj, &x->x_obj.ob_pd, &s_signal, &s_signal); + floatinlet_new (&x->x_obj, &x->f_thresh); + x->f_hasc = outlet_new(&x->x_obj, gensym("float")); + x->f_levs = outlet_new(&x->x_obj, gensym("float")); + return (void *)x; +} + + +void hasc_tilde_setup(void) +{ + hasc_tilde_class = class_new(gensym("hasc~"), + (t_newmethod)hasc_tilde_new, + 0, sizeof(t_hasc_tilde), + CLASS_DEFAULT, A_DEFFLOAT, 0); + + post("|===============hasc~=================|"); + post("|=highest apparent spectral component=|"); + post("|=====edward======kelly======2005=====|"); + + class_addmethod(hasc_tilde_class, (t_method)hasc_tilde_dsp, + gensym("dsp"), 0); + + CLASS_MAINSIGNALIN(hasc_tilde_class, t_hasc_tilde, f); +} diff --git a/hasc~/hasc~.c b/hasc~/hasc~.c deleted file mode 100644 index ba9049c..0000000 --- a/hasc~/hasc~.c +++ /dev/null @@ -1,100 +0,0 @@ -/* - * hasc~ : Highest Apparent Spectral Component, according to amplitude threshold - * Copyright (C) 2005 Edward Kelly - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "m_pd.h" -#include - -#ifdef NT -#pragma warning( disable : 4244 ) -#pragma warning( disable : 4305 ) -#endif - -static t_class *hasc_tilde_class; - -typedef struct _hasc_tilde -{ - t_object x_obj; - t_float f; - t_float f_topbin, f_thresh; - t_outlet *f_hasc, *f_levs; -} t_hasc_tilde; - -t_int *hasc_tilde_perform(t_int *w) -{ - t_hasc_tilde *x = (t_hasc_tilde *)(w[1]); - t_sample *real = (t_sample *)(w[2]); - t_sample *imag = (t_sample *)(w[3]); - int n = (int)(w[4]); - int incr = 0; - double max = 0; - double vectorr, vectori; - double alpha; - x->f_topbin = 0; - x->f_thresh = x->f_thresh > 0 ? x->f_thresh : 1; - - while (n--) - { - vectorr = (*real++); - vectori = (*imag++); - alpha = sqrt((vectorr * vectorr) + (vectori * vectori)); - max = alpha > max ? alpha : max; - x->f_topbin = alpha > x->f_thresh ? incr : x->f_topbin; - incr++; - } - outlet_float(x->f_levs, (float)max); - outlet_float(x->f_hasc, x->f_topbin); - - return(w+5); -} - -void hasc_tilde_dsp(t_hasc_tilde *x, t_signal **sp) -{ - dsp_add(hasc_tilde_perform, 4, x, - sp[0]->s_vec, sp[1]->s_vec, sp[0]->s_n); -} - -void *hasc_tilde_new(t_floatarg f) -{ - t_hasc_tilde *x = (t_hasc_tilde *)pd_new(hasc_tilde_class); - - x->f_thresh = f; - - inlet_new (&x->x_obj, &x->x_obj.ob_pd, &s_signal, &s_signal); - floatinlet_new (&x->x_obj, &x->f_thresh); - x->f_hasc = outlet_new(&x->x_obj, gensym("float")); - x->f_levs = outlet_new(&x->x_obj, gensym("float")); - return (void *)x; -} - - -void hasc_tilde_setup(void) -{ - hasc_tilde_class = class_new(gensym("hasc~"), - (t_newmethod)hasc_tilde_new, - 0, sizeof(t_hasc_tilde), - CLASS_DEFAULT, A_DEFFLOAT, 0); - - post("|===============hasc~=================|"); - post("|=highest apparent spectral component=|"); - post("|=====edward======kelly======2005=====|"); - - class_addmethod(hasc_tilde_class, (t_method)hasc_tilde_dsp, - gensym("dsp"), 0); - - CLASS_MAINSIGNALIN(hasc_tilde_class, t_hasc_tilde, f); -} diff --git a/hasc~/makefile b/hasc~/makefile deleted file mode 100644 index 1d25bac..0000000 --- a/hasc~/makefile +++ /dev/null @@ -1,103 +0,0 @@ -current: - echo make pd_linux, pd_nt, pd_irix5, pd_irix6 or pd_darwin - -clean: ; rm -f *.pd_* *.o - -# ----------------------- NT ----------------------- - -pd_nt: hasc~.dll - -.SUFFIXES: .obj .dll - -PDNTCFLAGS = /W3 /WX /DNT /DPD /nologo -VC="D:\Program Files\Microsoft Visual Studio\Vc98" - -PDNTINCLUDE = /I. /I\tcl\include /I..\..\src /I$(VC)\include - -PDNTLDIR = $(VC)\lib -PDNTLIB = $(PDNTLDIR)\libc.lib \ - $(PDNTLDIR)\oldnames.lib \ - $(PDNTLDIR)\kernel32.lib \ - ..\..\bin\pd.lib - -.c.dll: - cl $(PDNTCFLAGS) $(PDNTINCLUDE) /c $*.c - link /dll /export:hasc_tilde_setup $*.obj $(PDNTLIB) - -# ----------------------- IRIX 5.x ----------------------- - -pd_irix5: hasc~.pd_irix5 - -INSTALL_PREFIX=/usr/local -EXT=pd_irix5 -.SUFFIXES: .pd_irix5 - -SGICFLAGS5 = -o32 -DPD -DUNIX -DIRIX -O2 - -SGIINCLUDE = -I/usr/local/include - -.c.pd_irix5: - cc $(SGICFLAGS5) $(SGIINCLUDE) -o $*.o -c $*.c - ld -elf -shared -rdata_shared -o $*.pd_irix5 $*.o - rm $*.o - -# ----------------------- IRIX 5.x ----------------------- - -pd_irix6: hasc~.pd_irix6 - -INSTALL_PREFIX=/usr/local -EXT=pd_irix6 -.SUFFIXES: .pd_irix6 - -SGICFLAGS5 = -o32 -DPD -DUNIX -DIRIX -O2 - -SGIINCLUDE = -I/usr/local/include - -.c.pd_irix6: - cc $(SGICFLAGS5) $(SGIINCLUDE) -o $*.o -c $*.c - ld -elf -shared -rdata_shared -o $*.pd_irix6 $*.o - rm $*.o - -# ----------------------- LINUX i386 ----------------------- - -pd_linux: hasc~.pd_linux - -INSTALL_PREFIX=/usr/local -EXT=pd_linux -.SUFFIXES: .pd_linux - -LINUXCFLAGS = -DPD -O2 -funroll-loops -fomit-frame-pointer \ - -Wall -W -Wshadow -Wstrict-prototypes -Werror \ - -Wno-unused -Wno-parentheses -Wno-switch - -LINUXINCLUDE = -I/usr/local/include - -.c.pd_linux: - cc $(LINUXCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c - ld --export-dynamic -shared -o $*.pd_linux $*.o -lc -lm - strip --strip-unneeded $*.pd_linux - rm $*.o - -# ----------------------- Mac OSX ----------------------- - -pd_darwin: hasc~.pd_darwin - -INSTALL_PREFIX=/usr/local -EXT=pd_darwin -.SUFFIXES: .pd_darwin - -DARWINCFLAGS = -DPD -O2 -Wall -W -Wshadow -Wstrict-prototypes \ - -Wno-unused -Wno-parentheses -Wno-switch - -.c.pd_darwin: - cc $(DARWINCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c - cc -bundle -undefined suppress -flat_namespace -o $*.pd_darwin $*.o - rm -f $*.o - -# ---------------------------------------------- - -install:: - install -d $(INSTALL_PREFIX)/lib/pd/extra -# install -m 644 *.$(EXT) $(INSTALL_PREFIX)/lib/pd/externs - -install -m 644 hasc~.$(EXT) $(INSTALL_PREFIX)/lib/pd/extra - install -m 644 *.pd $(INSTALL_PREFIX)/lib/pd/doc/5.reference diff --git a/hssc~-help.pd b/hssc~-help.pd new file mode 100644 index 0000000..2f59ba4 --- /dev/null +++ b/hssc~-help.pd @@ -0,0 +1,180 @@ +#N canvas 20 27 860 633 10; +#N canvas 0 22 450 300 graph1 0; +#X array play-01 209416 float 0; +#X coords 0 1 209415 -1 750 71 1; +#X restore 72 34 graph; +#N canvas 0 22 482 332 play-01 0; +#X obj 104 61 inlet; +#X obj 201 119 inlet; +#X obj 201 135 openpanel; +#X msg 201 151 read -resize \$1 play-01; +#X obj 201 167 soundfiler; +#X obj 201 183 / 44.1; +#X obj 201 199 outlet; +#X obj 62 77 tabplay~ play-01; +#X obj 62 134 outlet~; +#X obj 248 183 / 1024; +#X obj 272 213 i; +#X obj 393 229 outlet; +#X msg 272 229 \; hssc resize \$1 \; sssc resize \$1 \; pointer resize +\$1; +#X connect 0 0 7 0; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 4 0 9 0; +#X connect 5 0 6 0; +#X connect 7 0 8 0; +#X connect 9 0 10 0; +#X connect 10 0 12 0; +#X connect 10 0 11 0; +#X restore 88 329 pd play-01; +#X obj 88 299 bng 15 250 50 0 empty empty play -6 -10 0 18 -225280 +-1 -90881; +#X obj 153 315 bng 15 250 50 0 empty bang-load load -4 -6 64 12 -228992 +-1 -1; +#X floatatom 245 367 5 2 2000 1 ratio ratio_set -; +#X floatatom 88 469 5 0 0 0 - - -; +#X obj 182 498 f; +#X obj 211 530 ==; +#X obj 211 498 + 1; +#X obj 88 482 t f b; +#X obj 211 546 sel 1; +#X msg 211 562 0; +#X obj 211 514 t f f; +#X obj 88 313 t b b; +#X floatatom 243 345 0 0 0 0 length(ms) - -; +#X obj 88 453 spigot; +#X obj 88 421 t f f; +#X obj 118 437 > 0; +#N canvas 0 22 462 312 hssc+rfft 0; +#X obj 102 168 hssc~; +#X obj 102 126 rfft~; +#X obj 102 78 inlet~; +#X obj 147 126 inlet; +#X text 141 169 ratio; +#X obj 102 208 outlet; +#X obj 146 208 outlet; +#X obj 238 170 block~ 1024; +#X connect 0 0 5 0; +#X connect 0 1 6 0; +#X connect 1 0 0 0; +#X connect 1 1 0 1; +#X connect 2 0 1 0; +#X connect 3 0 0 2; +#X restore 88 380 pd hssc+rfft; +#X obj 88 514 tabwrite hssc; +#X floatatom 273 444 5 0 0 0 - - -; +#X obj 367 473 f; +#X obj 396 505 ==; +#X obj 396 473 + 1; +#X obj 273 457 t f b; +#X obj 396 521 sel 1; +#X msg 396 537 0; +#X obj 396 489 t f f; +#X obj 273 428 spigot; +#X obj 273 396 t f f; +#X obj 303 412 > 0; +#N canvas 0 22 450 300 graph1 0; +#X array hssc 204 float 0; +#X coords 0 511 203 0 750 71 1; +#X restore 72 107 graph; +#N canvas 0 22 450 300 graph1 0; +#X array sssc 204 float 0; +#X coords 0 511 203 0 750 71 1; +#X restore 72 193 graph; +#X obj 273 489 tabwrite sssc; +#X obj 100 351 dac~; +#N canvas 0 22 450 300 graph1 0; +#X array pointer 204 float 0; +#X coords 0 1 203 0 750 11 1; +#X restore 72 180 graph; +#X obj 363 588 tabwrite pointer; +#X obj 367 556 t b f b f; +#X msg 409 572 1; +#X obj 386 572 - 1; +#X msg 363 572 0; +#X obj 152 411 del 100; +#X msg 152 427 \; pointer const 0; +#X obj 196 361 + 100; +#N canvas 0 22 454 304 init 0; +#X obj 104 162 s ratio_set; +#X msg 104 146 100; +#X obj 104 130 loadbang; +#X connect 1 0 0 0; +#X connect 2 0 1 0; +#X restore 88 563 pd init; +#X floatatom 294 345 5 0 0 1 frames - -; +#X text 421 275 The highest significant spectral component is defined +as the highest frequency bin of a discrete Fourier transform with an +amplitude equal to the strongest component divided by the hssc ratio +\, input to the third inlet of the object.; +#X text 421 325 It may be used to trace the extent of high frequencies +in the input relative to prominent components \, a sort of spectral +envelope...; +#X text 325 367 between highest significant spectral component and +strongest significant spectral component; +#X text 7 381 IN HERE--->; +#X msg 559 448 \; pd dsp 1 \; bang-load bang; +#X text 562 432 start here; +#X text 563 489 then hit play; +#X connect 1 0 34 0; +#X connect 1 0 34 1; +#X connect 1 0 18 0; +#X connect 1 1 14 0; +#X connect 1 2 7 1; +#X connect 1 2 22 1; +#X connect 1 2 45 0; +#X connect 2 0 13 0; +#X connect 3 0 1 1; +#X connect 4 0 18 1; +#X connect 5 0 9 0; +#X connect 6 0 8 0; +#X connect 6 0 19 1; +#X connect 7 0 10 0; +#X connect 8 0 12 0; +#X connect 9 0 19 0; +#X connect 9 1 6 0; +#X connect 10 0 11 0; +#X connect 11 0 6 1; +#X connect 12 0 7 0; +#X connect 12 1 6 1; +#X connect 13 0 1 0; +#X connect 13 1 11 0; +#X connect 13 1 26 0; +#X connect 13 1 41 0; +#X connect 14 0 43 0; +#X connect 15 0 5 0; +#X connect 16 0 15 0; +#X connect 16 1 17 0; +#X connect 17 0 15 1; +#X connect 18 0 16 0; +#X connect 18 1 29 0; +#X connect 20 0 24 0; +#X connect 21 0 23 0; +#X connect 21 0 33 1; +#X connect 21 0 37 0; +#X connect 22 0 25 0; +#X connect 23 0 27 0; +#X connect 24 0 33 0; +#X connect 24 1 21 0; +#X connect 25 0 26 0; +#X connect 26 0 21 1; +#X connect 27 0 22 0; +#X connect 27 1 21 1; +#X connect 28 0 20 0; +#X connect 29 0 28 0; +#X connect 29 1 30 0; +#X connect 30 0 28 1; +#X connect 37 0 40 0; +#X connect 37 1 39 0; +#X connect 37 2 38 0; +#X connect 37 3 36 1; +#X connect 38 0 36 0; +#X connect 39 0 36 1; +#X connect 40 0 36 0; +#X connect 41 0 42 0; +#X connect 41 0 11 0; +#X connect 41 0 26 0; +#X connect 43 0 41 1; diff --git a/hssc~.c b/hssc~.c new file mode 100644 index 0000000..9efebfa --- /dev/null +++ b/hssc~.c @@ -0,0 +1,98 @@ +/* + * hssc~ : Highest Significant Spectral Component, according to amplitude ratio to + * Strongest Significant Spectral Component. + * Copyright (C) 2005 Edward Kelly + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include "m_pd.h" +#include + +static t_class *hssc_tilde_class; + +typedef struct _hssc_tilde +{ + t_object x_obj; + t_float f; + t_float f_maxbin, f_minbin, f_ratio; + t_outlet *f_hssc, *f_sssc; +} t_hssc_tilde; + +t_int *hssc_tilde_perform(t_int *w) +{ + t_hssc_tilde *x = (t_hssc_tilde *)(w[1]); + t_sample *real = (t_sample *)(w[2]); + t_sample *imag = (t_sample *)(w[3]); + int n = (int)(w[4]); + int incr = 0; + double vectorr, vectori; + double max = 0; + double alpha; + x->f_maxbin = x->f_minbin = 0; + x->f_ratio = x->f_ratio > 0 ? x->f_ratio : 100; + + while (n--) + { + vectorr = (*real++); + vectori = (*imag++); + alpha = sqrt((vectorr * vectorr) + (vectori * vectori)); + x->f_maxbin = alpha > max ? incr : x->f_maxbin; + max = alpha > max ? alpha : max; + x->f_minbin = alpha > (max / x->f_ratio) ? incr : x->f_minbin; + incr++; + } + outlet_float(x->f_sssc, x->f_maxbin); + outlet_float(x->f_hssc, x->f_minbin); + + return(w+5); +} + +void hssc_tilde_dsp(t_hssc_tilde *x, t_signal **sp) +{ + dsp_add(hssc_tilde_perform, 4, x, + sp[0]->s_vec, sp[1]->s_vec, sp[0]->s_n); +} + +void *hssc_tilde_new(t_floatarg f) +{ + t_hssc_tilde *x = (t_hssc_tilde *)pd_new(hssc_tilde_class); + + x->f_ratio = f; + + inlet_new (&x->x_obj, &x->x_obj.ob_pd, &s_signal, &s_signal); + floatinlet_new (&x->x_obj, &x->f_ratio); + x->f_hssc = outlet_new(&x->x_obj, gensym("float")); + x->f_sssc = outlet_new(&x->x_obj, gensym("float")); + + return (void *)x; +} + + +void hssc_tilde_setup(void) +{ + hssc_tilde_class = class_new(gensym("hssc~"), + (t_newmethod)hssc_tilde_new, + 0, sizeof(t_hssc_tilde), + CLASS_DEFAULT, A_DEFFLOAT, 0); + + post("|=================hssc~==================|"); + post("|=highest significant spectral component=|"); + post("|======edward=======kelly=======2005=====|"); + + class_addmethod(hssc_tilde_class, (t_method)hssc_tilde_dsp, + gensym("dsp"), 0); + + CLASS_MAINSIGNALIN(hssc_tilde_class, t_hssc_tilde, f); +} diff --git a/hssc~/hssc~-help.pd b/hssc~/hssc~-help.pd deleted file mode 100644 index 2f59ba4..0000000 --- a/hssc~/hssc~-help.pd +++ /dev/null @@ -1,180 +0,0 @@ -#N canvas 20 27 860 633 10; -#N canvas 0 22 450 300 graph1 0; -#X array play-01 209416 float 0; -#X coords 0 1 209415 -1 750 71 1; -#X restore 72 34 graph; -#N canvas 0 22 482 332 play-01 0; -#X obj 104 61 inlet; -#X obj 201 119 inlet; -#X obj 201 135 openpanel; -#X msg 201 151 read -resize \$1 play-01; -#X obj 201 167 soundfiler; -#X obj 201 183 / 44.1; -#X obj 201 199 outlet; -#X obj 62 77 tabplay~ play-01; -#X obj 62 134 outlet~; -#X obj 248 183 / 1024; -#X obj 272 213 i; -#X obj 393 229 outlet; -#X msg 272 229 \; hssc resize \$1 \; sssc resize \$1 \; pointer resize -\$1; -#X connect 0 0 7 0; -#X connect 1 0 2 0; -#X connect 2 0 3 0; -#X connect 3 0 4 0; -#X connect 4 0 5 0; -#X connect 4 0 9 0; -#X connect 5 0 6 0; -#X connect 7 0 8 0; -#X connect 9 0 10 0; -#X connect 10 0 12 0; -#X connect 10 0 11 0; -#X restore 88 329 pd play-01; -#X obj 88 299 bng 15 250 50 0 empty empty play -6 -10 0 18 -225280 --1 -90881; -#X obj 153 315 bng 15 250 50 0 empty bang-load load -4 -6 64 12 -228992 --1 -1; -#X floatatom 245 367 5 2 2000 1 ratio ratio_set -; -#X floatatom 88 469 5 0 0 0 - - -; -#X obj 182 498 f; -#X obj 211 530 ==; -#X obj 211 498 + 1; -#X obj 88 482 t f b; -#X obj 211 546 sel 1; -#X msg 211 562 0; -#X obj 211 514 t f f; -#X obj 88 313 t b b; -#X floatatom 243 345 0 0 0 0 length(ms) - -; -#X obj 88 453 spigot; -#X obj 88 421 t f f; -#X obj 118 437 > 0; -#N canvas 0 22 462 312 hssc+rfft 0; -#X obj 102 168 hssc~; -#X obj 102 126 rfft~; -#X obj 102 78 inlet~; -#X obj 147 126 inlet; -#X text 141 169 ratio; -#X obj 102 208 outlet; -#X obj 146 208 outlet; -#X obj 238 170 block~ 1024; -#X connect 0 0 5 0; -#X connect 0 1 6 0; -#X connect 1 0 0 0; -#X connect 1 1 0 1; -#X connect 2 0 1 0; -#X connect 3 0 0 2; -#X restore 88 380 pd hssc+rfft; -#X obj 88 514 tabwrite hssc; -#X floatatom 273 444 5 0 0 0 - - -; -#X obj 367 473 f; -#X obj 396 505 ==; -#X obj 396 473 + 1; -#X obj 273 457 t f b; -#X obj 396 521 sel 1; -#X msg 396 537 0; -#X obj 396 489 t f f; -#X obj 273 428 spigot; -#X obj 273 396 t f f; -#X obj 303 412 > 0; -#N canvas 0 22 450 300 graph1 0; -#X array hssc 204 float 0; -#X coords 0 511 203 0 750 71 1; -#X restore 72 107 graph; -#N canvas 0 22 450 300 graph1 0; -#X array sssc 204 float 0; -#X coords 0 511 203 0 750 71 1; -#X restore 72 193 graph; -#X obj 273 489 tabwrite sssc; -#X obj 100 351 dac~; -#N canvas 0 22 450 300 graph1 0; -#X array pointer 204 float 0; -#X coords 0 1 203 0 750 11 1; -#X restore 72 180 graph; -#X obj 363 588 tabwrite pointer; -#X obj 367 556 t b f b f; -#X msg 409 572 1; -#X obj 386 572 - 1; -#X msg 363 572 0; -#X obj 152 411 del 100; -#X msg 152 427 \; pointer const 0; -#X obj 196 361 + 100; -#N canvas 0 22 454 304 init 0; -#X obj 104 162 s ratio_set; -#X msg 104 146 100; -#X obj 104 130 loadbang; -#X connect 1 0 0 0; -#X connect 2 0 1 0; -#X restore 88 563 pd init; -#X floatatom 294 345 5 0 0 1 frames - -; -#X text 421 275 The highest significant spectral component is defined -as the highest frequency bin of a discrete Fourier transform with an -amplitude equal to the strongest component divided by the hssc ratio -\, input to the third inlet of the object.; -#X text 421 325 It may be used to trace the extent of high frequencies -in the input relative to prominent components \, a sort of spectral -envelope...; -#X text 325 367 between highest significant spectral component and -strongest significant spectral component; -#X text 7 381 IN HERE--->; -#X msg 559 448 \; pd dsp 1 \; bang-load bang; -#X text 562 432 start here; -#X text 563 489 then hit play; -#X connect 1 0 34 0; -#X connect 1 0 34 1; -#X connect 1 0 18 0; -#X connect 1 1 14 0; -#X connect 1 2 7 1; -#X connect 1 2 22 1; -#X connect 1 2 45 0; -#X connect 2 0 13 0; -#X connect 3 0 1 1; -#X connect 4 0 18 1; -#X connect 5 0 9 0; -#X connect 6 0 8 0; -#X connect 6 0 19 1; -#X connect 7 0 10 0; -#X connect 8 0 12 0; -#X connect 9 0 19 0; -#X connect 9 1 6 0; -#X connect 10 0 11 0; -#X connect 11 0 6 1; -#X connect 12 0 7 0; -#X connect 12 1 6 1; -#X connect 13 0 1 0; -#X connect 13 1 11 0; -#X connect 13 1 26 0; -#X connect 13 1 41 0; -#X connect 14 0 43 0; -#X connect 15 0 5 0; -#X connect 16 0 15 0; -#X connect 16 1 17 0; -#X connect 17 0 15 1; -#X connect 18 0 16 0; -#X connect 18 1 29 0; -#X connect 20 0 24 0; -#X connect 21 0 23 0; -#X connect 21 0 33 1; -#X connect 21 0 37 0; -#X connect 22 0 25 0; -#X connect 23 0 27 0; -#X connect 24 0 33 0; -#X connect 24 1 21 0; -#X connect 25 0 26 0; -#X connect 26 0 21 1; -#X connect 27 0 22 0; -#X connect 27 1 21 1; -#X connect 28 0 20 0; -#X connect 29 0 28 0; -#X connect 29 1 30 0; -#X connect 30 0 28 1; -#X connect 37 0 40 0; -#X connect 37 1 39 0; -#X connect 37 2 38 0; -#X connect 37 3 36 1; -#X connect 38 0 36 0; -#X connect 39 0 36 1; -#X connect 40 0 36 0; -#X connect 41 0 42 0; -#X connect 41 0 11 0; -#X connect 41 0 26 0; -#X connect 43 0 41 1; diff --git a/hssc~/hssc~.c b/hssc~/hssc~.c deleted file mode 100644 index 9efebfa..0000000 --- a/hssc~/hssc~.c +++ /dev/null @@ -1,98 +0,0 @@ -/* - * hssc~ : Highest Significant Spectral Component, according to amplitude ratio to - * Strongest Significant Spectral Component. - * Copyright (C) 2005 Edward Kelly - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "m_pd.h" -#include - -static t_class *hssc_tilde_class; - -typedef struct _hssc_tilde -{ - t_object x_obj; - t_float f; - t_float f_maxbin, f_minbin, f_ratio; - t_outlet *f_hssc, *f_sssc; -} t_hssc_tilde; - -t_int *hssc_tilde_perform(t_int *w) -{ - t_hssc_tilde *x = (t_hssc_tilde *)(w[1]); - t_sample *real = (t_sample *)(w[2]); - t_sample *imag = (t_sample *)(w[3]); - int n = (int)(w[4]); - int incr = 0; - double vectorr, vectori; - double max = 0; - double alpha; - x->f_maxbin = x->f_minbin = 0; - x->f_ratio = x->f_ratio > 0 ? x->f_ratio : 100; - - while (n--) - { - vectorr = (*real++); - vectori = (*imag++); - alpha = sqrt((vectorr * vectorr) + (vectori * vectori)); - x->f_maxbin = alpha > max ? incr : x->f_maxbin; - max = alpha > max ? alpha : max; - x->f_minbin = alpha > (max / x->f_ratio) ? incr : x->f_minbin; - incr++; - } - outlet_float(x->f_sssc, x->f_maxbin); - outlet_float(x->f_hssc, x->f_minbin); - - return(w+5); -} - -void hssc_tilde_dsp(t_hssc_tilde *x, t_signal **sp) -{ - dsp_add(hssc_tilde_perform, 4, x, - sp[0]->s_vec, sp[1]->s_vec, sp[0]->s_n); -} - -void *hssc_tilde_new(t_floatarg f) -{ - t_hssc_tilde *x = (t_hssc_tilde *)pd_new(hssc_tilde_class); - - x->f_ratio = f; - - inlet_new (&x->x_obj, &x->x_obj.ob_pd, &s_signal, &s_signal); - floatinlet_new (&x->x_obj, &x->f_ratio); - x->f_hssc = outlet_new(&x->x_obj, gensym("float")); - x->f_sssc = outlet_new(&x->x_obj, gensym("float")); - - return (void *)x; -} - - -void hssc_tilde_setup(void) -{ - hssc_tilde_class = class_new(gensym("hssc~"), - (t_newmethod)hssc_tilde_new, - 0, sizeof(t_hssc_tilde), - CLASS_DEFAULT, A_DEFFLOAT, 0); - - post("|=================hssc~==================|"); - post("|=highest significant spectral component=|"); - post("|======edward=======kelly=======2005=====|"); - - class_addmethod(hssc_tilde_class, (t_method)hssc_tilde_dsp, - gensym("dsp"), 0); - - CLASS_MAINSIGNALIN(hssc_tilde_class, t_hssc_tilde, f); -} diff --git a/hssc~/m_pd.h b/hssc~/m_pd.h deleted file mode 100644 index fc9d6ab..0000000 --- a/hssc~/m_pd.h +++ /dev/null @@ -1,635 +0,0 @@ -/* Copyright (c) 1997-1999 Miller Puckette. -* For information on usage and redistribution, and for a DISCLAIMER OF ALL -* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */ - -#ifndef __m_pd_h_ - -#if defined(_LANGUAGE_C_PLUS_PLUS) || defined(__cplusplus) -extern "C" { -#endif - -#define PD_MAJOR_VERSION 0 -#define PD_MINOR_VERSION 38 - -/* old name for "MSW" flag -- we have to take it for the sake of many old -"nmakefiles" for externs, which will define NT and not MSW */ -#if defined(NT) && !defined(MSW) -#define MSW -#endif - -#ifdef MSW -/* #pragma warning( disable : 4091 ) */ -#pragma warning( disable : 4305 ) /* uncast const double to float */ -#pragma warning( disable : 4244 ) /* uncast float/int conversion etc. */ -#pragma warning( disable : 4101 ) /* unused automatic variables */ -#endif /* MSW */ - - /* the external storage class is "extern" in UNIX; in MSW it's ugly. */ -#ifdef MSW -#ifdef PD_INTERNAL -#define EXTERN __declspec(dllexport) extern -#else -#define EXTERN __declspec(dllimport) extern -#endif /* PD_INTERNAL */ -#else -#define EXTERN extern -#endif /* MSW */ - - /* and depending on the compiler, hidden data structures are - declared differently: */ -#if defined( __GNUC__) || defined( __BORLANDC__ ) || defined( __MWERKS__ ) -#define EXTERN_STRUCT struct -#else -#define EXTERN_STRUCT extern struct -#endif - - -#if !defined(_SIZE_T) && !defined(_SIZE_T_) -#include /* just for size_t -- how lame! */ -#endif - -#define MAXPDSTRING 1000 /* use this for anything you want */ -#define MAXPDARG 5 /* max number of args we can typecheck today */ - -/* signed and unsigned integer types the size of a pointer: */ -/* GG: long is the size of a pointer */ -typedef long t_int; - -typedef float t_float; /* a floating-point number at most the same size */ -typedef float t_floatarg; /* floating-point type for function calls */ - -typedef struct _symbol -{ - char *s_name; - struct _class **s_thing; - struct _symbol *s_next; -} t_symbol; - -EXTERN_STRUCT _array; -#define t_array struct _array /* g_canvas.h */ - -/* pointers to glist and array elements go through a "stub" which sticks -around after the glist or array is freed. The stub itself is deleted when -both the glist/array is gone and the refcount is zero, ensuring that no -gpointers are pointing here. */ - -#define GP_NONE 0 /* the stub points nowhere (has been cut off) */ -#define GP_GLIST 1 /* the stub points to a glist element */ -#define GP_ARRAY 2 /* ... or array */ - -typedef struct _gstub -{ - union - { - struct _glist *gs_glist; /* glist we're in */ - struct _array *gs_array; /* array we're in */ - } gs_un; - int gs_which; /* GP_GLIST/GP_ARRAY */ - int gs_refcount; /* number of gpointers pointing here */ -} t_gstub; - -typedef struct _gpointer /* pointer to a gobj in a glist */ -{ - union - { - struct _scalar *gp_scalar; /* scalar we're in (if glist) */ - union word *gp_w; /* raw data (if array) */ - } gp_un; - int gp_valid; /* number which must match gpointee */ - t_gstub *gp_stub; /* stub which points to glist/array */ -} t_gpointer; - -typedef union word -{ - t_float w_float; - t_symbol *w_symbol; - t_gpointer *w_gpointer; - t_array *w_array; - struct _glist *w_list; - int w_index; -} t_word; - -typedef enum -{ - A_NULL, - A_FLOAT, - A_SYMBOL, - A_POINTER, - A_SEMI, - A_COMMA, - A_DEFFLOAT, - A_DEFSYM, - A_DOLLAR, - A_DOLLSYM, - A_GIMME, - A_CANT -} t_atomtype; - -#define A_DEFSYMBOL A_DEFSYM /* better name for this */ - -typedef struct _atom -{ - t_atomtype a_type; - union word a_w; -} t_atom; - -EXTERN_STRUCT _class; -#define t_class struct _class - -EXTERN_STRUCT _outlet; -#define t_outlet struct _outlet - -EXTERN_STRUCT _inlet; -#define t_inlet struct _inlet - -EXTERN_STRUCT _binbuf; -#define t_binbuf struct _binbuf - -EXTERN_STRUCT _clock; -#define t_clock struct _clock - -EXTERN_STRUCT _outconnect; -#define t_outconnect struct _outconnect - -EXTERN_STRUCT _glist; -#define t_glist struct _glist -#define t_canvas struct _glist /* LATER lose this */ - -typedef t_class *t_pd; /* pure datum: nothing but a class pointer */ - -typedef struct _gobj /* a graphical object */ -{ - t_pd g_pd; /* pure datum header (class) */ - struct _gobj *g_next; /* next in list */ -} t_gobj; - -typedef struct _scalar /* a graphical object holding data */ -{ - t_gobj sc_gobj; /* header for graphical object */ - t_symbol *sc_template; /* template name (LATER replace with pointer) */ - t_word sc_vec[1]; /* indeterminate-length array of words */ -} t_scalar; - -typedef struct _text /* patchable object - graphical, with text */ -{ - t_gobj te_g; /* header for graphical object */ - t_binbuf *te_binbuf; /* holder for the text */ - t_outlet *te_outlet; /* linked list of outlets */ - t_inlet *te_inlet; /* linked list of inlets */ - short te_xpix; /* x&y location (within the toplevel) */ - short te_ypix; - short te_width; /* requested width in chars, 0 if auto */ - unsigned int te_type:2; /* from defs below */ -} t_text; - -#define T_TEXT 0 /* just a textual comment */ -#define T_OBJECT 1 /* a MAX style patchable object */ -#define T_MESSAGE 2 /* a MAX stype message */ -#define T_ATOM 3 /* a cell to display a number or symbol */ - -#define te_pd te_g.g_pd - - /* t_object is synonym for t_text (LATER unify them) */ - -typedef struct _text t_object; - -#define ob_outlet te_outlet -#define ob_inlet te_inlet -#define ob_binbuf te_binbuf -#define ob_pd te_g.g_pd -#define ob_g te_g - -typedef void (*t_method)(void); -typedef void *(*t_newmethod)( void); -typedef void (*t_gotfn)(void *x, ...); - -/* ---------------- pre-defined objects and symbols --------------*/ -EXTERN t_pd pd_objectmaker; /* factory for creating "object" boxes */ -EXTERN t_pd pd_canvasmaker; /* factory for creating canvases */ -EXTERN t_symbol s_pointer; -EXTERN t_symbol s_float; -EXTERN t_symbol s_symbol; -EXTERN t_symbol s_bang; -EXTERN t_symbol s_list; -EXTERN t_symbol s_anything; -EXTERN t_symbol s_signal; -EXTERN t_symbol s__N; -EXTERN t_symbol s__X; -EXTERN t_symbol s_x; -EXTERN t_symbol s_y; -EXTERN t_symbol s_; - -/* --------- prototypes from the central message system ----------- */ -EXTERN void pd_typedmess(t_pd *x, t_symbol *s, int argc, t_atom *argv); -EXTERN void pd_forwardmess(t_pd *x, int argc, t_atom *argv); -EXTERN t_symbol *gensym(char *s); -EXTERN t_gotfn getfn(t_pd *x, t_symbol *s); -EXTERN t_gotfn zgetfn(t_pd *x, t_symbol *s); -EXTERN void nullfn(void); -EXTERN void pd_vmess(t_pd *x, t_symbol *s, char *fmt, ...); -#define mess0(x, s) ((*getfn((x), (s)))((x))) -#define mess1(x, s, a) ((*getfn((x), (s)))((x), (a))) -#define mess2(x, s, a,b) ((*getfn((x), (s)))((x), (a),(b))) -#define mess3(x, s, a,b,c) ((*getfn((x), (s)))((x), (a),(b),(c))) -#define mess4(x, s, a,b,c,d) ((*getfn((x), (s)))((x), (a),(b),(c),(d))) -#define mess5(x, s, a,b,c,d,e) ((*getfn((x), (s)))((x), (a),(b),(c),(d),(e))) -EXTERN void obj_list(t_object *x, t_symbol *s, int argc, t_atom *argv); -EXTERN t_pd *pd_newest(void); - -/* --------------- memory management -------------------- */ -EXTERN void *getbytes(size_t nbytes); -EXTERN void *getzbytes(size_t nbytes); -EXTERN void *copybytes(void *src, size_t nbytes); -EXTERN void freebytes(void *x, size_t nbytes); -EXTERN void *resizebytes(void *x, size_t oldsize, size_t newsize); - -/* -------------------- atoms ----------------------------- */ - -#define SETSEMI(atom) ((atom)->a_type = A_SEMI, (atom)->a_w.w_index = 0) -#define SETCOMMA(atom) ((atom)->a_type = A_COMMA, (atom)->a_w.w_index = 0) -#define SETPOINTER(atom, gp) ((atom)->a_type = A_POINTER, \ - (atom)->a_w.w_gpointer = (gp)) -#define SETFLOAT(atom, f) ((atom)->a_type = A_FLOAT, (atom)->a_w.w_float = (f)) -#define SETSYMBOL(atom, s) ((atom)->a_type = A_SYMBOL, \ - (atom)->a_w.w_symbol = (s)) -#define SETDOLLAR(atom, n) ((atom)->a_type = A_DOLLAR, \ - (atom)->a_w.w_index = (n)) -#define SETDOLLSYM(atom, s) ((atom)->a_type = A_DOLLSYM, \ - (atom)->a_w.w_symbol= (s)) - -EXTERN t_float atom_getfloat(t_atom *a); -EXTERN t_int atom_getint(t_atom *a); -EXTERN t_symbol *atom_getsymbol(t_atom *a); -EXTERN t_symbol *atom_gensym(t_atom *a); -EXTERN t_float atom_getfloatarg(int which, int argc, t_atom *argv); -EXTERN t_int atom_getintarg(int which, int argc, t_atom *argv); -EXTERN t_symbol *atom_getsymbolarg(int which, int argc, t_atom *argv); - -EXTERN void atom_string(t_atom *a, char *buf, unsigned int bufsize); - -/* ------------------ binbufs --------------- */ - -EXTERN t_binbuf *binbuf_new(void); -EXTERN void binbuf_free(t_binbuf *x); -EXTERN t_binbuf *binbuf_duplicate(t_binbuf *y); - -EXTERN void binbuf_text(t_binbuf *x, char *text, size_t size); -EXTERN void binbuf_gettext(t_binbuf *x, char **bufp, int *lengthp); -EXTERN void binbuf_clear(t_binbuf *x); -EXTERN void binbuf_add(t_binbuf *x, int argc, t_atom *argv); -EXTERN void binbuf_addv(t_binbuf *x, char *fmt, ...); -EXTERN void binbuf_addbinbuf(t_binbuf *x, t_binbuf *y); -EXTERN void binbuf_addsemi(t_binbuf *x); -EXTERN void binbuf_restore(t_binbuf *x, int argc, t_atom *argv); -EXTERN void binbuf_print(t_binbuf *x); -EXTERN int binbuf_getnatom(t_binbuf *x); -EXTERN t_atom *binbuf_getvec(t_binbuf *x); -EXTERN void binbuf_eval(t_binbuf *x, t_pd *target, int argc, t_atom *argv); -EXTERN int binbuf_read(t_binbuf *b, char *filename, char *dirname, - int crflag); -EXTERN int binbuf_read_via_path(t_binbuf *b, char *filename, char *dirname, - int crflag); -EXTERN int binbuf_write(t_binbuf *x, char *filename, char *dir, - int crflag); -EXTERN void binbuf_evalfile(t_symbol *name, t_symbol *dir); -EXTERN t_symbol *binbuf_realizedollsym(t_symbol *s, int ac, t_atom *av, - int tonew); - -/* ------------------ clocks --------------- */ - -EXTERN t_clock *clock_new(void *owner, t_method fn); -EXTERN void clock_set(t_clock *x, double systime); -EXTERN void clock_delay(t_clock *x, double delaytime); -EXTERN void clock_unset(t_clock *x); -EXTERN double clock_getlogicaltime(void); -EXTERN double clock_getsystime(void); /* OBSOLETE; use clock_getlogicaltime() */ -EXTERN double clock_gettimesince(double prevsystime); -EXTERN double clock_getsystimeafter(double delaytime); -EXTERN void clock_free(t_clock *x); - -/* ----------------- pure data ---------------- */ -EXTERN t_pd *pd_new(t_class *cls); -EXTERN void pd_free(t_pd *x); -EXTERN void pd_bind(t_pd *x, t_symbol *s); -EXTERN void pd_unbind(t_pd *x, t_symbol *s); -EXTERN t_pd *pd_findbyclass(t_symbol *s, t_class *c); -EXTERN void pd_pushsym(t_pd *x); -EXTERN void pd_popsym(t_pd *x); -EXTERN t_symbol *pd_getfilename(void); -EXTERN t_symbol *pd_getdirname(void); -EXTERN void pd_bang(t_pd *x); -EXTERN void pd_pointer(t_pd *x, t_gpointer *gp); -EXTERN void pd_float(t_pd *x, t_float f); -EXTERN void pd_symbol(t_pd *x, t_symbol *s); -EXTERN void pd_list(t_pd *x, t_symbol *s, int argc, t_atom *argv); -EXTERN void pd_anything(t_pd *x, t_symbol *s, int argc, t_atom *argv); -#define pd_class(x) (*(x)) - -/* ----------------- pointers ---------------- */ -EXTERN void gpointer_init(t_gpointer *gp); -EXTERN void gpointer_copy(const t_gpointer *gpfrom, t_gpointer *gpto); -EXTERN void gpointer_unset(t_gpointer *gp); -EXTERN int gpointer_check(const t_gpointer *gp, int headok); - -/* ----------------- patchable "objects" -------------- */ -EXTERN t_inlet *inlet_new(t_object *owner, t_pd *dest, t_symbol *s1, - t_symbol *s2); -EXTERN t_inlet *pointerinlet_new(t_object *owner, t_gpointer *gp); -EXTERN t_inlet *floatinlet_new(t_object *owner, t_float *fp); -EXTERN t_inlet *symbolinlet_new(t_object *owner, t_symbol **sp); -EXTERN void inlet_free(t_inlet *x); - -EXTERN t_outlet *outlet_new(t_object *owner, t_symbol *s); -EXTERN void outlet_bang(t_outlet *x); -EXTERN void outlet_pointer(t_outlet *x, t_gpointer *gp); -EXTERN void outlet_float(t_outlet *x, t_float f); -EXTERN void outlet_symbol(t_outlet *x, t_symbol *s); -EXTERN void outlet_list(t_outlet *x, t_symbol *s, int argc, t_atom *argv); -EXTERN void outlet_anything(t_outlet *x, t_symbol *s, int argc, t_atom *argv); -EXTERN t_symbol *outlet_getsymbol(t_outlet *x); -EXTERN void outlet_free(t_outlet *x); -EXTERN t_object *pd_checkobject(t_pd *x); - - -/* -------------------- canvases -------------- */ - -EXTERN void glob_setfilename(void *dummy, t_symbol *name, t_symbol *dir); - -EXTERN void canvas_setargs(int argc, t_atom *argv); -EXTERN void canvas_getargs(int *argcp, t_atom **argvp); -EXTERN t_symbol *canvas_getcurrentdir(void); -EXTERN t_glist *canvas_getcurrent(void); -EXTERN void canvas_makefilename(t_glist *c, char *file, - char *result,int resultsize); -EXTERN t_symbol *canvas_getdir(t_glist *x); -EXTERN int sys_fontwidth(int fontsize); -EXTERN int sys_fontheight(int fontsize); -EXTERN void canvas_dataproperties(t_glist *x, t_scalar *sc, t_binbuf *b); - -/* ---------------- widget behaviors ---------------------- */ - -EXTERN_STRUCT _widgetbehavior; -#define t_widgetbehavior struct _widgetbehavior - -EXTERN_STRUCT _parentwidgetbehavior; -#define t_parentwidgetbehavior struct _parentwidgetbehavior -EXTERN t_parentwidgetbehavior *pd_getparentwidget(t_pd *x); - -/* -------------------- classes -------------- */ - -#define CLASS_DEFAULT 0 /* flags for new classes below */ -#define CLASS_PD 1 -#define CLASS_GOBJ 2 -#define CLASS_PATCHABLE 3 -#define CLASS_NOINLET 8 - -#define CLASS_TYPEMASK 3 - - -EXTERN t_class *class_new(t_symbol *name, t_newmethod newmethod, - t_method freemethod, size_t size, int flags, t_atomtype arg1, ...); -EXTERN void class_addcreator(t_newmethod newmethod, t_symbol *s, - t_atomtype type1, ...); -EXTERN void class_addmethod(t_class *c, t_method fn, t_symbol *sel, - t_atomtype arg1, ...); -EXTERN void class_addbang(t_class *c, t_method fn); -EXTERN void class_addpointer(t_class *c, t_method fn); -EXTERN void class_doaddfloat(t_class *c, t_method fn); -EXTERN void class_addsymbol(t_class *c, t_method fn); -EXTERN void class_addlist(t_class *c, t_method fn); -EXTERN void class_addanything(t_class *c, t_method fn); -EXTERN void class_sethelpsymbol(t_class *c, t_symbol *s); -EXTERN void class_setwidget(t_class *c, t_widgetbehavior *w); -EXTERN void class_setparentwidget(t_class *c, t_parentwidgetbehavior *w); -EXTERN t_parentwidgetbehavior *class_parentwidget(t_class *c); -EXTERN char *class_getname(t_class *c); -EXTERN char *class_gethelpname(t_class *c); -EXTERN void class_setdrawcommand(t_class *c); -EXTERN int class_isdrawcommand(t_class *c); -EXTERN void class_domainsignalin(t_class *c, int onset); -#define CLASS_MAINSIGNALIN(c, type, field) \ - class_domainsignalin(c, (char *)(&((type *)0)->field) - (char *)0) - - /* prototype for functions to save Pd's to a binbuf */ -typedef void (*t_savefn)(t_gobj *x, t_binbuf *b); -EXTERN void class_setsavefn(t_class *c, t_savefn f); -EXTERN t_savefn class_getsavefn(t_class *c); - /* prototype for functions to open properties dialogs */ -typedef void (*t_propertiesfn)(t_gobj *x, struct _glist *glist); -EXTERN void class_setpropertiesfn(t_class *c, t_propertiesfn f); -EXTERN t_propertiesfn class_getpropertiesfn(t_class *c); - -#ifndef PD_CLASS_DEF -#define class_addbang(x, y) class_addbang((x), (t_method)(y)) -#define class_addpointer(x, y) class_addpointer((x), (t_method)(y)) -#define class_addfloat(x, y) class_doaddfloat((x), (t_method)(y)) -#define class_addsymbol(x, y) class_addsymbol((x), (t_method)(y)) -#define class_addlist(x, y) class_addlist((x), (t_method)(y)) -#define class_addanything(x, y) class_addanything((x), (t_method)(y)) -#endif - -/* ------------ printing --------------------------------- */ -EXTERN void post(const char *fmt, ...); -EXTERN void startpost(const char *fmt, ...); -EXTERN void poststring(const char *s); -EXTERN void postfloat(float f); -EXTERN void postatom(int argc, t_atom *argv); -EXTERN void endpost(void); -EXTERN void error(const char *fmt, ...); -EXTERN void bug(const char *fmt, ...); -EXTERN void pd_error(void *object, const char *fmt, ...); -EXTERN void sys_logerror(const char *object, const char *s); -EXTERN void sys_unixerror(const char *object); -EXTERN void sys_ouch(void); - - -/* ------------ system interface routines ------------------- */ -EXTERN int sys_isreadablefile(const char *name); -EXTERN void sys_bashfilename(const char *from, char *to); -EXTERN void sys_unbashfilename(const char *from, char *to); -EXTERN int open_via_path(const char *name, const char *ext, const char *dir, - char *dirresult, char **nameresult, unsigned int size, int bin); -EXTERN int sched_geteventno(void); -EXTERN double sys_getrealtime(void); -EXTERN int (*sys_idlehook)(void); /* hook to add idle time computation */ - - -/* ------------ threading ------------------- */ -/* T.Grill - see m_sched.c */ - -EXTERN void sys_lock(void); -EXTERN void sys_unlock(void); -EXTERN int sys_trylock(void); - - -/* --------------- signals ----------------------------------- */ - -typedef float t_sample; -#define MAXLOGSIG 32 -#define MAXSIGSIZE (1 << MAXLOGSIG) - -typedef struct _signal -{ - int s_n; /* number of points in the array */ - t_sample *s_vec; /* the array */ - float s_sr; /* sample rate */ - int s_refcount; /* number of times used */ - int s_isborrowed; /* whether we're going to borrow our array */ - struct _signal *s_borrowedfrom; /* signal to borrow it from */ - struct _signal *s_nextfree; /* next in freelist */ - struct _signal *s_nextused; /* next in used list */ -} t_signal; - - -typedef t_int *(*t_perfroutine)(t_int *args); - -EXTERN t_int *plus_perform(t_int *args); -EXTERN t_int *zero_perform(t_int *args); -EXTERN t_int *copy_perform(t_int *args); - -EXTERN void dsp_add_plus(t_sample *in1, t_sample *in2, t_sample *out, int n); -EXTERN void dsp_add_copy(t_sample *in, t_sample *out, int n); -EXTERN void dsp_add_scalarcopy(t_sample *in, t_sample *out, int n); -EXTERN void dsp_add_zero(t_sample *out, int n); - -EXTERN int sys_getblksize(void); -EXTERN float sys_getsr(void); -EXTERN int sys_get_inchannels(void); -EXTERN int sys_get_outchannels(void); - -EXTERN void dsp_add(t_perfroutine f, int n, ...); -EXTERN void dsp_addv(t_perfroutine f, int n, t_int *vec); -EXTERN void pd_fft(float *buf, int npoints, int inverse); -EXTERN int ilog2(int n); - -EXTERN void mayer_fht(float *fz, int n); -EXTERN void mayer_fft(int n, float *real, float *imag); -EXTERN void mayer_ifft(int n, float *real, float *imag); -EXTERN void mayer_realfft(int n, float *real); -EXTERN void mayer_realifft(int n, float *real); - -EXTERN float *cos_table; -#define LOGCOSTABSIZE 9 -#define COSTABSIZE (1< + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include "m_pd.h" + +static t_class *list_sum_class; + +typedef struct _contents +{ + t_atom list[1024]; +} t_contents; + +typedef struct _list_sum +{ + t_object x_obj; + t_contents contents; + t_float total, highest, maxlen, wrap, reset, accum, remainder, firsttime; + t_outlet *sum, *length; /*, *remains, *diff;*/ +} t_list_sum; + +void list_sum_all(t_list_sum *x, t_symbol *s, int argc, t_atom *argv) +{ + argc = argc < 1024 ? argc : 1024; + int i, j, maxindex; + float current; + x->total = 0; + maxindex = argc > x->maxlen ? x->maxlen-1 : argc-1; + for(i=0;icontents.list[i], current); + if(i<=maxindex) + { + x->total += current; + } + else if (i > maxindex && x->wrap > x->maxlen && i < x->wrap) + { + j = i % (int)x->maxlen; + current = atom_getfloat(argv+j); + x->total += current; + } + } + x->highest = (float)argc-1; + outlet_float(x->length, (float)argc); + outlet_float(x->sum, x->total); +} + +void list_sum_set(t_list_sum *x, t_floatarg element, t_floatarg value) +{ + int i, j, indx, top; + float current; + if(element < 1024) + { + x->total = 0; + float f_indx = element-1; + indx = (int)f_indx; + x->highest = f_indx > x->highest ? f_indx : x->highest; + if(x->wrap <= x->maxlen) + { + top = x->highest >= x->maxlen ? x->maxlen : x->highest + 1; + } + else + { + top = x->highest >= x->wrap ? x->wrap : x->highest + 1; + } + SETFLOAT(&x->contents.list[indx], value); + for(i=0;imaxlen) + { + current = atom_getfloatarg(i, 1024, x->contents.list); + x->total += current; + } + else + { + j = i % (int)x->maxlen; + current = atom_getfloatarg(j, 1024, x->contents.list); + x->total += current; + } + } + outlet_float(x->length, x->highest+1); + outlet_float(x->sum, x->total); + } +} + +//next: list_sum_follow - clock based? +//void list_sum_follow(t_list_sum *x, t_symbol *s, t_floatarg index, t_floatarg value) +//{ +// int i = (int) index; +// if(index == (int)x->reset || x->firsttime == 1) +// { +// x->accum = 0; +// x->remainder = x->total; +// x->firsttime = 0; +// } +// float current = atom_getfloatarg(i, 1024, x->contents.list); +// float diff = value - current; +// x->accum += diff; +// outlet_float(x->diff, x->accum); +// x->remainder -=current; +// outlet_float(x->remains, x->remainder); +//} + + +void list_sum_clear(t_list_sum *x) +{ + int i; + for(i=0;i<1024;i++) + { + SETFLOAT(&x->contents.list[i], 0); + } + x->highest=0; + x->total=0; +} + +void list_sum_print(t_list_sum *x) +{ + int i; + float element; + for(i=0;i<=x->highest;i++) + { + element = atom_getfloatarg(i, 1024, x->contents.list); + post("%d ", element); + } +} + +void *list_sum_new(t_symbol *s, int argc, t_atom *argv) +{ + int i; + t_list_sum *x = (t_list_sum *)pd_new(list_sum_class); + x->total = 0; + x->highest = 0; + x->maxlen = 1024; + x->wrap = 1024; + x->reset = 16; + x->firsttime = 1; + for(i=0;i<1024;i++) + { + SETFLOAT(&x->contents.list[i], 0); + } + floatinlet_new(&x->x_obj, &x->maxlen); + floatinlet_new(&x->x_obj, &x->wrap); + // floatinlet_new(&x->x_obj, &x->reset); + x->sum = outlet_new(&x->x_obj, &s_float); + x->length = outlet_new(&x->x_obj, &s_float); + // x->remains = outlet_new(&x->x_obj, &s_float); + // x->diff = outlet_new(&x->x_obj, &s_float); + return (void *)x; +} + +void list_sum_setup(void) { + list_sum_class = class_new(gensym("list_sum"), + (t_newmethod)list_sum_new, + 0, sizeof(t_list_sum), + 0, A_DEFFLOAT, 0); + post("|<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>|"); + post("|<<>>|"); + post("|<<<<<<<<>>>>>>>>>|"); + + // class_addmethod(list_sum_class, (t_method)list_sum_follow, gensym("follow"), A_DEFFLOAT, A_DEFFLOAT, 0); + class_addmethod(list_sum_class, (t_method)list_sum_all, gensym("all"), A_GIMME, 0); + class_addmethod(list_sum_class, (t_method)list_sum_clear, gensym("clear"), A_DEFFLOAT, 0); + class_addmethod(list_sum_class, (t_method)list_sum_print, gensym("print"), A_DEFFLOAT, 0); + class_addmethod(list_sum_class, (t_method)list_sum_set, gensym("set"), A_DEFFLOAT, A_DEFFLOAT, 0); +} diff --git a/list_sum/list_sum-help.pd b/list_sum/list_sum-help.pd deleted file mode 100644 index 7259add..0000000 --- a/list_sum/list_sum-help.pd +++ /dev/null @@ -1,41 +0,0 @@ -#N canvas 0 0 707 528 10; -#X obj 84 255 list_sum; -#X floatatom 101 358 0 0 0 3 length - -; -#X floatatom 84 391 0 0 0 3 total - -; -#X msg 150 82 set 2 100; -#X msg 149 98 set 2 498; -#X msg 32 106 clear; -#X msg 149 121 set 5 777; -#X text 215 81 individual elements can be set; -#X text 206 286 list_sum; -#X text 205 327 Edward Kelly 2007; -#X msg 84 55 all 200.5 498 166.3 81.7 94.4; -#X text 84 36 all in the left inlet calculates the sum of its elements. -; -#X msg 173 145 3; -#X msg 173 162 9; -#X msg 211 162 4; -#X msg 211 179 8; -#X text 200 144 max length; -#X text 241 162 wrap value; -#X obj 300 116 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X obj 331 116 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X text 206 301 calculate the sum of elements in a list \, wrapping -the list.; -#X connect 0 0 2 0; -#X connect 0 1 1 0; -#X connect 3 0 0 0; -#X connect 4 0 0 0; -#X connect 5 0 0 0; -#X connect 6 0 0 0; -#X connect 10 0 0 0; -#X connect 12 0 0 1; -#X connect 13 0 0 1; -#X connect 14 0 0 2; -#X connect 15 0 0 2; -#X connect 18 0 13 0; -#X connect 18 0 14 0; -#X connect 19 0 12 0; -#X connect 19 0 15 0; diff --git a/list_sum/list_sum.c b/list_sum/list_sum.c deleted file mode 100644 index fd0d21d..0000000 --- a/list_sum/list_sum.c +++ /dev/null @@ -1,179 +0,0 @@ -/* list_sum - total sum of list values, with setting on each element independently - * Copyright (C) 2007 Edward Kelly - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "m_pd.h" - -static t_class *list_sum_class; - -typedef struct _contents -{ - t_atom list[1024]; -} t_contents; - -typedef struct _list_sum -{ - t_object x_obj; - t_contents contents; - t_float total, highest, maxlen, wrap, reset, accum, remainder, firsttime; - t_outlet *sum, *length; /*, *remains, *diff;*/ -} t_list_sum; - -void list_sum_all(t_list_sum *x, t_symbol *s, int argc, t_atom *argv) -{ - argc = argc < 1024 ? argc : 1024; - int i, j, maxindex; - float current; - x->total = 0; - maxindex = argc > x->maxlen ? x->maxlen-1 : argc-1; - for(i=0;icontents.list[i], current); - if(i<=maxindex) - { - x->total += current; - } - else if (i > maxindex && x->wrap > x->maxlen && i < x->wrap) - { - j = i % (int)x->maxlen; - current = atom_getfloat(argv+j); - x->total += current; - } - } - x->highest = (float)argc-1; - outlet_float(x->length, (float)argc); - outlet_float(x->sum, x->total); -} - -void list_sum_set(t_list_sum *x, t_floatarg element, t_floatarg value) -{ - int i, j, indx, top; - float current; - if(element < 1024) - { - x->total = 0; - float f_indx = element-1; - indx = (int)f_indx; - x->highest = f_indx > x->highest ? f_indx : x->highest; - if(x->wrap <= x->maxlen) - { - top = x->highest >= x->maxlen ? x->maxlen : x->highest + 1; - } - else - { - top = x->highest >= x->wrap ? x->wrap : x->highest + 1; - } - SETFLOAT(&x->contents.list[indx], value); - for(i=0;imaxlen) - { - current = atom_getfloatarg(i, 1024, x->contents.list); - x->total += current; - } - else - { - j = i % (int)x->maxlen; - current = atom_getfloatarg(j, 1024, x->contents.list); - x->total += current; - } - } - outlet_float(x->length, x->highest+1); - outlet_float(x->sum, x->total); - } -} - -//next: list_sum_follow - clock based? -//void list_sum_follow(t_list_sum *x, t_symbol *s, t_floatarg index, t_floatarg value) -//{ -// int i = (int) index; -// if(index == (int)x->reset || x->firsttime == 1) -// { -// x->accum = 0; -// x->remainder = x->total; -// x->firsttime = 0; -// } -// float current = atom_getfloatarg(i, 1024, x->contents.list); -// float diff = value - current; -// x->accum += diff; -// outlet_float(x->diff, x->accum); -// x->remainder -=current; -// outlet_float(x->remains, x->remainder); -//} - - -void list_sum_clear(t_list_sum *x) -{ - int i; - for(i=0;i<1024;i++) - { - SETFLOAT(&x->contents.list[i], 0); - } - x->highest=0; - x->total=0; -} - -void list_sum_print(t_list_sum *x) -{ - int i; - float element; - for(i=0;i<=x->highest;i++) - { - element = atom_getfloatarg(i, 1024, x->contents.list); - post("%d ", element); - } -} - -void *list_sum_new(t_symbol *s, int argc, t_atom *argv) -{ - int i; - t_list_sum *x = (t_list_sum *)pd_new(list_sum_class); - x->total = 0; - x->highest = 0; - x->maxlen = 1024; - x->wrap = 1024; - x->reset = 16; - x->firsttime = 1; - for(i=0;i<1024;i++) - { - SETFLOAT(&x->contents.list[i], 0); - } - floatinlet_new(&x->x_obj, &x->maxlen); - floatinlet_new(&x->x_obj, &x->wrap); - // floatinlet_new(&x->x_obj, &x->reset); - x->sum = outlet_new(&x->x_obj, &s_float); - x->length = outlet_new(&x->x_obj, &s_float); - // x->remains = outlet_new(&x->x_obj, &s_float); - // x->diff = outlet_new(&x->x_obj, &s_float); - return (void *)x; -} - -void list_sum_setup(void) { - list_sum_class = class_new(gensym("list_sum"), - (t_newmethod)list_sum_new, - 0, sizeof(t_list_sum), - 0, A_DEFFLOAT, 0); - post("|<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>|"); - post("|<<>>|"); - post("|<<<<<<<<>>>>>>>>>|"); - - // class_addmethod(list_sum_class, (t_method)list_sum_follow, gensym("follow"), A_DEFFLOAT, A_DEFFLOAT, 0); - class_addmethod(list_sum_class, (t_method)list_sum_all, gensym("all"), A_GIMME, 0); - class_addmethod(list_sum_class, (t_method)list_sum_clear, gensym("clear"), A_DEFFLOAT, 0); - class_addmethod(list_sum_class, (t_method)list_sum_print, gensym("print"), A_DEFFLOAT, 0); - class_addmethod(list_sum_class, (t_method)list_sum_set, gensym("set"), A_DEFFLOAT, A_DEFFLOAT, 0); -} diff --git a/list_sum/makefile b/list_sum/makefile deleted file mode 100644 index 2575b4e..0000000 --- a/list_sum/makefile +++ /dev/null @@ -1,105 +0,0 @@ -current: - echo make pd_linux, pd_nt, pd_irix5, pd_irix6 or pd_darwin, then make install - -clean: ; rm -f *.pd_* *.o - -# ----------------------- NT ----------------------- - -pd_nt: list_sum.dll - -INSTALL_PREFIX="C:\pd\extra" -EXT=dll -.SUFFIXES: .obj .dll - -PDNTCFLAGS = /W3 /WX /DNT /DPD /nologo -VC="D:\Program Files\Microsoft Visual Studio\Vc98" - -PDNTINCLUDE = /I. /I\tcl\include /I..\..\src /I$(VC)\include - -PDNTLDIR = $(VC)\lib -PDNTLIB = $(PDNTLDIR)\libc.lib \ - $(PDNTLDIR)\oldnames.lib \ - $(PDNTLDIR)\kernel32.lib \ - ..\..\bin\pd.lib - -.c.dll: - cl $(PDNTCFLAGS) $(PDNTINCLUDE) /c $*.c - link /dll /export:$*_setup $*.obj $(PDNTLIB) - -# ----------------------- IRIX 5.x ----------------------- - -pd_irix5: list_sum.pd_irix5 - -INSTALL_PREFIX=/usr/local -EXT=pd_irix5 -.SUFFIXES: .pd_irix5 - -SGICFLAGS5 = -o32 -DPD -DUNIX -DIRIX -O2 - -SGIINCLUDE = -I/usr/local/include - -.c.pd_irix5: - cc $(SGICFLAGS5) $(SGIINCLUDE) -o $*.o -c $*.c - ld -elf -shared -rdata_shared -o $*.pd_irix5 $*.o - rm $*.o - -# ----------------------- IRIX 5.x ----------------------- - -pd_irix6: list_sum.pd_irix6 - -INSTALL_PREFIX=/usr/local -EXT=pd_irix6 -.SUFFIXES: .pd_irix6 - -SGICFLAGS5 = -o32 -DPD -DUNIX -DIRIX -O2 - -SGIINCLUDE = -I/usr/local/include - -.c.pd_irix6: - cc $(SGICFLAGS5) $(SGIINCLUDE) -o $*.o -c $*.c - ld -elf -shared -rdata_shared -o $*.pd_irix6 $*.o - rm $*.o - -# ----------------------- LINUX i386 ----------------------- - -pd_linux: list_sum.pd_linux - -INSTALL_PREFIX=/usr/local -EXT=pd_linux -.SUFFIXES: .pd_linux - -LINUXCFLAGS = -DPD -O2 -funroll-loops -fomit-frame-pointer \ - -Wall -W -Wshadow -Wstrict-prototypes -Werror \ - -Wno-unused -Wno-parentheses -Wno-switch - -LINUXINCLUDE = -I/usr/local/include - -.c.pd_linux: - cc $(LINUXCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c - ld --export-dynamic -shared -o $*.pd_linux $*.o -lc -lm - strip --strip-unneeded $*.pd_linux - rm $*.o - -# ----------------------- Mac OSX ----------------------- - -pd_darwin: list_sum.pd_darwin - -INSTALL_PREFIX=/usr/local -EXT=pd_darwin -.SUFFIXES: .pd_darwin - -DARWINCFLAGS = -DPD -O2 -Wall -W -Wshadow -Wstrict-prototypes \ - -Wno-unused -Wno-parentheses -Wno-switch - -.c.pd_darwin: - cc $(DARWINCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c - cc -bundle -undefined suppress -flat_namespace -o $*.pd_darwin $*.o - rm -f $*.o - -# ---------------------------------------------- - -install:: - install -d $(INSTALL_PREFIX)/lib/pd/extra -# install -m 644 *.$(EXT) $(INSTALL_PREFIX)/lib/pd/externs - -install -m 644 list_sum.$(EXT) $(INSTALL_PREFIX)/lib/pd/extra - install -m 644 *.pd $(INSTALL_PREFIX)/lib/pd/doc/5.reference diff --git a/listmoses-help.pd b/listmoses-help.pd new file mode 100644 index 0000000..50451ab --- /dev/null +++ b/listmoses-help.pd @@ -0,0 +1,37 @@ +#N canvas 0 0 849 300 10; +#X obj 141 151 listmoses; +#X floatatom 287 137 5 0 0 0 - - -; +#X floatatom 324 137 5 0 0 0 - - -; +#X msg 287 120 60; +#X msg 324 120 500; +#X msg 141 60 10 20 50 100 200 500 1000 2000 5000; +#X obj 287 103 loadbang; +#X msg 104 35 550 360 10 40 400 2000 3000 30 250; +#X msg 160 103 1 2 3 4 5 6 7 8 9; +#X obj 91 186 print lowf; +#X obj 98 203 print midf; +#X obj 106 220 print highf; +#X obj 170 186 print lowa; +#X obj 177 203 print mida; +#X obj 185 220 print higha; +#X text 236 153 constraining boundaries; +#X text 274 172 listmoses splits two lists up according to the values +contained within the first list. When used with binline~ it can be +used to isolate particular frequency/amplitude lists where the frequencies +are constrained \, or where the amplitudes are constrained (when used +with _swap_).; +#X connect 0 0 9 0; +#X connect 0 1 10 0; +#X connect 0 2 11 0; +#X connect 0 3 12 0; +#X connect 0 4 13 0; +#X connect 0 5 14 0; +#X connect 1 0 0 2; +#X connect 2 0 0 3; +#X connect 3 0 1 0; +#X connect 4 0 2 0; +#X connect 5 0 0 0; +#X connect 6 0 3 0; +#X connect 6 0 4 0; +#X connect 7 0 0 0; +#X connect 8 0 0 1; diff --git a/listmoses.c b/listmoses.c new file mode 100644 index 0000000..8426540 --- /dev/null +++ b/listmoses.c @@ -0,0 +1,149 @@ +/* listmoses - separate a list according to its contents' values + * Copyright (C) 2005 Edward Kelly + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include "m_pd.h" + +static t_class *listmoses_class; + +typedef struct _listmoses +{ + t_object x_obj; + t_atom lowlist[1024]; + t_atom midlist[1024]; + t_atom highlist[1024]; + t_atom lowamps[1024]; + t_atom midamps[1024]; + t_atom highamps[1024]; + t_atom ampslist[1024]; + t_float lowsplit, highsplit; + t_int low_argc, mid_argc, high_argc; + t_outlet *low_list, *mid_list, *high_list, *low_buddy, *mid_buddy, *high_buddy; +} t_listmoses; + +void listmoses_list(t_listmoses *x, t_symbol *s, int argc, t_atom *argv) +{ + float temp; + if (x->highsplit < x->lowsplit) + { + temp = x->highsplit; + x->highsplit = x->lowsplit; + x->lowsplit = temp; + } + float current, curamps; + int i; + x->low_argc = 0; + x->mid_argc = 0; + x->high_argc = 0; + for (i=0; iampslist); + if (current < x->lowsplit) + { + SETFLOAT(&x->lowlist[x->low_argc], current); + SETFLOAT(&x->lowamps[x->low_argc], curamps); + x->low_argc++; + } + else if (current >= x->lowsplit && current < x->highsplit) + { + SETFLOAT(&x->midlist[x->mid_argc], current); + SETFLOAT(&x->midamps[x->mid_argc], curamps); + x->mid_argc++; + } + else + { + SETFLOAT(&x->highlist[x->high_argc], current); + SETFLOAT(&x->highamps[x->high_argc], curamps); + x->high_argc++; + } + } + outlet_list(x->high_buddy, gensym("list"), x->high_argc, x->highamps); + outlet_list(x->mid_buddy, gensym("list"), x->mid_argc, x->midamps); + outlet_list(x->low_buddy, gensym("list"), x->low_argc, x->lowamps); + outlet_list(x->high_list, gensym("list"), x->high_argc, x->highlist); + outlet_list(x->mid_list, gensym("list"), x->mid_argc, x->midlist); + outlet_list(x->low_list, gensym("list"), x->low_argc, x->lowlist); +} + +void listmoses_amps(t_listmoses *x, t_symbol *s, int argc, t_atom *argv) +{ + float curamp; + int i; + for (i=0; iampslist[i], curamp); + } +} + +void listmoses_bang(t_listmoses *x) +{ + outlet_list(x->high_buddy, gensym("list"), x->high_argc, x->highamps); + outlet_list(x->mid_buddy, gensym("list"), x->mid_argc, x->midamps); + outlet_list(x->low_buddy, gensym("list"), x->low_argc, x->lowamps); + outlet_list(x->high_list, gensym("list"), x->high_argc, x->highlist); + outlet_list(x->mid_list, gensym("list"), x->mid_argc, x->midlist); + outlet_list(x->low_list, gensym("list"), x->low_argc, x->lowlist); +} + +void *listmoses_new(t_symbol *s, int argc, t_atom *argv) +{ + t_listmoses *x = (t_listmoses *)pd_new(listmoses_class); + x->highsplit = 96; + x->lowsplit = 36; +/* switch(argc) + { + default: + case 2: + x->highsplit = atom_getfloat(argv+1); + //x->lowsplit = atom_getfloat(argv); + case 1: + //x->highsplit = atom_getfloat(argv); + x->lowsplit = atom_getfloat(argv); + break; + case 0: + } */ // I don't know why it doesn't work with args! + + x->low_argc = 0; + x->mid_argc = 0; + x->high_argc = 0; + + x->low_list = outlet_new(&x->x_obj, gensym("list")); + x->mid_list = outlet_new(&x->x_obj, gensym("list")); + x->high_list = outlet_new(&x->x_obj, gensym("list")); + x->low_buddy = outlet_new(&x->x_obj, gensym("list")); + x->mid_buddy = outlet_new(&x->x_obj, gensym("list")); + x->high_buddy = outlet_new(&x->x_obj, gensym("list")); + inlet_new(&x->x_obj, &x->x_obj.ob_pd, &s_list, gensym("amps")); + floatinlet_new(&x->x_obj, &x->lowsplit); + floatinlet_new(&x->x_obj, &x->highsplit); + return (void *)x; +} + +void listmoses_setup(void) { + listmoses_class = class_new(gensym("listmoses"), + (t_newmethod)listmoses_new, + 0, sizeof(t_listmoses), + 0, A_DEFFLOAT, 0); + post("|<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>|"); + post("|<>|"); + post("|<<<<<<<<<<<>>>>>>>>>>>|"); + + class_addbang(listmoses_class, listmoses_bang); + class_addlist(listmoses_class, listmoses_list); + class_addmethod(listmoses_class, (t_method)listmoses_amps, gensym("amps"), A_GIMME, 0); +} diff --git a/listmoses/help_listmoses.pd b/listmoses/help_listmoses.pd deleted file mode 100644 index 50451ab..0000000 --- a/listmoses/help_listmoses.pd +++ /dev/null @@ -1,37 +0,0 @@ -#N canvas 0 0 849 300 10; -#X obj 141 151 listmoses; -#X floatatom 287 137 5 0 0 0 - - -; -#X floatatom 324 137 5 0 0 0 - - -; -#X msg 287 120 60; -#X msg 324 120 500; -#X msg 141 60 10 20 50 100 200 500 1000 2000 5000; -#X obj 287 103 loadbang; -#X msg 104 35 550 360 10 40 400 2000 3000 30 250; -#X msg 160 103 1 2 3 4 5 6 7 8 9; -#X obj 91 186 print lowf; -#X obj 98 203 print midf; -#X obj 106 220 print highf; -#X obj 170 186 print lowa; -#X obj 177 203 print mida; -#X obj 185 220 print higha; -#X text 236 153 constraining boundaries; -#X text 274 172 listmoses splits two lists up according to the values -contained within the first list. When used with binline~ it can be -used to isolate particular frequency/amplitude lists where the frequencies -are constrained \, or where the amplitudes are constrained (when used -with _swap_).; -#X connect 0 0 9 0; -#X connect 0 1 10 0; -#X connect 0 2 11 0; -#X connect 0 3 12 0; -#X connect 0 4 13 0; -#X connect 0 5 14 0; -#X connect 1 0 0 2; -#X connect 2 0 0 3; -#X connect 3 0 1 0; -#X connect 4 0 2 0; -#X connect 5 0 0 0; -#X connect 6 0 3 0; -#X connect 6 0 4 0; -#X connect 7 0 0 0; -#X connect 8 0 0 1; diff --git a/listmoses/listmoses-help.pd b/listmoses/listmoses-help.pd deleted file mode 100644 index 50451ab..0000000 --- a/listmoses/listmoses-help.pd +++ /dev/null @@ -1,37 +0,0 @@ -#N canvas 0 0 849 300 10; -#X obj 141 151 listmoses; -#X floatatom 287 137 5 0 0 0 - - -; -#X floatatom 324 137 5 0 0 0 - - -; -#X msg 287 120 60; -#X msg 324 120 500; -#X msg 141 60 10 20 50 100 200 500 1000 2000 5000; -#X obj 287 103 loadbang; -#X msg 104 35 550 360 10 40 400 2000 3000 30 250; -#X msg 160 103 1 2 3 4 5 6 7 8 9; -#X obj 91 186 print lowf; -#X obj 98 203 print midf; -#X obj 106 220 print highf; -#X obj 170 186 print lowa; -#X obj 177 203 print mida; -#X obj 185 220 print higha; -#X text 236 153 constraining boundaries; -#X text 274 172 listmoses splits two lists up according to the values -contained within the first list. When used with binline~ it can be -used to isolate particular frequency/amplitude lists where the frequencies -are constrained \, or where the amplitudes are constrained (when used -with _swap_).; -#X connect 0 0 9 0; -#X connect 0 1 10 0; -#X connect 0 2 11 0; -#X connect 0 3 12 0; -#X connect 0 4 13 0; -#X connect 0 5 14 0; -#X connect 1 0 0 2; -#X connect 2 0 0 3; -#X connect 3 0 1 0; -#X connect 4 0 2 0; -#X connect 5 0 0 0; -#X connect 6 0 3 0; -#X connect 6 0 4 0; -#X connect 7 0 0 0; -#X connect 8 0 0 1; diff --git a/listmoses/listmoses.c b/listmoses/listmoses.c deleted file mode 100644 index 8426540..0000000 --- a/listmoses/listmoses.c +++ /dev/null @@ -1,149 +0,0 @@ -/* listmoses - separate a list according to its contents' values - * Copyright (C) 2005 Edward Kelly - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "m_pd.h" - -static t_class *listmoses_class; - -typedef struct _listmoses -{ - t_object x_obj; - t_atom lowlist[1024]; - t_atom midlist[1024]; - t_atom highlist[1024]; - t_atom lowamps[1024]; - t_atom midamps[1024]; - t_atom highamps[1024]; - t_atom ampslist[1024]; - t_float lowsplit, highsplit; - t_int low_argc, mid_argc, high_argc; - t_outlet *low_list, *mid_list, *high_list, *low_buddy, *mid_buddy, *high_buddy; -} t_listmoses; - -void listmoses_list(t_listmoses *x, t_symbol *s, int argc, t_atom *argv) -{ - float temp; - if (x->highsplit < x->lowsplit) - { - temp = x->highsplit; - x->highsplit = x->lowsplit; - x->lowsplit = temp; - } - float current, curamps; - int i; - x->low_argc = 0; - x->mid_argc = 0; - x->high_argc = 0; - for (i=0; iampslist); - if (current < x->lowsplit) - { - SETFLOAT(&x->lowlist[x->low_argc], current); - SETFLOAT(&x->lowamps[x->low_argc], curamps); - x->low_argc++; - } - else if (current >= x->lowsplit && current < x->highsplit) - { - SETFLOAT(&x->midlist[x->mid_argc], current); - SETFLOAT(&x->midamps[x->mid_argc], curamps); - x->mid_argc++; - } - else - { - SETFLOAT(&x->highlist[x->high_argc], current); - SETFLOAT(&x->highamps[x->high_argc], curamps); - x->high_argc++; - } - } - outlet_list(x->high_buddy, gensym("list"), x->high_argc, x->highamps); - outlet_list(x->mid_buddy, gensym("list"), x->mid_argc, x->midamps); - outlet_list(x->low_buddy, gensym("list"), x->low_argc, x->lowamps); - outlet_list(x->high_list, gensym("list"), x->high_argc, x->highlist); - outlet_list(x->mid_list, gensym("list"), x->mid_argc, x->midlist); - outlet_list(x->low_list, gensym("list"), x->low_argc, x->lowlist); -} - -void listmoses_amps(t_listmoses *x, t_symbol *s, int argc, t_atom *argv) -{ - float curamp; - int i; - for (i=0; iampslist[i], curamp); - } -} - -void listmoses_bang(t_listmoses *x) -{ - outlet_list(x->high_buddy, gensym("list"), x->high_argc, x->highamps); - outlet_list(x->mid_buddy, gensym("list"), x->mid_argc, x->midamps); - outlet_list(x->low_buddy, gensym("list"), x->low_argc, x->lowamps); - outlet_list(x->high_list, gensym("list"), x->high_argc, x->highlist); - outlet_list(x->mid_list, gensym("list"), x->mid_argc, x->midlist); - outlet_list(x->low_list, gensym("list"), x->low_argc, x->lowlist); -} - -void *listmoses_new(t_symbol *s, int argc, t_atom *argv) -{ - t_listmoses *x = (t_listmoses *)pd_new(listmoses_class); - x->highsplit = 96; - x->lowsplit = 36; -/* switch(argc) - { - default: - case 2: - x->highsplit = atom_getfloat(argv+1); - //x->lowsplit = atom_getfloat(argv); - case 1: - //x->highsplit = atom_getfloat(argv); - x->lowsplit = atom_getfloat(argv); - break; - case 0: - } */ // I don't know why it doesn't work with args! - - x->low_argc = 0; - x->mid_argc = 0; - x->high_argc = 0; - - x->low_list = outlet_new(&x->x_obj, gensym("list")); - x->mid_list = outlet_new(&x->x_obj, gensym("list")); - x->high_list = outlet_new(&x->x_obj, gensym("list")); - x->low_buddy = outlet_new(&x->x_obj, gensym("list")); - x->mid_buddy = outlet_new(&x->x_obj, gensym("list")); - x->high_buddy = outlet_new(&x->x_obj, gensym("list")); - inlet_new(&x->x_obj, &x->x_obj.ob_pd, &s_list, gensym("amps")); - floatinlet_new(&x->x_obj, &x->lowsplit); - floatinlet_new(&x->x_obj, &x->highsplit); - return (void *)x; -} - -void listmoses_setup(void) { - listmoses_class = class_new(gensym("listmoses"), - (t_newmethod)listmoses_new, - 0, sizeof(t_listmoses), - 0, A_DEFFLOAT, 0); - post("|<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>|"); - post("|<>|"); - post("|<<<<<<<<<<<>>>>>>>>>>>|"); - - class_addbang(listmoses_class, listmoses_bang); - class_addlist(listmoses_class, listmoses_list); - class_addmethod(listmoses_class, (t_method)listmoses_amps, gensym("amps"), A_GIMME, 0); -} diff --git a/listmoses/m_pd.h b/listmoses/m_pd.h deleted file mode 100644 index fc9d6ab..0000000 --- a/listmoses/m_pd.h +++ /dev/null @@ -1,635 +0,0 @@ -/* Copyright (c) 1997-1999 Miller Puckette. -* For information on usage and redistribution, and for a DISCLAIMER OF ALL -* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */ - -#ifndef __m_pd_h_ - -#if defined(_LANGUAGE_C_PLUS_PLUS) || defined(__cplusplus) -extern "C" { -#endif - -#define PD_MAJOR_VERSION 0 -#define PD_MINOR_VERSION 38 - -/* old name for "MSW" flag -- we have to take it for the sake of many old -"nmakefiles" for externs, which will define NT and not MSW */ -#if defined(NT) && !defined(MSW) -#define MSW -#endif - -#ifdef MSW -/* #pragma warning( disable : 4091 ) */ -#pragma warning( disable : 4305 ) /* uncast const double to float */ -#pragma warning( disable : 4244 ) /* uncast float/int conversion etc. */ -#pragma warning( disable : 4101 ) /* unused automatic variables */ -#endif /* MSW */ - - /* the external storage class is "extern" in UNIX; in MSW it's ugly. */ -#ifdef MSW -#ifdef PD_INTERNAL -#define EXTERN __declspec(dllexport) extern -#else -#define EXTERN __declspec(dllimport) extern -#endif /* PD_INTERNAL */ -#else -#define EXTERN extern -#endif /* MSW */ - - /* and depending on the compiler, hidden data structures are - declared differently: */ -#if defined( __GNUC__) || defined( __BORLANDC__ ) || defined( __MWERKS__ ) -#define EXTERN_STRUCT struct -#else -#define EXTERN_STRUCT extern struct -#endif - - -#if !defined(_SIZE_T) && !defined(_SIZE_T_) -#include /* just for size_t -- how lame! */ -#endif - -#define MAXPDSTRING 1000 /* use this for anything you want */ -#define MAXPDARG 5 /* max number of args we can typecheck today */ - -/* signed and unsigned integer types the size of a pointer: */ -/* GG: long is the size of a pointer */ -typedef long t_int; - -typedef float t_float; /* a floating-point number at most the same size */ -typedef float t_floatarg; /* floating-point type for function calls */ - -typedef struct _symbol -{ - char *s_name; - struct _class **s_thing; - struct _symbol *s_next; -} t_symbol; - -EXTERN_STRUCT _array; -#define t_array struct _array /* g_canvas.h */ - -/* pointers to glist and array elements go through a "stub" which sticks -around after the glist or array is freed. The stub itself is deleted when -both the glist/array is gone and the refcount is zero, ensuring that no -gpointers are pointing here. */ - -#define GP_NONE 0 /* the stub points nowhere (has been cut off) */ -#define GP_GLIST 1 /* the stub points to a glist element */ -#define GP_ARRAY 2 /* ... or array */ - -typedef struct _gstub -{ - union - { - struct _glist *gs_glist; /* glist we're in */ - struct _array *gs_array; /* array we're in */ - } gs_un; - int gs_which; /* GP_GLIST/GP_ARRAY */ - int gs_refcount; /* number of gpointers pointing here */ -} t_gstub; - -typedef struct _gpointer /* pointer to a gobj in a glist */ -{ - union - { - struct _scalar *gp_scalar; /* scalar we're in (if glist) */ - union word *gp_w; /* raw data (if array) */ - } gp_un; - int gp_valid; /* number which must match gpointee */ - t_gstub *gp_stub; /* stub which points to glist/array */ -} t_gpointer; - -typedef union word -{ - t_float w_float; - t_symbol *w_symbol; - t_gpointer *w_gpointer; - t_array *w_array; - struct _glist *w_list; - int w_index; -} t_word; - -typedef enum -{ - A_NULL, - A_FLOAT, - A_SYMBOL, - A_POINTER, - A_SEMI, - A_COMMA, - A_DEFFLOAT, - A_DEFSYM, - A_DOLLAR, - A_DOLLSYM, - A_GIMME, - A_CANT -} t_atomtype; - -#define A_DEFSYMBOL A_DEFSYM /* better name for this */ - -typedef struct _atom -{ - t_atomtype a_type; - union word a_w; -} t_atom; - -EXTERN_STRUCT _class; -#define t_class struct _class - -EXTERN_STRUCT _outlet; -#define t_outlet struct _outlet - -EXTERN_STRUCT _inlet; -#define t_inlet struct _inlet - -EXTERN_STRUCT _binbuf; -#define t_binbuf struct _binbuf - -EXTERN_STRUCT _clock; -#define t_clock struct _clock - -EXTERN_STRUCT _outconnect; -#define t_outconnect struct _outconnect - -EXTERN_STRUCT _glist; -#define t_glist struct _glist -#define t_canvas struct _glist /* LATER lose this */ - -typedef t_class *t_pd; /* pure datum: nothing but a class pointer */ - -typedef struct _gobj /* a graphical object */ -{ - t_pd g_pd; /* pure datum header (class) */ - struct _gobj *g_next; /* next in list */ -} t_gobj; - -typedef struct _scalar /* a graphical object holding data */ -{ - t_gobj sc_gobj; /* header for graphical object */ - t_symbol *sc_template; /* template name (LATER replace with pointer) */ - t_word sc_vec[1]; /* indeterminate-length array of words */ -} t_scalar; - -typedef struct _text /* patchable object - graphical, with text */ -{ - t_gobj te_g; /* header for graphical object */ - t_binbuf *te_binbuf; /* holder for the text */ - t_outlet *te_outlet; /* linked list of outlets */ - t_inlet *te_inlet; /* linked list of inlets */ - short te_xpix; /* x&y location (within the toplevel) */ - short te_ypix; - short te_width; /* requested width in chars, 0 if auto */ - unsigned int te_type:2; /* from defs below */ -} t_text; - -#define T_TEXT 0 /* just a textual comment */ -#define T_OBJECT 1 /* a MAX style patchable object */ -#define T_MESSAGE 2 /* a MAX stype message */ -#define T_ATOM 3 /* a cell to display a number or symbol */ - -#define te_pd te_g.g_pd - - /* t_object is synonym for t_text (LATER unify them) */ - -typedef struct _text t_object; - -#define ob_outlet te_outlet -#define ob_inlet te_inlet -#define ob_binbuf te_binbuf -#define ob_pd te_g.g_pd -#define ob_g te_g - -typedef void (*t_method)(void); -typedef void *(*t_newmethod)( void); -typedef void (*t_gotfn)(void *x, ...); - -/* ---------------- pre-defined objects and symbols --------------*/ -EXTERN t_pd pd_objectmaker; /* factory for creating "object" boxes */ -EXTERN t_pd pd_canvasmaker; /* factory for creating canvases */ -EXTERN t_symbol s_pointer; -EXTERN t_symbol s_float; -EXTERN t_symbol s_symbol; -EXTERN t_symbol s_bang; -EXTERN t_symbol s_list; -EXTERN t_symbol s_anything; -EXTERN t_symbol s_signal; -EXTERN t_symbol s__N; -EXTERN t_symbol s__X; -EXTERN t_symbol s_x; -EXTERN t_symbol s_y; -EXTERN t_symbol s_; - -/* --------- prototypes from the central message system ----------- */ -EXTERN void pd_typedmess(t_pd *x, t_symbol *s, int argc, t_atom *argv); -EXTERN void pd_forwardmess(t_pd *x, int argc, t_atom *argv); -EXTERN t_symbol *gensym(char *s); -EXTERN t_gotfn getfn(t_pd *x, t_symbol *s); -EXTERN t_gotfn zgetfn(t_pd *x, t_symbol *s); -EXTERN void nullfn(void); -EXTERN void pd_vmess(t_pd *x, t_symbol *s, char *fmt, ...); -#define mess0(x, s) ((*getfn((x), (s)))((x))) -#define mess1(x, s, a) ((*getfn((x), (s)))((x), (a))) -#define mess2(x, s, a,b) ((*getfn((x), (s)))((x), (a),(b))) -#define mess3(x, s, a,b,c) ((*getfn((x), (s)))((x), (a),(b),(c))) -#define mess4(x, s, a,b,c,d) ((*getfn((x), (s)))((x), (a),(b),(c),(d))) -#define mess5(x, s, a,b,c,d,e) ((*getfn((x), (s)))((x), (a),(b),(c),(d),(e))) -EXTERN void obj_list(t_object *x, t_symbol *s, int argc, t_atom *argv); -EXTERN t_pd *pd_newest(void); - -/* --------------- memory management -------------------- */ -EXTERN void *getbytes(size_t nbytes); -EXTERN void *getzbytes(size_t nbytes); -EXTERN void *copybytes(void *src, size_t nbytes); -EXTERN void freebytes(void *x, size_t nbytes); -EXTERN void *resizebytes(void *x, size_t oldsize, size_t newsize); - -/* -------------------- atoms ----------------------------- */ - -#define SETSEMI(atom) ((atom)->a_type = A_SEMI, (atom)->a_w.w_index = 0) -#define SETCOMMA(atom) ((atom)->a_type = A_COMMA, (atom)->a_w.w_index = 0) -#define SETPOINTER(atom, gp) ((atom)->a_type = A_POINTER, \ - (atom)->a_w.w_gpointer = (gp)) -#define SETFLOAT(atom, f) ((atom)->a_type = A_FLOAT, (atom)->a_w.w_float = (f)) -#define SETSYMBOL(atom, s) ((atom)->a_type = A_SYMBOL, \ - (atom)->a_w.w_symbol = (s)) -#define SETDOLLAR(atom, n) ((atom)->a_type = A_DOLLAR, \ - (atom)->a_w.w_index = (n)) -#define SETDOLLSYM(atom, s) ((atom)->a_type = A_DOLLSYM, \ - (atom)->a_w.w_symbol= (s)) - -EXTERN t_float atom_getfloat(t_atom *a); -EXTERN t_int atom_getint(t_atom *a); -EXTERN t_symbol *atom_getsymbol(t_atom *a); -EXTERN t_symbol *atom_gensym(t_atom *a); -EXTERN t_float atom_getfloatarg(int which, int argc, t_atom *argv); -EXTERN t_int atom_getintarg(int which, int argc, t_atom *argv); -EXTERN t_symbol *atom_getsymbolarg(int which, int argc, t_atom *argv); - -EXTERN void atom_string(t_atom *a, char *buf, unsigned int bufsize); - -/* ------------------ binbufs --------------- */ - -EXTERN t_binbuf *binbuf_new(void); -EXTERN void binbuf_free(t_binbuf *x); -EXTERN t_binbuf *binbuf_duplicate(t_binbuf *y); - -EXTERN void binbuf_text(t_binbuf *x, char *text, size_t size); -EXTERN void binbuf_gettext(t_binbuf *x, char **bufp, int *lengthp); -EXTERN void binbuf_clear(t_binbuf *x); -EXTERN void binbuf_add(t_binbuf *x, int argc, t_atom *argv); -EXTERN void binbuf_addv(t_binbuf *x, char *fmt, ...); -EXTERN void binbuf_addbinbuf(t_binbuf *x, t_binbuf *y); -EXTERN void binbuf_addsemi(t_binbuf *x); -EXTERN void binbuf_restore(t_binbuf *x, int argc, t_atom *argv); -EXTERN void binbuf_print(t_binbuf *x); -EXTERN int binbuf_getnatom(t_binbuf *x); -EXTERN t_atom *binbuf_getvec(t_binbuf *x); -EXTERN void binbuf_eval(t_binbuf *x, t_pd *target, int argc, t_atom *argv); -EXTERN int binbuf_read(t_binbuf *b, char *filename, char *dirname, - int crflag); -EXTERN int binbuf_read_via_path(t_binbuf *b, char *filename, char *dirname, - int crflag); -EXTERN int binbuf_write(t_binbuf *x, char *filename, char *dir, - int crflag); -EXTERN void binbuf_evalfile(t_symbol *name, t_symbol *dir); -EXTERN t_symbol *binbuf_realizedollsym(t_symbol *s, int ac, t_atom *av, - int tonew); - -/* ------------------ clocks --------------- */ - -EXTERN t_clock *clock_new(void *owner, t_method fn); -EXTERN void clock_set(t_clock *x, double systime); -EXTERN void clock_delay(t_clock *x, double delaytime); -EXTERN void clock_unset(t_clock *x); -EXTERN double clock_getlogicaltime(void); -EXTERN double clock_getsystime(void); /* OBSOLETE; use clock_getlogicaltime() */ -EXTERN double clock_gettimesince(double prevsystime); -EXTERN double clock_getsystimeafter(double delaytime); -EXTERN void clock_free(t_clock *x); - -/* ----------------- pure data ---------------- */ -EXTERN t_pd *pd_new(t_class *cls); -EXTERN void pd_free(t_pd *x); -EXTERN void pd_bind(t_pd *x, t_symbol *s); -EXTERN void pd_unbind(t_pd *x, t_symbol *s); -EXTERN t_pd *pd_findbyclass(t_symbol *s, t_class *c); -EXTERN void pd_pushsym(t_pd *x); -EXTERN void pd_popsym(t_pd *x); -EXTERN t_symbol *pd_getfilename(void); -EXTERN t_symbol *pd_getdirname(void); -EXTERN void pd_bang(t_pd *x); -EXTERN void pd_pointer(t_pd *x, t_gpointer *gp); -EXTERN void pd_float(t_pd *x, t_float f); -EXTERN void pd_symbol(t_pd *x, t_symbol *s); -EXTERN void pd_list(t_pd *x, t_symbol *s, int argc, t_atom *argv); -EXTERN void pd_anything(t_pd *x, t_symbol *s, int argc, t_atom *argv); -#define pd_class(x) (*(x)) - -/* ----------------- pointers ---------------- */ -EXTERN void gpointer_init(t_gpointer *gp); -EXTERN void gpointer_copy(const t_gpointer *gpfrom, t_gpointer *gpto); -EXTERN void gpointer_unset(t_gpointer *gp); -EXTERN int gpointer_check(const t_gpointer *gp, int headok); - -/* ----------------- patchable "objects" -------------- */ -EXTERN t_inlet *inlet_new(t_object *owner, t_pd *dest, t_symbol *s1, - t_symbol *s2); -EXTERN t_inlet *pointerinlet_new(t_object *owner, t_gpointer *gp); -EXTERN t_inlet *floatinlet_new(t_object *owner, t_float *fp); -EXTERN t_inlet *symbolinlet_new(t_object *owner, t_symbol **sp); -EXTERN void inlet_free(t_inlet *x); - -EXTERN t_outlet *outlet_new(t_object *owner, t_symbol *s); -EXTERN void outlet_bang(t_outlet *x); -EXTERN void outlet_pointer(t_outlet *x, t_gpointer *gp); -EXTERN void outlet_float(t_outlet *x, t_float f); -EXTERN void outlet_symbol(t_outlet *x, t_symbol *s); -EXTERN void outlet_list(t_outlet *x, t_symbol *s, int argc, t_atom *argv); -EXTERN void outlet_anything(t_outlet *x, t_symbol *s, int argc, t_atom *argv); -EXTERN t_symbol *outlet_getsymbol(t_outlet *x); -EXTERN void outlet_free(t_outlet *x); -EXTERN t_object *pd_checkobject(t_pd *x); - - -/* -------------------- canvases -------------- */ - -EXTERN void glob_setfilename(void *dummy, t_symbol *name, t_symbol *dir); - -EXTERN void canvas_setargs(int argc, t_atom *argv); -EXTERN void canvas_getargs(int *argcp, t_atom **argvp); -EXTERN t_symbol *canvas_getcurrentdir(void); -EXTERN t_glist *canvas_getcurrent(void); -EXTERN void canvas_makefilename(t_glist *c, char *file, - char *result,int resultsize); -EXTERN t_symbol *canvas_getdir(t_glist *x); -EXTERN int sys_fontwidth(int fontsize); -EXTERN int sys_fontheight(int fontsize); -EXTERN void canvas_dataproperties(t_glist *x, t_scalar *sc, t_binbuf *b); - -/* ---------------- widget behaviors ---------------------- */ - -EXTERN_STRUCT _widgetbehavior; -#define t_widgetbehavior struct _widgetbehavior - -EXTERN_STRUCT _parentwidgetbehavior; -#define t_parentwidgetbehavior struct _parentwidgetbehavior -EXTERN t_parentwidgetbehavior *pd_getparentwidget(t_pd *x); - -/* -------------------- classes -------------- */ - -#define CLASS_DEFAULT 0 /* flags for new classes below */ -#define CLASS_PD 1 -#define CLASS_GOBJ 2 -#define CLASS_PATCHABLE 3 -#define CLASS_NOINLET 8 - -#define CLASS_TYPEMASK 3 - - -EXTERN t_class *class_new(t_symbol *name, t_newmethod newmethod, - t_method freemethod, size_t size, int flags, t_atomtype arg1, ...); -EXTERN void class_addcreator(t_newmethod newmethod, t_symbol *s, - t_atomtype type1, ...); -EXTERN void class_addmethod(t_class *c, t_method fn, t_symbol *sel, - t_atomtype arg1, ...); -EXTERN void class_addbang(t_class *c, t_method fn); -EXTERN void class_addpointer(t_class *c, t_method fn); -EXTERN void class_doaddfloat(t_class *c, t_method fn); -EXTERN void class_addsymbol(t_class *c, t_method fn); -EXTERN void class_addlist(t_class *c, t_method fn); -EXTERN void class_addanything(t_class *c, t_method fn); -EXTERN void class_sethelpsymbol(t_class *c, t_symbol *s); -EXTERN void class_setwidget(t_class *c, t_widgetbehavior *w); -EXTERN void class_setparentwidget(t_class *c, t_parentwidgetbehavior *w); -EXTERN t_parentwidgetbehavior *class_parentwidget(t_class *c); -EXTERN char *class_getname(t_class *c); -EXTERN char *class_gethelpname(t_class *c); -EXTERN void class_setdrawcommand(t_class *c); -EXTERN int class_isdrawcommand(t_class *c); -EXTERN void class_domainsignalin(t_class *c, int onset); -#define CLASS_MAINSIGNALIN(c, type, field) \ - class_domainsignalin(c, (char *)(&((type *)0)->field) - (char *)0) - - /* prototype for functions to save Pd's to a binbuf */ -typedef void (*t_savefn)(t_gobj *x, t_binbuf *b); -EXTERN void class_setsavefn(t_class *c, t_savefn f); -EXTERN t_savefn class_getsavefn(t_class *c); - /* prototype for functions to open properties dialogs */ -typedef void (*t_propertiesfn)(t_gobj *x, struct _glist *glist); -EXTERN void class_setpropertiesfn(t_class *c, t_propertiesfn f); -EXTERN t_propertiesfn class_getpropertiesfn(t_class *c); - -#ifndef PD_CLASS_DEF -#define class_addbang(x, y) class_addbang((x), (t_method)(y)) -#define class_addpointer(x, y) class_addpointer((x), (t_method)(y)) -#define class_addfloat(x, y) class_doaddfloat((x), (t_method)(y)) -#define class_addsymbol(x, y) class_addsymbol((x), (t_method)(y)) -#define class_addlist(x, y) class_addlist((x), (t_method)(y)) -#define class_addanything(x, y) class_addanything((x), (t_method)(y)) -#endif - -/* ------------ printing --------------------------------- */ -EXTERN void post(const char *fmt, ...); -EXTERN void startpost(const char *fmt, ...); -EXTERN void poststring(const char *s); -EXTERN void postfloat(float f); -EXTERN void postatom(int argc, t_atom *argv); -EXTERN void endpost(void); -EXTERN void error(const char *fmt, ...); -EXTERN void bug(const char *fmt, ...); -EXTERN void pd_error(void *object, const char *fmt, ...); -EXTERN void sys_logerror(const char *object, const char *s); -EXTERN void sys_unixerror(const char *object); -EXTERN void sys_ouch(void); - - -/* ------------ system interface routines ------------------- */ -EXTERN int sys_isreadablefile(const char *name); -EXTERN void sys_bashfilename(const char *from, char *to); -EXTERN void sys_unbashfilename(const char *from, char *to); -EXTERN int open_via_path(const char *name, const char *ext, const char *dir, - char *dirresult, char **nameresult, unsigned int size, int bin); -EXTERN int sched_geteventno(void); -EXTERN double sys_getrealtime(void); -EXTERN int (*sys_idlehook)(void); /* hook to add idle time computation */ - - -/* ------------ threading ------------------- */ -/* T.Grill - see m_sched.c */ - -EXTERN void sys_lock(void); -EXTERN void sys_unlock(void); -EXTERN int sys_trylock(void); - - -/* --------------- signals ----------------------------------- */ - -typedef float t_sample; -#define MAXLOGSIG 32 -#define MAXSIGSIZE (1 << MAXLOGSIG) - -typedef struct _signal -{ - int s_n; /* number of points in the array */ - t_sample *s_vec; /* the array */ - float s_sr; /* sample rate */ - int s_refcount; /* number of times used */ - int s_isborrowed; /* whether we're going to borrow our array */ - struct _signal *s_borrowedfrom; /* signal to borrow it from */ - struct _signal *s_nextfree; /* next in freelist */ - struct _signal *s_nextused; /* next in used list */ -} t_signal; - - -typedef t_int *(*t_perfroutine)(t_int *args); - -EXTERN t_int *plus_perform(t_int *args); -EXTERN t_int *zero_perform(t_int *args); -EXTERN t_int *copy_perform(t_int *args); - -EXTERN void dsp_add_plus(t_sample *in1, t_sample *in2, t_sample *out, int n); -EXTERN void dsp_add_copy(t_sample *in, t_sample *out, int n); -EXTERN void dsp_add_scalarcopy(t_sample *in, t_sample *out, int n); -EXTERN void dsp_add_zero(t_sample *out, int n); - -EXTERN int sys_getblksize(void); -EXTERN float sys_getsr(void); -EXTERN int sys_get_inchannels(void); -EXTERN int sys_get_outchannels(void); - -EXTERN void dsp_add(t_perfroutine f, int n, ...); -EXTERN void dsp_addv(t_perfroutine f, int n, t_int *vec); -EXTERN void pd_fft(float *buf, int npoints, int inverse); -EXTERN int ilog2(int n); - -EXTERN void mayer_fht(float *fz, int n); -EXTERN void mayer_fft(int n, float *real, float *imag); -EXTERN void mayer_ifft(int n, float *real, float *imag); -EXTERN void mayer_realfft(int n, float *real); -EXTERN void mayer_realifft(int n, float *real); - -EXTERN float *cos_table; -#define LOGCOSTABSIZE 9 -#define COSTABSIZE (1< + * and Edward Kelly + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include "m_pd.h" +#include +#define MAXPOLES 100 + +static t_class *lpc_tilde_class; + +typedef struct _lpc_schur +{ + t_float *c_input, *c_residual; + /* just so we don't get clicks */ + t_atom x_last_parcors[MAXPOLES]; + t_atom x_parcors[MAXPOLES]; +} t_lpc_schur; + +typedef struct _lpc_tilde +{ + t_object x_obj; + t_float f_dummy; + t_float x_order, x_lastorder; + t_outlet *parcor_list; + t_lpc_schur x_schur; +} t_lpc_tilde; + +t_int *lpc_tilde_perform(t_int *w) +{ + t_lpc_tilde *x = (t_lpc_tilde *)(w[1]); + t_lpc_schur *schur = (t_lpc_schur *)(w[2]); + int n = (int)(w[3]); + t_float *in = schur->c_input; + t_float *res = schur->c_residual; +// t_float *parcors = schur->PARCORS; +// t_float *acf = schur->ACF; +// t_float *k = schur->K; +// t_float *p = schur->P; +// t_float *r = schur->r; + t_int ord = (int)x->x_order; + t_int l_ord = (int)x->x_lastorder; +// t_float parcors[ord]; + float acf[ord+1]; + float k[ord+1]; + float p[ord+1]; + float r[ord+1]; + float mem[ord]; + int i, j, bid, y, z; + int g, h; + float tmp, temp, sav, di; + float parcor_1; + for (i=0; ix_parcors[i],0); + mem[i] = 0.0; + } + for (j=0; j<=ord; j++) + { + acf[j] = 0; + for (i=j; ix_parcors[i],0); + } + } + for (i=0; i<=ord; i++) + { + p[i]=acf[i]; + if (i > 0 && i < ord) + { + k[ord+1-i] = acf[i]; + } + } + /* Schurr recursion */ + for (y=1; y<=ord; y++) + { + if (p[0] < fabs (p[1])) + { + for (i=y; i<=ord; i++) + { + r[i] = 0; + } + for (bid=1; bid <=ord; bid++) + { + SETFLOAT (&schur->x_parcors[bid-1],r[bid]); + // x->x_parcors[bid-1] = r[bid]; + } + } + r[y] = fabs(p[1])/p[0]; + + if (p[1] >0) + { + r[y] = -1.*r[y]; + } + if (y==ord) + { + for (bid=1; bid <=ord; bid++) + { + SETFLOAT (&schur->x_parcors[bid-1],r[bid]); + // x->x_parcors[bid-1] = r[bid]; + } + } + p[0] += p[1]*r[y]; + + for (z=1; z <=ord-y; z++) + { + p[z] = p[z+1] + k[ord+1-z]*r[y]; + k[ord+1-z] += p[z+1] * r[y]; + } + } + for (bid=1; bid <=ord; bid++) + { + SETFLOAT (&schur->x_parcors[bid-1],r[bid]); + } + parcor_1 = atom_getfloatarg(0,ord,schur->x_parcors); /* in order to avoid nil coefficients */ + if (parcor_1 > 1e-5 || parcor_1 < -1e-5) + { + outlet_list(x->parcor_list,gensym("list"),ord,schur->x_parcors); + + /* Analysis FIR lattice filtering */ + for (g=0; gx_parcors); + SETFLOAT (&schur->x_last_parcors[i],parcor); + x->x_lastorder = ord; + temp = mem[i] + parcor*di; + di += parcor*mem[i]; + mem[i] = sav; + sav = temp; + } + res[g] = di; + + } /* next g */ + } + else + { + outlet_list(x->parcor_list,gensym("list"),l_ord,schur->x_last_parcors); + for (g=0; gx_schur.c_input = sp[0]->s_vec; + x->x_schur.c_residual = sp[1]->s_vec; + dsp_add(lpc_tilde_perform, 3, x, &x->x_schur, sp[0]->s_n); + return (void *)x; +} + +void *lpc_tilde_new(t_floatarg f) +{ + t_lpc_tilde *x = (t_lpc_tilde *)pd_new(lpc_tilde_class); + x->x_order = f >= 1 ? (int)f : 5; + + floatinlet_new(&x->x_obj,&x->x_order); + outlet_new(&x->x_obj, &s_signal); + x->parcor_list = outlet_new(&x->x_obj, &s_list); + return (void *)x; +} + +void lpc_tilde_setup(void) +{ + lpc_tilde_class = class_new(gensym("lpc~"), (t_newmethod)lpc_tilde_new, 0, sizeof(t_lpc_tilde), CLASS_DEFAULT, A_DEFFLOAT, 0); + + post("\n. . Linear Predictive Coding. . . . . . . ."); + post(". . PARCOR coefficients from input. . . . ."); + post(". . by Nicolas Chetry . ."); + post(". & Edward Kelly ."); + + class_addmethod(lpc_tilde_class, (t_method)lpc_tilde_dsp, gensym("dsp"), 0); + + + CLASS_MAINSIGNALIN(lpc_tilde_class, t_lpc_tilde, f_dummy); +} diff --git a/lpc~/lpc_anal/lpc_test.pd b/lpc~/lpc_anal/lpc_test.pd deleted file mode 100644 index 7c9faea..0000000 --- a/lpc~/lpc_anal/lpc_test.pd +++ /dev/null @@ -1,53 +0,0 @@ -#N canvas 0 0 917 300 10; -#X obj 185 160 lpc~ 10; -#N canvas 0 0 450 300 playsound 0; -#X obj 68 74 inlet; -#X obj 163 76 inlet; -#X obj 163 93 openpanel; -#X msg 163 110 read -resize \$1 testfile; -#X obj 26 91 tabplay~ testfile; -#X obj 163 127 soundfiler; -#X obj 163 144 / 44.1; -#X obj 163 161 outlet; -#X obj 26 108 outlet~; -#X obj 99 149 outlet; -#X connect 0 0 4 0; -#X connect 0 0 9 0; -#X connect 1 0 2 0; -#X connect 2 0 3 0; -#X connect 3 0 5 0; -#X connect 4 0 8 0; -#X connect 5 0 6 0; -#X connect 6 0 7 0; -#X restore 185 119 pd playsound; -#N canvas 0 0 450 300 graph1 0; -#X array testfile 1.7683e+06 float 0; -#X coords 0 1 1.7683e+06 -1 200 140 1; -#X restore 516 19 graph; -#X obj 264 104 bng 15 250 50 0 empty empty load 0 -6 0 8 -262144 -1 --1; -#X obj 185 104 bng 15 250 50 0 empty empty play 0 -6 0 8 -262144 -1 --1; -#X obj 134 118 metro; -#X obj 134 103 tgl 15 0 empty empty loop 0 -6 0 8 -262144 -1 -1 0 1 -; -#X obj 185 230 dac~; -#X obj 329 37 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 -; -#X msg 329 68 \; pd dsp \$1; -#X floatatom 242 142 5 1 100 0 poles - -; -#X obj 184 183 lpreson~; -#X obj 185 206 hip~ 18; -#X connect 0 0 11 0; -#X connect 0 1 11 0; -#X connect 1 0 0 0; -#X connect 1 2 5 1; -#X connect 3 0 1 1; -#X connect 4 0 1 0; -#X connect 5 0 1 0; -#X connect 6 0 5 0; -#X connect 8 0 9 0; -#X connect 10 0 0 1; -#X connect 11 0 12 0; -#X connect 12 0 7 0; -#X connect 12 0 7 1; diff --git a/lpc~/lpc_anal/lpc~.c b/lpc~/lpc_anal/lpc~.c deleted file mode 100644 index ce6bdbb..0000000 --- a/lpc~/lpc_anal/lpc~.c +++ /dev/null @@ -1,203 +0,0 @@ -/* Linear Predictive Coding - PARCOR and residual generation - * Copyright (C) 2005 Nicolas Chetry - * and Edward Kelly - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "m_pd.h" -#include -#define MAXPOLES 100 - -static t_class *lpc_tilde_class; - -typedef struct _lpc_schur -{ - t_float *c_input, *c_residual; - /* just so we don't get clicks */ - t_atom x_last_parcors[MAXPOLES]; - t_atom x_parcors[MAXPOLES]; -} t_lpc_schur; - -typedef struct _lpc_tilde -{ - t_object x_obj; - t_float f_dummy; - t_float x_order, x_lastorder; - t_outlet *parcor_list; - t_lpc_schur x_schur; -} t_lpc_tilde; - -t_int *lpc_tilde_perform(t_int *w) -{ - t_lpc_tilde *x = (t_lpc_tilde *)(w[1]); - t_lpc_schur *schur = (t_lpc_schur *)(w[2]); - int n = (int)(w[3]); - t_float *in = schur->c_input; - t_float *res = schur->c_residual; -// t_float *parcors = schur->PARCORS; -// t_float *acf = schur->ACF; -// t_float *k = schur->K; -// t_float *p = schur->P; -// t_float *r = schur->r; - t_int ord = (int)x->x_order; - t_int l_ord = (int)x->x_lastorder; -// t_float parcors[ord]; - float acf[ord+1]; - float k[ord+1]; - float p[ord+1]; - float r[ord+1]; - float mem[ord]; - int i, j, bid, y, z; - int g, h; - float tmp, temp, sav, di; - float parcor_1; - for (i=0; ix_parcors[i],0); - mem[i] = 0.0; - } - for (j=0; j<=ord; j++) - { - acf[j] = 0; - for (i=j; ix_parcors[i],0); - } - } - for (i=0; i<=ord; i++) - { - p[i]=acf[i]; - if (i > 0 && i < ord) - { - k[ord+1-i] = acf[i]; - } - } - /* Schurr recursion */ - for (y=1; y<=ord; y++) - { - if (p[0] < fabs (p[1])) - { - for (i=y; i<=ord; i++) - { - r[i] = 0; - } - for (bid=1; bid <=ord; bid++) - { - SETFLOAT (&schur->x_parcors[bid-1],r[bid]); - // x->x_parcors[bid-1] = r[bid]; - } - } - r[y] = fabs(p[1])/p[0]; - - if (p[1] >0) - { - r[y] = -1.*r[y]; - } - if (y==ord) - { - for (bid=1; bid <=ord; bid++) - { - SETFLOAT (&schur->x_parcors[bid-1],r[bid]); - // x->x_parcors[bid-1] = r[bid]; - } - } - p[0] += p[1]*r[y]; - - for (z=1; z <=ord-y; z++) - { - p[z] = p[z+1] + k[ord+1-z]*r[y]; - k[ord+1-z] += p[z+1] * r[y]; - } - } - for (bid=1; bid <=ord; bid++) - { - SETFLOAT (&schur->x_parcors[bid-1],r[bid]); - } - parcor_1 = atom_getfloatarg(0,ord,schur->x_parcors); /* in order to avoid nil coefficients */ - if (parcor_1 > 1e-5 || parcor_1 < -1e-5) - { - outlet_list(x->parcor_list,gensym("list"),ord,schur->x_parcors); - - /* Analysis FIR lattice filtering */ - for (g=0; gx_parcors); - SETFLOAT (&schur->x_last_parcors[i],parcor); - x->x_lastorder = ord; - temp = mem[i] + parcor*di; - di += parcor*mem[i]; - mem[i] = sav; - sav = temp; - } - res[g] = di; - - } /* next g */ - } - else - { - outlet_list(x->parcor_list,gensym("list"),l_ord,schur->x_last_parcors); - for (g=0; gx_schur.c_input = sp[0]->s_vec; - x->x_schur.c_residual = sp[1]->s_vec; - dsp_add(lpc_tilde_perform, 3, x, &x->x_schur, sp[0]->s_n); - return (void *)x; -} - -void *lpc_tilde_new(t_floatarg f) -{ - t_lpc_tilde *x = (t_lpc_tilde *)pd_new(lpc_tilde_class); - x->x_order = f >= 1 ? (int)f : 5; - - floatinlet_new(&x->x_obj,&x->x_order); - outlet_new(&x->x_obj, &s_signal); - x->parcor_list = outlet_new(&x->x_obj, &s_list); - return (void *)x; -} - -void lpc_tilde_setup(void) -{ - lpc_tilde_class = class_new(gensym("lpc~"), (t_newmethod)lpc_tilde_new, 0, sizeof(t_lpc_tilde), CLASS_DEFAULT, A_DEFFLOAT, 0); - - post("\n. . Linear Predictive Coding. . . . . . . ."); - post(". . PARCOR coefficients from input. . . . ."); - post(". . by Nicolas Chetry . ."); - post(". & Edward Kelly ."); - - class_addmethod(lpc_tilde_class, (t_method)lpc_tilde_dsp, gensym("dsp"), 0); - - - CLASS_MAINSIGNALIN(lpc_tilde_class, t_lpc_tilde, f_dummy); -} diff --git a/lpc~/lpc_anal/makefile b/lpc~/lpc_anal/makefile deleted file mode 100644 index 5fe80c8..0000000 --- a/lpc~/lpc_anal/makefile +++ /dev/null @@ -1,105 +0,0 @@ -current: - echo make pd_linux, pd_nt, pd_irix5, pd_irix6 or pd_darwin, then make install - -clean: ; rm -f *.pd_* *.o - -# ----------------------- NT ----------------------- - -pd_nt: lpc~.dll - -INSTALL_PREFIX="C:\pd\extra" -EXT=dll -.SUFFIXES: .obj .dll - -PDNTCFLAGS = /W3 /WX /DNT /DPD /nologo -VC="D:\Program Files\Microsoft Visual Studio\Vc98" - -PDNTINCLUDE = /I. /I\tcl\include /I..\..\src /I$(VC)\include - -PDNTLDIR = $(VC)\lib -PDNTLIB = $(PDNTLDIR)\libc.lib \ - $(PDNTLDIR)\oldnames.lib \ - $(PDNTLDIR)\kernel32.lib \ - ..\..\bin\pd.lib - -.c.dll: - cl $(PDNTCFLAGS) $(PDNTINCLUDE) /c $*.c - link /dll /export:$*_setup $*.obj $(PDNTLIB) - -# ----------------------- IRIX 5.x ----------------------- - -pd_irix5: lpc~.pd_irix5 - -INSTALL_PREFIX=/usr/local -EXT=pd_irix5 -.SUFFIXES: .pd_irix5 - -SGICFLAGS5 = -o32 -DPD -DUNIX -DIRIX -O2 - -SGIINCLUDE = -I/usr/local/include - -.c.pd_irix5: - cc $(SGICFLAGS5) $(SGIINCLUDE) -o $*.o -c $*.c - ld -elf -shared -rdata_shared -o $*.pd_irix5 $*.o - rm $*.o - -# ----------------------- IRIX 5.x ----------------------- - -pd_irix6: lpc~.pd_irix6 - -INSTALL_PREFIX=/usr/local -EXT=pd_irix6 -.SUFFIXES: .pd_irix6 - -SGICFLAGS5 = -o32 -DPD -DUNIX -DIRIX -O2 - -SGIINCLUDE = -I/usr/local/include - -.c.pd_irix6: - cc $(SGICFLAGS5) $(SGIINCLUDE) -o $*.o -c $*.c - ld -elf -shared -rdata_shared -o $*.pd_irix6 $*.o - rm $*.o - -# ----------------------- LINUX i386 ----------------------- - -pd_linux: lpc~.pd_linux - -INSTALL_PREFIX=/usr/local -EXT=pd_linux -.SUFFIXES: .pd_linux - -LINUXCFLAGS = -DPD -O2 -funroll-loops -fomit-frame-pointer \ - -Wall -W -Wshadow -Wstrict-prototypes -Werror \ - -Wno-unused -Wno-parentheses -Wno-switch - -LINUXINCLUDE = -I/usr/local/include - -.c.pd_linux: - cc $(LINUXCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c - ld --export-dynamic -shared -o $*.pd_linux $*.o -lc -lm - strip --strip-unneeded $*.pd_linux - rm $*.o - -# ----------------------- Mac OSX ----------------------- - -pd_darwin: lpc~.pd_darwin - -INSTALL_PREFIX=/usr/local -EXT=pd_darwin -.SUFFIXES: .pd_darwin - -DARWINCFLAGS = -DPD -O2 -Wall -W -Wshadow -Wstrict-prototypes \ - -Wno-unused -Wno-parentheses -Wno-switch - -.c.pd_darwin: - cc $(DARWINCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c - cc -bundle -undefined suppress -flat_namespace -o $*.pd_darwin $*.o - rm -f $*.o - -# ---------------------------------------------- - -install:: - install -d $(INSTALL_PREFIX)/lib/pd/extra -# install -m 644 *.$(EXT) $(INSTALL_PREFIX)/lib/pd/externs - -install -m 644 lpc~.$(EXT) $(INSTALL_PREFIX)/lib/pd/extra - install -m 644 *.pd $(INSTALL_PREFIX)/lib/pd/doc/5.reference diff --git a/lpc~/lpc_filter/beauty.wav b/lpc~/lpc_filter/beauty.wav deleted file mode 100644 index 689b25c..0000000 Binary files a/lpc~/lpc_filter/beauty.wav and /dev/null differ diff --git a/lpc~/lpc_filter/drummach.wav b/lpc~/lpc_filter/drummach.wav deleted file mode 100644 index cf8cd55..0000000 Binary files a/lpc~/lpc_filter/drummach.wav and /dev/null differ diff --git a/lpc~/lpc_filter/lpc-cross-synthesis.pd b/lpc~/lpc_filter/lpc-cross-synthesis.pd deleted file mode 100644 index e49ea4a..0000000 --- a/lpc~/lpc_filter/lpc-cross-synthesis.pd +++ /dev/null @@ -1,327 +0,0 @@ -#N canvas 87 183 604 300 10; -#X obj 247 210 hsl 121 15 100 10000 0 1 empty empty filter-f -2 -6 -0 8 -225280 -62784 -90133 3409 1; -#X floatatom 244 225 0 0 0 0 - - -; -#X obj 91 218 dac~; -#N canvas 0 0 453 387 lpc-resynth 0; -#X obj 27 199 lpreson~; -#X obj 28 244 hip~ 18; -#X obj 27 49 inlet~; -#X obj 145 64 inlet; -#X obj 202 34 inlet; -#X obj 99 118 inlet~; -#X obj 28 318 outlet~; -#X obj 27 94 hip~ 1000; -#X obj 99 135 hip~ 1000; -#X obj 27 216 lop~ 1000; -#X obj 316 54 inlet; -#X obj 27 111 lpc~ 32; -#X obj 27 152 *~ 1; -#X obj 99 152 *~ 0; -#X obj 202 51 sel 0 1; -#X text 164 280 filter with larger block sizes; -#X text 163 267 lpc~ produces a less glitchy; -#X msg 202 68 1; -#X msg 202 85 0; -#X msg 224 85 1; -#X msg 224 68 0; -#X text 294 23 pre-emphasis/; -#X text 275 36 de-emphasis frequency; -#X text 160 18 select excitation; -#X text 146 48 order; -#X obj 181 248 block~ 1024 2 1; -#X obj 28 284 *~; -#X obj 142 221 tabreceive~ hanning; -#X text 151 296 overlapping windows are essential; -#X text 151 308 otherwise clicks will result; -#X connect 0 0 9 0; -#X connect 1 0 26 0; -#X connect 2 0 7 0; -#X connect 3 0 11 1; -#X connect 4 0 14 0; -#X connect 5 0 8 0; -#X connect 7 0 11 0; -#X connect 8 0 13 0; -#X connect 9 0 1 0; -#X connect 10 0 9 1; -#X connect 10 0 7 1; -#X connect 10 0 8 1; -#X connect 11 0 12 0; -#X connect 11 1 0 0; -#X connect 12 0 0 0; -#X connect 13 0 0 0; -#X connect 14 0 17 0; -#X connect 14 0 18 0; -#X connect 14 1 20 0; -#X connect 14 1 19 0; -#X connect 17 0 12 1; -#X connect 18 0 13 1; -#X connect 19 0 13 1; -#X connect 20 0 12 1; -#X connect 26 0 6 0; -#X connect 27 0 26 1; -#X restore 92 184 pd lpc-resynth; -#N canvas 0 0 450 300 graph2 0; -#X array voice 88800 float 0; -#X coords 0 1 88799 -1 100 70 1; -#X restore 358 49 graph; -#N canvas 0 0 450 300 graph2 0; -#X array sample 105840 float 0; -#X coords 0 1 105839 -1 100 70 1; -#X restore 358 121 graph; -#X obj 75 55 bng 15 250 50 0 empty empty load-voice -38 -6 0 8 -262144 --1 -1; -#X obj 111 55 bng 15 250 50 0 empty empty sample -10 -6 0 8 -262144 --1 -1; -#N canvas 0 0 450 300 play 0; -#X obj 82 157 tabplay~ voice; -#X obj 237 157 tabplay~ sample; -#X obj 291 71 inlet; -#X obj 350 71 inlet; -#X obj 52 66 inlet; -#X obj 111 66 inlet; -#X obj 190 140 metro; -#X obj 48 140 metro; -#X obj 84 196 outlet~; -#X obj 238 269 outlet~; -#X obj 410 80 inlet; -#X obj 237 235 *~ 0; -#X connect 0 0 8 0; -#X connect 1 0 11 0; -#X connect 2 0 7 1; -#X connect 3 0 6 1; -#X connect 4 0 0 0; -#X connect 4 0 1 0; -#X connect 5 0 7 0; -#X connect 5 0 6 0; -#X connect 6 0 1 0; -#X connect 7 0 0 0; -#X connect 10 0 11 1; -#X connect 11 0 9 0; -#X restore 73 146 pd play; -#X obj 22 125 bng 15 250 50 0 empty empty play 0 -6 0 8 -262144 -1 --1; -#X floatatom 195 97 5 1 100 2 order - -; -#X obj 210 142 tgl 15 1 empty empty select-excitation -25 -6 0 8 -262144 --1 -1 1 1; -#X obj 52 111 tgl 15 0 empty empty loop 0 -6 0 8 -262144 -1 -1 1 1 -; -#N canvas 0 0 450 300 load 0; -#X obj 77 135 soundfiler; -#X obj 77 169 outlet; -#X obj 161 186 soundfiler; -#X obj 161 220 outlet; -#X msg 161 169 read -resize drummach.wav sample; -#X obj 161 101 loadbang; -#X obj 80 84 openpanel; -#X obj 80 27 inlet; -#X msg 8 101 read -resize \$1 voice; -#X msg 218 152 read -resize \$1 sample; -#X obj 77 152 / 44.1; -#X obj 114 47 samplerate~; -#X obj 114 64 / 1000; -#X obj 218 135 openpanel; -#X obj 218 25 inlet; -#X obj 161 203 / 44.1; -#X msg 77 118 read -resize beauty.wav voice; -#X connect 0 0 10 0; -#X connect 2 0 15 0; -#X connect 4 0 2 0; -#X connect 5 0 16 0; -#X connect 5 0 4 0; -#X connect 6 0 8 0; -#X connect 7 0 6 0; -#X connect 7 0 11 0; -#X connect 8 0 0 0; -#X connect 9 0 2 0; -#X connect 10 0 1 0; -#X connect 11 0 12 0; -#X connect 12 0 10 1; -#X connect 12 0 15 1; -#X connect 13 0 9 0; -#X connect 14 0 13 0; -#X connect 14 0 11 0; -#X connect 15 0 3 0; -#X connect 16 0 0 0; -#X restore 75 70 pd load; -#X text 192 70 filter; -#X msg 244 80 32; -#X obj 244 63 loadbang; -#X floatatom 138 84 5 0 100 0 - - -; -#X obj 138 98 dbtorms; -#X text 144 52 V; -#X text 144 45 |; -#X text 144 37 |; -#X text 144 30 |; -#X text 315 224 pre-emphasis/; -#X text 296 237 de-emphasis frequency; -#X msg 222 178 2500; -#X obj 216 161 loadbang; -#X text 36 18 sample level should be lower than for a regular filter -; -#X text 37 4 LPC CROSS SYNTHESIS; -#X text 128 262 (C) Edward Kelly and Nicolas Chetry 2005; -#X msg 138 67 88; -#X msg 472 52 \; pd dsp \$1; -#X obj 472 23 tgl 15 0 empty empty audio_on 0 -6 0 8 -262144 -1 -1 -0 1; -#N canvas 0 0 450 300 graph11 0; -#X array hanning 1024 float 1; -#A 0 0 9.41236e-06 3.76491e-05 8.47091e-05 0.000150591 0.000235291 -0.000338808 0.000461136 0.000602272 0.00076221 0.000940944 0.00113847 -0.00135477 0.00158985 0.00184369 0.00211629 0.00240764 0.00271771 0.00304651 -0.00339403 0.00376023 0.00414512 0.00454868 0.00497089 0.00541175 0.00587122 -0.00634929 0.00684595 0.00736118 0.00789495 0.00844726 0.00901807 0.00960736 -0.0102151 0.0108413 0.0114859 0.0121489 0.0128303 0.01353 0.0142481 -0.0149844 0.015739 0.0165118 0.0173028 0.018112 0.0189393 0.0197847 -0.0206483 0.0215298 0.0224294 0.023347 0.0242825 0.0252359 0.0262072 -0.0271963 0.0282033 0.029228 0.0302704 0.0313305 0.0324082 0.0335036 -0.0346165 0.035747 0.0368949 0.0380602 0.039243 0.0404431 0.0416605 -0.0428951 0.044147 0.045416 0.0467021 0.0480054 0.0493256 0.0506628 -0.0520169 0.0533879 0.0547756 0.0561802 0.0576015 0.0590394 0.0604939 -0.061965 0.0634525 0.0649565 0.0664769 0.0680136 0.0695665 0.0711357 -0.072721 0.0743224 0.0759398 0.0775732 0.0792225 0.0808876 0.0825686 -0.0842652 0.0859775 0.0877054 0.0894487 0.0912076 0.0929818 0.0947714 -0.0965762 0.0983962 0.100231 0.102082 0.103947 0.105827 0.107722 0.109631 -0.111556 0.113495 0.115448 0.117416 0.119399 0.121396 0.123407 0.125432 -0.127471 0.129524 0.131592 0.133673 0.135768 0.137876 0.139999 0.142135 -0.144284 0.146447 0.148623 0.150812 0.153014 0.15523 0.157458 0.159699 -0.161954 0.164221 0.1665 0.168792 0.171097 0.173414 0.175743 0.178084 -0.180438 0.182803 0.185181 0.18757 0.189971 0.192384 0.194809 0.197244 -0.199692 0.20215 0.20462 0.207101 0.209593 0.212096 0.21461 0.217134 -0.219669 0.222215 0.224771 0.227338 0.229914 0.232501 0.235098 0.237705 -0.240322 0.242949 0.245585 0.248231 0.250886 0.253551 0.256225 0.258908 -0.2616 0.264302 0.267012 0.269731 0.272458 0.275194 0.277939 0.280692 -0.283453 0.286222 0.289 0.291785 0.294578 0.297379 0.300188 0.303004 -0.305827 0.308658 0.311496 0.314341 0.317194 0.320052 0.322918 0.325791 -0.32867 0.331555 0.334447 0.337345 0.340249 0.343159 0.346075 0.348997 -0.351925 0.354858 0.357796 0.36074 0.363689 0.366644 0.369603 0.372567 -0.375536 0.37851 0.381488 0.384471 0.387458 0.390449 0.393445 0.396444 -0.399448 0.402455 0.405466 0.40848 0.411498 0.414519 0.417543 0.420571 -0.423601 0.426635 0.429671 0.43271 0.435751 0.438795 0.441841 0.444889 -0.447939 0.450991 0.454046 0.457101 0.460159 0.463218 0.466278 0.46934 -0.472402 0.475466 0.478531 0.481596 0.484663 0.487729 0.490797 0.493864 -0.496932 0.5 0.503068 0.506136 0.509203 0.512271 0.515337 0.518404 -0.521469 0.524534 0.527598 0.53066 0.533722 0.536782 0.539841 0.542899 -0.545954 0.549009 0.552061 0.555111 0.558159 0.561205 0.564249 0.56729 -0.570329 0.573365 0.576399 0.579429 0.582457 0.585481 0.588502 0.59152 -0.594534 0.597545 0.600552 0.603556 0.606555 0.609551 0.612542 0.615529 -0.618512 0.62149 0.624464 0.627433 0.630397 0.633356 0.636311 0.63926 -0.642204 0.645142 0.648075 0.651003 0.653925 0.656841 0.659751 0.662655 -0.665553 0.668445 0.67133 0.674209 0.677082 0.679947 0.682806 0.685659 -0.688504 0.691342 0.694173 0.696996 0.699812 0.702621 0.705422 0.708215 -0.711 0.713778 0.716547 0.719308 0.722061 0.724806 0.727542 0.730269 -0.732988 0.735698 0.7384 0.741092 0.743775 0.746449 0.749114 0.751769 -0.754415 0.757051 0.759678 0.762295 0.764902 0.767499 0.770086 0.772663 -0.775229 0.777785 0.780331 0.782866 0.78539 0.787904 0.790407 0.792899 -0.79538 0.79785 0.800308 0.802756 0.805191 0.807616 0.810029 0.81243 -0.814819 0.817197 0.819562 0.821916 0.824257 0.826586 0.828903 0.831208 -0.8335 0.835779 0.838046 0.840301 0.842542 0.84477 0.846986 0.849188 -0.851377 0.853553 0.855716 0.857865 0.860001 0.862124 0.864232 0.866327 -0.868408 0.870476 0.872529 0.874568 0.876593 0.878604 0.880601 0.882584 -0.884552 0.886505 0.888444 0.890369 0.892278 0.894173 0.896053 0.897918 -0.899769 0.901604 0.903424 0.905229 0.907018 0.908792 0.910551 0.912295 -0.914023 0.915735 0.917431 0.919112 0.920777 0.922427 0.92406 0.925678 -0.927279 0.928864 0.930433 0.931986 0.933523 0.935044 0.936548 0.938035 -0.939506 0.940961 0.942399 0.94382 0.945224 0.946612 0.947983 0.949337 -0.950674 0.951995 0.953298 0.954584 0.955853 0.957105 0.95834 0.959557 -0.960757 0.96194 0.963105 0.964253 0.965383 0.966496 0.967592 0.96867 -0.96973 0.970772 0.971797 0.972804 0.973793 0.974764 0.975717 0.976653 -0.977571 0.97847 0.979352 0.980215 0.981061 0.981888 0.982697 0.983488 -0.984261 0.985016 0.985752 0.98647 0.98717 0.987851 0.988514 0.989159 -0.989785 0.990393 0.990982 0.991553 0.992105 0.992639 0.993154 0.993651 -0.994129 0.994588 0.995029 0.995451 0.995855 0.99624 0.996606 0.996953 -0.997282 0.997592 0.997884 0.998156 0.99841 0.998645 0.998862 0.999059 -0.999238 0.999398 0.999539 0.999661 0.999765 0.999849 0.999915 0.999962 -0.999991 1 0.999991 0.999962 0.999915 0.999849 0.999765 0.999661 0.999539 -0.999398 0.999238 0.999059 0.998862 0.998645 0.99841 0.998156 0.997884 -0.997592 0.997282 0.996953 0.996606 0.99624 0.995855 0.995451 0.995029 -0.994588 0.994129 0.993651 0.993154 0.992639 0.992105 0.991553 0.990982 -0.990393 0.989785 0.989159 0.988514 0.987851 0.98717 0.98647 0.985752 -0.985016 0.984261 0.983488 0.982697 0.981888 0.981061 0.980215 0.979352 -0.97847 0.977571 0.976653 0.975717 0.974764 0.973793 0.972804 0.971797 -0.970772 0.96973 0.96867 0.967592 0.966496 0.965383 0.964253 0.963105 -0.96194 0.960757 0.959557 0.95834 0.957105 0.955853 0.954584 0.953298 -0.951995 0.950674 0.949337 0.947983 0.946612 0.945224 0.94382 0.942399 -0.940961 0.939506 0.938035 0.936548 0.935044 0.933523 0.931986 0.930433 -0.928864 0.927279 0.925678 0.92406 0.922427 0.920777 0.919112 0.917431 -0.915735 0.914023 0.912295 0.910551 0.908792 0.907018 0.905229 0.903424 -0.901604 0.899769 0.897918 0.896053 0.894173 0.892278 0.890369 0.888444 -0.886505 0.884552 0.882584 0.880601 0.878604 0.876593 0.874568 0.872529 -0.870476 0.868408 0.866327 0.864232 0.862124 0.860001 0.857865 0.855716 -0.853553 0.851377 0.849188 0.846986 0.84477 0.842542 0.840301 0.838046 -0.835779 0.8335 0.831208 0.828903 0.826586 0.824257 0.821916 0.819562 -0.817197 0.814819 0.81243 0.810029 0.807616 0.805191 0.802756 0.800308 -0.79785 0.79538 0.792899 0.790407 0.787904 0.78539 0.782866 0.780331 -0.777785 0.775229 0.772663 0.770086 0.767499 0.764902 0.762295 0.759678 -0.757051 0.754415 0.751769 0.749114 0.746449 0.743775 0.741092 0.7384 -0.735698 0.732988 0.730269 0.727542 0.724806 0.722061 0.719308 0.716547 -0.713778 0.711 0.708215 0.705422 0.702621 0.699812 0.696996 0.694173 -0.691342 0.688504 0.685659 0.682806 0.679947 0.677082 0.674209 0.67133 -0.668445 0.665553 0.662655 0.659751 0.656841 0.653925 0.651003 0.648075 -0.645142 0.642204 0.63926 0.636311 0.633356 0.630397 0.627433 0.624464 -0.62149 0.618512 0.615529 0.612542 0.609551 0.606555 0.603556 0.600552 -0.597545 0.594534 0.59152 0.588502 0.585481 0.582457 0.579429 0.576399 -0.573365 0.570329 0.56729 0.564249 0.561205 0.558159 0.555111 0.552061 -0.549009 0.545954 0.542899 0.539841 0.536782 0.533722 0.53066 0.527598 -0.524534 0.521469 0.518404 0.515337 0.512271 0.509203 0.506136 0.503068 -0.5 0.496932 0.493864 0.490797 0.487729 0.484663 0.481596 0.478531 -0.475466 0.472402 0.46934 0.466278 0.463218 0.460159 0.457101 0.454046 -0.450991 0.447939 0.444889 0.441841 0.438795 0.435751 0.43271 0.429671 -0.426635 0.423601 0.420571 0.417543 0.414519 0.411498 0.40848 0.405466 -0.402455 0.399448 0.396444 0.393445 0.390449 0.387458 0.384471 0.381488 -0.37851 0.375536 0.372567 0.369603 0.366644 0.363689 0.36074 0.357796 -0.354858 0.351925 0.348997 0.346075 0.343159 0.340249 0.337345 0.334447 -0.331555 0.32867 0.325791 0.322918 0.320052 0.317194 0.314341 0.311496 -0.308658 0.305827 0.303004 0.300188 0.297379 0.294578 0.291785 0.289 -0.286222 0.283453 0.280692 0.277939 0.275194 0.272458 0.269731 0.267012 -0.264302 0.2616 0.258908 0.256225 0.253551 0.250886 0.248231 0.245585 -0.242949 0.240322 0.237705 0.235098 0.232501 0.229914 0.227338 0.224771 -0.222215 0.219669 0.217134 0.21461 0.212096 0.209593 0.207101 0.20462 -0.20215 0.199692 0.197244 0.194809 0.192384 0.189971 0.18757 0.185181 -0.182803 0.180438 0.178084 0.175743 0.173414 0.171097 0.168792 0.1665 -0.164221 0.161954 0.159699 0.157458 0.15523 0.153014 0.150812 0.148623 -0.146447 0.144284 0.142135 0.139999 0.137876 0.135768 0.133673 0.131592 -0.129524 0.127471 0.125432 0.123407 0.121396 0.119399 0.117416 0.115448 -0.113495 0.111556 0.109631 0.107722 0.105827 0.103947 0.102082 0.100231 -0.0983962 0.0965762 0.0947714 0.0929818 0.0912076 0.0894487 0.0877054 -0.0859775 0.0842652 0.0825686 0.0808876 0.0792225 0.0775732 0.0759398 -0.0743224 0.072721 0.0711357 0.0695665 0.0680136 0.0664769 0.0649565 -0.0634525 0.061965 0.0604939 0.0590394 0.0576015 0.0561802 0.0547756 -0.0533879 0.0520169 0.0506628 0.0493256 0.0480054 0.0467021 0.045416 -0.044147 0.0428951 0.0416605 0.0404431 0.039243 0.0380602 0.0368949 -0.035747 0.0346165 0.0335036 0.0324082 0.0313305 0.0302704 0.029228 -0.0282033 0.0271963 0.0262072 0.0252359 0.0242825 0.023347 0.0224294 -0.0215298 0.0206483 0.0197847 0.0189393 0.018112 0.0173028 0.0165118 -0.015739 0.0149844 0.0142481 0.01353 0.0128303 0.0121489 0.0114859 -0.0108413 0.0102151 0.00960736 0.00901807 0.00844726 0.00789495 0.00736118 -0.00684595 0.00634929 0.00587122; -#A 1000 0.00541175 0.00497089 0.00454868 0.00414512 0.00376023 0.00339403 -0.00304651 0.00271771 0.00240764 0.00211629 0.00184369 0.00158985 0.00135477 -0.00113847 0.000940944 0.00076221 0.000602272 0.000461136 0.000338808 -0.000235291 0.000150591 8.47091e-05 3.76491e-05 9.41236e-06; -#X coords 0 1 1023 0 100 70 1; -#X restore 478 154 graph; -#X connect 0 0 1 0; -#X connect 1 0 3 4; -#X connect 3 0 2 0; -#X connect 3 0 2 1; -#X connect 6 0 13 0; -#X connect 7 0 13 1; -#X connect 8 0 3 0; -#X connect 8 1 3 1; -#X connect 9 0 8 0; -#X connect 10 0 3 2; -#X connect 11 0 3 3; -#X connect 12 0 8 1; -#X connect 13 0 8 2; -#X connect 13 1 8 3; -#X connect 15 0 10 0; -#X connect 16 0 15 0; -#X connect 16 0 30 0; -#X connect 17 0 18 0; -#X connect 18 0 8 4; -#X connect 25 0 0 0; -#X connect 26 0 25 0; -#X connect 30 0 17 0; -#X connect 32 0 31 0; diff --git a/lpc~/lpc_filter/lpc_test.pd b/lpc~/lpc_filter/lpc_test.pd deleted file mode 100644 index 7c9faea..0000000 --- a/lpc~/lpc_filter/lpc_test.pd +++ /dev/null @@ -1,53 +0,0 @@ -#N canvas 0 0 917 300 10; -#X obj 185 160 lpc~ 10; -#N canvas 0 0 450 300 playsound 0; -#X obj 68 74 inlet; -#X obj 163 76 inlet; -#X obj 163 93 openpanel; -#X msg 163 110 read -resize \$1 testfile; -#X obj 26 91 tabplay~ testfile; -#X obj 163 127 soundfiler; -#X obj 163 144 / 44.1; -#X obj 163 161 outlet; -#X obj 26 108 outlet~; -#X obj 99 149 outlet; -#X connect 0 0 4 0; -#X connect 0 0 9 0; -#X connect 1 0 2 0; -#X connect 2 0 3 0; -#X connect 3 0 5 0; -#X connect 4 0 8 0; -#X connect 5 0 6 0; -#X connect 6 0 7 0; -#X restore 185 119 pd playsound; -#N canvas 0 0 450 300 graph1 0; -#X array testfile 1.7683e+06 float 0; -#X coords 0 1 1.7683e+06 -1 200 140 1; -#X restore 516 19 graph; -#X obj 264 104 bng 15 250 50 0 empty empty load 0 -6 0 8 -262144 -1 --1; -#X obj 185 104 bng 15 250 50 0 empty empty play 0 -6 0 8 -262144 -1 --1; -#X obj 134 118 metro; -#X obj 134 103 tgl 15 0 empty empty loop 0 -6 0 8 -262144 -1 -1 0 1 -; -#X obj 185 230 dac~; -#X obj 329 37 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 -; -#X msg 329 68 \; pd dsp \$1; -#X floatatom 242 142 5 1 100 0 poles - -; -#X obj 184 183 lpreson~; -#X obj 185 206 hip~ 18; -#X connect 0 0 11 0; -#X connect 0 1 11 0; -#X connect 1 0 0 0; -#X connect 1 2 5 1; -#X connect 3 0 1 1; -#X connect 4 0 1 0; -#X connect 5 0 1 0; -#X connect 6 0 5 0; -#X connect 8 0 9 0; -#X connect 10 0 0 1; -#X connect 11 0 12 0; -#X connect 12 0 7 0; -#X connect 12 0 7 1; diff --git a/lpc~/lpc_filter/lpreson~.c b/lpc~/lpc_filter/lpreson~.c deleted file mode 100644 index f9d9260..0000000 --- a/lpc~/lpc_filter/lpreson~.c +++ /dev/null @@ -1,131 +0,0 @@ -/* Lattice IIR filter from PARCOR coefficients - * Copyright (C) 2005 Nicolas Chetry - * and Edward Kelly - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "m_pd.h" - -static t_class *lpreson_tilde_class; - -typedef struct _lpreson_control -{ - t_float *c_residual, *c_output; - t_atom *x_parcors; - /* t_atom x_parc_interp_one[MAXPOLES]; - t_int x_parc_ord_one; - t_atom x_parc_interp_two[MAXPOLES]; - t_int x_parc_ord_two; */ -} t_lpreson_control; - -typedef struct _lpreson_tilde -{ - t_object x_obj; - t_float f_dummy; - t_int x_order; - t_lpreson_control x_ctl; -} t_lpreson_tilde; - -t_int *lpreson_tilde_perform(t_int *w) -{ - t_object x_obj; - t_lpreson_tilde *x = (t_lpreson_tilde *)(w[1]); - t_lpreson_control *ctl = (t_lpreson_control *)(w[2]); - int n = (int)(w[3]); - t_float *in = ctl->c_residual; - t_float *out = ctl->c_output; - t_int ord = x->x_order; - float mem[ord+1]; -/* - * Do the inverse filtering - * - * 'data_in' : residual signal (length 'len') - * 'data_out' : output frame (length 'len') - * 'coeff' : the parcor coefficients (length 'tap') - * 'lattice_iir' : filter memory - Previously initialised using init_lattice_iir_filter() - * - */ - int k, i; - float sri; - - for (i=0;i<=ord;i++) - { - // SETFLOAT (&schur->x_parcors[i],0); - mem[i] = 0.0; - } - - for (k = 0; k < n; k++ ) - { - /* Synthesis filter - Lattice structure */ - sri = in[k]; - for (i=0; ix_parcors); - sri = sri - parcor * mem[ord-1-i]; - mem[ord-i] = mem[ord-1-i] + parcor*sri; - } - out[k] = sri; - mem[0] = sri; - - } /* next k */ - return(w+4); -} - -static void lpreson_tilde_list(t_lpreson_tilde *x, t_symbol *s, int argc, t_atom *argv) -{ - if (argc) - { - // x->x_ctl.parc_interp_two = copybytes(x->x_ctl.parc_interp_one, x->x_ctl.parc_ord_one * sizeof(t_atom)); - // x->x_ctl.parc_ord_two = x->x_ctl.parc_ord_one; - // x->x_ctl.parc_interp_one = copybytes(x->x_ctl.parcors, x->x_order * sizeof(t_atom)); - // x->x_ctl.parc_ord_one = x->x_order; - freebytes(x->x_ctl.x_parcors, x->x_order * sizeof(t_atom)); - } - - x->x_ctl.x_parcors = copybytes(argv, argc * sizeof(t_atom)); - x->x_order = argc; -} - -void *lpreson_tilde_dsp(t_lpreson_tilde *x, t_signal **sp) -{ - x->x_ctl.c_residual = sp[0]->s_vec; - x->x_ctl.c_output = sp[1]->s_vec; - dsp_add(lpreson_tilde_perform, 3, x, &x->x_ctl, sp[0]->s_n); - return (void *)x; -} - -void *lpreson_tilde_new(t_floatarg f) -{ - t_lpreson_tilde *x = (t_lpreson_tilde *)pd_new(lpreson_tilde_class); - x->x_order = f >= 1 ? (int)f : 5; - - outlet_new(&x->x_obj, &s_signal); - return (void *)x; -} - -void lpreson_tilde_setup(void) -{ - lpreson_tilde_class = class_new(gensym("lpreson~"), (t_newmethod)lpreson_tilde_new, 0, sizeof(t_lpreson_tilde), CLASS_DEFAULT, A_DEFFLOAT, 0); - - post(". . Lattice IIR filter for lpc. . . . . . ."); - post(". . by Nicolas Chetry . ."); - post(". & Edward Kelly ."); - - class_addmethod(lpreson_tilde_class, (t_method)lpreson_tilde_dsp, gensym("dsp"), 0); - - class_addlist(lpreson_tilde_class, lpreson_tilde_list); - - CLASS_MAINSIGNALIN(lpreson_tilde_class, t_lpreson_tilde, f_dummy); -} diff --git a/lpc~/lpc_filter/makefile b/lpc~/lpc_filter/makefile deleted file mode 100644 index 7589cd7..0000000 --- a/lpc~/lpc_filter/makefile +++ /dev/null @@ -1,106 +0,0 @@ -current: - echo make pd_linux, pd_nt, pd_irix5, pd_irix6 or pd_darwin, then make install - -clean: ; rm -f *.pd_* *.o - -# ----------------------- NT ----------------------- - -pd_nt: lpreson~.dll - -INSTALL_PREFIX="C:\pd\extra" -EXT=dll -.SUFFIXES: .obj .dll - -PDNTCFLAGS = /W3 /WX /DNT /DPD /nologo -VC="D:\Program Files\Microsoft Visual Studio\Vc98" - -PDNTINCLUDE = /I. /I\tcl\include /I..\..\src /I$(VC)\include - -PDNTLDIR = $(VC)\lib -PDNTLIB = $(PDNTLDIR)\libc.lib \ - $(PDNTLDIR)\oldnames.lib \ - $(PDNTLDIR)\kernel32.lib \ - ..\..\bin\pd.lib - -.c.dll: - cl $(PDNTCFLAGS) $(PDNTINCLUDE) /c $*.c - link /dll /export:$*_setup $*.obj $(PDNTLIB) - -# ----------------------- IRIX 5.x ----------------------- - -pd_irix5: lpreson~.pd_irix5 - -INSTALL_PREFIX=/usr/local -EXT=pd_irix5 -.SUFFIXES: .pd_irix5 - -SGICFLAGS5 = -o32 -DPD -DUNIX -DIRIX -O2 - -SGIINCLUDE = -I/usr/local/include - -.c.pd_irix5: - cc $(SGICFLAGS5) $(SGIINCLUDE) -o $*.o -c $*.c - ld -elf -shared -rdata_shared -o $*.pd_irix5 $*.o - rm $*.o - -# ----------------------- IRIX 5.x ----------------------- - -pd_irix6: lpreson~.pd_irix6 - -INSTALL_PREFIX=/usr/local -EXT=pd_irix6 -.SUFFIXES: .pd_irix6 - -SGICFLAGS5 = -o32 -DPD -DUNIX -DIRIX -O2 - -SGIINCLUDE = -I/usr/local/include - -.c.pd_irix6: - cc $(SGICFLAGS5) $(SGIINCLUDE) -o $*.o -c $*.c - ld -elf -shared -rdata_shared -o $*.pd_irix6 $*.o - rm $*.o - -# ----------------------- LINUX i386 ----------------------- - -pd_linux: lpreson~.pd_linux - -INSTALL_PREFIX=/usr/local -EXT=pd_linux -.SUFFIXES: .pd_linux - -LINUXCFLAGS = -DPD -O2 -funroll-loops -fomit-frame-pointer \ - -Wall -W -Wshadow -Wstrict-prototypes -Werror \ - -Wno-unused -Wno-parentheses -Wno-switch - -LINUXINCLUDE = -I/usr/local/include - -.c.pd_linux: - cc $(LINUXCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c - ld --export-dynamic -shared -o $*.pd_linux $*.o -lc -lm - strip --strip-unneeded $*.pd_linux - rm $*.o - -# ----------------------- Mac OSX ----------------------- - -pd_darwin: lpreson~.pd_darwin - -INSTALL_PREFIX=/usr/local -EXT=pd_darwin -.SUFFIXES: .pd_darwin - -DARWINCFLAGS = -DPD -O2 -Wall -W -Wshadow -Wstrict-prototypes \ - -Wno-unused -Wno-parentheses -Wno-switch - -.c.pd_darwin: - cc $(DARWINCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c - cc -bundle -undefined suppress -flat_namespace -o $*.pd_darwin $*.o - rm -f $*.o - -# ---------------------------------------------- - -install:: - install -d $(INSTALL_PREFIX)/lib/pd/extra -# install -m 644 *.$(EXT) $(INSTALL_PREFIX)/lib/pd/externs - -install -m 644 lpreson~.$(EXT) $(INSTALL_PREFIX)/lib/pd/extra - install -m 644 *.pd $(INSTALL_PREFIX)/lib/pd/doc/5.reference - install -m 644 *.wav $(INSTALL_PREFIX)/lib/pd/doc/5.reference diff --git a/lpreson~-help.pd b/lpreson~-help.pd new file mode 100644 index 0000000..7c9faea --- /dev/null +++ b/lpreson~-help.pd @@ -0,0 +1,53 @@ +#N canvas 0 0 917 300 10; +#X obj 185 160 lpc~ 10; +#N canvas 0 0 450 300 playsound 0; +#X obj 68 74 inlet; +#X obj 163 76 inlet; +#X obj 163 93 openpanel; +#X msg 163 110 read -resize \$1 testfile; +#X obj 26 91 tabplay~ testfile; +#X obj 163 127 soundfiler; +#X obj 163 144 / 44.1; +#X obj 163 161 outlet; +#X obj 26 108 outlet~; +#X obj 99 149 outlet; +#X connect 0 0 4 0; +#X connect 0 0 9 0; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 5 0; +#X connect 4 0 8 0; +#X connect 5 0 6 0; +#X connect 6 0 7 0; +#X restore 185 119 pd playsound; +#N canvas 0 0 450 300 graph1 0; +#X array testfile 1.7683e+06 float 0; +#X coords 0 1 1.7683e+06 -1 200 140 1; +#X restore 516 19 graph; +#X obj 264 104 bng 15 250 50 0 empty empty load 0 -6 0 8 -262144 -1 +-1; +#X obj 185 104 bng 15 250 50 0 empty empty play 0 -6 0 8 -262144 -1 +-1; +#X obj 134 118 metro; +#X obj 134 103 tgl 15 0 empty empty loop 0 -6 0 8 -262144 -1 -1 0 1 +; +#X obj 185 230 dac~; +#X obj 329 37 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X msg 329 68 \; pd dsp \$1; +#X floatatom 242 142 5 1 100 0 poles - -; +#X obj 184 183 lpreson~; +#X obj 185 206 hip~ 18; +#X connect 0 0 11 0; +#X connect 0 1 11 0; +#X connect 1 0 0 0; +#X connect 1 2 5 1; +#X connect 3 0 1 1; +#X connect 4 0 1 0; +#X connect 5 0 1 0; +#X connect 6 0 5 0; +#X connect 8 0 9 0; +#X connect 10 0 0 1; +#X connect 11 0 12 0; +#X connect 12 0 7 0; +#X connect 12 0 7 1; diff --git a/lpreson~.c b/lpreson~.c new file mode 100644 index 0000000..f9d9260 --- /dev/null +++ b/lpreson~.c @@ -0,0 +1,131 @@ +/* Lattice IIR filter from PARCOR coefficients + * Copyright (C) 2005 Nicolas Chetry + * and Edward Kelly + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include "m_pd.h" + +static t_class *lpreson_tilde_class; + +typedef struct _lpreson_control +{ + t_float *c_residual, *c_output; + t_atom *x_parcors; + /* t_atom x_parc_interp_one[MAXPOLES]; + t_int x_parc_ord_one; + t_atom x_parc_interp_two[MAXPOLES]; + t_int x_parc_ord_two; */ +} t_lpreson_control; + +typedef struct _lpreson_tilde +{ + t_object x_obj; + t_float f_dummy; + t_int x_order; + t_lpreson_control x_ctl; +} t_lpreson_tilde; + +t_int *lpreson_tilde_perform(t_int *w) +{ + t_object x_obj; + t_lpreson_tilde *x = (t_lpreson_tilde *)(w[1]); + t_lpreson_control *ctl = (t_lpreson_control *)(w[2]); + int n = (int)(w[3]); + t_float *in = ctl->c_residual; + t_float *out = ctl->c_output; + t_int ord = x->x_order; + float mem[ord+1]; +/* + * Do the inverse filtering + * + * 'data_in' : residual signal (length 'len') + * 'data_out' : output frame (length 'len') + * 'coeff' : the parcor coefficients (length 'tap') + * 'lattice_iir' : filter memory - Previously initialised using init_lattice_iir_filter() + * + */ + int k, i; + float sri; + + for (i=0;i<=ord;i++) + { + // SETFLOAT (&schur->x_parcors[i],0); + mem[i] = 0.0; + } + + for (k = 0; k < n; k++ ) + { + /* Synthesis filter - Lattice structure */ + sri = in[k]; + for (i=0; ix_parcors); + sri = sri - parcor * mem[ord-1-i]; + mem[ord-i] = mem[ord-1-i] + parcor*sri; + } + out[k] = sri; + mem[0] = sri; + + } /* next k */ + return(w+4); +} + +static void lpreson_tilde_list(t_lpreson_tilde *x, t_symbol *s, int argc, t_atom *argv) +{ + if (argc) + { + // x->x_ctl.parc_interp_two = copybytes(x->x_ctl.parc_interp_one, x->x_ctl.parc_ord_one * sizeof(t_atom)); + // x->x_ctl.parc_ord_two = x->x_ctl.parc_ord_one; + // x->x_ctl.parc_interp_one = copybytes(x->x_ctl.parcors, x->x_order * sizeof(t_atom)); + // x->x_ctl.parc_ord_one = x->x_order; + freebytes(x->x_ctl.x_parcors, x->x_order * sizeof(t_atom)); + } + + x->x_ctl.x_parcors = copybytes(argv, argc * sizeof(t_atom)); + x->x_order = argc; +} + +void *lpreson_tilde_dsp(t_lpreson_tilde *x, t_signal **sp) +{ + x->x_ctl.c_residual = sp[0]->s_vec; + x->x_ctl.c_output = sp[1]->s_vec; + dsp_add(lpreson_tilde_perform, 3, x, &x->x_ctl, sp[0]->s_n); + return (void *)x; +} + +void *lpreson_tilde_new(t_floatarg f) +{ + t_lpreson_tilde *x = (t_lpreson_tilde *)pd_new(lpreson_tilde_class); + x->x_order = f >= 1 ? (int)f : 5; + + outlet_new(&x->x_obj, &s_signal); + return (void *)x; +} + +void lpreson_tilde_setup(void) +{ + lpreson_tilde_class = class_new(gensym("lpreson~"), (t_newmethod)lpreson_tilde_new, 0, sizeof(t_lpreson_tilde), CLASS_DEFAULT, A_DEFFLOAT, 0); + + post(". . Lattice IIR filter for lpc. . . . . . ."); + post(". . by Nicolas Chetry . ."); + post(". & Edward Kelly ."); + + class_addmethod(lpreson_tilde_class, (t_method)lpreson_tilde_dsp, gensym("dsp"), 0); + + class_addlist(lpreson_tilde_class, lpreson_tilde_list); + + CLASS_MAINSIGNALIN(lpreson_tilde_class, t_lpreson_tilde, f_dummy); +} diff --git a/maskxor-help.pd b/maskxor-help.pd new file mode 100644 index 0000000..1276de8 --- /dev/null +++ b/maskxor-help.pd @@ -0,0 +1,104 @@ +#N canvas 0 0 956 304 10; +#X obj 368 207 maskxor; +#X obj 457 63 t b b; +#X msg 38 157 bang; +#X floatatom 390 247 5 0 0 0 - - -; +#X floatatom 368 264 5 0 0 0 - - -; +#X floatatom 254 122 5 0 0 0 - - -; +#X msg 457 46 bang; +#X msg 457 80 listl 1 1 0 0 0 1 1; +#X msg 500 97 listr 0 1 1 0 2 1 0; +#X text 39 56 Maskxor takes two lists - listr and listl \, to set up +a map where map = listl ^ listr.; +#X text 37 93 Floats will only pass through if map[(int)float] > 0 +\, so if the corresponding element is greater than zero in either listl +\, or listr \, but not both.; +#X text 76 148 outputs the map \, the xor-ed element and (if this is +greater than zero) the last float in.; +#X obj 412 227 print MASK; +#X text 41 22 Maskxor - exclusive-OR mask map by Edward Kelly. This +is GNU software.; +#X msg 39 193 clear; +#X text 79 192 resets the object; +#X text 29 283 Polyphony control objects by Ed Kelly November 2006 +; +#X text 397 282 See also; +#X obj 458 280 sieve; +#X obj 501 280 polymap; +#X obj 558 280 polystat; +#N canvas 0 0 450 300 (subpatch) 0; +#X msg 174 179 0 1 0 0 1 1 2; +#X obj 150 84 loadbang; +#X obj 175 217 outlet; +#X connect 0 0 2 0; +#X connect 1 0 0 0; +#X restore 584 152 pd; +#X obj 568 173 l; +#X obj 534 148 t a b; +#X obj 568 190 prepend listr; +#X obj 473 190 prepend listl; +#X msg 662 97 1 0 0 1 1; +#X msg 678 114 1 1 0 0 0 1; +#X msg 721 131 0 1 1 0 2 1 0; +#X msg 669 190 mode \$1; +#X obj 669 167 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#X text 728 191 ... in mode 1 \, floats are only; +#X text 729 204 passed through the left outlet; +#X text 728 217 when the left list contains; +#X text 727 229 fewer non-zero elements than; +#X text 727 241 the right list. CHANGED BEHAVIOUR!; +#X msg 651 65 1 0 0 1 0 0 0 1; +#X msg 638 49 1 0 0 1 0 1 0 1; +#X text 847 123 |; +#X text 847 132 |; +#X text 847 141 |; +#X text 847 150 |; +#X text 847 159 |; +#X text 847 168 |; +#X text 847 177 |; +#X text 761 60 _; +#X text 768 60 _; +#X text 775 60 _; +#X text 782 60 _; +#X text 789 60 _; +#X text 796 60 _; +#X text 803 60 _; +#X text 810 60 _; +#X text 817 60 _; +#X text 824 60 _; +#X text 831 60 _; +#X text 838 60 _; +#X text 845 60 _; +#X text 847 69 |; +#X text 847 78 |; +#X text 847 87 |; +#X text 847 96 |; +#X text 847 105 |; +#X text 847 114 |; +#X text 759 65 <; +#X connect 0 0 4 0; +#X connect 0 1 3 0; +#X connect 0 2 12 0; +#X connect 1 0 7 0; +#X connect 1 1 8 0; +#X connect 2 0 0 0; +#X connect 5 0 0 0; +#X connect 6 0 1 0; +#X connect 7 0 0 0; +#X connect 8 0 0 0; +#X connect 14 0 0 0; +#X connect 21 0 22 1; +#X connect 22 0 24 0; +#X connect 23 0 22 1; +#X connect 23 0 25 0; +#X connect 23 1 22 0; +#X connect 24 0 0 0; +#X connect 25 0 0 0; +#X connect 26 0 23 0; +#X connect 27 0 23 0; +#X connect 28 0 23 0; +#X connect 29 0 0 0; +#X connect 30 0 29 0; +#X connect 36 0 23 0; +#X connect 37 0 23 0; diff --git a/maskxor-test.pd b/maskxor-test.pd new file mode 100644 index 0000000..1674fb8 --- /dev/null +++ b/maskxor-test.pd @@ -0,0 +1,25 @@ +#N canvas 0 0 450 300 10; +#X obj 149 208 maskxor; +#X obj 180 71 t b b; +#X msg 144 143 bang; +#X floatatom 171 253 5 0 0 0 - - -; +#X floatatom 149 271 5 0 0 0 - - -; +#X obj 193 230 print MAPOUT; +#X floatatom 70 151 5 0 0 0 - - -; +#X msg 182 33 bang; +#X msg 261 157 debug; +#X obj 236 265 print; +#X msg 180 88 listl 1 1 0 0 0 1 1; +#X msg 223 105 listr 0 1 1 0 2 1 0; +#X connect 0 0 4 0; +#X connect 0 1 3 0; +#X connect 0 2 5 0; +#X connect 1 0 10 0; +#X connect 1 1 11 0; +#X connect 2 0 0 0; +#X connect 3 0 9 0; +#X connect 6 0 0 0; +#X connect 7 0 1 0; +#X connect 8 0 0 0; +#X connect 10 0 0 0; +#X connect 11 0 0 0; diff --git a/maskxor.c b/maskxor.c new file mode 100644 index 0000000..bf14560 --- /dev/null +++ b/maskxor.c @@ -0,0 +1,216 @@ +#include "m_pd.h" + +static t_class *maskxor_class; + +typedef struct _maskxor +{ + t_object x_obj; + t_atom *maskl, *maskr, *maskxor; + int lengthl, lengthr, lengthm; + t_float suml, sumr; + t_float f_in, yes; + t_float mode; + t_outlet *thru, *bool, *maskout; +} t_maskxor; + +void maskxor_float(t_maskxor *x, t_floatarg fin) +{ + int input = (int)fin; + if (input >= 0 && input < x->lengthm) { + if(x->mode == 0) + { + x->f_in = fin; + x->yes = atom_getfloatarg(input, x->lengthm, x->maskxor); + outlet_float(x->bool, x->yes); + if(x->yes != 0) + { + outlet_float(x->thru, x->f_in); + } + } + else if(x->sumr>x->suml) + { + x->f_in = fin; + x->yes = atom_getfloatarg(input, x->lengthm, x->maskxor); + outlet_float(x->bool, x->yes); + if(x->yes != 0) + { + outlet_float(x->thru, x->f_in); + } + } + } +} + +void maskxor_bang(t_maskxor *x, t_symbol *s) +{ + outlet_list(x->maskout, &s_list, x->lengthm, x->maskxor); + outlet_float(x->bool, x->yes); + if(x->yes != 0) + { + outlet_float(x->thru, x->f_in); + } +} + +void maskxor_listl(t_maskxor *x, t_symbol *s, int argc, t_atom *argv) +{ + int i; + x->suml = 0; + float listr_element, listl_element, xor_element; + if (x->maskl) { + freebytes(x->maskl, x->lengthl * sizeof(t_atom)); + x->maskl = 0; + x->lengthl = 0; + } + + x->maskl = copybytes(argv, argc * sizeof(t_atom)); + x->lengthl = argc; + + if (x->maskxor) { + freebytes(x->maskxor, x->lengthm * sizeof(t_atom)); + x->maskxor = 0; + x->lengthm = 0; + } + x->lengthm = x->lengthr > x->lengthl ? x->lengthr : x->lengthl; + x->maskxor = getbytes(x->lengthm * sizeof(t_atom)); + + for(i=0;ilengthm;i++) + { + if(i>=x->lengthm) + { + listl_element = 0; + } + else + { + listl_element = atom_getfloat(argv+i); + } + if(listl_element != 0) + { + x->suml++; + } + if(i>=x->lengthr) + { + listr_element = 0; + } + else + { + listr_element = atom_getfloatarg(i,x->lengthr,x->maskr); + } + xor_element = (float)((int)listl_element ^ (int)listr_element); + SETFLOAT(&x->maskxor[i], xor_element); + } + outlet_list(x->maskout, &s_list, x->lengthm, x->maskxor); +} + +void maskxor_listr(t_maskxor *x, t_symbol *s, int argc, t_atom *argv) +{ + int i; + x->sumr = 0; + + if (x->maskr) { + freebytes(x->maskr, x->lengthr * sizeof(t_atom)); + x->maskr = 0; + x->lengthr = 0; + } + + x->maskr = copybytes(argv, argc * sizeof(t_atom)); + x->lengthr = argc; + + + float listr_element; + for(i=0;isumr++; + } + } +} + +void maskxor_mode(t_maskxor *x, t_floatarg fmode) +{ + x->mode = fmode; +} + +void maskxor_clear(t_maskxor *x) +{ + int i; + if (x->maskl) { + freebytes(x->maskl, x->lengthl * sizeof(t_atom)); + x->maskl = 0; + x->lengthl = 0; + } + if (x->maskr) { + freebytes(x->maskr, x->lengthr * sizeof(t_atom)); + x->maskr = 0; + x->lengthr = 0; + } + if (x->maskxor) { + freebytes(x->maskxor, x->lengthm * sizeof(t_atom)); + x->maskxor = 0; + x->lengthm = 0; + } + + x->yes = x->f_in = 0; +} + +void maskxor_print(t_maskxor *x) +{ + int i; + float element; + if (x->maskl) { + for(i=0;ilengthl;i++) { + element = atom_getfloatarg(i, x->lengthl, x->maskl); + post("maskl element %d = %f",i,element); + } + } + if (x->maskr) { + for(i=0;ilengthr;i++) { + element = atom_getfloatarg(i, x->lengthr, x->maskr); + post("maskr element %d = %f",i,element); + } + } + if (x->maskxor) { + for(i=0;ilengthm;i++) { + element = atom_getfloatarg(i, x->lengthm, x->maskxor); + post("maskxor element %d = %f",i,element); + } + } + post("mode = %f, lengthl = %d, lengthr = %d, lengthm = %d",x->mode,x->lengthl,x->lengthr,x->lengthm); +} + +void *maskxor_new(t_symbol *s, t_floatarg fmode) +{ + int i; + t_maskxor *x = (t_maskxor *)pd_new(maskxor_class); + x->mode = fmode != 0 ? 1 : 0; + + x->maskl = 0; + x->lengthl = 0; + x->maskr = 0; + x->lengthr = 0; + x->maskxor = 0; + x->lengthm = 0; + + x->thru = outlet_new(&x->x_obj, &s_float); + x->bool = outlet_new(&x->x_obj, &s_float); + x->maskout = outlet_new(&x->x_obj, &s_list); + return (void *)x; +} + +void maskxor_setup(void) +{ + maskxor_class = class_new(gensym("maskxor"), + (t_newmethod)maskxor_new, + 0, sizeof(t_maskxor), + CLASS_DEFAULT, A_DEFFLOAT, 0); + post("|..-.--.-..-maskxor.-...--.-..|"); + post("| exclusive-or mask-map |"); + post("|.--.- Edward Kelly 2006 ---.-|"); + + class_addfloat(maskxor_class, maskxor_float); + class_addmethod(maskxor_class, (t_method)maskxor_listl, gensym("listl"), A_GIMME, 0, 0); + class_addmethod(maskxor_class, (t_method)maskxor_listr, gensym("listr"), A_GIMME, 0, 0); + class_addbang(maskxor_class, (t_method)maskxor_bang); + class_addmethod(maskxor_class, (t_method)maskxor_mode, gensym("mode"), A_DEFFLOAT, 0); + class_addmethod(maskxor_class, (t_method)maskxor_clear, gensym("clear"), A_DEFFLOAT, 0); + class_addmethod(maskxor_class, (t_method)maskxor_print, gensym("print"), A_DEFFLOAT, 0); +} diff --git a/maskxor/makefile b/maskxor/makefile deleted file mode 100755 index 06ec0b5..0000000 --- a/maskxor/makefile +++ /dev/null @@ -1,105 +0,0 @@ -current: - echo make pd_linux, pd_nt, pd_irix5, pd_irix6 or pd_darwin, then make install - -clean: ; rm -f *.pd_* *.o - -# ----------------------- NT ----------------------- - -pd_nt: maskxor.dll - -INSTALL_PREFIX="C:\pd\extra" -EXT=dll -.SUFFIXES: .obj .dll - -PDNTCFLAGS = /W3 /WX /DNT /DPD /nologo -VC="D:\Program Files\Microsoft Visual Studio\Vc98" - -PDNTINCLUDE = /I. /I\tcl\include /I..\..\src /I$(VC)\include - -PDNTLDIR = $(VC)\lib -PDNTLIB = $(PDNTLDIR)\libc.lib \ - $(PDNTLDIR)\oldnames.lib \ - $(PDNTLDIR)\kernel32.lib \ - ..\..\bin\pd.lib - -.c.dll: - cl $(PDNTCFLAGS) $(PDNTINCLUDE) /c $*.c - link /dll /export:$*_setup $*.obj $(PDNTLIB) - -# ----------------------- IRIX 5.x ----------------------- - -pd_irix5: maskxor.pd_irix5 - -INSTALL_PREFIX=/usr/local -EXT=pd_irix5 -.SUFFIXES: .pd_irix5 - -SGICFLAGS5 = -o32 -DPD -DUNIX -DIRIX -O2 - -SGIINCLUDE = -I/usr/local/include - -.c.pd_irix5: - cc $(SGICFLAGS5) $(SGIINCLUDE) -o $*.o -c $*.c - ld -elf -shared -rdata_shared -o $*.pd_irix5 $*.o - rm $*.o - -# ----------------------- IRIX 5.x ----------------------- - -pd_irix6: maskxor.pd_irix6 - -INSTALL_PREFIX=/usr/local -EXT=pd_irix6 -.SUFFIXES: .pd_irix6 - -SGICFLAGS5 = -o32 -DPD -DUNIX -DIRIX -O2 - -SGIINCLUDE = -I/usr/local/include - -.c.pd_irix6: - cc $(SGICFLAGS5) $(SGIINCLUDE) -o $*.o -c $*.c - ld -elf -shared -rdata_shared -o $*.pd_irix6 $*.o - rm $*.o - -# ----------------------- LINUX i386 ----------------------- - -pd_linux: maskxor.pd_linux - -INSTALL_PREFIX=/usr/local -EXT=pd_linux -.SUFFIXES: .pd_linux - -LINUXCFLAGS = -DPD -O2 -funroll-loops -fomit-frame-pointer \ - -Wall -W -Wshadow -Wstrict-prototypes -Werror \ - -Wno-unused -Wno-parentheses -Wno-switch - -LINUXINCLUDE = -I/usr/local/include - -.c.pd_linux: - cc $(LINUXCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c - ld --export-dynamic -shared -o $*.pd_linux $*.o -lc -lm - strip --strip-unneeded $*.pd_linux - rm $*.o - -# ----------------------- Mac OSX ----------------------- - -pd_darwin: maskxor.pd_darwin - -INSTALL_PREFIX=/usr/local -EXT=pd_darwin -.SUFFIXES: .pd_darwin - -DARWINCFLAGS = -DPD -O2 -Wall -W -Wshadow -Wstrict-prototypes \ - -Wno-unused -Wno-parentheses -Wno-switch - -.c.pd_darwin: - cc $(DARWINCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c - cc -bundle -undefined suppress -flat_namespace -o $*.pd_darwin $*.o - rm -f $*.o - -# ---------------------------------------------- - -install:: - install -d $(INSTALL_PREFIX)/lib/pd/extra -# install -m 644 *.$(EXT) $(INSTALL_PREFIX)/lib/pd/externs - -install -m 644 maskxor.$(EXT) $(INSTALL_PREFIX)/lib/pd/extra - install -m 644 *.pd $(INSTALL_PREFIX)/lib/pd/doc/5.reference diff --git a/maskxor/maskxor-help.pd b/maskxor/maskxor-help.pd deleted file mode 100644 index 1276de8..0000000 --- a/maskxor/maskxor-help.pd +++ /dev/null @@ -1,104 +0,0 @@ -#N canvas 0 0 956 304 10; -#X obj 368 207 maskxor; -#X obj 457 63 t b b; -#X msg 38 157 bang; -#X floatatom 390 247 5 0 0 0 - - -; -#X floatatom 368 264 5 0 0 0 - - -; -#X floatatom 254 122 5 0 0 0 - - -; -#X msg 457 46 bang; -#X msg 457 80 listl 1 1 0 0 0 1 1; -#X msg 500 97 listr 0 1 1 0 2 1 0; -#X text 39 56 Maskxor takes two lists - listr and listl \, to set up -a map where map = listl ^ listr.; -#X text 37 93 Floats will only pass through if map[(int)float] > 0 -\, so if the corresponding element is greater than zero in either listl -\, or listr \, but not both.; -#X text 76 148 outputs the map \, the xor-ed element and (if this is -greater than zero) the last float in.; -#X obj 412 227 print MASK; -#X text 41 22 Maskxor - exclusive-OR mask map by Edward Kelly. This -is GNU software.; -#X msg 39 193 clear; -#X text 79 192 resets the object; -#X text 29 283 Polyphony control objects by Ed Kelly November 2006 -; -#X text 397 282 See also; -#X obj 458 280 sieve; -#X obj 501 280 polymap; -#X obj 558 280 polystat; -#N canvas 0 0 450 300 (subpatch) 0; -#X msg 174 179 0 1 0 0 1 1 2; -#X obj 150 84 loadbang; -#X obj 175 217 outlet; -#X connect 0 0 2 0; -#X connect 1 0 0 0; -#X restore 584 152 pd; -#X obj 568 173 l; -#X obj 534 148 t a b; -#X obj 568 190 prepend listr; -#X obj 473 190 prepend listl; -#X msg 662 97 1 0 0 1 1; -#X msg 678 114 1 1 0 0 0 1; -#X msg 721 131 0 1 1 0 2 1 0; -#X msg 669 190 mode \$1; -#X obj 669 167 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 -1; -#X text 728 191 ... in mode 1 \, floats are only; -#X text 729 204 passed through the left outlet; -#X text 728 217 when the left list contains; -#X text 727 229 fewer non-zero elements than; -#X text 727 241 the right list. CHANGED BEHAVIOUR!; -#X msg 651 65 1 0 0 1 0 0 0 1; -#X msg 638 49 1 0 0 1 0 1 0 1; -#X text 847 123 |; -#X text 847 132 |; -#X text 847 141 |; -#X text 847 150 |; -#X text 847 159 |; -#X text 847 168 |; -#X text 847 177 |; -#X text 761 60 _; -#X text 768 60 _; -#X text 775 60 _; -#X text 782 60 _; -#X text 789 60 _; -#X text 796 60 _; -#X text 803 60 _; -#X text 810 60 _; -#X text 817 60 _; -#X text 824 60 _; -#X text 831 60 _; -#X text 838 60 _; -#X text 845 60 _; -#X text 847 69 |; -#X text 847 78 |; -#X text 847 87 |; -#X text 847 96 |; -#X text 847 105 |; -#X text 847 114 |; -#X text 759 65 <; -#X connect 0 0 4 0; -#X connect 0 1 3 0; -#X connect 0 2 12 0; -#X connect 1 0 7 0; -#X connect 1 1 8 0; -#X connect 2 0 0 0; -#X connect 5 0 0 0; -#X connect 6 0 1 0; -#X connect 7 0 0 0; -#X connect 8 0 0 0; -#X connect 14 0 0 0; -#X connect 21 0 22 1; -#X connect 22 0 24 0; -#X connect 23 0 22 1; -#X connect 23 0 25 0; -#X connect 23 1 22 0; -#X connect 24 0 0 0; -#X connect 25 0 0 0; -#X connect 26 0 23 0; -#X connect 27 0 23 0; -#X connect 28 0 23 0; -#X connect 29 0 0 0; -#X connect 30 0 29 0; -#X connect 36 0 23 0; -#X connect 37 0 23 0; diff --git a/maskxor/maskxor-test.pd b/maskxor/maskxor-test.pd deleted file mode 100644 index 1674fb8..0000000 --- a/maskxor/maskxor-test.pd +++ /dev/null @@ -1,25 +0,0 @@ -#N canvas 0 0 450 300 10; -#X obj 149 208 maskxor; -#X obj 180 71 t b b; -#X msg 144 143 bang; -#X floatatom 171 253 5 0 0 0 - - -; -#X floatatom 149 271 5 0 0 0 - - -; -#X obj 193 230 print MAPOUT; -#X floatatom 70 151 5 0 0 0 - - -; -#X msg 182 33 bang; -#X msg 261 157 debug; -#X obj 236 265 print; -#X msg 180 88 listl 1 1 0 0 0 1 1; -#X msg 223 105 listr 0 1 1 0 2 1 0; -#X connect 0 0 4 0; -#X connect 0 1 3 0; -#X connect 0 2 5 0; -#X connect 1 0 10 0; -#X connect 1 1 11 0; -#X connect 2 0 0 0; -#X connect 3 0 9 0; -#X connect 6 0 0 0; -#X connect 7 0 1 0; -#X connect 8 0 0 0; -#X connect 10 0 0 0; -#X connect 11 0 0 0; diff --git a/maskxor/maskxor.c b/maskxor/maskxor.c deleted file mode 100644 index bf14560..0000000 --- a/maskxor/maskxor.c +++ /dev/null @@ -1,216 +0,0 @@ -#include "m_pd.h" - -static t_class *maskxor_class; - -typedef struct _maskxor -{ - t_object x_obj; - t_atom *maskl, *maskr, *maskxor; - int lengthl, lengthr, lengthm; - t_float suml, sumr; - t_float f_in, yes; - t_float mode; - t_outlet *thru, *bool, *maskout; -} t_maskxor; - -void maskxor_float(t_maskxor *x, t_floatarg fin) -{ - int input = (int)fin; - if (input >= 0 && input < x->lengthm) { - if(x->mode == 0) - { - x->f_in = fin; - x->yes = atom_getfloatarg(input, x->lengthm, x->maskxor); - outlet_float(x->bool, x->yes); - if(x->yes != 0) - { - outlet_float(x->thru, x->f_in); - } - } - else if(x->sumr>x->suml) - { - x->f_in = fin; - x->yes = atom_getfloatarg(input, x->lengthm, x->maskxor); - outlet_float(x->bool, x->yes); - if(x->yes != 0) - { - outlet_float(x->thru, x->f_in); - } - } - } -} - -void maskxor_bang(t_maskxor *x, t_symbol *s) -{ - outlet_list(x->maskout, &s_list, x->lengthm, x->maskxor); - outlet_float(x->bool, x->yes); - if(x->yes != 0) - { - outlet_float(x->thru, x->f_in); - } -} - -void maskxor_listl(t_maskxor *x, t_symbol *s, int argc, t_atom *argv) -{ - int i; - x->suml = 0; - float listr_element, listl_element, xor_element; - if (x->maskl) { - freebytes(x->maskl, x->lengthl * sizeof(t_atom)); - x->maskl = 0; - x->lengthl = 0; - } - - x->maskl = copybytes(argv, argc * sizeof(t_atom)); - x->lengthl = argc; - - if (x->maskxor) { - freebytes(x->maskxor, x->lengthm * sizeof(t_atom)); - x->maskxor = 0; - x->lengthm = 0; - } - x->lengthm = x->lengthr > x->lengthl ? x->lengthr : x->lengthl; - x->maskxor = getbytes(x->lengthm * sizeof(t_atom)); - - for(i=0;ilengthm;i++) - { - if(i>=x->lengthm) - { - listl_element = 0; - } - else - { - listl_element = atom_getfloat(argv+i); - } - if(listl_element != 0) - { - x->suml++; - } - if(i>=x->lengthr) - { - listr_element = 0; - } - else - { - listr_element = atom_getfloatarg(i,x->lengthr,x->maskr); - } - xor_element = (float)((int)listl_element ^ (int)listr_element); - SETFLOAT(&x->maskxor[i], xor_element); - } - outlet_list(x->maskout, &s_list, x->lengthm, x->maskxor); -} - -void maskxor_listr(t_maskxor *x, t_symbol *s, int argc, t_atom *argv) -{ - int i; - x->sumr = 0; - - if (x->maskr) { - freebytes(x->maskr, x->lengthr * sizeof(t_atom)); - x->maskr = 0; - x->lengthr = 0; - } - - x->maskr = copybytes(argv, argc * sizeof(t_atom)); - x->lengthr = argc; - - - float listr_element; - for(i=0;isumr++; - } - } -} - -void maskxor_mode(t_maskxor *x, t_floatarg fmode) -{ - x->mode = fmode; -} - -void maskxor_clear(t_maskxor *x) -{ - int i; - if (x->maskl) { - freebytes(x->maskl, x->lengthl * sizeof(t_atom)); - x->maskl = 0; - x->lengthl = 0; - } - if (x->maskr) { - freebytes(x->maskr, x->lengthr * sizeof(t_atom)); - x->maskr = 0; - x->lengthr = 0; - } - if (x->maskxor) { - freebytes(x->maskxor, x->lengthm * sizeof(t_atom)); - x->maskxor = 0; - x->lengthm = 0; - } - - x->yes = x->f_in = 0; -} - -void maskxor_print(t_maskxor *x) -{ - int i; - float element; - if (x->maskl) { - for(i=0;ilengthl;i++) { - element = atom_getfloatarg(i, x->lengthl, x->maskl); - post("maskl element %d = %f",i,element); - } - } - if (x->maskr) { - for(i=0;ilengthr;i++) { - element = atom_getfloatarg(i, x->lengthr, x->maskr); - post("maskr element %d = %f",i,element); - } - } - if (x->maskxor) { - for(i=0;ilengthm;i++) { - element = atom_getfloatarg(i, x->lengthm, x->maskxor); - post("maskxor element %d = %f",i,element); - } - } - post("mode = %f, lengthl = %d, lengthr = %d, lengthm = %d",x->mode,x->lengthl,x->lengthr,x->lengthm); -} - -void *maskxor_new(t_symbol *s, t_floatarg fmode) -{ - int i; - t_maskxor *x = (t_maskxor *)pd_new(maskxor_class); - x->mode = fmode != 0 ? 1 : 0; - - x->maskl = 0; - x->lengthl = 0; - x->maskr = 0; - x->lengthr = 0; - x->maskxor = 0; - x->lengthm = 0; - - x->thru = outlet_new(&x->x_obj, &s_float); - x->bool = outlet_new(&x->x_obj, &s_float); - x->maskout = outlet_new(&x->x_obj, &s_list); - return (void *)x; -} - -void maskxor_setup(void) -{ - maskxor_class = class_new(gensym("maskxor"), - (t_newmethod)maskxor_new, - 0, sizeof(t_maskxor), - CLASS_DEFAULT, A_DEFFLOAT, 0); - post("|..-.--.-..-maskxor.-...--.-..|"); - post("| exclusive-or mask-map |"); - post("|.--.- Edward Kelly 2006 ---.-|"); - - class_addfloat(maskxor_class, maskxor_float); - class_addmethod(maskxor_class, (t_method)maskxor_listl, gensym("listl"), A_GIMME, 0, 0); - class_addmethod(maskxor_class, (t_method)maskxor_listr, gensym("listr"), A_GIMME, 0, 0); - class_addbang(maskxor_class, (t_method)maskxor_bang); - class_addmethod(maskxor_class, (t_method)maskxor_mode, gensym("mode"), A_DEFFLOAT, 0); - class_addmethod(maskxor_class, (t_method)maskxor_clear, gensym("clear"), A_DEFFLOAT, 0); - class_addmethod(maskxor_class, (t_method)maskxor_print, gensym("print"), A_DEFFLOAT, 0); -} diff --git a/peakit~-help.pd b/peakit~-help.pd new file mode 100644 index 0000000..276f4d7 --- /dev/null +++ b/peakit~-help.pd @@ -0,0 +1,49 @@ +#N canvas 183 261 585 491 10; +#X text 267 241 argument sets minimum magnitude to report; +#X obj 150 161 *~; +#X obj 166 139 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X obj 132 138 adc~; +#X obj 106 347 print; +#X obj 269 346 print; +#X obj 245 208 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X text 263 207 turn processing on or off; +#X obj 220 161 *~; +#X obj 236 139 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#N canvas 0 22 458 308 peakit~ 0; +#X obj 59 69 inlet~; +#X obj 309 94 switch~ 1024 1 1; +#X obj 309 69 inlet; +#X obj 135 126 rfft~; +#X obj 133 158 peakit~ 0; +#X obj 190 68 inlet; +#X text 7 17 This is in a subpatch so that the block size can be changed +with the [switch~] object. Its set to 1024 here.; +#X obj 213 244 outlet; +#X obj 50 245 outlet; +#X connect 0 0 3 0; +#X connect 2 0 1 0; +#X connect 3 0 4 0; +#X connect 3 1 4 1; +#X connect 4 0 8 0; +#X connect 4 1 7 0; +#X connect 5 0 4 2; +#X restore 168 262 pd peakit~; +#X obj 202 138 osc~; +#X obj 205 98 hsl 128 15 50 500 1 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 8100 0; +#X floatatom 211 118 5 0 0 0 - - -; +#X connect 1 0 10 0; +#X connect 2 0 1 1; +#X connect 3 0 1 0; +#X connect 3 1 1 0; +#X connect 6 0 10 2; +#X connect 8 0 10 0; +#X connect 9 0 8 1; +#X connect 10 0 4 0; +#X connect 10 1 5 0; +#X connect 11 0 8 0; +#X connect 12 0 11 0; +#X connect 12 0 13 0; diff --git a/peakit~.c b/peakit~.c new file mode 100644 index 0000000..8fd5f9a --- /dev/null +++ b/peakit~.c @@ -0,0 +1,147 @@ +/* peakit~ - find frequencies and magnitudes of FFT peaks + * Copyright (C) 2005 Edward Kelly + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include "m_pd.h" +#include +#include + +static t_class *peakit_tilde_class; + +typedef struct _bin_store +{ + t_atom peaks[2048]; + t_atom indices[2048]; + t_atom theta[4096]; + t_atom t_prev[4096]; + t_atom t_delta[4096]; + t_atom peakfreqs[2048]; + t_float *f_real, *f_imag; +} t_bin_store; + +typedef struct _peakit_tilde +{ + t_object x_obj; + t_bin_store x_ctl; + t_int minmeth; + t_outlet *peaks_list, *mags_list; + t_float f_npeaks, f_minmag, f_dummy; +} t_peakit_tilde; + +t_int *peakit_tilde_perform(t_int *w) +{ + t_peakit_tilde *x = (t_peakit_tilde *)(w[1]); + t_bin_store *store = (t_bin_store *)(w[2]); + t_sample *profile = (t_sample *)(w[3]); + int n = (int)(w[4]); + t_float *real = store->f_real; + t_float *imag = store->f_imag; + int vector = n; + float s_rate = sys_getsr(); + float bin = s_rate/n; + float boff = bin/2; + float inexp; + float interp; + float minus_two = 0; + float minus_one = 0; + float alpha = 0; + float peakfreq; + float theta = 0; + float t_prev = 0; + float t_delta; + float pi=M_PI; + float twopi=2*pi; + t_int npeaks = 0; + int i, ndx; + + /* find peaks in fourier series */ + for (i = 0; i < n; i++) + { + alpha = sqrt(real[i] * real[i] + imag[i] * imag[i]); + theta = atan2(real[i], imag[i]); + t_prev = atom_getfloatarg(i, 16384, store->theta); + SETFLOAT (&store->t_prev[i], t_prev); + SETFLOAT (&store->theta[i], theta); + t_delta = (atom_getfloatarg(i, 16384, store->theta))-(atom_getfloatarg(i, 16384, store->t_prev)); + SETFLOAT (&store->t_delta[i], t_delta); + inexp = x->f_minmag * 1-(0.1*(log10(boff+i*bin))); + if (minus_twox->f_minmag && x->minmeth == 0) + { + SETFLOAT (&store->peaks[npeaks],minus_one); + SETFLOAT (&store->indices[npeaks],i-1); + npeaks++; + } + else if (minus_twox->f_minmag && x->minmeth == 0) + minus_two = minus_one; + minus_one = alpha; + } + for (i = 0; i < npeaks; i++) + { + ndx = atom_getfloatarg(i, 8192, store->indices); + t_delta = atom_getfloatarg(ndx, 16384, store->t_delta); + theta = atom_getfloatarg(ndx, 8192, store->theta); + t_prev = atom_getfloatarg(ndx, 8192, store->t_prev); + t_delta = (t_delta < -pi) ? (theta+twopi)-t_prev : (t_delta > pi) ? theta-(t_prev+twopi) : t_delta; + peakfreq = (ndx * bin + (boff * -(t_delta/pi))); + SETFLOAT (&store->peakfreqs[i], peakfreq); + } + outlet_list(x->mags_list, gensym("list"), (npeaks - 1), store->peaks); + outlet_list(x->peaks_list, gensym("list"), (npeaks - 1), store->peakfreqs); + return(w+5); +} + +void peakit_tilde_iexp(t_peakit_tilde *x, t_floatarg f) +{ + x->minmeth = f; +} + +void *peakit_tilde_dsp(t_peakit_tilde *x, t_signal **sp) +{ + x->x_ctl.f_real = sp[0]->s_vec; + x->x_ctl.f_imag = sp[1]->s_vec; + dsp_add(peakit_tilde_perform, 4, x, &x->x_ctl, sp[0]->s_vec, sp[0]->s_n); + return (void *)x; +} + +void *peakit_tilde_new(t_floatarg f) +{ + t_peakit_tilde *x = (t_peakit_tilde *)pd_new(peakit_tilde_class); + x->f_minmag = f; + x->minmeth = 0; + memset(x->x_ctl.theta, 0, 8192); + inlet_new(&x->x_obj, &x->x_obj.ob_pd, &s_signal, &s_signal); + floatinlet_new(&x->x_obj, &x->f_minmag); + x->peaks_list = outlet_new(&x->x_obj, &s_list); + x->mags_list = outlet_new(&x->x_obj, &s_list); + return (void *)x; +} + +void peakit_tilde_setup(void) +{ + peakit_tilde_class = class_new(gensym("peakit~"), + (t_newmethod)peakit_tilde_new, + 0, sizeof(t_peakit_tilde), + CLASS_DEFAULT, A_DEFFLOAT, 0); + + post("|--<>---<>---<>--<>---<>--|"); + post("|---<>--<>---<>----|"); + post("|-<>-----<>-<2005>--|"); + + + class_addmethod(peakit_tilde_class, (t_method)peakit_tilde_dsp, gensym("dsp"), 0); + class_addmethod(peakit_tilde_class, (t_method)peakit_tilde_iexp, &s_float, A_DEFFLOAT, 0); + CLASS_MAINSIGNALIN(peakit_tilde_class, t_peakit_tilde, f_dummy); +} diff --git a/peakit~/README.txt b/peakit~/README.txt deleted file mode 100644 index 427e349..0000000 --- a/peakit~/README.txt +++ /dev/null @@ -1,8 +0,0 @@ -peakit~ - find frequency peaks of an FFT and output lists of frequencies and magnitudes. - -(c) Edward Kelly 2005. This software is subject to the GNU General Public License, and may be freely copied, distributed and modified. - -You will need the listmoses external to make the best use of this software, and to run the peakit-listmoses demonstration patches in the help file. - -Have fun! -Ed Kelly diff --git a/peakit~/license.txt b/peakit~/license.txt deleted file mode 100644 index 353aef4..0000000 --- a/peakit~/license.txt +++ /dev/null @@ -1,31 +0,0 @@ -This software is copyrighted by Edward Kelly. The following -terms apply to all files associated with the software unless explicitly -disclaimed in individual files. - -The authors hereby grant permission to use, copy, modify, distribute, -and license this software and its documentation for any purpose, provided -that existing copyright notices are retained in all copies and that this -notice is included verbatim in any distributions. No written agreement, -license, or royalty fee is required for any of the authorized uses. -Modifications to this software may be copyrighted by their authors -and need not follow the licensing terms described here, provided that -the new terms are clearly indicated on the first page of each file where -they apply. - -IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY -FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY -DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. - -THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, -INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE -IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE -NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR -MODIFICATIONS. - -RESTRICTED RIGHTS: Use, duplication or disclosure by the government -is subject to the restrictions as set forth in subparagraph (c) (1) (ii) -of the Rights in Technical Data and Computer Software Clause as DFARS -252.227-7013 and FAR 52.227-19. diff --git a/peakit~/makefile b/peakit~/makefile deleted file mode 100644 index 3665230..0000000 --- a/peakit~/makefile +++ /dev/null @@ -1,105 +0,0 @@ -current: - echo make pd_linux, pd_nt, pd_irix5, pd_irix6 or pd_darwin, then make install - -clean: ; rm -f *.pd_* *.o - -# ----------------------- NT ----------------------- - -pd_nt: peakit~.dll - -INSTALL_PREFIX="C:\pd\extra" -EXT=dll -.SUFFIXES: .obj .dll - -PDNTCFLAGS = /W3 /WX /DNT /DPD /nologo -VC="D:\Program Files\Microsoft Visual Studio\Vc98" - -PDNTINCLUDE = /I. /I\tcl\include /I..\..\src /I$(VC)\include - -PDNTLDIR = $(VC)\lib -PDNTLIB = $(PDNTLDIR)\libc.lib \ - $(PDNTLDIR)\oldnames.lib \ - $(PDNTLDIR)\kernel32.lib \ - ..\..\bin\pd.lib - -.c.dll: - cl $(PDNTCFLAGS) $(PDNTINCLUDE) /c $*.c - link /dll /export:$*_setup $*.obj $(PDNTLIB) - -# ----------------------- IRIX 5.x ----------------------- - -pd_irix5: peakit~.pd_irix5 - -INSTALL_PREFIX=/usr/local -EXT=pd_irix5 -.SUFFIXES: .pd_irix5 - -SGICFLAGS5 = -o32 -DPD -DUNIX -DIRIX -O2 - -SGIINCLUDE = -I/usr/local/include - -.c.pd_irix5: - cc $(SGICFLAGS5) $(SGIINCLUDE) -o $*.o -c $*.c - ld -elf -shared -rdata_shared -o $*.pd_irix5 $*.o - rm $*.o - -# ----------------------- IRIX 5.x ----------------------- - -pd_irix6: peakit~.pd_irix6 - -INSTALL_PREFIX=/usr/local -EXT=pd_irix6 -.SUFFIXES: .pd_irix6 - -SGICFLAGS5 = -o32 -DPD -DUNIX -DIRIX -O2 - -SGIINCLUDE = -I/usr/local/include - -.c.pd_irix6: - cc $(SGICFLAGS5) $(SGIINCLUDE) -o $*.o -c $*.c - ld -elf -shared -rdata_shared -o $*.pd_irix6 $*.o - rm $*.o - -# ----------------------- LINUX i386 ----------------------- - -pd_linux: peakit~.pd_linux - -INSTALL_PREFIX=/usr/local -EXT=pd_linux -.SUFFIXES: .pd_linux - -LINUXCFLAGS = -DPD -O2 -funroll-loops -fomit-frame-pointer \ - -Wall -W -Wshadow -Wstrict-prototypes -Werror \ - -Wno-unused -Wno-parentheses -Wno-switch - -LINUXINCLUDE = -I/usr/local/include - -.c.pd_linux: - cc $(LINUXCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c - ld --export-dynamic -shared -o $*.pd_linux $*.o -lc -lm - strip --strip-unneeded $*.pd_linux - rm $*.o - -# ----------------------- Mac OSX ----------------------- - -pd_darwin: peakit~.pd_darwin - -INSTALL_PREFIX=/usr/local -EXT=pd_darwin -.SUFFIXES: .pd_darwin - -DARWINCFLAGS = -DPD -O2 -Wall -W -Wshadow -Wstrict-prototypes \ - -Wno-unused -Wno-parentheses -Wno-switch - -.c.pd_darwin: - cc $(DARWINCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c - cc -bundle -undefined suppress -flat_namespace -o $*.pd_darwin $*.o - rm -f $*.o - -# ---------------------------------------------- - -install:: - install -d $(INSTALL_PREFIX)/lib/pd/extra -# install -m 644 *.$(EXT) $(INSTALL_PREFIX)/lib/pd/externs - -install -m 644 peakit~.$(EXT) $(INSTALL_PREFIX)/lib/pd/extra - install -m 644 *.pd $(INSTALL_PREFIX)/lib/pd/doc/5.reference diff --git a/peakit~/peakit-listmoses.pd b/peakit~/peakit-listmoses.pd deleted file mode 100644 index 0075dc6..0000000 --- a/peakit~/peakit-listmoses.pd +++ /dev/null @@ -1,362 +0,0 @@ -#N canvas 0 0 769 391 10; -#N canvas 0 0 450 300 peakit 0; -#X obj 183 102 rfft~; -#X obj 184 57 inlet~; -#X obj 183 157 outlet; -#X obj 227 157 outlet; -#X obj 242 90 inlet; -#X obj 183 140 peakit~ 0; -#X text 89 185 argument sets minimum magnitude to report; -#X obj 315 76 switch~ 1024 1 1; -#X obj 315 51 inlet; -#X connect 0 0 5 0; -#X connect 0 1 5 1; -#X connect 1 0 0 0; -#X connect 4 0 5 2; -#X connect 5 0 2 0; -#X connect 5 1 3 0; -#X connect 8 0 7 0; -#X restore 447 134 pd peakit; -#X floatatom 447 69 5 0 0 0 - - -; -#X floatatom 237 168 0 0 0 0 - - -; -#X floatatom 288 168 0 0 0 0 - - -; -#X floatatom 339 168 0 0 0 0 - - -; -#X floatatom 390 168 0 0 0 0 - - -; -#X floatatom 441 168 0 0 0 0 - - -; -#X floatatom 492 168 0 0 0 0 - - -; -#X floatatom 529 168 0 0 0 0 - - -; -#X floatatom 580 168 0 0 0 0 - - -; -#X obj 367 256 listmoses; -#X floatatom 458 242 5 0 0 0 - - -; -#X floatatom 523 242 5 0 0 0 - - -; -#X obj 458 225 unpack f f; -#X floatatom 476 120 3 0 500 2 magnitude-threshold - -; -#X obj 458 191 loadbang; -#X msg 447 52 440; -#X obj 447 35 loadbang; -#X text 13 58 peakit~ finds the frequencies of each peak in an FFT -vector \, which it outputs as a list from the left outlet. It separates -out the magnitudes of those peaks also \, which it outputs from it's -right output. Right-to-left order is preserved so that the object may -be used with the listmoses external.; -#X msg 458 208 300 800; -#N canvas 0 0 615 349 sources 0; -#X obj 37 99 osc~ 440; -#X obj 135 82 sig~; -#X obj 135 99 phasor~ 440; -#X obj 134 121 -~ 0.5; -#X obj 244 100 tabplay~ testinput; -#X obj 65 35 inlet; -#X obj 302 22 inlet; -#X obj 372 100 spigot; -#X obj 302 39 route bang float; -#X obj 31 210 *~ 1; -#X obj 75 210 *~ 0; -#X msg 209 174 1; -#X msg 209 193 0; -#X obj 209 155 sel 0 1 2; -#X msg 232 174 1; -#X msg 232 193 0; -#X msg 255 174 1; -#X msg 255 193 0; -#X obj 119 210 *~ 0; -#X obj 75 251 outlet~; -#X obj 209 138 r \$0-select-input; -#X msg 160 245 set sine; -#X msg 218 245 set sawtooth; -#X msg 304 245 set sample; -#X obj 197 290 s \$0-label; -#X msg 413 67 bang; -#X obj 436 102 openpanel; -#X msg 436 119 read -resize \$1 testinput; -#X obj 436 136 soundfiler; -#X obj 452 203 loadbang; -#X obj 452 248 s \$0-main-on; -#X msg 452 225 1; -#X connect 0 0 9 0; -#X connect 1 0 2 0; -#X connect 2 0 3 0; -#X connect 3 0 10 0; -#X connect 4 0 18 0; -#X connect 4 1 7 0; -#X connect 5 0 0 0; -#X connect 5 0 1 0; -#X connect 6 0 8 0; -#X connect 7 0 4 0; -#X connect 8 0 4 0; -#X connect 8 1 7 1; -#X connect 8 2 25 0; -#X connect 9 0 19 0; -#X connect 10 0 19 0; -#X connect 11 0 9 1; -#X connect 12 0 9 1; -#X connect 13 0 11 0; -#X connect 13 0 15 0; -#X connect 13 0 17 0; -#X connect 13 0 21 0; -#X connect 13 1 12 0; -#X connect 13 1 14 0; -#X connect 13 1 17 0; -#X connect 13 1 22 0; -#X connect 13 2 12 0; -#X connect 13 2 15 0; -#X connect 13 2 16 0; -#X connect 13 2 23 0; -#X connect 14 0 10 1; -#X connect 15 0 10 1; -#X connect 16 0 18 1; -#X connect 17 0 18 1; -#X connect 18 0 19 0; -#X connect 20 0 13 0; -#X connect 21 0 24 0; -#X connect 22 0 24 0; -#X connect 23 0 24 0; -#X connect 25 0 26 0; -#X connect 26 0 27 0; -#X connect 27 0 28 0; -#X connect 29 0 31 0; -#X connect 31 0 30 0; -#X restore 447 86 pd sources; -#X obj 546 69 tgl 17 0 empty empty loop-sample 0 -6 0 8 -262144 -1 --1 0 1; -#N canvas 0 0 450 300 graph1 0; -#X array testinput 100 float 3; -#A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0; -#X coords 0 1 99 -1 100 70 1; -#X restore 642 130 graph; -#X obj 513 27 hradio 15 1 0 3 \$0-select-input empty source 0 -6 0 -8 -262144 -1 -1 0; -#X obj 521 69 bng 17 250 50 0 empty empty play 0 -6 0 8 -262144 -1 --1; -#X symbolatom 513 42 8 0 0 0 - #0-label -; -#X msg 570 69 load; -#N canvas 0 0 763 487 amp-segregation 0; -#X obj 36 148 listswap; -#X obj 37 49 tabplay~ testinput; -#N canvas 0 0 450 300 peakit 0; -#X obj 70 58 inlet~; -#X obj 67 95 rfft~; -#X obj 67 122 peakit~; -#X obj 67 152 outlet; -#X obj 116 152 outlet; -#X obj 200 125 switch~ 1024 1 1; -#X obj 201 95 inlet; -#X connect 0 0 1 0; -#X connect 1 0 2 0; -#X connect 1 1 2 1; -#X connect 2 0 3 0; -#X connect 2 1 4 0; -#X connect 6 0 5 0; -#X restore 36 118 pd peakit; -#X obj 118 92 tgl 15 0 empty empty on 0 -6 0 12 -262144 -1 -1 0 1; -#X obj 171 49 spigot; -#X obj 222 49 tgl 15 0 empty empty loop 0 -6 0 8 -262144 -1 -1 0 1 -; -#X obj 37 34 bng 15 250 50 0 empty empty play 0 -6 0 8 -262144 -1 -1 -; -#X obj 36 207 listmoses; -#X msg 113 138 10 100; -#X obj 113 155 unpack f f; -#X floatatom 113 172 5 0 0 0 - - -; -#X floatatom 178 172 5 0 0 0 - - -; -#X obj 113 121 loadbang; -#X floatatom 393 319 0 0 0 0 - - -; -#X floatatom 424 302 0 0 0 0 - - -; -#X floatatom 455 285 0 0 0 0 - - -; -#X floatatom 486 268 0 0 0 0 - - -; -#X floatatom 541 319 0 0 0 0 - - -; -#X floatatom 572 302 0 0 0 0 - - -; -#X floatatom 603 285 0 0 0 0 - - -; -#X floatatom 634 268 0 0 0 0 - - -; -#X floatatom 245 320 0 0 0 0 - - -; -#X floatatom 276 302 0 0 0 0 - - -; -#X floatatom 307 285 0 0 0 0 - - -; -#X floatatom 338 268 0 0 0 0 - - -; -#X text 413 235 freqs-MID; -#X obj 245 251 unpack f f f f; -#X obj 393 251 unpack f f f f; -#X obj 541 251 unpack f f f f; -#X text 560 234 freqs-LOUD; -#X text 260 235 freqs-QUIET; -#X floatatom 184 423 0 0 0 0 - - -; -#X floatatom 215 406 0 0 0 0 - - -; -#X floatatom 246 389 0 0 0 0 - - -; -#X floatatom 277 372 0 0 0 0 - - -; -#X floatatom 332 423 0 0 0 0 - - -; -#X floatatom 363 406 0 0 0 0 - - -; -#X floatatom 394 389 0 0 0 0 - - -; -#X floatatom 425 372 0 0 0 0 - - -; -#X floatatom 36 424 0 0 0 0 - - -; -#X floatatom 67 406 0 0 0 0 - - -; -#X floatatom 98 389 0 0 0 0 - - -; -#X floatatom 129 372 0 0 0 0 - - -; -#X obj 36 355 unpack f f f f; -#X obj 184 355 unpack f f f f; -#X obj 332 355 unpack f f f f; -#X text 51 339 mags-QUIET; -#X text 204 339 mags-MID; -#X text 351 338 mags-LOUD; -#X text 336 251 f...; -#X text 484 251 f...; -#X text 632 251 f...; -#X text 127 355 f...; -#X text 275 355 f...; -#X text 423 355 f...; -#X text 243 85 peakit~ / listmoses can also be used to segregate frequencies -according to their power. You nee the listswap abstraction for this. -1st 4 elements of each list shown...; -#X connect 0 0 7 0; -#X connect 0 1 7 1; -#X connect 1 0 2 0; -#X connect 1 1 4 0; -#X connect 2 0 0 0; -#X connect 2 1 0 1; -#X connect 3 0 2 1; -#X connect 4 0 1 0; -#X connect 5 0 4 1; -#X connect 6 0 1 0; -#X connect 7 0 43 0; -#X connect 7 1 44 0; -#X connect 7 2 45 0; -#X connect 7 3 26 0; -#X connect 7 4 27 0; -#X connect 7 5 28 0; -#X connect 8 0 9 0; -#X connect 9 0 10 0; -#X connect 9 1 11 0; -#X connect 10 0 7 2; -#X connect 11 0 7 3; -#X connect 12 0 8 0; -#X connect 26 0 21 0; -#X connect 26 1 22 0; -#X connect 26 2 23 0; -#X connect 26 3 24 0; -#X connect 27 0 13 0; -#X connect 27 1 14 0; -#X connect 27 2 15 0; -#X connect 27 3 16 0; -#X connect 28 0 17 0; -#X connect 28 1 18 0; -#X connect 28 2 19 0; -#X connect 28 3 20 0; -#X connect 43 0 39 0; -#X connect 43 1 40 0; -#X connect 43 2 41 0; -#X connect 43 3 42 0; -#X connect 44 0 31 0; -#X connect 44 1 32 0; -#X connect 44 2 33 0; -#X connect 44 3 34 0; -#X connect 45 0 35 0; -#X connect 45 1 36 0; -#X connect 45 2 37 0; -#X connect 45 3 38 0; -#X restore 69 235 pd amp-segregation; -#X obj 613 119 tgl 15 0 empty \$0-main-on on 0 -6 0 8 -262144 -1 -1 -0 1; -#X floatatom 146 389 0 0 0 0 - - -; -#X floatatom 177 372 0 0 0 0 - - -; -#X floatatom 208 355 0 0 0 0 - - -; -#X floatatom 239 338 0 0 0 0 - - -; -#X floatatom 269 389 0 0 0 0 - - -; -#X floatatom 300 372 0 0 0 0 - - -; -#X floatatom 331 355 0 0 0 0 - - -; -#X floatatom 362 338 0 0 0 0 - - -; -#X floatatom 23 390 0 0 0 0 - - -; -#X floatatom 54 372 0 0 0 0 - - -; -#X floatatom 85 355 0 0 0 0 - - -; -#X floatatom 116 338 0 0 0 0 - - -; -#X text 166 305 freqs-MID; -#X obj 23 321 unpack f f f f; -#X obj 146 321 unpack f f f f; -#X obj 269 321 unpack f f f f; -#X floatatom 516 389 0 0 0 0 - - -; -#X floatatom 547 372 0 0 0 0 - - -; -#X floatatom 578 355 0 0 0 0 - - -; -#X floatatom 609 338 0 0 0 0 - - -; -#X floatatom 640 389 0 0 0 0 - - -; -#X floatatom 671 372 0 0 0 0 - - -; -#X floatatom 702 355 0 0 0 0 - - -; -#X floatatom 733 338 0 0 0 0 - - -; -#X floatatom 392 390 0 0 0 0 - - -; -#X floatatom 423 372 0 0 0 0 - - -; -#X floatatom 454 355 0 0 0 0 - - -; -#X floatatom 485 338 0 0 0 0 - - -; -#X obj 392 321 unpack f f f f; -#X obj 516 321 unpack f f f f; -#X obj 640 321 unpack f f f f; -#X text 536 305 mags-MID; -#X text 114 321 f...; -#X text 237 321 f...; -#X text 360 321 f...; -#X text 483 321 f...; -#X text 607 321 f...; -#X text 731 321 f...; -#X text 407 305 mags-LOW; -#X text 659 305 mags-HIGH; -#X text 38 305 freqs-LOW; -#X text 288 304 freqs-HIGH; -#X obj 313 151 unpack f f f f f f f f; -#X text 329 133 it's in here--->; -#X obj 17 21 peakit~; -#X text 17 21 peakit~ - FFT peak frequencies and magnitudes; -#X text 85 37 (c) Edward Kelly 2005 - GNU GPL; -#X connect 0 0 10 0; -#X connect 0 0 71 0; -#X connect 0 1 10 1; -#X connect 1 0 20 0; -#X connect 10 0 42 0; -#X connect 10 1 43 0; -#X connect 10 2 44 0; -#X connect 10 3 57 0; -#X connect 10 4 58 0; -#X connect 10 5 59 0; -#X connect 11 0 10 2; -#X connect 12 0 10 3; -#X connect 13 0 11 0; -#X connect 13 1 12 0; -#X connect 14 0 0 1; -#X connect 15 0 19 0; -#X connect 16 0 1 0; -#X connect 17 0 16 0; -#X connect 19 0 13 0; -#X connect 20 0 0 0; -#X connect 21 0 20 1; -#X connect 24 0 20 1; -#X connect 26 0 20 1; -#X connect 28 0 0 2; -#X connect 42 0 37 0; -#X connect 42 1 38 0; -#X connect 42 2 39 0; -#X connect 42 3 40 0; -#X connect 43 0 29 0; -#X connect 43 1 30 0; -#X connect 43 2 31 0; -#X connect 43 3 32 0; -#X connect 44 0 33 0; -#X connect 44 1 34 0; -#X connect 44 2 35 0; -#X connect 44 3 36 0; -#X connect 57 0 53 0; -#X connect 57 1 54 0; -#X connect 57 2 55 0; -#X connect 57 3 56 0; -#X connect 58 0 45 0; -#X connect 58 1 46 0; -#X connect 58 2 47 0; -#X connect 58 3 48 0; -#X connect 59 0 49 0; -#X connect 59 1 50 0; -#X connect 59 2 51 0; -#X connect 59 3 52 0; -#X connect 71 0 2 0; -#X connect 71 1 3 0; -#X connect 71 2 4 0; -#X connect 71 3 5 0; -#X connect 71 4 6 0; -#X connect 71 5 7 0; -#X connect 71 6 8 0; -#X connect 71 7 9 0; diff --git a/peakit~/peakit~-help.pd b/peakit~/peakit~-help.pd deleted file mode 100644 index 276f4d7..0000000 --- a/peakit~/peakit~-help.pd +++ /dev/null @@ -1,49 +0,0 @@ -#N canvas 183 261 585 491 10; -#X text 267 241 argument sets minimum magnitude to report; -#X obj 150 161 *~; -#X obj 166 139 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 -1; -#X obj 132 138 adc~; -#X obj 106 347 print; -#X obj 269 346 print; -#X obj 245 208 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 -1; -#X text 263 207 turn processing on or off; -#X obj 220 161 *~; -#X obj 236 139 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 -1; -#N canvas 0 22 458 308 peakit~ 0; -#X obj 59 69 inlet~; -#X obj 309 94 switch~ 1024 1 1; -#X obj 309 69 inlet; -#X obj 135 126 rfft~; -#X obj 133 158 peakit~ 0; -#X obj 190 68 inlet; -#X text 7 17 This is in a subpatch so that the block size can be changed -with the [switch~] object. Its set to 1024 here.; -#X obj 213 244 outlet; -#X obj 50 245 outlet; -#X connect 0 0 3 0; -#X connect 2 0 1 0; -#X connect 3 0 4 0; -#X connect 3 1 4 1; -#X connect 4 0 8 0; -#X connect 4 1 7 0; -#X connect 5 0 4 2; -#X restore 168 262 pd peakit~; -#X obj 202 138 osc~; -#X obj 205 98 hsl 128 15 50 500 1 0 empty empty empty -2 -6 0 8 -262144 --1 -1 8100 0; -#X floatatom 211 118 5 0 0 0 - - -; -#X connect 1 0 10 0; -#X connect 2 0 1 1; -#X connect 3 0 1 0; -#X connect 3 1 1 0; -#X connect 6 0 10 2; -#X connect 8 0 10 0; -#X connect 9 0 8 1; -#X connect 10 0 4 0; -#X connect 10 1 5 0; -#X connect 11 0 8 0; -#X connect 12 0 11 0; -#X connect 12 0 13 0; diff --git a/peakit~/peakit~.c b/peakit~/peakit~.c deleted file mode 100644 index 8fd5f9a..0000000 --- a/peakit~/peakit~.c +++ /dev/null @@ -1,147 +0,0 @@ -/* peakit~ - find frequencies and magnitudes of FFT peaks - * Copyright (C) 2005 Edward Kelly - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "m_pd.h" -#include -#include - -static t_class *peakit_tilde_class; - -typedef struct _bin_store -{ - t_atom peaks[2048]; - t_atom indices[2048]; - t_atom theta[4096]; - t_atom t_prev[4096]; - t_atom t_delta[4096]; - t_atom peakfreqs[2048]; - t_float *f_real, *f_imag; -} t_bin_store; - -typedef struct _peakit_tilde -{ - t_object x_obj; - t_bin_store x_ctl; - t_int minmeth; - t_outlet *peaks_list, *mags_list; - t_float f_npeaks, f_minmag, f_dummy; -} t_peakit_tilde; - -t_int *peakit_tilde_perform(t_int *w) -{ - t_peakit_tilde *x = (t_peakit_tilde *)(w[1]); - t_bin_store *store = (t_bin_store *)(w[2]); - t_sample *profile = (t_sample *)(w[3]); - int n = (int)(w[4]); - t_float *real = store->f_real; - t_float *imag = store->f_imag; - int vector = n; - float s_rate = sys_getsr(); - float bin = s_rate/n; - float boff = bin/2; - float inexp; - float interp; - float minus_two = 0; - float minus_one = 0; - float alpha = 0; - float peakfreq; - float theta = 0; - float t_prev = 0; - float t_delta; - float pi=M_PI; - float twopi=2*pi; - t_int npeaks = 0; - int i, ndx; - - /* find peaks in fourier series */ - for (i = 0; i < n; i++) - { - alpha = sqrt(real[i] * real[i] + imag[i] * imag[i]); - theta = atan2(real[i], imag[i]); - t_prev = atom_getfloatarg(i, 16384, store->theta); - SETFLOAT (&store->t_prev[i], t_prev); - SETFLOAT (&store->theta[i], theta); - t_delta = (atom_getfloatarg(i, 16384, store->theta))-(atom_getfloatarg(i, 16384, store->t_prev)); - SETFLOAT (&store->t_delta[i], t_delta); - inexp = x->f_minmag * 1-(0.1*(log10(boff+i*bin))); - if (minus_twox->f_minmag && x->minmeth == 0) - { - SETFLOAT (&store->peaks[npeaks],minus_one); - SETFLOAT (&store->indices[npeaks],i-1); - npeaks++; - } - else if (minus_twox->f_minmag && x->minmeth == 0) - minus_two = minus_one; - minus_one = alpha; - } - for (i = 0; i < npeaks; i++) - { - ndx = atom_getfloatarg(i, 8192, store->indices); - t_delta = atom_getfloatarg(ndx, 16384, store->t_delta); - theta = atom_getfloatarg(ndx, 8192, store->theta); - t_prev = atom_getfloatarg(ndx, 8192, store->t_prev); - t_delta = (t_delta < -pi) ? (theta+twopi)-t_prev : (t_delta > pi) ? theta-(t_prev+twopi) : t_delta; - peakfreq = (ndx * bin + (boff * -(t_delta/pi))); - SETFLOAT (&store->peakfreqs[i], peakfreq); - } - outlet_list(x->mags_list, gensym("list"), (npeaks - 1), store->peaks); - outlet_list(x->peaks_list, gensym("list"), (npeaks - 1), store->peakfreqs); - return(w+5); -} - -void peakit_tilde_iexp(t_peakit_tilde *x, t_floatarg f) -{ - x->minmeth = f; -} - -void *peakit_tilde_dsp(t_peakit_tilde *x, t_signal **sp) -{ - x->x_ctl.f_real = sp[0]->s_vec; - x->x_ctl.f_imag = sp[1]->s_vec; - dsp_add(peakit_tilde_perform, 4, x, &x->x_ctl, sp[0]->s_vec, sp[0]->s_n); - return (void *)x; -} - -void *peakit_tilde_new(t_floatarg f) -{ - t_peakit_tilde *x = (t_peakit_tilde *)pd_new(peakit_tilde_class); - x->f_minmag = f; - x->minmeth = 0; - memset(x->x_ctl.theta, 0, 8192); - inlet_new(&x->x_obj, &x->x_obj.ob_pd, &s_signal, &s_signal); - floatinlet_new(&x->x_obj, &x->f_minmag); - x->peaks_list = outlet_new(&x->x_obj, &s_list); - x->mags_list = outlet_new(&x->x_obj, &s_list); - return (void *)x; -} - -void peakit_tilde_setup(void) -{ - peakit_tilde_class = class_new(gensym("peakit~"), - (t_newmethod)peakit_tilde_new, - 0, sizeof(t_peakit_tilde), - CLASS_DEFAULT, A_DEFFLOAT, 0); - - post("|--<>---<>---<>--<>---<>--|"); - post("|---<>--<>---<>----|"); - post("|-<>-----<>-<2005>--|"); - - - class_addmethod(peakit_tilde_class, (t_method)peakit_tilde_dsp, gensym("dsp"), 0); - class_addmethod(peakit_tilde_class, (t_method)peakit_tilde_iexp, &s_float, A_DEFFLOAT, 0); - CLASS_MAINSIGNALIN(peakit_tilde_class, t_peakit_tilde, f_dummy); -} diff --git a/peakit~_license.txt b/peakit~_license.txt new file mode 100644 index 0000000..353aef4 --- /dev/null +++ b/peakit~_license.txt @@ -0,0 +1,31 @@ +This software is copyrighted by Edward Kelly. The following +terms apply to all files associated with the software unless explicitly +disclaimed in individual files. + +The authors hereby grant permission to use, copy, modify, distribute, +and license this software and its documentation for any purpose, provided +that existing copyright notices are retained in all copies and that this +notice is included verbatim in any distributions. No written agreement, +license, or royalty fee is required for any of the authorized uses. +Modifications to this software may be copyrighted by their authors +and need not follow the licensing terms described here, provided that +the new terms are clearly indicated on the first page of each file where +they apply. + +IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY +FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY +DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE +IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE +NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR +MODIFICATIONS. + +RESTRICTED RIGHTS: Use, duplication or disclosure by the government +is subject to the restrictions as set forth in subparagraph (c) (1) (ii) +of the Rights in Technical Data and Computer Software Clause as DFARS +252.227-7013 and FAR 52.227-19. diff --git a/polymap-help.pd b/polymap-help.pd new file mode 100644 index 0000000..292f95e --- /dev/null +++ b/polymap-help.pd @@ -0,0 +1,62 @@ +#N canvas 0 0 690 434 10; +#X obj 502 26 sieve; +#X obj 545 26 maskxor; +#X obj 26 26 polymap; +#X obj 438 26 polystat; +#X text 82 26 two-dimensional polyphony-restricted map. see also; +#X text 23 47 Poly map contains a 32x32 matrix in which values may +be stored. However \, only a set number of these values may be stored +as set by the right inlet \, and if this total is reached no more may +be stored until one is set to 0 again.; +#X floatatom 338 258 5 1 16 1 max_poly - -; +#X obj 92 334 polymap 3; +#X msg 45 199 note 4 2 1; +#X msg 68 233 note 10 4 0.756; +#X msg 77 250 note 11 4 1; +#X msg 57 216 note 6 8 3; +#X floatatom 116 364 5 0 0 3 new_y - -; +#X msg 223 199 note 4 2 0; +#X msg 230 216 note 6 8 0; +#X msg 237 233 note 10 4 0; +#X msg 244 250 note 11 4 0; +#X floatatom 170 364 5 0 0 3 polyphony - -; +#X floatatom 61 364 5 0 0 3 freed_x - -; +#X obj 226 361 print overflow; +#X text 24 149 noteons; +#X msg 337 297 print; +#X msg 337 317 print32; +#X text 379 297 print first 16x16; +#X text 392 317 print whole matrix; +#X msg 337 277 clear; +#X msg 18 165 note 1 1 1; +#X msg 32 182 note 2 2 1; +#X text 377 277 clear matrix; +#X msg 337 235 note 1 0 1; +#X msg 209 165 note 1 1 0; +#X msg 216 182 note 2 2 0; +#X text 416 235 voice_x and voice_y both start at 1; +#X text 158 335 initialization argument sets maximum polyphony; +#X text 23 100 Values are stored as messages in the form [note x y +value( where value is either 0 or some other value.; +#X text 217 147 noteoffs; +#X connect 6 0 7 1; +#X connect 7 0 18 0; +#X connect 7 1 12 0; +#X connect 7 2 17 0; +#X connect 7 3 19 0; +#X connect 8 0 7 0; +#X connect 9 0 7 0; +#X connect 10 0 7 0; +#X connect 11 0 7 0; +#X connect 13 0 7 0; +#X connect 14 0 7 0; +#X connect 15 0 7 0; +#X connect 16 0 7 0; +#X connect 21 0 7 0; +#X connect 22 0 7 0; +#X connect 25 0 7 0; +#X connect 26 0 7 0; +#X connect 27 0 7 0; +#X connect 29 0 7 0; +#X connect 30 0 7 0; +#X connect 31 0 7 0; diff --git a/polymap.c b/polymap.c new file mode 100644 index 0000000..f2e2523 --- /dev/null +++ b/polymap.c @@ -0,0 +1,206 @@ +#include "m_pd.h" +#include +#include +#define MAXPOLY 32 +#define POLYMAP 1024 + +/* The polymap is a two-dimensional array, but here instead of this we have a one dimensional array of length MAXPOLY^2 */ + +static t_class *polymap_class; + +typedef struct _map +{ + t_atom polybins[MAXPOLY]; + t_atom polymap[POLYMAP]; + t_atom note[3]; +} t_map; + +typedef struct _polymap +{ + t_object x_obj; + t_map x_map; + t_float maxpoly, polynow; + t_outlet *note, *new, *poly, *overflow; +} t_polymap; + + +/* perhaps polymap_note could be called from the sieve function, thus only setting up a matrix when a relevant sequencer is mentioned */ +void polymap_note(t_polymap *x, t_floatarg whosent, t_floatarg whoam, t_floatarg ono) +{ + int voicenow, mapindex, voicepoly, whosentme; + SETFLOAT(&x->x_map.note[0], whosent); + SETFLOAT(&x->x_map.note[1], whoam); + SETFLOAT(&x->x_map.note[2], ono); + whosentme = (int)whosent; + mapindex = (int)((whosent-1)+(whoam-1)*32); + if(ono==0) + { + voicenow = atom_getfloatarg(mapindex, POLYMAP, x->x_map.polymap); + if(voicenow>0&&mapindex>=0) + { + voicepoly = atom_getfloatarg(whosentme, MAXPOLY, x->x_map.polybins); + voicepoly--; + x->polynow--; + SETFLOAT(&x->x_map.polybins[whosentme], voicepoly); + SETFLOAT(&x->x_map.polymap[mapindex], 0); + outlet_float(x->poly, x->polynow); + if(x->polynowmaxpoly) + { + outlet_float(x->note, whosentme); + } + } + else outlet_list(x->overflow, &s_list, 3, x->x_map.note); + } + else + { + voicenow = atom_getfloatarg(mapindex, POLYMAP, x->x_map.polymap); + if(voicenow==0&&x->polynowmaxpoly&&mapindex>=0) + { + voicepoly = atom_getfloatarg(whosentme, MAXPOLY, x->x_map.polybins); + voicepoly++; + x->polynow++; + SETFLOAT(&x->x_map.polybins[whosentme], voicepoly); + SETFLOAT(&x->x_map.polymap[mapindex], 1); + outlet_float(x->poly, x->polynow); + outlet_float(x->new, whoam); + } + else if(voicenow==0) outlet_list(x->overflow, &s_list, 3, x->x_map.note); + } +} + +void polymap_print(t_polymap *x) +{ + int a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, indx; + post("polymap - first 16x16"); + post(" 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16"); + for(indx=0;indx<16;indx++) + { + a = atom_getfloatarg((indx*32), POLYMAP, x->x_map.polymap); + b = atom_getfloatarg((indx*32)+1, POLYMAP, x->x_map.polymap); + c = atom_getfloatarg((indx*32)+2, POLYMAP, x->x_map.polymap); + d = atom_getfloatarg((indx*32)+3, POLYMAP, x->x_map.polymap); + e = atom_getfloatarg((indx*32)+4, POLYMAP, x->x_map.polymap); + f = atom_getfloatarg((indx*32)+5, POLYMAP, x->x_map.polymap); + g = atom_getfloatarg((indx*32)+6, POLYMAP, x->x_map.polymap); + h = atom_getfloatarg((indx*32)+7, POLYMAP, x->x_map.polymap); + i = atom_getfloatarg((indx*32)+8, POLYMAP, x->x_map.polymap); + j = atom_getfloatarg((indx*32)+9, POLYMAP, x->x_map.polymap); + k = atom_getfloatarg((indx*32)+10, POLYMAP, x->x_map.polymap); + l = atom_getfloatarg((indx*32)+11, POLYMAP, x->x_map.polymap); + m = atom_getfloatarg((indx*32)+12, POLYMAP, x->x_map.polymap); + n = atom_getfloatarg((indx*32)+13, POLYMAP, x->x_map.polymap); + o = atom_getfloatarg((indx*32)+14, POLYMAP, x->x_map.polymap); + p = atom_getfloatarg((indx*32)+15, POLYMAP, x->x_map.polymap); + if(indx<9) + post("%d :%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d", indx+1, a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p); + else if(indx>=9) + post("%d:%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d", indx+1, a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p); + } +} + +void polymap_print32(t_polymap *x) +{ + int a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, aa, bb, cc, dd, ee, ff, gg, hh, ii, jj, kk, ll, mm, nn, oo, pp, indx; + post("polymap - all 32x32"); + post(" 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32"); + post(" 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 "); + for(indx=0;indx<32;indx++) + { + a = atom_getfloatarg((indx*32), POLYMAP, x->x_map.polymap); + b = atom_getfloatarg((indx*32)+1, POLYMAP, x->x_map.polymap); + c = atom_getfloatarg((indx*32)+2, POLYMAP, x->x_map.polymap); + d = atom_getfloatarg((indx*32)+3, POLYMAP, x->x_map.polymap); + e = atom_getfloatarg((indx*32)+4, POLYMAP, x->x_map.polymap); + f = atom_getfloatarg((indx*32)+5, POLYMAP, x->x_map.polymap); + g = atom_getfloatarg((indx*32)+6, POLYMAP, x->x_map.polymap); + h = atom_getfloatarg((indx*32)+7, POLYMAP, x->x_map.polymap); + i = atom_getfloatarg((indx*32)+8, POLYMAP, x->x_map.polymap); + j = atom_getfloatarg((indx*32)+9, POLYMAP, x->x_map.polymap); + k = atom_getfloatarg((indx*32)+10, POLYMAP, x->x_map.polymap); + l = atom_getfloatarg((indx*32)+11, POLYMAP, x->x_map.polymap); + m = atom_getfloatarg((indx*32)+12, POLYMAP, x->x_map.polymap); + n = atom_getfloatarg((indx*32)+13, POLYMAP, x->x_map.polymap); + o = atom_getfloatarg((indx*32)+14, POLYMAP, x->x_map.polymap); + p = atom_getfloatarg((indx*32)+15, POLYMAP, x->x_map.polymap); + aa = atom_getfloatarg((indx*32)+16, POLYMAP, x->x_map.polymap); + bb = atom_getfloatarg((indx*32)+17, POLYMAP, x->x_map.polymap); + cc = atom_getfloatarg((indx*32)+18, POLYMAP, x->x_map.polymap); + dd = atom_getfloatarg((indx*32)+19, POLYMAP, x->x_map.polymap); + ee = atom_getfloatarg((indx*32)+20, POLYMAP, x->x_map.polymap); + ff = atom_getfloatarg((indx*32)+21, POLYMAP, x->x_map.polymap); + gg = atom_getfloatarg((indx*32)+22, POLYMAP, x->x_map.polymap); + hh = atom_getfloatarg((indx*32)+23, POLYMAP, x->x_map.polymap); + ii = atom_getfloatarg((indx*32)+24, POLYMAP, x->x_map.polymap); + jj = atom_getfloatarg((indx*32)+25, POLYMAP, x->x_map.polymap); + kk = atom_getfloatarg((indx*32)+26, POLYMAP, x->x_map.polymap); + ll = atom_getfloatarg((indx*32)+27, POLYMAP, x->x_map.polymap); + mm = atom_getfloatarg((indx*32)+28, POLYMAP, x->x_map.polymap); + nn = atom_getfloatarg((indx*32)+29, POLYMAP, x->x_map.polymap); + oo = atom_getfloatarg((indx*32)+30, POLYMAP, x->x_map.polymap); + pp = atom_getfloatarg((indx*32)+31, POLYMAP, x->x_map.polymap); + if(indx<9) + post("%d :%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d", indx+1, a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,aa,bb,cc,dd,ee,ff,gg,hh,ii,jj,kk,ll,mm,nn,oo,pp); + else if(indx>=9) + post("%d:%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d", indx+1, a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,aa,bb,cc,dd,ee,ff,gg,hh,ii,jj,kk,ll,mm,nn,oo,pp); + } +} + +void polymap_clear(t_polymap *x) +{ + int i; + for(i=0;ix_map.polymap[i], 0); + } + for(i=0;ix_map.polybins[i], 0); + } + for(i=0;i<2;i++) + { + SETFLOAT(&x->x_map.note[i], 0); + } + x->polynow=0; + outlet_float(x->poly, x->polynow); +} + +void *polymap_new(t_floatarg poly) +{ + t_polymap *x = (t_polymap *)pd_new(polymap_class); + int i; + for(i=0;ix_map.polymap[i], 0); + } + for(i=0;ix_map.polybins[i], 0); + } + for(i=0;i<2;i++) + { + SETFLOAT(&x->x_map.note[i], 0); + } + x->maxpoly = poly > 0 ? poly : 1; + floatinlet_new(&x->x_obj, &x->maxpoly); + x->note = outlet_new(&x->x_obj, &s_float); + x->new = outlet_new(&x->x_obj, &s_float); + x->poly = outlet_new(&x->x_obj, &s_float); + x->overflow = outlet_new(&x->x_obj, &s_list); + return (void *)x; +} + +void polymap_setup(void) +{ + polymap_class = class_new(gensym("polymap"), + (t_newmethod)polymap_new, + 0, sizeof(t_polymap), + 0, A_DEFFLOAT, 0); + post("|. . . . . . . . .polymap. . . . . . . . .|"); + post("|_- polyphonic chain reaction regulator -_|"); + post("| . . . . . .Edward Kelly 2006. . . . . . |"); + + class_addmethod(polymap_class, (t_method)polymap_note, gensym("note"), A_DEFFLOAT, A_DEFFLOAT, A_DEFFLOAT, 0); + class_addmethod(polymap_class, (t_method)polymap_clear, gensym("clear"), A_DEFFLOAT, 0); + class_addmethod(polymap_class, (t_method)polymap_print, gensym("print"), A_DEFFLOAT, 0); + class_addmethod(polymap_class, (t_method)polymap_print32, gensym("print32"), A_DEFFLOAT, 0); +} diff --git a/polymap/makefile b/polymap/makefile deleted file mode 100755 index 5eacfbf..0000000 --- a/polymap/makefile +++ /dev/null @@ -1,105 +0,0 @@ -current: - echo make pd_linux, pd_nt, pd_irix5, pd_irix6 or pd_darwin, then make install - -clean: ; rm -f *.pd_* *.o - -# ----------------------- NT ----------------------- - -pd_nt: polymap.dll - -INSTALL_PREFIX="C:\pd\extra" -EXT=dll -.SUFFIXES: .obj .dll - -PDNTCFLAGS = /W3 /WX /DNT /DPD /nologo -VC="D:\Program Files\Microsoft Visual Studio\Vc98" - -PDNTINCLUDE = /I. /I\tcl\include /I..\..\src /I$(VC)\include - -PDNTLDIR = $(VC)\lib -PDNTLIB = $(PDNTLDIR)\libc.lib \ - $(PDNTLDIR)\oldnames.lib \ - $(PDNTLDIR)\kernel32.lib \ - ..\..\bin\pd.lib - -.c.dll: - cl $(PDNTCFLAGS) $(PDNTINCLUDE) /c $*.c - link /dll /export:$*_setup $*.obj $(PDNTLIB) - -# ----------------------- IRIX 5.x ----------------------- - -pd_irix5: polymap.pd_irix5 - -INSTALL_PREFIX=/usr/local -EXT=pd_irix5 -.SUFFIXES: .pd_irix5 - -SGICFLAGS5 = -o32 -DPD -DUNIX -DIRIX -O2 - -SGIINCLUDE = -I/usr/local/include - -.c.pd_irix5: - cc $(SGICFLAGS5) $(SGIINCLUDE) -o $*.o -c $*.c - ld -elf -shared -rdata_shared -o $*.pd_irix5 $*.o - rm $*.o - -# ----------------------- IRIX 5.x ----------------------- - -pd_irix6: polymap.pd_irix6 - -INSTALL_PREFIX=/usr/local -EXT=pd_irix6 -.SUFFIXES: .pd_irix6 - -SGICFLAGS5 = -o32 -DPD -DUNIX -DIRIX -O2 - -SGIINCLUDE = -I/usr/local/include - -.c.pd_irix6: - cc $(SGICFLAGS5) $(SGIINCLUDE) -o $*.o -c $*.c - ld -elf -shared -rdata_shared -o $*.pd_irix6 $*.o - rm $*.o - -# ----------------------- LINUX i386 ----------------------- - -pd_linux: polymap.pd_linux - -INSTALL_PREFIX=/usr/local -EXT=pd_linux -.SUFFIXES: .pd_linux - -LINUXCFLAGS = -DPD -O2 -funroll-loops -fomit-frame-pointer \ - -Wall -W -Wshadow -Wstrict-prototypes -Werror \ - -Wno-unused -Wno-parentheses -Wno-switch - -LINUXINCLUDE = -I/usr/local/include - -.c.pd_linux: - cc $(LINUXCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c - ld --export-dynamic -shared -o $*.pd_linux $*.o -lc -lm - strip --strip-unneeded $*.pd_linux - rm $*.o - -# ----------------------- Mac OSX ----------------------- - -pd_darwin: polymap.pd_darwin - -INSTALL_PREFIX=/usr/local -EXT=pd_darwin -.SUFFIXES: .pd_darwin - -DARWINCFLAGS = -DPD -O2 -Wall -W -Wshadow -Wstrict-prototypes \ - -Wno-unused -Wno-parentheses -Wno-switch - -.c.pd_darwin: - cc $(DARWINCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c - cc -bundle -undefined suppress -flat_namespace -o $*.pd_darwin $*.o - rm -f $*.o - -# ---------------------------------------------- - -install:: - install -d $(INSTALL_PREFIX)/lib/pd/extra -# install -m 644 *.$(EXT) $(INSTALL_PREFIX)/lib/pd/externs - -install -m 644 polymap.$(EXT) $(INSTALL_PREFIX)/lib/pd/extra - install -m 644 *.pd $(INSTALL_PREFIX)/lib/pd/doc/5.reference diff --git a/polymap/polymap-help.pd b/polymap/polymap-help.pd deleted file mode 100644 index 292f95e..0000000 --- a/polymap/polymap-help.pd +++ /dev/null @@ -1,62 +0,0 @@ -#N canvas 0 0 690 434 10; -#X obj 502 26 sieve; -#X obj 545 26 maskxor; -#X obj 26 26 polymap; -#X obj 438 26 polystat; -#X text 82 26 two-dimensional polyphony-restricted map. see also; -#X text 23 47 Poly map contains a 32x32 matrix in which values may -be stored. However \, only a set number of these values may be stored -as set by the right inlet \, and if this total is reached no more may -be stored until one is set to 0 again.; -#X floatatom 338 258 5 1 16 1 max_poly - -; -#X obj 92 334 polymap 3; -#X msg 45 199 note 4 2 1; -#X msg 68 233 note 10 4 0.756; -#X msg 77 250 note 11 4 1; -#X msg 57 216 note 6 8 3; -#X floatatom 116 364 5 0 0 3 new_y - -; -#X msg 223 199 note 4 2 0; -#X msg 230 216 note 6 8 0; -#X msg 237 233 note 10 4 0; -#X msg 244 250 note 11 4 0; -#X floatatom 170 364 5 0 0 3 polyphony - -; -#X floatatom 61 364 5 0 0 3 freed_x - -; -#X obj 226 361 print overflow; -#X text 24 149 noteons; -#X msg 337 297 print; -#X msg 337 317 print32; -#X text 379 297 print first 16x16; -#X text 392 317 print whole matrix; -#X msg 337 277 clear; -#X msg 18 165 note 1 1 1; -#X msg 32 182 note 2 2 1; -#X text 377 277 clear matrix; -#X msg 337 235 note 1 0 1; -#X msg 209 165 note 1 1 0; -#X msg 216 182 note 2 2 0; -#X text 416 235 voice_x and voice_y both start at 1; -#X text 158 335 initialization argument sets maximum polyphony; -#X text 23 100 Values are stored as messages in the form [note x y -value( where value is either 0 or some other value.; -#X text 217 147 noteoffs; -#X connect 6 0 7 1; -#X connect 7 0 18 0; -#X connect 7 1 12 0; -#X connect 7 2 17 0; -#X connect 7 3 19 0; -#X connect 8 0 7 0; -#X connect 9 0 7 0; -#X connect 10 0 7 0; -#X connect 11 0 7 0; -#X connect 13 0 7 0; -#X connect 14 0 7 0; -#X connect 15 0 7 0; -#X connect 16 0 7 0; -#X connect 21 0 7 0; -#X connect 22 0 7 0; -#X connect 25 0 7 0; -#X connect 26 0 7 0; -#X connect 27 0 7 0; -#X connect 29 0 7 0; -#X connect 30 0 7 0; -#X connect 31 0 7 0; diff --git a/polymap/polymap.c b/polymap/polymap.c deleted file mode 100644 index f2e2523..0000000 --- a/polymap/polymap.c +++ /dev/null @@ -1,206 +0,0 @@ -#include "m_pd.h" -#include -#include -#define MAXPOLY 32 -#define POLYMAP 1024 - -/* The polymap is a two-dimensional array, but here instead of this we have a one dimensional array of length MAXPOLY^2 */ - -static t_class *polymap_class; - -typedef struct _map -{ - t_atom polybins[MAXPOLY]; - t_atom polymap[POLYMAP]; - t_atom note[3]; -} t_map; - -typedef struct _polymap -{ - t_object x_obj; - t_map x_map; - t_float maxpoly, polynow; - t_outlet *note, *new, *poly, *overflow; -} t_polymap; - - -/* perhaps polymap_note could be called from the sieve function, thus only setting up a matrix when a relevant sequencer is mentioned */ -void polymap_note(t_polymap *x, t_floatarg whosent, t_floatarg whoam, t_floatarg ono) -{ - int voicenow, mapindex, voicepoly, whosentme; - SETFLOAT(&x->x_map.note[0], whosent); - SETFLOAT(&x->x_map.note[1], whoam); - SETFLOAT(&x->x_map.note[2], ono); - whosentme = (int)whosent; - mapindex = (int)((whosent-1)+(whoam-1)*32); - if(ono==0) - { - voicenow = atom_getfloatarg(mapindex, POLYMAP, x->x_map.polymap); - if(voicenow>0&&mapindex>=0) - { - voicepoly = atom_getfloatarg(whosentme, MAXPOLY, x->x_map.polybins); - voicepoly--; - x->polynow--; - SETFLOAT(&x->x_map.polybins[whosentme], voicepoly); - SETFLOAT(&x->x_map.polymap[mapindex], 0); - outlet_float(x->poly, x->polynow); - if(x->polynowmaxpoly) - { - outlet_float(x->note, whosentme); - } - } - else outlet_list(x->overflow, &s_list, 3, x->x_map.note); - } - else - { - voicenow = atom_getfloatarg(mapindex, POLYMAP, x->x_map.polymap); - if(voicenow==0&&x->polynowmaxpoly&&mapindex>=0) - { - voicepoly = atom_getfloatarg(whosentme, MAXPOLY, x->x_map.polybins); - voicepoly++; - x->polynow++; - SETFLOAT(&x->x_map.polybins[whosentme], voicepoly); - SETFLOAT(&x->x_map.polymap[mapindex], 1); - outlet_float(x->poly, x->polynow); - outlet_float(x->new, whoam); - } - else if(voicenow==0) outlet_list(x->overflow, &s_list, 3, x->x_map.note); - } -} - -void polymap_print(t_polymap *x) -{ - int a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, indx; - post("polymap - first 16x16"); - post(" 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16"); - for(indx=0;indx<16;indx++) - { - a = atom_getfloatarg((indx*32), POLYMAP, x->x_map.polymap); - b = atom_getfloatarg((indx*32)+1, POLYMAP, x->x_map.polymap); - c = atom_getfloatarg((indx*32)+2, POLYMAP, x->x_map.polymap); - d = atom_getfloatarg((indx*32)+3, POLYMAP, x->x_map.polymap); - e = atom_getfloatarg((indx*32)+4, POLYMAP, x->x_map.polymap); - f = atom_getfloatarg((indx*32)+5, POLYMAP, x->x_map.polymap); - g = atom_getfloatarg((indx*32)+6, POLYMAP, x->x_map.polymap); - h = atom_getfloatarg((indx*32)+7, POLYMAP, x->x_map.polymap); - i = atom_getfloatarg((indx*32)+8, POLYMAP, x->x_map.polymap); - j = atom_getfloatarg((indx*32)+9, POLYMAP, x->x_map.polymap); - k = atom_getfloatarg((indx*32)+10, POLYMAP, x->x_map.polymap); - l = atom_getfloatarg((indx*32)+11, POLYMAP, x->x_map.polymap); - m = atom_getfloatarg((indx*32)+12, POLYMAP, x->x_map.polymap); - n = atom_getfloatarg((indx*32)+13, POLYMAP, x->x_map.polymap); - o = atom_getfloatarg((indx*32)+14, POLYMAP, x->x_map.polymap); - p = atom_getfloatarg((indx*32)+15, POLYMAP, x->x_map.polymap); - if(indx<9) - post("%d :%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d", indx+1, a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p); - else if(indx>=9) - post("%d:%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d", indx+1, a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p); - } -} - -void polymap_print32(t_polymap *x) -{ - int a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, aa, bb, cc, dd, ee, ff, gg, hh, ii, jj, kk, ll, mm, nn, oo, pp, indx; - post("polymap - all 32x32"); - post(" 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32"); - post(" 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 "); - for(indx=0;indx<32;indx++) - { - a = atom_getfloatarg((indx*32), POLYMAP, x->x_map.polymap); - b = atom_getfloatarg((indx*32)+1, POLYMAP, x->x_map.polymap); - c = atom_getfloatarg((indx*32)+2, POLYMAP, x->x_map.polymap); - d = atom_getfloatarg((indx*32)+3, POLYMAP, x->x_map.polymap); - e = atom_getfloatarg((indx*32)+4, POLYMAP, x->x_map.polymap); - f = atom_getfloatarg((indx*32)+5, POLYMAP, x->x_map.polymap); - g = atom_getfloatarg((indx*32)+6, POLYMAP, x->x_map.polymap); - h = atom_getfloatarg((indx*32)+7, POLYMAP, x->x_map.polymap); - i = atom_getfloatarg((indx*32)+8, POLYMAP, x->x_map.polymap); - j = atom_getfloatarg((indx*32)+9, POLYMAP, x->x_map.polymap); - k = atom_getfloatarg((indx*32)+10, POLYMAP, x->x_map.polymap); - l = atom_getfloatarg((indx*32)+11, POLYMAP, x->x_map.polymap); - m = atom_getfloatarg((indx*32)+12, POLYMAP, x->x_map.polymap); - n = atom_getfloatarg((indx*32)+13, POLYMAP, x->x_map.polymap); - o = atom_getfloatarg((indx*32)+14, POLYMAP, x->x_map.polymap); - p = atom_getfloatarg((indx*32)+15, POLYMAP, x->x_map.polymap); - aa = atom_getfloatarg((indx*32)+16, POLYMAP, x->x_map.polymap); - bb = atom_getfloatarg((indx*32)+17, POLYMAP, x->x_map.polymap); - cc = atom_getfloatarg((indx*32)+18, POLYMAP, x->x_map.polymap); - dd = atom_getfloatarg((indx*32)+19, POLYMAP, x->x_map.polymap); - ee = atom_getfloatarg((indx*32)+20, POLYMAP, x->x_map.polymap); - ff = atom_getfloatarg((indx*32)+21, POLYMAP, x->x_map.polymap); - gg = atom_getfloatarg((indx*32)+22, POLYMAP, x->x_map.polymap); - hh = atom_getfloatarg((indx*32)+23, POLYMAP, x->x_map.polymap); - ii = atom_getfloatarg((indx*32)+24, POLYMAP, x->x_map.polymap); - jj = atom_getfloatarg((indx*32)+25, POLYMAP, x->x_map.polymap); - kk = atom_getfloatarg((indx*32)+26, POLYMAP, x->x_map.polymap); - ll = atom_getfloatarg((indx*32)+27, POLYMAP, x->x_map.polymap); - mm = atom_getfloatarg((indx*32)+28, POLYMAP, x->x_map.polymap); - nn = atom_getfloatarg((indx*32)+29, POLYMAP, x->x_map.polymap); - oo = atom_getfloatarg((indx*32)+30, POLYMAP, x->x_map.polymap); - pp = atom_getfloatarg((indx*32)+31, POLYMAP, x->x_map.polymap); - if(indx<9) - post("%d :%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d", indx+1, a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,aa,bb,cc,dd,ee,ff,gg,hh,ii,jj,kk,ll,mm,nn,oo,pp); - else if(indx>=9) - post("%d:%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d", indx+1, a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,aa,bb,cc,dd,ee,ff,gg,hh,ii,jj,kk,ll,mm,nn,oo,pp); - } -} - -void polymap_clear(t_polymap *x) -{ - int i; - for(i=0;ix_map.polymap[i], 0); - } - for(i=0;ix_map.polybins[i], 0); - } - for(i=0;i<2;i++) - { - SETFLOAT(&x->x_map.note[i], 0); - } - x->polynow=0; - outlet_float(x->poly, x->polynow); -} - -void *polymap_new(t_floatarg poly) -{ - t_polymap *x = (t_polymap *)pd_new(polymap_class); - int i; - for(i=0;ix_map.polymap[i], 0); - } - for(i=0;ix_map.polybins[i], 0); - } - for(i=0;i<2;i++) - { - SETFLOAT(&x->x_map.note[i], 0); - } - x->maxpoly = poly > 0 ? poly : 1; - floatinlet_new(&x->x_obj, &x->maxpoly); - x->note = outlet_new(&x->x_obj, &s_float); - x->new = outlet_new(&x->x_obj, &s_float); - x->poly = outlet_new(&x->x_obj, &s_float); - x->overflow = outlet_new(&x->x_obj, &s_list); - return (void *)x; -} - -void polymap_setup(void) -{ - polymap_class = class_new(gensym("polymap"), - (t_newmethod)polymap_new, - 0, sizeof(t_polymap), - 0, A_DEFFLOAT, 0); - post("|. . . . . . . . .polymap. . . . . . . . .|"); - post("|_- polyphonic chain reaction regulator -_|"); - post("| . . . . . .Edward Kelly 2006. . . . . . |"); - - class_addmethod(polymap_class, (t_method)polymap_note, gensym("note"), A_DEFFLOAT, A_DEFFLOAT, A_DEFFLOAT, 0); - class_addmethod(polymap_class, (t_method)polymap_clear, gensym("clear"), A_DEFFLOAT, 0); - class_addmethod(polymap_class, (t_method)polymap_print, gensym("print"), A_DEFFLOAT, 0); - class_addmethod(polymap_class, (t_method)polymap_print32, gensym("print32"), A_DEFFLOAT, 0); -} diff --git a/polystat-help.pd b/polystat-help.pd new file mode 100644 index 0000000..187cf7d --- /dev/null +++ b/polystat-help.pd @@ -0,0 +1,92 @@ +#N canvas 0 0 785 462 10; +#X obj 76 256 polystat; +#X floatatom 76 351 5 0 0 1 voice - -; +#X floatatom 88 337 5 0 0 1 instances - -; +#X floatatom 101 323 5 0 0 1 voices - -; +#X floatatom 114 309 5 0 0 1 voice - -; +#X obj 127 292 print map; +#X text 195 309 with most instances; +#X obj 76 206 + 7; +#X obj 76 164 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X floatatom 76 228 5 0 0 0 - - -; +#X msg 213 184 clear \$1; +#X floatatom 264 145 5 7 38 0 - - -; +#X msg 213 162 8; +#X msg 312 219 voices; +#X msg 312 199 getmap; +#X msg 312 239 clearall; +#X msg 312 159 clear 12; +#X obj 76 184 random 32; +#X obj 26 142 metro 100; +#X obj 26 123 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 247 162 f; +#X obj 247 143 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X msg 312 179 print; +#X text 360 199 outputs a list of the instances of voices 0 to HIGHEST +; +#X text 353 180 some stats; +#X msg 340 323 \$1; +#X text 374 239 resets the object; +#X text 374 159 clears a specific voice; +#X obj 26 26 polystat; +#X text 88 26 outputs statistics about voice usage. See also; +#X obj 416 24 polymap; +#X obj 473 24 sieve; +#X text 360 220 outputs a list of all the voices used; +#X text 246 128 clear voice with most instances; +#X text 202 53 most stealing: voice with most instances set to new +value when another voice's instances are equal; +#X text 201 84 first-past-the-post: voice with most instances only +updated when another voice's instances exceed; +#X text 218 144 V; +#X text 218 133 |; +#X text 218 125 |; +#X text 217 113 clear most recent voice; +#X obj 26 79 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X msg 26 97 1; +#X msg 49 97 0; +#X obj 26 59 loadbang; +#X obj 49 121 pipe 2000; +#X msg 151 145 set \$1; +#X msg 150 57 mode 0; +#X msg 150 87 mode 1; +#X obj 515 24 maskxor; +#X text 44 389 Polyphony control objects by Ed Kelly \, November 2006 +; +#X connect 0 0 1 0; +#X connect 0 1 2 0; +#X connect 0 2 3 0; +#X connect 0 3 4 0; +#X connect 0 4 5 0; +#X connect 4 0 25 0; +#X connect 7 0 9 0; +#X connect 7 0 45 0; +#X connect 8 0 17 0; +#X connect 9 0 0 0; +#X connect 10 0 0 0; +#X connect 11 0 20 1; +#X connect 12 0 10 0; +#X connect 13 0 0 0; +#X connect 14 0 0 0; +#X connect 15 0 0 0; +#X connect 16 0 0 0; +#X connect 17 0 7 0; +#X connect 18 0 8 0; +#X connect 19 0 18 0; +#X connect 20 0 10 0; +#X connect 21 0 20 0; +#X connect 22 0 0 0; +#X connect 25 0 11 0; +#X connect 40 0 41 0; +#X connect 40 0 42 0; +#X connect 41 0 19 0; +#X connect 42 0 44 0; +#X connect 43 0 40 0; +#X connect 44 0 19 0; +#X connect 45 0 12 0; +#X connect 46 0 0 0; +#X connect 47 0 0 0; diff --git a/polystat.c b/polystat.c new file mode 100644 index 0000000..d32079b --- /dev/null +++ b/polystat.c @@ -0,0 +1,268 @@ +#include "m_pd.h" +#include +#include +#define MAXENTRIES 512 +#define LASTENTRY 511 + +static t_class *polystat_class; + +typedef struct _map +{ + t_atom map[MAXENTRIES]; + t_atom maxlist[MAXENTRIES]; + t_atom outlist[MAXENTRIES]; +} t_map; + +typedef struct _polystat +{ + t_object x_obj; + t_map x_map; + t_int voices, max, maxval, maxindex, maxflag, maxcount, highest, mode; + t_outlet *voice, *value, *vars, *maxvox, *mapped; +} t_polystat; + +void polystat_float(t_polystat *x, t_floatarg fin) +{ + int voice = (int)fin; + int inst; + int maxindex = (int)x->maxindex + 1; + if(voice >= 0 && voice < MAXENTRIES) + { + int instances = atom_getfloatarg(voice, MAXENTRIES, x->x_map.map); + if(instances == 0)x->voices++; + inst = instances + 1; + SETFLOAT(&x->x_map.map[voice], inst); + if(x->mode == 0) + { + if(inst >= x->max && voice != x->maxval) + { + x->maxflag = x->maxcount >= MAXENTRIES ? 1 : x->maxflag == 1 ? 1 : 0; + x->maxcount += 1; + x->maxcount = x->maxcount > MAXENTRIES ? MAXENTRIES : x->maxcount; + x->maxindex = maxindex % MAXENTRIES; + SETFLOAT(&x->x_map.maxlist[x->maxindex], voice); + x->maxval = voice; + x->max = inst; + outlet_float(x->maxvox, voice); + } + else if(inst >= x->max && voice == x->maxval) + { + x->max = inst; + outlet_float(x->maxvox, voice); + } + } + else if(x->mode != 0) + { + if(inst > x->max && voice != x->maxval) + { + x->maxflag = x->maxcount >= MAXENTRIES ? 1 : x->maxflag == 1 ? 1 : 0; + x->maxcount += 1; + x->maxcount = x->maxcount > MAXENTRIES ? MAXENTRIES : x->maxcount; + x->maxindex = (float)(maxindex % MAXENTRIES); + SETFLOAT(&x->x_map.maxlist[x->maxindex], voice); + x->maxval = voice; + x->max = inst; + outlet_float(x->maxvox, voice); + } + else if(inst > x->max && voice == x->maxval) + { + x->max = inst; + outlet_float(x->maxvox, voice); + } + } + x->highest = voice > x->highest ? voice : x->highest; + outlet_float(x->vars, x->voices); + outlet_float(x->value, inst); + outlet_float(x->voice, voice); + } +} + +void polystat_clear(t_polystat *x, t_floatarg fin) +{ + int inst = (int)fin; + int indexed = (int)(x->maxindex+(MAXENTRIES*x->maxflag)); + int modindex = 0; + int counted = 0; + float current = atom_getfloatarg(inst, MAXENTRIES, x->x_map.map); + float voice; + voice = 0; + if(x->voices > 0 && current > 0) + { + x->voices--; + SETFLOAT(&x->x_map.map[inst], 0); + current = 0; + if(current == 0 && x->maxcount > 0) + { + indexed--; + x->maxcount--; + modindex = (indexed+MAXENTRIES) % MAXENTRIES; + voice = atom_getfloatarg(modindex, MAXENTRIES, x->x_map.maxlist); + current = atom_getfloatarg(voice, MAXENTRIES, x->x_map.map); + } + if(x->maxcount == 0 || current == 0) + { + x->max = 0; + x->maxval = 0; + x->maxindex = 0; + } + else if(x->maxcount > 0 || current > 0) + { + x->max = current; + x->maxval = voice; + x->maxindex = modindex; + } + } + outlet_float(x->maxvox, x->maxval); + outlet_float(x->vars, x->voices); + outlet_float(x->value, x->max); +} + +void polystat_print(t_polystat *x, t_symbol *s) +{ + post("most_instances = %d at voice %d, voices = %d, highest_voice = %d", x->max, x->maxval, x->voices, x->highest); +} + +void polystat_get(t_polystat *x, t_floatarg fin) +{ + int inst = (int)fin; + float voice, instances; + voice = instances = 0; + if(x->voices>0 && inst>=0 && instx_map.map); + voice = inst; + } + if(instances>0) + { + outlet_float(x->value, instances); + outlet_float(x->voice, voice); + } +} + +void polystat_clearall(t_polystat *x) +{ + int i; + for(i=0;ix_map.map[i],0); + SETFLOAT(&x->x_map.maxlist[i],0); + } + x->voices = x->max = x->maxval = x->maxindex = x->highest = x->maxcount = 0; + outlet_float(x->vars, x->voices); +} + +void polystat_getmap(t_polystat *x, t_symbol *s) //output map. terminate map at highest voice. +{ + if(x->voices>0) + { + outlet_list(x->mapped, gensym("list"), x->highest+1, x->x_map.map); + } +} + +void polystat_setmap(t_polystat *x, t_symbol *s, int argc, t_atom *argv) +{ + int i; + float arg, max, maxval, high; + max = maxval = high = 0; + for(i=0;imode==0) + { + if(arg>=maxval) + { + maxval = arg; + max = i; + } + } + else if(x->mode!=0) + { + if(arg>maxval) + { + maxval = arg; + max = i; + } + } + x->highest = i; + SETFLOAT(&x->x_map.map[i], arg); + SETFLOAT(&x->x_map.maxlist[i], 0); + } + } + x->max = max; + x->maxval = maxval; + SETFLOAT(&x->x_map.maxlist[0], max); +} + +void polystat_bang(t_polystat *x, t_symbol *s) +{ + outlet_float(x->vars, x->voices); + outlet_float(x->value, x->maxval); + outlet_float(x->voice, x->max); +} + +void polystat_voices(t_polystat *x, t_symbol *s) //list all voices +{ + int i, mindex, current; + mindex=0; + for(i=0;i<(x->highest+1);i++) + { + current = atom_getfloatarg(i, MAXENTRIES, x->x_map.map); + if(current>0) + { + SETFLOAT(&x->x_map.outlist[mindex],(float)i); + mindex++; + } + } + outlet_list(x->mapped, gensym("list"), x->voices, x->x_map.outlist); +} + +void polystat_mode(t_polystat *x, t_floatarg fmode) +{ + x->mode = fmode; +} + +void *polystat_new(t_floatarg f) +{ + t_polystat *x = (t_polystat *)pd_new(polystat_class); + x->mode = f; + x->max = x->maxval = x->voices = x->maxindex = x->maxcount = x->highest = 0; + //memset(x->x_map.map, 0, MAXENTRIES); + //memset(x->x_map.nomap, 1, MAXENTRIES); + int i; + for(i=0;ix_map.map+i, 0); + SETFLOAT(x->x_map.maxlist+i, 0); + } + x->voice = outlet_new(&x->x_obj, &s_float); + x->value = outlet_new(&x->x_obj, &s_float); + x->vars = outlet_new(&x->x_obj, &s_float); + x->maxvox = outlet_new(&x->x_obj, &s_float); + x->mapped = outlet_new(&x->x_obj, &s_list); + return (void *)x; +} + +void polystat_setup(void) +{ + + polystat_class = class_new(gensym("polystat"), + (t_newmethod)polystat_new, + 0, sizeof(t_polystat), + 0, A_DEFFLOAT, 0); + post("|^^^^^^^^^^^^polystat^^^^^^^^^^^^|"); + post("|->^^^^polyphony statistics^^^^<-|"); + post("|^^^^^^^^Edward Kelly 2006^^^^^^^|"); + + class_addfloat(polystat_class, polystat_float); + class_addmethod(polystat_class, (t_method)polystat_clear, gensym("clear"), A_DEFFLOAT, 0); + class_addmethod(polystat_class, (t_method)polystat_get, gensym("get"), A_DEFFLOAT, 0); + class_addmethod(polystat_class, (t_method)polystat_clearall, gensym("clearall"), A_DEFFLOAT, 0); + class_addmethod(polystat_class, (t_method)polystat_getmap, gensym("getmap"), A_DEFFLOAT, 0); + class_addmethod(polystat_class, (t_method)polystat_setmap, gensym("setmap"), A_GIMME, 0); + class_addmethod(polystat_class, (t_method)polystat_voices, gensym("voices"), A_DEFFLOAT, 0); + class_addmethod(polystat_class, (t_method)polystat_mode, gensym("mode"), A_DEFFLOAT, 0); + class_addmethod(polystat_class, (t_method)polystat_print, gensym("print"), A_DEFFLOAT, 0); + class_addbang(polystat_class, (t_method)polystat_bang); +} diff --git a/polystat/makefile b/polystat/makefile deleted file mode 100755 index efd8755..0000000 --- a/polystat/makefile +++ /dev/null @@ -1,105 +0,0 @@ -current: - echo make pd_linux, pd_nt, pd_irix5, pd_irix6 or pd_darwin, then make install - -clean: ; rm -f *.pd_* *.o - -# ----------------------- NT ----------------------- - -pd_nt: polystat.dll - -INSTALL_PREFIX="C:\pd\extra" -EXT=dll -.SUFFIXES: .obj .dll - -PDNTCFLAGS = /W3 /WX /DNT /DPD /nologo -VC="D:\Program Files\Microsoft Visual Studio\Vc98" - -PDNTINCLUDE = /I. /I\tcl\include /I..\..\src /I$(VC)\include - -PDNTLDIR = $(VC)\lib -PDNTLIB = $(PDNTLDIR)\libc.lib \ - $(PDNTLDIR)\oldnames.lib \ - $(PDNTLDIR)\kernel32.lib \ - ..\..\bin\pd.lib - -.c.dll: - cl $(PDNTCFLAGS) $(PDNTINCLUDE) /c $*.c - link /dll /export:$*_setup $*.obj $(PDNTLIB) - -# ----------------------- IRIX 5.x ----------------------- - -pd_irix5: polystat.pd_irix5 - -INSTALL_PREFIX=/usr/local -EXT=pd_irix5 -.SUFFIXES: .pd_irix5 - -SGICFLAGS5 = -o32 -DPD -DUNIX -DIRIX -O2 - -SGIINCLUDE = -I/usr/local/include - -.c.pd_irix5: - cc $(SGICFLAGS5) $(SGIINCLUDE) -o $*.o -c $*.c - ld -elf -shared -rdata_shared -o $*.pd_irix5 $*.o - rm $*.o - -# ----------------------- IRIX 5.x ----------------------- - -pd_irix6: polystat.pd_irix6 - -INSTALL_PREFIX=/usr/local -EXT=pd_irix6 -.SUFFIXES: .pd_irix6 - -SGICFLAGS5 = -o32 -DPD -DUNIX -DIRIX -O2 - -SGIINCLUDE = -I/usr/local/include - -.c.pd_irix6: - cc $(SGICFLAGS5) $(SGIINCLUDE) -o $*.o -c $*.c - ld -elf -shared -rdata_shared -o $*.pd_irix6 $*.o - rm $*.o - -# ----------------------- LINUX i386 ----------------------- - -pd_linux: polystat.pd_linux - -INSTALL_PREFIX=/usr/local -EXT=pd_linux -.SUFFIXES: .pd_linux - -LINUXCFLAGS = -DPD -O2 -funroll-loops -fomit-frame-pointer \ - -Wall -W -Wshadow -Wstrict-prototypes -Werror \ - -Wno-unused -Wno-parentheses -Wno-switch - -LINUXINCLUDE = -I/usr/local/include - -.c.pd_linux: - cc $(LINUXCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c - ld --export-dynamic -shared -o $*.pd_linux $*.o -lc -lm - strip --strip-unneeded $*.pd_linux - rm $*.o - -# ----------------------- Mac OSX ----------------------- - -pd_darwin: polystat.pd_darwin - -INSTALL_PREFIX=/usr/local -EXT=pd_darwin -.SUFFIXES: .pd_darwin - -DARWINCFLAGS = -DPD -O2 -Wall -W -Wshadow -Wstrict-prototypes \ - -Wno-unused -Wno-parentheses -Wno-switch - -.c.pd_darwin: - cc $(DARWINCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c - cc -bundle -undefined suppress -flat_namespace -o $*.pd_darwin $*.o - rm -f $*.o - -# ---------------------------------------------- - -install:: - install -d $(INSTALL_PREFIX)/lib/pd/extra -# install -m 644 *.$(EXT) $(INSTALL_PREFIX)/lib/pd/externs - install -m 644 polystat.$(EXT) $(INSTALL_PREFIX)/lib/pd/extra - install -m 644 *.pd $(INSTALL_PREFIX)/lib/pd/doc/5.reference diff --git a/polystat/polystat-help.pd b/polystat/polystat-help.pd deleted file mode 100644 index 187cf7d..0000000 --- a/polystat/polystat-help.pd +++ /dev/null @@ -1,92 +0,0 @@ -#N canvas 0 0 785 462 10; -#X obj 76 256 polystat; -#X floatatom 76 351 5 0 0 1 voice - -; -#X floatatom 88 337 5 0 0 1 instances - -; -#X floatatom 101 323 5 0 0 1 voices - -; -#X floatatom 114 309 5 0 0 1 voice - -; -#X obj 127 292 print map; -#X text 195 309 with most instances; -#X obj 76 206 + 7; -#X obj 76 164 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 --1; -#X floatatom 76 228 5 0 0 0 - - -; -#X msg 213 184 clear \$1; -#X floatatom 264 145 5 7 38 0 - - -; -#X msg 213 162 8; -#X msg 312 219 voices; -#X msg 312 199 getmap; -#X msg 312 239 clearall; -#X msg 312 159 clear 12; -#X obj 76 184 random 32; -#X obj 26 142 metro 100; -#X obj 26 123 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 -1; -#X obj 247 162 f; -#X obj 247 143 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 --1 -1; -#X msg 312 179 print; -#X text 360 199 outputs a list of the instances of voices 0 to HIGHEST -; -#X text 353 180 some stats; -#X msg 340 323 \$1; -#X text 374 239 resets the object; -#X text 374 159 clears a specific voice; -#X obj 26 26 polystat; -#X text 88 26 outputs statistics about voice usage. See also; -#X obj 416 24 polymap; -#X obj 473 24 sieve; -#X text 360 220 outputs a list of all the voices used; -#X text 246 128 clear voice with most instances; -#X text 202 53 most stealing: voice with most instances set to new -value when another voice's instances are equal; -#X text 201 84 first-past-the-post: voice with most instances only -updated when another voice's instances exceed; -#X text 218 144 V; -#X text 218 133 |; -#X text 218 125 |; -#X text 217 113 clear most recent voice; -#X obj 26 79 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X msg 26 97 1; -#X msg 49 97 0; -#X obj 26 59 loadbang; -#X obj 49 121 pipe 2000; -#X msg 151 145 set \$1; -#X msg 150 57 mode 0; -#X msg 150 87 mode 1; -#X obj 515 24 maskxor; -#X text 44 389 Polyphony control objects by Ed Kelly \, November 2006 -; -#X connect 0 0 1 0; -#X connect 0 1 2 0; -#X connect 0 2 3 0; -#X connect 0 3 4 0; -#X connect 0 4 5 0; -#X connect 4 0 25 0; -#X connect 7 0 9 0; -#X connect 7 0 45 0; -#X connect 8 0 17 0; -#X connect 9 0 0 0; -#X connect 10 0 0 0; -#X connect 11 0 20 1; -#X connect 12 0 10 0; -#X connect 13 0 0 0; -#X connect 14 0 0 0; -#X connect 15 0 0 0; -#X connect 16 0 0 0; -#X connect 17 0 7 0; -#X connect 18 0 8 0; -#X connect 19 0 18 0; -#X connect 20 0 10 0; -#X connect 21 0 20 0; -#X connect 22 0 0 0; -#X connect 25 0 11 0; -#X connect 40 0 41 0; -#X connect 40 0 42 0; -#X connect 41 0 19 0; -#X connect 42 0 44 0; -#X connect 43 0 40 0; -#X connect 44 0 19 0; -#X connect 45 0 12 0; -#X connect 46 0 0 0; -#X connect 47 0 0 0; diff --git a/polystat/polystat.c b/polystat/polystat.c deleted file mode 100644 index d32079b..0000000 --- a/polystat/polystat.c +++ /dev/null @@ -1,268 +0,0 @@ -#include "m_pd.h" -#include -#include -#define MAXENTRIES 512 -#define LASTENTRY 511 - -static t_class *polystat_class; - -typedef struct _map -{ - t_atom map[MAXENTRIES]; - t_atom maxlist[MAXENTRIES]; - t_atom outlist[MAXENTRIES]; -} t_map; - -typedef struct _polystat -{ - t_object x_obj; - t_map x_map; - t_int voices, max, maxval, maxindex, maxflag, maxcount, highest, mode; - t_outlet *voice, *value, *vars, *maxvox, *mapped; -} t_polystat; - -void polystat_float(t_polystat *x, t_floatarg fin) -{ - int voice = (int)fin; - int inst; - int maxindex = (int)x->maxindex + 1; - if(voice >= 0 && voice < MAXENTRIES) - { - int instances = atom_getfloatarg(voice, MAXENTRIES, x->x_map.map); - if(instances == 0)x->voices++; - inst = instances + 1; - SETFLOAT(&x->x_map.map[voice], inst); - if(x->mode == 0) - { - if(inst >= x->max && voice != x->maxval) - { - x->maxflag = x->maxcount >= MAXENTRIES ? 1 : x->maxflag == 1 ? 1 : 0; - x->maxcount += 1; - x->maxcount = x->maxcount > MAXENTRIES ? MAXENTRIES : x->maxcount; - x->maxindex = maxindex % MAXENTRIES; - SETFLOAT(&x->x_map.maxlist[x->maxindex], voice); - x->maxval = voice; - x->max = inst; - outlet_float(x->maxvox, voice); - } - else if(inst >= x->max && voice == x->maxval) - { - x->max = inst; - outlet_float(x->maxvox, voice); - } - } - else if(x->mode != 0) - { - if(inst > x->max && voice != x->maxval) - { - x->maxflag = x->maxcount >= MAXENTRIES ? 1 : x->maxflag == 1 ? 1 : 0; - x->maxcount += 1; - x->maxcount = x->maxcount > MAXENTRIES ? MAXENTRIES : x->maxcount; - x->maxindex = (float)(maxindex % MAXENTRIES); - SETFLOAT(&x->x_map.maxlist[x->maxindex], voice); - x->maxval = voice; - x->max = inst; - outlet_float(x->maxvox, voice); - } - else if(inst > x->max && voice == x->maxval) - { - x->max = inst; - outlet_float(x->maxvox, voice); - } - } - x->highest = voice > x->highest ? voice : x->highest; - outlet_float(x->vars, x->voices); - outlet_float(x->value, inst); - outlet_float(x->voice, voice); - } -} - -void polystat_clear(t_polystat *x, t_floatarg fin) -{ - int inst = (int)fin; - int indexed = (int)(x->maxindex+(MAXENTRIES*x->maxflag)); - int modindex = 0; - int counted = 0; - float current = atom_getfloatarg(inst, MAXENTRIES, x->x_map.map); - float voice; - voice = 0; - if(x->voices > 0 && current > 0) - { - x->voices--; - SETFLOAT(&x->x_map.map[inst], 0); - current = 0; - if(current == 0 && x->maxcount > 0) - { - indexed--; - x->maxcount--; - modindex = (indexed+MAXENTRIES) % MAXENTRIES; - voice = atom_getfloatarg(modindex, MAXENTRIES, x->x_map.maxlist); - current = atom_getfloatarg(voice, MAXENTRIES, x->x_map.map); - } - if(x->maxcount == 0 || current == 0) - { - x->max = 0; - x->maxval = 0; - x->maxindex = 0; - } - else if(x->maxcount > 0 || current > 0) - { - x->max = current; - x->maxval = voice; - x->maxindex = modindex; - } - } - outlet_float(x->maxvox, x->maxval); - outlet_float(x->vars, x->voices); - outlet_float(x->value, x->max); -} - -void polystat_print(t_polystat *x, t_symbol *s) -{ - post("most_instances = %d at voice %d, voices = %d, highest_voice = %d", x->max, x->maxval, x->voices, x->highest); -} - -void polystat_get(t_polystat *x, t_floatarg fin) -{ - int inst = (int)fin; - float voice, instances; - voice = instances = 0; - if(x->voices>0 && inst>=0 && instx_map.map); - voice = inst; - } - if(instances>0) - { - outlet_float(x->value, instances); - outlet_float(x->voice, voice); - } -} - -void polystat_clearall(t_polystat *x) -{ - int i; - for(i=0;ix_map.map[i],0); - SETFLOAT(&x->x_map.maxlist[i],0); - } - x->voices = x->max = x->maxval = x->maxindex = x->highest = x->maxcount = 0; - outlet_float(x->vars, x->voices); -} - -void polystat_getmap(t_polystat *x, t_symbol *s) //output map. terminate map at highest voice. -{ - if(x->voices>0) - { - outlet_list(x->mapped, gensym("list"), x->highest+1, x->x_map.map); - } -} - -void polystat_setmap(t_polystat *x, t_symbol *s, int argc, t_atom *argv) -{ - int i; - float arg, max, maxval, high; - max = maxval = high = 0; - for(i=0;imode==0) - { - if(arg>=maxval) - { - maxval = arg; - max = i; - } - } - else if(x->mode!=0) - { - if(arg>maxval) - { - maxval = arg; - max = i; - } - } - x->highest = i; - SETFLOAT(&x->x_map.map[i], arg); - SETFLOAT(&x->x_map.maxlist[i], 0); - } - } - x->max = max; - x->maxval = maxval; - SETFLOAT(&x->x_map.maxlist[0], max); -} - -void polystat_bang(t_polystat *x, t_symbol *s) -{ - outlet_float(x->vars, x->voices); - outlet_float(x->value, x->maxval); - outlet_float(x->voice, x->max); -} - -void polystat_voices(t_polystat *x, t_symbol *s) //list all voices -{ - int i, mindex, current; - mindex=0; - for(i=0;i<(x->highest+1);i++) - { - current = atom_getfloatarg(i, MAXENTRIES, x->x_map.map); - if(current>0) - { - SETFLOAT(&x->x_map.outlist[mindex],(float)i); - mindex++; - } - } - outlet_list(x->mapped, gensym("list"), x->voices, x->x_map.outlist); -} - -void polystat_mode(t_polystat *x, t_floatarg fmode) -{ - x->mode = fmode; -} - -void *polystat_new(t_floatarg f) -{ - t_polystat *x = (t_polystat *)pd_new(polystat_class); - x->mode = f; - x->max = x->maxval = x->voices = x->maxindex = x->maxcount = x->highest = 0; - //memset(x->x_map.map, 0, MAXENTRIES); - //memset(x->x_map.nomap, 1, MAXENTRIES); - int i; - for(i=0;ix_map.map+i, 0); - SETFLOAT(x->x_map.maxlist+i, 0); - } - x->voice = outlet_new(&x->x_obj, &s_float); - x->value = outlet_new(&x->x_obj, &s_float); - x->vars = outlet_new(&x->x_obj, &s_float); - x->maxvox = outlet_new(&x->x_obj, &s_float); - x->mapped = outlet_new(&x->x_obj, &s_list); - return (void *)x; -} - -void polystat_setup(void) -{ - - polystat_class = class_new(gensym("polystat"), - (t_newmethod)polystat_new, - 0, sizeof(t_polystat), - 0, A_DEFFLOAT, 0); - post("|^^^^^^^^^^^^polystat^^^^^^^^^^^^|"); - post("|->^^^^polyphony statistics^^^^<-|"); - post("|^^^^^^^^Edward Kelly 2006^^^^^^^|"); - - class_addfloat(polystat_class, polystat_float); - class_addmethod(polystat_class, (t_method)polystat_clear, gensym("clear"), A_DEFFLOAT, 0); - class_addmethod(polystat_class, (t_method)polystat_get, gensym("get"), A_DEFFLOAT, 0); - class_addmethod(polystat_class, (t_method)polystat_clearall, gensym("clearall"), A_DEFFLOAT, 0); - class_addmethod(polystat_class, (t_method)polystat_getmap, gensym("getmap"), A_DEFFLOAT, 0); - class_addmethod(polystat_class, (t_method)polystat_setmap, gensym("setmap"), A_GIMME, 0); - class_addmethod(polystat_class, (t_method)polystat_voices, gensym("voices"), A_DEFFLOAT, 0); - class_addmethod(polystat_class, (t_method)polystat_mode, gensym("mode"), A_DEFFLOAT, 0); - class_addmethod(polystat_class, (t_method)polystat_print, gensym("print"), A_DEFFLOAT, 0); - class_addbang(polystat_class, (t_method)polystat_bang); -} diff --git a/sieve-help.pd b/sieve-help.pd new file mode 100644 index 0000000..e472628 --- /dev/null +++ b/sieve-help.pd @@ -0,0 +1,123 @@ +#N canvas 439 25 595 461 10; +#X obj 94 346 sieve; +#X msg 147 276 set 2 1; +#X msg 198 276 set 7 0.86; +#X msg 148 198 map 0 1 0 0 0 3 0 2 0 0.7; +#X msg 147 229 get 0; +#X msg 147 250 get 1; +#X floatatom 37 384 5 0 0 0 - - -; +#X floatatom 81 382 5 0 0 0 - - -; +#X obj 129 379 print MAPOUT; +#X obj 218 379 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 218 397 print EXACT; +#X obj 37 419 print MAPPED; +#X obj 81 399 print VALUE; +#X msg 147 324 clear; +#X text 189 228 get map; +#X text 189 249 get inverted map; +#X floatatom 309 406 5 0 0 0 - - -; +#X floatatom 350 406 5 0 0 0 - - -; +#X obj 341 363 prepend map; +#X obj 395 405 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 189 323 clear object; +#X text 277 277 set [location \, value]; +#X msg 147 297 set 2 0; +#X text 201 297 unset location; +#X text 332 196 set map; +#X floatatom 35 318 5 0 0 0 - - -; +#X obj 29 184 vradio 15 1 0 4 empty empty mode 0 -6 0 10 -262144 -1 +-1 0; +#X msg 29 248 mode \$1; +#X text 62 170 : 0=exact \, 1=nearest \, 2=shunt up \, 3=shunt down +; +#X obj 341 383 sieve; +#X obj 22 19 sieve; +#X text 62 19 takes integers and maps them to floats if they are set. +; +#X text 63 32 in the default mode (mode 0) integers without an associated +float are blocked \, so a map will sieve the input.; +#X text 64 60 mode 1 forces the sieve to choose the nearest index \, +so that inputs are sent to alternative outputs. The rightmost output +bangs only if the input is exact.; +#X text 64 101 In modes 2 and 3 the sieve chooses the next map up or +the next map down. If the input is higher than the highest mapped integer +in mode 2 \, or lower than the lowest in mode 3 \, then the shunting +is wrapped and the lowest or highest is chosen respectively.; +#X text 294 330 when the inverted map is sent to another; +#X text 298 344 sieve object \, the input is segregated.; +#X text 38 440 Polyphony control objects by Ed Kelly \, November 2006 +; +#X text 411 439 See also; +#X obj 476 438 polymap; +#X obj 476 417 polystat; +#X obj 532 438 maskxor; +#X obj 410 181 loadbang; +#X obj 410 233 delay 50; +#N canvas 0 0 596 300 register_functions 0; +#X obj 99 208 sieve; +#X msg 99 83 map 0 1 2 4 5 6 7 9 10 11 12; +#X obj 99 47 loadbang; +#X msg 157 166 get 0; +#X msg 254 125 delete 8; +#X msg 255 167 shunt 5; +#X obj 194 166 delay 0; +#X msg 194 149 bang; +#X msg 254 241 insert 7 100; +#X msg 256 203 shift 5; +#X obj 125 269 print REGMAP; +#X floatatom 38 166 5 0 0 0 - - -; +#X floatatom 35 257 5 0 0 0 - - -; +#X msg 160 57 map 1 1 1 1 1 1 1 1 1 1 1 1; +#X text 324 124 removes an element from the array; +#X text 318 166 removes an element from the array and; +#X text 319 178 subtracts 1 from subsequent elements; +#X text 320 201 shifts elements downstream \, adding 1; +#X text 319 213 to each element \, from a specific point; +#X text 349 242 inserts an element into the array; +#X connect 0 0 12 0; +#X connect 0 2 10 0; +#X connect 1 0 0 0; +#X connect 2 0 1 0; +#X connect 3 0 0 0; +#X connect 4 0 0 0; +#X connect 4 0 7 0; +#X connect 5 0 0 0; +#X connect 5 0 7 0; +#X connect 6 0 3 0; +#X connect 7 0 6 0; +#X connect 8 0 0 0; +#X connect 8 0 7 0; +#X connect 9 0 0 0; +#X connect 9 0 7 0; +#X connect 11 0 0 0; +#X connect 13 0 0 0; +#X restore 325 298 pd register_functions; +#X connect 0 0 6 0; +#X connect 0 1 7 0; +#X connect 0 2 8 0; +#X connect 0 2 18 0; +#X connect 0 3 9 0; +#X connect 1 0 0 0; +#X connect 2 0 0 0; +#X connect 3 0 0 0; +#X connect 4 0 0 0; +#X connect 5 0 0 0; +#X connect 6 0 11 0; +#X connect 7 0 12 0; +#X connect 9 0 10 0; +#X connect 13 0 0 0; +#X connect 13 0 18 0; +#X connect 18 0 29 0; +#X connect 22 0 0 0; +#X connect 25 0 0 0; +#X connect 25 0 29 0; +#X connect 26 0 27 0; +#X connect 27 0 0 0; +#X connect 29 0 16 0; +#X connect 29 1 17 0; +#X connect 29 3 19 0; +#X connect 42 0 3 0; +#X connect 42 0 43 0; +#X connect 43 0 5 0; diff --git a/sieve.c b/sieve.c new file mode 100644 index 0000000..3238844 --- /dev/null +++ b/sieve.c @@ -0,0 +1,410 @@ +/* takes a map like 0 1 3 4 7 and only returns the number if it is present */ +/* in the map, or returns the closest, or the next up or down (wrapped)*/ +#include "m_pd.h" +#include +#include +#define MAXENTRIES 2048 +#define LASTENTRY 2047 + +static t_class *sieve_class; + +/* mode = 0 : block when absent, 1: nearest when absent, 2: shunt when absent */ +typedef struct _map +{ + t_atom map[MAXENTRIES]; + t_atom nomap[MAXENTRIES]; +} t_map; + +typedef struct _sieve +{ + t_object x_obj; + t_map x_map; + t_float input, mode, max, outmap; + t_outlet *mapped, *value, *mapout, *inst; +} t_sieve; + +void sieve_float(t_sieve *x, t_floatarg fin) +{ + int i, ip, in, arg, arga, argb, argaout, argbout, argxa, argxb, itest, itesta, itestb, iresult; + itest = itesta = itestb = iresult = arga = argb = arg = 0; + float test, testa, testb, fresult; + test = testa = testb = fresult = 0; + x->input = arg = fin; + if (x->mode == 0) /* only let through floats when the corresponding + index contains != 0 */ + { + test = fin < 0 ? 0 : atom_getfloatarg(arg, MAXENTRIES, x->x_map.map); + if(test!=0) + { + outlet_bang(x->inst); + outlet_float(x->value, test); + outlet_float(x->mapped, arg); + } + } + else if (x->mode == 1) /* find the nearest float whose (int) index is + != 0 */ + { + test = fin < 0 ? 0 : atom_getfloatarg(arg, MAXENTRIES, x->x_map.map); + if(test!=0) + { + outlet_bang(x->inst); + outlet_float(x->value, test); + outlet_float(x->mapped, arg); + } + else + { + arga = argb = arg; + while(itest == 0 && (arga > -1 || argb < MAXENTRIES)) + { + arga--; + argb++; + argxa = arga >= 0 ? arga : 0; + argxb = argb <= LASTENTRY ? argb : LASTENTRY; + testa = atom_getfloatarg(argxa, MAXENTRIES, x->x_map.map); + testb = atom_getfloatarg(argxb, MAXENTRIES, x->x_map.map); + itesta = testa != 0 ? 1 : 0; + itestb = testb != 0 ? 1 : 0; + itest = fin < 0 ? 0 : itesta + itestb; + } + switch(itest) + { + case 2: /* if we find two at equal distance, output the higher */ + if (x->mode == 1) + { + outlet_float(x->value, testb); + outlet_float(x->mapped, argb); + } + else + { + outlet_float(x->value, testa); + outlet_float(x->mapped, arga); + } + case 1: + iresult = itesta == 1 ? arga : argb; + fresult = itesta == 1 ? testa : testb; + outlet_float(x->value, fresult); + outlet_float(x->mapped, iresult); + case 0: + break; + } + } + } + else if (x->mode==2) /* if the index is 0, find the next highest */ + { + itest = 0; + test = fin < 0 ? 0 : atom_getfloatarg(arg, MAXENTRIES, x->x_map.map); + if(test!=0) + { + outlet_bang(x->inst); + outlet_float(x->value, test); + outlet_float(x->mapped, arg); + } + else + { + arga = arg; + while(itest == 0 && (x->max > 0)) + { + arga = (arga + 1) <= LASTENTRY ? (arga + 1) : 0; + testa = atom_getfloatarg(arga, MAXENTRIES, x->x_map.map); + itest = testa != 0 ? 1 : 0; + } + if(x->max > 0 && fin >= 0) + { + outlet_float(x->value, testa); + outlet_float(x->mapped, arga); + } + } + } + else if (x->mode == 3) /* if the index is 0, find the next lowest */ + { + itest = 0; + test = fin < 0 ? 0 : atom_getfloatarg(arg, MAXENTRIES, x->x_map.map); + if(test!=0) + { + outlet_bang(x->inst); + outlet_float(x->value, test); + outlet_float(x->mapped, arg); + } + else + { + arga = arg; + while(itest == 0 && (x->max > 0)) + { + argb = arga - 1; + arga = argb >= 0 ? argb : LASTENTRY; + testa = atom_getfloatarg(arga, MAXENTRIES, x->x_map.map); + itest = testa != 0 ? 1 : 0; + } + } + outlet_float(x->value, testa); + outlet_float(x->mapped, arga); + } +} + +void sieve_set(t_sieve *x, t_floatarg fmap, t_floatarg fval) /* set one value + in the array */ +{ + float fvaller; + if(fmap < MAXENTRIES && fmap >= 0) + { + int imap = (int)fmap; + fvaller = fval != 0 ? 0 : 1; + SETFLOAT(&x->x_map.map[imap], fval); + SETFLOAT(&x->x_map.nomap[imap], fvaller); + x->max = fmap > x->max ? fmap : x->max; + } +} + +void sieve_delete(t_sieve *x, t_floatarg loc) /* remove a value */ +{ + int addloc = (int)loc + 1; + int maxentry = (int)x->max; + int i; + float buffer; + if(locmax && loc>=0) + { + for(i=addloc;i<=maxentry;i++) + { + buffer = atom_getfloatarg(i,MAXENTRIES,x->x_map.map); + SETFLOAT(&x->x_map.map[i-1],buffer); + if(buffer!=0) + { + SETFLOAT(&x->x_map.nomap[i-1],0); + } + else + { + SETFLOAT(&x->x_map.nomap[i-1],1); + } + } + SETFLOAT(&x->x_map.map[maxentry],0); + x->max--; + } + else if(loc==x->max) + { + x->max--; + SETFLOAT(&x->x_map.map[maxentry],0); + } +} + +void sieve_shunt(t_sieve *x, t_floatarg loc) /* move down + and decrement subsequent */ +{ + int addloc = (int)loc + 1; + int maxentry = (int)x->max; + int i; + float buffer, shunt; + if(locmax && loc>=0) + { + for(i=addloc;i<=maxentry;i++) + { + buffer = atom_getfloatarg(i,MAXENTRIES,x->x_map.map); + shunt = buffer - 1; + SETFLOAT(&x->x_map.map[i-1],shunt); + if(shunt!=0) + { + SETFLOAT(&x->x_map.nomap[i-1],0); + } + else + { + SETFLOAT(&x->x_map.nomap[i-1],1); + } + } + SETFLOAT(&x->x_map.map[maxentry],0); + x->max--; + } + else if(loc==x->max) + { + x->max--; + SETFLOAT(&x->x_map.map[maxentry],0); + } +} + +void sieve_shift(t_sieve *x, t_floatarg loc) /* move up and + increment subsequent */ +{ + int location = (int)loc; + int addloc; + int maxentry = (int)x->max+1; + int i; + float buffer, shift; + if(location>=0 && maxentry < MAXENTRIES) + { + for(i=maxentry;i>=location;i--) + { + buffer = atom_getfloatarg(i-1,MAXENTRIES,x->x_map.map); + shift = buffer + 1; + SETFLOAT(&x->x_map.map[i],shift); + if(shift!=0) + { + SETFLOAT(&x->x_map.nomap[i],0); + } + else + { + SETFLOAT(&x->x_map.nomap[i],1); + } + } + x->max++; + } +} + +void sieve_insert(t_sieve *x, t_floatarg loc, t_floatarg val) +/* insert a value at specific location, moving subsequent values up */ +{ + int location = (int)loc; + int maxentry = (int)x->max+1; + int i; + float buffer; + if(loc>=0 && maxentry < MAXENTRIES) + { + for(i=maxentry;i>=location;i--) + { + buffer = atom_getfloatarg(i-1,MAXENTRIES,x->x_map.map); + SETFLOAT(&x->x_map.map[i],buffer); + if(buffer!=0) + { + SETFLOAT(&x->x_map.nomap[i],0); + } + else + { + SETFLOAT(&x->x_map.nomap[i],1); + } + } + x->max++; + SETFLOAT(&x->x_map.map[location], val); + if(val) + { + SETFLOAT(&x->x_map.nomap[location],0); + } + else + { + SETFLOAT(&x->x_map.nomap[location],1); + } + } +} + +void sieve_get(t_sieve *x, t_floatarg inv) /* outlet to map or inverse */ +{ + if(inv!=0) + { + outlet_list(x->mapout, gensym("list"), x->max+1, x->x_map.nomap); + } + else outlet_list(x->mapout, gensym("list"), x->max+1, x->x_map.map); + x->outmap = inv; +} + +void sieve_clear(t_sieve *x) +{ + int i; + for(i=0;ix_map.map[i], 0); + SETFLOAT(&x->x_map.nomap[i], 1); + } + x->max = 0; +} + +void sieve_map(t_sieve *x, t_symbol *s, int argc, t_atom *argv) /* set the whole map */ +{ + int i; + for(i=0;ix_map.map+i, 0); + SETFLOAT(x->x_map.nomap+i, 1); + } + x->max = 0; + float arg; + for(i=0;ix_map.map[i], arg); + SETFLOAT(&x->x_map.nomap[i], 0); + x->max = i; + } + } + if (x->max > 0 && x->outmap == 0) + { + outlet_list(x->mapout, gensym("list"), x->max+1, x->x_map.map); + } + else if (x->max > 0 && x->outmap == 1) + { + outlet_list(x->mapout, gensym("list"), x->max+1, x->x_map.nomap); + } +} + +void sieve_mode(t_sieve *x, t_floatarg fmode) +{ + x->mode = fmode < 0 ? 0 : fmode > 3 ? 3 : fmode; +} + +void sieve_debug(t_sieve *x) +{ + float ele0, ele1, ele2, ele3, ele4, ele5, ele6, ele7, ele8, ele9; + float nle0, nle1, nle2, nle3, nle4, nle5, nle6, nle7, nle8, nle9; + ele0 = atom_getfloatarg(0, MAXENTRIES, x->x_map.map); + ele1 = atom_getfloatarg(1, MAXENTRIES, x->x_map.map); + ele2 = atom_getfloatarg(2, MAXENTRIES, x->x_map.map); + ele3 = atom_getfloatarg(3, MAXENTRIES, x->x_map.map); + ele4 = atom_getfloatarg(4, MAXENTRIES, x->x_map.map); + ele5 = atom_getfloatarg(5, MAXENTRIES, x->x_map.map); + ele6 = atom_getfloatarg(6, MAXENTRIES, x->x_map.map); + ele7 = atom_getfloatarg(7, MAXENTRIES, x->x_map.map); + ele8 = atom_getfloatarg(8, MAXENTRIES, x->x_map.map); + ele9 = atom_getfloatarg(9, MAXENTRIES, x->x_map.map); + nle0 = atom_getfloatarg(0, MAXENTRIES, x->x_map.nomap); + nle1 = atom_getfloatarg(1, MAXENTRIES, x->x_map.nomap); + nle2 = atom_getfloatarg(2, MAXENTRIES, x->x_map.nomap); + nle3 = atom_getfloatarg(3, MAXENTRIES, x->x_map.nomap); + nle4 = atom_getfloatarg(4, MAXENTRIES, x->x_map.nomap); + nle5 = atom_getfloatarg(5, MAXENTRIES, x->x_map.nomap); + nle6 = atom_getfloatarg(6, MAXENTRIES, x->x_map.nomap); + nle7 = atom_getfloatarg(7, MAXENTRIES, x->x_map.nomap); + nle8 = atom_getfloatarg(8, MAXENTRIES, x->x_map.nomap); + nle9 = atom_getfloatarg(9, MAXENTRIES, x->x_map.nomap); + post("mode = %f, max = %f", x->mode, x->max); + post("first 10 elements = %f, %f, %f, %f, %f, %f, %f, %f, %f, %f", ele0, ele1, ele2, ele3, ele4, ele5, ele6, ele7, ele8, ele9); + post("first 10 elements = %f, %f, %f, %f, %f, %f, %f, %f, %f, %f", nle0, nle1, nle2, nle3, nle4, nle5, nle6, nle7, nle8, nle9); +} + +void *sieve_new(t_floatarg f) +{ + t_sieve *x = (t_sieve *)pd_new(sieve_class); + x->mode = f; + x->max = 0; + x->outmap = 0; + int i; + for(i=0;ix_map.map+i, 0); + SETFLOAT(x->x_map.nomap+i, 1); + } + x->mapped = outlet_new(&x->x_obj, &s_float); + x->value = outlet_new(&x->x_obj, &s_float); + x->mapout = outlet_new(&x->x_obj, &s_list); + x->inst = outlet_new(&x->x_obj, &s_bang); + return (void *)x; +} + +void sieve_setup(void) +{ + sieve_class = class_new(gensym("sieve"), + (t_newmethod)sieve_new, + 0, sizeof(t_sieve), + 0, A_DEFFLOAT, 0); + post("|^^^^^^^^^^^^^sieve^^^^^^^^^^^^^|"); + post("|->^^^integer map to floats^^^<-|"); + post("|^^^^^^^Edward Kelly 2006^^^^^^^|"); + + class_addfloat(sieve_class, sieve_float); + class_addmethod(sieve_class, (t_method)sieve_set, gensym("set"), A_DEFFLOAT, A_DEFFLOAT, 0); + class_addmethod(sieve_class, (t_method)sieve_map, gensym("map"), A_GIMME, 0); + class_addmethod(sieve_class, (t_method)sieve_clear, gensym("clear"), A_DEFFLOAT, 0); + class_addmethod(sieve_class, (t_method)sieve_get, gensym("get"), A_DEFFLOAT, 0); + class_addmethod(sieve_class, (t_method)sieve_delete, gensym("delete"), A_DEFFLOAT, 0); + class_addmethod(sieve_class, (t_method)sieve_shunt, gensym("shunt"), A_DEFFLOAT, 0); + class_addmethod(sieve_class, (t_method)sieve_shift, gensym("shift"), A_DEFFLOAT, 0); + class_addmethod(sieve_class, (t_method)sieve_insert, gensym("insert"), A_DEFFLOAT, A_DEFFLOAT, 0); + class_addmethod(sieve_class, (t_method)sieve_mode, gensym("mode"), A_DEFFLOAT, 0); + class_addmethod(sieve_class, (t_method)sieve_debug, gensym("debug"), A_DEFFLOAT, 0); +} diff --git a/sieve/makefile b/sieve/makefile deleted file mode 100755 index 15f95e7..0000000 --- a/sieve/makefile +++ /dev/null @@ -1,105 +0,0 @@ -current: - echo make pd_linux, pd_nt, pd_irix5, pd_irix6 or pd_darwin, then make install - -clean: ; rm -f *.pd_* *.o - -# ----------------------- NT ----------------------- - -pd_nt: sieve.dll - -INSTALL_PREFIX="C:\pd\extra" -EXT=dll -.SUFFIXES: .obj .dll - -PDNTCFLAGS = /W3 /WX /DNT /DPD /nologo -VC="D:\Program Files\Microsoft Visual Studio\Vc98" - -PDNTINCLUDE = /I. /I\tcl\include /I..\..\src /I$(VC)\include - -PDNTLDIR = $(VC)\lib -PDNTLIB = $(PDNTLDIR)\libc.lib \ - $(PDNTLDIR)\oldnames.lib \ - $(PDNTLDIR)\kernel32.lib \ - ..\..\bin\pd.lib - -.c.dll: - cl $(PDNTCFLAGS) $(PDNTINCLUDE) /c $*.c - link /dll /export:$*_setup $*.obj $(PDNTLIB) - -# ----------------------- IRIX 5.x ----------------------- - -pd_irix5: sieve.pd_irix5 - -INSTALL_PREFIX=/usr/local -EXT=pd_irix5 -.SUFFIXES: .pd_irix5 - -SGICFLAGS5 = -o32 -DPD -DUNIX -DIRIX -O2 - -SGIINCLUDE = -I/usr/local/include - -.c.pd_irix5: - cc $(SGICFLAGS5) $(SGIINCLUDE) -o $*.o -c $*.c - ld -elf -shared -rdata_shared -o $*.pd_irix5 $*.o - rm $*.o - -# ----------------------- IRIX 5.x ----------------------- - -pd_irix6: sieve.pd_irix6 - -INSTALL_PREFIX=/usr/local -EXT=pd_irix6 -.SUFFIXES: .pd_irix6 - -SGICFLAGS5 = -o32 -DPD -DUNIX -DIRIX -O2 - -SGIINCLUDE = -I/usr/local/include - -.c.pd_irix6: - cc $(SGICFLAGS5) $(SGIINCLUDE) -o $*.o -c $*.c - ld -elf -shared -rdata_shared -o $*.pd_irix6 $*.o - rm $*.o - -# ----------------------- LINUX i386 ----------------------- - -pd_linux: sieve.pd_linux - -INSTALL_PREFIX=/usr/local -EXT=pd_linux -.SUFFIXES: .pd_linux - -LINUXCFLAGS = -DPD -O2 -funroll-loops -fomit-frame-pointer \ - -Wall -W -Wshadow -Wstrict-prototypes -Werror \ - -Wno-unused -Wno-parentheses -Wno-switch - -LINUXINCLUDE = -I/usr/local/include - -.c.pd_linux: - cc $(LINUXCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c - ld --export-dynamic -shared -o $*.pd_linux $*.o -lc -lm - strip --strip-unneeded $*.pd_linux - rm $*.o - -# ----------------------- Mac OSX ----------------------- - -pd_darwin: sieve.pd_darwin - -INSTALL_PREFIX=/usr/local -EXT=pd_darwin -.SUFFIXES: .pd_darwin - -DARWINCFLAGS = -DPD -O2 -Wall -W -Wshadow -Wstrict-prototypes \ - -Wno-unused -Wno-parentheses -Wno-switch - -.c.pd_darwin: - cc $(DARWINCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c - cc -bundle -undefined suppress -flat_namespace -o $*.pd_darwin $*.o - rm -f $*.o - -# ---------------------------------------------- - -install:: - install -d $(INSTALL_PREFIX)/lib/pd/extra -# install -m 644 *.$(EXT) $(INSTALL_PREFIX)/lib/pd/externs - -install -m 644 sieve.$(EXT) $(INSTALL_PREFIX)/lib/pd/extra - install -m 644 *.pd $(INSTALL_PREFIX)/lib/pd/doc/5.reference diff --git a/sieve/sieve-help.pd b/sieve/sieve-help.pd deleted file mode 100644 index e472628..0000000 --- a/sieve/sieve-help.pd +++ /dev/null @@ -1,123 +0,0 @@ -#N canvas 439 25 595 461 10; -#X obj 94 346 sieve; -#X msg 147 276 set 2 1; -#X msg 198 276 set 7 0.86; -#X msg 148 198 map 0 1 0 0 0 3 0 2 0 0.7; -#X msg 147 229 get 0; -#X msg 147 250 get 1; -#X floatatom 37 384 5 0 0 0 - - -; -#X floatatom 81 382 5 0 0 0 - - -; -#X obj 129 379 print MAPOUT; -#X obj 218 379 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X obj 218 397 print EXACT; -#X obj 37 419 print MAPPED; -#X obj 81 399 print VALUE; -#X msg 147 324 clear; -#X text 189 228 get map; -#X text 189 249 get inverted map; -#X floatatom 309 406 5 0 0 0 - - -; -#X floatatom 350 406 5 0 0 0 - - -; -#X obj 341 363 prepend map; -#X obj 395 405 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X text 189 323 clear object; -#X text 277 277 set [location \, value]; -#X msg 147 297 set 2 0; -#X text 201 297 unset location; -#X text 332 196 set map; -#X floatatom 35 318 5 0 0 0 - - -; -#X obj 29 184 vradio 15 1 0 4 empty empty mode 0 -6 0 10 -262144 -1 --1 0; -#X msg 29 248 mode \$1; -#X text 62 170 : 0=exact \, 1=nearest \, 2=shunt up \, 3=shunt down -; -#X obj 341 383 sieve; -#X obj 22 19 sieve; -#X text 62 19 takes integers and maps them to floats if they are set. -; -#X text 63 32 in the default mode (mode 0) integers without an associated -float are blocked \, so a map will sieve the input.; -#X text 64 60 mode 1 forces the sieve to choose the nearest index \, -so that inputs are sent to alternative outputs. The rightmost output -bangs only if the input is exact.; -#X text 64 101 In modes 2 and 3 the sieve chooses the next map up or -the next map down. If the input is higher than the highest mapped integer -in mode 2 \, or lower than the lowest in mode 3 \, then the shunting -is wrapped and the lowest or highest is chosen respectively.; -#X text 294 330 when the inverted map is sent to another; -#X text 298 344 sieve object \, the input is segregated.; -#X text 38 440 Polyphony control objects by Ed Kelly \, November 2006 -; -#X text 411 439 See also; -#X obj 476 438 polymap; -#X obj 476 417 polystat; -#X obj 532 438 maskxor; -#X obj 410 181 loadbang; -#X obj 410 233 delay 50; -#N canvas 0 0 596 300 register_functions 0; -#X obj 99 208 sieve; -#X msg 99 83 map 0 1 2 4 5 6 7 9 10 11 12; -#X obj 99 47 loadbang; -#X msg 157 166 get 0; -#X msg 254 125 delete 8; -#X msg 255 167 shunt 5; -#X obj 194 166 delay 0; -#X msg 194 149 bang; -#X msg 254 241 insert 7 100; -#X msg 256 203 shift 5; -#X obj 125 269 print REGMAP; -#X floatatom 38 166 5 0 0 0 - - -; -#X floatatom 35 257 5 0 0 0 - - -; -#X msg 160 57 map 1 1 1 1 1 1 1 1 1 1 1 1; -#X text 324 124 removes an element from the array; -#X text 318 166 removes an element from the array and; -#X text 319 178 subtracts 1 from subsequent elements; -#X text 320 201 shifts elements downstream \, adding 1; -#X text 319 213 to each element \, from a specific point; -#X text 349 242 inserts an element into the array; -#X connect 0 0 12 0; -#X connect 0 2 10 0; -#X connect 1 0 0 0; -#X connect 2 0 1 0; -#X connect 3 0 0 0; -#X connect 4 0 0 0; -#X connect 4 0 7 0; -#X connect 5 0 0 0; -#X connect 5 0 7 0; -#X connect 6 0 3 0; -#X connect 7 0 6 0; -#X connect 8 0 0 0; -#X connect 8 0 7 0; -#X connect 9 0 0 0; -#X connect 9 0 7 0; -#X connect 11 0 0 0; -#X connect 13 0 0 0; -#X restore 325 298 pd register_functions; -#X connect 0 0 6 0; -#X connect 0 1 7 0; -#X connect 0 2 8 0; -#X connect 0 2 18 0; -#X connect 0 3 9 0; -#X connect 1 0 0 0; -#X connect 2 0 0 0; -#X connect 3 0 0 0; -#X connect 4 0 0 0; -#X connect 5 0 0 0; -#X connect 6 0 11 0; -#X connect 7 0 12 0; -#X connect 9 0 10 0; -#X connect 13 0 0 0; -#X connect 13 0 18 0; -#X connect 18 0 29 0; -#X connect 22 0 0 0; -#X connect 25 0 0 0; -#X connect 25 0 29 0; -#X connect 26 0 27 0; -#X connect 27 0 0 0; -#X connect 29 0 16 0; -#X connect 29 1 17 0; -#X connect 29 3 19 0; -#X connect 42 0 3 0; -#X connect 42 0 43 0; -#X connect 43 0 5 0; diff --git a/sieve/sieve.c b/sieve/sieve.c deleted file mode 100644 index 3238844..0000000 --- a/sieve/sieve.c +++ /dev/null @@ -1,410 +0,0 @@ -/* takes a map like 0 1 3 4 7 and only returns the number if it is present */ -/* in the map, or returns the closest, or the next up or down (wrapped)*/ -#include "m_pd.h" -#include -#include -#define MAXENTRIES 2048 -#define LASTENTRY 2047 - -static t_class *sieve_class; - -/* mode = 0 : block when absent, 1: nearest when absent, 2: shunt when absent */ -typedef struct _map -{ - t_atom map[MAXENTRIES]; - t_atom nomap[MAXENTRIES]; -} t_map; - -typedef struct _sieve -{ - t_object x_obj; - t_map x_map; - t_float input, mode, max, outmap; - t_outlet *mapped, *value, *mapout, *inst; -} t_sieve; - -void sieve_float(t_sieve *x, t_floatarg fin) -{ - int i, ip, in, arg, arga, argb, argaout, argbout, argxa, argxb, itest, itesta, itestb, iresult; - itest = itesta = itestb = iresult = arga = argb = arg = 0; - float test, testa, testb, fresult; - test = testa = testb = fresult = 0; - x->input = arg = fin; - if (x->mode == 0) /* only let through floats when the corresponding - index contains != 0 */ - { - test = fin < 0 ? 0 : atom_getfloatarg(arg, MAXENTRIES, x->x_map.map); - if(test!=0) - { - outlet_bang(x->inst); - outlet_float(x->value, test); - outlet_float(x->mapped, arg); - } - } - else if (x->mode == 1) /* find the nearest float whose (int) index is - != 0 */ - { - test = fin < 0 ? 0 : atom_getfloatarg(arg, MAXENTRIES, x->x_map.map); - if(test!=0) - { - outlet_bang(x->inst); - outlet_float(x->value, test); - outlet_float(x->mapped, arg); - } - else - { - arga = argb = arg; - while(itest == 0 && (arga > -1 || argb < MAXENTRIES)) - { - arga--; - argb++; - argxa = arga >= 0 ? arga : 0; - argxb = argb <= LASTENTRY ? argb : LASTENTRY; - testa = atom_getfloatarg(argxa, MAXENTRIES, x->x_map.map); - testb = atom_getfloatarg(argxb, MAXENTRIES, x->x_map.map); - itesta = testa != 0 ? 1 : 0; - itestb = testb != 0 ? 1 : 0; - itest = fin < 0 ? 0 : itesta + itestb; - } - switch(itest) - { - case 2: /* if we find two at equal distance, output the higher */ - if (x->mode == 1) - { - outlet_float(x->value, testb); - outlet_float(x->mapped, argb); - } - else - { - outlet_float(x->value, testa); - outlet_float(x->mapped, arga); - } - case 1: - iresult = itesta == 1 ? arga : argb; - fresult = itesta == 1 ? testa : testb; - outlet_float(x->value, fresult); - outlet_float(x->mapped, iresult); - case 0: - break; - } - } - } - else if (x->mode==2) /* if the index is 0, find the next highest */ - { - itest = 0; - test = fin < 0 ? 0 : atom_getfloatarg(arg, MAXENTRIES, x->x_map.map); - if(test!=0) - { - outlet_bang(x->inst); - outlet_float(x->value, test); - outlet_float(x->mapped, arg); - } - else - { - arga = arg; - while(itest == 0 && (x->max > 0)) - { - arga = (arga + 1) <= LASTENTRY ? (arga + 1) : 0; - testa = atom_getfloatarg(arga, MAXENTRIES, x->x_map.map); - itest = testa != 0 ? 1 : 0; - } - if(x->max > 0 && fin >= 0) - { - outlet_float(x->value, testa); - outlet_float(x->mapped, arga); - } - } - } - else if (x->mode == 3) /* if the index is 0, find the next lowest */ - { - itest = 0; - test = fin < 0 ? 0 : atom_getfloatarg(arg, MAXENTRIES, x->x_map.map); - if(test!=0) - { - outlet_bang(x->inst); - outlet_float(x->value, test); - outlet_float(x->mapped, arg); - } - else - { - arga = arg; - while(itest == 0 && (x->max > 0)) - { - argb = arga - 1; - arga = argb >= 0 ? argb : LASTENTRY; - testa = atom_getfloatarg(arga, MAXENTRIES, x->x_map.map); - itest = testa != 0 ? 1 : 0; - } - } - outlet_float(x->value, testa); - outlet_float(x->mapped, arga); - } -} - -void sieve_set(t_sieve *x, t_floatarg fmap, t_floatarg fval) /* set one value - in the array */ -{ - float fvaller; - if(fmap < MAXENTRIES && fmap >= 0) - { - int imap = (int)fmap; - fvaller = fval != 0 ? 0 : 1; - SETFLOAT(&x->x_map.map[imap], fval); - SETFLOAT(&x->x_map.nomap[imap], fvaller); - x->max = fmap > x->max ? fmap : x->max; - } -} - -void sieve_delete(t_sieve *x, t_floatarg loc) /* remove a value */ -{ - int addloc = (int)loc + 1; - int maxentry = (int)x->max; - int i; - float buffer; - if(locmax && loc>=0) - { - for(i=addloc;i<=maxentry;i++) - { - buffer = atom_getfloatarg(i,MAXENTRIES,x->x_map.map); - SETFLOAT(&x->x_map.map[i-1],buffer); - if(buffer!=0) - { - SETFLOAT(&x->x_map.nomap[i-1],0); - } - else - { - SETFLOAT(&x->x_map.nomap[i-1],1); - } - } - SETFLOAT(&x->x_map.map[maxentry],0); - x->max--; - } - else if(loc==x->max) - { - x->max--; - SETFLOAT(&x->x_map.map[maxentry],0); - } -} - -void sieve_shunt(t_sieve *x, t_floatarg loc) /* move down - and decrement subsequent */ -{ - int addloc = (int)loc + 1; - int maxentry = (int)x->max; - int i; - float buffer, shunt; - if(locmax && loc>=0) - { - for(i=addloc;i<=maxentry;i++) - { - buffer = atom_getfloatarg(i,MAXENTRIES,x->x_map.map); - shunt = buffer - 1; - SETFLOAT(&x->x_map.map[i-1],shunt); - if(shunt!=0) - { - SETFLOAT(&x->x_map.nomap[i-1],0); - } - else - { - SETFLOAT(&x->x_map.nomap[i-1],1); - } - } - SETFLOAT(&x->x_map.map[maxentry],0); - x->max--; - } - else if(loc==x->max) - { - x->max--; - SETFLOAT(&x->x_map.map[maxentry],0); - } -} - -void sieve_shift(t_sieve *x, t_floatarg loc) /* move up and - increment subsequent */ -{ - int location = (int)loc; - int addloc; - int maxentry = (int)x->max+1; - int i; - float buffer, shift; - if(location>=0 && maxentry < MAXENTRIES) - { - for(i=maxentry;i>=location;i--) - { - buffer = atom_getfloatarg(i-1,MAXENTRIES,x->x_map.map); - shift = buffer + 1; - SETFLOAT(&x->x_map.map[i],shift); - if(shift!=0) - { - SETFLOAT(&x->x_map.nomap[i],0); - } - else - { - SETFLOAT(&x->x_map.nomap[i],1); - } - } - x->max++; - } -} - -void sieve_insert(t_sieve *x, t_floatarg loc, t_floatarg val) -/* insert a value at specific location, moving subsequent values up */ -{ - int location = (int)loc; - int maxentry = (int)x->max+1; - int i; - float buffer; - if(loc>=0 && maxentry < MAXENTRIES) - { - for(i=maxentry;i>=location;i--) - { - buffer = atom_getfloatarg(i-1,MAXENTRIES,x->x_map.map); - SETFLOAT(&x->x_map.map[i],buffer); - if(buffer!=0) - { - SETFLOAT(&x->x_map.nomap[i],0); - } - else - { - SETFLOAT(&x->x_map.nomap[i],1); - } - } - x->max++; - SETFLOAT(&x->x_map.map[location], val); - if(val) - { - SETFLOAT(&x->x_map.nomap[location],0); - } - else - { - SETFLOAT(&x->x_map.nomap[location],1); - } - } -} - -void sieve_get(t_sieve *x, t_floatarg inv) /* outlet to map or inverse */ -{ - if(inv!=0) - { - outlet_list(x->mapout, gensym("list"), x->max+1, x->x_map.nomap); - } - else outlet_list(x->mapout, gensym("list"), x->max+1, x->x_map.map); - x->outmap = inv; -} - -void sieve_clear(t_sieve *x) -{ - int i; - for(i=0;ix_map.map[i], 0); - SETFLOAT(&x->x_map.nomap[i], 1); - } - x->max = 0; -} - -void sieve_map(t_sieve *x, t_symbol *s, int argc, t_atom *argv) /* set the whole map */ -{ - int i; - for(i=0;ix_map.map+i, 0); - SETFLOAT(x->x_map.nomap+i, 1); - } - x->max = 0; - float arg; - for(i=0;ix_map.map[i], arg); - SETFLOAT(&x->x_map.nomap[i], 0); - x->max = i; - } - } - if (x->max > 0 && x->outmap == 0) - { - outlet_list(x->mapout, gensym("list"), x->max+1, x->x_map.map); - } - else if (x->max > 0 && x->outmap == 1) - { - outlet_list(x->mapout, gensym("list"), x->max+1, x->x_map.nomap); - } -} - -void sieve_mode(t_sieve *x, t_floatarg fmode) -{ - x->mode = fmode < 0 ? 0 : fmode > 3 ? 3 : fmode; -} - -void sieve_debug(t_sieve *x) -{ - float ele0, ele1, ele2, ele3, ele4, ele5, ele6, ele7, ele8, ele9; - float nle0, nle1, nle2, nle3, nle4, nle5, nle6, nle7, nle8, nle9; - ele0 = atom_getfloatarg(0, MAXENTRIES, x->x_map.map); - ele1 = atom_getfloatarg(1, MAXENTRIES, x->x_map.map); - ele2 = atom_getfloatarg(2, MAXENTRIES, x->x_map.map); - ele3 = atom_getfloatarg(3, MAXENTRIES, x->x_map.map); - ele4 = atom_getfloatarg(4, MAXENTRIES, x->x_map.map); - ele5 = atom_getfloatarg(5, MAXENTRIES, x->x_map.map); - ele6 = atom_getfloatarg(6, MAXENTRIES, x->x_map.map); - ele7 = atom_getfloatarg(7, MAXENTRIES, x->x_map.map); - ele8 = atom_getfloatarg(8, MAXENTRIES, x->x_map.map); - ele9 = atom_getfloatarg(9, MAXENTRIES, x->x_map.map); - nle0 = atom_getfloatarg(0, MAXENTRIES, x->x_map.nomap); - nle1 = atom_getfloatarg(1, MAXENTRIES, x->x_map.nomap); - nle2 = atom_getfloatarg(2, MAXENTRIES, x->x_map.nomap); - nle3 = atom_getfloatarg(3, MAXENTRIES, x->x_map.nomap); - nle4 = atom_getfloatarg(4, MAXENTRIES, x->x_map.nomap); - nle5 = atom_getfloatarg(5, MAXENTRIES, x->x_map.nomap); - nle6 = atom_getfloatarg(6, MAXENTRIES, x->x_map.nomap); - nle7 = atom_getfloatarg(7, MAXENTRIES, x->x_map.nomap); - nle8 = atom_getfloatarg(8, MAXENTRIES, x->x_map.nomap); - nle9 = atom_getfloatarg(9, MAXENTRIES, x->x_map.nomap); - post("mode = %f, max = %f", x->mode, x->max); - post("first 10 elements = %f, %f, %f, %f, %f, %f, %f, %f, %f, %f", ele0, ele1, ele2, ele3, ele4, ele5, ele6, ele7, ele8, ele9); - post("first 10 elements = %f, %f, %f, %f, %f, %f, %f, %f, %f, %f", nle0, nle1, nle2, nle3, nle4, nle5, nle6, nle7, nle8, nle9); -} - -void *sieve_new(t_floatarg f) -{ - t_sieve *x = (t_sieve *)pd_new(sieve_class); - x->mode = f; - x->max = 0; - x->outmap = 0; - int i; - for(i=0;ix_map.map+i, 0); - SETFLOAT(x->x_map.nomap+i, 1); - } - x->mapped = outlet_new(&x->x_obj, &s_float); - x->value = outlet_new(&x->x_obj, &s_float); - x->mapout = outlet_new(&x->x_obj, &s_list); - x->inst = outlet_new(&x->x_obj, &s_bang); - return (void *)x; -} - -void sieve_setup(void) -{ - sieve_class = class_new(gensym("sieve"), - (t_newmethod)sieve_new, - 0, sizeof(t_sieve), - 0, A_DEFFLOAT, 0); - post("|^^^^^^^^^^^^^sieve^^^^^^^^^^^^^|"); - post("|->^^^integer map to floats^^^<-|"); - post("|^^^^^^^Edward Kelly 2006^^^^^^^|"); - - class_addfloat(sieve_class, sieve_float); - class_addmethod(sieve_class, (t_method)sieve_set, gensym("set"), A_DEFFLOAT, A_DEFFLOAT, 0); - class_addmethod(sieve_class, (t_method)sieve_map, gensym("map"), A_GIMME, 0); - class_addmethod(sieve_class, (t_method)sieve_clear, gensym("clear"), A_DEFFLOAT, 0); - class_addmethod(sieve_class, (t_method)sieve_get, gensym("get"), A_DEFFLOAT, 0); - class_addmethod(sieve_class, (t_method)sieve_delete, gensym("delete"), A_DEFFLOAT, 0); - class_addmethod(sieve_class, (t_method)sieve_shunt, gensym("shunt"), A_DEFFLOAT, 0); - class_addmethod(sieve_class, (t_method)sieve_shift, gensym("shift"), A_DEFFLOAT, 0); - class_addmethod(sieve_class, (t_method)sieve_insert, gensym("insert"), A_DEFFLOAT, A_DEFFLOAT, 0); - class_addmethod(sieve_class, (t_method)sieve_mode, gensym("mode"), A_DEFFLOAT, 0); - class_addmethod(sieve_class, (t_method)sieve_debug, gensym("debug"), A_DEFFLOAT, 0); -} diff --git a/simile-help.pd b/simile-help.pd new file mode 100644 index 0000000..9b2d510 --- /dev/null +++ b/simile-help.pd @@ -0,0 +1,33 @@ +#N canvas 0 0 719 285 10; +#X floatatom 29 62 5 0 0 3 in-1 #0-sim-1-in-1 -; +#X floatatom 95 63 5 0 0 3 in-2 #0-sim-1-in-2 -; +#X floatatom 144 99 5 0 0 3 window #0-sim-1-win -; +#N canvas 0 0 450 300 init 0; +#X msg 33 31 50; +#X msg 85 31 3; +#X obj 33 82 s \$0-sim-1-in-1; +#X obj 59 65 s \$0-sim-1-in-2; +#X obj 85 48 s \$0-sim-1-win; +#X obj 33 14 loadbang; +#X msg 59 31 53; +#X connect 0 0 2 0; +#X connect 1 0 4 0; +#X connect 5 0 1 0; +#X connect 5 0 6 0; +#X connect 5 0 0 0; +#X connect 6 0 3 0; +#X restore 205 159 pd init; +#X obj 46 153 simile; +#X floatatom 17 215 5 0 0 3 similarity - -; +#X floatatom 117 205 5 0 0 3 sign - -; +#X text 261 35 simile may be used to compare two numbers according +to an error window. If the two numbers are identical then the output +is a 1 If thetwo numbers differ by the value of the error window then +the output is 0.5. The second outlet is the sign \, so that if i1 >= +i2 it is a 1 and if i1 < i2 it is a -1; +#X text 262 114 useful for comparing pitches \, durations etc.; +#X connect 0 0 4 0; +#X connect 1 0 4 1; +#X connect 2 0 4 2; +#X connect 4 0 5 0; +#X connect 4 1 6 0; diff --git a/simile.c b/simile.c new file mode 100644 index 0000000..5ac1ac5 --- /dev/null +++ b/simile.c @@ -0,0 +1,69 @@ +/* + * simile : windowed similarity comparison + * Copyright (C) 2005 edward kelly + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include "m_pd.h" + +typedef struct _simile { + t_object x_obj; + t_float x_win; + t_float min; + t_float sign; + t_float x_in1; + t_float x_in2; + t_float x_result; + t_outlet *x_sim, *x_sign; +} t_simile; + +void simile_float(t_simile *x, t_floatarg in1) { + x->x_in1 = in1; + x->x_win = x->x_win > 0 ? x->x_win : 0.01; /* defaults to 0.01 so that we avoid /0 errors */ + x->min = ( x->x_in1 > x->x_in2 ) ? (x->x_in1 - x->x_in2) : (x->x_in2 - x->x_in1); + x->sign = ( x->x_in1 >= x->x_in2 ) ? 1 : -1; + x->x_result = 1 / ((x->min / x->x_win) + 1); + outlet_float(x->x_sign, x->sign); + outlet_float(x->x_sim, x->x_result); +} + +void simile_bang(t_simile *x) { + outlet_float(x->x_sign, x->sign); + outlet_float(x->x_sim, x->x_result); +} + +t_class *simile_class; + +void *simile_new(t_floatarg x_win) { + t_simile *x = (t_simile *)pd_new(simile_class); + x->x_sim = outlet_new(&x->x_obj, gensym("float")); + x->x_sign = outlet_new(&x->x_obj, gensym("float")); + floatinlet_new(&x->x_obj, &x->x_in2); + floatinlet_new(&x->x_obj, &x->x_win); + return (void *)x; +} + +void simile_setup(void) { + simile_class = class_new(gensym("simile"), + (t_newmethod)simile_new, + 0, sizeof(t_simile), + 0, A_DEFFLOAT, 0); + post("|------------->simile<--------------|"); + post("|->weighted similarity measurement<-|"); + post("|-->edward<----->kelly<----->2005<--|"); + + class_addbang(simile_class, simile_bang); + class_addfloat(simile_class, simile_float); +} diff --git a/simile/m_pd.h b/simile/m_pd.h deleted file mode 100644 index fc9d6ab..0000000 --- a/simile/m_pd.h +++ /dev/null @@ -1,635 +0,0 @@ -/* Copyright (c) 1997-1999 Miller Puckette. -* For information on usage and redistribution, and for a DISCLAIMER OF ALL -* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */ - -#ifndef __m_pd_h_ - -#if defined(_LANGUAGE_C_PLUS_PLUS) || defined(__cplusplus) -extern "C" { -#endif - -#define PD_MAJOR_VERSION 0 -#define PD_MINOR_VERSION 38 - -/* old name for "MSW" flag -- we have to take it for the sake of many old -"nmakefiles" for externs, which will define NT and not MSW */ -#if defined(NT) && !defined(MSW) -#define MSW -#endif - -#ifdef MSW -/* #pragma warning( disable : 4091 ) */ -#pragma warning( disable : 4305 ) /* uncast const double to float */ -#pragma warning( disable : 4244 ) /* uncast float/int conversion etc. */ -#pragma warning( disable : 4101 ) /* unused automatic variables */ -#endif /* MSW */ - - /* the external storage class is "extern" in UNIX; in MSW it's ugly. */ -#ifdef MSW -#ifdef PD_INTERNAL -#define EXTERN __declspec(dllexport) extern -#else -#define EXTERN __declspec(dllimport) extern -#endif /* PD_INTERNAL */ -#else -#define EXTERN extern -#endif /* MSW */ - - /* and depending on the compiler, hidden data structures are - declared differently: */ -#if defined( __GNUC__) || defined( __BORLANDC__ ) || defined( __MWERKS__ ) -#define EXTERN_STRUCT struct -#else -#define EXTERN_STRUCT extern struct -#endif - - -#if !defined(_SIZE_T) && !defined(_SIZE_T_) -#include /* just for size_t -- how lame! */ -#endif - -#define MAXPDSTRING 1000 /* use this for anything you want */ -#define MAXPDARG 5 /* max number of args we can typecheck today */ - -/* signed and unsigned integer types the size of a pointer: */ -/* GG: long is the size of a pointer */ -typedef long t_int; - -typedef float t_float; /* a floating-point number at most the same size */ -typedef float t_floatarg; /* floating-point type for function calls */ - -typedef struct _symbol -{ - char *s_name; - struct _class **s_thing; - struct _symbol *s_next; -} t_symbol; - -EXTERN_STRUCT _array; -#define t_array struct _array /* g_canvas.h */ - -/* pointers to glist and array elements go through a "stub" which sticks -around after the glist or array is freed. The stub itself is deleted when -both the glist/array is gone and the refcount is zero, ensuring that no -gpointers are pointing here. */ - -#define GP_NONE 0 /* the stub points nowhere (has been cut off) */ -#define GP_GLIST 1 /* the stub points to a glist element */ -#define GP_ARRAY 2 /* ... or array */ - -typedef struct _gstub -{ - union - { - struct _glist *gs_glist; /* glist we're in */ - struct _array *gs_array; /* array we're in */ - } gs_un; - int gs_which; /* GP_GLIST/GP_ARRAY */ - int gs_refcount; /* number of gpointers pointing here */ -} t_gstub; - -typedef struct _gpointer /* pointer to a gobj in a glist */ -{ - union - { - struct _scalar *gp_scalar; /* scalar we're in (if glist) */ - union word *gp_w; /* raw data (if array) */ - } gp_un; - int gp_valid; /* number which must match gpointee */ - t_gstub *gp_stub; /* stub which points to glist/array */ -} t_gpointer; - -typedef union word -{ - t_float w_float; - t_symbol *w_symbol; - t_gpointer *w_gpointer; - t_array *w_array; - struct _glist *w_list; - int w_index; -} t_word; - -typedef enum -{ - A_NULL, - A_FLOAT, - A_SYMBOL, - A_POINTER, - A_SEMI, - A_COMMA, - A_DEFFLOAT, - A_DEFSYM, - A_DOLLAR, - A_DOLLSYM, - A_GIMME, - A_CANT -} t_atomtype; - -#define A_DEFSYMBOL A_DEFSYM /* better name for this */ - -typedef struct _atom -{ - t_atomtype a_type; - union word a_w; -} t_atom; - -EXTERN_STRUCT _class; -#define t_class struct _class - -EXTERN_STRUCT _outlet; -#define t_outlet struct _outlet - -EXTERN_STRUCT _inlet; -#define t_inlet struct _inlet - -EXTERN_STRUCT _binbuf; -#define t_binbuf struct _binbuf - -EXTERN_STRUCT _clock; -#define t_clock struct _clock - -EXTERN_STRUCT _outconnect; -#define t_outconnect struct _outconnect - -EXTERN_STRUCT _glist; -#define t_glist struct _glist -#define t_canvas struct _glist /* LATER lose this */ - -typedef t_class *t_pd; /* pure datum: nothing but a class pointer */ - -typedef struct _gobj /* a graphical object */ -{ - t_pd g_pd; /* pure datum header (class) */ - struct _gobj *g_next; /* next in list */ -} t_gobj; - -typedef struct _scalar /* a graphical object holding data */ -{ - t_gobj sc_gobj; /* header for graphical object */ - t_symbol *sc_template; /* template name (LATER replace with pointer) */ - t_word sc_vec[1]; /* indeterminate-length array of words */ -} t_scalar; - -typedef struct _text /* patchable object - graphical, with text */ -{ - t_gobj te_g; /* header for graphical object */ - t_binbuf *te_binbuf; /* holder for the text */ - t_outlet *te_outlet; /* linked list of outlets */ - t_inlet *te_inlet; /* linked list of inlets */ - short te_xpix; /* x&y location (within the toplevel) */ - short te_ypix; - short te_width; /* requested width in chars, 0 if auto */ - unsigned int te_type:2; /* from defs below */ -} t_text; - -#define T_TEXT 0 /* just a textual comment */ -#define T_OBJECT 1 /* a MAX style patchable object */ -#define T_MESSAGE 2 /* a MAX stype message */ -#define T_ATOM 3 /* a cell to display a number or symbol */ - -#define te_pd te_g.g_pd - - /* t_object is synonym for t_text (LATER unify them) */ - -typedef struct _text t_object; - -#define ob_outlet te_outlet -#define ob_inlet te_inlet -#define ob_binbuf te_binbuf -#define ob_pd te_g.g_pd -#define ob_g te_g - -typedef void (*t_method)(void); -typedef void *(*t_newmethod)( void); -typedef void (*t_gotfn)(void *x, ...); - -/* ---------------- pre-defined objects and symbols --------------*/ -EXTERN t_pd pd_objectmaker; /* factory for creating "object" boxes */ -EXTERN t_pd pd_canvasmaker; /* factory for creating canvases */ -EXTERN t_symbol s_pointer; -EXTERN t_symbol s_float; -EXTERN t_symbol s_symbol; -EXTERN t_symbol s_bang; -EXTERN t_symbol s_list; -EXTERN t_symbol s_anything; -EXTERN t_symbol s_signal; -EXTERN t_symbol s__N; -EXTERN t_symbol s__X; -EXTERN t_symbol s_x; -EXTERN t_symbol s_y; -EXTERN t_symbol s_; - -/* --------- prototypes from the central message system ----------- */ -EXTERN void pd_typedmess(t_pd *x, t_symbol *s, int argc, t_atom *argv); -EXTERN void pd_forwardmess(t_pd *x, int argc, t_atom *argv); -EXTERN t_symbol *gensym(char *s); -EXTERN t_gotfn getfn(t_pd *x, t_symbol *s); -EXTERN t_gotfn zgetfn(t_pd *x, t_symbol *s); -EXTERN void nullfn(void); -EXTERN void pd_vmess(t_pd *x, t_symbol *s, char *fmt, ...); -#define mess0(x, s) ((*getfn((x), (s)))((x))) -#define mess1(x, s, a) ((*getfn((x), (s)))((x), (a))) -#define mess2(x, s, a,b) ((*getfn((x), (s)))((x), (a),(b))) -#define mess3(x, s, a,b,c) ((*getfn((x), (s)))((x), (a),(b),(c))) -#define mess4(x, s, a,b,c,d) ((*getfn((x), (s)))((x), (a),(b),(c),(d))) -#define mess5(x, s, a,b,c,d,e) ((*getfn((x), (s)))((x), (a),(b),(c),(d),(e))) -EXTERN void obj_list(t_object *x, t_symbol *s, int argc, t_atom *argv); -EXTERN t_pd *pd_newest(void); - -/* --------------- memory management -------------------- */ -EXTERN void *getbytes(size_t nbytes); -EXTERN void *getzbytes(size_t nbytes); -EXTERN void *copybytes(void *src, size_t nbytes); -EXTERN void freebytes(void *x, size_t nbytes); -EXTERN void *resizebytes(void *x, size_t oldsize, size_t newsize); - -/* -------------------- atoms ----------------------------- */ - -#define SETSEMI(atom) ((atom)->a_type = A_SEMI, (atom)->a_w.w_index = 0) -#define SETCOMMA(atom) ((atom)->a_type = A_COMMA, (atom)->a_w.w_index = 0) -#define SETPOINTER(atom, gp) ((atom)->a_type = A_POINTER, \ - (atom)->a_w.w_gpointer = (gp)) -#define SETFLOAT(atom, f) ((atom)->a_type = A_FLOAT, (atom)->a_w.w_float = (f)) -#define SETSYMBOL(atom, s) ((atom)->a_type = A_SYMBOL, \ - (atom)->a_w.w_symbol = (s)) -#define SETDOLLAR(atom, n) ((atom)->a_type = A_DOLLAR, \ - (atom)->a_w.w_index = (n)) -#define SETDOLLSYM(atom, s) ((atom)->a_type = A_DOLLSYM, \ - (atom)->a_w.w_symbol= (s)) - -EXTERN t_float atom_getfloat(t_atom *a); -EXTERN t_int atom_getint(t_atom *a); -EXTERN t_symbol *atom_getsymbol(t_atom *a); -EXTERN t_symbol *atom_gensym(t_atom *a); -EXTERN t_float atom_getfloatarg(int which, int argc, t_atom *argv); -EXTERN t_int atom_getintarg(int which, int argc, t_atom *argv); -EXTERN t_symbol *atom_getsymbolarg(int which, int argc, t_atom *argv); - -EXTERN void atom_string(t_atom *a, char *buf, unsigned int bufsize); - -/* ------------------ binbufs --------------- */ - -EXTERN t_binbuf *binbuf_new(void); -EXTERN void binbuf_free(t_binbuf *x); -EXTERN t_binbuf *binbuf_duplicate(t_binbuf *y); - -EXTERN void binbuf_text(t_binbuf *x, char *text, size_t size); -EXTERN void binbuf_gettext(t_binbuf *x, char **bufp, int *lengthp); -EXTERN void binbuf_clear(t_binbuf *x); -EXTERN void binbuf_add(t_binbuf *x, int argc, t_atom *argv); -EXTERN void binbuf_addv(t_binbuf *x, char *fmt, ...); -EXTERN void binbuf_addbinbuf(t_binbuf *x, t_binbuf *y); -EXTERN void binbuf_addsemi(t_binbuf *x); -EXTERN void binbuf_restore(t_binbuf *x, int argc, t_atom *argv); -EXTERN void binbuf_print(t_binbuf *x); -EXTERN int binbuf_getnatom(t_binbuf *x); -EXTERN t_atom *binbuf_getvec(t_binbuf *x); -EXTERN void binbuf_eval(t_binbuf *x, t_pd *target, int argc, t_atom *argv); -EXTERN int binbuf_read(t_binbuf *b, char *filename, char *dirname, - int crflag); -EXTERN int binbuf_read_via_path(t_binbuf *b, char *filename, char *dirname, - int crflag); -EXTERN int binbuf_write(t_binbuf *x, char *filename, char *dir, - int crflag); -EXTERN void binbuf_evalfile(t_symbol *name, t_symbol *dir); -EXTERN t_symbol *binbuf_realizedollsym(t_symbol *s, int ac, t_atom *av, - int tonew); - -/* ------------------ clocks --------------- */ - -EXTERN t_clock *clock_new(void *owner, t_method fn); -EXTERN void clock_set(t_clock *x, double systime); -EXTERN void clock_delay(t_clock *x, double delaytime); -EXTERN void clock_unset(t_clock *x); -EXTERN double clock_getlogicaltime(void); -EXTERN double clock_getsystime(void); /* OBSOLETE; use clock_getlogicaltime() */ -EXTERN double clock_gettimesince(double prevsystime); -EXTERN double clock_getsystimeafter(double delaytime); -EXTERN void clock_free(t_clock *x); - -/* ----------------- pure data ---------------- */ -EXTERN t_pd *pd_new(t_class *cls); -EXTERN void pd_free(t_pd *x); -EXTERN void pd_bind(t_pd *x, t_symbol *s); -EXTERN void pd_unbind(t_pd *x, t_symbol *s); -EXTERN t_pd *pd_findbyclass(t_symbol *s, t_class *c); -EXTERN void pd_pushsym(t_pd *x); -EXTERN void pd_popsym(t_pd *x); -EXTERN t_symbol *pd_getfilename(void); -EXTERN t_symbol *pd_getdirname(void); -EXTERN void pd_bang(t_pd *x); -EXTERN void pd_pointer(t_pd *x, t_gpointer *gp); -EXTERN void pd_float(t_pd *x, t_float f); -EXTERN void pd_symbol(t_pd *x, t_symbol *s); -EXTERN void pd_list(t_pd *x, t_symbol *s, int argc, t_atom *argv); -EXTERN void pd_anything(t_pd *x, t_symbol *s, int argc, t_atom *argv); -#define pd_class(x) (*(x)) - -/* ----------------- pointers ---------------- */ -EXTERN void gpointer_init(t_gpointer *gp); -EXTERN void gpointer_copy(const t_gpointer *gpfrom, t_gpointer *gpto); -EXTERN void gpointer_unset(t_gpointer *gp); -EXTERN int gpointer_check(const t_gpointer *gp, int headok); - -/* ----------------- patchable "objects" -------------- */ -EXTERN t_inlet *inlet_new(t_object *owner, t_pd *dest, t_symbol *s1, - t_symbol *s2); -EXTERN t_inlet *pointerinlet_new(t_object *owner, t_gpointer *gp); -EXTERN t_inlet *floatinlet_new(t_object *owner, t_float *fp); -EXTERN t_inlet *symbolinlet_new(t_object *owner, t_symbol **sp); -EXTERN void inlet_free(t_inlet *x); - -EXTERN t_outlet *outlet_new(t_object *owner, t_symbol *s); -EXTERN void outlet_bang(t_outlet *x); -EXTERN void outlet_pointer(t_outlet *x, t_gpointer *gp); -EXTERN void outlet_float(t_outlet *x, t_float f); -EXTERN void outlet_symbol(t_outlet *x, t_symbol *s); -EXTERN void outlet_list(t_outlet *x, t_symbol *s, int argc, t_atom *argv); -EXTERN void outlet_anything(t_outlet *x, t_symbol *s, int argc, t_atom *argv); -EXTERN t_symbol *outlet_getsymbol(t_outlet *x); -EXTERN void outlet_free(t_outlet *x); -EXTERN t_object *pd_checkobject(t_pd *x); - - -/* -------------------- canvases -------------- */ - -EXTERN void glob_setfilename(void *dummy, t_symbol *name, t_symbol *dir); - -EXTERN void canvas_setargs(int argc, t_atom *argv); -EXTERN void canvas_getargs(int *argcp, t_atom **argvp); -EXTERN t_symbol *canvas_getcurrentdir(void); -EXTERN t_glist *canvas_getcurrent(void); -EXTERN void canvas_makefilename(t_glist *c, char *file, - char *result,int resultsize); -EXTERN t_symbol *canvas_getdir(t_glist *x); -EXTERN int sys_fontwidth(int fontsize); -EXTERN int sys_fontheight(int fontsize); -EXTERN void canvas_dataproperties(t_glist *x, t_scalar *sc, t_binbuf *b); - -/* ---------------- widget behaviors ---------------------- */ - -EXTERN_STRUCT _widgetbehavior; -#define t_widgetbehavior struct _widgetbehavior - -EXTERN_STRUCT _parentwidgetbehavior; -#define t_parentwidgetbehavior struct _parentwidgetbehavior -EXTERN t_parentwidgetbehavior *pd_getparentwidget(t_pd *x); - -/* -------------------- classes -------------- */ - -#define CLASS_DEFAULT 0 /* flags for new classes below */ -#define CLASS_PD 1 -#define CLASS_GOBJ 2 -#define CLASS_PATCHABLE 3 -#define CLASS_NOINLET 8 - -#define CLASS_TYPEMASK 3 - - -EXTERN t_class *class_new(t_symbol *name, t_newmethod newmethod, - t_method freemethod, size_t size, int flags, t_atomtype arg1, ...); -EXTERN void class_addcreator(t_newmethod newmethod, t_symbol *s, - t_atomtype type1, ...); -EXTERN void class_addmethod(t_class *c, t_method fn, t_symbol *sel, - t_atomtype arg1, ...); -EXTERN void class_addbang(t_class *c, t_method fn); -EXTERN void class_addpointer(t_class *c, t_method fn); -EXTERN void class_doaddfloat(t_class *c, t_method fn); -EXTERN void class_addsymbol(t_class *c, t_method fn); -EXTERN void class_addlist(t_class *c, t_method fn); -EXTERN void class_addanything(t_class *c, t_method fn); -EXTERN void class_sethelpsymbol(t_class *c, t_symbol *s); -EXTERN void class_setwidget(t_class *c, t_widgetbehavior *w); -EXTERN void class_setparentwidget(t_class *c, t_parentwidgetbehavior *w); -EXTERN t_parentwidgetbehavior *class_parentwidget(t_class *c); -EXTERN char *class_getname(t_class *c); -EXTERN char *class_gethelpname(t_class *c); -EXTERN void class_setdrawcommand(t_class *c); -EXTERN int class_isdrawcommand(t_class *c); -EXTERN void class_domainsignalin(t_class *c, int onset); -#define CLASS_MAINSIGNALIN(c, type, field) \ - class_domainsignalin(c, (char *)(&((type *)0)->field) - (char *)0) - - /* prototype for functions to save Pd's to a binbuf */ -typedef void (*t_savefn)(t_gobj *x, t_binbuf *b); -EXTERN void class_setsavefn(t_class *c, t_savefn f); -EXTERN t_savefn class_getsavefn(t_class *c); - /* prototype for functions to open properties dialogs */ -typedef void (*t_propertiesfn)(t_gobj *x, struct _glist *glist); -EXTERN void class_setpropertiesfn(t_class *c, t_propertiesfn f); -EXTERN t_propertiesfn class_getpropertiesfn(t_class *c); - -#ifndef PD_CLASS_DEF -#define class_addbang(x, y) class_addbang((x), (t_method)(y)) -#define class_addpointer(x, y) class_addpointer((x), (t_method)(y)) -#define class_addfloat(x, y) class_doaddfloat((x), (t_method)(y)) -#define class_addsymbol(x, y) class_addsymbol((x), (t_method)(y)) -#define class_addlist(x, y) class_addlist((x), (t_method)(y)) -#define class_addanything(x, y) class_addanything((x), (t_method)(y)) -#endif - -/* ------------ printing --------------------------------- */ -EXTERN void post(const char *fmt, ...); -EXTERN void startpost(const char *fmt, ...); -EXTERN void poststring(const char *s); -EXTERN void postfloat(float f); -EXTERN void postatom(int argc, t_atom *argv); -EXTERN void endpost(void); -EXTERN void error(const char *fmt, ...); -EXTERN void bug(const char *fmt, ...); -EXTERN void pd_error(void *object, const char *fmt, ...); -EXTERN void sys_logerror(const char *object, const char *s); -EXTERN void sys_unixerror(const char *object); -EXTERN void sys_ouch(void); - - -/* ------------ system interface routines ------------------- */ -EXTERN int sys_isreadablefile(const char *name); -EXTERN void sys_bashfilename(const char *from, char *to); -EXTERN void sys_unbashfilename(const char *from, char *to); -EXTERN int open_via_path(const char *name, const char *ext, const char *dir, - char *dirresult, char **nameresult, unsigned int size, int bin); -EXTERN int sched_geteventno(void); -EXTERN double sys_getrealtime(void); -EXTERN int (*sys_idlehook)(void); /* hook to add idle time computation */ - - -/* ------------ threading ------------------- */ -/* T.Grill - see m_sched.c */ - -EXTERN void sys_lock(void); -EXTERN void sys_unlock(void); -EXTERN int sys_trylock(void); - - -/* --------------- signals ----------------------------------- */ - -typedef float t_sample; -#define MAXLOGSIG 32 -#define MAXSIGSIZE (1 << MAXLOGSIG) - -typedef struct _signal -{ - int s_n; /* number of points in the array */ - t_sample *s_vec; /* the array */ - float s_sr; /* sample rate */ - int s_refcount; /* number of times used */ - int s_isborrowed; /* whether we're going to borrow our array */ - struct _signal *s_borrowedfrom; /* signal to borrow it from */ - struct _signal *s_nextfree; /* next in freelist */ - struct _signal *s_nextused; /* next in used list */ -} t_signal; - - -typedef t_int *(*t_perfroutine)(t_int *args); - -EXTERN t_int *plus_perform(t_int *args); -EXTERN t_int *zero_perform(t_int *args); -EXTERN t_int *copy_perform(t_int *args); - -EXTERN void dsp_add_plus(t_sample *in1, t_sample *in2, t_sample *out, int n); -EXTERN void dsp_add_copy(t_sample *in, t_sample *out, int n); -EXTERN void dsp_add_scalarcopy(t_sample *in, t_sample *out, int n); -EXTERN void dsp_add_zero(t_sample *out, int n); - -EXTERN int sys_getblksize(void); -EXTERN float sys_getsr(void); -EXTERN int sys_get_inchannels(void); -EXTERN int sys_get_outchannels(void); - -EXTERN void dsp_add(t_perfroutine f, int n, ...); -EXTERN void dsp_addv(t_perfroutine f, int n, t_int *vec); -EXTERN void pd_fft(float *buf, int npoints, int inverse); -EXTERN int ilog2(int n); - -EXTERN void mayer_fht(float *fz, int n); -EXTERN void mayer_fft(int n, float *real, float *imag); -EXTERN void mayer_ifft(int n, float *real, float *imag); -EXTERN void mayer_realfft(int n, float *real); -EXTERN void mayer_realifft(int n, float *real); - -EXTERN float *cos_table; -#define LOGCOSTABSIZE 9 -#define COSTABSIZE (1<= -i2 it is a 1 and if i1 < i2 it is a -1; -#X text 262 114 useful for comparing pitches \, durations etc.; -#X connect 0 0 4 0; -#X connect 1 0 4 1; -#X connect 2 0 4 2; -#X connect 4 0 5 0; -#X connect 4 1 6 0; diff --git a/simile/simile.c b/simile/simile.c deleted file mode 100644 index 5ac1ac5..0000000 --- a/simile/simile.c +++ /dev/null @@ -1,69 +0,0 @@ -/* - * simile : windowed similarity comparison - * Copyright (C) 2005 edward kelly - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "m_pd.h" - -typedef struct _simile { - t_object x_obj; - t_float x_win; - t_float min; - t_float sign; - t_float x_in1; - t_float x_in2; - t_float x_result; - t_outlet *x_sim, *x_sign; -} t_simile; - -void simile_float(t_simile *x, t_floatarg in1) { - x->x_in1 = in1; - x->x_win = x->x_win > 0 ? x->x_win : 0.01; /* defaults to 0.01 so that we avoid /0 errors */ - x->min = ( x->x_in1 > x->x_in2 ) ? (x->x_in1 - x->x_in2) : (x->x_in2 - x->x_in1); - x->sign = ( x->x_in1 >= x->x_in2 ) ? 1 : -1; - x->x_result = 1 / ((x->min / x->x_win) + 1); - outlet_float(x->x_sign, x->sign); - outlet_float(x->x_sim, x->x_result); -} - -void simile_bang(t_simile *x) { - outlet_float(x->x_sign, x->sign); - outlet_float(x->x_sim, x->x_result); -} - -t_class *simile_class; - -void *simile_new(t_floatarg x_win) { - t_simile *x = (t_simile *)pd_new(simile_class); - x->x_sim = outlet_new(&x->x_obj, gensym("float")); - x->x_sign = outlet_new(&x->x_obj, gensym("float")); - floatinlet_new(&x->x_obj, &x->x_in2); - floatinlet_new(&x->x_obj, &x->x_win); - return (void *)x; -} - -void simile_setup(void) { - simile_class = class_new(gensym("simile"), - (t_newmethod)simile_new, - 0, sizeof(t_simile), - 0, A_DEFFLOAT, 0); - post("|------------->simile<--------------|"); - post("|->weighted similarity measurement<-|"); - post("|-->edward<----->kelly<----->2005<--|"); - - class_addbang(simile_class, simile_bang); - class_addfloat(simile_class, simile_float); -} diff --git a/simile~-help.pd b/simile~-help.pd new file mode 100644 index 0000000..a1847e3 --- /dev/null +++ b/simile~-help.pd @@ -0,0 +1,5474 @@ +#N canvas 365 7 693 886 10; +#X obj 71 321 simile~; +#X obj 71 269 sig~; +#X obj 113 270 sig~; +#X floatatom 47 199 5 0 0 0 - #0-sim-1-in-1 -; +#X obj 47 213 * 0.01; +#X floatatom 113 200 5 0 0 0 - #0-sim-1-in-2 -; +#X obj 113 214 * 0.01; +#X floatatom 129 290 5 0 0 2 - #0-sim-1-win -; +#X obj 129 304 * 0.01; +#X floatatom 54 230 5 0 0 3 in-1 - -; +#X floatatom 120 231 5 0 0 3 in-2 - -; +#X floatatom 129 321 5 0 0 3 window - -; +#N canvas 0 0 450 300 init 0; +#X msg 33 31 50; +#X msg 85 31 3; +#X obj 33 82 s \$0-sim-1-in-1; +#X obj 59 65 s \$0-sim-1-in-2; +#X obj 85 48 s \$0-sim-1-win; +#X obj 33 14 loadbang; +#X msg 59 31 53; +#X obj 188 82 s \$0-sim-2-pch; +#X obj 215 65 s \$0-sim-2-modf; +#X obj 242 48 s \$0-sim-2-win; +#X msg 242 31 1; +#X msg 215 31 50; +#X msg 188 31 24; +#X connect 0 0 2 0; +#X connect 1 0 4 0; +#X connect 5 0 1 0; +#X connect 5 0 6 0; +#X connect 5 0 0 0; +#X connect 5 0 12 0; +#X connect 5 0 11 0; +#X connect 5 0 10 0; +#X connect 6 0 3 0; +#X connect 10 0 9 0; +#X connect 11 0 8 0; +#X connect 12 0 7 0; +#X restore 233 358 pd init; +#X obj 64 361 envrms~; +#X floatatom 64 378 5 0 0 0 - - -; +#X floatatom 115 378 5 0 0 0 - - -; +#X text 57 19 simile~ can be used to compare two signals according +to an error window.; +#X obj 115 361 snapshot~; +#X obj 181 344 b; +#X obj 181 245 pipe 100; +#X text 56 86 the second outlet is the sign of the difference. if in1 +>= in2 then the sign is 1 \, if in1 < in2 then the sign is -1 may be +useful for phase-locked loops and other self-calibrating machines... +; +#X obj 75 549 osc~; +#X obj 75 488 mtof; +#X floatatom 75 442 5 0 0 2 pitch #0-sim-2-pch -; +#N canvas 0 0 450 300 math 0; +#X obj 72 73 inlet; +#X obj 179 156 +; +#X obj 181 110 t b f; +#X obj 237 61 inlet; +#X obj 178 183 outlet; +#X connect 0 0 1 0; +#X connect 1 0 4 0; +#X connect 2 0 1 0; +#X connect 2 1 1 1; +#X connect 3 0 2 0; +#X restore 75 509 pd math; +#X obj 125 550 osc~; +#X floatatom 119 460 5 0 0 0 - #0-sim-2-modf -; +#X obj 119 474 / 10; +#X floatatom 119 491 5 0 0 1 mod-frequency - -; +#X msg 160 521 0; +#X text 190 521 <-- reset phase; +#X obj 75 606 simile~; +#X floatatom 172 560 5 0 0 2 - #0-sim-2-win -; +#X obj 172 574 * 0.01; +#X floatatom 172 591 5 0 0 3 window - -; +#X text 214 606 /soften; +#N canvas 0 0 488 300 output 0; +#X obj 77 68 inlet~; +#X obj 121 68 inlet~; +#X obj 211 103 inlet; +#X obj 211 120 hradio 15 1 0 3 empty empty empty 0 -6 0 8 -262144 -1 +-1 0; +#X msg 274 103 0; +#X obj 274 86 loadbang; +#X obj 46 135 mux~ . . .; +#X obj 301 179 dbtorms; +#X obj 301 131 inlet; +#X obj 389 90 inlet; +#X floatatom 301 148 5 0 0 0 - - -; +#X obj 47 196 *~ 0; +#X obj 33 68 inlet~; +#X obj 301 162 * 1; +#X obj 371 163 t b f; +#X obj 389 141 -; +#X msg 389 124 1; +#X obj 389 107 t b f; +#X obj 47 213 outlet~; +#X text 155 86 sine~/sim~/sign~; +#X text 36 53 sine~; +#X text 84 53 sim~; +#X text 127 53 sign~; +#X text 298 116 volume; +#X text 393 61 mute; +#X text 394 73 tog; +#X obj 154 263 tabwrite~ sim; +#X obj 249 234 tabwrite~ sign; +#X obj 141 140 r metro; +#X obj 182 228 outlet; +#X obj 46 160 hip~ 18; +#X obj 141 163 metro 1000; +#X obj 443 89 inlet; +#X connect 0 0 6 1; +#X connect 0 0 26 0; +#X connect 1 0 6 2; +#X connect 1 0 27 0; +#X connect 2 0 3 0; +#X connect 3 0 6 0; +#X connect 4 0 3 0; +#X connect 5 0 4 0; +#X connect 6 0 30 0; +#X connect 7 0 11 1; +#X connect 8 0 10 0; +#X connect 9 0 17 0; +#X connect 10 0 13 0; +#X connect 11 0 18 0; +#X connect 12 0 6 0; +#X connect 13 0 7 0; +#X connect 14 0 13 0; +#X connect 14 1 13 1; +#X connect 15 0 14 0; +#X connect 16 0 15 0; +#X connect 17 0 16 0; +#X connect 17 1 15 1; +#X connect 28 0 31 0; +#X connect 30 0 11 0; +#X connect 31 0 26 0; +#X connect 31 0 27 0; +#X connect 31 0 29 0; +#X connect 32 0 29 0; +#X connect 32 0 27 0; +#X connect 32 0 26 0; +#X restore 82 662 pd output; +#X obj 156 647 hradio 15 1 0 3 empty empty empty 0 -6 0 8 -262144 -1 +-1 0; +#X text 129 632 sine~/sim~/sign~; +#X obj 310 647 tgl 15 0 empty empty mute 0 -6 0 8 -262144 -1 -1 0 1 +; +#X floatatom 259 648 5 0 100 2 volume - -; +#X obj 82 689 dac~; +#X text 157 621 output~; +#N canvas 0 0 450 300 graph2 0; +#X array sim 8820 float 1; +#A 0 0.00893242 0.00894733 0.0089625 0.00897789 0.00899362 0.0090096 +0.00902575 0.00904234 0.0090591 0.00907611 0.00909355 0.00911105 0.00912905 +0.00914723 0.00916564 0.00918451 0.00920349 0.0092229 0.00924256 0.00926244 +0.00928279 0.00930335 0.00932418 0.00934543 0.00936688 0.0093887 0.0094109 +0.00943323 0.00945616 0.00947923 0.00950266 0.00952652 0.00955052 0.00957509 +0.00959988 0.00962498 0.00965059 0.00967642 0.00970266 0.0097293 0.00975616 +0.00978357 0.0098113 0.00983931 0.0098679 0.00989669 0.00992598 0.00995568 +0.00998558 0.0100162 0.010047 0.0100783 0.0101101 0.0101421 0.0101748 +0.0102078 0.0102411 0.0102752 0.0103095 0.0103443 0.0103796 0.0104152 +0.0104516 0.0104883 0.0105253 0.0105632 0.0106013 0.01064 0.0106793 +0.0107188 0.0107593 0.0108 0.0108413 0.0108833 0.0109257 0.0109688 +0.0110124 0.0110564 0.0111014 0.0111467 0.0111926 0.0112393 0.0112865 +0.0113344 0.011383 0.011432 0.011482 0.0115324 0.0115836 0.0116357 +0.0116881 0.0117416 0.0117956 0.0118503 0.0119061 0.0119623 0.0120195 +0.0120774 0.0121359 0.0121957 0.012256 0.0123171 0.0123794 0.0124422 +0.0125062 0.012571 0.0126364 0.0127034 0.0127709 0.0128394 0.0129091 +0.0129795 0.0130513 0.0131239 0.0131975 0.0132725 0.0133484 0.0134254 +0.0135038 0.0135829 0.0136637 0.0137456 0.0138284 0.0139131 0.0139985 +0.0140855 0.0141739 0.0142633 0.0143548 0.0144472 0.0145412 0.0146368 +0.0147336 0.0148323 0.0149326 0.0150341 0.0151379 0.0152431 0.0153499 +0.0154589 0.0155691 0.0156818 0.0157961 0.0159121 0.0160308 0.0161509 +0.0162735 0.0163981 0.0165245 0.0166539 0.0167852 0.0169187 0.0170551 +0.0171936 0.0173347 0.0174789 0.0176246 0.0177745 0.0179265 0.0180812 +0.0182397 0.0184001 0.0185649 0.0187321 0.0189025 0.0190772 0.0192547 +0.0194361 0.0196213 0.01981 0.020003 0.0202003 0.0204007 0.0206069 +0.0208165 0.0210311 0.0212509 0.0214742 0.0217046 0.0219386 0.0221784 +0.0224243 0.0226752 0.0229329 0.0231963 0.0234657 0.0237427 0.0240263 +0.0243162 0.0246148 0.0249196 0.0252335 0.0255557 0.0258847 0.0262257 +0.026573 0.0269316 0.0273 0.0276776 0.0280683 0.0284688 0.0288815 0.0293069 +0.029745 0.0301961 0.0306627 0.0311415 0.0316389 0.0321515 0.0326793 +0.0332291 0.0337926 0.0343799 0.0349862 0.0356129 0.0362669 0.0369418 +0.0376445 0.0383733 0.0391309 0.0399194 0.0407412 0.0415943 0.0424885 +0.0434195 0.0443909 0.0454121 0.046471 0.0475912 0.04876 0.0499873 +0.0512832 0.0526401 0.0540782 0.0555903 0.0571894 0.0588861 0.0606845 +0.0625917 0.0646282 0.066795 0.0691124 0.0716042 0.0742557 0.0771403 +0.0802336 0.083591 0.0872465 0.0912111 0.0955842 0.100362 0.105652 +0.111527 0.118082 0.12545 0.133801 0.143309 0.15429 0.167104 0.182104 +0.200211 0.222115 0.249506 0.284551 0.330705 0.395374 0.490327 0.646075 +0.945162 0.698785 0.520729 0.415171 0.345346 0.295592 0.258376 0.229665 +0.206586 0.187873 0.172196 0.15898 0.147698 0.137857 0.129328 0.121752 +0.115058 0.10907 0.103665 0.0987912 0.0943595 0.0903153 0.0866047 0.0832065 +0.0800548 0.0771595 0.07445 0.071939 0.0695992 0.067399 0.0653555 0.0634183 +0.0616095 0.0599013 0.0582849 0.0567613 0.0553147 0.0539458 0.0526437 +0.0514088 0.0502291 0.0491113 0.048038 0.0470171 0.0460404 0.0451023 +0.0442118 0.043348 0.0425274 0.041736 0.0409753 0.0402458 0.0395407 +0.0388643 0.0382108 0.0375821 0.0369737 0.0363889 0.0358212 0.0352749 +0.0347452 0.0342316 0.0337382 0.0332551 0.032792 0.0323401 0.0319027 +0.0314794 0.031066 0.0306669 0.0302774 0.0299006 0.0295331 0.0291768 +0.0288291 0.0284921 0.0281627 0.0278418 0.027531 0.0272254 0.0269309 +0.0266412 0.0263599 0.0260858 0.0258168 0.025556 0.0252997 0.0250512 +0.0248075 0.0245699 0.0243373 0.0241105 0.0238883 0.0236709 0.0234593 +0.0232506 0.0230489 0.0228493 0.0226551 0.022465 0.022278 0.0220962 +0.0219165 0.0217422 0.0215705 0.0214025 0.0212378 0.0210765 0.0209182 +0.020763 0.0206112 0.0204613 0.020316 0.0201719 0.0200315 0.0198934 +0.0197575 0.0196251 0.0194937 0.0193662 0.0192401 0.0191168 0.0189955 +0.0188764 0.0187594 0.0186445 0.0185318 0.0184204 0.0183121 0.0182046 +0.0180998 0.0179964 0.0178946 0.0177952 0.0176964 0.0176005 0.0175053 +0.0174123 0.0173206 0.0172304 0.0171419 0.0170546 0.016969 0.0168843 +0.0168018 0.0167199 0.01664 0.0165609 0.0164832 0.0164071 0.0163314 +0.016258 0.0161849 0.0161135 0.0160431 0.0159737 0.0159056 0.0158383 +0.0157724 0.0157071 0.0156435 0.0155803 0.0155186 0.0154575 0.0153974 +0.0153385 0.01528 0.0152232 0.0151665 0.0151113 0.0150568 0.015003 +0.0149503 0.014898 0.014847 0.0147964 0.0147471 0.0146981 0.0146502 +0.0146029 0.0145563 0.0145107 0.0144653 0.0144214 0.0143774 0.0143347 +0.0142924 0.0142509 0.0142101 0.0141697 0.0141303 0.0140911 0.0140531 +0.0140153 0.0139784 0.0139419 0.0139061 0.0138709 0.0138361 0.0138023 +0.0137686 0.0137359 0.0137034 0.0136717 0.0136405 0.0136097 0.0135797 +0.0135498 0.013521 0.0134922 0.0134643 0.0134367 0.0134096 0.0133832 +0.0133569 0.0133316 0.0133063 0.0132818 0.0132576 0.013234 0.0132108 +0.013188 0.0131658 0.0131438 0.0131226 0.0131016 0.0130812 0.0130611 +0.0130414 0.0130223 0.0130033 0.0129852 0.0129671 0.0129497 0.0129325 +0.0129159 0.0128996 0.0128836 0.0128683 0.012853 0.0128385 0.012824 +0.0128102 0.0127967 0.0127835 0.0127708 0.0127583 0.0127464 0.0127346 +0.0127235 0.0127126 0.0127021 0.0126919 0.0126821 0.0126727 0.0126635 +0.012655 0.0126465 0.0126386 0.0126309 0.0126236 0.0126168 0.01261 +0.0126039 0.0125979 0.0125925 0.0125872 0.0125824 0.0125779 0.0125736 +0.0125698 0.0125662 0.0125632 0.0125603 0.0125579 0.0125556 0.0125538 +0.0125524 0.0125511 0.0125504 0.0125498 0.0125497 0.0125498 0.0125503 +0.0125512 0.0125523 0.0125538 0.0125555 0.0125577 0.0125601 0.012563 +0.012566 0.0125695 0.0125733 0.0125773 0.0125819 0.0125864 0.0125917 +0.012597 0.0126027 0.0126089 0.0126152 0.0126219 0.0126289 0.0126363 +0.012644 0.0126521 0.0126604 0.0126691 0.0126781 0.0126874 0.0126972 +0.0127071 0.0127176 0.0127282 0.0127393 0.0127507 0.0127623 0.0127744 +0.0127867 0.0127994 0.0128125 0.012826 0.0128397 0.0128538 0.0128682 +0.012883 0.0128982 0.0129135 0.0129296 0.0129457 0.0129622 0.0129792 +0.0129963 0.0130141 0.013032 0.0130504 0.0130691 0.0130882 0.0131076 +0.0131275 0.0131476 0.0131682 0.0131892 0.0132104 0.0132323 0.0132543 +0.0132768 0.0132997 0.0133228 0.0133467 0.0133706 0.0133951 0.01342 +0.0134452 0.0134709 0.013497 0.0135234 0.0135504 0.0135777 0.0136054 +0.0136337 0.0136621 0.0136913 0.0137208 0.0137506 0.0137811 0.0138118 +0.0138431 0.0138748 0.0139068 0.0139396 0.0139727 0.0140062 0.0140403 +0.0140747 0.0141098 0.0141453 0.0141811 0.0142178 0.0142547 0.0142921 +0.0143302 0.0143685 0.0144077 0.0144473 0.0144872 0.014528 0.014569 +0.0146108 0.0146531 0.0146957 0.0147393 0.0147832 0.0148276 0.0148729 +0.0149184 0.0149648 0.0150117 0.015059 0.0151073 0.015156 0.0152053 +0.0152555 0.0153059 0.0153574 0.0154094 0.0154617 0.0155153 0.0155692 +0.0156239 0.0156794 0.0157352 0.0157922 0.0158497 0.0159079 0.0159671 +0.0160267 0.0160873 0.0161487 0.0162104 0.0162736 0.0163373 0.0164017 +0.0164673 0.0165332 0.0166004 0.0166683 0.0167367 0.0168068 0.0168772 +0.0169487 0.0170212 0.0170943 0.0171687 0.017244 0.0173199 0.0173975 +0.0174756 0.0175548 0.0176354 0.0177161 0.017799 0.0178824 0.0179668 +0.0180529 0.0181394 0.0182277 0.0183169 0.0184069 0.0184989 0.0185917 +0.0186856 0.0187812 0.0188776 0.0189757 0.0190754 0.0191753 0.019278 +0.0193812 0.0194861 0.0195928 0.0197 0.01981 0.0199206 0.0200329 0.0201472 +0.0202627 0.02038 0.0204992 0.0206194 0.0207422 0.0208667 0.0209921 +0.0211206 0.0212498 0.0213817 0.0215155 0.0216502 0.0217889 0.021928 +0.02207 0.022214 0.0223597 0.0225085 0.0226591 0.0228117 0.0229675 +0.0231255 0.0232852 0.0234487 0.0236131 0.0237819 0.0239527 0.0241255 +0.0243029 0.0244812 0.024664 0.024849 0.0250365 0.0252288 0.0254232 +0.0256211 0.0258227 0.0260276 0.0262356 0.0264482 0.0266625 0.0268832 +0.0271064 0.0273333 0.0275661 0.0278002 0.0280417 0.0282856 0.0285339 +0.0287886 0.0290464 0.0293102 0.0295787 0.029852 0.030131 0.030416 +0.0307047 0.0310018 0.0313028 0.0316107 0.0319262 0.0322441 0.0325743 +0.0329072 0.0332484 0.0335979 0.0339527 0.0343181 0.0346895 0.0350694 +0.0354585 0.0358564 0.036262 0.0366794 0.0371035 0.0375403 0.0379879 +0.0384418 0.0389137 0.0393906 0.0398834 0.040388 0.0409021 0.0414358 +0.0419783 0.0425378 0.0431109 0.0436996 0.0443044 0.0449276 0.0455637 +0.0462242 0.0469021 0.0475952 0.0483175 0.0490507 0.0498155 0.0506001 +0.0514058 0.0522468 0.0531054 0.0540001 0.0549187 0.0558691 0.0568552 +0.0578752 0.0589276 0.0600247 0.0611597 0.0623334 0.0635629 0.0648207 +0.0661502 0.0675212 0.068948 0.0704468 0.0719925 0.0736268 0.0753166 +0.077087 0.0789495 0.0808951 0.0829358 0.0850846 0.0873392 0.0897135 +0.0922316 0.0948542 0.0976716 0.100624 0.103767 0.107122 0.110653 0.114485 +0.118522 0.122875 0.127554 0.132578 0.138024 0.143918 0.15031 0.15731 +0.164998 0.173365 0.182732 0.193025 0.204615 0.217664 0.232292 0.249327 +0.268636 0.291391 0.318186 0.350238 0.389674 0.438717 0.501786 0.585899 +0.703889 0.879138 0.871222 0.699759 0.583797 0.501225 0.439634 0.390974 +0.352751 0.320983 0.294725 0.27254 0.253322 0.236814 0.222298 0.209529 +0.198148 0.188014 0.178833 0.170615 0.16305 0.156186 0.149914 0.144077 +0.138793 0.133804 0.129233 0.124969 0.120963 0.117251 0.113741 0.110468 +0.107379 0.104472 0.101719 0.0991339 0.0966643 0.0943363 0.0921241 +0.0900038 0.0880243 0.086093 0.0842822 0.0825413 0.0808728 0.0792905 +0.077755 0.0763003 0.0748954 0.0735514 0.0722566 0.0710163 0.0698163 +0.068668 0.0675562 0.0664795 0.0654574 0.0644504 0.0634955 0.0625621 +0.0616613 0.0607977 0.059947 0.0591365 0.0583424 0.0575795 0.0568371 +0.0561173 0.0554176 0.054742 0.0540814 0.0534384 0.0528216 0.0522114 +0.0516294 0.0510539 0.0504975 0.049959 0.0494262 0.0489165 0.0484117 +0.0479266 0.0474517 0.046987 0.0465348 0.0460943 0.0456632 0.0452417 +0.0448339 0.0444301 0.0440439 0.0436584 0.0432859 0.0429224 0.0425628 +0.0422178 0.0418729 0.0415424 0.0412167 0.0408969 0.0405854 0.0402797 +0.039981 0.0396879 0.0394025 0.03912 0.0388485; +#A 1000 0.0385772 0.0383149 0.0380569 0.0378023 0.0375575 0.0373108 +0.0370753 0.0368415 0.0366126 0.0363891 0.0361683 0.0359532 0.0357415 +0.0355344 0.0353297 0.035132 0.0349348 0.0347439 0.034555 0.034369 +0.0341898 0.0340086 0.0338362 0.0336637 0.0334955 0.0333311 0.0331677 +0.0330091 0.0328521 0.0326991 0.0325476 0.0324007 0.0322545 0.0321131 +0.0319723 0.0318342 0.0317004 0.0315655 0.0314375 0.0313084 0.0311833 +0.0310607 0.0309385 0.0308203 0.0307026 0.0305886 0.0304755 0.0303655 +0.0302564 0.0301506 0.0300453 0.0299423 0.0298421 0.0297414 0.0296461 +0.0295493 0.0294562 0.0293644 0.0292734 0.0291856 0.0290975 0.0290129 +0.0289288 0.0288469 0.0287659 0.0286872 0.0286093 0.0285331 0.0284589 +0.0283844 0.0283143 0.0282427 0.0281744 0.0281067 0.0280401 0.0279759 +0.0279112 0.0278497 0.0277882 0.0277288 0.0276702 0.0276131 0.027557 +0.0275022 0.0274488 0.0273954 0.0273454 0.0272944 0.0272462 0.0271981 +0.0271512 0.0271064 0.0270608 0.0270182 0.0269752 0.0269345 0.0268942 +0.0268551 0.026817 0.0267799 0.0267439 0.0267082 0.026675 0.0266413 +0.0266099 0.0265784 0.0265482 0.0265195 0.0264905 0.026464 0.0264369 +0.0264121 0.0263876 0.0263639 0.0263414 0.0263195 0.0262988 0.0262783 +0.0262599 0.0262412 0.0262246 0.0262077 0.0261922 0.0261777 0.0261633 +0.026151 0.0261381 0.0261274 0.0261168 0.0261072 0.0260985 0.0260903 +0.0260834 0.0260767 0.0260717 0.0260666 0.0260632 0.0260599 0.0260577 +0.0260564 0.0260553 0.0260561 0.0260563 0.0260586 0.026061 0.0260644 +0.0260686 0.0260733 0.0260793 0.0260853 0.026093 0.0261008 0.0261099 +0.0261194 0.0261299 0.0261411 0.0261528 0.0261659 0.0261789 0.0261937 +0.0262085 0.0262245 0.0262412 0.0262584 0.0262768 0.0262954 0.0263155 +0.0263358 0.0263573 0.0263793 0.0264022 0.0264259 0.0264501 0.0264756 +0.0265012 0.0265284 0.0265558 0.0265843 0.0266134 0.0266433 0.0266742 +0.0267054 0.0267382 0.026771 0.0268052 0.0268399 0.0268754 0.026912 +0.0269489 0.0269872 0.0270258 0.0270656 0.0271061 0.0271475 0.0271896 +0.0272326 0.0272765 0.027321 0.0273668 0.0274128 0.0274604 0.0275084 +0.0275574 0.0276074 0.0276578 0.0277097 0.0277619 0.0278153 0.0278697 +0.0279248 0.0279809 0.0280379 0.0280957 0.0281545 0.0282144 0.0282748 +0.0283367 0.0283991 0.0284626 0.0285272 0.0285923 0.0286591 0.0287262 +0.0287946 0.0288641 0.0289343 0.0290057 0.0290782 0.0291512 0.0292259 +0.0293014 0.0293777 0.0294555 0.0295338 0.0296138 0.0296946 0.0297761 +0.0298594 0.0299433 0.0300285 0.030115 0.030202 0.030291 0.0303807 +0.0304713 0.0305638 0.0306567 0.0307514 0.0308472 0.0309435 0.0310423 +0.0311415 0.031242 0.0313442 0.0314471 0.0315518 0.0316578 0.0317642 +0.0318734 0.031983 0.032094 0.032207 0.0323202 0.0324362 0.0325528 +0.0326706 0.0327908 0.0329116 0.0330344 0.0331586 0.0332837 0.0334113 +0.0335401 0.0336698 0.0338023 0.0339353 0.0340705 0.0342077 0.0343447 +0.0344862 0.0346274 0.0347707 0.0349164 0.0350626 0.0352121 0.0353625 +0.0355145 0.0356692 0.0358252 0.0359829 0.0361434 0.0363044 0.0364688 +0.0366351 0.0368016 0.0369731 0.0371439 0.0373183 0.0374948 0.0376718 +0.0378539 0.0380359 0.0382211 0.0384084 0.0385976 0.0387896 0.0389842 +0.0391794 0.0393797 0.0395816 0.0397844 0.0399927 0.0401998 0.0404129 +0.0406272 0.0408428 0.0410646 0.0412857 0.0415123 0.04174 0.0419702 +0.042205 0.0424421 0.0426811 0.0429252 0.0431713 0.0434198 0.0436742 +0.0439266 0.0441884 0.0444501 0.0447149 0.0449864 0.0452567 0.0455358 +0.0458144 0.0460969 0.0463859 0.0466766 0.0469715 0.0472712 0.0475736 +0.0478807 0.0481939 0.0485055 0.0488285 0.0491509 0.0494792 0.0498143 +0.0501477 0.0504949 0.050839 0.0511906 0.0515483 0.0519084 0.0522762 +0.0526481 0.0530235 0.0534074 0.0537971 0.0541868 0.0545895 0.0549909 +0.0554033 0.0558217 0.056239 0.0566754 0.0571056 0.0575492 0.0579977 +0.0584495 0.0589147 0.0593823 0.0598576 0.0603415 0.0608333 0.0613281 +0.0618374 0.0623447 0.0628706 0.0634012 0.0639339 0.0644891 0.0650355 +0.0656047 0.066176 0.0667527 0.0673512 0.0679491 0.0685623 0.0691827 +0.0698145 0.0704547 0.0711107 0.0717665 0.0724478 0.0731334 0.0738275 +0.0745478 0.0752558 0.0760018 0.0767448 0.0775019 0.0782835 0.0790647 +0.079874 0.0806872 0.0815171 0.0823654 0.0832301 0.0841016 0.085003 +0.0859106 0.0868383 0.0877968 0.088739 0.0897418 0.0907335 0.091755 +0.0928039 0.0938526 0.0949522 0.0960487 0.0971779 0.098329 0.0995034 +0.100698 0.101928 0.103167 0.104449 0.105766 0.107071 0.108457 0.109825 +0.111254 0.112712 0.11417 0.115722 0.117255 0.118856 0.120476 0.122134 +0.12384 0.125587 0.127356 0.129198 0.131087 0.132978 0.13498 0.136955 +0.139051 0.141174 0.143321 0.145603 0.147858 0.15025 0.15265 0.155118 +0.157694 0.160316 0.163008 0.165798 0.16867 0.171584 0.174661 0.177697 +0.180982 0.184283 0.187674 0.19127 0.194824 0.198677 0.202504 0.206492 +0.210681 0.214946 0.219401 0.223998 0.228762 0.233679 0.238864 0.244048 +0.249669 0.255338 0.261284 0.26758 0.273823 0.280782 0.28763 0.294942 +0.302611 0.310482 0.318909 0.327585 0.336694 0.346291 0.356451 0.366821 +0.378133 0.389643 0.402088 0.415312 0.42867 0.443897 0.45892 0.475581 +0.493124 0.511458 0.531877 0.553022 0.576117 0.600709 0.627495 0.655921 +0.68759 0.720636 0.758429 0.799486 0.843076 0.894765 0.947447 0.989677 +0.931466 0.881072 0.83394 0.794082 0.75691 0.724395 0.694559 0.667518 +0.64247 0.62028 0.598921 0.579568 0.562018 0.544697 0.530221 0.51519 +0.501981 0.489567 0.477409 0.466687 0.455874 0.446275 0.43707 0.428229 +0.419914 0.412197 0.404644 0.397641 0.390993 0.384331 0.37875 0.37263 +0.367324 0.362091 0.356966 0.352455 0.347611 0.343447 0.339263 0.335294 +0.331525 0.327906 0.324404 0.321163 0.317947 0.314751 0.312093 0.309107 +0.306609 0.303995 0.301501 0.299371 0.296878 0.294906 0.292781 0.290868 +0.289056 0.287236 0.285549 0.283981 0.282412 0.280862 0.279621 0.278176 +0.277096 0.275814 0.27469 0.273758 0.272591 0.271828 0.270845 0.270102 +0.269424 0.268652 0.268052 0.267469 0.266943 0.266426 0.266092 0.265641 +0.26549 0.265111 0.264922 0.264824 0.264583 0.2647 0.26454 0.264671 +0.264804 0.264881 0.265132 0.265332 0.265651 0.26598 0.266412 0.266801 +0.267418 0.267878 0.268532 0.269205 0.269812 0.270778 0.271399 0.272394 +0.273323 0.274277 0.275413 0.276435 0.27766 0.27888 0.280197 0.281526 +0.283038 0.284468 0.286123 0.287734 0.289368 0.291341 0.29301 0.295126 +0.297105 0.299217 0.301556 0.303709 0.306198 0.30863 0.311281 0.313978 +0.316839 0.319719 0.322909 0.325989 0.329234 0.332836 0.336204 0.34018 +0.343931 0.348011 0.352379 0.356578 0.361322 0.365957 0.371061 0.37631 +0.381747 0.387418 0.393494 0.39964 0.406138 0.413123 0.420034 0.427985 +0.435597 0.444021 0.452896 0.461872 0.471901 0.48182 0.492907 0.504485 +0.516548 0.529498 0.543309 0.557859 0.573505 0.590279 0.607733 0.62765 +0.647686 0.670284 0.694395 0.720107 0.74937 0.779338 0.814099 0.851501 +0.892879 0.939289 0.990705 0.955557 0.90641 0.862209 0.822202 0.784172 +0.750648 0.718565 0.689569 0.662672 0.636875 0.614089 0.591638 0.571232 +0.551865 0.533546 0.516595 0.500398 0.485123 0.47072 0.457148 0.444011 +0.43184 0.419922 0.408897 0.398292 0.388016 0.378537 0.369095 0.360349 +0.351826 0.343618 0.335922 0.3284 0.321237 0.314322 0.307699 0.30127 +0.295155 0.289141 0.283483 0.277958 0.272599 0.267528 0.262465 0.25773 +0.253051 0.248535 0.244215 0.239969 0.23591 0.231938 0.228097 0.224371 +0.220768 0.217233 0.213848 0.210527 0.207307 0.204208 0.201117 0.198204 +0.195304 0.192503 0.189787 0.187112 0.184546 0.182015 0.17956 0.177166 +0.174832 0.172548 0.170334 0.168156 0.166045 0.163989 0.161953 0.160002 +0.158063 0.156188 0.154354 0.152545 0.150805 0.14908 0.147406 0.145762 +0.144154 0.142583 0.141047 0.139534 0.138066 0.136626 0.135206 0.13383 +0.132466 0.131143 0.129842 0.128562 0.12732 0.12609 0.124893 0.123715 +0.122558 0.121429 0.120318 0.119228 0.118161 0.117113 0.116084 0.115077 +0.114082 0.113114 0.112159 0.111221 0.110304 0.109398 0.108514 0.107642 +0.106785 0.105947 0.105121 0.104311 0.103515 0.102731 0.101964 0.101208 +0.100465 0.0997362 0.0990187 0.0983138 0.0976212 0.0969394 0.09627 +0.0956123 0.0949643 0.0943288 0.0937026 0.0930873 0.0924826 0.0918864 +0.0913024 0.0907258 0.0901606 0.0896034 0.089056 0.0885174 0.0879868 +0.0874665 0.0869519 0.0864493 0.085952 0.0854645 0.0849843 0.0845111 +0.0840469 0.0835884 0.0831395 0.0826955 0.0822613 0.0818318 0.0814113 +0.0809958 0.0805869 0.080187 0.0797889 0.0794032 0.079019 0.0786437 +0.0782744 0.0779088 0.0775518 0.0771978 0.0768526 0.0765104 0.0761764 +0.0758455 0.0755227 0.0752026 0.0748883 0.0745812 0.0742743 0.0739803 +0.0736839 0.0733971 0.073114 0.0728338 0.0725617 0.07229 0.0720273 +0.0717665 0.0715117 0.0712599 0.0710147 0.0707715 0.0705337 0.0703011 +0.0700683 0.0698482 0.0696233 0.0694088 0.0691957 0.0689856 0.0687834 +0.0685789 0.0683845 0.06819 0.0680017 0.0678159 0.0676348 0.0674562 +0.0672828 0.0671121 0.0669419 0.0667833 0.0666195 0.0664666 0.0663126 +0.0661627 0.0660206 0.0658734 0.0657379 0.0656 0.0654697 0.0653412 +0.0652156 0.0650936 0.0649759 0.06486 0.0647452 0.0646405 0.0645311 +0.0644332 0.0643315 0.0642354 0.0641456 0.0640513 0.0639693 0.0638821 +0.0638047 0.0637288 0.0636536 0.0635835 0.063516 0.0634517 0.0633884 +0.0633333 0.0632749 0.0632285 0.0631756 0.0631307 0.0630899 0.063046 +0.0630151 0.0629761 0.0629496 0.0629232 0.0628975 0.0628781 0.0628591 +0.0628454 0.0628327 0.0628263 0.0628182 0.0628211 0.0628186 0.0628249 +0.062833 0.0628399 0.062861 0.0628705 0.0628961 0.0629191 0.0629454 +0.0629784 0.0630093 0.0630482 0.0630879 0.0631328 0.0631778 0.0632325 +0.0632835 0.0633445 0.0634047 0.0634663 0.0635416 0.0636051 0.0636876 +0.0637644 0.0638477 0.0639385 0.0640242 0.0641217 0.0642175 0.0643219 +0.0644267 0.0645396 0.0646514 0.0647748 0.0648941 0.0650185; +#A 2000 0.0651553 0.0652821 0.0654309 0.06557 0.0657202 0.0658778 0.0660293 +0.0661965 0.0663589 0.0665346 0.0667112 0.0668941 0.0670795 0.0672758 +0.0674702 0.0676718 0.0678842 0.0680893 0.0683207 0.0685373 0.0687713 +0.0690106 0.0692475 0.0695031 0.0697502 0.0700171 0.070286 0.0705592 +0.07084 0.0711305 0.0714237 0.0717267 0.0720385 0.0723472 0.072686 +0.0730082 0.073355 0.0737041 0.0740564 0.0744325 0.0747947 0.0751869 +0.0755778 0.0759807 0.0763942 0.076816 0.0772476 0.0776934 0.0781459 +0.0786018 0.0790914 0.0795678 0.080077 0.0805849 0.0811055 0.0816565 +0.0821888 0.082766 0.083338 0.0839343 0.0845468 0.0851662 0.0858077 +0.0864662 0.0871384 0.0878211 0.0885437 0.0892601 0.0900237 0.0907813 +0.091568 0.0923909 0.0932024 0.0940779 0.0949428 0.0958548 0.0967942 +0.0977396 0.0987301 0.0997413 0.100787 0.101855 0.102975 0.104105 0.105306 +0.106503 0.107758 0.109062 0.110373 0.111787 0.113183 0.114674 0.116207 +0.117771 0.119419 0.1211 0.122862 0.124677 0.126575 0.128522 0.130586 +0.132683 0.134898 0.137196 0.139554 0.142108 0.144646 0.147397 0.150233 +0.153188 0.15633 0.159552 0.162995 0.166575 0.170366 0.174332 0.178558 +0.182959 0.187681 0.192626 0.197838 0.203529 0.209363 0.215806 0.22255 +0.229802 0.237699 0.245966 0.255103 0.264838 0.27554 0.287144 0.299868 +0.313762 0.329306 0.346257 0.365184 0.386802 0.410564 0.438532 0.469837 +0.506589 0.55019 0.600931 0.663986 0.740375 0.839103 0.968208 0.888082 +0.777723 0.690972 0.621947 0.565121 0.517248 0.477387 0.442115 0.412483 +0.386041 0.36268 0.342203 0.32345 0.306998 0.291759 0.277984 0.265497 +0.253977 0.243384 0.233632 0.224575 0.216158 0.208403 0.200992 0.194247 +0.187805 0.181791 0.176174 0.170769 0.165819 0.161008 0.156503 0.152235 +0.148159 0.144308 0.140631 0.137115 0.13378 0.130606 0.127522 0.124627 +0.121806 0.119134 0.116572 0.11407 0.111735 0.109425 0.107238 0.105121 +0.10307 0.101116 0.0992143 0.0973817 0.0956143 0.0939098 0.0922458 +0.0906564 0.0890919 0.087603 0.0861522 0.0847321 0.0833844 0.0820419 +0.0807656 0.0795133 0.0782912 0.077123 0.075972 0.0748605 0.0737753 +0.0727211 0.0716916 0.0706956 0.0697127 0.0687706 0.0678448 0.0669392 +0.0660689 0.0651988 0.0643708 0.06355 0.0627496 0.0619758 0.0612105 +0.0604715 0.0597433 0.0590324 0.0583392 0.0576619 0.0569946 0.0563487 +0.0557115 0.0550895 0.0544855 0.0538812 0.0533052 0.0527301 0.0521703 +0.0516241 0.0510826 0.0505604 0.0500419 0.0495358 0.0490398 0.0485529 +0.0480745 0.0476076 0.0471457 0.0466961 0.0462557 0.0458168 0.0453946 +0.0449725 0.0445625 0.0441595 0.0437592 0.0433738 0.0429887 0.0426137 +0.0422437 0.0418795 0.0415229 0.0411722 0.0408252 0.0404874 0.0401545 +0.0398242 0.0395039 0.0391834 0.0388729 0.0385655 0.0382612 0.0379664 +0.0376714 0.0373849 0.0371004 0.03682 0.0365462 0.0362753 0.0360082 +0.0357464 0.035488 0.0352327 0.0349834 0.0347336 0.0344925 0.0342523 +0.0340154 0.0337843 0.033553 0.0333289 0.0331053 0.032885 0.0326697 +0.0324559 0.0322458 0.0320388 0.031834 0.0316327 0.0314347 0.0312373 +0.0310455 0.0308543 0.0306664 0.030482 0.0302974 0.030119 0.0299402 +0.0297647 0.0295921 0.0294207 0.0292527 0.0290864 0.0289218 0.0287605 +0.028601 0.0284427 0.0282879 0.0281335 0.0279825 0.0278333 0.0276845 +0.0275402 0.0273955 0.0272538 0.0271138 0.0269746 0.0268388 0.0267037 +0.0265704 0.0264392 0.0263093 0.026181 0.0260548 0.0259289 0.0258063 +0.0256845 0.0255636 0.0254456 0.0253274 0.025212 0.0250975 0.0249838 +0.0248729 0.0247623 0.0246535 0.024546 0.0244395 0.0243348 0.0242312 +0.0241283 0.0240277 0.0239277 0.0238289 0.0237319 0.0236348 0.0235404 +0.0234463 0.0233532 0.023262 0.0231711 0.023082 0.0229936 0.0229059 +0.0228202 0.022735 0.0226507 0.0225679 0.0224855 0.0224046 0.0223248 +0.0222451 0.0221675 0.0220901 0.0220139 0.0219389 0.0218641 0.021791 +0.0217184 0.0216466 0.0215761 0.0215061 0.0214371 0.0213691 0.0213015 +0.0212353 0.0211697 0.0211047 0.021041 0.0209776 0.0209154 0.0208539 +0.0207927 0.0207331 0.0206737 0.0206151 0.0205576 0.0205004 0.0204443 +0.0203888 0.0203338 0.02028 0.0202265 0.0201739 0.0201221 0.0200706 +0.0200203 0.0199704 0.019921 0.0198727 0.0198247 0.0197776 0.0197311 +0.019685 0.01964 0.0195954 0.0195513 0.0195082 0.0194652 0.0194233 +0.0193819 0.0193408 0.0193008 0.0192611 0.019222 0.0191837 0.0191457 +0.0191085 0.019072 0.0190357 0.0190004 0.0189653 0.0189309 0.0188973 +0.0188638 0.0188314 0.0187992 0.0187675 0.0187367 0.0187061 0.0186762 +0.0186468 0.0186179 0.0185897 0.018562 0.0185346 0.0185081 0.0184818 +0.0184562 0.0184311 0.0184062 0.0183825 0.0183587 0.0183357 0.0183132 +0.0182911 0.0182697 0.0182486 0.0182281 0.018208 0.0181886 0.0181695 +0.0181511 0.018133 0.0181155 0.0180986 0.0180819 0.0180661 0.0180504 +0.0180355 0.0180209 0.0180067 0.0179933 0.0179801 0.0179676 0.0179553 +0.0179439 0.0179327 0.0179221 0.0179118 0.0179022 0.0178931 0.0178841 +0.0178762 0.0178682 0.0178611 0.0178543 0.017848 0.0178423 0.0178368 +0.0178321 0.0178276 0.0178239 0.0178204 0.0178176 0.0178152 0.0178132 +0.0178119 0.0178108 0.0178106 0.0178104 0.0178112 0.0178122 0.0178137 +0.0178158 0.0178182 0.0178214 0.0178247 0.017829 0.0178334 0.0178385 +0.0178441 0.0178501 0.0178568 0.0178636 0.0178715 0.0178794 0.0178883 +0.0178974 0.0179071 0.0179174 0.017928 0.0179395 0.017951 0.0179637 +0.0179764 0.01799 0.018004 0.0180184 0.0180337 0.018049 0.0180656 0.0180821 +0.0180997 0.0181175 0.018136 0.0181552 0.0181747 0.0181951 0.0182156 +0.0182374 0.0182592 0.0182821 0.0183053 0.0183291 0.0183538 0.0183785 +0.0184047 0.0184307 0.018458 0.0184856 0.0185139 0.018543 0.0185724 +0.018603 0.0186336 0.0186657 0.0186978 0.0187312 0.0187648 0.0187992 +0.0188346 0.0188701 0.0189073 0.0189443 0.0189828 0.0190216 0.0190612 +0.0191019 0.0191428 0.0191852 0.0192277 0.0192717 0.0193159 0.0193615 +0.0194075 0.0194545 0.0195025 0.0195508 0.0196011 0.019651 0.0197028 +0.0197551 0.0198083 0.0198628 0.0199175 0.019974 0.0200308 0.0200893 +0.0201482 0.0202086 0.0202697 0.0203321 0.0203955 0.0204594 0.0205257 +0.0205916 0.0206601 0.0207288 0.0207989 0.0208706 0.0209425 0.0210168 +0.0210912 0.021168 0.0212454 0.0213245 0.0214046 0.0214864 0.0215693 +0.0216532 0.0217397 0.0218262 0.0219157 0.0220055 0.0220974 0.0221911 +0.0222854 0.0223826 0.0224799 0.0225805 0.022682 0.0227854 0.0228905 +0.0229975 0.0231063 0.0232166 0.0233298 0.0234435 0.0235613 0.0236791 +0.0238001 0.0239232 0.0240475 0.0241757 0.0243039 0.0244367 0.0245709 +0.0247074 0.0248466 0.0249882 0.0251325 0.0252791 0.0254292 0.0255807 +0.0257372 0.0258944 0.026056 0.0262202 0.0263867 0.0265586 0.0267305 +0.026909 0.0270892 0.0272734 0.0274614 0.0276525 0.0278481 0.0280472 +0.0282507 0.0284571 0.0286701 0.0288851 0.0291065 0.0293313 0.0295605 +0.029797 0.0300343 0.0302813 0.0305308 0.0307869 0.0310491 0.0313155 +0.0315894 0.0318685 0.032155 0.0324466 0.0327474 0.0330527 0.0333682 +0.0336885 0.034017 0.0343559 0.0346983 0.0350556 0.0354168 0.03579 +0.0361733 0.0365634 0.0369669 0.0373786 0.0378038 0.0382388 0.0386877 +0.0391469 0.0396225 0.040108 0.0406089 0.0411264 0.0416539 0.0422064 +0.0427668 0.0433504 0.0439514 0.0445685 0.0452103 0.0458678 0.0465525 +0.0472578 0.0479884 0.0487431 0.0495281 0.0503375 0.0511793 0.0520531 +0.0529539 0.053904 0.0548755 0.0558981 0.0569583 0.0580606 0.0592186 +0.0604145 0.061676 0.0629883 0.0643653 0.0658066 0.0673207 0.0689069 +0.0705805 0.0723372 0.0741825 0.0761528 0.0782082 0.0804095 0.0827277 +0.0851924 0.0878342 0.0906152 0.0936225 0.0968197 0.100269 0.103979 +0.107979 0.112311 0.117029 0.122154 0.127754 0.133958 0.140739 0.148352 +0.156766 0.166252 0.17703 0.189197 0.203367 0.219691 0.23906 0.262209 +0.290249 0.325198 0.369808 0.42865 0.509865 0.629964 0.822819 0.861005 +0.65176 0.523502 0.437229 0.37565 0.328759 0.292619 0.263343 0.239402 +0.219496 0.202558 0.188063 0.175473 0.164451 0.15471 0.146077 0.13829 +0.131343 0.125015 0.119272 0.114047 0.109207 0.104817 0.100715 0.0969352 +0.093429 0.0901513 0.0871083 0.0842511 0.0815739 0.0790624 0.0767008 +0.0744641 0.0723654 0.0703675 0.0684847 0.0666998 0.0649911 0.0633869 +0.0618402 0.0603765 0.0589776 0.0576359 0.0563631 0.0551372 0.053966 +0.0528419 0.0517637 0.0507265 0.0497329 0.048771 0.0478525 0.0469656 +0.0461066 0.0452861 0.0444846 0.0437182 0.0429745 0.0422534 0.0415619 +0.0408874 0.0402378 0.0396064 0.0389945 0.0384021 0.0378277 0.0372679 +0.0367278 0.0362015 0.0356894 0.0351949 0.0347083 0.0342408 0.0337828 +0.0333368 0.0329051 0.0324813 0.0320716 0.03167 0.0312784 0.0308983 +0.0305265 0.0301632 0.0298099 0.0294638 0.0291264 0.0287979 0.0284737 +0.0281608 0.0278523 0.0275516 0.0272582 0.0269692 0.0266893 0.0264133 +0.0261436 0.0258802 0.0256216 0.0253687 0.0251212 0.0248778 0.0246406 +0.024408 0.0241786 0.0239556 0.0237352 0.0235203 0.0233094 0.0231012 +0.0228993 0.0226992 0.0225037 0.0223118 0.0221228 0.021938 0.0217562 +0.0215773 0.0214024 0.0212303 0.0210607 0.020895 0.0207308 0.0205709 +0.0204131 0.0202575 0.0201057 0.0199552 0.0198081 0.0196631 0.01952 +0.0193803 0.0192421 0.0191063 0.0189729 0.0188414 0.018712 0.018585 +0.0184591 0.0183363 0.0182148 0.0180951 0.0179779 0.0178614 0.0177478 +0.0176353 0.0175243 0.0174157 0.0173081 0.0172024 0.0170983 0.0169954 +0.0168944 0.0167947 0.0166962 0.0165997 0.0165041 0.0164101 0.0163176 +0.0162257 0.0161362 0.0160472 0.0159596 0.0158735 0.0157881 0.0157044 +0.0156216 0.0155398 0.0154596 0.0153801 0.0153018 0.0152247 0.0151483 +0.0150734 0.0149994 0.014926 0.0148542 0.0147828 0.0147127 0.0146436 +0.0145749 0.0145078 0.0144412 0.0143755 0.0143109 0.0142468 0.0141838 +0.0141217 0.01406 0.0139996 0.0139398 0.0138806 0.0138225 0.0137648 +0.0137082 0.0136522 0.0135966 0.0135423 0.0134883 0.0134352 0.0133828 +0.0133307 0.0132798 0.0132293 0.0131793 0.0131303 0.0130816 0.0130337 +0.0129865 0.0129395 0.0128937 0.0128481 0.0128031 0.0127589 0.012715 +0.0126719 0.0126293 0.012587 0.0125456 0.0125046 0.012464 0.0124242 +0.0123846 0.0123458 0.0123074 0.0122693 0.0122321; +#A 3000 0.0121951 0.0121586 0.0121228 0.0120871 0.0120522 0.0120177 +0.0119835 0.01195 0.0119167 0.011884 0.0118517 0.0118197 0.0117884 +0.0117574 0.0117268 0.0116967 0.0116668 0.0116376 0.0116086 0.01158 +0.011552 0.0115242 0.0114968 0.01147 0.0114433 0.0114172 0.0113914 +0.0113659 0.011341 0.0113162 0.0112919 0.011268 0.0112442 0.0112211 +0.0111982 0.0111756 0.0111535 0.0111316 0.0111101 0.011089 0.011068 +0.0110477 0.0110275 0.0110076 0.0109882 0.0109689 0.0109502 0.0109316 +0.0109134 0.0108956 0.010878 0.0108607 0.0108438 0.0108271 0.0108108 +0.0107948 0.010779 0.0107637 0.0107486 0.0107338 0.0107193 0.0107049 +0.0106912 0.0106775 0.0106642 0.0106512 0.0106384 0.010626 0.0106138 +0.0106018 0.0105903 0.010579 0.0105679 0.0105572 0.0105467 0.0105365 +0.0105267 0.0105169 0.0105077 0.0104985 0.0104897 0.0104812 0.0104729 +0.010465 0.0104572 0.0104498 0.0104426 0.0104357 0.0104291 0.0104227 +0.0104166 0.0104108 0.0104053 0.0103999 0.010395 0.0103901 0.0103857 +0.0103815 0.0103774 0.0103739 0.0103703 0.0103673 0.0103643 0.0103617 +0.0103594 0.0103573 0.0103554 0.0103539 0.0103526 0.0103515 0.0103509 +0.0103503 0.0103501 0.0103502 0.0103504 0.0103511 0.0103518 0.010353 +0.0103543 0.010356 0.010358 0.0103601 0.0103626 0.0103653 0.0103684 +0.0103716 0.0103753 0.010379 0.0103832 0.0103876 0.0103922 0.0103972 +0.0104023 0.010408 0.0104136 0.0104198 0.0104261 0.0104328 0.0104397 +0.0104469 0.0104544 0.0104621 0.0104704 0.0104786 0.0104874 0.0104963 +0.0105056 0.0105152 0.010525 0.0105353 0.0105457 0.0105566 0.0105676 +0.010579 0.0105908 0.0106028 0.0106152 0.0106277 0.0106409 0.0106541 +0.0106678 0.0106817 0.010696 0.0107107 0.0107255 0.010741 0.0107565 +0.0107726 0.0107889 0.0108056 0.0108227 0.01084 0.0108578 0.0108758 +0.0108944 0.0109132 0.0109325 0.010952 0.010972 0.0109924 0.011013 +0.0110342 0.0110556 0.0110777 0.0110999 0.0111226 0.0111458 0.0111692 +0.0111933 0.0112175 0.0112425 0.0112676 0.0112933 0.0113194 0.011346 +0.011373 0.0114003 0.0114284 0.0114566 0.0114857 0.0115149 0.0115448 +0.0115751 0.0116058 0.0116373 0.0116689 0.0117014 0.0117341 0.0117676 +0.0118015 0.0118359 0.011871 0.0119064 0.0119427 0.0119792 0.0120167 +0.0120545 0.012093 0.0121321 0.0121717 0.0122121 0.0122528 0.0122946 +0.0123367 0.0123797 0.0124232 0.0124674 0.0125125 0.0125579 0.0126045 +0.0126513 0.0126993 0.0127478 0.0127972 0.0128473 0.0128981 0.0129499 +0.0130021 0.0130557 0.0131096 0.0131648 0.0132206 0.0132773 0.0133351 +0.0133934 0.0134532 0.0135134 0.0135751 0.0136374 0.0137008 0.0137653 +0.0138306 0.0138973 0.0139646 0.0140336 0.0141032 0.0141745 0.0142465 +0.0143198 0.0143945 0.01447 0.0145474 0.0146253 0.0147053 0.0147863 +0.0148686 0.0149525 0.0150376 0.0151244 0.0152123 0.0153023 0.0153933 +0.0154865 0.0155808 0.0156771 0.015775 0.0158744 0.0159763 0.016079 +0.0161846 0.0162915 0.0164006 0.0165118 0.0166247 0.0167401 0.0168573 +0.0169772 0.0170989 0.0172235 0.01735 0.0174793 0.017611 0.017745 0.0178826 +0.0180216 0.0181648 0.01831 0.0184585 0.0186103 0.0187646 0.0189229 +0.0190838 0.0192489 0.019417 0.0195893 0.0197648 0.0199448 0.0201283 +0.0203157 0.0205084 0.020704 0.020906 0.0211113 0.0213221 0.0215382 +0.0217584 0.0219852 0.0222164 0.0224546 0.022698 0.0229481 0.0232042 +0.0234675 0.0237372 0.0240139 0.0242992 0.0245903 0.0248923 0.0252001 +0.0255182 0.0258452 0.0261807 0.0265278 0.026883 0.0272514 0.0276299 +0.0280204 0.0284231 0.0288391 0.0292682 0.0297116 0.0301706 0.0306431 +0.031136 0.0316422 0.0321693 0.0327147 0.0332794 0.0338684 0.0344754 +0.0351109 0.0357692 0.0364553 0.0371699 0.0379145 0.0386915 0.0395032 +0.0403513 0.0412363 0.0421691 0.0431406 0.0441657 0.0452393 0.0463686 +0.0475637 0.0488143 0.050146 0.0515478 0.0530372 0.0546185 0.0562966 +0.0580876 0.0599991 0.0620441 0.0642334 0.0665982 0.0691349 0.0718929 +0.0748694 0.0781137 0.0816683 0.0855423 0.0898437 0.0945764 0.0998653 +0.105792 0.11245 0.12004 0.128725 0.138791 0.150564 0.164578 0.181432 +0.202273 0.228394 0.262414 0.308462 0.373839 0.475476 0.651395 0.964817 +0.621822 0.458935 0.363348 0.300823 0.25654 0.223621 0.198158 0.177911 +0.161358 0.147664 0.136073 0.126171 0.117627 0.110112 0.103552 0.0976896 +0.0924637 0.0877708 0.0835156 0.0796688 0.076147 0.0729263 0.0699651 +0.0672346 0.0647049 0.0623633 0.060178 0.0581455 0.0562465 0.0544583 +0.0527917 0.0512136 0.0497325 0.0483337 0.047007 0.0457586 0.0445689 +0.0434424 0.0423698 0.0413489 0.0403766 0.0394496 0.0385616 0.0377164 +0.0369066 0.0361287 0.0353868 0.0346704 0.0339864 0.0333276 0.0326926 +0.0320849 0.0314964 0.0309317 0.0303856 0.0298584 0.0293507 0.0288596 +0.0283843 0.0279258 0.0274815 0.0270511 0.0266355 0.0262301 0.0258401 +0.0254602 0.0250914 0.0247348 0.0243865 0.0240502 0.0237218 0.0234026 +0.0230931 0.0227912 0.0224976 0.0222119 0.0219332 0.0216621 0.0213981 +0.0211396 0.0208891 0.0206436 0.0204045 0.0201715 0.0199429 0.0197214 +0.0195037 0.0192913 0.0190842 0.0188812 0.0186833 0.0184895 0.0182996 +0.0181146 0.0179333 0.0177554 0.017582 0.0174115 0.0172451 0.0170821 +0.0169218 0.0167658 0.016612 0.0164617 0.0163144 0.0161695 0.0160281 +0.015889 0.0157525 0.015619 0.0154877 0.0153588 0.0152326 0.0151081 +0.0149866 0.014867 0.0147494 0.0146344 0.0145208 0.0144097 0.0143003 +0.0141926 0.0140873 0.0139835 0.0138814 0.0137813 0.0136826 0.0135857 +0.0134905 0.0133965 0.0133046 0.0132138 0.0131246 0.013037 0.0129503 +0.0128656 0.012782 0.0126995 0.0126188 0.0125389 0.0124605 0.0123833 +0.012307 0.0122323 0.0121585 0.0120858 0.0120144 0.0119438 0.0118745 +0.0118062 0.0117386 0.0116725 0.0116071 0.0115426 0.0114793 0.0114166 +0.0113551 0.0112944 0.0112344 0.0111755 0.0111173 0.01106 0.0110035 +0.0109477 0.0108929 0.0108387 0.0107852 0.0107327 0.0106807 0.0106296 +0.0105791 0.0105292 0.0104803 0.0104318 0.010384 0.010337 0.0102905 +0.0102447 0.0101996 0.0101548 0.010111 0.0100676 0.0100248 0.00998263 +0.00994085 0.00989987 0.00985933 0.00981924 0.0097799 0.00974091 0.00970251 +0.00966467 0.00962714 0.00959038 0.00955396 0.00951797 0.00948264 0.00944757 +0.00941313 0.0093791 0.00934538 0.00931237 0.00927963 0.00924733 0.00921556 +0.00918406 0.00915311 0.00912255 0.00909226 0.00906261 0.00903318 0.00900418 +0.00897565 0.00894731 0.00891958 0.0088921 0.00886495 0.00883831 0.00881188 +0.0087859 0.00876026 0.00873486 0.00870998 0.00868537 0.00866102 0.00863716 +0.00861346 0.0085902 0.00856727 0.00854448 0.00852229 0.00850021 0.0084785 +0.00845714 0.00843596 0.00841522 0.00839471 0.00837444 0.00835458 0.00833494 +0.00831558 0.00829658 0.00827771 0.00825928 0.00824107 0.00822303 0.00820547 +0.00818797 0.00817088 0.00815401 0.00813731 0.00812105 0.00810491 0.00808906 +0.00807348 0.00805813 0.00804305 0.00802824 0.00801356 0.00799929 0.00798517 +0.00797124 0.0079577 0.0079442 0.00793113 0.00791819 0.00790544 0.00789305 +0.00788076 0.00786879 0.00785698 0.0078454 0.00783411 0.00782301 0.00781208 +0.00780146 0.00779098 0.00778072 0.00777077 0.00776084 0.00775137 0.00774195 +0.00773277 0.00772386 0.00771504 0.00770657 0.00769819 0.00769006 0.00768217 +0.00767445 0.00766693 0.00765965 0.0076525 0.0076456 0.00763895 0.00763235 +0.00762615 0.00761999 0.0076141 0.00760842 0.00760282 0.0075976 0.00759241 +0.00758752 0.0075828 0.00757825 0.00757393 0.00756979 0.00756579 0.00756205 +0.00755852 0.00755508 0.00755198 0.00754892 0.00754617 0.00754358 0.00754108 +0.00753896 0.00753683 0.00753506 0.00753339 0.00753191 0.00753068 0.00752959 +0.00752869 0.00752799 0.00752751 0.00752715 0.0075271 0.00752708 0.00752741 +0.00752786 0.00752845 0.00752936 0.00753028 0.0075316 0.00753298 0.00753457 +0.00753641 0.00753838 0.00754059 0.00754294 0.00754554 0.00754828 0.00755132 +0.00755442 0.00755784 0.00756139 0.00756512 0.00756914 0.00757318 0.00757766 +0.00758217 0.00758695 0.00759194 0.00759708 0.00760249 0.00760803 0.00761383 +0.0076198 0.00762606 0.00763243 0.00763909 0.0076459 0.00765293 0.00766025 +0.00766759 0.00767541 0.00768325 0.00769141 0.00769976 0.00770828 0.00771713 +0.00772607 0.00773535 0.00774476 0.00775451 0.00776439 0.00777458 0.00778493 +0.00779554 0.00780644 0.00781741 0.00782887 0.00784035 0.00785222 0.00786427 +0.00787653 0.00788915 0.00790188 0.007915 0.00792825 0.00794187 0.00795568 +0.00796979 0.00798412 0.00799874 0.00801367 0.00802872 0.00804427 0.00805989 +0.00807596 0.00809221 0.00810874 0.00812563 0.00814268 0.00816019 0.00817782 +0.00819591 0.00821421 0.00823286 0.00825179 0.00827102 0.00829063 0.00831041 +0.00833074 0.00835117 0.00837212 0.00839329 0.00841482 0.00843674 0.00845886 +0.00848154 0.00850436 0.00852773 0.00855135 0.00857539 0.00859978 0.00862451 +0.0086497 0.00867513 0.00870118 0.0087274 0.00875422 0.00878131 0.00880886 +0.00883686 0.00886515 0.00889409 0.00892321 0.00895303 0.00898312 0.00901376 +0.00904483 0.00907633 0.00910839 0.00914077 0.00917389 0.00920726 0.00924135 +0.00927581 0.00931083 0.00934642 0.00938241 0.00941916 0.0094562 0.0094941 +0.00953236 0.00957131 0.00961082 0.00965087 0.00969167 0.00973286 0.00977499 +0.00981748 0.00986086 0.00990476 0.00994938 0.00999473 0.0100406 0.0100875 +0.0101348 0.0101832 0.010232 0.0102818 0.0103323 0.0103836 0.0104358 +0.0104886 0.0105426 0.0105971 0.0106528 0.0107092 0.0107666 0.0108249 +0.010884 0.0109444 0.0110055 0.0110679 0.011131 0.0111955 0.0112609 +0.0113273 0.0113951 0.0114637 0.0115339 0.0116049 0.0116775 0.0117511 +0.0118261 0.0119024 0.0119799 0.0120591 0.0121393 0.0122214 0.0123047 +0.0123897 0.0124761 0.0125642 0.0126539 0.0127451 0.0128384 0.012933 +0.0130299 0.0131283 0.0132288 0.0133313 0.0134355 0.0135422 0.0136505 +0.0137615 0.0138744 0.0139899 0.0141075 0.0142277 0.0143504 0.0144754 +0.0146037 0.014734 0.0148679 0.0150041 0.0151436 0.0152863 0.0154317 +0.0155811 0.0157331 0.0158895 0.016049 0.0162125 0.0163797 0.0165511 +0.0167266 0.0169061 0.0170908 0.0172793 0.0174735 0.0176719 0.0178758 +0.0180852 0.0182996 0.0185206 0.0187465 0.0189799 0.0192192 0.0194653 +0.0197186 0.019979 0.0202474 0.0205234 0.0208084 0.0211012 0.0214044 +0.021716 0.0220383 0.022371 0.022714 0.02307 0.0234361 0.023817 0.0242101 +0.0246178 0.0250404 0.0254782 0.0259331 0.0264051 0.0268962 0.0274058 +0.027938 0.0284906 0.029068 0.0296696 0.0302974 0.0309557 0.0316407 +0.0323624 0.0331162 0.0339085 0.0347416 0.0356163 0.0365396 0.0375121 +0.038541 0.0396279 0.0407823 0.0420049 0.0433087 0.0446943 0.0461744 +0.0477618; +#A 4000 0.0494568 0.0512898 0.0532575 0.05539 0.0577046 0.0602172 0.0629697 +0.065983 0.0693095 0.0729891 0.0770904 0.081679 0.0868659 0.0927472 +0.0994969 0.107323 0.116463 0.127379 0.14049 0.156683 0.177104 0.203615 +0.239606 0.29092 0.370521 0.51009 0.818484 0.659044 0.442916 0.333622 +0.267494 0.223232 0.191578 0.167676 0.149158 0.134268 0.12209 0.111943 +0.103328 0.0959684 0.0895665 0.0839702 0.0790312 0.0746383 0.0707073 +0.0671713 0.0639669 0.0610587 0.0584043 0.0559631 0.0537267 0.0516547 +0.049741 0.0479636 0.0463047 0.0447641 0.043317 0.0419635 0.0406912 +0.0394933 0.0383655 0.0373001 0.0362914 0.035338 0.0344332 0.0335723 +0.032756 0.0319759 0.031235 0.030527 0.0298496 0.0292043 0.0285843 +0.027992 0.0274233 0.0268769 0.0263537 0.0258499 0.0253652 0.0248993 +0.02445 0.024017 0.0235999 0.0231959 0.0228077 0.0224316 0.0220679 +0.021717 0.021376 0.0210473 0.020728 0.0204184 0.0201191 0.019828 0.0195458 +0.0192719 0.0190055 0.0187471 0.0184959 0.0182511 0.0180138 0.0177823 +0.0175572 0.0173382 0.0171241 0.0169166 0.0167137 0.0165159 0.0163234 +0.0161351 0.0159519 0.0157728 0.0155978 0.0154274 0.0152606 0.0150976 +0.0149387 0.0147828 0.014631 0.0144823 0.0143365 0.0141946 0.0140552 +0.0139189 0.0137856 0.0136548 0.0135272 0.0134018 0.0132791 0.013159 +0.0130411 0.0129256 0.0128125 0.0127013 0.0125927 0.012486 0.0123812 +0.0122787 0.0121777 0.012079 0.011982 0.0118865 0.0117932 0.0117013 +0.0116111 0.0115227 0.0114355 0.0113502 0.0112663 0.0111837 0.0111028 +0.011023 0.0109447 0.0108679 0.010792 0.0107178 0.0106446 0.0105726 +0.010502 0.0104322 0.0103639 0.0102965 0.0102301 0.0101651 0.0101009 +0.0100377 0.00997567 0.00991439 0.00985427 0.00979501 0.00973654 0.00967923 +0.0096226 0.00956689 0.0095121 0.00945796 0.00940485 0.00935244 0.00930072 +0.00924998 0.0091998 0.00915047 0.00910188 0.00905381 0.00900673 0.00896016 +0.00891426 0.00886915 0.00882453 0.00878067 0.00873742 0.00869465 0.00865271 +0.00861124 0.00857033 0.00853013 0.0084903 0.00845122 0.00841261 0.00837444 +0.00833701 0.00829992 0.00826344 0.00822747 0.00819187 0.00815695 0.0081224 +0.0080883 0.00805477 0.00802161 0.00798894 0.00795676 0.00792485 0.00789361 +0.00786266 0.00783211 0.0078021 0.00777232 0.00774311 0.00771423 0.00768566 +0.00765765 0.00762989 0.00760254 0.00757559 0.00754893 0.00752272 0.00749685 +0.00747123 0.00744611 0.00742122 0.0073967 0.00737257 0.0073486 0.00732518 +0.00730194 0.00727902 0.0072565 0.00723418 0.00721225 0.00719059 0.00716916 +0.00714816 0.00712739 0.00710686 0.00708671 0.00706674 0.00704712 0.00702778 +0.00700857 0.00698986 0.00697124 0.00695296 0.00693495 0.0069171 0.00689964 +0.00688234 0.0068653 0.00684855 0.00683201 0.00681572 0.0067997 0.00678383 +0.0067683 0.00675297 0.00673779 0.00672299 0.00670827 0.00669388 0.00667968 +0.00666562 0.00665193 0.00663833 0.00662501 0.00661189 0.00659895 0.00658627 +0.00657379 0.00656145 0.0065494 0.00653751 0.00652579 0.00651438 0.00650301 +0.00649199 0.00648109 0.00647035 0.00645991 0.00644952 0.00643945 0.00642949 +0.00641971 0.00641019 0.00640081 0.0063916 0.00638261 0.00637376 0.00636509 +0.00635667 0.00634829 0.00634026 0.0063323 0.00632452 0.00631697 0.00630947 +0.0063023 0.00629519 0.00628829 0.00628159 0.00627501 0.00626862 0.0062624 +0.00625631 0.00625042 0.00624473 0.00623911 0.00623378 0.0062285 0.00622344 +0.00621856 0.00621373 0.00620924 0.00620476 0.00620052 0.00619643 0.00619246 +0.0061887 0.00618506 0.00618158 0.00617827 0.00617515 0.00617212 0.00616933 +0.0061666 0.00616411 0.00616176 0.00615948 0.0061575 0.00615553 0.00615384 +0.00615225 0.00615078 0.00614955 0.0061484 0.00614744 0.00614661 0.00614598 +0.00614546 0.00614515 0.0061449 0.00614491 0.00614504 0.00614526 0.00614576 +0.00614626 0.00614708 0.00614795 0.00614898 0.00615024 0.00615156 0.00615311 +0.00615476 0.00615661 0.0061586 0.00616079 0.00616306 0.00616556 0.00616819 +0.00617095 0.00617395 0.00617696 0.00618033 0.00618372 0.00618732 0.0061911 +0.00619497 0.0061991 0.0062033 0.00620773 0.00621231 0.00621708 0.00622196 +0.00622707 0.00623229 0.0062377 0.00624333 0.006249 0.00625502 0.00626107 +0.00626737 0.00627383 0.0062804 0.00628726 0.00629418 0.00630137 0.00630869 +0.00631622 0.00632392 0.00633181 0.00633984 0.0063481 0.00635657 0.00636511 +0.00637401 0.00638295 0.00639219 0.00640158 0.00641111 0.00642095 0.00643085 +0.00644108 0.00645143 0.00646201 0.0064728 0.00648379 0.00649497 0.00650636 +0.006518 0.00652976 0.00654188 0.00655406 0.00656659 0.00657927 0.00659215 +0.00660535 0.00661862 0.0066323 0.00664607 0.00666014 0.00667445 0.00668897 +0.00670375 0.00671874 0.00673402 0.00674947 0.0067653 0.00678124 0.00679757 +0.00681407 0.00683083 0.00684793 0.00686514 0.00688283 0.00690062 0.00691879 +0.00693721 0.0069559 0.0069749 0.00699414 0.00701373 0.00703355 0.00705379 +0.0070742 0.00709504 0.0071161 0.0071375 0.00715928 0.00718122 0.00720372 +0.00722635 0.00724946 0.00727285 0.00729658 0.00732071 0.00734512 0.00736997 +0.00739508 0.00742072 0.0074466 0.00747297 0.00749964 0.00752674 0.00755428 +0.00758209 0.00761052 0.00763916 0.0076684 0.00769797 0.00772799 0.00775852 +0.00778939 0.00782084 0.00785261 0.00788504 0.00791781 0.00795117 0.00798495 +0.00801927 0.00805414 0.0080894 0.00812541 0.00816173 0.00819882 0.00823634 +0.00827446 0.0083132 0.00835243 0.00839241 0.00843282 0.00847407 0.0085158 +0.00855829 0.00860136 0.00864513 0.00868962 0.00873469 0.00878068 0.00882716 +0.00887463 0.00892269 0.00897158 0.00902128 0.00907168 0.00912307 0.00917507 +0.0092282 0.009282 0.00933682 0.00939248 0.00944908 0.00950668 0.00956512 +0.00962478 0.0096852 0.00974692 0.00980952 0.00987329 0.00993817 0.0100041 +0.0100714 0.0101396 0.0102093 0.0102801 0.0103523 0.0104257 0.0105005 +0.0105767 0.0106542 0.0107334 0.0108138 0.010896 0.0109796 0.0110648 +0.0111518 0.0112403 0.0113308 0.0114227 0.0115169 0.0116127 0.0117106 +0.0118104 0.0119123 0.0120164 0.0121225 0.0122312 0.0123418 0.0124551 +0.0125707 0.0126889 0.0128098 0.0129332 0.0130596 0.0131886 0.013321 +0.0134561 0.0135947 0.0137363 0.0138814 0.0140301 0.0141822 0.0143385 +0.0144982 0.0146624 0.0148306 0.0150031 0.0151803 0.015362 0.0155488 +0.0157403 0.0159376 0.0161399 0.0163484 0.0165624 0.0167829 0.0170098 +0.0172432 0.0174843 0.0177318 0.017988 0.0182517 0.018524 0.0188052 +0.0190954 0.0193957 0.0197057 0.0200271 0.0203592 0.0207037 0.0210603 +0.0214305 0.0218144 0.0222127 0.0226276 0.0230577 0.0235067 0.0239732 +0.02446 0.0249679 0.0254974 0.0260519 0.0266307 0.0272381 0.0278738 +0.0285416 0.0292426 0.0299808 0.0307575 0.0315764 0.032443 0.033357 +0.0343286 0.0353571 0.0364519 0.0376185 0.0388616 0.040194 0.0416196 +0.043155 0.044808 0.0465953 0.0485324 0.0506413 0.0529422 0.0554646 +0.0582451 0.0613154 0.0647419 0.0685648 0.0728792 0.0777767 0.0833766 +0.0898647 0.0974335 0.106423 0.117239 0.130505 0.147174 0.168742 0.197723 +0.238762 0.301352 0.408306 0.634034 0.773669 0.462027 0.329389 0.25594 +0.209184 0.176946 0.153259 0.135178 0.120911 0.109361 0.0998286 0.0918225 +0.0850007 0.0791272 0.0740134 0.0695129 0.0655367 0.0619838 0.0588009 +0.0559289 0.0533202 0.0509514 0.0487785 0.0467864 0.0449505 0.0432523 +0.0416803 0.0402177 0.0388543 0.0375818 0.03639 0.0352712 0.0342208 +0.0332296 0.0322967 0.0314144 0.0305786 0.0297884 0.0290364 0.0283232 +0.0276441 0.0269965 0.0263805 0.0257913 0.0252285 0.0246903 0.0241746 +0.0236806 0.023207 0.0227515 0.022315 0.0218947 0.0214903 0.0211015 +0.0207258 0.0203647 0.0200158 0.0196788 0.0193539 0.0190394 0.0187356 +0.0184416 0.0181567 0.0178813 0.0176143 0.0173552 0.0171044 0.0168607 +0.0166243 0.0163949 0.0161715 0.0159552 0.0157445 0.0155395 0.0153404 +0.0151462 0.0149576 0.0147738 0.0145945 0.0144202 0.01425 0.0140841 +0.0139224 0.0137644 0.0136106 0.0134603 0.0133134 0.0131703 0.0130302 +0.0128935 0.0127599 0.012629 0.0125014 0.0123765 0.0122542 0.0121348 +0.0120177 0.0119032 0.0117912 0.0116813 0.011574 0.0114686 0.0113655 +0.0112645 0.0111654 0.0110684 0.0109732 0.0108798 0.0107885 0.0106987 +0.0106107 0.0105244 0.0104395 0.0103565 0.0102749 0.0101947 0.0101162 +0.0100389 0.00996308 0.00988863 0.00981535 0.00974363 0.009673 0.00960359 +0.0095355 0.00946842 0.00940261 0.00933792 0.00927415 0.00921172 0.00915015 +0.00908963 0.00903019 0.00897154 0.00891407 0.00885741 0.00880163 0.00874689 +0.00869289 0.00863981 0.00858758 0.00853607 0.00848551 0.00843569 0.00838656 +0.00833835 0.00829073 0.00824393 0.00819785 0.0081523 0.00810771 0.0080636 +0.00802021 0.00797751 0.00793534 0.00789391 0.00785304 0.00781271 0.00777309 +0.00773399 0.00769544 0.00765754 0.00762004 0.00758323 0.0075469 0.007511 +0.00747579 0.00744091 0.00740665 0.00737284 0.00733942 0.00730664 0.00727421 +0.00724225 0.00721077 0.00717969 0.00714908 0.00711892 0.00708906 0.00705978 +0.00703082 0.00700223 0.00697415 0.0069463 0.006919 0.00689199 0.00686531 +0.00683912 0.00681318 0.00678766 0.00676246 0.00673759 0.00671312 0.00668898 +0.0066651 0.00664165 0.00661844 0.00659557 0.00657307 0.00655073 0.0065289 +0.00650724 0.0064859 0.00646491 0.0064441 0.00642369 0.00640349 0.00638357 +0.00636399 0.00634465 0.00632556 0.00630678 0.00628819 0.00626992 0.00625192 +0.00623406 0.00621663 0.0061993 0.00618229 0.00616553 0.0061489 0.00613267 +0.00611654 0.00610071 0.00608511 0.00606971 0.00605455 0.00603962 0.00602485 +0.00601038 0.00599611 0.00598198 0.00596819 0.00595447 0.00594106 0.00592783 +0.00591472 0.00590196 0.00588926 0.00587686 0.00586461 0.00585254 0.00584071 +0.00582904 0.00581753 0.00580626 0.00579516 0.0057842 0.00577352 0.00576289 +0.00575258 0.00574237 0.00573231 0.00572252 0.00571277 0.00570333 0.00569399 +0.0056848 0.00567586 0.00566702 0.00565837 0.00564988 0.00564155 0.00563338 +0.00562542 0.00561753 0.00560991 0.00560237 0.005595 0.00558785 0.00558072 +0.00557391 0.00556714 0.00556056 0.00555417 0.00554787 0.00554177 0.00553578 +0.00552995 0.00552428 0.00551879 0.00551338 0.0055082 0.00550308 0.00549816 +0.0054934 0.00548867 0.00548426 0.00547986 0.00547567 0.00547161 0.00546765 +0.00546391 0.00546024 0.00545673 0.00545337 0.00545017 0.00544707 0.00544416 +0.00544132 0.00543868 0.00543618 0.00543373 0.00543155 0.00542939 0.00542746 +0.00542562 0.00542388 0.00542238 0.00542092 0.00541965 0.00541848 0.00541748 +0.0054166 0.00541589 0.00541524 0.00541481 0.00541448 0.00541424 0.00541425 +0.00541426 0.00541453 0.00541487 0.00541533 0.005416 0.00541672 0.00541765 +0.00541866 0.00541984 0.00542116 0.00542262 0.00542418 0.00542593 0.00542779 +0.00542976 0.00543195 0.00543415 0.00543665 0.00543918 0.00544188 0.00544475 +0.00544767 0.00545085 0.00545407 0.00545749 0.00546106 0.00546475; +#A 5000 0.00546859 0.00547258 0.00547669 0.00548095 0.00548542 0.00548992 +0.0054947 0.00549952 0.00550455 0.00550973 0.00551497 0.00552051 0.00552606 +0.00553186 0.00553778 0.00554385 0.00555009 0.00555647 0.00556299 0.00556969 +0.00557658 0.00558355 0.00559079 0.00559808 0.00560562 0.00561329 0.00562107 +0.00562914 0.00563723 0.00564562 0.00565411 0.00566277 0.00567164 0.00568065 +0.00568985 0.0056992 0.00570878 0.00571847 0.00572843 0.00573846 0.00574879 +0.00575925 0.00576985 0.00578074 0.00579168 0.00580298 0.00581436 0.00582595 +0.00583779 0.00584976 0.00586198 0.00587436 0.00588699 0.00589978 0.00591285 +0.00592604 0.00593953 0.00595318 0.00596703 0.00598119 0.00599541 0.00601005 +0.00602479 0.0060398 0.00605505 0.00607049 0.00608623 0.00610214 0.00611834 +0.00613476 0.00615149 0.00616839 0.00618561 0.00620304 0.00622073 0.00623875 +0.00625688 0.0062755 0.00629422 0.00631331 0.00633266 0.00635224 0.00637221 +0.00639236 0.00641289 0.00643367 0.00645481 0.0064762 0.00649795 0.00651996 +0.00654233 0.00656506 0.00658799 0.00661144 0.00663507 0.00665916 0.00668355 +0.00670824 0.00673341 0.00675882 0.00678472 0.0068109 0.00683753 0.00686452 +0.00689193 0.00691969 0.0069479 0.00697654 0.00700549 0.00703505 0.00706486 +0.00709527 0.00712605 0.00715727 0.00718904 0.00722114 0.00725388 0.00728698 +0.00732066 0.00735483 0.00738952 0.00742471 0.00746044 0.00749674 0.00753351 +0.00757101 0.00760889 0.00764754 0.00768667 0.00772643 0.00776686 0.00780779 +0.00784955 0.00789179 0.00793484 0.00797851 0.00802289 0.00806798 0.00811378 +0.00816035 0.00820759 0.00825577 0.00830456 0.00835432 0.00840478 0.00845613 +0.00850837 0.00856134 0.00861544 0.00867023 0.00872615 0.00878292 0.0088407 +0.00889951 0.00895928 0.00902017 0.00908204 0.00914519 0.00920928 0.0092747 +0.00934116 0.00940892 0.00947793 0.00954808 0.00961978 0.00969256 0.00976697 +0.00984263 0.00991979 0.00999848 0.0100786 0.0101604 0.0102437 0.0103288 +0.0104155 0.0105041 0.0105943 0.0106865 0.0107807 0.0108766 0.0109748 +0.0110748 0.0111773 0.0112818 0.0113886 0.0114978 0.0116094 0.0117236 +0.0118402 0.0119597 0.0120818 0.012207 0.0123349 0.012466 0.0126002 +0.0127376 0.0128787 0.0130229 0.0131711 0.0133229 0.0134787 0.0136385 +0.0138025 0.013971 0.0141438 0.0143217 0.0145043 0.0146922 0.0148853 +0.015084 0.0152886 0.0154991 0.0157162 0.0159395 0.0161702 0.0164078 +0.0166532 0.0169064 0.0171679 0.0174382 0.0177174 0.0180067 0.0183056 +0.0186156 0.0189366 0.0192694 0.0196149 0.0199732 0.0203459 0.0207328 +0.0211361 0.0215555 0.0219928 0.0224487 0.0229247 0.0234221 0.0239418 +0.0244867 0.0250568 0.0256558 0.0262842 0.0269453 0.0276416 0.0283749 +0.0291503 0.0299688 0.030837 0.0317572 0.0327354 0.0337767 0.0348874 +0.0360752 0.0373471 0.0387148 0.040186 0.0417773 0.0434987 0.0453711 +0.0474138 0.0496489 0.0521105 0.0548263 0.0578478 0.0612217 0.0650158 +0.0693149 0.0742246 0.0798875 0.0864879 0.0942849 0.103625 0.115038 +0.129265 0.147532 0.171815 0.205661 0.256214 0.339548 0.503688 0.974591 +0.517232 0.345614 0.259536 0.207763 0.173206 0.148509 0.129977 0.115547 +0.104011 0.0945609 0.0866908 0.0800303 0.0743156 0.0693709 0.0650372 +0.0612168 0.0578207 0.0547803 0.0520472 0.0495727 0.0473237 0.0452711 +0.0433892 0.0416582 0.0400612 0.0385812 0.0372091 0.0359311 0.034738 +0.0336234 0.0325772 0.0315958 0.030672 0.0298006 0.028979 0.0282013 +0.0274649 0.0267666 0.026103 0.0254726 0.0248721 0.0242994 0.0237537 +0.0232318 0.022733 0.0222558 0.0217981 0.02136 0.0209392 0.0205349 +0.0201468 0.0197731 0.0194136 0.0190674 0.0187333 0.0184117 0.018101 +0.0178009 0.0175113 0.0172309 0.0169601 0.0166979 0.0164438 0.0161981 +0.0159596 0.0157285 0.0155045 0.0152868 0.0150757 0.0148706 0.0146712 +0.0144777 0.0142893 0.0141061 0.013928 0.0137543 0.0135856 0.013421 +0.0132607 0.0131046 0.0129523 0.0128038 0.012659 0.0125175 0.0123798 +0.0122451 0.0121136 0.0119853 0.0118598 0.0117373 0.0116175 0.0115002 +0.0113859 0.0112738 0.0111643 0.0110571 0.0109521 0.0108495 0.010749 +0.0106505 0.0105541 0.0104597 0.0103671 0.0102765 0.0101875 0.0101006 +0.0100152 0.00993137 0.00984936 0.00976871 0.0096898 0.00961228 0.00953614 +0.00946161 0.00938831 0.00931639 0.00924581 0.00917643 0.00910837 0.00904155 +0.00897577 0.00891135 0.00884791 0.00878561 0.00872446 0.00866416 0.00860515 +0.00854698 0.00848981 0.00843368 0.00837838 0.00832408 0.00827063 0.00821801 +0.00816636 0.00811552 0.00806543 0.00801626 0.00796775 0.00792009 0.00787321 +0.0078269 0.00778157 0.00773676 0.00769273 0.00764939 0.00760662 0.00756464 +0.0075232 0.00748241 0.00744228 0.00740274 0.00736377 0.00732544 0.00728758 +0.00725039 0.00721373 0.00717751 0.007142 0.00710685 0.00707233 0.00703827 +0.00700462 0.00697163 0.00693898 0.00690687 0.00687519 0.00684397 0.00681322 +0.00678291 0.00675296 0.00672354 0.00669449 0.00666581 0.00663765 0.00660973 +0.00658236 0.00655529 0.00652858 0.00650234 0.00647635 0.00645082 0.00642559 +0.00640071 0.00637624 0.00635207 0.00632822 0.00630475 0.00628156 0.00625869 +0.00623621 0.0062139 0.00619208 0.00617045 0.00614914 0.00612817 0.00610739 +0.00608703 0.00606685 0.00604699 0.00602743 0.00600812 0.00598908 0.00597032 +0.00595179 0.00593354 0.00591559 0.00589779 0.00588038 0.0058631 0.00584612 +0.00582939 0.0058128 0.00579661 0.00578051 0.00576472 0.00574915 0.00573377 +0.00571865 0.00570373 0.00568901 0.00567454 0.00566029 0.00564619 0.0056324 +0.00561871 0.0056053 0.00559208 0.00557898 0.00556622 0.00555351 0.00554111 +0.00552885 0.00551676 0.00550492 0.00549322 0.00548171 0.0054704 0.00545927 +0.00544829 0.00543756 0.0054269 0.00541653 0.00540627 0.00539616 0.00538631 +0.0053765 0.00536699 0.00535758 0.00534832 0.00533929 0.00533036 0.00532163 +0.00531303 0.0053046 0.00529634 0.00528826 0.00528026 0.0052725 0.00526485 +0.00525734 0.00525005 0.00524277 0.00523582 0.0052289 0.00522216 0.0052156 +0.00520911 0.00520285 0.00519667 0.00519065 0.0051848 0.00517909 0.00517348 +0.00516807 0.00516275 0.00515759 0.0051526 0.00514763 0.00514297 0.00513832 +0.00513387 0.00512955 0.0051253 0.00512128 0.00511732 0.00511353 0.00510987 +0.00510635 0.00510295 0.0050997 0.00509653 0.00509355 0.0050907 0.0050879 +0.00508536 0.00508283 0.00508052 0.0050783 0.00507616 0.00507426 0.00507238 +0.00507071 0.00506912 0.00506767 0.00506637 0.00506518 0.0050641 0.00506318 +0.00506238 0.00506165 0.00506116 0.00506068 0.00506043 0.00506025 0.00506018 +0.00506031 0.00506047 0.00506085 0.00506129 0.00506188 0.00506263 0.00506348 +0.00506444 0.00506555 0.00506679 0.00506812 0.00506966 0.00507122 0.00507303 +0.00507488 0.00507688 0.00507905 0.00508125 0.00508371 0.0050862 0.00508887 +0.00509168 0.00509459 0.00509765 0.00510083 0.00510413 0.00510758 0.0051112 +0.00511488 0.00511878 0.00512274 0.00512687 0.00513116 0.00513548 0.0051401 +0.00514473 0.00514957 0.00515453 0.0051596 0.00516486 0.00517022 0.00517573 +0.00518138 0.00518722 0.00519313 0.00519927 0.00520547 0.00521188 0.00521843 +0.00522505 0.00523196 0.00523888 0.00524606 0.00525335 0.00526076 0.0052684 +0.00527613 0.00528405 0.00529209 0.00530034 0.00530872 0.0053173 0.00532596 +0.00533488 0.00534392 0.00535309 0.00536252 0.00537199 0.00538177 0.00539165 +0.00540169 0.00541196 0.00542234 0.00543296 0.0054437 0.00545467 0.0054658 +0.00547715 0.00548862 0.00550035 0.00551223 0.00552428 0.00553661 0.00554899 +0.00556174 0.00557457 0.00558764 0.00560094 0.00561437 0.00562811 0.00564196 +0.00565608 0.00567042 0.00568497 0.00569972 0.00571473 0.00572992 0.00574535 +0.00576106 0.00577688 0.0057931 0.00580944 0.00582607 0.00584295 0.00586 +0.00587743 0.00589499 0.00591289 0.00593101 0.00594942 0.00596808 0.00598702 +0.00600619 0.00602569 0.00604548 0.00606547 0.00608588 0.00610646 0.00612742 +0.00614866 0.00617014 0.00619205 0.00621414 0.00623667 0.00625945 0.00628258 +0.00630606 0.00632986 0.00635399 0.00637848 0.00640335 0.0064285 0.00645414 +0.00648 0.00650638 0.00653307 0.00656011 0.00658766 0.00661545 0.00664381 +0.00667248 0.00670159 0.00673118 0.00676115 0.00679158 0.00682245 0.00685379 +0.00688556 0.0069179 0.00695058 0.0069839 0.00701763 0.00705187 0.0070867 +0.00712189 0.00715784 0.00719417 0.00723113 0.00726867 0.00730674 0.00734545 +0.00738471 0.00742461 0.00746511 0.00750633 0.00754809 0.00759063 0.00763375 +0.00767759 0.00772219 0.00776734 0.00781347 0.00786015 0.00790772 0.00795603 +0.0080051 0.00805508 0.00810579 0.00815742 0.00820988 0.00826332 0.00831757 +0.00837285 0.00842898 0.00848617 0.00854436 0.00860345 0.00866381 0.00872502 +0.00878751 0.00885104 0.00891568 0.00898165 0.00904869 0.00911707 0.00918664 +0.00925762 0.00932988 0.00940358 0.0094786 0.00955517 0.00963322 0.00971269 +0.00979396 0.00987659 0.00996115 0.0100473 0.0101352 0.010225 0.0103165 +0.0104101 0.0105055 0.0106031 0.0107028 0.0108047 0.0109087 0.0110152 +0.0111239 0.0112351 0.011349 0.0114652 0.0115845 0.0117064 0.0118312 +0.0119591 0.01209 0.0122243 0.0123616 0.0125026 0.0126472 0.0127955 +0.0129475 0.0131036 0.0132639 0.0134284 0.0135976 0.0137712 0.01395 +0.0141336 0.0143225 0.014517 0.0147171 0.0149234 0.0151357 0.0153548 +0.0155805 0.0158135 0.016054 0.0163023 0.0165588 0.016824 0.0170984 +0.0173821 0.0176761 0.0179805 0.0182962 0.0186236 0.0189633 0.0193164 +0.0196831 0.0200649 0.0204621 0.0208759 0.0213075 0.0217578 0.0222281 +0.0227198 0.0232345 0.0237734 0.024339 0.0249323 0.0255564 0.0262131 +0.0269049 0.0276355 0.0284068 0.0292242 0.0300901 0.03101 0.0319889 +0.0330322 0.0341471 0.0353404 0.0366218 0.0379999 0.0394878 0.0410972 +0.0428451 0.0447494 0.0468318 0.0491196 0.0516425 0.0544421 0.0575626 +0.0610654 0.0650234 0.0695321 0.0747154 0.0807345 0.0878141 0.0962533 +0.106495 0.119176 0.135291 0.156453 0.185462 0.227697 0.294839 0.418177 +0.718915 0.6213 0.38315 0.276967 0.216875 0.178211 0.151243 0.131372 +0.116113 0.104034 0.0942325 0.0861185 0.0792949 0.0734733 0.068449 +0.0640702 0.0602179 0.0568045 0.0537583 0.0510224 0.0485538 0.0463131 +0.0442712 0.0424029 0.0406864 0.0391046 0.037642 0.0362852 0.0350243 +0.0338484 0.0327495 0.0317209 0.0307549 0.0298475 0.0289923 0.0281853 +0.027423 0.026701 0.0260171 0.0253676 0.0247503 0.0241632 0.0236037 +0.0230699 0.0225605 0.0220734 0.0216074 0.0211614 0.0207335 0.0203236 +0.0199297 0.0195513 0.0191875 0.0188372 0.0185003 0.0181754 0.0178622 +0.0175601 0.0172684 0.0169866 0.0167143 0.0164509 0.0161961 0.0159496 +0.0157106 0.0154794 0.0152549 0.0150374 0.0148263 0.0146212 0.0144225 +0.0142291 0.0140413 0.0138587 0.0136811 0.0135084 0.0133402 0.0131765 +0.0130171 0.0128619 0.0127105 0.0125632 0.0124193 0.0122791 0.0121423 +0.0120087 0.0118785 0.0117512 0.011627 0.0115056 0.011387 0.0112712 +0.0111579 0.0110471 0.0109388; +#A 6000 0.0108329 0.0107292 0.0106279 0.0105285 0.0104314 0.0103363 +0.010243 0.0101519 0.0100624 0.0099749 0.00988903 0.00980486 0.00972247 +0.00964156 0.00956231 0.00948452 0.00940824 0.00933342 0.00926005 0.00918794 +0.0091173 0.00904787 0.00897971 0.00891289 0.00884705 0.00878269 0.00871928 +0.00865704 0.00859594 0.0085358 0.00847683 0.00841877 0.00836175 0.00830573 +0.00825066 0.00819647 0.00814325 0.00809085 0.00803935 0.00798875 0.00793882 +0.00788994 0.00784167 0.00779427 0.00774763 0.00770163 0.00765652 0.00761199 +0.00756825 0.00752516 0.00748276 0.00744101 0.00739993 0.00735941 0.0073196 +0.00728039 0.00724168 0.00720373 0.00716618 0.00712933 0.00709298 0.0070571 +0.00702191 0.0069871 0.00695291 0.00691917 0.00688594 0.00685322 0.00682096 +0.00678914 0.00675784 0.00672698 0.00669651 0.0066666 0.00663697 0.00660792 +0.00657921 0.00655088 0.00652305 0.00649549 0.00646845 0.00644171 0.00641537 +0.00638945 0.00636386 0.00633863 0.00631376 0.00628924 0.00626504 0.00624128 +0.00621771 0.00619462 0.00617176 0.00614923 0.00612708 0.00610511 0.00608362 +0.0060623 0.00604133 0.00602068 0.00600027 0.00598019 0.00596037 0.00594081 +0.00592154 0.0059026 0.00588383 0.00586544 0.00584721 0.00582928 0.00581163 +0.00579412 0.00577704 0.00576005 0.00574339 0.00572695 0.00571071 0.00569477 +0.005679 0.00566348 0.00564818 0.00563315 0.00561827 0.00560369 0.00558923 +0.00557506 0.00556109 0.00554725 0.00553376 0.00552033 0.00550721 0.00549425 +0.00548145 0.00546893 0.00545653 0.00544436 0.00543235 0.00542057 0.00540895 +0.00539755 0.00538625 0.00537523 0.00536435 0.0053536 0.00534314 0.00533271 +0.0053226 0.00531257 0.00530271 0.00529309 0.00528355 0.00527425 0.00526505 +0.00525606 0.00524722 0.00523856 0.00523002 0.00522168 0.00521347 0.0052054 +0.00519756 0.00518974 0.00518224 0.00517478 0.0051675 0.0051604 0.00515337 +0.00514658 0.00513986 0.00513333 0.00512695 0.00512071 0.00511459 0.00510865 +0.00510281 0.00509713 0.00509162 0.00508616 0.00508097 0.00507582 0.00507085 +0.00506602 0.00506126 0.00505675 0.00505226 0.00504798 0.00504382 0.00503978 +0.00503589 0.00503212 0.00502846 0.00502497 0.00502162 0.00501832 0.00501527 +0.00501224 0.00500942 0.0050067 0.00500406 0.00500165 0.00499926 0.00499709 +0.00499499 0.00499303 0.00499122 0.00498952 0.00498793 0.00498648 0.00498517 +0.00498395 0.00498293 0.00498192 0.00498115 0.00498046 0.00497986 0.00497946 +0.00497908 0.00497895 0.00497886 0.0049789 0.00497912 0.00497941 0.00497985 +0.00498041 0.00498109 0.00498189 0.00498287 0.00498388 0.00498511 0.00498641 +0.00498784 0.00498944 0.00499106 0.00499296 0.00499487 0.00499695 0.00499917 +0.00500148 0.00500395 0.00500652 0.00500923 0.00501207 0.00501508 0.00501814 +0.00502142 0.00502475 0.00502825 0.0050319 0.00503558 0.00503956 0.00504353 +0.00504771 0.00505201 0.0050564 0.005061 0.00506567 0.0050705 0.00507546 +0.00508059 0.00508582 0.00509123 0.00509671 0.0051024 0.00510822 0.0051141 +0.00512026 0.00512644 0.00513285 0.00513937 0.00514599 0.00515286 0.00515979 +0.00516691 0.00517416 0.00518158 0.00518914 0.00519687 0.0052047 0.00521275 +0.00522094 0.00522923 0.00523779 0.00524637 0.00525524 0.00526421 0.00527332 +0.00528267 0.00529209 0.00530177 0.00531154 0.00532152 0.00533168 0.00534201 +0.00535248 0.00536317 0.00537401 0.00538502 0.00539627 0.00540758 0.00541924 +0.00543097 0.00544291 0.00545508 0.00546735 0.00547993 0.00549261 0.00550553 +0.00551866 0.00553197 0.00554549 0.00555922 0.00557314 0.00558727 0.00560167 +0.00561618 0.00563103 0.005646 0.00566124 0.00567672 0.00569232 0.00570831 +0.0057244 0.00574081 0.00575743 0.00577428 0.0057914 0.00580874 0.00582632 +0.00584418 0.00586232 0.00588064 0.00589933 0.00591818 0.00593738 0.00595684 +0.00597649 0.00599657 0.00601678 0.00603741 0.00605827 0.00607941 0.00610091 +0.00612267 0.00614474 0.00616714 0.00618986 0.00621287 0.00623629 0.00625991 +0.00628401 0.00630839 0.00633307 0.00635821 0.00638356 0.00640944 0.0064356 +0.00646212 0.0064891 0.00651639 0.00654411 0.00657221 0.00660073 0.00662967 +0.00665906 0.00668879 0.00671906 0.00674971 0.0067808 0.00681243 0.00684435 +0.00687697 0.00690992 0.0069434 0.00697742 0.00701187 0.00704692 0.00708243 +0.00711849 0.00715513 0.00719234 0.00723005 0.00726843 0.00730731 0.00734684 +0.00738701 0.00742766 0.00746918 0.00751117 0.0075539 0.00759731 0.00764133 +0.00768618 0.00773164 0.00777789 0.00782489 0.00787265 0.00792119 0.00797056 +0.00802065 0.00807169 0.00812356 0.00817618 0.00822991 0.00828435 0.00833987 +0.00839629 0.00845359 0.00851209 0.00857143 0.00863194 0.00869347 0.00875609 +0.00881988 0.00888482 0.00895086 0.00901823 0.00908679 0.00915656 0.00922782 +0.00930019 0.00937416 0.00944943 0.00952611 0.00960443 0.0096841 0.00976551 +0.00984844 0.00993302 0.0100194 0.0101075 0.0101974 0.0102892 0.0103829 +0.0104786 0.0105764 0.0106761 0.0107782 0.0108824 0.0109889 0.0110978 +0.0112091 0.0113231 0.0114395 0.0115587 0.0116808 0.0118057 0.0119336 +0.0120646 0.0121987 0.0123362 0.0124772 0.0126216 0.0127699 0.0129219 +0.0130779 0.0132382 0.0134024 0.0135715 0.013745 0.0139234 0.0141069 +0.0142954 0.0144896 0.0146895 0.0148951 0.0151072 0.0153257 0.0155508 +0.0157833 0.0160229 0.0162706 0.0165264 0.0167905 0.017064 0.0173465 +0.0176393 0.0179425 0.0182565 0.0185826 0.0189206 0.0192717 0.0196366 +0.0200159 0.0204108 0.0208221 0.0212504 0.0216978 0.0221646 0.0226524 +0.023163 0.0236972 0.0242577 0.0248457 0.0254633 0.0261135 0.0267979 +0.0275199 0.0282827 0.0290892 0.0299443 0.0308516 0.031816 0.032844 +0.0339408 0.0351145 0.0363732 0.0377254 0.0391842 0.0407604 0.0424695 +0.04433 0.0463607 0.0485883 0.0510419 0.0537557 0.0567784 0.0601602 +0.0639721 0.068302 0.0732592 0.0789974 0.0857095 0.0936697 0.103263 +0.115046 0.129865 0.149072 0.174937 0.211677 0.267956 0.364919 0.572075 +0.804167 0.447351 0.309882 0.23707 0.191946 0.161275 0.139051 0.12222 +0.109025 0.0984049 0.0896724 0.0823664 0.0761634 0.0708297 0.0661991 +0.0621357 0.0585465 0.0553492 0.052485 0.0499045 0.0475661 0.0454397 +0.043495 0.0417125 0.0400706 0.0385545 0.0371499 0.0358448 0.0346297 +0.0334944 0.0324331 0.0314369 0.0305016 0.0296208 0.0287903 0.028006 +0.0272636 0.0265608 0.0258934 0.0252602 0.0246572 0.0240834 0.0235361 +0.0230137 0.0225149 0.0220373 0.0215808 0.0211428 0.0207232 0.0203202 +0.0199332 0.0195613 0.0192033 0.0188589 0.0185268 0.0182071 0.0178984 +0.0176007 0.017313 0.0170351 0.0167665 0.0165063 0.016255 0.0160112 +0.0157754 0.0155467 0.0153249 0.0151098 0.0149009 0.0146983 0.0145013 +0.0143101 0.0141241 0.0139434 0.0137674 0.0135963 0.0134297 0.0132674 +0.0131096 0.0129555 0.0128056 0.0126593 0.0125166 0.0123775 0.0122417 +0.0121093 0.0119798 0.0118536 0.0117302 0.0116098 0.011492 0.0113769 +0.0112644 0.0111543 0.0110468 0.0109414 0.0108385 0.0107377 0.010639 +0.0105424 0.0104478 0.0103552 0.0102644 0.0101755 0.0100884 0.0100031 +0.00991937 0.00983735 0.00975692 0.00967797 0.00960071 0.00952467 0.00945035 +0.00937724 0.00930554 0.00923522 0.00916605 0.00909832 0.00903164 0.00896631 +0.00890209 0.00883904 0.00877707 0.0087162 0.00865639 0.00859758 0.0085399 +0.00848302 0.00842733 0.00837242 0.00831851 0.00826551 0.00821328 0.0081621 +0.00811157 0.00806204 0.00801323 0.00796523 0.00791801 0.00787154 0.0078258 +0.00778079 0.00773657 0.00769291 0.0076501 0.00760781 0.00756629 0.00752538 +0.00748502 0.00744545 0.00740629 0.00736791 0.00733001 0.00729271 0.007256 +0.0072198 0.00718417 0.00714905 0.0071145 0.00708039 0.0070469 0.00701376 +0.00698125 0.00694916 0.00691749 0.0068864 0.00685559 0.00682543 0.00679558 +0.00676619 0.00673727 0.00670871 0.0066806 0.00665286 0.00662556 0.0065986 +0.00657211 0.0065459 0.00652016 0.00649473 0.00646965 0.00644501 0.00642056 +0.00639667 0.00637297 0.00634966 0.0063267 0.00630401 0.00628171 0.00625966 +0.00623795 0.00621655 0.0061955 0.00617467 0.00615422 0.00613399 0.00611408 +0.00609449 0.00607505 0.00605608 0.00603723 0.00601873 0.00600048 0.00598245 +0.00596476 0.00594724 0.00593003 0.00591304 0.00589634 0.00587984 0.00586363 +0.00584759 0.00583184 0.00581633 0.00580096 0.00578597 0.00577105 0.00575647 +0.00574207 0.00572783 0.00571392 0.00570011 0.0056866 0.00567323 0.00566011 +0.00564719 0.00563448 0.00562192 0.00560961 0.00559749 0.00558551 0.00557383 +0.00556221 0.00555091 0.00553972 0.0055287 0.00551794 0.00550727 0.00549687 +0.00548657 0.00547649 0.00546659 0.00545686 0.00544729 0.0054379 0.00542868 +0.0054196 0.00541077 0.00540198 0.0053935 0.00538508 0.00537685 0.00536882 +0.00536085 0.00535316 0.00534553 0.00533811 0.00533085 0.00532373 0.00531676 +0.00530995 0.00530327 0.00529675 0.00529043 0.00528417 0.00527816 0.00527221 +0.00526645 0.00526085 0.0052553 0.00525004 0.0052448 0.00523978 0.00523488 +0.0052301 0.0052255 0.00522101 0.00521665 0.00521244 0.00520841 0.00520444 +0.0052007 0.005197 0.00519352 0.00519015 0.00518684 0.0051838 0.00518076 +0.00517797 0.00517525 0.00517265 0.00517025 0.00516792 0.00516575 0.00516369 +0.0051618 0.00516 0.00515839 0.00515681 0.00515547 0.00515422 0.00515305 +0.00515211 0.00515117 0.0051505 0.00514988 0.00514938 0.00514908 0.00514883 +0.00514876 0.00514879 0.00514896 0.00514926 0.00514972 0.00515025 0.00515097 +0.00515178 0.00515272 0.00515384 0.00515496 0.00515639 0.00515783 0.00515943 +0.00516119 0.00516302 0.00516504 0.00516714 0.00516939 0.00517179 0.00517433 +0.00517696 0.00517978 0.00518267 0.00518572 0.00518894 0.00519218 0.00519572 +0.00519927 0.00520301 0.00520688 0.00521083 0.00521502 0.00521925 0.00522367 +0.00522821 0.0052329 0.00523773 0.00524271 0.00524777 0.00525304 0.00525845 +0.00526392 0.00526967 0.00527543 0.00528143 0.00528754 0.00529375 0.00530021 +0.00530671 0.00531344 0.00532028 0.00532727 0.00533443 0.00534174 0.00534917 +0.0053568 0.00536457 0.00537245 0.00538059 0.00538876 0.00539722 0.00540577 +0.00541445 0.00542339 0.00543237 0.00544164 0.00545099 0.00546052 0.00547027 +0.00548016 0.00549021 0.00550045 0.00551085 0.00552141 0.00553223 0.0055431 +0.00555429 0.00556557 0.00557705 0.00558877 0.00560056 0.00561268 0.00562489 +0.00563733 0.00564999 0.0056628 0.00567584 0.00568907 0.00570247 0.00571611 +0.00572999 0.005744 0.00575832 0.00577276 0.00578746 0.0058024 0.00581744 +0.00583289 0.00584842 0.00586425 0.00588031 0.00589654 0.00591309 0.00592982 +0.00594679 0.00596403 0.00598153 0.00599923 0.00601726 0.00603544 0.00605398 +0.00607276 0.00609172 0.0061111 0.0061306 0.00615049 0.00617062 0.00619098 +0.00621174 0.0062327 0.00625399 0.00627557 0.00629747 0.00631966 0.0063422 +0.00636496 0.00638817 0.00641163 0.00643539 0.0064596 0.00648399 0.00650888 +0.00653404 0.00655953 0.00658548 0.00661168 0.00663833 0.00666532 0.00669269 +0.00672049 0.00674868 0.00677721 0.00680624 0.00683561 0.00686541 0.00689571 +0.00692627 0.00695751 0.00698905 0.00702107 0.00705361 0.00708651 0.00712002 +0.00715393 0.00718835 0.00722334 0.0072588 0.00729478; +#A 7000 0.00733134 0.00736836 0.00740601 0.00744423 0.0074829 0.00752236 +0.00756226 0.00760283 0.00764405 0.00768576 0.00772832 0.00777139 0.00781517 +0.00785968 0.00790482 0.00795072 0.00799734 0.00804461 0.00809279 0.00814167 +0.00819128 0.00824184 0.00829305 0.00834525 0.00839826 0.00845203 0.00850692 +0.00856253 0.00861919 0.0086768 0.0087353 0.00879494 0.00885553 0.00891712 +0.00897991 0.00904371 0.00910865 0.00917483 0.00924199 0.00931062 0.00938035 +0.00945131 0.00952374 0.0095973 0.00967242 0.00974888 0.00982668 0.00990618 +0.00998706 0.0100695 0.0101537 0.0102393 0.0103268 0.010416 0.0105069 +0.0105999 0.0106946 0.0107912 0.01089 0.0109906 0.0110937 0.0111988 +0.0113061 0.011416 0.011528 0.0116427 0.0117599 0.0118796 0.0120024 +0.0121278 0.0122561 0.0123876 0.012522 0.0126598 0.012801 0.0129453 +0.0130937 0.0132455 0.0134013 0.0135611 0.0137249 0.0138933 0.014066 +0.0142433 0.0144257 0.0146129 0.0148054 0.0150035 0.015207 0.0154169 +0.0156327 0.0158549 0.0160842 0.0163202 0.0165638 0.0168152 0.0170742 +0.0173424 0.0176192 0.0179052 0.0182014 0.0185074 0.0188248 0.0191535 +0.0194939 0.0198478 0.0202146 0.0205958 0.0209922 0.0214041 0.0218336 +0.0222808 0.0227468 0.023234 0.0237423 0.024274 0.0248309 0.0254134 +0.0260257 0.026668 0.0273431 0.0280546 0.0288036 0.0295953 0.0304316 +0.0313166 0.0322565 0.0332543 0.0343162 0.0354496 0.0366599 0.0379571 +0.0393506 0.0408485 0.042469 0.0442213 0.046126 0.0482039 0.0504751 +0.0529766 0.0557353 0.058799 0.0622208 0.066064 0.0704153 0.0753809 +0.0810966 0.0877563 0.0956087 0.10499 0.116434 0.130653 0.148847 0.172921 +0.206235 0.255565 0.335686 0.489196 0.900816 0.548376 0.362647 0.270945 +0.216277 0.179971 0.154102 0.134764 0.119725 0.107727 0.0979073 0.0897353 +0.0828305 0.0769064 0.0717859 0.0672999 0.0633486 0.0598373 0.0566948 +0.0538696 0.0513134 0.0489916 0.0468708 0.04493 0.0431428 0.041496 +0.0399696 0.0385536 0.0372362 0.0360055 0.034857 0.0337783 0.0327671 +0.0318151 0.0309177 0.0300709 0.0292695 0.0285113 0.0277915 0.027109 +0.0264591 0.0258412 0.0252517 0.0246895 0.0241526 0.0236387 0.023148 +0.0226767 0.0222259 0.0217928 0.021377 0.0209776 0.020593 0.0202234 +0.0198667 0.0195238 0.0191925 0.0188731 0.0185646 0.0182665 0.0179785 +0.0176996 0.0174303 0.0171689 0.0169163 0.0166712 0.0164337 0.0162033 +0.0159796 0.0157627 0.0155516 0.0153471 0.0151479 0.0149545 0.0147663 +0.0145832 0.014405 0.0142313 0.0140625 0.0138977 0.0137375 0.013581 +0.0134285 0.0132798 0.0131346 0.0129931 0.0128547 0.01272 0.012588 +0.0124594 0.0123336 0.0122106 0.0120905 0.0119728 0.0118581 0.0117455 +0.0116357 0.011528 0.0114227 0.0113196 0.0112186 0.0111198 0.0110228 +0.0109281 0.0108351 0.0107441 0.0106548 0.0105673 0.0104815 0.0103973 +0.0103149 0.0102338 0.0101546 0.0100766 0.0100002 0.0099252 0.00985153 +0.0097793 0.00970822 0.00963868 0.00957015 0.00950305 0.00943699 0.00937215 +0.00930849 0.00924577 0.00918439 0.00912381 0.00906449 0.00900605 0.00894865 +0.00889222 0.00883667 0.00878213 0.00872837 0.00867569 0.00862369 0.00857269 +0.0085224 0.00847299 0.00842438 0.00837643 0.00832945 0.00828299 0.00823748 +0.00819256 0.00814837 0.0081049 0.00806204 0.00801993 0.00797835 0.00793756 +0.00789727 0.00785771 0.00781864 0.00778025 0.00774242 0.00770508 0.00766846 +0.00763218 0.00759667 0.00756154 0.00752697 0.00749295 0.00745936 0.00742635 +0.00739372 0.00736169 0.00733004 0.00729894 0.0072682 0.00723798 0.00720818 +0.00717876 0.00714989 0.00712125 0.00709325 0.0070655 0.00703821 0.00701133 +0.00698476 0.00695868 0.00693286 0.00690751 0.00688247 0.00685785 0.00683352 +0.00680959 0.00678597 0.00676268 0.0067398 0.0067171 0.00669493 0.00667292 +0.00665131 0.00663001 0.00660894 0.0065883 0.00656782 0.00654776 0.00652792 +0.00650842 0.00648917 0.00647023 0.00645153 0.00643312 0.00641503 0.00639708 +0.00637958 0.00636218 0.00634515 0.00632833 0.00631171 0.00629546 0.00627932 +0.00626355 0.00624794 0.00623261 0.00621751 0.00620264 0.00618799 0.00617357 +0.00615941 0.00614539 0.00613172 0.00611813 0.00610489 0.0060918 0.00607889 +0.00606628 0.00605375 0.00604158 0.0060295 0.00601766 0.00600605 0.00599461 +0.00598337 0.00597232 0.00596148 0.00595079 0.00594039 0.00593005 0.00592002 +0.0059101 0.00590037 0.00589088 0.00588145 0.00587236 0.00586333 0.00585453 +0.00584591 0.00583743 0.00582917 0.00582104 0.00581309 0.0058053 0.00579775 +0.00579027 0.00578305 0.00577593 0.00576899 0.00576225 0.00575556 0.00574921 +0.00574287 0.00573678 0.00573082 0.00572499 0.00571937 0.00571386 0.00570852 +0.00570333 0.00569834 0.00569344 0.00568876 0.00568416 0.00567977 0.00567553 +0.00567135 0.00566747 0.00566359 0.00565998 0.00565646 0.00565306 0.00564989 +0.00564679 0.00564388 0.00564108 0.00563847 0.00563597 0.00563366 0.00563142 +0.0056294 0.0056275 0.00562569 0.00562413 0.00562258 0.00562131 0.0056201 +0.00561903 0.00561817 0.00561736 0.00561677 0.00561625 0.00561592 0.00561574 +0.0056157 0.00561576 0.00561601 0.00561637 0.00561686 0.00561756 0.00561826 +0.00561929 0.00562033 0.00562155 0.00562294 0.00562439 0.00562608 0.00562782 +0.00562976 0.00563185 0.00563407 0.00563642 0.00563894 0.00564156 0.00564434 +0.00564731 0.00565032 0.00565362 0.00565694 0.00566047 0.00566415 0.00566788 +0.00567191 0.00567595 0.00568022 0.00568462 0.00568916 0.00569386 0.00569871 +0.00570366 0.00570882 0.00571414 0.00571954 0.0057252 0.0057309 0.00573684 +0.00574291 0.00574907 0.00575551 0.00576198 0.00576871 0.00577555 0.00578253 +0.00578973 0.00579705 0.00580453 0.00581219 0.00582001 0.00582797 0.00583617 +0.00584441 0.00585296 0.00586161 0.00587039 0.00587945 0.00588854 0.00589794 +0.00590744 0.00591711 0.00592703 0.00593705 0.00594729 0.0059577 0.00596828 +0.00597906 0.00599007 0.00600116 0.00601256 0.00602407 0.00603578 0.00604775 +0.00605976 0.00607217 0.00608464 0.00609734 0.0061103 0.00612338 0.00613673 +0.00615025 0.00616395 0.00617794 0.00619213 0.00620647 0.00622112 0.0062359 +0.00625096 0.00626626 0.00628167 0.0062975 0.00631341 0.00632961 0.00634607 +0.00636268 0.00637965 0.00639678 0.00641417 0.00643185 0.00644976 0.00646792 +0.00648637 0.00650499 0.00652399 0.00654322 0.00656265 0.0065825 0.00660247 +0.00662284 0.00664346 0.00666428 0.00668556 0.006707 0.0067288 0.0067509 +0.00677327 0.00679601 0.00681905 0.00684233 0.00686606 0.00689004 0.00691434 +0.00693907 0.00696399 0.00698943 0.00701513 0.00704114 0.00706765 0.00709438 +0.00712159 0.00714913 0.00717701 0.00720539 0.0072341 0.00726319 0.00729276 +0.00732266 0.00735302 0.00738385 0.00741495 0.00744672 0.0074788 0.00751134 +0.00754442 0.00757781 0.00761186 0.00764628 0.00768118 0.0077167 0.00775262 +0.0077891 0.00782613 0.00786359 0.00790172 0.00794038 0.0079795 0.00801938 +0.00805967 0.00810065 0.00814226 0.00818431 0.00822725 0.00827065 0.00831474 +0.00835957 0.00840495 0.00845113 0.00849799 0.00854545 0.00859384 0.00864286 +0.00869262 0.00874327 0.00879454 0.00884679 0.0088998 0.00895355 0.00900837 +0.00906387 0.00912038 0.00917781 0.00923602 0.00929542 0.00935566 0.00941685 +0.00947922 0.00954247 0.00960688 0.00967241 0.00973884 0.00980673 0.0098756 +0.00994565 0.0100171 0.0100895 0.0101635 0.0102387 0.0103151 0.0103931 +0.0104724 0.0105531 0.0106355 0.0107191 0.0108046 0.0108915 0.01098 +0.0110705 0.0111624 0.0112563 0.011352 0.0114494 0.011549 0.0116505 +0.0117539 0.0118597 0.0119674 0.0120775 0.0121899 0.0123044 0.0124218 +0.0125414 0.0126636 0.0127887 0.0129162 0.0130469 0.0131804 0.0133167 +0.0134566 0.0135994 0.0137456 0.0138954 0.0140485 0.0142057 0.0143665 +0.0145311 0.0147003 0.0148733 0.0150511 0.0152334 0.01542 0.0156123 +0.0158093 0.0160117 0.0162199 0.0164335 0.0166535 0.0168797 0.017112 +0.0173518 0.0175984 0.0178524 0.0181145 0.0183841 0.0186629 0.0189504 +0.0192468 0.0195538 0.0198703 0.0201982 0.0205372 0.0208877 0.0212516 +0.0216283 0.0220187 0.0224245 0.0228454 0.0232828 0.0237383 0.0242108 +0.0247049 0.0252188 0.0257548 0.0263155 0.0269001 0.0275133 0.0281543 +0.0288261 0.0295324 0.0302736 0.0310536 0.0318757 0.0327421 0.033658 +0.0346275 0.0356525 0.0367438 0.0379017 0.0391365 0.0404559 0.0418639 +0.0433799 0.0450046 0.0467581 0.0486551 0.0507103 0.0529499 0.0553951 +0.0580756 0.0610323 0.0643062 0.0679447 0.072029 0.0766246 0.0818551 +0.0878512 0.0947778 0.102922 0.112556 0.124204 0.138527 0.156561 0.180033 +0.211722 0.256955 0.326725 0.448507 0.714325 0.698963 0.442655 0.323731 +0.255241 0.210743 0.179391 0.156252 0.13836 0.124174 0.112638 0.103052 +0.0949893 0.0880928 0.0821407 0.0769422 0.0723699 0.0683096 0.0646897 +0.0614312 0.05849 0.0558221 0.0533835 0.05116 0.0491086 0.0472219 0.0454758 +0.0438543 0.0423487 0.0409418 0.0396296 0.0383988 0.0372445 0.0361581 +0.0351357 0.0341697 0.0332572 0.0323936 0.0315732 0.0307975 0.030057 +0.0293545 0.0286842 0.0280446 0.0274348 0.0268504 0.0262928 0.0257576 +0.0252455 0.0247537 0.0242818 0.0238281 0.023392 0.0229724 0.0225676 +0.022179 0.0218028 0.0214411 0.0210911 0.0207531 0.020427 0.0201106 +0.0198055 0.0195093 0.0192232 0.0189456 0.0186766 0.0184156 0.0181624 +0.0179168 0.0176778 0.0174464 0.0172208 0.0170022 0.016789 0.0165818 +0.0163804 0.0161838 0.0159929 0.0158064 0.0156252 0.0154483 0.0152759 +0.0151078 0.0149437 0.0147837 0.0146272 0.014475 0.0143258 0.0141806 +0.0140383 0.0138994 0.0137637 0.0136308 0.0135012 0.013374 0.01325 +0.0131284 0.0130095 0.0128931 0.0127791 0.0126676 0.0125581 0.0124512 +0.0123462 0.0122436 0.0121428 0.012044 0.0119473 0.0118522 0.0117594 +0.0116678 0.0115785 0.0114906 0.0114045 0.0113199 0.0112368 0.0111554 +0.0110753 0.0109969 0.0109196 0.010844 0.0107696 0.0106966 0.0106248 +0.0105542 0.0104851 0.0104168 0.0103501 0.0102842 0.0102196 0.0101561 +0.0100935 0.0100322 0.00997162 0.00991237 0.00985382 0.00979647 0.00973991 +0.00968431 0.00962965 0.00957574 0.00952289 0.00947064 0.00941951 0.00936898 +0.00931937 0.00927048 0.00922234 0.00917504 0.00912829 0.00908253 0.00903722 +0.00899284 0.00894899 0.00890586 0.00886342 0.00882151 0.0087804 0.00873971 +0.00869987 0.00866046 0.00862175 0.00858355 0.00854593 0.00850892 0.00847233 +0.00843649 0.00840096 0.00836618 0.00833176 0.0082979 0.00826457 0.00823162 +0.00819931 0.00816728 0.00813594 0.00810492 0.00807443 0.00804434 0.00801469 +0.00798551 0.00795666 0.0079284 0.00790036 0.00787293 0.00784576 0.00781905 +0.00779274 0.00776671 0.00774123 0.00771593 0.00769121 0.00766671 0.00764264 +0.00761891 0.00759551 0.00757247 0.00754973 0.00752744 0.00750533 0.00748372 +0.00746229 0.00744127 0.00742055 0.00740006 0.00738003 0.00736011 0.00734071 +0.00732146 0.00730256 0.00728396 0.00726561 0.00724758 0.00722977 0.00721234 +; +#A 8000 0.00719506 0.0071782 0.00716146 0.00714511 0.00712897 0.00711304 +0.0070975 0.00708202 0.00706701 0.00705211 0.00703751 0.00702316 0.00700902 +0.00699516 0.00698148 0.00696811 0.00695489 0.00694202 0.00692925 0.00691682 +0.00690455 0.00689249 0.00688074 0.00686904 0.00685778 0.00684658 0.00683566 +0.00682496 0.00681441 0.00680415 0.00679401 0.00678414 0.00677444 0.00676501 +0.00675569 0.00674666 0.00673776 0.00672908 0.00672064 0.00671225 0.00670428 +0.00669632 0.00668865 0.00668115 0.00667378 0.0066667 0.0066597 0.00665297 +0.00664637 0.00664002 0.00663379 0.00662779 0.00662191 0.00661627 0.00661081 +0.00660543 0.0066004 0.00659539 0.00659067 0.00658607 0.0065816 0.00657743 +0.0065733 0.00656945 0.00656569 0.00656216 0.00655878 0.00655559 0.00655252 +0.00654967 0.00654699 0.0065444 0.00654213 0.00653985 0.0065379 0.00653603 +0.00653431 0.00653285 0.00653143 0.0065303 0.00652924 0.00652838 0.00652772 +0.0065272 0.00652683 0.00652664 0.00652661 0.00652672 0.00652708 0.00652747 +0.00652818 0.00652895 0.0065299 0.00653107 0.00653229 0.00653382 0.00653539 +0.00653719 0.00653916 0.00654127 0.00654356 0.00654601 0.00654861 0.00655138 +0.00655438 0.00655743 0.00656079 0.00656419 0.00656782 0.00657164 0.0065755 +0.00657972 0.00658395 0.00658844 0.00659309 0.00659786 0.00660287 0.006608 +0.0066133 0.00661879 0.00662449 0.00663029 0.00663636 0.00664249 0.00664889 +0.00665545 0.00666209 0.00666908 0.00667608 0.00668339 0.00669082 0.00669839 +0.00670625 0.00671421 0.00672238 0.00673073 0.00673928 0.00674799 0.00675695 +0.00676598 0.00677534 0.00678483 0.00679446 0.00680441 0.00681438 0.00682473 +0.00683517 0.00684579 0.00685672 0.00686774 0.00687903 0.00689049 0.00690215 +0.00691406 0.00692618 0.00693843 0.006951 0.0069637 0.00697664 0.00698985 +0.00700312 0.00701683 0.00703062 0.00704466 0.00705898 0.00707343 0.00708821 +0.00710315 0.00711831 0.0071338 0.00714948 0.00716537 0.00718157 0.00719792 +0.00721459 0.00723153 0.00724858 0.00726609 0.0072837 0.00730164 0.00731986 +0.00733823 0.00735703 0.00737598 0.00739523 0.00741481 0.00743461 0.00745472 +0.00747513 0.00749572 0.00751676 0.00753803 0.00755953 0.00758148 0.00760356 +0.0076261 0.0076489 0.00767191 0.00769544 0.00771913 0.00774323 0.00776766 +0.00779234 0.00781749 0.00784292 0.00786863 0.00789483 0.00792129 0.00794813 +0.00797541 0.00800289 0.00803096 0.00805929 0.00808797 0.00811719 0.00814663 +0.00817662 0.00820696 0.00823762 0.0082689 0.00830048 0.00833249 0.00836501 +0.00839786 0.00843127 0.00846513 0.00849931 0.0085342 0.0085694 0.00860512 +0.00864141 0.00867802 0.00871537 0.00875311 0.00879132 0.00883024 0.00886953 +0.00890947 0.00894998 0.0089909 0.00903263 0.00907484 0.00911758 0.0091611 +0.00920505 0.00924977 0.00929511 0.00934093 0.00938771 0.00943496 0.00948293 +0.00953169 0.00958098 0.00963119 0.00968207 0.00973356 0.00978608 0.00983918 +0.00989314 0.00994797 0.0100034 0.01006 0.0101173 0.0101753 0.0102345 +0.0102944 0.0103553 0.0104172 0.0104799 0.0105438 0.0106086 0.0106744 +0.0107414 0.0108092 0.0108783 0.0109485 0.0110196 0.0110923 0.0111659 +0.0112407 0.0113169 0.0113942 0.011473 0.0115531 0.0116343 0.0117173 +0.0118014 0.0118871 0.0119744 0.0120628 0.0121533 0.0122451 0.0123386 +0.012434 0.0125307 0.0126296 0.0127301 0.0128323 0.0129369 0.0130431 +0.0131514 0.0132619 0.0133743 0.0134891 0.0136061 0.013725 0.013847 +0.0139709 0.0140975 0.0142268 0.0143583 0.0144932 0.0146305 0.0147707 +0.0149141 0.0150604 0.0152099 0.0153629 0.0155188 0.0156788 0.0158422 +0.0160089 0.0161801 0.0163546 0.0165338 0.0167171 0.0169042 0.017097 +0.0172936 0.0174954 0.0177024 0.0179142 0.0181319 0.0183551 0.0185838 +0.0188193 0.0190609 0.0193086 0.019564 0.0198254 0.0200953 0.0203726 +0.0206574 0.0209518 0.0212537 0.0215658 0.021887 0.0222177 0.0225601 +0.0229128 0.023277 0.0236537 0.0240427 0.024445 0.024862 0.0252921 +0.02574 0.0262029 0.026683 0.0271827 0.0276994 0.0282392 0.0287988 +0.0293813 0.0299897 0.0306226 0.0312841 0.0319748 0.0326964 0.0334523 +0.0342447 0.0350734 0.0359469 0.0368624 0.0378272 0.0388456 0.0399153 +0.0410534 0.0422522 0.0435254 0.044879 0.0463163 0.0478531 0.0494922 +0.0512479 0.0531338 0.0551638 0.0573511 0.0597249 0.0622955 0.0651038 +0.0681772 0.0715417 0.0752765 0.0793974 0.0840103 0.0891861 0.0950269 +0.101712 0.109378 0.118307 0.128805 0.141348 0.156578 0.175502 0.199539 +0.231307 0.275029 0.338889 0.441887 0.633052 0.903759 0.558475 0.404297 +0.316636 0.260427 0.221089 0.192165 0.169933 0.152325 0.138031 0.126217 +0.116256 0.107766 0.100449 0.0940471 0.0884502 0.0834588 0.0790204 +0.0750338 0.0714264 0.0681653 0.0651801 0.0624595 0.0599563 0.0576483 +0.0555148 0.0535372 0.0516968 0.0499818 0.0483802 0.0468763 0.0454727 +0.0441453 0.0428999 0.0417231 0.0406096 0.0395595 0.0385586 0.0376137 +0.0367129 0.0358568 0.035041 0.0342626 0.0335197 0.0328097 0.0321304 +0.0314786 0.0308568 0.0302575 0.0296844 0.0291324 0.0286016 0.0280924 +0.0275993 0.0271271 0.0266699 0.02623 0.025805 0.0253941 0.0249974 +0.0246136 0.0242426 0.0238826 0.0235355 0.0231977 0.0228716 0.0225543 +0.0222467 0.0219488 0.0216582 0.0213776 0.0211035 0.0208381 0.0205797 +0.0203279 0.0200834 0.0198449 0.0196132 0.0193868 0.0191672 0.0189523 +0.0187436 0.0185393 0.0183403 0.0181464 0.0179564 0.0177721 0.0175909 +0.0174149 0.0172425 0.0170741 0.0169096 0.0167485 0.0165914 0.0164373 +0.0162871 0.0161396 0.0159958 0.0158546 0.0157166 0.0155815 0.0154488 +0.0153196 0.0151921 0.015068 0.0149459 0.0148264 0.0147094 0.0145943 +0.0144819 0.0143711 0.0142631 0.0141566 0.0140525 0.0139501 0.0138498 +0.0137513 0.0136543 0.0135597 0.0134661 0.0133749 0.0132849 0.0131966 +0.01311 0.0130246 0.0129411 0.0128585 0.012778 0.0126985 0.0126205 +0.0125437 0.0124683 0.0123942 0.0123212 0.0122497 0.012179 0.0121099 +0.0120416 0.0119746 0.0119088 0.0118437 0.0117801 0.0117171 0.0116555 +0.0115946 0.0115349 0.011476 0.0114181 0.0113611 0.0113049 0.0112498 +0.0111953 0.011142 0.0110892 0.0110374 0.0109863 0.010936 0.0108866 +0.0108377 0.0107899 0.0107425 0.0106961 0.0106503 0.0106051 0.0105608 +0.0105169 0.0104739 0.0104313 0.0103897 0.0103484 0.0103079 0.010268 +0.0102286 0.0101899 0.0101516 0.0101142 0.010077 0.0100406 0.0100047 +0.00996929 0.00993449 0.00990004 0.00986636 0.00983291 0.00980024 0.00976786 +0.00973607 0.00970474 0.0096738 0.00964348 0.00961339 0.00958405 0.0095549 +0.00952639 0.00949819 0.00947045 0.00944319 0.00941619 0.00938983 0.00936363 +0.00933809 0.00931277 0.00928792 0.00926346 0.00923931 0.00921566 0.00919219 +0.00916935 0.00914666 0.0091245 0.00910257 0.00908105 0.00905991 0.00903898 +0.00901861 0.00899832 0.00897863 0.00895909 0.00893995 0.00892115 0.00890259 +0.00888447 0.00886649 0.00884902 0.00883171 0.00881483 0.00879815 0.00878183 +0.0087658 0.00874999 0.00873463 0.00871932 0.00870458 0.00868993 0.00867564 +0.00866163 0.00864782 0.00863441 0.00862111 0.00860825 0.00859554 0.0085832 +0.00857104 0.00855919 0.00854757 0.00853618 0.00852517 0.00851421 0.00850375 +0.00849335 0.0084833 0.00847349 0.00846383 0.00845458 0.00844538 0.00843661 +0.00842795 0.00841962 0.00841147 0.00840358 0.0083959 0.00838846 0.00838133 +0.00837426 0.00836765 0.00836107 0.00835485 0.00834881 0.00834292 0.00833742 +0.00833195 0.00832689 0.00832193 0.00831725 0.00831279 0.00830853 0.00830449 +0.00830066 0.0082971 0.00829364 0.00829058 0.00828754 0.00828488 0.00828236 +0.00828001 0.008278 0.00827602 0.00827446 0.00827297 0.00827173 0.00827075 +0.00826993 0.00826934 0.00826894 0.00826878 0.00826877 0.0082691 0.00826947 +0.00827023 0.00827108 0.00827215 0.00827351 0.0082749 0.00827674 0.00827862 +0.00828077 0.00828315 0.00828569 0.00828849 0.00829145 0.00829463 0.00829803 +0.00830171 0.00830548 0.00830959 0.0083138 0.00831828 0.008323 0.00832777 +0.00833301 0.00833825 0.00834383 0.00834959 0.00835551 0.00836175 0.00836812 +0.00837473 0.00838156 0.00838865 0.00839589 0.00840344 0.00841109 0.00841907 +0.00842725 0.00843554 0.00844427 0.00845301 0.00846213 0.00847142 0.00848085 +0.00849069 0.00850062 0.00851083 0.00852126 0.00853193 0.00854285 0.00855402 +0.00856532 0.00857701 0.00858886 0.0086009 0.00861333 0.0086258 0.00863873 +0.00865179 0.00866506 0.00867872 0.00869247 0.00870659 0.00872091 0.00873546 +0.00875036 0.00876548 0.0087808 0.00879649 0.00881235 0.00882851 0.00884501 +0.00886157 0.0088787 0.00889591 0.00891343 0.00893131 0.00894931 0.00896777 +0.00898641 0.00900532 0.00902465 0.00904417 0.00906401 0.00908419 0.00910456 +0.00912536 0.00914645 0.00916771 0.00918952 0.00921144 0.00923379 0.00925647 +0.0092793 0.00930273 0.00932631 0.00935026 0.00937462 0.0093992 0.00942424 +0.0094496 0.00947518 0.00950134 0.00952774 0.00955447 0.00958171 0.00960912 +0.0096371 0.00966539 0.00969393 0.00972312 0.00975249 0.00978236; +#X coords 0 1 8819 -1 300 100 1; +#X restore 358 484 graph; +#N canvas 0 0 450 300 graph2 0; +#X array sign 8820 float 1; +#A 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1; +#A 1000 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1; +#A 2000 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1; +#A 3000 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1; +#A 4000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1; +#A 5000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1; +#A 6000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1; +#A 7000 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1; +#A 8000 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1; +#X coords 0 1 8819 -1 300 100 1; +#X restore 358 587 graph; +#N canvas 0 0 450 300 graph3 0; +#X array sine-1 8820 float 1; +#A 0 -0.739 -0.742134 -0.745241 -0.748349 -0.751425 -0.75449 -0.75755 +-0.760572 -0.763594 -0.766594 -0.769572 -0.77255 -0.775491 -0.778425 +-0.781349 -0.784238 -0.787127 -0.78999 -0.792834 -0.795678 -0.798479 +-0.801278 -0.804062 -0.806814 -0.809567 -0.812288 -0.814995 -0.817699 +-0.820358 -0.823018 -0.825658 -0.82827 -0.830883 -0.833458 -0.836023 +-0.838581 -0.841098 -0.843615 -0.846107 -0.848576 -0.851044 -0.85347 +-0.85589 -0.858298 -0.860669 -0.86304 -0.865381 -0.867702 -0.870024 +-0.872297 -0.874568 -0.876823 -0.879045 -0.881266 -0.883452 -0.885624 +-0.887791 -0.889911 -0.892032 -0.89413 -0.896199 -0.898269 -0.900297 +-0.902315 -0.904324 -0.90629 -0.908256 -0.910195 -0.912109 -0.914023 +-0.91589 -0.917752 -0.9196 -0.92141 -0.923219 -0.924995 -0.926752 -0.928508 +-0.930212 -0.931915 -0.933599 -0.93525 -0.9369 -0.938511 -0.940107 +-0.941698 -0.943241 -0.944784 -0.946301 -0.94779 -0.949279 -0.950722 +-0.952157 -0.95358 -0.95496 -0.95634 -0.957689 -0.959014 -0.960339 +-0.961613 -0.962884 -0.964137 -0.965353 -0.966568 -0.967746 -0.968906 +-0.970064 -0.971169 -0.972273 -0.973355 -0.974404 -0.975453 -0.976459 +-0.977452 -0.978438 -0.979375 -0.980312 -0.981221 -0.982102 -0.982983 +-0.983816 -0.98464 -0.985452 -0.986221 -0.986989 -0.987724 -0.988436 +-0.989148 -0.989806 -0.990461 -0.991098 -0.991697 -0.992295 -0.992855 +-0.993397 -0.993935 -0.99442 -0.994906 -0.995367 -0.995795 -0.996223 +-0.996606 -0.996978 -0.99734 -0.997654 -0.997968 -0.998253 -0.99851 +-0.998767 -0.998973 -0.999174 -0.999359 -0.999502 -0.999645 -0.999752 +-0.999838 -0.999924 -0.999953 -0.999982 -0.99999 -0.999961 -0.999933 +-0.999863 -0.999777 -0.999686 -0.999543 -0.9994 -0.999232 -0.999032 +-0.998832 -0.998585 -0.998327 -0.99806 -0.997746 -0.997431 -0.997086 +-0.996714 -0.996343 -0.995919 -0.995491 -0.995047 -0.994562 -0.994076 +-0.993554 -0.993012 -0.992469 -0.991871 -0.991272 -0.990652 -0.989996 +-0.989341 -0.988643 -0.987931 -0.987213 -0.986444 -0.985676 -0.98488 +-0.984056 -0.983231 -0.982358 -0.981477 -0.980585 -0.979647 -0.97871 +-0.977741 -0.976748 -0.975755 -0.974709 -0.97366 -0.972594 -0.97149 +-0.970385 -0.969243 -0.968084 -0.966921 -0.965706 -0.964491 -0.963253 +-0.961983 -0.960713 -0.9594 -0.958074 -0.956741 -0.955362 -0.953982 +-0.952574 -0.95114 -0.949705 -0.948223 -0.946734 -0.945233 -0.94369 +-0.942147 -0.940572 -0.938975 -0.937378 -0.93573 -0.934079 -0.932411 +-0.930707 -0.929004 -0.927263 -0.925506 -0.923746 -0.921936 -0.920127 +-0.918294 -0.916432 -0.91457 -0.912666 -0.910752 -0.908828 -0.906862 +-0.904896 -0.902902 -0.900884 -0.898866 -0.896801 -0.894732 -0.892649 +-0.890528 -0.888408 -0.886255 -0.884084 -0.881913 -0.879691 -0.877469 +-0.875229 -0.872958 -0.870686 -0.868378 -0.866056 -0.86373 -0.861359 +-0.858988 -0.856594 -0.854174 -0.851754 -0.849294 -0.846825 -0.844347 +-0.84183 -0.839313 -0.836769 -0.834204 -0.831639 -0.82903 -0.826418 +-0.823791 -0.821132 -0.818472 -0.815782 -0.813075 -0.810368 -0.807615 +-0.804863 -0.802092 -0.799293 -0.796495 -0.793661 -0.790817 -0.787967 +-0.785078 -0.782189 -0.779278 -0.776344 -0.77341 -0.770439 -0.767461 +-0.764473 -0.761451 -0.758429 -0.755382 -0.752317 -0.749252 -0.746146 +-0.743038 -0.739916 -0.736766 -0.733616 -0.730436 -0.727244 -0.72405 +-0.720816 -0.717583 -0.714332 -0.711057 -0.707783 -0.704476 -0.701162 +-0.69784 -0.694486 -0.691131 -0.687755 -0.684361 -0.680967 -0.677538 +-0.674105 -0.670662 -0.66719 -0.663719 -0.660223 -0.656714 -0.653205 +-0.649658 -0.646112 -0.642552 -0.638968 -0.635385 -0.631775 -0.628155 +-0.624532 -0.620876 -0.617221 -0.613549 -0.609859 -0.606168 -0.602449 +-0.598723 -0.594992 -0.591232 -0.587473 -0.583695 -0.579902 -0.576109 +-0.572286 -0.56846 -0.564625 -0.560766 -0.556908 -0.553029 -0.549139 +-0.545249 -0.541328 -0.537406 -0.533473 -0.529522 -0.52557 -0.521596 +-0.517614 -0.513629 -0.509618 -0.505607 -0.501582 -0.497542 -0.493502 +-0.489438 -0.48537 -0.481296 -0.4772 -0.473104 -0.468993 -0.46487 -0.460748 +-0.4566 -0.452451 -0.448294 -0.444119 -0.439945 -0.435753 -0.431553 +-0.427352 -0.423128 -0.418904 -0.41467 -0.410422 -0.406174 -0.401908 +-0.397636 -0.393362 -0.389068 -0.384775 -0.38047 -0.376154 -0.371839 +-0.367504 -0.363167 -0.358826 -0.354468 -0.350111 -0.345741 -0.341364 +-0.336987 -0.33259 -0.328194 -0.323791 -0.319376 -0.314961 -0.310533 +-0.3061 -0.301665 -0.297215 -0.292764 -0.288307 -0.28384 -0.279373 +-0.274893 -0.27041 -0.265924 -0.261426 -0.256928 -0.252422 -0.247909 +-0.243396 -0.238871 -0.234344 -0.229814 -0.225274 -0.220735 -0.216187 +-0.211634 -0.207082 -0.202518 -0.197953 -0.193385 -0.18881 -0.184234 +-0.179651 -0.175065 -0.170479 -0.165883 -0.161287 -0.156687 -0.152083 +-0.147478 -0.142866 -0.138253 -0.133639 -0.129018 -0.124397 -0.119772 +-0.115145 -0.110517 -0.105883 -0.101249 -0.0966133 -0.0919736 -0.0873339 +-0.082691 -0.0780464 -0.0734016 -0.0687528 -0.0641041 -0.0594539 -0.0548016 +-0.0501493 -0.0454948 -0.0408397 -0.0361844 -0.0315271 -0.0268699 -0.022212 +-0.0175534 -0.0128948 -0.00823559 -0.00357627 0.00108304 0.00574235 +0.0104017 0.0150606 0.0197192 0.0243778 0.029035 0.0336923 0.0383488 +0.0430039 0.047659 0.0523121 0.0569644 0.0616165 0.0662653 0.0709141 +0.075561 0.0802056 0.0848502 0.0894909 0.0941306 0.0987693 0.103403 +0.108037 0.112668 0.117296 0.121924 0.126545 0.131166 0.135785 0.140398 +0.145011 0.149619 0.154223 0.158828 0.163424 0.168019 0.172612 0.177197 +0.181783 0.186361 0.190937 0.195511 0.200075 0.204639 0.209198 0.213751 +0.218303 0.222845 0.227385 0.231922 0.236449 0.240975 0.245494 0.250007 +0.25452 0.259019 0.263517 0.268011 0.272494 0.276977 0.281449 0.285916 +0.290383 0.294833 0.299284 0.303727 0.30816 0.312594 0.317013 0.321428 +0.325841 0.330238 0.334634 0.339022 0.343399 0.347776 0.352137 0.356494 +0.360847 0.365184 0.36952 0.373845 0.37816 0.382476 0.386771 0.391064 +0.395351 0.399622 0.403893 0.408149 0.412397 0.416643 0.420868 0.425092 +0.429306 0.433506 0.437705 0.441885 0.44606 0.450231 0.45438 0.458529 +0.462664 0.466787 0.470909 0.475008 0.479104 0.483193 0.487261 0.491329 +0.49538 0.49942 0.50346 0.507471 0.511482 0.515483 0.519465 0.523447 +0.527407 0.531359 0.535308 0.539229 0.54315 0.547058 0.550948 0.554838 +0.558702 0.56256 0.566413 0.570238 0.574064 0.577872 0.581665 0.585458 +0.58922 0.59298 0.59673 0.600455 0.60418 0.607884 0.611574 0.615265 +0.61892 0.622576 0.626218 0.629838 0.633458 0.637051 0.640634 0.644214 +0.647761 0.651307 0.654836 0.658346 0.661855 0.665333 0.668804 0.672268 +0.675701 0.679134 0.682545 0.685939 0.689333 0.692691 0.696045 0.699388 +0.702703 0.706018 0.709305 0.71258 0.715853 0.719086 0.72232 0.725536 +0.728728 0.73192 0.73508 0.73823 0.741375 0.744483 0.747591 0.750677 +0.753742 0.756807 0.759834 0.762856 0.765867 0.768845 0.771823 0.774774 +0.777708 0.780642 0.783533 0.786422 0.789296 0.79214 0.794984 0.797796 +0.800594 0.80339 0.806142 0.808895 0.811628 0.814334 0.81704 0.819709 +0.822368 0.82502 0.827632 0.830245 0.832832 0.835397 0.837961 0.840483 +0.843 0.845504 0.847973 0.850441 0.852879 0.855299 0.857719 0.86009 +0.862461 0.864814 0.867135 0.869457 0.871742 0.874014 0.876281 0.878502 +0.880724 0.882922 0.885093 0.887265 0.889394 0.891514 0.893625 0.895694 +0.897763 0.899804 0.901822 0.90384 0.90581 0.907776 0.909727 0.911642 +0.913556 0.915436 0.917298 0.919159 0.920968 0.922777 0.924566 0.926323 +0.928079 0.929796 0.931499 0.933196 0.934847 0.936497 0.938121 0.939717 +0.941314 0.942864 0.944407 0.945938 0.947427 0.948915 0.950372 0.951806 +0.953241 0.954623 0.956003 0.957365 0.958691 0.960016 0.961303 0.962573 +0.963841 0.965056 0.966271 0.967463 0.968623 0.969783 0.970899 0.972003 +0.973099 0.974148 0.975197 0.976217 0.97721 0.978203 0.979146 0.980083 +0.981006 0.981887 0.982768 0.983614 0.984439 0.985264 0.986033 0.986801 +0.98755 0.988262 0.988974 0.989646 0.990301 0.990952 0.99155 0.992149 +0.992722 0.993264 0.993806 0.994302 0.994787 0.995262 0.99569 0.996118 +0.996516 0.996887 0.997258 0.997577 0.997892 0.99819 0.998447 0.998704 +0.998925 0.999125 0.999324 0.999467 0.99961 0.999731 0.999817 0.999903 +0.999946 0.999975 0.999997 0.999968 0.99994 0.999884 0.999798 0.999713 +0.999579 0.999436 0.999281 0.999081 0.998881 0.998648 0.998391 0.998134 +0.997823 0.997509 0.997177 0.996806 0.996435 0.996025 0.995597 0.995167 +0.994681 0.994196 0.993688 0.993146 0.992604 0.992019 0.99142 0.990813 +0.990158 0.989503 0.988819 0.988107 0.987395 0.986634 0.985866 0.985084 +0.984259 0.983435 0.982576 0.981695 0.980814 0.979879 0.978942 0.977986 +0.976993 0.976 0.974968 0.97392 0.972867 0.971763 0.970658 0.96953 +0.96837 0.96721 0.966006 0.964791 0.963567 0.962297 0.961027 0.959727 +0.958402 0.957077 0.955703 0.954323 0.952928 0.951494 0.95006 0.948591 +0.947102 0.945614 0.944071 0.942529 0.940966 0.93937 0.937773 0.936137 +0.934487 0.932832 0.931129 0.929425 0.927697 0.925941 0.924184 0.922384 +0.920574 0.918755 0.916893 0.915031 0.913139 0.911225 0.909311 0.907348 +0.905382 0.903401 0.901383 0.899365 0.897313 0.895244 0.893173 0.891053 +0.888932 0.886792 0.884621 0.88245 0.880241 0.878019 0.875791 0.87352 +0.871248 0.868952 0.86663 0.864309 0.861945 0.859575 0.857193 0.854773 +0.852353 0.849905 0.847436 0.844967 0.842453 0.839936 0.837404 0.834839 +0.832274 0.829677 0.827064 0.82445 0.82179 0.819131 0.816452 0.813745 +0.811039 0.808297 0.805544 0.802784 0.799986 0.797188 0.794365 0.791521 +0.788677 0.785794 0.782905 0.780004 0.777071 0.774137 0.771176 0.768198 +0.76522 0.762199 0.759177 0.756141 0.753076 0.750011 0.746915 0.743807 +0.740696 0.737546 0.734396 0.731227 0.728035 0.724843 0.721617 0.718384 +0.715143; +#A 1000 0.711868 0.708594 0.705297 0.701983 0.698668 0.695317 0.691962 +0.688596 0.685202 0.681808 0.678388 0.674955 0.671522 0.66805 0.664579 +0.661093 0.657584 0.654074 0.650537 0.64699 0.64344 0.639856 0.636272 +0.632672 0.629052 0.625432 0.621782 0.618127 0.614464 0.610773 0.607082 +0.603372 0.599646 0.595921 0.592164 0.588404 0.584635 0.580842 0.577049 +0.573234 0.569408 0.565581 0.561723 0.557864 0.553993 0.550103 0.546214 +0.5423 0.538378 0.534453 0.530501 0.52655 0.522583 0.518601 0.514619 +0.510612 0.506601 0.502583 0.498543 0.494503 0.490446 0.486378 0.48231 +0.478215 0.474119 0.470015 0.465892 0.46177 0.457628 0.453479 0.449329 +0.445154 0.440979 0.436794 0.432594 0.428394 0.424175 0.419951 0.415723 +0.411475 0.407227 0.402966 0.398695 0.394424 0.390133 0.385839 0.381539 +0.377224 0.372908 0.368579 0.364242 0.359906 0.355548 0.351191 0.346826 +0.342449 0.338072 0.33368 0.329284 0.324885 0.32047 0.316055 0.311631 +0.307198 0.302765 0.298318 0.293867 0.289414 0.284947 0.28048 0.276004 +0.271521 0.267038 0.262541 0.258043 0.25354 0.249028 0.244515 0.239993 +0.235466 0.230939 0.2264 0.22186 0.217315 0.212763 0.20821 0.203649 +0.199085 0.194519 0.189944 0.185368 0.180788 0.176202 0.171616 0.167022 +0.162426 0.157829 0.153224 0.148619 0.14401 0.139397 0.134784 0.130163 +0.125542 0.120919 0.116292 0.111664 0.107032 0.102398 0.0977633 0.0931237 +0.088484 0.0838422 0.0791977 0.0745531 0.0699052 0.0652564 0.0606071 +0.0559548 0.0513025 0.0466487 0.0419936 0.0373385 0.0326815 0.0280243 +0.0233667 0.0187081 0.0140495 0.0093905 0.00473119 7.18733e-05 -0.00458744 +-0.00924675 -0.0139058 -0.0185644 -0.023223 -0.0278806 -0.0325379 -0.0371949 +-0.04185 -0.0465051 -0.0511589 -0.0558112 -0.0604635 -0.065113 -0.0697617 +-0.0744098 -0.0790544 -0.083699 -0.0883409 -0.0929805 -0.0976202 -0.102255 +-0.106889 -0.111521 -0.116149 -0.120777 -0.1254 -0.130021 -0.134641 +-0.139254 -0.143868 -0.148477 -0.153082 -0.157687 -0.162285 -0.16688 +-0.171475 -0.176061 -0.180646 -0.185227 -0.189803 -0.194378 -0.198944 +-0.203508 -0.20807 -0.212622 -0.217175 -0.22172 -0.22626 -0.230799 +-0.235327 -0.239853 -0.244376 -0.248888 -0.253401 -0.257904 -0.262402 +-0.2669 -0.271383 -0.275866 -0.280342 -0.284809 -0.289276 -0.29373 +-0.298181 -0.302629 -0.307062 -0.311495 -0.315919 -0.320334 -0.324749 +-0.329148 -0.333545 -0.337937 -0.342314 -0.346691 -0.351056 -0.355414 +-0.359771 -0.364109 -0.368445 -0.372775 -0.377091 -0.381406 -0.385706 +-0.39 -0.394292 -0.398563 -0.402835 -0.407096 -0.411344 -0.415592 -0.419821 +-0.424045 -0.428265 -0.432465 -0.436664 -0.440851 -0.445025 -0.4492 +-0.453351 -0.4575 -0.461642 -0.465765 -0.469888 -0.473993 -0.478089 +-0.482184 -0.486253 -0.490321 -0.494378 -0.498418 -0.502458 -0.506477 +-0.510488 -0.514496 -0.518478 -0.52246 -0.526428 -0.530379 -0.534331 +-0.538257 -0.542179 -0.546094 -0.549983 -0.553873 -0.557746 -0.561604 +-0.565462 -0.56929 -0.573116 -0.576932 -0.580725 -0.584518 -0.588289 +-0.592048 -0.595806 -0.599532 -0.603257 -0.606969 -0.61066 -0.61435 +-0.618014 -0.62167 -0.625321 -0.628941 -0.63256 -0.636162 -0.639746 +-0.64333 -0.646881 -0.650428 -0.653966 -0.657476 -0.660985 -0.664472 +-0.667944 -0.671415 -0.67485 -0.678283 -0.681704 -0.685098 -0.688492 +-0.691859 -0.695214 -0.698566 -0.701881 -0.705196 -0.708494 -0.711768 +-0.715042 -0.718285 -0.721518 -0.724745 -0.727937 -0.731129 -0.734299 +-0.73745 -0.7406 -0.743712 -0.74682 -0.749917 -0.752982 -0.756047 -0.759085 +-0.762107 -0.765129 -0.768107 -0.771085 -0.774047 -0.776981 -0.779915 +-0.782816 -0.785705 -0.788591 -0.791435 -0.794279 -0.797102 -0.799901 +-0.802699 -0.80546 -0.808213 -0.810957 -0.813663 -0.816369 -0.81905 +-0.821709 -0.824369 -0.826985 -0.829597 -0.832196 -0.834761 -0.837326 +-0.839859 -0.842376 -0.844892 -0.847361 -0.84983 -0.85228 -0.854699 +-0.857119 -0.859503 -0.861873 -0.864239 -0.86656 -0.868881 -0.871179 +-0.873451 -0.875722 -0.877952 -0.880173 -0.882384 -0.884555 -0.886726 +-0.888868 -0.890989 -0.893109 -0.895181 -0.89725 -0.899304 -0.901322 +-0.90334 -0.905323 -0.907289 -0.909253 -0.911167 -0.913081 -0.914974 +-0.916836 -0.918698 -0.920519 -0.922329 -0.924131 -0.925887 -0.927644 +-0.929374 -0.931077 -0.932781 -0.934438 -0.936088 -0.937725 -0.939322 +-0.940918 -0.942482 -0.944025 -0.945568 -0.947058 -0.948546 -0.950016 +-0.951451 -0.952885 -0.954281 -0.955661 -0.957037 -0.958362 -0.959687 +-0.960988 -0.962259 -0.963529 -0.964755 -0.96597 -0.967176 -0.968335 +-0.969495 -0.970625 -0.97173 -0.972834 -0.973888 -0.974937 -0.975971 +-0.976964 -0.977956 -0.978914 -0.979851 -0.980788 -0.981669 -0.98255 +-0.98341 -0.984235 -0.985059 -0.985843 -0.986611 -0.987374 -0.988086 +-0.988798 -0.989483 -0.990138 -0.990794 -0.991402 -0.992001 -0.992588 +-0.99313 -0.993672 -0.994182 -0.994667 -0.995152 -0.995584 -0.996012 +-0.996424 -0.996795 -0.997166 -0.997499 -0.997814 -0.998126 -0.998383 +-0.998641 -0.998875 -0.999075 -0.999275 -0.999432 -0.999574 -0.99971 +-0.999796 -0.999882 -0.999939 -0.999968 -0.999996 -0.999975 -0.999947 +-0.999905 -0.999819 -0.999734 -0.999614 -0.999471 -0.999328 -0.99913 +-0.99893 -0.998711 -0.998454 -0.998197 -0.9979 -0.997586 -0.997268 +-0.996897 -0.996526 -0.99613 -0.995702 -0.995274 -0.9948 -0.994315 +-0.993821 -0.993279 -0.992737 -0.992165 -0.991567 -0.990968 -0.990319 +-0.989663 -0.988993 -0.988281 -0.987569 -0.986822 -0.986054 -0.985285 +-0.984461 -0.983637 -0.982792 -0.981911 -0.98103 -0.980108 -0.979171 +-0.97823 -0.977237 -0.976244 -0.975225 -0.974176 -0.973128 -0.972033 +-0.970929 -0.969814 -0.968654 -0.967494 -0.966304 -0.965089 -0.963874 +-0.962608 -0.961338 -0.960052 -0.958726 -0.957401 -0.956041 -0.954661 +-0.95328 -0.951845 -0.950411 -0.948956 -0.947467 -0.945978 -0.944449 +-0.942906 -0.941357 -0.939761 -0.938164 -0.936541 -0.934891 -0.933241 +-0.931546 -0.929842 -0.928127 -0.92637 -0.924614 -0.922826 -0.921017 +-0.919207 -0.917348 -0.915486 -0.913608 -0.911693 -0.909779 -0.90783 +-0.905863 -0.903895 -0.901877 -0.899859 -0.897819 -0.89575 -0.893681 +-0.891572 -0.889451 -0.887323 -0.885152 -0.882981 -0.880784 -0.878562 +-0.876341 -0.874075 -0.871804 -0.86952 -0.867198 -0.864877 -0.862525 +-0.860154 -0.857784 -0.855365 -0.852945 -0.850508 -0.84804 -0.845571 +-0.843068 -0.840551 -0.838031 -0.835466 -0.832901 -0.830316 -0.827703 +-0.825091 -0.822441 -0.819781 -0.817113 -0.814407 -0.811701 -0.80897 +-0.806217 -0.803464 -0.80067 -0.797872 -0.795061 -0.792217 -0.789373 +-0.7865 -0.783611 -0.780721 -0.777788 -0.774854 -0.771904 -0.768926 +-0.765948 -0.762938 -0.759916 -0.75689 -0.753825 -0.75076 -0.747675 +-0.744567 -0.741459 -0.738316 -0.735166 -0.732007 -0.728815 -0.725623 +-0.722407 -0.719174 -0.71594 -0.712668 -0.709394 -0.706107 -0.702793 +-0.699478 -0.696136 -0.692781 -0.689425 -0.686031 -0.682637 -0.679227 +-0.675794 -0.672361 -0.668898 -0.665427 -0.66195 -0.658441 -0.654931 +-0.651403 -0.647857 -0.64431 -0.640732 -0.637148 -0.633556 -0.629936 +-0.626316 -0.622675 -0.61902 -0.615364 -0.611674 -0.607984 -0.604282 +-0.600556 -0.596831 -0.593082 -0.589322 -0.585561 -0.581768 -0.577975 +-0.574168 -0.570342 -0.566516 -0.562665 -0.558807 -0.554943 -0.551053 +-0.547163 -0.543257 -0.539336 -0.535415 -0.531466 -0.527514 -0.523555 +-0.519573 -0.515591 -0.511591 -0.50758 -0.503569 -0.499529 -0.495489 +-0.491439 -0.487371 -0.483303 -0.479215 -0.475119 -0.471021 -0.466899 +-0.462776 -0.458641 -0.454492 -0.450343 -0.446173 -0.441999 -0.437819 +-0.43362 -0.42942 -0.425206 -0.420982 -0.416758 -0.412512 -0.408264 +-0.404009 -0.399738 -0.395467 -0.391181 -0.386887 -0.382593 -0.378278 +-0.373962 -0.369638 -0.365301 -0.360964 -0.356612 -0.352255 -0.347895 +-0.343518 -0.33914 -0.334754 -0.330357 -0.325961 -0.321548 -0.317133 +-0.312714 -0.308281 -0.303848 -0.299404 -0.294954 -0.290504 -0.286037 +-0.28157 -0.277098 -0.272615 -0.268133 -0.263639 -0.259141 -0.254642 +-0.25013 -0.245617 -0.241098 -0.236572 -0.232045 -0.227508 -0.222968 +-0.218427 -0.213874 -0.209322 -0.204763 -0.200199 -0.195635 -0.191061 +-0.186485 -0.181908 -0.177322 -0.172736 -0.168144 -0.163548 -0.158953 +-0.154348 -0.149744 -0.145136 -0.140523 -0.13591 -0.131291 -0.126671 +-0.122049 -0.117422 -0.112794 -0.108163 -0.103529 -0.0988951 -0.0942564 +-0.0896168 -0.0849762 -0.0803316 -0.075687 -0.0710401 -0.0663914 -0.0617426 +-0.0570906 -0.0524383 -0.0477852 -0.0431301 -0.038475 -0.0338186 -0.0291614 +-0.0245042 -0.0198456 -0.0151869 -0.0105281 -0.00586876 -0.00120944 +0.00344987 0.00810918 0.0127684 0.017427 0.0220856 0.0267436 0.0314008 +0.036058 0.0407135 0.0453686 0.0500231 0.0546754 0.0593277 0.063978 +0.0686267 0.0732755 0.0779204 0.082565 0.0872081 0.0918477 0.0964874 +0.101123 0.105757 0.110391 0.115019 0.119647 0.124272 0.128893 0.133513 +0.138128 0.142741 0.147353 0.151958 0.156563 0.161163 0.165758 0.170354 +0.174941 0.179527 0.18411 0.188686 0.193261 0.19783 0.202394 0.206958 +0.211511 0.216063 0.220611 0.225151 0.229691 0.234222 0.238748 0.243274 +0.247787 0.252299 0.256806 0.261304 0.265802 0.270288 0.274771 0.279251 +0.283718 0.288185 0.292644 0.297094 0.301544 0.305979 0.310412 0.314841 +0.319256 0.323671 0.328075 0.332471 0.336868 0.341245 0.345623 0.349993 +0.35435 0.358707 0.36305 0.367387 0.371722 0.376037 0.380353 0.384658 +0.388952 0.393246 0.397521 0.401792 0.406059 0.410307 0.414555 0.418789 +0.423013 0.427238 0.431439 0.435639 0.439831 0.444006 0.448181 0.452339 +0.456487 0.460636 0.464758 0.468881 0.472993 0.477089 0.481184 0.485259 +0.489327 0.493392 0.497432 0.501472 0.505498 0.509509 0.51352 0.517506 +0.521488 0.525463 0.529415 0.533366 0.5373 0.541221 0.545142 0.549034 +0.552924 0.556804 0.560662 0.56452 0.568356 0.572182 0.576006 0.579799 +0.583592 0.587371 0.59113 0.594889 0.598622 0.602348 0.606068 0.609758 +0.613449 0.617122 0.620777 0.624433 0.628057 0.631677 0.635288 0.638871 +0.642455 0.646016 0.649562 0.653109 0.656619 0.660128; +#A 2000 0.663625 0.667096 0.670568 0.674012 0.677445 0.680875 0.684269 +0.687663 0.69104 0.694395 0.697749 0.701072 0.704387 0.707694 0.710969 +0.714243 0.717495 0.720729 0.723962 0.727158 0.73035 0.73353 0.736681 +0.739831 0.742954 0.746061 0.749169 0.752234 0.755299 0.758347 0.761369 +0.764391 0.76738 0.770358 0.773331 0.776265 0.779198 0.782111 0.785 +0.787889 0.79074 0.793584 0.796419 0.799217 0.802016 0.804788 0.807541 +0.810293 0.813002 0.815709 0.8184 0.82106 0.823719 0.826347 0.82896 +0.83157 0.834135 0.8367 0.839245 0.841762 0.844279 0.846758 0.849227 +0.851689 0.854109 0.856529 0.858924 0.861295 0.863665 0.865993 0.868315 +0.870624 0.872896 0.875168 0.877409 0.879631 0.881852 0.884025 0.886196 +0.888351 0.890471 0.892591 0.894676 0.896745 0.898811 0.900829 0.902847 +0.904843 0.906809 0.908775 0.9107 0.912614 0.91452 0.916382 0.918244 +0.920078 0.921887 0.923697 0.925459 0.927215 0.928958 0.930661 0.932365 +0.934035 0.935685 0.937335 0.938932 0.940528 0.942105 0.943648 0.945191 +0.946694 0.948183 0.949666 0.951101 0.952535 0.953944 0.955324 0.956704 +0.958039 0.959364 0.960678 0.961948 0.963219 0.964458 0.965673 0.966888 +0.968052 0.969212 0.970356 0.97146 0.972564 0.973632 0.974681 0.975728 +0.976721 0.977714 0.978685 0.979622 0.980559 0.981454 0.982334 0.983209 +0.984033 0.984858 0.985655 0.986423 0.987192 0.987912 0.988624 0.989323 +0.989978 0.990634 0.991256 0.991854 0.992453 0.992998 0.99354 0.994063 +0.994548 0.995034 0.99548 0.995908 0.996333 0.996704 0.997075 0.997423 +0.997737 0.998051 0.998321 0.998578 0.998826 0.999026 0.999226 0.999397 +0.99954 0.999682 0.999775 0.999861 0.999932 0.99996 0.999989 0.999982 +0.999954 0.999925 0.99984 0.999755 0.999649 0.999506 0.999363 0.999179 +0.998979 0.998775 0.998518 0.99826 0.997978 0.997663 0.997349 0.996989 +0.996617 0.996236 0.995808 0.995379 0.99492 0.994435 0.99395 0.993413 +0.992871 0.992313 0.991714 0.991116 0.990481 0.989825 0.989169 0.988457 +0.987745 0.987012 0.986244 0.985475 0.984665 0.98384 0.98301 0.982129 +0.981248 0.98034 0.979403 0.978466 0.977482 0.976489 0.975484 0.974436 +0.973387 0.972306 0.971202 0.970097 0.968941 0.967781 0.966604 0.965389 +0.964174 0.962922 0.961652 0.960379 0.959054 0.957729 0.956382 0.955002 +0.953622 0.9522 0.950765 0.949324 0.947835 0.946346 0.94483 0.943288 +0.941745 0.940155 0.938559 0.936949 0.935299 0.933649 0.931967 0.930263 +0.92856 0.926805 0.925048 0.923274 0.921464 0.919655 0.917809 0.915947 +0.914081 0.912167 0.910253 0.908316 0.90635 0.904383 0.902376 0.900358 +0.898331 0.896262 0.894193 0.892096 0.889976 0.887855 0.885689 0.883518 +0.881334 0.879112 0.87689 0.874637 0.872366 0.870094 0.867773 0.865451 +0.863112 0.860741 0.85837 0.855964 0.853544 0.851119 0.848651 0.846182 +0.843691 0.841174 0.838657 0.836101 0.833536 0.830962 0.82835 0.825737 +0.823099 0.820439 0.81778 0.815077 0.812371 0.809651 0.806898 0.804146 +0.801363 0.798564 0.795765 0.792921 0.790077 0.787215 0.784326 0.781437 +0.778514 0.77558 0.772641 0.769663 0.766685 0.763686 0.760664 0.757643 +0.754584 0.751519 0.748444 0.745336 0.742229 0.739096 0.735946 0.732796 +0.729605 0.726413 0.723208 0.719974 0.716741 0.713479 0.710205 0.706928 +0.703614 0.700299 0.696967 0.693612 0.690258 0.686872 0.683478 0.680078 +0.676644 0.673211 0.669758 0.666287 0.662815 0.65931 0.655801 0.652282 +0.648735 0.645189 0.641619 0.638036 0.634452 0.630833 0.627213 0.623581 +0.619925 0.61627 0.612589 0.608898 0.605205 0.601479 0.597754 0.594013 +0.590254 0.586495 0.582708 0.578915 0.575116 0.57129 0.567464 0.563621 +0.559763 0.555905 0.552017 0.548127 0.544229 0.540308 0.536387 0.532446 +0.528494 0.524542 0.52056 0.516578 0.512586 0.508574 0.504563 0.500531 +0.496491 0.492448 0.48838 0.484312 0.48023 0.476135 0.472039 0.467921 +0.463798 0.45967 0.455521 0.451372 0.447208 0.443033 0.438859 0.434661 +0.430461 0.426253 0.422029 0.417805 0.413565 0.409317 0.405068 0.400797 +0.396526 0.392245 0.387952 0.383658 0.379347 0.375032 0.370713 0.366376 +0.362039 0.357692 0.353335 0.348977 0.344603 0.340225 0.335843 0.331447 +0.32705 0.322643 0.318227 0.313812 0.30938 0.304946 0.300507 0.296057 +0.291607 0.287145 0.282678 0.27821 0.273727 0.269244 0.264754 0.260256 +0.255758 0.251248 0.246735 0.24222 0.237694 0.233167 0.228633 0.224094 +0.219554 0.215003 0.21045 0.205895 0.20133 0.196766 0.192195 0.18762 +0.183044 0.178458 0.173873 0.169283 0.164688 0.160092 0.15549 0.150885 +0.14628 0.141666 0.137053 0.132437 0.127816 0.123195 0.118569 0.113941 +0.109312 0.104678 0.100044 0.0954065 0.0907668 0.0861271 0.0814829 +0.0768383 0.0721925 0.0675437 0.0628949 0.0582438 0.0535915 0.0489391 +0.044284 0.0396289 0.034973 0.0303157 0.0256585 0.0210003 0.0163417 +0.011683 0.00702367 0.00236436 -0.00229496 -0.00695427 -0.0116136 -0.0162723 +-0.0209309 -0.0255892 -0.0302464 -0.0349036 -0.0395596 -0.0442147 -0.0488698 +-0.0535222 -0.0581745 -0.0628256 -0.0674744 -0.0721232 -0.0767691 -0.0814137 +-0.0860581 -0.0906977 -0.0953374 -0.0999747 -0.104609 -0.109243 -0.113872 +-0.1185 -0.123126 -0.127747 -0.132368 -0.136985 -0.141598 -0.146211 +-0.150816 -0.155421 -0.160024 -0.164619 -0.169215 -0.173804 -0.17839 +-0.182976 -0.187551 -0.192127 -0.196698 -0.201263 -0.205827 -0.210382 +-0.214935 -0.219486 -0.224026 -0.228566 -0.2331 -0.237626 -0.242153 +-0.246668 -0.251181 -0.255691 -0.260189 -0.264687 -0.269177 -0.27366 +-0.278143 -0.282611 -0.287078 -0.29154 -0.295991 -0.300441 -0.30488 +-0.309314 -0.313746 -0.318162 -0.322577 -0.326985 -0.331381 -0.335778 +-0.34016 -0.344537 -0.348913 -0.35327 -0.357627 -0.361975 -0.366312 +-0.370648 -0.374967 -0.379283 -0.383594 -0.387888 -0.392181 -0.396462 +-0.400733 -0.405004 -0.409254 -0.413502 -0.417742 -0.421966 -0.426191 +-0.430398 -0.434598 -0.438797 -0.442971 -0.447146 -0.45131 -0.455459 +-0.459608 -0.463737 -0.467859 -0.471978 -0.476074 -0.480169 -0.484251 +-0.488319 -0.492387 -0.496431 -0.500471 -0.504504 -0.508515 -0.512526 +-0.516519 -0.520501 -0.524482 -0.528435 -0.532387 -0.536328 -0.540249 +-0.54417 -0.54807 -0.551959 -0.555847 -0.559705 -0.563564 -0.567408 +-0.571233 -0.575059 -0.578859 -0.582652 -0.586439 -0.590198 -0.593958 +-0.597699 -0.601424 -0.60515 -0.608844 -0.612534 -0.616216 -0.619871 +-0.623527 -0.62716 -0.630779 -0.634399 -0.637983 -0.641566 -0.645136 +-0.648683 -0.65223 -0.655749 -0.659259 -0.662764 -0.666236 -0.669707 +-0.673161 -0.676594 -0.680027 -0.683428 -0.686822 -0.690208 -0.693563 +-0.696918 -0.70025 -0.703565 -0.70688 -0.710157 -0.713431 -0.716694 +-0.719927 -0.723161 -0.726367 -0.729559 -0.73275 -0.7359 -0.73905 -0.742183 +-0.745291 -0.748399 -0.751474 -0.754539 -0.757598 -0.76062 -0.763642 +-0.766642 -0.76962 -0.772598 -0.775538 -0.778471 -0.781395 -0.784284 +-0.787173 -0.790035 -0.792879 -0.795723 -0.798524 -0.801322 -0.804106 +-0.806858 -0.809611 -0.812331 -0.815038 -0.817741 -0.820401 -0.82306 +-0.8257 -0.828312 -0.830924 -0.833499 -0.836064 -0.838621 -0.841138 +-0.843655 -0.846146 -0.848615 -0.851084 -0.853509 -0.855929 -0.858336 +-0.860707 -0.863078 -0.865418 -0.867739 -0.870061 -0.872333 -0.874605 +-0.876859 -0.87908 -0.881302 -0.883487 -0.885658 -0.887825 -0.889945 +-0.892066 -0.894163 -0.896232 -0.898302 -0.900329 -0.902347 -0.904355 +-0.906321 -0.908288 -0.910225 -0.91214 -0.914054 -0.91592 -0.917782 +-0.919629 -0.921439 -0.923248 -0.925023 -0.92678 -0.928536 -0.930239 +-0.931943 -0.933626 -0.935276 -0.936926 -0.938536 -0.940133 -0.941723 +-0.943266 -0.944808 -0.946325 -0.947814 -0.949302 -0.950745 -0.95218 +-0.953602 -0.954982 -0.956362 -0.95771 -0.959035 -0.96036 -0.961634 +-0.962904 -0.964157 -0.965372 -0.966587 -0.967765 -0.968925 -0.970082 +-0.971186 -0.972291 -0.973372 -0.974421 -0.97547 -0.976475 -0.977468 +-0.978453 -0.97939 -0.980327 -0.981235 -0.982116 -0.982997 -0.983829 +-0.984654 -0.985465 -0.986233 -0.987001 -0.987735 -0.988447 -0.989159 +-0.989816 -0.990471 -0.991107 -0.991706 -0.992305 -0.992863 -0.993405 +-0.993943 -0.994428 -0.994913 -0.995373 -0.995802 -0.99623 -0.996612 +-0.996983 -0.997345 -0.997659 -0.997973 -0.998257 -0.998514 -0.998771 +-0.998977 -0.999177 -0.999361 -0.999504 -0.999647 -0.999754 -0.999839 +-0.999925 -0.999953 -0.999982 -0.999989 -0.999961 -0.999932 -0.999862 +-0.999776 -0.999684 -0.999541 -0.999398 -0.999229 -0.999028 -0.998828 +-0.998581 -0.998323 -0.998055 -0.997741 -0.997426 -0.99708 -0.996708 +-0.996337 -0.995913 -0.995484 -0.995039 -0.994554 -0.994069 -0.993546 +-0.993004 -0.99246 -0.991861 -0.991262 -0.990641 -0.989986 -0.98933 +-0.988632 -0.98792 -0.9872 -0.986432 -0.985664 -0.984867 -0.984042 +-0.983218 -0.982344 -0.981463 -0.98057 -0.979632 -0.978695 -0.977725 +-0.976732 -0.975739 -0.974692 -0.973644 -0.972577 -0.971472 -0.970368 +-0.969225 -0.968065 -0.966902 -0.965687 -0.964472 -0.963233 -0.961963 +-0.960692 -0.959378 -0.958053 -0.956719 -0.95534 -0.95396 -0.952551 +-0.951117 -0.949682 -0.948199 -0.946711 -0.945208 -0.943665 -0.942122 +-0.940546 -0.93895 -0.937353 -0.935703 -0.934053 -0.932384 -0.93068 +-0.928977 -0.927235 -0.925478 -0.923717 -0.921907 -0.920098 -0.918264 +-0.916402 -0.91454 -0.912635 -0.910721 -0.908797 -0.906831 -0.904864 +-0.90287 -0.900851 -0.898834 -0.896768 -0.894699 -0.892615 -0.890494 +-0.888374 -0.886221 -0.884049 -0.881877 -0.879656 -0.877434 -0.875193 +-0.872921 -0.87065 -0.86834 -0.866019 -0.863692 -0.861321 -0.85895 +-0.856556 -0.854136 -0.851716 -0.849254 -0.846786 -0.844307 -0.84179 +-0.839273 -0.836728 -0.834163 -0.831598 -0.828989 -0.826376 -0.823749 +-0.82109 -0.81843 -0.815739 -0.813032 -0.810324 -0.807571 -0.804819 +-0.802047 -0.799249 -0.79645 -0.793616 -0.790772 -0.787921 -0.785032 +; +#A 3000 -0.782143 -0.779231 -0.776297 -0.773364 -0.770391 -0.767413 +-0.764424 -0.761403 -0.758381 -0.755333 -0.752268 -0.749203 -0.746096 +-0.742988 -0.739866 -0.736716 -0.733565 -0.730385 -0.727193 -0.723998 +-0.720765 -0.717531 -0.714279 -0.711005 -0.707731 -0.704423 -0.701109 +-0.697787 -0.694432 -0.691077 -0.687701 -0.684307 -0.680913 -0.677483 +-0.67405 -0.670606 -0.667135 -0.663663 -0.660168 -0.656658 -0.653148 +-0.649602 -0.646055 -0.642495 -0.638911 -0.635328 -0.631717 -0.628097 +-0.624474 -0.620818 -0.617163 -0.61349 -0.6098 -0.606109 -0.602389 +-0.598664 -0.594931 -0.591172 -0.587413 -0.583634 -0.579841 -0.576048 +-0.572224 -0.568399 -0.564563 -0.560705 -0.556847 -0.552967 -0.549077 +-0.545186 -0.541265 -0.537344 -0.53341 -0.529459 -0.525507 -0.521532 +-0.517551 -0.513565 -0.509554 -0.505543 -0.501517 -0.497477 -0.493437 +-0.489373 -0.485305 -0.48123 -0.477135 -0.473039 -0.468927 -0.464805 +-0.460682 -0.456534 -0.452385 -0.448227 -0.444053 -0.439878 -0.435686 +-0.431486 -0.427285 -0.423061 -0.418836 -0.414602 -0.410354 -0.406106 +-0.40184 -0.397568 -0.393293 -0.389 -0.384706 -0.380401 -0.376085 -0.37177 +-0.367435 -0.363098 -0.358756 -0.354399 -0.350041 -0.345671 -0.341294 +-0.336917 -0.33252 -0.328124 -0.32372 -0.319305 -0.31489 -0.310462 +-0.306029 -0.301594 -0.297144 -0.292693 -0.288235 -0.283768 -0.279301 +-0.274821 -0.270338 -0.265852 -0.261354 -0.256856 -0.25235 -0.247837 +-0.243324 -0.238799 -0.234272 -0.229742 -0.225202 -0.220662 -0.216114 +-0.211562 -0.207009 -0.202445 -0.197881 -0.193312 -0.188737 -0.184161 +-0.179578 -0.174992 -0.170405 -0.16581 -0.161214 -0.156614 -0.152009 +-0.147405 -0.142793 -0.13818 -0.133565 -0.128944 -0.124323 -0.119699 +-0.115071 -0.110443 -0.105809 -0.101175 -0.0965393 -0.0918996 -0.0872599 +-0.0826169 -0.0779723 -0.0733274 -0.0686787 -0.0640299 -0.0593797 -0.0547273 +-0.0500751 -0.0454206 -0.0407655 -0.03611 -0.0314528 -0.0267956 -0.0221377 +-0.0174791 -0.0128205 -0.00816124 -0.00350193 0.00115738 0.0058167 +0.010476 0.0151349 0.0197935 0.0244521 0.0291094 0.0337666 0.0384231 +0.0430782 0.0477332 0.0523863 0.0570386 0.0616907 0.0663394 0.0709882 +0.0756352 0.0802797 0.0849243 0.0895649 0.0942046 0.0988433 0.103477 +0.108111 0.112742 0.11737 0.121998 0.126619 0.13124 0.135858 0.140472 +0.145085 0.149692 0.154297 0.158902 0.163497 0.168093 0.172685 0.177271 +0.181856 0.186434 0.19101 0.195584 0.200148 0.204712 0.209271 0.213823 +0.218376 0.222917 0.227457 0.231994 0.236521 0.241048 0.245566 0.250079 +0.254592 0.259091 0.263589 0.268082 0.272565 0.277048 0.281521 0.285988 +0.290454 0.294904 0.299355 0.303798 0.308231 0.312664 0.317084 0.321499 +0.325911 0.330308 0.334705 0.339091 0.343469 0.347846 0.352206 0.356563 +0.360916 0.365253 0.36959 0.373914 0.378229 0.382545 0.386839 0.391133 +0.395419 0.39969 0.403961 0.408216 0.412464 0.416711 0.420935 0.425159 +0.429373 0.433573 0.437772 0.441952 0.446127 0.450297 0.454446 0.458595 +0.46273 0.466853 0.470975 0.475074 0.479169 0.483258 0.487326 0.491394 +0.495444 0.499484 0.503524 0.507535 0.511546 0.515547 0.519529 0.52351 +0.52747 0.531422 0.535371 0.539292 0.543213 0.54712 0.55101 0.5549 +0.558763 0.562622 0.566474 0.570299 0.574125 0.577933 0.581726 0.585518 +0.58928 0.59304 0.596789 0.600515 0.60424 0.607943 0.611633 0.615323 +0.618979 0.622634 0.626276 0.629896 0.633515 0.637108 0.640691 0.64427 +0.647817 0.651364 0.654892 0.658402 0.661911 0.665388 0.66886 0.672323 +0.675756 0.679189 0.682599 0.685993 0.689387 0.692744 0.696099 0.699441 +0.702756 0.70607 0.709358 0.712632 0.715904 0.719138 0.722371 0.725587 +0.728779 0.731971 0.735131 0.738281 0.741425 0.744532 0.74764 0.750726 +0.753791 0.756856 0.759882 0.762904 0.765915 0.768893 0.771871 0.774821 +0.777755 0.780689 0.783579 0.786468 0.789341 0.792185 0.795029 0.797841 +0.800639 0.803434 0.806186 0.808939 0.811671 0.814377 0.817083 0.819751 +0.822411 0.825062 0.827674 0.830287 0.832873 0.835438 0.838002 0.840524 +0.84304 0.845544 0.848012 0.850481 0.852918 0.855338 0.857757 0.860128 +0.862499 0.864851 0.867172 0.869494 0.871778 0.87405 0.876316 0.878538 +0.880759 0.882957 0.885128 0.887299 0.889428 0.891548 0.893658 0.895727 +0.897796 0.899836 0.901854 0.903872 0.905841 0.907808 0.909758 0.911672 +0.913586 0.915466 0.917327 0.919187 0.920997 0.922806 0.924594 0.926351 +0.928107 0.929823 0.931527 0.933223 0.934873 0.936523 0.938146 0.939743 +0.941339 0.942889 0.944432 0.945962 0.94745 0.948939 0.950395 0.951829 +0.953264 0.954645 0.956025 0.957387 0.958712 0.960037 0.961323 0.962594 +0.96386 0.965075 0.96629 0.967482 0.968641 0.969801 0.970917 0.972021 +0.973116 0.974165 0.975214 0.976233 0.977225 0.978218 0.979161 0.980098 +0.98102 0.981901 0.982782 0.983627 0.984452 0.985277 0.986045 0.986814 +0.987562 0.988273 0.988985 0.989656 0.990311 0.990961 0.99156 0.992159 +0.992731 0.993273 0.993815 0.99431 0.994795 0.995269 0.995697 0.996125 +0.996522 0.996893 0.997264 0.997582 0.997897 0.998194 0.998451 0.998708 +0.998928 0.999128 0.999326 0.999469 0.999612 0.999733 0.999818 0.999904 +0.999946 0.999975 0.999996 0.999968 0.999939 0.999883 0.999797 0.999711 +0.999577 0.999434 0.999278 0.999078 0.998878 0.998644 0.998387 0.99813 +0.997818 0.997504 0.997171 0.9968 0.996429 0.996018 0.99559 0.995159 +0.994674 0.994189 0.99368 0.993138 0.992596 0.992009 0.99141 0.990803 +0.990148 0.989492 0.988807 0.988096 0.987384 0.986622 0.985853 0.985071 +0.984246 0.983421 0.982562 0.981681 0.9808 0.979864 0.978927 0.97797 +0.976977 0.975985 0.974952 0.973903 0.97285 0.971745 0.970641 0.969512 +0.968352 0.967192 0.965987 0.964772 0.963547 0.962277 0.961006 0.959706 +0.958381 0.957056 0.955681 0.954301 0.952906 0.951471 0.950037 0.948567 +0.947079 0.945589 0.944047 0.942504 0.940941 0.939344 0.937748 0.936111 +0.934461 0.932805 0.931101 0.929398 0.927669 0.925912 0.924156 0.922355 +0.920545 0.918725 0.916863 0.915001 0.913109 0.911195 0.90928 0.907317 +0.905351 0.903369 0.901351 0.899333 0.89728 0.895211 0.893139 0.891019 +0.888899 0.886758 0.884586 0.882415 0.880205 0.877984 0.875755 0.873483 +0.871212 0.868915 0.866593 0.864272 0.861908 0.859537 0.857154 0.854734 +0.852314 0.849865 0.847397 0.844928 0.842413 0.839896 0.837363 0.834798 +0.832233 0.829635 0.827023 0.824407 0.821748 0.819088 0.816408 0.813702 +0.810996 0.808253 0.8055 0.80274 0.799941 0.797143 0.79432 0.791476 +0.788632 0.785747 0.782858 0.779957 0.777024 0.77409 0.771128 0.76815 +0.765172 0.762151 0.759129 0.756092 0.753027 0.749962 0.746866 0.743758 +0.740646 0.737496 0.734346 0.731176 0.727984 0.724792 0.721565 0.718332 +0.71509 0.711816 0.708542 0.705245 0.70193 0.698615 0.695263 0.691908 +0.688542 0.685148 0.681754 0.678334 0.674901 0.671466 0.667995 0.664523 +0.661037 0.657528 0.654018 0.65048 0.646934 0.643382 0.639799 0.636215 +0.632614 0.628994 0.625374 0.621724 0.618068 0.614405 0.610714 0.607023 +0.603312 0.599587 0.595862 0.592104 0.588344 0.584574 0.580781 0.576988 +0.573173 0.569347 0.565519 0.561661 0.557803 0.553931 0.550041 0.546151 +0.542237 0.538316 0.53439 0.530438 0.526487 0.522519 0.518537 0.514556 +0.510548 0.506537 0.502518 0.498479 0.494439 0.490381 0.486313 0.482245 +0.47815 0.474054 0.469949 0.465826 0.461704 0.457562 0.453413 0.449262 +0.445087 0.440913 0.436727 0.432527 0.428327 0.424108 0.419884 0.415655 +0.411407 0.407159 0.402898 0.398627 0.394356 0.390064 0.38577 0.381471 +0.377155 0.372839 0.36851 0.364173 0.359836 0.355479 0.351121 0.346756 +0.342379 0.338002 0.33361 0.329214 0.324815 0.3204 0.315984 0.311561 +0.307128 0.302694 0.298247 0.293796 0.289343 0.284876 0.280409 0.275932 +0.271449 0.266967 0.262469 0.257971 0.253468 0.248956 0.244443 0.239921 +0.235394 0.230867 0.226327 0.221787 0.217242 0.21269 0.208138 0.203576 +0.199012 0.194446 0.189871 0.185295 0.180715 0.176129 0.171543 0.166949 +0.162353 0.157755 0.153151 0.148546 0.143936 0.139323 0.13471 0.130089 +0.125469 0.120846 0.116218 0.11159 0.106958 0.102324 0.0976893 0.0930496 +0.08841 0.0837681 0.0791235 0.074479 0.069831 0.0651822 0.0605328 0.0558805 +0.0512282 0.0465744 0.0419193 0.0372642 0.0326072 0.02795 0.0232924 +0.0186338 0.0139752 0.00931615 0.00465684 -2.47165e-06 -0.00466178 +-0.0093211 -0.0139802 -0.0186388 -0.0232974 -0.027955 -0.0326122 -0.0372692 +-0.0419243 -0.0465794 -0.0512332 -0.0558855 -0.0605378 -0.0651871 -0.0698359 +-0.0744839 -0.0791285 -0.0837731 -0.0884149 -0.0930546 -0.0976942 -0.102329 +-0.106963 -0.111595 -0.116223 -0.120851 -0.125474 -0.130094 -0.134715 +-0.139328 -0.143941 -0.148551 -0.153156 -0.15776 -0.162358 -0.166954 +-0.171548 -0.176134 -0.18072 -0.1853 -0.189876 -0.194451 -0.199017 +-0.203581 -0.208143 -0.212695 -0.217247 -0.221792 -0.226332 -0.230872 +-0.235399 -0.239926 -0.244448 -0.24896 -0.253473 -0.257976 -0.262474 +-0.266971 -0.271454 -0.275937 -0.280413 -0.28488 -0.289347 -0.293801 +-0.298252 -0.302699 -0.307132 -0.311565 -0.315989 -0.320404 -0.32482 +-0.329218 -0.333615 -0.338006 -0.342384 -0.346761 -0.351126 -0.355483 +-0.359841 -0.364178 -0.368515 -0.372844 -0.37716 -0.381475 -0.385775 +-0.390069 -0.39436 -0.398632 -0.402903 -0.407164 -0.411411 -0.415659 +-0.419888 -0.424112 -0.428332 -0.432532 -0.436731 -0.440917 -0.445092 +-0.449267 -0.453418 -0.457567 -0.461708 -0.465831 -0.469953 -0.474058 +-0.478154 -0.482249 -0.486317 -0.490386 -0.494443 -0.498483 -0.502523 +-0.506541 -0.510552 -0.51456 -0.518542 -0.522523 -0.526491 -0.530442 +-0.534394 -0.53832 -0.542241 -0.546156 -0.550046 -0.553935 -0.557807 +-0.561665 -0.565523 -0.569351 -0.573177 -0.576992; +#A 4000 -0.580785 -0.584578 -0.588349 -0.592108 -0.595866 -0.599591 +-0.603317 -0.607028 -0.610718 -0.614409 -0.618073 -0.621728 -0.625379 +-0.628998 -0.632618 -0.63622 -0.639803 -0.643387 -0.646938 -0.650485 +-0.654022 -0.657532 -0.661041 -0.664528 -0.667999 -0.671471 -0.674905 +-0.678338 -0.681758 -0.685152 -0.688546 -0.691912 -0.695267 -0.698619 +-0.701934 -0.705249 -0.708546 -0.71182 -0.715095 -0.718336 -0.72157 +-0.724796 -0.727988 -0.73118 -0.73435 -0.7375 -0.74065 -0.743762 -0.74687 +-0.749966 -0.753031 -0.756096 -0.759133 -0.762155 -0.765177 -0.768155 +-0.771133 -0.774094 -0.777028 -0.779962 -0.782862 -0.785752 -0.788636 +-0.79148 -0.794324 -0.797147 -0.799945 -0.802744 -0.805504 -0.808257 +-0.811 -0.813706 -0.816412 -0.819092 -0.821752 -0.824411 -0.827027 +-0.829639 -0.832237 -0.834802 -0.837367 -0.8399 -0.842417 -0.844932 +-0.8474 -0.849869 -0.852318 -0.854738 -0.857158 -0.85954 -0.861911 +-0.864276 -0.866597 -0.868918 -0.871215 -0.873487 -0.875759 -0.877987 +-0.880209 -0.882419 -0.88459 -0.886761 -0.888902 -0.891022 -0.893143 +-0.895214 -0.897283 -0.899336 -0.901354 -0.903372 -0.905354 -0.90732 +-0.909283 -0.911198 -0.913112 -0.915004 -0.916866 -0.918728 -0.920548 +-0.922358 -0.924159 -0.925915 -0.927672 -0.929401 -0.931104 -0.932808 +-0.934464 -0.936114 -0.93775 -0.939347 -0.940944 -0.942507 -0.944049 +-0.945592 -0.947081 -0.94857 -0.950039 -0.951474 -0.952908 -0.954303 +-0.955683 -0.957058 -0.958383 -0.959708 -0.961009 -0.962279 -0.963549 +-0.964774 -0.965989 -0.967194 -0.968354 -0.969514 -0.970643 -0.971747 +-0.972852 -0.973905 -0.974954 -0.975986 -0.976979 -0.977972 -0.978929 +-0.979866 -0.980802 -0.981683 -0.982564 -0.983423 -0.984248 -0.985072 +-0.985855 -0.986623 -0.987385 -0.988097 -0.988809 -0.989494 -0.990149 +-0.990804 -0.991412 -0.99201 -0.992597 -0.993139 -0.993681 -0.99419 +-0.994675 -0.99516 -0.995591 -0.996019 -0.99643 -0.996801 -0.997172 +-0.997504 -0.997819 -0.99813 -0.998387 -0.998645 -0.998878 -0.999078 +-0.999278 -0.999434 -0.999577 -0.999711 -0.999797 -0.999883 -0.999939 +-0.999968 -0.999996 -0.999975 -0.999946 -0.999904 -0.999818 -0.999732 +-0.999611 -0.999469 -0.999326 -0.999127 -0.998927 -0.998707 -0.99845 +-0.998193 -0.997895 -0.997581 -0.997262 -0.996891 -0.99652 -0.996123 +-0.995695 -0.995267 -0.994793 -0.994307 -0.993812 -0.99327 -0.992728 +-0.992156 -0.991557 -0.990958 -0.990308 -0.989653 -0.988982 -0.98827 +-0.987558 -0.98681 -0.986042 -0.985273 -0.984448 -0.983623 -0.982778 +-0.981897 -0.981016 -0.980094 -0.979156 -0.978214 -0.977221 -0.976228 +-0.975209 -0.97416 -0.973111 -0.972016 -0.970911 -0.969796 -0.968636 +-0.967476 -0.966285 -0.965069 -0.963854 -0.962588 -0.961317 -0.96003 +-0.958705 -0.95738 -0.956018 -0.954639 -0.953257 -0.951822 -0.950388 +-0.948932 -0.947443 -0.945955 -0.944424 -0.942882 -0.941332 -0.939735 +-0.938138 -0.936515 -0.934865 -0.933215 -0.931518 -0.929815 -0.928099 +-0.926342 -0.924586 -0.922798 -0.920988 -0.919179 -0.917318 -0.915456 +-0.913577 -0.911663 -0.909749 -0.907798 -0.905832 -0.903862 -0.901844 +-0.899826 -0.897786 -0.895717 -0.893648 -0.891538 -0.889417 -0.887289 +-0.885118 -0.882946 -0.880749 -0.878527 -0.876305 -0.874039 -0.871767 +-0.869483 -0.867161 -0.86484 -0.862487 -0.860117 -0.857746 -0.855326 +-0.852906 -0.850469 -0.848 -0.845532 -0.843028 -0.840511 -0.83799 -0.835425 +-0.83286 -0.830274 -0.827662 -0.825049 -0.822398 -0.819739 -0.81707 +-0.814364 -0.811658 -0.808926 -0.806173 -0.80342 -0.800626 -0.797827 +-0.795015 -0.792171 -0.789327 -0.786454 -0.783565 -0.780675 -0.777741 +-0.774807 -0.771856 -0.768878 -0.7659 -0.762889 -0.759868 -0.756841 +-0.753776 -0.750711 -0.747625 -0.744517 -0.741409 -0.738266 -0.735115 +-0.731956 -0.728764 -0.725572 -0.722356 -0.719122 -0.715889 -0.712616 +-0.709342 -0.706054 -0.70274 -0.699425 -0.696083 -0.692728 -0.689371 +-0.685977 -0.682583 -0.679172 -0.675739 -0.672306 -0.668843 -0.665371 +-0.661894 -0.658385 -0.654875 -0.651347 -0.6478 -0.644253 -0.640674 +-0.637091 -0.633498 -0.629878 -0.626258 -0.622617 -0.618961 -0.615306 +-0.611616 -0.607925 -0.604222 -0.600497 -0.596771 -0.593022 -0.589262 +-0.5855 -0.581707 -0.577914 -0.574107 -0.570281 -0.566455 -0.562603 +-0.558745 -0.554881 -0.550991 -0.547101 -0.543194 -0.539273 -0.535352 +-0.531403 -0.527451 -0.523491 -0.51951 -0.515528 -0.511527 -0.507516 +-0.503505 -0.499465 -0.495425 -0.491374 -0.487306 -0.483238 -0.47915 +-0.475054 -0.470956 -0.466833 -0.46271 -0.458575 -0.454426 -0.450277 +-0.446107 -0.441932 -0.437752 -0.433553 -0.429353 -0.425139 -0.420915 +-0.416691 -0.412444 -0.408196 -0.403941 -0.39967 -0.395399 -0.391112 +-0.386819 -0.382524 -0.378209 -0.373893 -0.369569 -0.365232 -0.360895 +-0.356543 -0.352185 -0.347825 -0.343448 -0.33907 -0.334684 -0.330287 +-0.32589 -0.321478 -0.317062 -0.312643 -0.30821 -0.303777 -0.299333 +-0.294883 -0.290433 -0.285966 -0.281499 -0.277027 -0.272544 -0.268061 +-0.263568 -0.259069 -0.25457 -0.250058 -0.245545 -0.241026 -0.236499 +-0.231973 -0.227436 -0.222896 -0.218354 -0.213802 -0.209249 -0.204691 +-0.200126 -0.195562 -0.190988 -0.186412 -0.181834 -0.177249 -0.172663 +-0.168071 -0.163475 -0.15888 -0.154275 -0.14967 -0.145063 -0.140449 +-0.135836 -0.131218 -0.126597 -0.121975 -0.117348 -0.11272 -0.108089 +-0.103455 -0.0988211 -0.0941824 -0.0895427 -0.0849021 -0.0802575 -0.0756129 +-0.070966 -0.0663172 -0.0616684 -0.0570164 -0.0523641 -0.047711 -0.0430559 +-0.0384008 -0.0337443 -0.0290871 -0.0244298 -0.0197712 -0.0151126 -0.0104537 +-0.00579441 -0.0011351 0.00352421 0.00818352 0.0128428 0.0175014 0.02216 +0.0268179 0.0314751 0.0361324 0.0407877 0.0454428 0.0500973 0.0547496 +0.0594019 0.0640521 0.0687009 0.0733497 0.0779945 0.0826391 0.0872821 +0.0919218 0.0965614 0.101197 0.105831 0.110465 0.115093 0.119721 0.124345 +0.128966 0.133587 0.138202 0.142815 0.147427 0.152031 0.156636 0.161236 +0.165832 0.170427 0.175014 0.1796 0.184183 0.188759 0.193334 0.197902 +0.202467 0.207031 0.211583 0.216136 0.220684 0.225224 0.229763 0.234294 +0.23882 0.243346 0.247859 0.252371 0.256878 0.261376 0.265874 0.27036 +0.274843 0.279323 0.28379 0.288257 0.292715 0.297165 0.301615 0.30605 +0.310483 0.314911 0.319326 0.323742 0.328145 0.332541 0.336938 0.341315 +0.345692 0.350062 0.35442 0.358777 0.363119 0.367456 0.37179 0.376106 +0.380421 0.384727 0.38902 0.393314 0.397589 0.40186 0.406126 0.410374 +0.414622 0.418857 0.423081 0.427305 0.431506 0.435706 0.439898 0.444073 +0.448247 0.452405 0.456554 0.460702 0.464824 0.468947 0.473059 0.477154 +0.48125 0.485324 0.489392 0.493457 0.497496 0.501536 0.505562 0.509573 +0.513584 0.51757 0.521551 0.525526 0.529478 0.533429 0.537363 0.541284 +0.545205 0.549096 0.552986 0.556865 0.560723 0.564581 0.568417 0.572243 +0.576066 0.579859 0.583652 0.587431 0.59119 0.594949 0.598682 0.602407 +0.606127 0.609817 0.613508 0.61718 0.620836 0.624491 0.628115 0.631734 +0.635345 0.638928 0.642512 0.646072 0.649619 0.653166 0.656675 0.660184 +0.66368 0.667152 0.670623 0.674067 0.6775 0.680929 0.684323 0.687717 +0.691093 0.694448 0.697803 0.701125 0.704439 0.707747 0.711021 0.714295 +0.717547 0.72078 0.724014 0.727209 0.730401 0.733581 0.736731 0.739881 +0.743003 0.746111 0.749218 0.752283 0.755348 0.758396 0.761417 0.764439 +0.767428 0.770405 0.773378 0.776312 0.779245 0.782157 0.785046 0.787935 +0.790786 0.79363 0.796464 0.799262 0.802061 0.804832 0.807585 0.810337 +0.813045 0.815752 0.818443 0.821102 0.823762 0.826389 0.829001 0.831611 +0.834176 0.83674 0.839285 0.841802 0.844319 0.846798 0.849266 0.851727 +0.854147 0.856567 0.858962 0.861332 0.863703 0.86603 0.868352 0.870661 +0.872932 0.875204 0.877445 0.879666 0.881888 0.88406 0.886231 0.888384 +0.890505 0.892625 0.894709 0.896778 0.898843 0.900861 0.902879 0.904874 +0.90684 0.908806 0.91073 0.912645 0.914549 0.916411 0.918273 0.920107 +0.921916 0.923725 0.925487 0.927243 0.928985 0.930688 0.932392 0.934061 +0.935711 0.937361 0.938957 0.940554 0.94213 0.943673 0.945215 0.946718 +0.948207 0.949689 0.951124 0.952558 0.953966 0.955346 0.956726 0.95806 +0.959385 0.960699 0.961969 0.963239 0.964477 0.965693 0.966908 0.968071 +0.969231 0.970373 0.971478 0.972582 0.973649 0.974698 0.975744 0.976737 +0.97773 0.9787 0.979637 0.980574 0.981468 0.982349 0.983222 0.984046 +0.984871 0.985667 0.986436 0.987204 0.987923 0.988635 0.989334 0.989989 +0.990644 0.991265 0.991864 0.992463 0.993006 0.993548 0.994071 0.994556 +0.995041 0.995486 0.995915 0.996339 0.99671 0.997081 0.997428 0.997742 +0.998056 0.998325 0.998582 0.998829 0.999029 0.999229 0.999399 0.999542 +0.999685 0.999776 0.999862 0.999932 0.999961 0.99999 0.999982 0.999953 +0.999925 0.999839 0.999753 0.999647 0.999504 0.999361 0.999176 0.998976 +0.998771 0.998513 0.998256 0.997973 0.997658 0.997344 0.996983 0.996611 +0.996229 0.995801 0.995373 0.994912 0.994427 0.993942 0.993404 0.992862 +0.992304 0.991705 0.991106 0.99047 0.989815 0.989158 0.988446 0.987734 +0.987 0.986231 0.985463 0.984652 0.983827 0.982995 0.982114 0.981234 +0.980325 0.979388 0.978451 0.977466 0.976473 0.975468 0.974419 0.97337 +0.972289 0.971184 0.97008 0.968922 0.967763 0.966585 0.96537 0.964155 +0.962902 0.961631 0.960358 0.959033 0.957708 0.95636 0.95498 0.9536 +0.952177 0.950743 0.9493 0.947811 0.946323 0.944806 0.943263 0.94172 +0.94013 0.938533 0.936923 0.935273 0.933623 0.93194 0.930236 0.928533 +0.926777 0.92502 0.923245 0.921436 0.919626 0.917779 0.915917 0.914051 +0.912136 0.910222 0.908284 0.906318 0.904352 0.902344 0.900326 0.898298 +0.896229 0.89416 0.892062 0.889942 0.887821 0.885655 0.883484 0.881298 +0.879077 0.876855 0.874601 0.872329 0.870057 0.867736 0.865414 0.863074 +0.860703 0.858332 0.855925 0.853505 0.85108 0.848611 0.846143; +#A 5000 0.843651 0.841134 0.838617 0.83606 0.833495 0.83092 0.828308 +0.825696 0.823056 0.820397 0.817737 0.815034 0.812328 0.809607 0.806854 +0.804102 0.801318 0.79852 0.795719 0.792875 0.790031 0.787169 0.78428 +0.781391 0.778467 0.775533 0.772594 0.769616 0.766638 0.763638 0.760616 +0.757594 0.754535 0.75147 0.748395 0.745287 0.742179 0.739046 0.735896 +0.732745 0.729554 0.726362 0.723156 0.719923 0.716689 0.713427 0.710153 +0.706876 0.703561 0.700246 0.696914 0.693559 0.690204 0.686818 0.683424 +0.680023 0.67659 0.673157 0.669703 0.666231 0.66276 0.659254 0.655745 +0.652226 0.648679 0.645132 0.641562 0.637978 0.634395 0.630775 0.627155 +0.623522 0.619867 0.616211 0.61253 0.608839 0.605145 0.60142 0.597695 +0.593953 0.590194 0.586435 0.582647 0.578854 0.575055 0.571229 0.567403 +0.563559 0.559701 0.555843 0.551955 0.548065 0.544166 0.540245 0.536324 +0.532383 0.528431 0.524478 0.520497 0.516515 0.512522 0.50851 0.504499 +0.500466 0.496426 0.492383 0.488315 0.484247 0.480165 0.476069 0.471974 +0.467855 0.463732 0.459604 0.455455 0.451306 0.447141 0.442967 0.438792 +0.434593 0.430394 0.426186 0.421962 0.417738 0.413497 0.409249 0.405 +0.400729 0.396457 0.392177 0.387883 0.383589 0.379278 0.374963 0.370644 +0.366307 0.36197 0.357623 0.353265 0.348908 0.344533 0.340156 0.335773 +0.331377 0.32698 0.322572 0.318157 0.313742 0.309309 0.304876 0.300436 +0.295986 0.291536 0.287073 0.282606 0.278138 0.273655 0.269172 0.264682 +0.260184 0.255686 0.251176 0.246663 0.242148 0.237621 0.233095 0.228561 +0.224021 0.219481 0.21493 0.210378 0.205822 0.201258 0.196693 0.192122 +0.187547 0.182971 0.178385 0.173799 0.16921 0.164614 0.160019 0.155416 +0.150812 0.146206 0.141593 0.13698 0.132363 0.127742 0.123121 0.118495 +0.113867 0.109238 0.104604 0.0999698 0.0953325 0.0906928 0.0860531 +0.0814088 0.0767642 0.0721183 0.0674695 0.0628207 0.0581696 0.0535173 +0.0488648 0.0442097 0.0395546 0.0348987 0.0302414 0.0255842 0.0209259 +0.0162673 0.0116086 0.00694932 0.00229001 -0.0023693 -0.00702861 -0.0116879 +-0.0163466 -0.0210052 -0.0256635 -0.0303207 -0.0349779 -0.0396339 -0.044289 +-0.0489441 -0.0535964 -0.0582487 -0.0628998 -0.0675486 -0.0721974 -0.0768432 +-0.0814878 -0.0861321 -0.0907718 -0.0954114 -0.100049 -0.104683 -0.109317 +-0.113946 -0.118574 -0.1232 -0.127821 -0.132442 -0.137058 -0.141671 +-0.146284 -0.15089 -0.155495 -0.160097 -0.164692 -0.169288 -0.173877 +-0.178463 -0.183049 -0.187624 -0.1922 -0.196771 -0.201335 -0.2059 -0.210455 +-0.215007 -0.219558 -0.224098 -0.228638 -0.233172 -0.237698 -0.242225 +-0.24674 -0.251253 -0.255763 -0.260261 -0.264759 -0.269249 -0.273731 +-0.278214 -0.282682 -0.287149 -0.291611 -0.296062 -0.300512 -0.304951 +-0.309384 -0.313817 -0.318232 -0.322647 -0.327055 -0.331452 -0.335848 +-0.34023 -0.344607 -0.348982 -0.353339 -0.357697 -0.362044 -0.366381 +-0.370718 -0.375036 -0.379352 -0.383662 -0.387956 -0.39225 -0.39653 +-0.400801 -0.405072 -0.409321 -0.413569 -0.41781 -0.422034 -0.426258 +-0.430465 -0.434665 -0.438863 -0.443038 -0.447213 -0.451376 -0.455525 +-0.459674 -0.463802 -0.467925 -0.472043 -0.476139 -0.480235 -0.484316 +-0.488384 -0.492452 -0.496495 -0.500535 -0.504568 -0.508579 -0.51259 +-0.516583 -0.520564 -0.524546 -0.528498 -0.53245 -0.536391 -0.540312 +-0.544233 -0.548132 -0.552022 -0.555909 -0.559767 -0.563625 -0.567469 +-0.571294 -0.57512 -0.578919 -0.582712 -0.586499 -0.590258 -0.594018 +-0.597758 -0.601484 -0.605209 -0.608903 -0.612593 -0.616274 -0.61993 +-0.623585 -0.627217 -0.630837 -0.634456 -0.63804 -0.641623 -0.645193 +-0.64874 -0.652286 -0.655805 -0.659315 -0.66282 -0.666291 -0.669763 +-0.673216 -0.676649 -0.680082 -0.683482 -0.686876 -0.690262 -0.693617 +-0.696971 -0.700303 -0.703618 -0.706933 -0.710209 -0.713484 -0.716745 +-0.719979 -0.723212 -0.726418 -0.72961 -0.7328 -0.73595 -0.7391 -0.742233 +-0.745341 -0.748448 -0.751523 -0.754588 -0.757647 -0.760668 -0.76369 +-0.766689 -0.769667 -0.772645 -0.775584 -0.778518 -0.781441 -0.78433 +-0.787219 -0.790081 -0.792925 -0.795769 -0.798568 -0.801367 -0.80415 +-0.806902 -0.809655 -0.812375 -0.815081 -0.817784 -0.820443 -0.823103 +-0.825741 -0.828354 -0.830966 -0.83354 -0.836105 -0.838661 -0.841178 +-0.843695 -0.846186 -0.848654 -0.851123 -0.853547 -0.855967 -0.858374 +-0.860745 -0.863116 -0.865455 -0.867776 -0.870098 -0.872369 -0.874641 +-0.876894 -0.879116 -0.881337 -0.883522 -0.885693 -0.887859 -0.889979 +-0.8921 -0.894196 -0.896265 -0.898335 -0.900361 -0.902379 -0.904387 +-0.906353 -0.908319 -0.910256 -0.91217 -0.914084 -0.91595 -0.917812 +-0.919658 -0.921467 -0.923277 -0.925051 -0.926808 -0.928563 -0.930266 +-0.93197 -0.933652 -0.935302 -0.936952 -0.938561 -0.940158 -0.941748 +-0.94329 -0.944833 -0.946349 -0.947838 -0.949326 -0.950768 -0.952202 +-0.953624 -0.955004 -0.956384 -0.957731 -0.959056 -0.960382 -0.961654 +-0.962924 -0.964176 -0.965391 -0.966606 -0.967783 -0.968943 -0.9701 +-0.971204 -0.972308 -0.973389 -0.974438 -0.975486 -0.976491 -0.977484 +-0.978468 -0.979405 -0.980342 -0.981249 -0.98213 -0.983011 -0.983842 +-0.984667 -0.985477 -0.986245 -0.987014 -0.987747 -0.988459 -0.989171 +-0.989826 -0.990482 -0.991117 -0.991716 -0.992314 -0.992872 -0.993414 +-0.993951 -0.994436 -0.994921 -0.99538 -0.995808 -0.996237 -0.996618 +-0.996989 -0.99735 -0.997664 -0.997978 -0.998261 -0.998518 -0.998775 +-0.99898 -0.99918 -0.999364 -0.999506 -0.999649 -0.999755 -0.999841 +-0.999925 -0.999954 -0.999982 -0.999989 -0.99996 -0.999932 -0.99986 +-0.999774 -0.999682 -0.999539 -0.999396 -0.999225 -0.999025 -0.998825 +-0.998576 -0.998319 -0.99805 -0.997735 -0.997421 -0.997074 -0.996702 +-0.996331 -0.995906 -0.995477 -0.995031 -0.994546 -0.994061 -0.993537 +-0.992995 -0.99245 -0.991852 -0.991253 -0.990631 -0.989975 -0.98932 +-0.98862 -0.987908 -0.987188 -0.98642 -0.985651 -0.984854 -0.984029 +-0.983204 -0.98233 -0.981449 -0.980555 -0.979618 -0.97868 -0.977709 +-0.976716 -0.975723 -0.974676 -0.973627 -0.972559 -0.971455 -0.97035 +-0.969206 -0.968047 -0.966882 -0.965667 -0.964452 -0.963213 -0.961942 +-0.960672 -0.959357 -0.958032 -0.956697 -0.955317 -0.953938 -0.952528 +-0.951094 -0.949659 -0.948176 -0.946687 -0.945183 -0.943641 -0.942098 +-0.940521 -0.938924 -0.937327 -0.935677 -0.934027 -0.932357 -0.930653 +-0.928949 -0.927207 -0.92545 -0.923688 -0.921878 -0.920069 -0.918235 +-0.916373 -0.914511 -0.912605 -0.91069 -0.908766 -0.906799 -0.904833 +-0.902837 -0.900819 -0.898801 -0.896735 -0.894666 -0.892581 -0.890461 +-0.88834 -0.886186 -0.884015 -0.881842 -0.87962 -0.877398 -0.875157 +-0.872885 -0.870613 -0.868303 -0.865982 -0.863654 -0.861283 -0.858912 +-0.856517 -0.854097 -0.851677 -0.849215 -0.846746 -0.844267 -0.84175 +-0.839233 -0.836687 -0.834122 -0.831558 -0.828947 -0.826335 -0.823707 +-0.821047 -0.818388 -0.815695 -0.812989 -0.81028 -0.807527 -0.804775 +-0.802002 -0.799204 -0.796405 -0.793571 -0.790727 -0.787875 -0.784986 +-0.782097 -0.779184 -0.776251 -0.773317 -0.770343 -0.767366 -0.764376 +-0.761355 -0.758333 -0.755284 -0.752219 -0.749154 -0.746046 -0.742939 +-0.739816 -0.736665 -0.733515 -0.730335 -0.727142 -0.723947 -0.720713 +-0.717479 -0.714227 -0.710953 -0.707678 -0.704371 -0.701056 -0.697733 +-0.694378 -0.691024 -0.687647 -0.684253 -0.680858 -0.677428 -0.673995 +-0.670551 -0.667079 -0.663608 -0.660111 -0.656602 -0.653092 -0.649545 +-0.645998 -0.642438 -0.638854 -0.63527 -0.631659 -0.62804 -0.624415 +-0.62076 -0.617104 -0.613432 -0.609741 -0.60605 -0.60233 -0.598604 +-0.594872 -0.591112 -0.587353 -0.583574 -0.579781 -0.575988 -0.572163 +-0.568338 -0.564501 -0.560643 -0.556785 -0.552905 -0.549015 -0.545124 +-0.541202 -0.537281 -0.533347 -0.529396 -0.525444 -0.521469 -0.517487 +-0.513501 -0.50949 -0.505479 -0.501453 -0.497413 -0.493373 -0.489308 +-0.48524 -0.481165 -0.477069 -0.472974 -0.468861 -0.464739 -0.460616 +-0.456468 -0.452319 -0.448161 -0.443986 -0.439811 -0.435619 -0.431419 +-0.427217 -0.422993 -0.418769 -0.414534 -0.410286 -0.406038 -0.401771 +-0.3975 -0.393225 -0.388931 -0.384638 -0.380332 -0.376016 -0.371701 +-0.367366 -0.363029 -0.358687 -0.354329 -0.349972 -0.345602 -0.341224 +-0.336847 -0.33245 -0.328054 -0.32365 -0.319235 -0.31482 -0.310391 +-0.305958 -0.301523 -0.297073 -0.292622 -0.288164 -0.283697 -0.27923 +-0.27475 -0.270267 -0.265781 -0.261283 -0.256784 -0.252278 -0.247765 +-0.243252 -0.238727 -0.2342 -0.229669 -0.225129 -0.22059 -0.216041 +-0.211489 -0.206936 -0.202372 -0.197808 -0.193239 -0.188664 -0.184088 +-0.179505 -0.174919 -0.170332 -0.165736 -0.161141 -0.156541 -0.151936 +-0.147331 -0.142719 -0.138106 -0.133491 -0.12887 -0.12425 -0.119625 +-0.114997 -0.110369 -0.105735 -0.101101 -0.0964652 -0.0918256 -0.0871859 +-0.0825427 -0.0778981 -0.0732533 -0.0686045 -0.0639557 -0.0593054 -0.0546531 +-0.0500008 -0.0453463 -0.0406912 -0.0360357 -0.0313785 -0.0267213 -0.0220634 +-0.0174047 -0.0127461 -0.0080869 -0.00342758 0.00123173 0.00589104 +0.0105504 0.0152092 0.0198678 0.0245264 0.0291837 0.0338409 0.0384973 +0.0431524 0.0478075 0.0524606 0.0571129 0.0617648 0.0664136 0.0710624 +0.0757093 0.0803538 0.0849984 0.0896389 0.0942786 0.0989172 0.103551 +0.108185 0.112816 0.117444 0.122071 0.126693 0.131314 0.135932 0.140545 +0.145158 0.149766 0.15437 0.158975 0.16357 0.168166 0.172758 0.177344 +0.181929 0.186507 0.191083 0.195657 0.200221 0.204785 0.209344 0.213896 +0.218448 0.22299 0.22753 0.232067 0.236593 0.24112 0.245638 0.250151 +0.254664 0.259163 0.263661 0.268154 0.272637 0.27712 0.281592 0.286059 +0.290525 0.294975 0.299426 0.303869 0.308302 0.312735 0.317154 0.321569 +0.325982 0.330378 0.334775 0.339161 0.343539 0.347916 0.352276 0.356633 +0.360985 0.365322 0.369659 0.373983 0.378298 0.382614 0.386908 0.391201 +0.395487 0.399758 0.40403 0.408284 0.412532 0.416778 0.421002 0.425227 +0.42944 0.43364 0.437839 0.442019 0.446193 0.450363 0.454512 0.458661 +0.462796 0.466918 0.471041 0.475139 0.479235 0.483323 0.487391; +#A 6000 0.491459 0.495509 0.499549 0.503588 0.507599 0.51161 0.51561 +0.519592 0.523574 0.527533 0.531485 0.535433 0.539355 0.543276 0.547182 +0.551072 0.554962 0.558825 0.562683 0.566535 0.57036 0.574186 0.577993 +0.581786 0.585579 0.58934 0.5931 0.596849 0.600574 0.604299 0.608001 +0.611692 0.615381 0.619037 0.622693 0.626334 0.629953 0.633573 0.637165 +0.640749 0.644327 0.647874 0.65142 0.654948 0.658458 0.661967 0.665444 +0.668915 0.672377 0.675811 0.679244 0.682653 0.686047 0.689442 0.692798 +0.696152 0.699494 0.702808 0.706123 0.70941 0.712684 0.715956 0.719189 +0.722423 0.725638 0.72883 0.732022 0.735181 0.738331 0.741474 0.744582 +0.74769 0.750775 0.75384 0.756905 0.759931 0.762952 0.765962 0.76894 +0.771918 0.774868 0.777802 0.780735 0.783625 0.786514 0.789386 0.79223 +0.795074 0.797885 0.800684 0.803478 0.80623 0.808983 0.811714 0.81442 +0.817126 0.819794 0.822453 0.825104 0.827716 0.830328 0.832914 0.835479 +0.838043 0.840564 0.843081 0.845583 0.848052 0.85052 0.852957 0.855377 +0.857795 0.860166 0.862537 0.864888 0.867209 0.869531 0.871815 0.874086 +0.876352 0.878573 0.880795 0.882992 0.885163 0.887334 0.889461 0.891582 +0.893691 0.89576 0.897829 0.899868 0.901886 0.903904 0.905873 0.907839 +0.909788 0.911703 0.913617 0.915495 0.917357 0.919216 0.921026 0.922835 +0.924622 0.926379 0.928135 0.92985 0.931554 0.933249 0.934899 0.936549 +0.938172 0.939768 0.941365 0.942914 0.944456 0.945985 0.947474 0.948963 +0.950418 0.951852 0.953287 0.954667 0.956047 0.957408 0.958733 0.960058 +0.961344 0.962614 0.96388 0.965095 0.96631 0.9675 0.96866 0.96982 0.970934 +0.972039 0.973133 0.974182 0.97523 0.976248 0.977241 0.978234 0.979176 +0.980113 0.981034 0.981915 0.982796 0.983641 0.984465 0.985289 0.986058 +0.986826 0.987573 0.988285 0.988997 0.989666 0.990322 0.990971 0.991569 +0.992168 0.99274 0.993282 0.993824 0.994318 0.994803 0.995276 0.995704 +0.996132 0.996527 0.996899 0.99727 0.997587 0.997902 0.998198 0.998455 +0.998712 0.998931 0.999131 0.999329 0.999472 0.999614 0.999734 0.99982 +0.999905 0.999947 0.999975 0.999996 0.999967 0.999939 0.999881 0.999796 +0.99971 0.999574 0.999431 0.999275 0.999075 0.998875 0.99864 0.998383 +0.998126 0.997813 0.997499 0.997165 0.996794 0.996423 0.996011 0.995583 +0.995151 0.994666 0.994181 0.993671 0.993129 0.992587 0.992 0.991401 +0.990793 0.990137 0.989482 0.988796 0.988084 0.987372 0.98661 0.985841 +0.985058 0.984233 0.983408 0.982548 0.981667 0.980786 0.979849 0.978912 +0.977955 0.976962 0.975969 0.974935 0.973886 0.972832 0.971728 0.970623 +0.969493 0.968333 0.967173 0.965968 0.964752 0.963526 0.962256 0.960986 +0.959685 0.95836 0.957035 0.955659 0.954279 0.952883 0.951448 0.950014 +0.948544 0.947055 0.945565 0.944022 0.942479 0.940915 0.939319 0.937722 +0.936085 0.934435 0.932778 0.931074 0.929371 0.927641 0.925884 0.924128 +0.922326 0.920516 0.918695 0.916833 0.914971 0.913078 0.911164 0.90925 +0.907286 0.905319 0.903336 0.901318 0.899301 0.897247 0.895178 0.893106 +0.890985 0.888865 0.886723 0.884552 0.882381 0.88017 0.877948 0.875719 +0.873447 0.871175 0.868878 0.866556 0.864235 0.86187 0.859499 0.857116 +0.854696 0.852276 0.849826 0.847357 0.844889 0.842373 0.839856 0.837322 +0.834757 0.832192 0.829593 0.826981 0.824365 0.821705 0.819046 0.816365 +0.813659 0.810953 0.808209 0.805456 0.802695 0.799897 0.797098 0.794275 +0.791431 0.788587 0.785701 0.782812 0.779911 0.776977 0.774043 0.771081 +0.768103 0.765124 0.762103 0.759081 0.756043 0.752978 0.749913 0.746816 +0.743708 0.740596 0.737445 0.734295 0.731125 0.727933 0.724741 0.721514 +0.71828 0.715038 0.711764 0.708489 0.705192 0.701877 0.698562 0.69521 +0.691855 0.688488 0.685094 0.681699 0.678279 0.674846 0.671411 0.667939 +0.664468 0.660981 0.657472 0.653962 0.650424 0.646877 0.643325 0.639742 +0.636158 0.632556 0.628936 0.625317 0.621665 0.61801 0.614346 0.610655 +0.606965 0.603253 0.599527 0.595802 0.592044 0.588284 0.584514 0.580721 +0.576928 0.573112 0.569286 0.565458 0.561599 0.557741 0.553869 0.549979 +0.546089 0.542174 0.538253 0.534327 0.530375 0.526423 0.522456 0.518474 +0.514492 0.510484 0.506473 0.502454 0.498414 0.494374 0.490316 0.486248 +0.48218 0.478084 0.473989 0.469883 0.465761 0.461638 0.457496 0.453347 +0.449196 0.445021 0.440846 0.43666 0.43246 0.42826 0.42404 0.419816 +0.415587 0.411339 0.407091 0.40283 0.398559 0.394288 0.389996 0.385702 +0.381402 0.377086 0.372771 0.368441 0.364104 0.359767 0.355409 0.351052 +0.346687 0.342309 0.337932 0.33354 0.329143 0.324744 0.320329 0.315914 +0.31149 0.307057 0.302624 0.298176 0.293725 0.289271 0.284804 0.280337 +0.275861 0.271378 0.266895 0.262397 0.257899 0.253396 0.248884 0.244371 +0.239849 0.235322 0.230795 0.226255 0.221715 0.21717 0.212617 0.208065 +0.203503 0.198939 0.194373 0.189798 0.185222 0.180642 0.176056 0.17147 +0.166875 0.16228 0.157682 0.153077 0.148473 0.143863 0.13925 0.134636 +0.130016 0.125395 0.120772 0.116144 0.111516 0.106884 0.10225 0.0976153 +0.0929756 0.0883359 0.083694 0.0790494 0.0744049 0.0697568 0.065108 +0.0604586 0.0558063 0.051154 0.0465002 0.041845 0.0371899 0.0325329 +0.0278757 0.0232181 0.0185595 0.0139009 0.00924181 0.0045825 -7.68168e-05 +-0.00473613 -0.00939544 -0.0140545 -0.0187131 -0.0233717 -0.0280293 +-0.0326865 -0.0373434 -0.0419985 -0.0466536 -0.0513074 -0.0559597 -0.060612 +-0.0652613 -0.0699101 -0.074558 -0.0792026 -0.0838472 -0.0884889 -0.0931286 +-0.0977683 -0.102403 -0.107037 -0.111669 -0.116297 -0.120924 -0.125547 +-0.130168 -0.134789 -0.139402 -0.144015 -0.148624 -0.153229 -0.157834 +-0.162431 -0.167027 -0.171621 -0.176207 -0.180793 -0.185373 -0.189949 +-0.194524 -0.19909 -0.203654 -0.208215 -0.212768 -0.21732 -0.221865 +-0.226404 -0.230944 -0.235471 -0.239998 -0.24452 -0.249032 -0.253545 +-0.258048 -0.262546 -0.267043 -0.271526 -0.276009 -0.280485 -0.284952 +-0.289419 -0.293872 -0.298323 -0.30277 -0.307203 -0.311636 -0.31606 +-0.320475 -0.32489 -0.329288 -0.333685 -0.338076 -0.342454 -0.346831 +-0.351196 -0.355553 -0.35991 -0.364247 -0.368584 -0.372913 -0.377228 +-0.381544 -0.385843 -0.390137 -0.394429 -0.3987 -0.402971 -0.407231 +-0.411479 -0.415727 -0.419955 -0.42418 -0.428399 -0.432599 -0.436798 +-0.440984 -0.445159 -0.449333 -0.453484 -0.457633 -0.461774 -0.465897 +-0.470019 -0.474124 -0.478219 -0.482314 -0.486382 -0.49045 -0.494507 +-0.498547 -0.502587 -0.506605 -0.510616 -0.514623 -0.518605 -0.522587 +-0.526554 -0.530505 -0.534457 -0.538383 -0.542304 -0.546218 -0.550108 +-0.553998 -0.557869 -0.561727 -0.565585 -0.569412 -0.573238 -0.577053 +-0.580846 -0.584639 -0.588409 -0.592168 -0.595925 -0.599651 -0.603376 +-0.607087 -0.610777 -0.614468 -0.618131 -0.621786 -0.625436 -0.629056 +-0.632676 -0.636277 -0.63986 -0.643444 -0.646995 -0.650541 -0.654078 +-0.657588 -0.661097 -0.664583 -0.668055 -0.671526 -0.67496 -0.678393 +-0.681812 -0.685206 -0.6886 -0.691966 -0.695321 -0.698672 -0.701987 +-0.705302 -0.708598 -0.711873 -0.715147 -0.718388 -0.721621 -0.724847 +-0.728039 -0.731231 -0.7344 -0.73755 -0.7407 -0.743812 -0.746919 -0.750015 +-0.75308 -0.756145 -0.759182 -0.762203 -0.765224 -0.768202 -0.77118 +-0.774141 -0.777075 -0.780008 -0.782909 -0.785798 -0.788682 -0.791525 +-0.79437 -0.797192 -0.79999 -0.802788 -0.805548 -0.808301 -0.811043 +-0.813749 -0.816456 -0.819135 -0.821794 -0.824454 -0.827068 -0.829681 +-0.832278 -0.834843 -0.837408 -0.83994 -0.842457 -0.844971 -0.84744 +-0.849908 -0.852357 -0.854777 -0.857197 -0.859578 -0.861949 -0.864313 +-0.866634 -0.868956 -0.871251 -0.873523 -0.875795 -0.878023 -0.880244 +-0.882453 -0.884625 -0.886796 -0.888936 -0.891056 -0.893177 -0.895247 +-0.897317 -0.899368 -0.901386 -0.903404 -0.905385 -0.907352 -0.909314 +-0.911228 -0.913143 -0.915034 -0.916896 -0.918758 -0.920577 -0.922387 +-0.924187 -0.925943 -0.9277 -0.929428 -0.931132 -0.932835 -0.93449 +-0.93614 -0.937776 -0.939373 -0.940969 -0.942531 -0.944074 -0.945616 +-0.947105 -0.948594 -0.950062 -0.951497 -0.952931 -0.954325 -0.955705 +-0.957079 -0.958404 -0.95973 -0.961029 -0.962299 -0.963569 -0.964794 +-0.966009 -0.967213 -0.968372 -0.969532 -0.970661 -0.971765 -0.972869 +-0.973922 -0.97497 -0.976002 -0.976995 -0.977988 -0.978944 -0.979881 +-0.980816 -0.981697 -0.982578 -0.983436 -0.984261 -0.985086 -0.985867 +-0.986636 -0.987396 -0.988108 -0.98882 -0.989504 -0.990159 -0.990815 +-0.991421 -0.99202 -0.992605 -0.993147 -0.993689 -0.994197 -0.994682 +-0.995168 -0.995598 -0.996026 -0.996435 -0.996807 -0.997178 -0.997509 +-0.997824 -0.998134 -0.998392 -0.998649 -0.998881 -0.999081 -0.999281 +-0.999436 -0.999579 -0.999713 -0.999798 -0.999884 -0.99994 -0.999968 +-0.999997 -0.999974 -0.999946 -0.999902 -0.999817 -0.999731 -0.999609 +-0.999466 -0.999323 -0.999124 -0.998924 -0.998703 -0.998446 -0.998189 +-0.99789 -0.997576 -0.997256 -0.996885 -0.996514 -0.996116 -0.995688 +-0.99526 -0.994785 -0.9943 -0.993804 -0.993262 -0.99272 -0.992146 -0.991547 +-0.990949 -0.990298 -0.989642 -0.988971 -0.988259 -0.987547 -0.986798 +-0.986029 -0.98526 -0.984435 -0.98361 -0.982764 -0.981883 -0.981002 +-0.980079 -0.979142 -0.978198 -0.977205 -0.976212 -0.975192 -0.974143 +-0.973094 -0.971998 -0.970894 -0.969777 -0.968617 -0.967457 -0.966265 +-0.96505 -0.963835 -0.962567 -0.961297 -0.960009 -0.958684 -0.957359 +-0.955996 -0.954617 -0.953234 -0.9518 -0.950365 -0.948908 -0.947419 +-0.945931 -0.9444 -0.942857 -0.941306 -0.93971 -0.938113 -0.936489 +-0.934839 -0.933188 -0.931491 -0.929788 -0.928071 -0.926314 -0.924558 +-0.922769 -0.920959 -0.91915 -0.917289 -0.915427 -0.913547 -0.911632 +-0.909718 -0.907767 -0.905801 -0.90383 -0.901812 -0.899794 -0.897753 +; +#A 7000 -0.895684 -0.893615 -0.891504 -0.889384 -0.887254 -0.885083 +-0.882912 -0.880713 -0.878492 -0.87627 -0.874003 -0.871731 -0.869446 +-0.867124 -0.864803 -0.86245 -0.860079 -0.857708 -0.855288 -0.852868 +-0.85043 -0.847961 -0.845492 -0.842988 -0.840471 -0.837949 -0.835384 +-0.83282 -0.830232 -0.82762 -0.825008 -0.822356 -0.819696 -0.817027 +-0.814321 -0.811614 -0.808882 -0.806129 -0.803376 -0.800581 -0.797782 +-0.79497 -0.792126 -0.789282 -0.786408 -0.783519 -0.780628 -0.777694 +-0.77476 -0.771809 -0.768831 -0.765853 -0.762841 -0.75982 -0.756792 +-0.753727 -0.750662 -0.747576 -0.744468 -0.74136 -0.738215 -0.735065 +-0.731905 -0.728713 -0.725521 -0.722304 -0.71907 -0.715837 -0.712564 +-0.709289 -0.706002 -0.702687 -0.699372 -0.696029 -0.692674 -0.689317 +-0.685923 -0.682528 -0.679118 -0.675684 -0.672251 -0.668787 -0.665316 +-0.661838 -0.658329 -0.654819 -0.65129 -0.647744 -0.644197 -0.640617 +-0.637034 -0.63344 -0.629821 -0.626201 -0.622558 -0.618903 -0.615247 +-0.611557 -0.607866 -0.604163 -0.600437 -0.596712 -0.592962 -0.589202 +-0.58544 -0.581647 -0.577854 -0.574046 -0.57022 -0.566394 -0.562542 +-0.558683 -0.554819 -0.550929 -0.547039 -0.543132 -0.539211 -0.535289 +-0.53134 -0.527388 -0.523428 -0.519446 -0.515464 -0.511463 -0.507452 +-0.50344 -0.4994 -0.49536 -0.49131 -0.487241 -0.483173 -0.479084 -0.474989 +-0.47089 -0.466767 -0.462644 -0.458509 -0.45436 -0.450211 -0.44604 +-0.441865 -0.437685 -0.433486 -0.429286 -0.425072 -0.420847 -0.416623 +-0.412376 -0.408128 -0.403873 -0.399602 -0.39533 -0.391044 -0.38675 +-0.382455 -0.37814 -0.373824 -0.3695 -0.365163 -0.360826 -0.356473 +-0.352116 -0.347755 -0.343378 -0.339001 -0.334613 -0.330217 -0.32582 +-0.321407 -0.316992 -0.312572 -0.308139 -0.303706 -0.299262 -0.294812 +-0.290362 -0.285895 -0.281428 -0.276955 -0.272472 -0.26799 -0.263496 +-0.258998 -0.254498 -0.249986 -0.245473 -0.240954 -0.236427 -0.231901 +-0.227363 -0.222823 -0.218281 -0.213729 -0.209177 -0.204618 -0.200053 +-0.195489 -0.190915 -0.186339 -0.181761 -0.177175 -0.17259 -0.167997 +-0.163402 -0.158806 -0.154201 -0.149597 -0.144989 -0.140376 -0.135763 +-0.131144 -0.126523 -0.121902 -0.117274 -0.112646 -0.108015 -0.103381 +-0.0987472 -0.0941084 -0.0894687 -0.084828 -0.0801834 -0.0755388 -0.0708918 +-0.066243 -0.0615942 -0.0569421 -0.0522899 -0.0476367 -0.0429816 -0.0383265 +-0.03367 -0.0290128 -0.0243555 -0.0196969 -0.0150383 -0.0103794 -0.00572007 +-0.00106075 0.00359856 0.00825787 0.0129171 0.0175757 0.0222343 0.0268922 +0.0315494 0.0362067 0.040862 0.0455171 0.0501715 0.0548238 0.0594761 +0.0641263 0.0687751 0.0734239 0.0780686 0.0827132 0.0873561 0.0919958 +0.0966355 0.101271 0.105905 0.110539 0.115167 0.119794 0.124419 0.12904 +0.133661 0.138275 0.142888 0.1475 0.152105 0.15671 0.161309 0.165905 +0.170501 0.175087 0.179673 0.184256 0.188832 0.193407 0.197975 0.202539 +0.207104 0.211656 0.216208 0.220756 0.225296 0.229836 0.234366 0.238893 +0.243418 0.247931 0.252443 0.256949 0.261448 0.265946 0.270431 0.274914 +0.279394 0.283861 0.288328 0.292786 0.297236 0.301686 0.306121 0.310554 +0.314982 0.319397 0.323812 0.328215 0.332612 0.337008 0.341385 0.345762 +0.350132 0.354489 0.358846 0.363188 0.367525 0.371859 0.376175 0.38049 +0.384795 0.389089 0.393383 0.397657 0.401928 0.406194 0.410442 0.41469 +0.418924 0.423148 0.427372 0.431573 0.435773 0.439965 0.444139 0.448314 +0.452471 0.45662 0.460767 0.46489 0.469013 0.473124 0.47722 0.481315 +0.485389 0.489457 0.493521 0.497561 0.501601 0.505626 0.509637 0.513648 +0.517633 0.521615 0.525589 0.529541 0.533492 0.537425 0.541346 0.545267 +0.549158 0.553048 0.556927 0.560785 0.564643 0.568478 0.572304 0.576127 +0.57992 0.583713 0.587491 0.59125 0.595009 0.598741 0.602466 0.606185 +0.609876 0.613567 0.617238 0.620894 0.62455 0.628172 0.631792 0.635402 +0.638985 0.642569 0.646129 0.649675 0.653222 0.656731 0.66024 0.663736 +0.667207 0.670678 0.674121 0.677554 0.680983 0.684377 0.687772 0.691147 +0.694502 0.697856 0.701178 0.704492 0.707799 0.711073 0.714347 0.717598 +0.720832 0.724065 0.72726 0.730452 0.733631 0.736781 0.739931 0.743053 +0.746161 0.749267 0.752332 0.755397 0.758444 0.761466 0.764487 0.767475 +0.770453 0.773425 0.776358 0.779292 0.782203 0.785092 0.787981 0.790831 +0.793675 0.796508 0.799307 0.802105 0.804876 0.807629 0.810381 0.813089 +0.815795 0.818485 0.821145 0.823804 0.826431 0.829043 0.831652 0.834217 +0.836781 0.839325 0.841842 0.844359 0.846837 0.849306 0.851766 0.854186 +0.856606 0.858999 0.86137 0.863741 0.866067 0.868389 0.870697 0.872969 +0.87524 0.87748 0.879702 0.881923 0.884094 0.886266 0.888418 0.890539 +0.892659 0.894742 0.896811 0.898876 0.900894 0.902911 0.904905 0.906872 +0.908838 0.910761 0.912675 0.914579 0.916441 0.918303 0.920135 0.921945 +0.923754 0.925515 0.927271 0.929012 0.930716 0.932419 0.934087 0.935737 +0.937386 0.938983 0.940579 0.942155 0.943697 0.94524 0.946742 0.94823 +0.949712 0.951146 0.952581 0.953988 0.955368 0.956748 0.958081 0.959406 +0.960719 0.961989 0.963259 0.964497 0.965712 0.966927 0.968089 0.969249 +0.970391 0.971495 0.9726 0.973666 0.974714 0.97576 0.976753 0.977746 +0.978715 0.979652 0.980589 0.981482 0.982363 0.983235 0.98406 0.984884 +0.98568 0.986448 0.987216 0.987935 0.988646 0.989344 0.989999 0.990655 +0.991275 0.991874 0.992472 0.993015 0.993557 0.994079 0.994564 0.995049 +0.995493 0.995921 0.996345 0.996716 0.997087 0.997433 0.997747 0.998061 +0.998329 0.998586 0.998833 0.999033 0.999233 0.999401 0.999544 0.999687 +0.999778 0.999863 0.999933 0.999961 0.99999 0.999981 0.999953 0.999924 +0.999838 0.999752 0.999645 0.999502 0.999359 0.999173 0.998973 0.998767 +0.998509 0.998252 0.997968 0.997653 0.997339 0.996977 0.996606 0.996222 +0.995794 0.995366 0.994905 0.99442 0.993934 0.993396 0.992854 0.992294 +0.991695 0.991097 0.99046 0.989804 0.989146 0.988434 0.987723 0.986988 +0.986219 0.985451 0.984639 0.983814 0.982981 0.9821 0.98122 0.98031 +0.979373 0.978436 0.97745 0.976457 0.975451 0.974402 0.973353 0.972271 +0.971167 0.970062 0.968904 0.967744 0.966565 0.96535 0.964135 0.962881 +0.961611 0.960337 0.959012 0.957687 0.956338 0.954958 0.953578 0.952154 +0.95072 0.949276 0.947787 0.946299 0.944781 0.943238 0.941696 0.940104 +0.938508 0.936897 0.935247 0.933596 0.931912 0.930209 0.928505 0.926749 +0.924992 0.923216 0.921407 0.919597 0.917749 0.915887 0.91402 0.912106 +0.910192 0.908253 0.906287 0.904321 0.902311 0.900293 0.898265 0.896196 +0.894127 0.892028 0.889908 0.887788 0.88562 0.883449 0.881263 0.879041 +0.87682 0.874565 0.872293 0.87002 0.867699 0.865377 0.863036 0.860665 +0.858295 0.855886 0.853467 0.85104 0.848572 0.846103 0.843611 0.841094 +0.838577 0.836019 0.833454 0.830879 0.828266 0.825654 0.823014 0.820354 +0.817695 0.814991 0.812284 0.809563 0.80681 0.804058 0.801274 0.798475 +0.795674 0.79283 0.789986 0.787123 0.784234 0.781345 0.77842 0.775487 +0.772546 0.769568 0.76659 0.763589 0.760568 0.757546 0.754486 0.751421 +0.748345 0.745237 0.74213 0.738995 0.735845 0.732695 0.729504 0.726311 +0.723105 0.719871 0.716638 0.713375 0.7101 0.706823 0.703508 0.700193 +0.69686 0.693505 0.690151 0.686764 0.683369 0.679968 0.676535 0.673102 +0.669648 0.666176 0.662705 0.659198 0.655689 0.652169 0.648622 0.645076 +0.641505 0.637921 0.634337 0.630717 0.627098 0.623464 0.619809 0.616153 +0.612471 0.60878 0.605086 0.60136 0.597635 0.593893 0.590134 0.586375 +0.582587 0.578794 0.574994 0.571168 0.567342 0.563498 0.55964 0.555781 +0.551893 0.548003 0.544104 0.540183 0.536261 0.53232 0.528368 0.524415 +0.520433 0.516451 0.512458 0.508446 0.504435 0.500402 0.496362 0.492318 +0.48825 0.484182 0.4801 0.476004 0.471908 0.467789 0.463666 0.459537 +0.455388 0.451239 0.447075 0.4429 0.438726 0.434527 0.430327 0.426119 +0.421894 0.41767 0.413429 0.409181 0.404932 0.40066 0.396389 0.392108 +0.387814 0.383521 0.379209 0.374894 0.370575 0.366238 0.361901 0.357553 +0.353196 0.348838 0.344463 0.340086 0.335703 0.331307 0.32691 0.322502 +0.318086 0.313671 0.309238 0.304805 0.300365 0.295915 0.291465 0.287002 +0.282535 0.278067 0.273584 0.269101 0.264611 0.260113 0.255614 0.251104 +0.246591 0.242076 0.237549 0.233023 0.228488 0.223949 0.219409 0.214857 +0.210305 0.205749 0.201185 0.196621 0.192049 0.187474 0.182898 0.178312 +0.173726 0.169137 0.164541 0.159945 0.155343 0.150738 0.146132 0.141519 +0.136906 0.132289 0.127669 0.123048 0.118421 0.113793 0.109164 0.10453 +0.0998958 0.0952584 0.0906187 0.0859791 0.0813347 0.0766901 0.0720441 +0.0673953 0.0627465 0.0580953 0.053443 0.0487906 0.0441355 0.0394804 +0.0348243 0.0301671 0.0255099 0.0208516 0.016193 0.0115343 0.00687498 +0.00221567 -0.00244365 -0.00710296 -0.0117623 -0.016421 -0.0210796 +-0.0257378 -0.030395 -0.0350522 -0.0397081 -0.0443632 -0.0490183 -0.0536707 +-0.058323 -0.062974 -0.0676228 -0.0722716 -0.0769174 -0.081562 -0.0862061 +-0.0908458 -0.0954854 -0.100123 -0.104757 -0.109391 -0.11402 -0.118647 +-0.123274 -0.127895 -0.132515 -0.137132 -0.141745 -0.146358 -0.150963 +-0.155568 -0.16017 -0.164766 -0.169361 -0.173951 -0.178536 -0.183122 +-0.187697 -0.192273 -0.196844 -0.201408 -0.205972 -0.210528 -0.21508 +-0.219631 -0.224171 -0.228711 -0.233244 -0.237771 -0.242297 -0.246812 +-0.251325 -0.255834 -0.260333 -0.264831 -0.26932 -0.273803 -0.278286 +-0.282754 -0.287221 -0.291682 -0.296133 -0.300583 -0.305022 -0.309455 +-0.313887 -0.318302 -0.322718 -0.327125 -0.331522 -0.335918 -0.3403 +-0.344677 -0.349052 -0.353409 -0.357766 -0.362113 -0.36645 -0.370787 +-0.375105 -0.379421 -0.383731 -0.388025 -0.392318; +#A 8000 -0.396598 -0.400869 -0.405141 -0.409389 -0.413637 -0.417877 +-0.422101 -0.426325 -0.430532 -0.434732 -0.43893 -0.443105 -0.447279 +-0.451443 -0.455591 -0.45974 -0.463868 -0.467991 -0.472109 -0.476204 +-0.4803 -0.484381 -0.488449 -0.492517 -0.49656 -0.5006 -0.504632 -0.508643 +-0.512654 -0.516646 -0.520628 -0.524609 -0.528561 -0.532513 -0.536453 +-0.540374 -0.544295 -0.548194 -0.552084 -0.55597 -0.559829 -0.563687 +-0.56753 -0.571356 -0.575181 -0.57898 -0.582773 -0.586559 -0.590318 +-0.594078 -0.597818 -0.601543 -0.605268 -0.608961 -0.612652 -0.616332 +-0.619988 -0.623643 -0.627275 -0.630895 -0.634514 -0.638097 -0.641681 +-0.64525 -0.648796 -0.652343 -0.655861 -0.659371 -0.662875 -0.666346 +-0.669818 -0.67327 -0.676704 -0.680137 -0.683536 -0.68693 -0.690315 +-0.69367 -0.697025 -0.700356 -0.703671 -0.706986 -0.710261 -0.713536 +-0.716797 -0.72003 -0.723264 -0.726469 -0.729661 -0.73285 -0.736 -0.73915 +-0.742282 -0.74539 -0.748498 -0.751572 -0.754637 -0.757695 -0.760717 +-0.763738 -0.766737 -0.769715 -0.772693 -0.775631 -0.778565 -0.781487 +-0.784376 -0.787265 -0.790126 -0.79297 -0.795814 -0.798613 -0.801412 +-0.804194 -0.806946 -0.809699 -0.812418 -0.815124 -0.817826 -0.820486 +-0.823145 -0.825783 -0.828395 -0.831008 -0.833581 -0.836146 -0.838701 +-0.841218 -0.843735 -0.846225 -0.848694 -0.851162 -0.853586 -0.856006 +-0.858412 -0.860783 -0.863153 -0.865492 -0.867813 -0.870134 -0.872405 +-0.874677 -0.876929 -0.879151 -0.881373 -0.883556 -0.885727 -0.887893 +-0.890013 -0.892133 -0.894229 -0.896298 -0.898368 -0.900393 -0.902411 +-0.904418 -0.906384 -0.90835 -0.910286 -0.912201 -0.914115 -0.91598 +-0.917842 -0.919687 -0.921496 -0.923306 -0.925079 -0.926836 -0.92859 +-0.930293 -0.931997 -0.933678 -0.935328 -0.936979 -0.938587 -0.940184 +-0.941772 -0.943315 -0.944858 -0.946373 -0.947861 -0.94935 -0.950791 +-0.952225 -0.953646 -0.955026 -0.956406 -0.957752 -0.959078 -0.960403 +-0.961674 -0.962944 -0.964196 -0.965411 -0.966626 -0.967802 -0.968962 +-0.970117 -0.971222 -0.972326 -0.973406 -0.974454 -0.975503 -0.976507 +-0.9775 -0.978483 -0.97942 -0.980357 -0.981263 -0.982144 -0.983025 +-0.983855 -0.98468 -0.985489 -0.986257 -0.987026 -0.987758 -0.98847 +-0.989182 -0.989837 -0.990492 -0.991126 -0.991725 -0.992324 -0.992881 +-0.993423 -0.993959 -0.994444 -0.994929 -0.995387 -0.995815 -0.996244 +-0.996624 -0.996995 -0.997355 -0.997669 -0.997983 -0.998265 -0.998522 +-0.998779 -0.998983 -0.999183 -0.999366 -0.999509 -0.999652 -0.999756 +-0.999842 -0.999926 -0.999954 -0.999983 -0.999988 -0.99996 -0.999931 +-0.999859 -0.999773 -0.99968 -0.999537 -0.999394 -0.999222 -0.999022 +-0.998822 -0.998572 -0.998315 -0.998045 -0.99773 -0.997416 -0.997068 +-0.996696 -0.996325 -0.995899 -0.995471 -0.995024 -0.994538 -0.994053 +-0.993528 -0.992986 -0.992441 -0.991842 -0.991243 -0.99062 -0.989965 +-0.989309 -0.988609 -0.987897 -0.987176 -0.986407 -0.985639 -0.984841 +-0.984016 -0.983191 -0.982316 -0.981435 -0.98054 -0.979603 -0.978666 +-0.977693 -0.9767 -0.975707 -0.974659 -0.97361 -0.972541 -0.971437 +-0.970333 -0.969188 -0.968028 -0.966863 -0.965648 -0.964433 -0.963192 +-0.961922 -0.960652 -0.959336 -0.958011 -0.956675 -0.955296 -0.953916 +-0.952505 -0.951071 -0.949636 -0.948152 -0.946663 -0.945159 -0.943616 +-0.942073 -0.940495 -0.938899 -0.937301 -0.935651 -0.934 -0.932329 +-0.930626 -0.928922 -0.927179 -0.925422 -0.923659 -0.921849 -0.92004 +-0.918205 -0.916343 -0.914481 -0.912574 -0.91066 -0.908734 -0.906768 +-0.904802 -0.902805 -0.900787 -0.898769 -0.896702 -0.894633 -0.892547 +-0.890427 -0.888306 -0.886151 -0.88398 -0.881806 -0.879585 -0.877363 +-0.875121 -0.872849 -0.870577 -0.868266 -0.865945 -0.863616 -0.861245 +-0.858874 -0.856478 -0.854058 -0.851638 -0.849176 -0.846707 -0.844226 +-0.841709 -0.839193 -0.836646 -0.834081 -0.831517 -0.828905 -0.826293 +-0.823664 -0.821005 -0.818345 -0.815652 -0.812946 -0.810236 -0.807483 +-0.804731 -0.801958 -0.799159 -0.796361 -0.793525 -0.790681 -0.787829 +-0.78494 -0.782051 -0.779138 -0.776204 -0.77327 -0.770296 -0.767318 +-0.764328 -0.761306 -0.758285 -0.755235 -0.75217 -0.749105 -0.745997 +-0.742889 -0.739765 -0.736615 -0.733465 -0.730284 -0.727091 -0.723895 +-0.720661 -0.717428 -0.714175 -0.710901 -0.707626 -0.704318 -0.701003 +-0.69768 -0.694325 -0.69097 -0.687593 -0.684199 -0.680804 -0.677374 +-0.67394 -0.670496 -0.667024 -0.663552 -0.660056 -0.656546 -0.653035 +-0.649489 -0.645942 -0.64238 -0.638797 -0.635213 -0.631602 -0.627982 +-0.624357 -0.620701 -0.617046 -0.613373 -0.609682 -0.605991 -0.60227 +-0.598545 -0.594812 -0.591052 -0.587293 -0.583513 -0.57972 -0.575927 +-0.572102 -0.568277 -0.56444 -0.560582 -0.556723 -0.552843 -0.548953 +-0.545061 -0.54114 -0.537219 -0.533284 -0.529333 -0.525381 -0.521405 +-0.517423 -0.513437 -0.509426 -0.505415 -0.501388 -0.497348 -0.493308 +-0.489243 -0.485175 -0.4811 -0.477004 -0.472908 -0.468796 -0.464673 +-0.46055 -0.456401 -0.452252 -0.448094 -0.44392 -0.439745 -0.435552 +-0.431352 -0.42715 -0.422926 -0.418702 -0.414466 -0.410218 -0.40597 +-0.401703 -0.397432 -0.393156 -0.388863 -0.384569 -0.380263 -0.375948 +-0.371632 -0.367297 -0.36296 -0.358617 -0.35426 -0.349902 -0.345532 +-0.341154 -0.336777 -0.33238 -0.327983 -0.32358 -0.319164 -0.314749 +-0.31032 -0.305887 -0.301452 -0.297002 -0.292551 -0.288093 -0.283626 +-0.279159 -0.274678 -0.270195 -0.265709 -0.261211 -0.256713 -0.252206 +-0.247693 -0.24318 -0.238654 -0.234128 -0.229597 -0.225057 -0.220517 +-0.215969 -0.211416 -0.206863 -0.202299 -0.197735 -0.193166 -0.188591 +-0.184015 -0.179432 -0.174846 -0.170259 -0.165663 -0.161067 -0.156467 +-0.151862 -0.147258 -0.142646 -0.138032 -0.133417 -0.128797 -0.124176 +-0.119551 -0.114923 -0.110295 -0.105661 -0.101027 -0.0963912 -0.0917515 +-0.0871118 -0.0824686 -0.077824 -0.0731791 -0.0685303 -0.0638815 -0.0592312 +-0.0545789 -0.0499266 -0.045272 -0.0406169 -0.0359614 -0.0313042 -0.026647 +-0.021989 -0.0173304 -0.0126718 -0.00801255 -0.00335324 0.00130607 +0.00596539 0.0106247 0.0152836 0.0199422 0.0246008 0.029258 0.0339152 +0.0385716 0.0432267 0.0478818 0.0525348 0.0571871 0.061839 0.0664878 +0.0711366 0.0757834 0.080428 0.0850725 0.089713 0.0943527 0.0989912 +0.103625 0.108259 0.11289 0.117518 0.122145 0.126766 0.131387 0.136006 +0.140619 0.145232 0.149839 0.154444 0.159048 0.163644 0.168239 0.172831 +0.177417 0.182003 0.18658 0.191156 0.19573 0.200294 0.204858 0.209416 +0.213969 0.218521 0.223062 0.227602 0.232139 0.236666 0.241192 0.24571 +0.250223 0.254736 0.259234 0.263733 0.268226 0.272708 0.277191 0.281663 +0.28613 0.290596 0.295046 0.299497 0.30394 0.308373 0.312806 0.317224 +0.32164 0.326052 0.330448 0.334845 0.339231 0.343608 0.347986 0.352345 +0.356703 0.361054 0.365391 0.369728 0.374051 0.378367 0.382683 0.386976 +0.39127 0.395555 0.399827 0.404098 0.408352 0.4126 0.416846 0.42107 +0.425294 0.429507 0.433707 0.437906 0.442085 0.44626 0.45043 0.454579 +0.458727 0.462862 0.466984 0.471107 0.475204 0.4793 0.483388 0.487456 +0.491524 0.495573 0.499613 0.503652 0.507663 0.511674 0.515674 0.519656 +0.523637 0.527596 0.531548 0.535496 0.539417 0.543338 0.547244 0.551134 +0.555024 0.558887 0.562745 0.566596 0.570421 0.574247 0.578054 0.581847 +0.585639 0.5894 0.59316 0.596908 0.600634 0.604359 0.60806 0.611751 +0.61544 0.619095 0.622751 0.626391 0.630011 0.633631 0.637222 0.640806 +0.644384 0.64793 0.651477 0.655004 0.658514 0.662023 0.665499 0.66897 +0.672432 0.675865 0.679298 0.682707 0.686102 0.689496 0.692851 0.696206 +0.699547 0.702861 0.706176 0.709462 0.712736 0.716007 0.719241 0.722474 +0.725689 0.728881 0.732073 0.735231 0.738381 0.741524 0.744631 0.747739 +0.750824 0.753889 0.756953 0.759979 0.763 0.76601 0.768988 0.771966 +0.774915 0.777849 0.780782 0.783671 0.78656 0.789432 0.792276 0.79512 +0.79793 0.800728 0.803522 0.806274 0.809027 0.811757 0.814463 0.81717 +0.819836 0.822496 0.825145 0.827758 0.83037 0.832955 0.835519 0.838084 +0.840604 0.843121 0.845623 0.848091 0.85056 0.852995 0.855415 0.857833 +0.860204 0.862575 0.864925 0.867247 0.869568 0.871851 0.874123 0.876387 +0.878609 0.88083 0.883026; +#X array sine-2 8820 float 1; +#A 0 0.370518 0.365518 0.360518 0.355498 0.350474 0.345437 0.34039 +0.335337 0.330268 0.325199 0.320109 0.315019 0.309913 0.304802 0.299682 +0.294551 0.289417 0.284268 0.279118 0.273951 0.268783 0.263604 0.258418 +0.253227 0.248024 0.242821 0.237603 0.232384 0.227154 0.22192 0.216679 +0.211431 0.20618 0.200918 0.195656 0.190383 0.185108 0.179825 0.174539 +0.169248 0.16395 0.158651 0.153342 0.148034 0.142718 0.137399 0.132077 +0.12675 0.121421 0.116085 0.11075 0.105408 0.100066 0.0947191 0.0893701 +0.0840192 0.0786645 0.0733096 0.06795 0.0625905 0.0572278 0.0518643 +0.0464991 0.0411323 0.035765 0.0303957 0.0250265 0.0196558 0.0142849 +0.00891355 0.00354187 -0.0018298 -0.00720148 -0.0125731 -0.017944 -0.0233148 +-0.0286845 -0.0340537 -0.0394218 -0.0447886 -0.0501548 -0.0555184 -0.0608819 +-0.0662418 -0.0716014 -0.0769579 -0.0823126 -0.0876653 -0.0930143 -0.0983629 +-0.103705 -0.109048 -0.114385 -0.11972 -0.125052 -0.130379 -0.135704 +-0.141023 -0.146341 -0.15165 -0.156959 -0.162261 -0.167559 -0.172853 +-0.17814 -0.183426 -0.188701 -0.193976 -0.199241 -0.204503 -0.209758 +-0.215007 -0.220252 -0.225486 -0.23072 -0.235939 -0.241158 -0.246366 +-0.251569 -0.256766 -0.261951 -0.267136 -0.272304 -0.277472 -0.282626 +-0.287776 -0.292916 -0.298047 -0.303173 -0.308284 -0.313395 -0.318486 +-0.323577 -0.328653 -0.333721 -0.338782 -0.343828 -0.348873 -0.353897 +-0.35892 -0.363925 -0.368925 -0.373912 -0.378887 -0.383856 -0.388807 +-0.393757 -0.398682 -0.403606 -0.408513 -0.41341 -0.418297 -0.423167 +-0.428034 -0.432876 -0.437718 -0.442536 -0.447349 -0.452147 -0.45693 +-0.461706 -0.466459 -0.471212 -0.475935 -0.480657 -0.485357 -0.490047 +-0.494724 -0.499382 -0.504036 -0.50866 -0.513285 -0.517881 -0.522472 +-0.527044 -0.531599 -0.536146 -0.540667 -0.545188 -0.549673 -0.554158 +-0.558618 -0.563066 -0.567499 -0.57191 -0.576316 -0.580689 -0.585062 +-0.589402 -0.593737 -0.598049 -0.602344 -0.606629 -0.610884 -0.615139 +-0.619354 -0.623569 -0.627755 -0.631928 -0.636084 -0.640215 -0.644342 +-0.648431 -0.65252 -0.656572 -0.660618 -0.66464 -0.668642 -0.672633 +-0.676591 -0.680549 -0.684462 -0.688375 -0.692257 -0.696124 -0.699973 +-0.703795 -0.70761 -0.711385 -0.71516 -0.718895 -0.722623 -0.726324 +-0.730004 -0.733671 -0.737302 -0.740934 -0.744517 -0.7481 -0.751648 +-0.755182 -0.758694 -0.762178 -0.765654 -0.769088 -0.772521 -0.77591 +-0.779293 -0.782645 -0.785976 -0.789292 -0.792571 -0.79585 -0.799076 +-0.802302 -0.805491 -0.808664 -0.811814 -0.814934 -0.818046 -0.821112 +-0.824178 -0.827197 -0.830209 -0.833189 -0.836146 -0.839086 -0.841988 +-0.844889 -0.847735 -0.850581 -0.853386 -0.856176 -0.858941 -0.861674 +-0.864398 -0.867075 -0.869751 -0.872377 -0.874996 -0.877581 -0.880143 +-0.882686 -0.885189 -0.887691 -0.890136 -0.89258 -0.894982 -0.897367 +-0.899726 -0.902053 -0.904369 -0.906636 -0.908903 -0.911117 -0.913324 +-0.915495 -0.917641 -0.919769 -0.921855 -0.92394 -0.925965 -0.92799 +-0.92997 -0.931934 -0.933869 -0.935772 -0.937663 -0.939504 -0.941345 +-0.94313 -0.944909 -0.946649 -0.948366 -0.950062 -0.951715 -0.953367 +-0.954958 -0.956549 -0.958092 -0.95962 -0.961118 -0.962582 -0.964035 +-0.965436 -0.966837 -0.96818 -0.969517 -0.970815 -0.972088 -0.973341 +-0.97455 -0.975756 -0.9769 -0.978045 -0.979141 -0.980221 -0.981271 +-0.982286 -0.983289 -0.98424 -0.985191 -0.986083 -0.986969 -0.987814 +-0.988635 -0.989433 -0.990189 -0.990941 -0.991631 -0.992321 -0.992961 +-0.993586 -0.994179 -0.994738 -0.995284 -0.995778 -0.996272 -0.996705 +-0.997133 -0.99752 -0.997882 -0.998221 -0.998518 -0.99881 -0.999041 +-0.999271 -0.999451 -0.999616 -0.999748 -0.999847 -0.999932 -0.999965 +-0.999998 -0.999969 -0.999937 -0.999861 -0.999762 -0.99964 -0.999475 +-0.999306 -0.999075 -0.998844 -0.998562 -0.998265 -0.997936 -0.997573 +-0.997197 -0.996769 -0.996341 -0.995851 -0.995358 -0.994821 -0.994262 +-0.993679 -0.993054 -0.992424 -0.991733 -0.991043 -0.990301 -0.989545 +-0.988756 -0.987935 -0.9871 -0.986214 -0.985328 -0.984381 -0.98343 +-0.982437 -0.981421 -0.980381 -0.979301 -0.978215 -0.97707 -0.975925 +-0.974729 -0.97352 -0.972277 -0.971004 -0.969715 -0.968378 -0.967041 +-0.965643 -0.964242 -0.962799 -0.961335 -0.959846 -0.958318 -0.956784 +-0.955193 -0.953602 -0.95196 -0.950307 -0.94862 -0.946904 -0.945172 +-0.943393 -0.941615 -0.939777 -0.937936 -0.936053 -0.934151 -0.932224 +-0.93026 -0.92829 -0.926265 -0.924239 -0.922164 -0.920078 -0.917959 +-0.915813 -0.913651 -0.911444 -0.909237 -0.906972 -0.904705 -0.902397 +-0.900071 -0.897721 -0.895335 -0.892942 -0.890498 -0.888053 -0.88556 +-0.883057 -0.880522 -0.877961 -0.875384 -0.872765 -0.870146 -0.867471 +-0.864795 -0.862079 -0.859346 -0.856589 -0.853799 -0.851003 -0.848157 +-0.845311 -0.842418 -0.839516 -0.836584 -0.833627 -0.830655 -0.827643 +-0.824632 -0.821566 -0.8185 -0.815396 -0.812276 -0.809134 -0.805961 +-0.80278 -0.799554 -0.796327 -0.793056 -0.789778 -0.78647 -0.783139 +-0.779794 -0.776411 -0.773029 -0.769596 -0.766163 -0.762694 -0.75921 +-0.755705 -0.752172 -0.748631 -0.745048 -0.741465 -0.73784 -0.734208 +-0.730549 -0.726869 -0.723175 -0.719447 -0.715719 -0.711944 -0.708169 +-0.704361 -0.700539 -0.696697 -0.69283 -0.688955 -0.685042 -0.681129 +-0.677177 -0.673219 -0.669235 -0.665233 -0.661218 -0.657172 -0.653125 +-0.649036 -0.644947 -0.640827 -0.636696 -0.632546 -0.628373 -0.624193 +-0.619979 -0.615764 -0.611514 -0.607259 -0.602981 -0.598686 -0.594379 +-0.590044 -0.58571 -0.581337 -0.576964 -0.572563 -0.568152 -0.563725 +-0.559277 -0.554823 -0.550338 -0.545853 -0.541337 -0.536816 -0.532274 +-0.527718 -0.523152 -0.518561 -0.51397 -0.509345 -0.504721 -0.500072 +-0.495414 -0.490742 -0.486052 -0.481356 -0.476634 -0.471912 -0.467163 +-0.46241 -0.457639 -0.452855 -0.448062 -0.443249 -0.438436 -0.433594 +-0.428752 -0.423889 -0.419019 -0.414136 -0.409238 -0.404336 -0.399412 +-0.394488 -0.38954 -0.38459 -0.379624 -0.374649 -0.369665 -0.364665 +-0.359664 -0.354641 -0.349617 -0.344576 -0.33953 -0.334472 -0.329404 +-0.324331 -0.319241 -0.31415 -0.309041 -0.30393 -0.298807 -0.293676 +-0.288539 -0.283389 -0.278238 -0.27307 -0.267902 -0.26272 -0.257534 +-0.25234 -0.247137 -0.241931 -0.236713 -0.231494 -0.226261 -0.221027 +-0.215784 -0.210536 -0.205283 -0.200021 -0.194758 -0.189483 -0.184208 +-0.178924 -0.173637 -0.168344 -0.163046 -0.157746 -0.152437 -0.147128 +-0.141811 -0.136492 -0.131168 -0.125841 -0.120511 -0.115175 -0.10984 +-0.104497 -0.0991544 -0.0938068 -0.0884577 -0.0831058 -0.0777511 -0.0723954 +-0.0670358 -0.0616763 -0.056313 -0.0509494 -0.0455837 -0.0402169 -0.0348492 +-0.0294799 -0.0241106 -0.0187397 -0.0133688 -0.00799731 -0.00262564 +0.00274604 0.00811771 0.0134892 0.0188601 0.0242309 0.0296003 0.0349696 +0.0403372 0.045704 0.0510696 0.0564332 0.0617964 0.067156 0.0725155 +0.0778712 0.0832259 0.0885776 0.0939267 0.0992742 0.104617 0.109959 +0.115295 0.12063 0.12596 0.131288 0.136611 0.14193 0.147247 0.152556 +0.157865 0.163165 0.168463 0.173755 0.179042 0.184326 0.189601 0.194876 +0.200139 0.205401 0.210653 0.215902 0.221145 0.226378 0.231611 0.236829 +0.242048 0.247254 0.252456 0.25765 0.262836 0.268017 0.273186 0.278354 +0.283505 0.288654 0.293791 0.298922 0.304045 0.309156 0.314264 0.319355 +0.324445 0.329517 0.334586 0.339643 0.344689 0.34973 0.354753 0.359777 +0.364778 0.369777 0.37476 0.379736 0.384701 0.389651 0.394598 0.399522 +0.404446 0.409348 0.414246 0.419128 0.423998 0.42886 0.433702 0.438544 +0.443357 0.44817 0.452963 0.457746 0.462516 0.467269 0.472018 0.47674 +0.481462 0.486157 0.490847 0.495519 0.500176 0.504825 0.509449 0.514073 +0.518664 0.523255 0.527821 0.532377 0.536917 0.541438 0.545954 0.550438 +0.554923 0.559376 0.563825 0.568251 0.572662 0.577062 0.581435 0.585808 +0.590142 0.594476 0.598782 0.603077 0.607355 0.61161 0.615859 0.620073 +0.624287 0.628466 0.63264 0.636789 0.64092 0.645039 0.649128 0.653217 +0.657263 0.661308 0.665323 0.669325 0.673308 0.677266 0.681217 0.68513 +0.689043 0.692916 0.696784 0.700625 0.704446 0.708254 0.712029 0.715803 +0.719531 0.723259 0.726952 0.730632 0.73429 0.737922 0.741546 0.745129 +0.748711 0.752251 0.755785 0.759288 0.762772 0.76624 0.769673 0.773105 +0.776487 0.779869 0.783213 0.786544 0.789851 0.79313 0.7964 0.799626 +0.802853 0.806032 0.809205 0.812346 0.815466 0.818569 0.821635 0.824699 +0.827711 0.830723 0.833693 0.83665 0.839581 0.842483 0.845375 0.848221 +0.851066 0.853862 0.856652 0.859407 0.86214 0.864855 0.867531 0.870205 +0.872824 0.875443 0.878018 0.880579 0.883113 0.885616 0.888108 0.890553 +0.892997 0.895388 0.897774 0.900123 0.902449 0.904756 0.907023 0.909286 +0.911493 0.9137 0.915861 0.918008 0.920125 0.922211 0.924285 0.92631 +0.928335 0.930305 0.932268 0.934194 0.936096 0.937977 0.939818 0.941655 +0.943433 0.945212 0.946942 0.948658 0.950344 0.951998 0.953638 0.955229 +0.95682 0.958352 0.95988 0.961367 0.962832 0.964274 0.965675 0.967071 +0.968408 0.969745 0.971032 0.972306 0.973547 0.974756 0.975951 0.977096 +0.97824 0.979325 0.980405 0.981444 0.982459 0.983451 0.984402 0.985348 +0.986234 0.98712 0.987954 0.988775 0.989562 0.990318 0.991059 0.991749 +0.992439 0.993068 0.993693 0.994274 0.994834 0.995369 0.995862 0.99635 +0.996778 0.997206 0.997582 0.997944 0.998272 0.998568 0.99885 0.99908 +0.999311 0.999479 0.999644 0.999765 0.999863 0.999937 0.99997 0.999997 +0.999964 0.999931 0.999845 0.999746 0.999612 0.999448 0.999267 0.999036 +0.998806 0.998512 0.998215 0.997875 0.997512 0.997125 0.996697 0.996262 +0.995768 0.995275 0.994727 0.994168 0.993574 0.992949 0.992308 0.991617 +0.990927 0.990174 0.989418 0.988618 0.987797 0.986951 0.986065 0.985172 +0.984221 0.98327 0.982266 0.98125 0.9802 0.979119 0.978022 0.976878 +0.975733 0.974526 0.973316 0.972063 0.97079 0.969491 0.968154 0.966809 +0.965408 0.964007 0.962553; +#A 1000 0.961089 0.959589 0.958062 0.956517 0.954926 0.953335 0.951683 +0.950029 0.948332 0.946615 0.944873 0.943095 0.941308 0.939467 0.937627 +0.935734 0.933832 0.931895 0.929931 0.92795 0.925925 0.9239 0.921814 +0.919728 0.917599 0.915452 0.91328 0.911073 0.908858 0.906591 0.904325 +0.902007 0.89968 0.89732 0.894935 0.892532 0.890088 0.887643 0.88514 +0.882637 0.880092 0.877531 0.874945 0.872326 0.869699 0.867022 0.864346 +0.861621 0.858887 0.856121 0.853332 0.850525 0.847679 0.844833 0.841931 +0.83903 0.836088 0.833131 0.83015 0.827138 0.824118 0.821052 0.817986 +0.814873 0.811753 0.808602 0.805429 0.802239 0.799013 0.795786 0.792507 +0.789228 0.785911 0.78258 0.779227 0.775844 0.772454 0.769021 0.765587 +0.76211 0.758626 0.755113 0.75158 0.748031 0.744448 0.740864 0.737232 +0.7336 0.729932 0.726252 0.722551 0.718823 0.715087 0.711312 0.707537 +0.70372 0.699899 0.69605 0.692182 0.6883 0.684387 0.680472 0.676514 +0.672556 0.668565 0.664563 0.66054 0.656494 0.652441 0.648352 0.644263 +0.640136 0.636004 0.631847 0.627674 0.623487 0.619273 0.615057 0.610802 +0.606547 0.602262 0.597967 0.593653 0.589319 0.584978 0.580605 0.576232 +0.571825 0.567414 0.56298 0.558532 0.554072 0.549587 0.545101 0.54058 +0.53606 0.531512 0.526956 0.522384 0.517793 0.513196 0.508572 0.503947 +0.499293 0.494635 0.489957 0.485267 0.480566 0.475844 0.47112 0.466367 +0.461615 0.456838 0.452055 0.447257 0.442444 0.437625 0.432783 0.427942 +0.423074 0.418204 0.413316 0.408419 0.403512 0.398588 0.393662 0.388712 +0.383761 0.378792 0.373816 0.368829 0.363829 0.358824 0.3538 0.348777 +0.343732 0.338685 0.333624 0.328555 0.323479 0.318389 0.313297 0.308186 +0.303075 0.297949 0.292818 0.287677 0.282527 0.277373 0.272205 0.267037 +0.261852 0.256666 0.251469 0.246266 0.241058 0.235839 0.230619 0.225385 +0.220151 0.214906 0.209658 0.204402 0.19914 0.193875 0.1886 0.183325 +0.178039 0.172752 0.167458 0.162159 0.156857 0.151549 0.146239 0.140921 +0.135602 0.130277 0.124949 0.119618 0.114283 0.108946 0.103603 0.0982604 +0.0929117 0.0875626 0.0822098 0.0768551 0.0714985 0.066139 0.060779 +0.0554155 0.0500519 0.0446856 0.0393188 0.0339507 0.0285814 0.0232118 +0.0178409 0.0124701 0.00709842 0.00172674 -0.00364493 -0.00901661 -0.014388 +-0.0197588 -0.0251295 -0.0304988 -0.035868 -0.0412353 -0.0466021 -0.0519672 +-0.0573307 -0.0626933 -0.0680528 -0.0734124 -0.0787672 -0.084122 -0.0894728 +-0.0948218 -0.100168 -0.105511 -0.110853 -0.116188 -0.121523 -0.126852 +-0.132179 -0.137501 -0.14282 -0.148136 -0.153444 -0.158753 -0.164051 +-0.16935 -0.17464 -0.179927 -0.185209 -0.190484 -0.195757 -0.201019 +-0.206281 -0.211532 -0.21678 -0.22202 -0.227254 -0.232484 -0.237703 +-0.242921 -0.248124 -0.253327 -0.258518 -0.263704 -0.268882 -0.274051 +-0.279216 -0.284366 -0.289516 -0.29465 -0.299781 -0.3049 -0.310011 +-0.315116 -0.320206 -0.325297 -0.330366 -0.335434 -0.340487 -0.345534 +-0.35057 -0.355594 -0.360614 -0.365614 -0.370614 -0.375593 -0.380568 +-0.385529 -0.390479 -0.395422 -0.400346 -0.40527 -0.410168 -0.415065 +-0.419943 -0.424813 -0.429671 -0.434512 -0.43935 -0.444163 -0.448976 +-0.453763 -0.458546 -0.463312 -0.468065 -0.472808 -0.47753 -0.482252 +-0.486942 -0.491632 -0.496298 -0.500956 -0.505599 -0.510223 -0.514842 +-0.519432 -0.524023 -0.528583 -0.533139 -0.537674 -0.542195 -0.546704 +-0.551189 -0.555673 -0.560121 -0.564569 -0.568989 -0.5734 -0.577794 +-0.582167 -0.586533 -0.590867 -0.595201 -0.599501 -0.603796 -0.608067 +-0.612322 -0.616564 -0.620778 -0.624991 -0.629165 -0.633338 -0.63748 +-0.641611 -0.645723 -0.649812 -0.653894 -0.65794 -0.661985 -0.665992 +-0.669995 -0.67397 -0.677928 -0.681871 -0.685785 -0.689696 -0.693564 +-0.697431 -0.701264 -0.705086 -0.708886 -0.712661 -0.716427 -0.720155 +-0.723883 -0.727567 -0.731247 -0.734898 -0.73853 -0.742145 -0.745728 +-0.749309 -0.752842 -0.756376 -0.759871 -0.763355 -0.766814 -0.770248 +-0.773671 -0.777053 -0.780435 -0.783771 -0.787102 -0.7904 -0.793679 +-0.79694 -0.800166 -0.803389 -0.806563 -0.809736 -0.812868 -0.815988 +-0.819082 -0.822148 -0.825203 -0.828215 -0.831227 -0.834188 -0.837145 +-0.840067 -0.842969 -0.845851 -0.848697 -0.851539 -0.854329 -0.857119 +-0.859864 -0.862598 -0.865303 -0.867979 -0.870643 -0.873262 -0.875881 +-0.878447 -0.881008 -0.883532 -0.886035 -0.888517 -0.890962 -0.893402 +-0.895788 -0.898173 -0.900512 -0.902839 -0.905135 -0.907402 -0.909656 +-0.911863 -0.91407 -0.91622 -0.918367 -0.920474 -0.92256 -0.924624 +-0.926649 -0.928669 -0.930633 -0.932597 -0.934512 -0.936415 -0.938285 +-0.940126 -0.941952 -0.943731 -0.94551 -0.947229 -0.948946 -0.950621 +-0.952274 -0.953904 -0.955495 -0.95708 -0.958608 -0.960136 -0.961613 +-0.963077 -0.964508 -0.965909 -0.967295 -0.968632 -0.969969 -0.971245 +-0.972519 -0.973749 -0.974958 -0.976143 -0.977287 -0.978426 -0.979506 +-0.980586 -0.981614 -0.982629 -0.983611 -0.984561 -0.985496 -0.986382 +-0.987268 -0.988091 -0.988912 -0.989689 -0.990444 -0.991174 -0.991864 +-0.992548 -0.993172 -0.993797 -0.994368 -0.994927 -0.995451 -0.995945 +-0.996422 -0.99685 -0.997278 -0.997642 -0.998004 -0.998322 -0.998618 +-0.998888 -0.999119 -0.999342 -0.999506 -0.999671 -0.999781 -0.99988 +-0.999943 -0.999976 -0.999991 -0.999958 -0.999925 -0.999828 -0.999729 +-0.999584 -0.99942 -0.999228 -0.998997 -0.998758 -0.998462 -0.998165 +-0.997813 -0.997451 -0.997052 -0.996624 -0.996178 -0.995684 -0.995191 +-0.994632 -0.994073 -0.993467 -0.992843 -0.99219 -0.9915 -0.990801 +-0.990045 -0.98929 -0.988479 -0.987658 -0.9868 -0.985915 -0.985011 +-0.98406 -0.983109 -0.982093 -0.981078 -0.980016 -0.978936 -0.977828 +-0.976683 -0.975529 -0.97432 -0.973111 -0.971847 -0.970574 -0.969264 +-0.967926 -0.966571 -0.96517 -0.963769 -0.962304 -0.96084 -0.95933 +-0.957802 -0.956247 -0.954656 -0.953055 -0.951402 -0.949748 -0.94804 +-0.946324 -0.944571 -0.942792 -0.940995 -0.939155 -0.937313 -0.935411 +-0.933508 -0.931561 -0.929597 -0.927606 -0.92558 -0.923545 -0.921459 +-0.919373 -0.917234 -0.915087 -0.912905 -0.910698 -0.908473 -0.906206 +-0.903938 -0.901611 -0.899285 -0.896914 -0.894529 -0.892116 -0.889672 +-0.887217 -0.884714 -0.882211 -0.879656 -0.877095 -0.874499 -0.87188 +-0.869243 -0.866567 -0.863889 -0.861155 -0.858422 -0.855647 -0.852857 +-0.850041 -0.847195 -0.844339 -0.841437 -0.838536 -0.835585 -0.832628 +-0.829637 -0.826626 -0.823596 -0.82053 -0.817462 -0.814342 -0.811222 +-0.808062 -0.804888 -0.80169 -0.798464 -0.795227 -0.791949 -0.78867 +-0.785344 -0.782013 -0.778651 -0.775268 -0.771869 -0.768436 -0.765 +-0.761517 -0.758033 -0.754511 -0.750978 -0.74742 -0.743837 -0.740245 +-0.736613 -0.732981 -0.729305 -0.725625 -0.721915 -0.718188 -0.714444 +-0.710669 -0.706891 -0.703069 -0.699247 -0.69539 -0.691523 -0.687633 +-0.68372 -0.679797 -0.675839 -0.671881 -0.667883 -0.66388 -0.65985 +-0.655804 -0.651744 -0.647655 -0.643563 -0.639431 -0.6353 -0.631136 +-0.626963 -0.622769 -0.618554 -0.614331 -0.610076 -0.605821 -0.601529 +-0.597234 -0.592914 -0.58858 -0.584232 -0.579859 -0.575484 -0.571073 +-0.566662 -0.562222 -0.557774 -0.553307 -0.548822 -0.54433 -0.539809 +-0.535289 -0.530735 -0.526179 -0.521601 -0.51701 -0.512407 -0.507783 +-0.503156 -0.498498 -0.49384 -0.489157 -0.484467 -0.479761 -0.475039 +-0.47031 -0.465557 -0.460804 -0.456022 -0.451239 -0.446436 -0.441623 +-0.436799 -0.431958 -0.427113 -0.422243 -0.417373 -0.412481 -0.407583 +-0.402672 -0.397748 -0.392817 -0.387867 -0.382917 -0.377943 -0.372968 +-0.367976 -0.362976 -0.357967 -0.352943 -0.347917 -0.342871 -0.337824 +-0.33276 -0.327691 -0.322611 -0.317521 -0.312425 -0.307314 -0.302203 +-0.297073 -0.291943 -0.286799 -0.281649 -0.276492 -0.271323 -0.266153 +-0.260967 -0.255781 -0.250582 -0.245379 -0.240168 -0.234949 -0.229726 +-0.224493 -0.219259 -0.214011 -0.208762 -0.203505 -0.198243 -0.192975 +-0.1877 -0.182424 -0.177137 -0.17185 -0.166554 -0.161256 -0.155952 +-0.150643 -0.145332 -0.140013 -0.134695 -0.129368 -0.124041 -0.118708 +-0.113373 -0.108034 -0.102692 -0.0973483 -0.0919993 -0.0866503 -0.0812965 +-0.0759417 -0.0705843 -0.0652248 -0.0598642 -0.0545006 -0.049137 -0.0437702 +-0.0384034 -0.0330349 -0.0276656 -0.0222957 -0.0169248 -0.0115539 -0.00618219 +-0.000810511 0.00456116 0.00993284 0.0153041 0.0206749 0.0260453 0.0314146 +0.0367839 0.0421507 0.0475175 0.052882 0.0582456 0.0636075 0.068967 +0.0743259 0.0796806 0.0850353 0.0903851 0.0957341 0.101079 0.106422 +0.111763 0.117098 0.122433 0.12776 0.133088 0.138408 0.143727 0.149041 +0.15435 0.159657 0.164955 0.170253 0.175542 0.180829 0.186109 0.191384 +0.196655 0.201917 0.207178 0.212427 0.217675 0.222913 0.228147 0.233374 +0.238593 0.243809 0.249012 0.254214 0.259402 0.264588 0.269764 0.274932 +0.280095 0.285245 0.290394 0.295525 0.300656 0.305772 0.310883 0.315984 +0.321075 0.326161 0.33123 0.336299 0.341348 0.346395 0.351427 0.356451 +0.361467 0.366467 0.371466 0.376442 0.381417 0.386373 0.391324 0.396262 +0.401186 0.406106 0.411003 0.4159 0.420773 0.425644 0.430496 0.435338 +0.440171 0.444984 0.449796 0.454579 0.459362 0.464123 0.468875 0.473614 +0.478336 0.483052 0.487742 0.492432 0.497093 0.50175 0.506387 0.511012 +0.515625 0.520215 0.524804 0.52936 0.533916 0.538445 0.542966 0.547469 +0.551954 0.556431 0.560879 0.565328 0.569742 0.574152 0.57854 0.582912 +0.587272 0.591606 0.595938 0.600233 0.604528 0.608792 0.613047 0.617283 +0.621497 0.625703 0.629876 0.63405 0.638185 0.642316 0.646421 0.65051 +0.654584 0.65863 0.662673 0.666675 0.670677 0.674645 0.678603 0.682539 +0.686452 0.690356 0.694223 0.698091 0.701916 0.705738 0.70953 0.713304 +0.717063 0.720791 0.724515 0.728195 0.731875 0.735517 0.739149 0.742756 +0.746339 0.749911 0.753445 0.756979 0.760466 0.763949 0.7674 0.770833 +0.774248 0.77763 0.781008 0.784339 0.78767 0.790959 0.794238 0.79749 +0.800716 0.803931; +#A 2000 0.807104 0.810278 0.813401 0.816521 0.819605 0.822671 0.825717 +0.828729 0.831736 0.834692 0.837649 0.840562 0.843463 0.846336 0.849182 +0.852015 0.854805 0.857595 0.860331 0.863064 0.865759 0.868436 0.87109 +0.873709 0.876322 0.878884 0.881445 0.883959 0.886462 0.888934 0.891379 +0.893809 0.896195 0.89858 0.900909 0.903236 0.905522 0.907789 0.910032 +0.912239 0.91444 0.916586 0.918733 0.92083 0.922916 0.924969 0.926994 +0.929004 0.930968 0.932932 0.934837 0.936739 0.938599 0.94044 0.942256 +0.944034 0.945806 0.947522 0.949238 0.950903 0.952556 0.954176 0.955767 +0.957341 0.958869 0.960396 0.961862 0.963327 0.964747 0.966148 0.967523 +0.96886 0.970189 0.971463 0.972736 0.973955 0.975164 0.976338 0.977482 +0.97861 0.97969 0.98077 0.981787 0.982803 0.983773 0.984724 0.985647 +0.986533 0.98741 0.988231 0.989052 0.989818 0.990573 0.991292 0.991982 +0.992654 0.993279 0.993904 0.994463 0.995023 0.995535 0.996029 0.996495 +0.996923 0.997342 0.997704 0.998066 0.998372 0.998669 0.998928 0.999158 +0.99937 0.999535 0.999699 0.999798 0.999897 0.999948 0.999981 0.999986 +0.999953 0.99991 0.999811 0.999712 0.999557 0.999392 0.999189 0.998958 +0.998708 0.998412 0.998115 0.997752 0.99739 0.99698 0.996552 0.996095 +0.995601 0.995097 0.994538 0.993979 0.993362 0.992738 0.992074 0.991384 +0.990674 0.989918 0.989162 0.988341 0.98752 0.986652 0.985766 0.984851 +0.9839 0.982938 0.981923 0.980907 0.979835 0.978754 0.977636 0.976491 +0.975326 0.974117 0.972906 0.971633 0.97036 0.969039 0.967702 0.966335 +0.964935 0.963523 0.962058 0.960594 0.959073 0.957545 0.955979 0.954389 +0.952778 0.951124 0.949468 0.947752 0.946035 0.944272 0.942494 0.940686 +0.938846 0.936994 0.935091 0.933189 0.931231 0.929267 0.927266 0.92524 +0.923195 0.921109 0.91902 0.916874 0.914727 0.912535 0.910328 0.908092 +0.905825 0.903547 0.901221 0.898894 0.896514 0.894128 0.891706 0.889262 +0.886797 0.884294 0.881788 0.879227 0.876666 0.87406 0.871441 0.868794 +0.866118 0.86343 0.860697 0.857964 0.855179 0.852389 0.849564 0.846718 +0.843852 0.840951 0.838046 0.835089 0.832132 0.829132 0.826121 0.823082 +0.820016 0.816939 0.813819 0.810699 0.80753 0.804356 0.801149 0.797923 +0.794678 0.791399 0.788117 0.784786 0.781455 0.778084 0.774702 0.771294 +0.767861 0.764417 0.760933 0.757449 0.753919 0.750386 0.74682 0.743237 +0.739636 0.736005 0.732369 0.728689 0.725009 0.721291 0.717563 0.713811 +0.710036 0.706251 0.702429 0.698608 0.694743 0.690875 0.686977 0.683064 +0.679135 0.675177 0.671215 0.667212 0.66321 0.659173 0.655127 0.651059 +0.64697 0.642871 0.63874 0.634608 0.630437 0.626264 0.622063 0.617849 +0.613619 0.609364 0.605105 0.60081 0.596515 0.592189 0.587855 0.5835 +0.579127 0.574745 0.570334 0.565924 0.561477 0.557029 0.552557 0.548072 +0.543573 0.539053 0.534528 0.529973 0.525417 0.520832 0.516242 0.511633 +0.507009 0.502376 0.497719 0.493061 0.488372 0.483682 0.47897 0.474249 +0.469514 0.464761 0.460005 0.455222 0.450438 0.445631 0.440818 0.435989 +0.431147 0.426298 0.421428 0.416558 0.411661 0.406764 0.401848 0.396924 +0.391989 0.387039 0.382086 0.37711 0.372135 0.367139 0.362139 0.357126 +0.352103 0.347073 0.342026 0.33698 0.331911 0.326843 0.321759 0.316669 +0.31157 0.306459 0.301346 0.296215 0.291084 0.285937 0.280787 0.275627 +0.270459 0.265285 0.2601 0.254914 0.249711 0.244508 0.239294 0.234076 +0.228851 0.223617 0.218381 0.213132 0.207884 0.202624 0.197362 0.192093 +0.186818 0.181539 0.176252 0.170966 0.165667 0.160369 0.155063 0.149755 +0.144442 0.139123 0.133804 0.128477 0.123149 0.117815 0.11248 0.10714 +0.101798 0.0964532 0.0911042 0.0857551 0.0804004 0.0750457 0.0696875 +0.064328 0.0589666 0.0536031 0.048239 0.0428721 0.0375053 0.0321364 +0.0267671 0.0213969 0.0160261 0.010655 0.00528329 -8.83821e-05 -0.00546006 +-0.0108317 -0.0162028 -0.0215737 -0.0269438 -0.0323131 -0.0376819 -0.0430488 +-0.0484156 -0.0537796 -0.0591431 -0.0645043 -0.0698639 -0.0752219 -0.0805766 +-0.0859312 -0.0912802 -0.0966293 -0.101974 -0.107316 -0.112655 -0.117991 +-0.123325 -0.128652 -0.133979 -0.139298 -0.144617 -0.149929 -0.155238 +-0.160543 -0.165842 -0.17114 -0.176426 -0.181713 -0.186991 -0.192266 +-0.197535 -0.202797 -0.208057 -0.213305 -0.218553 -0.223789 -0.229023 +-0.234247 -0.239466 -0.24468 -0.249882 -0.255084 -0.26027 -0.265456 +-0.270629 -0.275797 -0.280957 -0.286107 -0.291253 -0.296384 -0.301515 +-0.306627 -0.311738 -0.316836 -0.321926 -0.327009 -0.332078 -0.337146 +-0.342192 -0.347239 -0.352268 -0.357292 -0.362304 -0.367304 -0.372299 +-0.377274 -0.382249 -0.387202 -0.392152 -0.397086 -0.40201 -0.406925 +-0.411823 -0.416718 -0.421588 -0.426458 -0.431307 -0.436148 -0.440976 +-0.445789 -0.450596 -0.455379 -0.460163 -0.464918 -0.469671 -0.474404 +-0.479126 -0.483836 -0.488526 -0.493214 -0.497872 -0.50253 -0.507161 +-0.511786 -0.516393 -0.520983 -0.525567 -0.530122 -0.534678 -0.539201 +-0.543722 -0.54822 -0.552704 -0.557176 -0.561624 -0.566069 -0.57048 +-0.574891 -0.579271 -0.583644 -0.587997 -0.592332 -0.596657 -0.600952 +-0.605247 -0.609504 -0.613759 -0.617988 -0.622202 -0.626402 -0.630575 +-0.634745 -0.638876 -0.643007 -0.647105 -0.651194 -0.655261 -0.659307 +-0.663343 -0.667345 -0.671347 -0.675307 -0.679265 -0.683194 -0.687107 +-0.691003 -0.694871 -0.698734 -0.702556 -0.706377 -0.710161 -0.713936 +-0.717687 -0.721414 -0.725131 -0.728811 -0.732491 -0.736125 -0.739757 +-0.743356 -0.746939 -0.750503 -0.754036 -0.757565 -0.761048 -0.764532 +-0.767975 -0.771408 -0.774814 -0.778196 -0.781566 -0.784896 -0.788227 +-0.791508 -0.794787 -0.79803 -0.801256 -0.804462 -0.807635 -0.810803 +-0.813923 -0.817043 -0.820118 -0.823184 -0.826221 -0.829233 -0.83223 +-0.835187 -0.838144 -0.841047 -0.843949 -0.846812 -0.849658 -0.852482 +-0.855272 -0.858055 -0.860788 -0.863521 -0.866207 -0.868883 -0.871528 +-0.874147 -0.876751 -0.879312 -0.881873 -0.884378 -0.886881 -0.889343 +-0.891788 -0.894208 -0.896594 -0.898972 -0.901298 -0.903625 -0.905901 +-0.908168 -0.910401 -0.912608 -0.914799 -0.916946 -0.919092 -0.921179 +-0.923265 -0.925308 -0.927333 -0.929333 -0.931297 -0.933252 -0.935155 +-0.937057 -0.938907 -0.940748 -0.942553 -0.944332 -0.946093 -0.947809 +-0.949526 -0.951179 -0.952833 -0.954442 -0.956033 -0.957597 -0.959124 +-0.960643 -0.962107 -0.963572 -0.964982 -0.966383 -0.967747 -0.969084 +-0.970402 -0.971676 -0.972948 -0.974158 -0.975367 -0.976529 -0.977674 +-0.978791 -0.979871 -0.980941 -0.981957 -0.982973 -0.983932 -0.984883 +-0.985796 -0.986681 -0.987548 -0.988369 -0.989188 -0.989944 -0.990699 +-0.991407 -0.992098 -0.992759 -0.993383 -0.993998 -0.994557 -0.995116 +-0.995618 -0.996112 -0.996567 -0.996995 -0.997402 -0.997765 -0.998125 +-0.998422 -0.998718 -0.998966 -0.999197 -0.999397 -0.999562 -0.999716 +-0.999815 -0.999913 -0.999954 -0.999987 -0.99998 -0.999947 -0.999893 +-0.999794 -0.999693 -0.999529 -0.999364 -0.99915 -0.998919 -0.998658 +-0.998361 -0.998053 -0.997691 -0.997329 -0.996907 -0.996479 -0.996011 +-0.995518 -0.995003 -0.994443 -0.993881 -0.993256 -0.992631 -0.991957 +-0.991267 -0.990546 -0.98979 -0.989022 -0.988201 -0.987381 -0.986501 +-0.985615 -0.984689 -0.983738 -0.982766 -0.98175 -0.980731 -0.979651 +-0.978571 -0.977441 -0.976296 -0.975121 -0.973912 -0.97269 -0.971417 +-0.970143 -0.968812 -0.967475 -0.966097 -0.964696 -0.963274 -0.961809 +-0.960341 -0.958813 -0.957286 -0.955709 -0.954118 -0.952497 -0.950843 +-0.949176 -0.94746 -0.945744 -0.94397 -0.942191 -0.940373 -0.938533 +-0.93667 -0.934768 -0.932861 -0.930897 -0.928933 -0.926921 -0.924896 +-0.92284 -0.920754 -0.918655 -0.916509 -0.914362 -0.912159 -0.909952 +-0.907707 -0.90544 -0.903152 -0.900825 -0.898494 -0.896108 -0.893723 +-0.89129 -0.888846 -0.886371 -0.883868 -0.881352 -0.878791 -0.87623 +-0.873614 -0.870995 -0.868339 -0.865662 -0.862965 -0.860232 -0.857494 +-0.854704 -0.851914 -0.849079 -0.846233 -0.843359 -0.840457 -0.837542 +-0.834585 -0.831629 -0.82862 -0.825608 -0.82256 -0.819494 -0.816408 +-0.813288 -0.810163 -0.806989 -0.803816 -0.8006 -0.797373 -0.794119 +-0.790841 -0.787549 -0.784219 -0.780888 -0.777508 -0.774125 -0.770709 +-0.767276 -0.763823 -0.760339 -0.756851 -0.753317 -0.749784 -0.74621 +-0.742627 -0.739018 -0.735386 -0.731742 -0.728062 -0.724382 -0.720656 +-0.716928 -0.713168 -0.709393 -0.705599 -0.701778 -0.697951 -0.694083 +-0.690216 -0.686311 -0.682397 -0.67846 -0.674502 -0.670533 -0.66653 +-0.662528 -0.658483 -0.654437 -0.650362 -0.646273 -0.642167 -0.638035 +-0.633899 -0.629726 -0.625552 -0.621345 -0.61713 -0.612894 -0.608639 +-0.604373 -0.600078 -0.595783 -0.59145 -0.587115 -0.582754 -0.578382 +-0.573993 -0.569582 -0.565167 -0.560719 -0.556271 -0.551792 -0.547307 +-0.542802 -0.538282 -0.533751 -0.529195 -0.524639 -0.520049 -0.515459 +-0.510845 -0.50622 -0.501582 -0.496924 -0.492262 -0.487572 -0.482882 +-0.478165 -0.473443 -0.468704 -0.463951 -0.459189 -0.454406 -0.449623 +-0.44481 -0.439997 -0.435163 -0.430321 -0.425468 -0.420598 -0.415724 +-0.410826 -0.405929 -0.401008 -0.396084 -0.391145 -0.386195 -0.381237 +-0.376262 -0.371286 -0.366286 -0.361286 -0.356269 -0.351246 -0.346212 +-0.341166 -0.336116 -0.331047 -0.325978 -0.320891 -0.315801 -0.310698 +-0.305587 -0.30047 -0.29534 -0.290209 -0.285059 -0.279909 -0.274745 +-0.269577 -0.264401 -0.259215 -0.254026 -0.248824 -0.243621 -0.238404 +-0.233186 -0.227958 -0.222724 -0.217486 -0.212237 -0.206989 -0.201726 +-0.196464 -0.191193 -0.185918 -0.180638 -0.175351 -0.170062 -0.164764 +-0.159465 -0.154158 -0.148849 -0.143535 -0.138216 -0.132895 -0.127568 +-0.12224 -0.116905 -0.11157 -0.106229 -0.100886 -0.0955409 -0.0901918 +-0.0848418 -0.0794871 -0.0741323 -0.0687733 -0.0634138 -0.0580518 -0.0526882 +-0.0473236 -0.0419567 -0.0365898 -0.0312206 -0.0258513 -0.0204809 -0.01511 +-0.00973874 -0.00436706 0.00100462 0.00637629 0.011748 0.0171189 0.0224898 +; +#A 3000 0.0278597 0.0332289 0.0385974 0.0439642 0.0493308 0.0546944 +0.060058 0.0654185 0.070778 0.0761353 0.08149 0.0868435 0.0921926 0.0975416 +0.102885 0.108227 0.113565 0.118901 0.124233 0.12956 0.134887 0.140206 +0.145524 0.150835 0.156144 0.161447 0.166745 0.172041 0.177328 0.182615 +0.187891 0.193166 0.198433 0.203695 0.208952 0.2142 0.219448 0.224682 +0.229916 0.235138 0.240356 0.245567 0.25077 0.255969 0.261155 0.266341 +0.27151 0.276679 0.281835 0.286985 0.292128 0.297259 0.302388 0.307499 +0.31261 0.317704 0.322795 0.327874 0.332943 0.338007 0.343053 0.3481 +0.353125 0.358148 0.363157 0.368156 0.373147 0.378123 0.383096 0.388046 +0.392996 0.397926 0.40285 0.40776 0.412658 0.417549 0.422419 0.427289 +0.432133 0.436974 0.441797 0.44661 0.451412 0.456195 0.460976 0.465729 +0.470481 0.475209 0.479931 0.484636 0.489326 0.494009 0.498666 0.503324 +0.50795 0.512574 0.517176 0.521766 0.526344 0.5309 0.535452 0.539973 +0.544493 0.548985 0.553469 0.557934 0.562383 0.566821 0.571232 0.575643 +0.580017 0.58439 0.588737 0.593071 0.59739 0.601685 0.605975 0.61023 +0.614485 0.618707 0.622921 0.627113 0.631287 0.635449 0.639581 0.643712 +0.647802 0.651891 0.655951 0.659997 0.664025 0.668027 0.672025 0.675983 +0.679941 0.683861 0.687774 0.691663 0.69553 0.699386 0.703207 0.707029 +0.710805 0.71458 0.718322 0.72205 0.725759 0.729439 0.733113 0.736744 +0.740376 0.743967 0.74755 0.751105 0.754639 0.758159 0.761643 0.765126 +0.76856 0.771993 0.775391 0.778773 0.782134 0.785465 0.788788 0.792067 +0.795346 0.79858 0.801807 0.805003 0.808176 0.811335 0.814455 0.817575 +0.820641 0.823707 0.826735 0.829746 0.832735 0.835692 0.838641 0.841542 +0.844444 0.847298 0.850144 0.852958 0.855747 0.858521 0.861254 0.863987 +0.866664 0.86934 0.871975 0.874594 0.877188 0.879749 0.882302 0.884805 +0.887308 0.88976 0.892205 0.894615 0.897001 0.899369 0.901695 0.904021 +0.906288 0.908555 0.910778 0.912985 0.915165 0.917312 0.919449 0.921535 +0.923621 0.925654 0.927679 0.929668 0.931632 0.933577 0.935479 0.937381 +0.939221 0.941062 0.942857 0.944635 0.946386 0.948102 0.949808 0.951461 +0.953115 0.954713 0.956304 0.957857 0.959385 0.960893 0.962357 0.96382 +0.965221 0.966621 0.967975 0.969312 0.97062 0.971893 0.973155 0.974364 +0.975573 0.976725 0.977869 0.978975 0.980055 0.981115 0.98213 0.983143 +0.984094 0.985045 0.985947 0.986832 0.987688 0.988509 0.989317 0.990073 +0.990828 0.991525 0.992215 0.992865 0.99349 0.994093 0.994652 0.995209 +0.995702 0.996196 0.99664 0.997068 0.997464 0.997826 0.998176 0.998472 +0.998769 0.999005 0.999236 0.999426 0.99959 0.999733 0.999831 0.999927 +0.99996 0.999992 0.999975 0.999942 0.999877 0.999778 0.999666 0.999501 +0.999336 0.999111 0.99888 0.998608 0.998312 0.997992 0.99763 0.997263 +0.996835 0.996407 0.995928 0.995435 0.994908 0.994349 0.993776 0.993151 +0.992526 0.991841 0.991151 0.990419 0.989663 0.988884 0.988064 0.987238 +0.986352 0.985466 0.984529 0.983579 0.982595 0.98158 0.98055 0.97947 +0.978389 0.977249 0.976104 0.974917 0.973708 0.972476 0.971203 0.969924 +0.968587 0.96725 0.965862 0.964461 0.963028 0.961563 0.960085 0.958557 +0.957029 0.955442 0.953851 0.952219 0.950565 0.948888 0.947172 0.94545 +0.943671 0.941893 0.940064 0.938224 0.936351 0.934448 0.932531 0.930567 +0.928603 0.926581 0.924556 0.92249 0.920404 0.918295 0.916148 0.913996 +0.911789 0.909582 0.907326 0.905059 0.902761 0.900435 0.898094 0.895708 +0.893322 0.89088 0.888436 0.885951 0.883448 0.880923 0.878361 0.875794 +0.873175 0.870556 0.86789 0.865214 0.862507 0.859773 0.857026 0.854236 +0.851446 0.848602 0.845756 0.842872 0.83997 0.837047 0.83409 0.831126 +0.828115 0.825103 0.822046 0.81898 0.815885 0.812765 0.809631 0.806457 +0.803284 0.800059 0.796833 0.79357 0.790291 0.786991 0.78366 0.780323 +0.776941 0.773559 0.770134 0.766701 0.763239 0.759756 0.756259 0.752725 +0.749191 0.745609 0.742026 0.738409 0.734777 0.731126 0.727445 0.723759 +0.720031 0.716303 0.712536 0.708761 0.704959 0.701138 0.697303 0.693436 +0.689568 0.685655 0.681742 0.677797 0.673839 0.669862 0.66586 0.661852 +0.657806 0.65376 0.649677 0.645588 0.641475 0.637344 0.6332 0.629027 +0.624854 0.620639 0.616425 0.612181 0.607926 0.603654 0.599359 0.595058 +0.590724 0.58639 0.582022 0.57765 0.573255 0.568844 0.564422 0.559974 +0.555526 0.551041 0.546557 0.542046 0.537525 0.532989 0.528433 0.523872 +0.519281 0.514691 0.510071 0.505446 0.500802 0.496145 0.491477 0.486787 +0.482097 0.477375 0.472653 0.467908 0.463155 0.458389 0.453606 0.448817 +0.444004 0.439191 0.434353 0.429511 0.424653 0.419783 0.414904 0.410006 +0.405108 0.400184 0.39526 0.390316 0.385366 0.380405 0.375429 0.370449 +0.36545 0.36045 0.355429 0.350405 0.345368 0.340321 0.335267 0.330199 +0.325129 0.320039 0.314949 0.309843 0.304732 0.299612 0.294481 0.289347 +0.284197 0.279047 0.273881 0.268712 0.263533 0.258347 0.253156 0.247953 +0.24275 0.237531 0.232312 0.227082 0.221848 0.216607 0.211359 0.206108 +0.200846 0.195584 0.19031 0.185035 0.179753 0.174466 0.169175 0.163877 +0.158578 0.15327 0.147961 0.142645 0.137326 0.132004 0.126676 0.121348 +0.116012 0.110677 0.105335 0.0999924 0.0946458 0.0892967 0.0839457 +0.078591 0.073236 0.0678765 0.0625169 0.0571543 0.0517907 0.0464255 +0.0410587 0.0356913 0.0303221 0.0249528 0.0195821 0.0142112 0.00883984 +0.00346817 -0.00190351 -0.00727518 -0.0126468 -0.0180177 -0.0233885 +-0.0287581 -0.0341274 -0.0394954 -0.0448622 -0.0502284 -0.0555919 -0.0609555 +-0.0663154 -0.0716749 -0.0770313 -0.082386 -0.0877387 -0.0930877 -0.0984362 +-0.103779 -0.109121 -0.114458 -0.119794 -0.125125 -0.130452 -0.135777 +-0.141096 -0.146414 -0.151723 -0.157032 -0.162334 -0.167632 -0.172926 +-0.178213 -0.183499 -0.188774 -0.194049 -0.199313 -0.204575 -0.20983 +-0.215079 -0.220324 -0.225558 -0.230791 -0.236011 -0.24123 -0.246438 +-0.25164 -0.256837 -0.262023 -0.267207 -0.272375 -0.277543 -0.282697 +-0.287847 -0.292987 -0.298117 -0.303243 -0.308354 -0.313465 -0.318556 +-0.323646 -0.328722 -0.333791 -0.338851 -0.343898 -0.348942 -0.353966 +-0.358989 -0.363993 -0.368993 -0.37398 -0.378955 -0.383924 -0.388875 +-0.393825 -0.39875 -0.403674 -0.40858 -0.413477 -0.418364 -0.423234 +-0.428101 -0.432943 -0.437785 -0.442602 -0.447415 -0.452212 -0.456996 +-0.461771 -0.466524 -0.471277 -0.475999 -0.480721 -0.485421 -0.490111 +-0.494788 -0.499446 -0.504099 -0.508724 -0.513348 -0.517944 -0.522535 +-0.527106 -0.531662 -0.536208 -0.540729 -0.54525 -0.549735 -0.55422 +-0.558679 -0.563127 -0.567559 -0.57197 -0.576376 -0.580749 -0.585122 +-0.589462 -0.593796 -0.598108 -0.602403 -0.606687 -0.610942 -0.615197 +-0.619412 -0.623626 -0.627812 -0.631985 -0.636141 -0.640272 -0.644398 +-0.648487 -0.652576 -0.656628 -0.660674 -0.664695 -0.668697 -0.672687 +-0.676645 -0.680603 -0.684516 -0.688429 -0.69231 -0.696177 -0.700025 +-0.703847 -0.707662 -0.711437 -0.715212 -0.718946 -0.722674 -0.726374 +-0.730054 -0.73372 -0.737352 -0.740984 -0.744567 -0.748149 -0.751697 +-0.75523 -0.758742 -0.762226 -0.765701 -0.769135 -0.772568 -0.775957 +-0.779339 -0.782691 -0.786022 -0.789337 -0.792616 -0.795894 -0.79912 +-0.802346 -0.805534 -0.808708 -0.811857 -0.814977 -0.818088 -0.821154 +-0.82422 -0.827239 -0.83025 -0.83323 -0.836186 -0.839126 -0.842028 +-0.844928 -0.847774 -0.85062 -0.853424 -0.856214 -0.858978 -0.861712 +-0.864435 -0.867112 -0.869788 -0.872413 -0.875032 -0.877616 -0.880178 +-0.88272 -0.885224 -0.887725 -0.890169 -0.892614 -0.895014 -0.8974 +-0.899758 -0.902085 -0.9044 -0.906667 -0.908934 -0.911147 -0.913354 +-0.915524 -0.917671 -0.919798 -0.921884 -0.923967 -0.925992 -0.928018 +-0.929996 -0.93196 -0.933895 -0.935798 -0.937689 -0.939529 -0.94137 +-0.943154 -0.944933 -0.946673 -0.948389 -0.950085 -0.951738 -0.953389 +-0.954979 -0.95657 -0.958113 -0.959641 -0.961138 -0.962602 -0.964054 +-0.965455 -0.966856 -0.968199 -0.969536 -0.970833 -0.972106 -0.973357 +-0.974566 -0.975771 -0.976916 -0.978061 -0.979156 -0.980236 -0.981284 +-0.9823 -0.983302 -0.984253 -0.985204 -0.986095 -0.986981 -0.987825 +-0.988646 -0.989444 -0.990199 -0.99095 -0.991641 -0.992331 -0.99297 +-0.993595 -0.994187 -0.994746 -0.995291 -0.995785 -0.996279 -0.996711 +-0.997139 -0.997525 -0.997887 -0.998225 -0.998522 -0.998813 -0.999044 +-0.999275 -0.999453 -0.999618 -0.999749 -0.999848 -0.999932 -0.999965 +-0.999998 -0.999969 -0.999936 -0.99986 -0.999761 -0.999638 -0.999473 +-0.999303 -0.999072 -0.998841 -0.998558 -0.998261 -0.997931 -0.997568 +-0.997191 -0.996763 -0.996335 -0.995844 -0.995351 -0.994814 -0.994254 +-0.99367 -0.993045 -0.992414 -0.991724 -0.991034 -0.99029 -0.989535 +-0.988745 -0.987924 -0.987088 -0.986202 -0.985316 -0.984368 -0.983417 +-0.982423 -0.981407 -0.980366 -0.979286 -0.978199 -0.977054 -0.975909 +-0.974712 -0.973503 -0.97226 -0.970986 -0.969697 -0.96836 -0.967023 +-0.965624 -0.964223 -0.962779 -0.961314 -0.959825 -0.958297 -0.956762 +-0.955171 -0.953581 -0.951938 -0.950284 -0.948596 -0.94688 -0.945148 +-0.943369 -0.94159 -0.939751 -0.937911 -0.936027 -0.934125 -0.932197 +-0.930233 -0.928262 -0.926237 -0.924212 -0.922136 -0.920049 -0.91793 +-0.915783 -0.91362 -0.911413 -0.909207 -0.906941 -0.904674 -0.902365 +-0.900039 -0.897688 -0.895302 -0.892909 -0.890464 -0.88802 -0.885526 +-0.883022 -0.880487 -0.877925 -0.875348 -0.872729 -0.87011 -0.867434 +-0.864758 -0.862041 -0.859308 -0.856551 -0.853761 -0.850964 -0.848118 +-0.845271 -0.842378 -0.839476 -0.836543 -0.833586 -0.830614 -0.827602 +-0.82459 -0.821524 -0.818458 -0.815353 -0.812233 -0.80909 -0.805917 +-0.802736 -0.799509 -0.796283 -0.793011 -0.789733 -0.786424 -0.783093 +-0.779747 -0.776365; +#A 4000 -0.772982 -0.769549 -0.766116 -0.762646 -0.759162 -0.755657 +-0.752123 -0.748582 -0.744999 -0.741416 -0.73779 -0.734159 -0.730498 +-0.726818 -0.723124 -0.719396 -0.715667 -0.711892 -0.708117 -0.704308 +-0.700486 -0.696644 -0.692777 -0.688901 -0.684988 -0.681075 -0.677122 +-0.673164 -0.66918 -0.665178 -0.661162 -0.657116 -0.653069 -0.64898 +-0.644891 -0.640771 -0.636639 -0.632489 -0.628316 -0.624135 -0.619921 +-0.615706 -0.611456 -0.607201 -0.602922 -0.598627 -0.594319 -0.589985 +-0.58565 -0.581277 -0.576904 -0.572503 -0.568092 -0.563664 -0.559216 +-0.554761 -0.550276 -0.545792 -0.541275 -0.536754 -0.532212 -0.527656 +-0.523089 -0.518498 -0.513906 -0.509282 -0.504658 -0.500008 -0.49535 +-0.490677 -0.485987 -0.481291 -0.476569 -0.471848 -0.467098 -0.462345 +-0.457573 -0.45279 -0.447996 -0.443183 -0.438369 -0.433527 -0.428685 +-0.423822 -0.418952 -0.414069 -0.409171 -0.404268 -0.399344 -0.39442 +-0.389472 -0.384522 -0.379556 -0.374581 -0.369597 -0.364597 -0.359596 +-0.354572 -0.349548 -0.344507 -0.33946 -0.334403 -0.329334 -0.324261 +-0.319171 -0.31408 -0.308971 -0.30386 -0.298737 -0.293606 -0.288468 +-0.283318 -0.278167 -0.272999 -0.267831 -0.262649 -0.257463 -0.252268 +-0.247066 -0.24186 -0.236641 -0.231422 -0.226189 -0.220955 -0.215712 +-0.210464 -0.20521 -0.199948 -0.194685 -0.18941 -0.184136 -0.178851 +-0.173564 -0.168272 -0.162973 -0.157673 -0.152364 -0.147055 -0.141738 +-0.136419 -0.131095 -0.125768 -0.120438 -0.115102 -0.109766 -0.104424 +-0.0990811 -0.0937334 -0.0883843 -0.0830324 -0.0776777 -0.0723218 -0.0669623 +-0.0616028 -0.0562394 -0.0508758 -0.0455101 -0.0401433 -0.0347755 -0.0294063 +-0.0240369 -0.018666 -0.0132951 -0.00792361 -0.00255193 0.00281974 +0.00819142 0.0135629 0.0189338 0.0243046 0.029674 0.0350432 0.0404109 +0.0457777 0.0511432 0.0565068 0.06187 0.0672295 0.0725891 0.0779446 +0.0832993 0.088651 0.0940001 0.0993475 0.10469 0.110033 0.115368 0.120704 +0.126033 0.131361 0.136684 0.142003 0.14732 0.152629 0.157937 0.163237 +0.168536 0.173828 0.179115 0.184399 0.189673 0.194948 0.200211 0.205473 +0.210725 0.215974 0.221216 0.22645 0.231682 0.236901 0.24212 0.247325 +0.252528 0.257721 0.262907 0.268088 0.273257 0.278425 0.283575 0.288725 +0.293862 0.298993 0.304115 0.309226 0.314334 0.319424 0.324515 0.329587 +0.334656 0.339712 0.344759 0.349799 0.354822 0.359846 0.364846 0.369846 +0.374829 0.379804 0.384769 0.389719 0.394666 0.39959 0.404514 0.409415 +0.414313 0.419195 0.424065 0.428927 0.433769 0.43861 0.443423 0.448236 +0.453028 0.457811 0.462582 0.467335 0.472083 0.476805 0.481527 0.486221 +0.490911 0.495583 0.50024 0.504888 0.509512 0.514137 0.518727 0.523318 +0.527883 0.532439 0.536979 0.5415 0.546015 0.5505 0.554985 0.559438 +0.563886 0.568312 0.572723 0.577122 0.581495 0.585867 0.590201 0.594535 +0.598841 0.603136 0.607413 0.611668 0.615916 0.620131 0.624345 0.628524 +0.632697 0.636845 0.640977 0.645095 0.649184 0.653272 0.657318 0.661364 +0.665378 0.66938 0.673362 0.67732 0.68127 0.685183 0.689097 0.69297 +0.696837 0.700677 0.704499 0.708306 0.712081 0.715854 0.719582 0.72331 +0.727002 0.730682 0.73434 0.737972 0.741595 0.745178 0.748761 0.752299 +0.755833 0.759336 0.76282 0.766287 0.76972 0.773151 0.776534 0.779916 +0.783259 0.78659 0.789896 0.793175 0.796444 0.79967 0.802897 0.806075 +0.809249 0.812389 0.815509 0.818611 0.821677 0.824741 0.827752 0.830764 +0.833734 0.836691 0.839621 0.842523 0.845414 0.84826 0.851106 0.8539 +0.85669 0.859445 0.862178 0.864892 0.867568 0.870241 0.87286 0.875479 +0.878053 0.880615 0.883147 0.88565 0.888142 0.890586 0.893031 0.895421 +0.897807 0.900155 0.902481 0.904787 0.907054 0.909317 0.911524 0.913731 +0.91589 0.918037 0.920154 0.92224 0.924313 0.926338 0.928363 0.930331 +0.932295 0.93422 0.936122 0.938003 0.939843 0.941679 0.943458 0.945236 +0.946966 0.948682 0.950367 0.95202 0.95366 0.955251 0.956842 0.958373 +0.959901 0.961388 0.962852 0.964293 0.965694 0.96709 0.968427 0.969764 +0.97105 0.972323 0.973563 0.974772 0.975967 0.977111 0.978256 0.97934 +0.98042 0.981458 0.982473 0.983465 0.984415 0.98536 0.986246 0.987132 +0.987965 0.988786 0.989573 0.990328 0.991068 0.991758 0.992449 0.993076 +0.993701 0.994282 0.994841 0.995375 0.995869 0.996356 0.996784 0.997212 +0.997587 0.997949 0.998276 0.998573 0.998853 0.999083 0.999314 0.999481 +0.999646 0.999766 0.999865 0.999938 0.999971 0.999996 0.999964 0.999931 +0.999843 0.999744 0.99961 0.999445 0.999264 0.999033 0.998802 0.998508 +0.998211 0.99787 0.997508 0.997119 0.996691 0.996255 0.995761 0.995268 +0.994719 0.99416 0.993565 0.99294 0.992298 0.991608 0.990918 0.990163 +0.989408 0.988607 0.987786 0.986939 0.986053 0.985159 0.984208 0.983257 +0.982252 0.981236 0.980185 0.979105 0.978007 0.976862 0.975717 0.974509 +0.9733 0.972046 0.970772 0.969473 0.968135 0.96679 0.965389 0.963988 +0.962533 0.961069 0.959568 0.958041 0.956495 0.954904 0.953313 0.95166 +0.950006 0.948308 0.946592 0.944849 0.94307 0.941283 0.939442 0.937602 +0.935708 0.933805 0.931868 0.929904 0.927922 0.925897 0.923872 0.921785 +0.919699 0.91757 0.915423 0.91325 0.911043 0.908827 0.90656 0.904293 +0.901975 0.899648 0.897288 0.894902 0.892499 0.890054 0.887609 0.885106 +0.882603 0.880057 0.877496 0.874909 0.87229 0.869662 0.866986 0.864309 +0.861583 0.85885 0.856083 0.853293 0.850486 0.84764 0.844793 0.841891 +0.83899 0.836047 0.83309 0.830109 0.827097 0.824076 0.82101 0.817944 +0.81483 0.81171 0.808558 0.805385 0.802195 0.798969 0.795741 0.792462 +0.789183 0.785866 0.782535 0.77918 0.775798 0.772407 0.768974 0.76554 +0.762062 0.758579 0.755065 0.751531 0.747982 0.744399 0.740814 0.737182 +0.73355 0.729882 0.726202 0.722499 0.718772 0.715035 0.71126 0.707485 +0.703668 0.699846 0.695996 0.692129 0.688246 0.684333 0.680418 0.67646 +0.672502 0.66851 0.664508 0.660485 0.656439 0.652384 0.648295 0.644206 +0.640079 0.635947 0.63179 0.627617 0.623429 0.619215 0.614998 0.610743 +0.606488 0.602203 0.597908 0.593594 0.58926 0.584918 0.580545 0.576172 +0.571764 0.567354 0.562919 0.558471 0.55401 0.549526 0.545039 0.540518 +0.535998 0.531449 0.526894 0.522321 0.51773 0.513133 0.508508 0.503884 +0.499229 0.494571 0.489893 0.485203 0.480501 0.475779 0.471055 0.466302 +0.461549 0.456772 0.451989 0.447191 0.442378 0.437559 0.432717 0.427875 +0.423007 0.418137 0.413249 0.408352 0.403444 0.39852 0.393594 0.388644 +0.383694 0.378723 0.373748 0.36876 0.36376 0.358755 0.353731 0.348708 +0.343662 0.338616 0.333555 0.328486 0.323409 0.318319 0.313227 0.308116 +0.303005 0.297878 0.292747 0.287607 0.282457 0.277302 0.272134 0.266966 +0.261781 0.256595 0.251398 0.246195 0.240986 0.235768 0.230547 0.225313 +0.22008 0.214834 0.209585 0.20433 0.199068 0.193803 0.188528 0.183253 +0.177966 0.172679 0.167385 0.162087 0.156784 0.151476 0.146166 0.140848 +0.135529 0.130204 0.124876 0.119545 0.114209 0.108872 0.10353 0.0981871 +0.0928383 0.0874892 0.0821363 0.0767816 0.071425 0.0660655 0.0607054 +0.0553419 0.0499783 0.044612 0.0392452 0.033877 0.0285077 0.0231381 +0.0177672 0.0123964 0.00702472 0.00165304 -0.00371863 -0.00909031 -0.0144617 +-0.0198325 -0.0252032 -0.0305724 -0.0359417 -0.0413089 -0.0466757 -0.0520408 +-0.0574043 -0.0627668 -0.0681264 -0.0734859 -0.0788407 -0.0841954 -0.0895462 +-0.0948952 -0.100242 -0.105584 -0.110926 -0.116261 -0.121596 -0.126925 +-0.132252 -0.137574 -0.142893 -0.148208 -0.153517 -0.158826 -0.164124 +-0.169422 -0.174713 -0.179999 -0.185281 -0.190556 -0.195829 -0.201091 +-0.206353 -0.211604 -0.216852 -0.222092 -0.227326 -0.232556 -0.237774 +-0.242993 -0.248196 -0.253398 -0.258589 -0.263775 -0.268953 -0.274121 +-0.279287 -0.284437 -0.289587 -0.29472 -0.299851 -0.30497 -0.310081 +-0.315186 -0.320276 -0.325366 -0.330435 -0.335504 -0.340556 -0.345603 +-0.350639 -0.355663 -0.360683 -0.365683 -0.370683 -0.375661 -0.380637 +-0.385597 -0.390547 -0.39549 -0.400414 -0.405337 -0.410235 -0.415132 +-0.42001 -0.42488 -0.429737 -0.434579 -0.439416 -0.444229 -0.449042 +-0.453829 -0.458612 -0.463377 -0.46813 -0.472873 -0.477595 -0.482316 +-0.487006 -0.491696 -0.496362 -0.50102 -0.505662 -0.510286 -0.514905 +-0.519495 -0.524086 -0.528645 -0.533201 -0.537736 -0.542257 -0.546766 +-0.55125 -0.555734 -0.560182 -0.56463 -0.56905 -0.573461 -0.577854 +-0.582227 -0.586592 -0.590926 -0.595261 -0.59956 -0.603855 -0.608125 +-0.61238 -0.616622 -0.620836 -0.625049 -0.629222 -0.633395 -0.637537 +-0.641668 -0.645779 -0.649868 -0.653949 -0.657995 -0.662041 -0.666047 +-0.67005 -0.674024 -0.677982 -0.681925 -0.685838 -0.689749 -0.693617 +-0.697484 -0.701317 -0.705138 -0.708937 -0.712712 -0.716478 -0.720206 +-0.723934 -0.727618 -0.731298 -0.734948 -0.738579 -0.742194 -0.745777 +-0.749357 -0.752891 -0.756424 -0.759919 -0.763403 -0.766862 -0.770295 +-0.773717 -0.7771 -0.780482 -0.783817 -0.787147 -0.790445 -0.793724 +-0.796984 -0.80021 -0.803433 -0.806606 -0.80978 -0.812911 -0.816031 +-0.819124 -0.82219 -0.825245 -0.828256 -0.831268 -0.834229 -0.837186 +-0.840107 -0.843008 -0.84589 -0.848736 -0.851577 -0.854367 -0.857157 +-0.859902 -0.862635 -0.86534 -0.868016 -0.870679 -0.873298 -0.875917 +-0.878482 -0.881043 -0.883566 -0.886069 -0.888551 -0.890995 -0.893435 +-0.89582 -0.898206 -0.900544 -0.902871 -0.905166 -0.907433 -0.909686 +-0.911893 -0.9141 -0.91625 -0.918396 -0.920503 -0.922589 -0.924652 +-0.926677 -0.928696 -0.93066 -0.932624 -0.934538 -0.936441 -0.938311 +-0.940151 -0.941977 -0.943755 -0.945534 -0.947253 -0.948969 -0.950643 +-0.952297 -0.953926 -0.955517 -0.957101 -0.958629 -0.960157 -0.961633 +-0.963097 -0.964527 -0.965928 -0.967313 -0.96865 -0.969988 -0.971263 +-0.972536 -0.973766; +#A 5000 -0.974975 -0.976158 -0.977303 -0.97844 -0.979521 -0.980601 +-0.981628 -0.982643 -0.983624 -0.984574 -0.985508 -0.986394 -0.98728 +-0.988102 -0.988923 -0.989699 -0.990454 -0.991184 -0.991874 -0.992556 +-0.993181 -0.993806 -0.994376 -0.994935 -0.995458 -0.995952 -0.996428 +-0.996856 -0.997284 -0.997647 -0.998009 -0.998326 -0.998622 -0.998891 +-0.999122 -0.999344 -0.999509 -0.999674 -0.999783 -0.999881 -0.999943 +-0.999976 -0.999991 -0.999958 -0.999925 -0.999826 -0.999728 -0.999582 +-0.999417 -0.999225 -0.998994 -0.998754 -0.998458 -0.998161 -0.997808 +-0.997446 -0.997046 -0.996618 -0.996171 -0.995678 -0.995184 -0.994624 +-0.994065 -0.993459 -0.992834 -0.992181 -0.991491 -0.990791 -0.990035 +-0.989279 -0.988468 -0.987647 -0.986788 -0.985902 -0.984997 -0.984047 +-0.983095 -0.982079 -0.981064 -0.980001 -0.978921 -0.977812 -0.976667 +-0.975513 -0.974303 -0.973094 -0.971829 -0.970556 -0.969245 -0.967908 +-0.966552 -0.965151 -0.963749 -0.962284 -0.96082 -0.959309 -0.957781 +-0.956225 -0.954634 -0.953033 -0.951379 -0.949725 -0.948016 -0.9463 +-0.944547 -0.942768 -0.94097 -0.939129 -0.937287 -0.935384 -0.933482 +-0.931534 -0.92957 -0.927578 -0.925552 -0.923517 -0.921431 -0.919344 +-0.917205 -0.915058 -0.912875 -0.910668 -0.908442 -0.906175 -0.903906 +-0.901579 -0.899253 -0.896882 -0.894496 -0.892083 -0.889638 -0.887183 +-0.88468 -0.882177 -0.879621 -0.87706 -0.874463 -0.871844 -0.869206 +-0.86653 -0.863851 -0.861118 -0.858385 -0.855608 -0.852818 -0.850002 +-0.847156 -0.844299 -0.841398 -0.838496 -0.835544 -0.832587 -0.829596 +-0.826584 -0.823554 -0.820488 -0.817419 -0.814299 -0.811179 -0.808018 +-0.804845 -0.801646 -0.798419 -0.795182 -0.791904 -0.788625 -0.785298 +-0.781968 -0.778604 -0.775222 -0.771822 -0.768389 -0.764952 -0.761469 +-0.757985 -0.754463 -0.750929 -0.747371 -0.743788 -0.740195 -0.736563 +-0.732931 -0.729255 -0.725575 -0.721864 -0.718136 -0.714392 -0.710617 +-0.706838 -0.703017 -0.699195 -0.695337 -0.69147 -0.687579 -0.683666 +-0.679743 -0.675785 -0.671827 -0.667828 -0.663825 -0.659795 -0.655749 +-0.651687 -0.647598 -0.643506 -0.639375 -0.635243 -0.631079 -0.626905 +-0.622711 -0.618497 -0.614273 -0.610018 -0.605763 -0.60147 -0.597175 +-0.592855 -0.58852 -0.584172 -0.579799 -0.575423 -0.571012 -0.566601 +-0.562161 -0.557713 -0.553246 -0.548761 -0.544268 -0.539747 -0.535226 +-0.530672 -0.526116 -0.521538 -0.516947 -0.512344 -0.507719 -0.503092 +-0.498434 -0.493777 -0.489093 -0.484403 -0.479696 -0.474974 -0.470245 +-0.465492 -0.460739 -0.455957 -0.451173 -0.44637 -0.441557 -0.436733 +-0.431891 -0.427046 -0.422176 -0.417306 -0.412414 -0.407516 -0.402604 +-0.39768 -0.39275 -0.387799 -0.382849 -0.377875 -0.372899 -0.367907 +-0.362907 -0.357898 -0.352874 -0.347848 -0.342802 -0.337755 -0.33269 +-0.327621 -0.322541 -0.317451 -0.312355 -0.307244 -0.302133 -0.297003 +-0.291872 -0.286728 -0.281578 -0.276421 -0.271253 -0.266082 -0.260896 +-0.25571 -0.25051 -0.245308 -0.240096 -0.234877 -0.229655 -0.224421 +-0.219187 -0.213939 -0.20869 -0.203432 -0.19817 -0.192903 -0.187628 +-0.182352 -0.177065 -0.171778 -0.166481 -0.161183 -0.155879 -0.15057 +-0.145259 -0.13994 -0.134622 -0.129295 -0.123968 -0.118635 -0.113299 +-0.107961 -0.102618 -0.097275 -0.0919259 -0.0865769 -0.081223 -0.0758683 +-0.0705108 -0.0651513 -0.0597906 -0.054427 -0.0490634 -0.0436966 -0.0383298 +-0.0329612 -0.027592 -0.022222 -0.0168511 -0.0114802 -0.00610848 -0.000736807 +0.00463487 0.0100065 0.0153778 0.0207486 0.026119 0.0314883 0.0368575 +0.0422243 0.0475911 0.0529556 0.0583192 0.063681 0.0690405 0.0743993 +0.079754 0.0851087 0.0904585 0.0958075 0.101153 0.106495 0.111836 0.117171 +0.122506 0.127833 0.133161 0.138481 0.1438 0.149114 0.154423 0.15973 +0.165028 0.170326 0.175614 0.180901 0.186181 0.191456 0.196727 0.201989 +0.207251 0.212499 0.217747 0.222985 0.228219 0.233446 0.238665 0.24388 +0.249083 0.254286 0.259474 0.264659 0.269835 0.275003 0.280165 0.285315 +0.290465 0.295595 0.300726 0.305842 0.310953 0.316054 0.321144 0.326231 +0.3313 0.336368 0.341417 0.346464 0.351496 0.35652 0.361536 0.366536 +0.371534 0.37651 0.381485 0.386441 0.391392 0.396329 0.401254 0.406173 +0.41107 0.415968 0.42084 0.42571 0.430563 0.435405 0.440237 0.44505 +0.449861 0.454644 0.459428 0.464188 0.468941 0.473679 0.4784 0.483116 +0.487806 0.492496 0.497156 0.501814 0.506451 0.511075 0.515688 0.520278 +0.524867 0.529423 0.533978 0.538507 0.543028 0.547531 0.552015 0.556493 +0.560941 0.565389 0.569802 0.574213 0.5786 0.582972 0.587332 0.591666 +0.595997 0.600292 0.604587 0.608851 0.613106 0.61734 0.621555 0.625761 +0.629934 0.634107 0.638241 0.642373 0.646477 0.650566 0.654639 0.658685 +0.662728 0.66673 0.670732 0.674699 0.678657 0.682593 0.686506 0.690409 +0.694276 0.698144 0.701968 0.70579 0.709581 0.713356 0.717114 0.720842 +0.724566 0.728246 0.731926 0.735567 0.739199 0.742805 0.746388 0.74996 +0.753493 0.757027 0.760513 0.763997 0.767447 0.77088 0.774294 0.777677 +0.781054 0.784385 0.787715 0.791004 0.794283 0.797534 0.800761 0.803974 +0.807148 0.810321 0.813443 0.816563 0.819647 0.822713 0.825758 0.82877 +0.831776 0.834733 0.83769 0.840602 0.843503 0.846375 0.849221 0.852053 +0.854843 0.857633 0.860368 0.863101 0.865796 0.868472 0.871126 0.873745 +0.876358 0.878919 0.88148 0.883993 0.886496 0.888968 0.891412 0.893842 +0.896227 0.898613 0.900941 0.903268 0.905553 0.90782 0.910062 0.912269 +0.914469 0.916616 0.918762 0.920859 0.922945 0.924997 0.927022 0.929031 +0.930995 0.932959 0.934863 0.936765 0.938624 0.940465 0.94228 0.944059 +0.945829 0.947546 0.949262 0.950925 0.952579 0.954198 0.955788 0.957362 +0.95889 0.960417 0.961882 0.963347 0.964766 0.966167 0.967541 0.968879 +0.970207 0.97148 0.972753 0.973972 0.975181 0.976354 0.977498 0.978625 +0.979705 0.980785 0.981801 0.982816 0.983786 0.984737 0.98566 0.986545 +0.987422 0.988242 0.989063 0.989828 0.990583 0.991301 0.991992 0.992663 +0.993287 0.993912 0.994471 0.99503 0.995542 0.996036 0.996501 0.996929 +0.997347 0.997709 0.998071 0.998376 0.998673 0.998931 0.999161 0.999372 +0.999537 0.999701 0.999799 0.999898 0.999949 0.999982 0.999985 0.999952 +0.999909 0.99981 0.999711 0.999554 0.99939 0.999186 0.998955 0.998704 +0.998408 0.99811 0.997747 0.997385 0.996974 0.996546 0.996088 0.995595 +0.99509 0.99453 0.993971 0.993354 0.992729 0.992065 0.991375 0.990664 +0.989908 0.98915 0.98833 0.987509 0.986639 0.985754 0.984838 0.983887 +0.982924 0.981909 0.980893 0.97982 0.978739 0.97762 0.976475 0.975309 +0.9741 0.972889 0.971615 0.970342 0.969021 0.967683 0.966316 0.964915 +0.963503 0.962038 0.960574 0.959052 0.957524 0.955958 0.954367 0.952755 +0.951101 0.949444 0.947728 0.946012 0.944248 0.942469 0.940661 0.93882 +0.936967 0.935065 0.933163 0.931204 0.92924 0.927238 0.925213 0.923167 +0.921081 0.918991 0.916844 0.914698 0.912504 0.910297 0.908061 0.905794 +0.903515 0.901189 0.898862 0.896481 0.894096 0.891673 0.889228 0.886763 +0.88426 0.881753 0.879192 0.87663 0.874024 0.871405 0.868758 0.866081 +0.863393 0.860659 0.857926 0.85514 0.852351 0.849525 0.846679 0.843813 +0.840911 0.838005 0.835048 0.832091 0.829091 0.826079 0.82304 0.819974 +0.816896 0.813776 0.810656 0.807486 0.804313 0.801105 0.797878 0.794633 +0.791354 0.788071 0.78474 0.781409 0.778037 0.774655 0.771247 0.767814 +0.764369 0.760885 0.757401 0.753871 0.750337 0.746771 0.743188 0.739587 +0.735955 0.732319 0.728638 0.724958 0.72124 0.717512 0.713759 0.709984 +0.706198 0.702377 0.698555 0.69469 0.690822 0.686924 0.683011 0.67908 +0.675122 0.67116 0.667158 0.663155 0.659117 0.655072 0.651003 0.646914 +0.642814 0.638683 0.634551 0.63038 0.626207 0.622005 0.617791 0.613561 +0.609306 0.605046 0.600751 0.596456 0.592129 0.587795 0.58344 0.579067 +0.574685 0.570274 0.565863 0.561416 0.556968 0.552495 0.54801 0.543511 +0.538991 0.534466 0.52991 0.525354 0.520769 0.516179 0.51157 0.506945 +0.502312 0.497655 0.492997 0.488308 0.483618 0.478906 0.474184 0.469449 +0.464696 0.459939 0.455156 0.450373 0.445565 0.440752 0.435923 0.431081 +0.426231 0.421361 0.416491 0.411594 0.406697 0.40178 0.396856 0.391921 +0.386971 0.382017 0.377042 0.372067 0.367071 0.362071 0.357057 0.352034 +0.347004 0.341957 0.336911 0.331842 0.326773 0.321689 0.316599 0.3115 +0.306389 0.301275 0.296144 0.291014 0.285866 0.280716 0.275556 0.270388 +0.265214 0.260028 0.254842 0.24964 0.244437 0.239223 0.234004 0.228779 +0.223545 0.218309 0.21306 0.207812 0.202552 0.19729 0.19202 0.186745 +0.181467 0.17618 0.170893 0.165595 0.160296 0.154991 0.149682 0.144369 +0.13905 0.133731 0.128403 0.123076 0.117742 0.112407 0.107067 0.101724 +0.0963798 0.0910308 0.0856816 0.0803269 0.0749722 0.069614 0.0642544 +0.0588931 0.0535295 0.0481653 0.0427985 0.0374317 0.0320627 0.0266934 +0.0213232 0.0159524 0.0105813 0.00520959 -0.000162085 -0.00553376 -0.0109054 +-0.0162765 -0.0216474 -0.0270175 -0.0323867 -0.0377556 -0.0431224 -0.0484892 +-0.0538531 -0.0592167 -0.0645779 -0.0699374 -0.0752954 -0.0806501 -0.0860046 +-0.0913536 -0.0967027 -0.102047 -0.107389 -0.112729 -0.118064 -0.123398 +-0.128725 -0.134052 -0.139371 -0.14469 -0.150002 -0.155311 -0.160616 +-0.165914 -0.171212 -0.176499 -0.181786 -0.187064 -0.192339 -0.197607 +-0.202869 -0.208129 -0.213377 -0.218626 -0.223861 -0.229095 -0.234319 +-0.239538 -0.244751 -0.249954 -0.255155 -0.260341 -0.265527 -0.2707 +-0.275868 -0.281027 -0.286177 -0.291323 -0.296454 -0.301585 -0.306697 +-0.311808 -0.316906 -0.321996 -0.327079 -0.332148 -0.337215 -0.342262 +-0.347308 -0.352337 -0.357361 -0.362372 -0.367372 -0.372367 -0.377342 +-0.382318 -0.38727 -0.39222 -0.397153 -0.402078 -0.406992 -0.41189 +-0.416785; +#A 6000 -0.421655 -0.426525 -0.431373 -0.436215 -0.441042 -0.445855 +-0.450662 -0.455445 -0.460228 -0.464983 -0.469736 -0.474469 -0.479191 +-0.483901 -0.488591 -0.493278 -0.497936 -0.502593 -0.507225 -0.511849 +-0.516456 -0.521046 -0.525629 -0.530185 -0.534741 -0.539263 -0.543784 +-0.548281 -0.552766 -0.557237 -0.561685 -0.56613 -0.57054 -0.574951 +-0.579331 -0.583704 -0.588057 -0.592391 -0.596716 -0.601011 -0.605306 +-0.609563 -0.613818 -0.618046 -0.62226 -0.626459 -0.630632 -0.634801 +-0.638933 -0.643064 -0.647161 -0.65125 -0.655316 -0.659362 -0.663397 +-0.6674 -0.671402 -0.675362 -0.67932 -0.683247 -0.687161 -0.691056 +-0.694924 -0.698786 -0.702608 -0.70643 -0.710213 -0.713988 -0.717738 +-0.721466 -0.725181 -0.728861 -0.732542 -0.736175 -0.739807 -0.743405 +-0.746988 -0.750551 -0.754085 -0.757613 -0.761096 -0.76458 -0.768022 +-0.771455 -0.77486 -0.778243 -0.781611 -0.784942 -0.788273 -0.791553 +-0.794832 -0.798074 -0.801301 -0.804505 -0.807679 -0.810846 -0.813965 +-0.817086 -0.82016 -0.823226 -0.826262 -0.829274 -0.832271 -0.835228 +-0.838185 -0.841087 -0.843989 -0.846851 -0.849697 -0.85252 -0.85531 +-0.858092 -0.860826 -0.863559 -0.866244 -0.86892 -0.871564 -0.874183 +-0.876786 -0.879347 -0.881909 -0.884412 -0.886915 -0.889377 -0.891821 +-0.894241 -0.896627 -0.899004 -0.90133 -0.903657 -0.905932 -0.908199 +-0.910432 -0.912639 -0.914828 -0.916975 -0.919122 -0.921208 -0.923294 +-0.925336 -0.927361 -0.92936 -0.931324 -0.933279 -0.935181 -0.937083 +-0.938932 -0.940773 -0.942578 -0.944356 -0.946117 -0.947833 -0.949548 +-0.951202 -0.952856 -0.954464 -0.956055 -0.957618 -0.959145 -0.960663 +-0.962127 -0.963592 -0.965001 -0.966402 -0.967765 -0.969102 -0.97042 +-0.971693 -0.972965 -0.974174 -0.975383 -0.976545 -0.97769 -0.978805 +-0.979886 -0.980955 -0.981971 -0.982986 -0.983945 -0.984896 -0.985808 +-0.986694 -0.987559 -0.98838 -0.989199 -0.989954 -0.99071 -0.991417 +-0.992107 -0.992767 -0.993392 -0.994005 -0.994565 -0.995124 -0.995625 +-0.996119 -0.996572 -0.997 -0.997407 -0.99777 -0.998129 -0.998426 -0.998722 +-0.998969 -0.9992 -0.9994 -0.999564 -0.999717 -0.999816 -0.999915 -0.999954 +-0.999987 -0.99998 -0.999947 -0.999892 -0.999793 -0.999691 -0.999526 +-0.999362 -0.999147 -0.998916 -0.998654 -0.998357 -0.998048 -0.997686 +-0.997324 -0.996902 -0.996473 -0.996005 -0.995511 -0.994995 -0.994435 +-0.993873 -0.993248 -0.992623 -0.991948 -0.991257 -0.990535 -0.98978 +-0.989011 -0.98819 -0.987369 -0.986489 -0.985603 -0.984676 -0.983725 +-0.982752 -0.981736 -0.980717 -0.979636 -0.978556 -0.977425 -0.976281 +-0.975104 -0.973895 -0.972672 -0.971399 -0.970126 -0.968793 -0.967456 +-0.966078 -0.964677 -0.963254 -0.961789 -0.96032 -0.958792 -0.957265 +-0.955687 -0.954096 -0.952474 -0.95082 -0.949153 -0.947436 -0.94572 +-0.943946 -0.942167 -0.940348 -0.938507 -0.936644 -0.934742 -0.932834 +-0.93087 -0.928906 -0.926893 -0.924868 -0.922812 -0.920726 -0.918626 +-0.916479 -0.914332 -0.912129 -0.909922 -0.907676 -0.905409 -0.90312 +-0.900793 -0.898461 -0.896076 -0.89369 -0.891257 -0.888812 -0.886337 +-0.883834 -0.881317 -0.878756 -0.876195 -0.873578 -0.870959 -0.868302 +-0.865626 -0.862928 -0.860194 -0.857455 -0.854666 -0.851876 -0.84904 +-0.846194 -0.843319 -0.840417 -0.837502 -0.834545 -0.831588 -0.828578 +-0.825567 -0.822518 -0.819452 -0.816365 -0.813245 -0.810119 -0.806946 +-0.803772 -0.800555 -0.797329 -0.794074 -0.790796 -0.787504 -0.784173 +-0.780842 -0.777461 -0.774079 -0.770662 -0.767229 -0.763775 -0.760292 +-0.756802 -0.753269 -0.749735 -0.74616 -0.742577 -0.738968 -0.735336 +-0.731692 -0.728011 -0.724331 -0.720605 -0.716877 -0.713116 -0.709341 +-0.705547 -0.701725 -0.697898 -0.69403 -0.690163 -0.686257 -0.682344 +-0.678406 -0.674448 -0.670478 -0.666475 -0.662473 -0.658428 -0.654382 +-0.650306 -0.646217 -0.64211 -0.637979 -0.633842 -0.629668 -0.625495 +-0.621287 -0.617073 -0.612835 -0.60858 -0.604314 -0.600019 -0.595724 +-0.59139 -0.587056 -0.582694 -0.578322 -0.573933 -0.569522 -0.565106 +-0.560658 -0.55621 -0.55173 -0.547246 -0.54274 -0.53822 -0.533689 -0.529133 +-0.524577 -0.519986 -0.515396 -0.510781 -0.506157 -0.501518 -0.49686 +-0.492198 -0.487508 -0.482818 -0.4781 -0.473378 -0.468638 -0.463886 +-0.459124 -0.45434 -0.449557 -0.444744 -0.439931 -0.435097 -0.430255 +-0.425401 -0.420531 -0.415656 -0.410759 -0.405861 -0.400941 -0.396016 +-0.391077 -0.386127 -0.381169 -0.376193 -0.371218 -0.366218 -0.361218 +-0.356201 -0.351177 -0.346143 -0.341096 -0.336046 -0.330977 -0.325909 +-0.320821 -0.315731 -0.310628 -0.305517 -0.3004 -0.295269 -0.290138 +-0.284988 -0.279838 -0.274674 -0.269506 -0.26433 -0.259144 -0.253955 +-0.248752 -0.24355 -0.238333 -0.233114 -0.227886 -0.222652 -0.217414 +-0.212165 -0.206916 -0.201654 -0.196392 -0.191121 -0.185846 -0.180565 +-0.175278 -0.169989 -0.164691 -0.159393 -0.154085 -0.148776 -0.143462 +-0.138143 -0.132822 -0.127495 -0.122167 -0.116832 -0.111497 -0.106156 +-0.100813 -0.0954675 -0.0901184 -0.0847683 -0.0794136 -0.0740589 -0.0686998 +-0.0633403 -0.0579782 -0.0526146 -0.0472499 -0.0418831 -0.0365162 -0.0311469 +-0.0257777 -0.0204072 -0.0150363 -0.00966503 -0.00429336 0.00107832 +0.00644999 0.0118217 0.0171926 0.0225635 0.0279333 0.0333026 0.038671 +0.0440378 0.0494044 0.054768 0.0601316 0.065492 0.0708516 0.0762087 +0.0815634 0.0869169 0.092266 0.097615 0.102958 0.108301 0.113639 0.118974 +0.124306 0.129634 0.13496 0.140279 0.145597 0.150908 0.156216 0.16152 +0.166818 0.172114 0.177401 0.182688 0.187963 0.193238 0.198505 0.203767 +0.209024 0.214272 0.21952 0.224753 0.229987 0.235209 0.240428 0.245638 +0.250841 0.25604 0.261226 0.266412 0.271581 0.276749 0.281906 0.287056 +0.292198 0.297329 0.302458 0.307569 0.31268 0.317774 0.322865 0.327944 +0.333012 0.338076 0.343123 0.348169 0.353194 0.358217 0.363225 0.368225 +0.373216 0.378191 0.383164 0.388114 0.393064 0.397993 0.402918 0.407828 +0.412725 0.417616 0.422486 0.427356 0.432199 0.437041 0.441863 0.446676 +0.451477 0.456261 0.461041 0.465794 0.470547 0.475274 0.479996 0.484701 +0.489391 0.494073 0.49873 0.503388 0.508013 0.512638 0.517239 0.521829 +0.526406 0.530962 0.535514 0.540035 0.544555 0.549046 0.553531 0.557995 +0.562444 0.566882 0.571293 0.575703 0.580077 0.58445 0.588796 0.59313 +0.597449 0.601743 0.606034 0.610289 0.614543 0.618765 0.622979 0.627171 +0.631344 0.635506 0.639637 0.643769 0.647859 0.651947 0.656006 0.660052 +0.66408 0.668082 0.672079 0.676037 0.679995 0.683915 0.687828 0.691716 +0.695583 0.699438 0.70326 0.707081 0.710857 0.714632 0.718374 0.722101 +0.725809 0.729489 0.733162 0.736794 0.740426 0.744016 0.747599 0.751154 +0.754687 0.758207 0.76169 0.765174 0.768607 0.77204 0.775437 0.778819 +0.782179 0.78551 0.788833 0.792112 0.795391 0.798625 0.801851 0.805047 +0.80822 0.811378 0.814498 0.817617 0.820683 0.823749 0.826776 0.829788 +0.832775 0.835732 0.838681 0.841582 0.844484 0.847337 0.850183 0.852996 +0.855786 0.858559 0.861292 0.864024 0.8667 0.869377 0.872011 0.87463 +0.877223 0.879784 0.882336 0.884839 0.887342 0.889794 0.892238 0.894648 +0.897033 0.899401 0.901727 0.904052 0.906319 0.908586 0.910808 0.913015 +0.915195 0.917341 0.919477 0.921563 0.923649 0.925681 0.927707 0.929695 +0.931659 0.933603 0.935505 0.937406 0.939246 0.941087 0.942881 0.94466 +0.946409 0.948126 0.949831 0.951484 0.953138 0.954735 0.956326 0.957878 +0.959406 0.960913 0.962377 0.963839 0.96524 0.966641 0.967993 0.96933 +0.970637 0.97191 0.973171 0.97438 0.975589 0.97674 0.977885 0.97899 +0.98007 0.981129 0.982144 0.983156 0.984107 0.985058 0.985959 0.986845 +0.987699 0.98852 0.989328 0.990083 0.990839 0.991535 0.992225 0.992874 +0.993499 0.994101 0.99466 0.995215 0.995709 0.996203 0.996645 0.997073 +0.997469 0.997831 0.99818 0.998476 0.998773 0.999009 0.999239 0.999428 +0.999592 0.999734 0.999833 0.999927 0.99996 0.999993 0.999974 0.999941 +0.999875 0.999776 0.999663 0.999499 0.999334 0.999108 0.998877 0.998604 +0.998308 0.997987 0.997625 0.997258 0.99683 0.996402 0.995921 0.995428 +0.994901 0.994341 0.993768 0.993143 0.992518 0.991832 0.991141 0.990408 +0.989653 0.988873 0.988052 0.987226 0.98634 0.985454 0.984516 0.983566 +0.982581 0.981566 0.980535 0.979455 0.978374 0.977233 0.976088 0.974901 +0.973692 0.972458 0.971185 0.969906 0.968569 0.967232 0.965843 0.964442 +0.963008 0.961543 0.960064 0.958536 0.957008 0.95542 0.953829 0.952196 +0.950542 0.948865 0.947148 0.945426 0.943647 0.941868 0.940039 0.938198 +0.936325 0.934422 0.932504 0.93054 0.928576 0.926553 0.924528 0.922462 +0.920376 0.918266 0.916119 0.913966 0.911759 0.909552 0.907295 0.905028 +0.902729 0.900403 0.898061 0.895675 0.89329 0.890847 0.888402 0.885917 +0.883414 0.880887 0.878326 0.875758 0.873139 0.87052 0.867853 0.865177 +0.862469 0.859736 0.856987 0.854198 0.851408 0.848563 0.845717 0.842832 +0.83993 0.837006 0.834049 0.831085 0.828073 0.825062 0.822004 0.818938 +0.815842 0.812722 0.809587 0.806414 0.80324 0.800015 0.796788 0.793525 +0.790246 0.786945 0.783615 0.780277 0.776895 0.773512 0.770087 0.766653 +0.763192 0.759708 0.75621 0.752677 0.749143 0.74556 0.741977 0.738359 +0.734728 0.731075 0.727395 0.723708 0.71998 0.716252 0.712484 0.708709 +0.704907 0.701085 0.69725 0.693383 0.689515 0.685602 0.681688 0.677743 +0.673785 0.669807 0.665805 0.661796 0.65775 0.653704 0.649621 0.645532 +0.641418 0.637287 0.633143 0.62897 0.624796 0.620581 0.616367 0.612123 +0.607868 0.603595 0.5993 0.594999 0.590665 0.58633 0.581962 0.57759 +0.573194 0.568784 0.564361 0.559913 0.555464 0.55098 0.546495 0.541984 +0.537463 0.532926 0.528371 0.523809 0.519218 0.514628 0.510007 0.505383 +0.500739 0.496081 0.491413 0.486723 0.482032 0.47731 0.472588 0.467843 +0.46309; +#A 7000 0.458323 0.45354 0.448751 0.443938 0.439125 0.434287 0.429445 +0.424586 0.419716 0.414837 0.409939 0.405041 0.400117 0.395192 0.390249 +0.385298 0.380336 0.375361 0.370381 0.365381 0.360381 0.35536 0.350336 +0.345298 0.340252 0.335198 0.330129 0.325059 0.319969 0.314879 0.309773 +0.304662 0.299542 0.294411 0.289276 0.284126 0.278976 0.27381 0.268641 +0.263462 0.258276 0.253084 0.247882 0.242678 0.237459 0.232241 0.22701 +0.221776 0.216535 0.211287 0.206036 0.200774 0.195512 0.190238 0.184963 +0.17968 0.174393 0.169103 0.163804 0.158505 0.153197 0.147888 0.142572 +0.137253 0.131931 0.126603 0.121274 0.115939 0.110604 0.105262 0.0999191 +0.0945724 0.0892233 0.0838723 0.0785176 0.0731625 0.067803 0.0624434 +0.0570807 0.0517171 0.0463518 0.040985 0.0356177 0.0302484 0.0248791 +0.0195084 0.0141375 0.00876614 0.00339446 -0.00197721 -0.00734889 -0.0127205 +-0.0180914 -0.0234622 -0.0288318 -0.0342011 -0.0395691 -0.0449359 -0.050302 +-0.0556655 -0.0610291 -0.0663889 -0.0717484 -0.0771048 -0.0824595 -0.0878121 +-0.0931611 -0.0985095 -0.103852 -0.109195 -0.114531 -0.119867 -0.125198 +-0.130525 -0.13585 -0.141169 -0.146487 -0.151796 -0.157105 -0.162406 +-0.167705 -0.172999 -0.178285 -0.183571 -0.188846 -0.194121 -0.199385 +-0.204647 -0.209902 -0.215151 -0.220395 -0.225629 -0.230863 -0.236083 +-0.241301 -0.246509 -0.251712 -0.256908 -0.262094 -0.267278 -0.272446 +-0.277614 -0.282767 -0.287917 -0.293057 -0.298188 -0.303314 -0.308424 +-0.313535 -0.318626 -0.323716 -0.328792 -0.333861 -0.33892 -0.343967 +-0.349011 -0.354034 -0.359058 -0.364062 -0.369062 -0.374048 -0.379024 +-0.383992 -0.388942 -0.393893 -0.398817 -0.403742 -0.408647 -0.413545 +-0.418431 -0.423301 -0.428167 -0.433009 -0.437851 -0.442669 -0.447481 +-0.452278 -0.457061 -0.461836 -0.466589 -0.471342 -0.476064 -0.480786 +-0.485486 -0.490176 -0.494852 -0.49951 -0.504163 -0.508787 -0.513412 +-0.518007 -0.522598 -0.527169 -0.531724 -0.53627 -0.540791 -0.545312 +-0.549796 -0.554281 -0.55874 -0.563188 -0.56762 -0.572031 -0.576436 +-0.580809 -0.585182 -0.589521 -0.593856 -0.598167 -0.602462 -0.606746 +-0.611001 -0.615255 -0.61947 -0.623684 -0.627869 -0.632042 -0.636197 +-0.640329 -0.644454 -0.648543 -0.652632 -0.656683 -0.660729 -0.66475 +-0.668752 -0.672741 -0.676699 -0.680657 -0.68457 -0.688483 -0.692363 +-0.696231 -0.700078 -0.703899 -0.707714 -0.711489 -0.715264 -0.718997 +-0.722725 -0.726425 -0.730105 -0.73377 -0.737402 -0.741033 -0.744616 +-0.748199 -0.751745 -0.755279 -0.75879 -0.762273 -0.765749 -0.769182 +-0.772615 -0.776003 -0.779385 -0.782737 -0.786068 -0.789382 -0.792661 +-0.795938 -0.799164 -0.802391 -0.805578 -0.808751 -0.8119 -0.81502 +-0.81813 -0.821196 -0.824262 -0.82728 -0.830292 -0.83327 -0.836227 +-0.839166 -0.842068 -0.844967 -0.847813 -0.850659 -0.853463 -0.856253 +-0.859016 -0.861749 -0.864472 -0.867148 -0.869825 -0.872449 -0.875068 +-0.877652 -0.880213 -0.882755 -0.885258 -0.887758 -0.890203 -0.892647 +-0.895047 -0.897433 -0.89979 -0.902117 -0.904431 -0.906698 -0.908965 +-0.911177 -0.913384 -0.915554 -0.9177 -0.919826 -0.921912 -0.923995 +-0.92602 -0.928046 -0.930023 -0.931987 -0.933921 -0.935824 -0.937714 +-0.939554 -0.941395 -0.943179 -0.944957 -0.946697 -0.948413 -0.950107 +-0.951761 -0.95341 -0.955001 -0.956592 -0.958134 -0.959662 -0.961158 +-0.962622 -0.964073 -0.965474 -0.966875 -0.968217 -0.969554 -0.97085 +-0.972123 -0.973374 -0.974583 -0.975787 -0.976932 -0.978077 -0.979171 +-0.980251 -0.981298 -0.982314 -0.983315 -0.984266 -0.985217 -0.986107 +-0.986993 -0.987836 -0.988657 -0.989454 -0.99021 -0.99096 -0.99165 +-0.99234 -0.992978 -0.993603 -0.994194 -0.994754 -0.995298 -0.995792 +-0.996285 -0.996717 -0.997145 -0.99753 -0.997892 -0.99823 -0.998526 +-0.998817 -0.999047 -0.999278 -0.999455 -0.99962 -0.99975 -0.999849 +-0.999933 -0.999965 -0.999998 -0.999969 -0.999936 -0.999859 -0.99976 +-0.999635 -0.999471 -0.999299 -0.999069 -0.998838 -0.998554 -0.998257 +-0.997926 -0.997563 -0.997185 -0.996757 -0.996329 -0.995838 -0.995344 +-0.994806 -0.994246 -0.993661 -0.993037 -0.992405 -0.991714 -0.991024 +-0.99028 -0.989524 -0.988734 -0.987913 -0.987076 -0.98619 -0.985304 +-0.984355 -0.983404 -0.982409 -0.981393 -0.980352 -0.979271 -0.978183 +-0.977039 -0.975894 -0.974695 -0.973486 -0.972242 -0.970969 -0.969679 +-0.968342 -0.967004 -0.965605 -0.964204 -0.962759 -0.961294 -0.959804 +-0.958276 -0.95674 -0.95515 -0.953559 -0.951915 -0.950261 -0.948573 +-0.946856 -0.945123 -0.943345 -0.941566 -0.939726 -0.937885 -0.936001 +-0.934099 -0.932171 -0.930206 -0.928234 -0.926209 -0.924184 -0.922107 +-0.920021 -0.917901 -0.915754 -0.91359 -0.911383 -0.909176 -0.90691 +-0.904643 -0.902333 -0.900007 -0.897655 -0.895269 -0.892875 -0.890431 +-0.887986 -0.885491 -0.882988 -0.880452 -0.87789 -0.875312 -0.872693 +-0.870074 -0.867398 -0.864721 -0.862004 -0.859271 -0.856513 -0.853723 +-0.850924 -0.848078 -0.845232 -0.842338 -0.839437 -0.836503 -0.833546 +-0.830572 -0.827561 -0.824548 -0.821482 -0.818416 -0.815311 -0.812191 +-0.809047 -0.805873 -0.802692 -0.799465 -0.796239 -0.792967 -0.789688 +-0.786378 -0.783047 -0.779701 -0.776318 -0.772935 -0.769502 -0.766069 +-0.762598 -0.759115 -0.755608 -0.752075 -0.748533 -0.74495 -0.741367 +-0.737741 -0.734109 -0.730448 -0.726768 -0.723073 -0.719345 -0.715616 +-0.711841 -0.708065 -0.704256 -0.700434 -0.696591 -0.692723 -0.688848 +-0.684935 -0.681021 -0.677068 -0.67311 -0.669125 -0.665123 -0.661107 +-0.657061 -0.653013 -0.648924 -0.644835 -0.640714 -0.636583 -0.632432 +-0.628258 -0.624077 -0.619863 -0.615648 -0.611397 -0.607142 -0.602863 +-0.598568 -0.59426 -0.589926 -0.58559 -0.581217 -0.576844 -0.572442 +-0.568031 -0.563603 -0.559155 -0.5547 -0.550215 -0.54573 -0.541213 +-0.536692 -0.532149 -0.527593 -0.523026 -0.518435 -0.513843 -0.509218 +-0.504594 -0.499944 -0.495286 -0.490613 -0.485923 -0.481227 -0.476505 +-0.471783 -0.467032 -0.462279 -0.457507 -0.452724 -0.44793 -0.443117 +-0.438303 -0.433461 -0.428619 -0.423755 -0.418885 -0.414001 -0.409104 +-0.404201 -0.399277 -0.394352 -0.389404 -0.384454 -0.379488 -0.374512 +-0.369528 -0.364528 -0.359527 -0.354503 -0.349479 -0.344438 -0.339391 +-0.334333 -0.329265 -0.324191 -0.319101 -0.314011 -0.308901 -0.30379 +-0.298666 -0.293536 -0.288398 -0.283248 -0.278096 -0.272928 -0.26776 +-0.262577 -0.257392 -0.252197 -0.246994 -0.241788 -0.236569 -0.231351 +-0.226118 -0.220884 -0.21564 -0.210392 -0.205138 -0.199876 -0.194613 +-0.189338 -0.184063 -0.178779 -0.173492 -0.168199 -0.162901 -0.1576 +-0.152291 -0.146983 -0.141665 -0.136346 -0.131022 -0.125695 -0.120364 +-0.115029 -0.109693 -0.10435 -0.0990078 -0.09366 -0.0883109 -0.0829589 +-0.0776042 -0.0722483 -0.0668888 -0.0615292 -0.0561658 -0.0508022 -0.0454364 +-0.0400696 -0.0347018 -0.0293326 -0.0239632 -0.0185923 -0.0132214 -0.00784991 +-0.00247823 0.00289345 0.00826512 0.0136366 0.0190075 0.0243783 0.0297476 +0.0351169 0.0404845 0.0458513 0.0512168 0.0565804 0.0619435 0.0673031 +0.0726626 0.0780181 0.0833728 0.0887244 0.0940735 0.0994208 0.104763 +0.110106 0.115441 0.120777 0.126106 0.131434 0.136757 0.142076 0.147393 +0.152702 0.15801 0.16331 0.168608 0.1739 0.179187 0.184471 0.189746 +0.195021 0.200283 0.205545 0.210797 0.216046 0.221288 0.226522 0.231754 +0.236973 0.242191 0.247397 0.252599 0.257792 0.262978 0.268159 0.273328 +0.278496 0.283646 0.288796 0.293932 0.299063 0.304185 0.309296 0.314404 +0.319494 0.324585 0.329656 0.334725 0.339781 0.344828 0.349868 0.354891 +0.359915 0.364915 0.369915 0.374897 0.379872 0.384837 0.389787 0.394733 +0.399657 0.404581 0.409483 0.41438 0.419262 0.424132 0.428993 0.433835 +0.438677 0.443489 0.448302 0.453094 0.457877 0.462647 0.4674 0.472148 +0.47687 0.481591 0.486286 0.490976 0.495647 0.500304 0.504952 0.509576 +0.5142 0.51879 0.523381 0.527946 0.532502 0.537042 0.541562 0.546077 +0.550561 0.555046 0.559499 0.563947 0.568372 0.572783 0.577182 0.581555 +0.585927 0.590261 0.594595 0.5989 0.603195 0.607471 0.611726 0.615974 +0.620189 0.624403 0.628581 0.632754 0.636902 0.641033 0.645151 0.64924 +0.653328 0.657373 0.661419 0.665433 0.669435 0.673416 0.677374 0.681324 +0.685237 0.68915 0.693023 0.69689 0.70073 0.704551 0.708358 0.712132 +0.715905 0.719633 0.723361 0.727053 0.730733 0.73439 0.738021 0.741644 +0.745227 0.74881 0.752348 0.755881 0.759384 0.762868 0.766334 0.769767 +0.773198 0.77658 0.779962 0.783305 0.786636 0.789941 0.79322 0.796488 +0.799715 0.802941 0.806119 0.809292 0.812432 0.815552 0.818653 0.821719 +0.824782 0.827794 0.830805 0.833774 0.836731 0.839661 0.842563 0.845453 +0.848299 0.851145 0.853939 0.856728 0.859482 0.862215 0.864928 0.867605 +0.870277 0.872896 0.875515 0.878088 0.88065 0.883182 0.885685 0.888175 +0.89062 0.893064 0.895454 0.89784 0.900187 0.902513 0.904818 0.907085 +0.909347 0.911554 0.913761 0.91592 0.918067 0.920182 0.922268 0.924341 +0.926366 0.928391 0.930358 0.932322 0.934246 0.936148 0.938028 0.939868 +0.941704 0.943482 0.945261 0.946989 0.948705 0.950389 0.952043 0.953682 +0.955273 0.956863 0.958394 0.959922 0.961408 0.962872 0.964312 0.965713 +0.967108 0.968445 0.969782 0.971067 0.972341 0.97358 0.974789 0.975982 +0.977127 0.978272 0.979355 0.980435 0.981472 0.982487 0.983478 0.984428 +0.985372 0.986258 0.987144 0.987976 0.988797 0.989583 0.990338 0.991078 +0.991768 0.992458 0.993085 0.99371 0.99429 0.994849 0.995382 0.995876 +0.996362 0.99679 0.997218 0.997591 0.997954 0.99828 0.998577 0.998856 +0.999086 0.999317 0.999483 0.999648 0.999767 0.999866 0.999938 0.999971 +0.999996 0.999963 0.99993 0.999842 0.999743 0.999608 0.999443 0.999261 +0.99903 0.998799 0.998504 0.998207 0.997865 0.997503 0.997113 0.996685 +0.996248 0.995755 0.995261 0.994712 0.994152 0.993556 0.992932 0.992289 +0.991598 0.990908 0.990153 0.989397 0.988596 0.987775 0.986927 0.986041 +0.985146 0.984195; +#A 8000 0.983244 0.982238 0.981222 0.98017 0.97909 0.977991 0.976846 +0.975701 0.974492 0.973283 0.972028 0.970755 0.969454 0.968117 0.96677 +0.96537 0.963969 0.962513 0.961048 0.959547 0.95802 0.956473 0.954882 +0.953291 0.951637 0.949984 0.948285 0.946568 0.944825 0.943046 0.941258 +0.939417 0.937576 0.935682 0.933779 0.931841 0.929877 0.927894 0.925869 +0.923843 0.921757 0.919671 0.91754 0.915394 0.91322 0.911013 0.908796 +0.906529 0.904262 0.901943 0.899617 0.897255 0.894869 0.892465 0.890021 +0.887574 0.885071 0.882568 0.880022 0.877461 0.874873 0.872254 0.869625 +0.866949 0.864272 0.861546 0.858812 0.856045 0.853255 0.850447 0.847601 +0.844753 0.841852 0.83895 0.836007 0.83305 0.830067 0.827056 0.824034 +0.820968 0.817902 0.814788 0.811668 0.808515 0.805342 0.802151 0.798924 +0.795696 0.792417 0.789138 0.78582 0.782489 0.779134 0.775752 0.77236 +0.768927 0.765493 0.762014 0.758531 0.755016 0.751483 0.747932 0.744349 +0.740764 0.737132 0.7335 0.729832 0.726151 0.722448 0.71872 0.714983 +0.711208 0.707433 0.703616 0.699794 0.695943 0.692076 0.688192 0.684279 +0.680363 0.676405 0.672447 0.668455 0.664453 0.660429 0.656383 0.652328 +0.648239 0.64415 0.640022 0.635891 0.631733 0.627559 0.623372 0.619157 +0.61494 0.610685 0.60643 0.602144 0.597849 0.593534 0.5892 0.584858 +0.580485 0.576112 0.571704 0.567293 0.562858 0.55841 0.553949 0.549464 +0.544977 0.540456 0.535936 0.531387 0.526831 0.522258 0.517667 0.513069 +0.508445 0.50382 0.499165 0.494507 0.489828 0.485138 0.480436 0.475715 +0.47099 0.466237 0.461484 0.456707 0.451924 0.447125 0.442312 0.437492 +0.432651 0.427809 0.42294 0.41807 0.413182 0.408284 0.403377 0.398453 +0.393526 0.388576 0.383626 0.378655 0.37368 0.368691 0.363692 0.358686 +0.353662 0.348639 0.343593 0.338547 0.333485 0.328416 0.323339 0.318249 +0.313157 0.308046 0.302935 0.297808 0.292677 0.287536 0.282386 0.277231 +0.272063 0.266895 0.26171 0.256524 0.251326 0.246124 0.240915 0.235696 +0.230476 0.225242 0.220008 0.214762 0.209513 0.204258 0.198996 0.19373 +0.188455 0.183181 0.177894 0.172607 0.167312 0.162014 0.156712 0.151403 +0.146093 0.140775 0.135456 0.13013 0.124803 0.119472 0.114136 0.108799 +0.103456 0.0981138 0.0927649 0.0874158 0.0820629 0.0767082 0.0713515 +0.0659919 0.0606319 0.0552683 0.0499047 0.0445384 0.0391715 0.0338033 +0.0284341 0.0230644 0.0176935 0.0123227 0.00695101 0.00157934 -0.00379234 +-0.00916401 -0.0145353 -0.0199062 -0.0252769 -0.0306461 -0.0360154 +-0.0413825 -0.0467494 -0.0521143 -0.0574779 -0.0628404 -0.0681999 -0.0735595 +-0.0789142 -0.0842689 -0.0896195 -0.0949686 -0.100315 -0.105657 -0.110999 +-0.116334 -0.12167 -0.126998 -0.132325 -0.137647 -0.142966 -0.148281 +-0.15359 -0.158899 -0.164197 -0.169495 -0.174785 -0.180072 -0.185354 +-0.190629 -0.195902 -0.201164 -0.206426 -0.211676 -0.216924 -0.222164 +-0.227398 -0.232627 -0.237846 -0.243064 -0.248267 -0.25347 -0.25866 +-0.263846 -0.269024 -0.274192 -0.279358 -0.284508 -0.289658 -0.294791 +-0.299922 -0.305041 -0.310151 -0.315256 -0.320346 -0.325436 -0.330505 +-0.335573 -0.340626 -0.345672 -0.350708 -0.355732 -0.360751 -0.365751 +-0.370751 -0.375729 -0.380705 -0.385665 -0.390615 -0.395557 -0.400481 +-0.405405 -0.410302 -0.4152 -0.420076 -0.424946 -0.429803 -0.434645 +-0.439482 -0.444295 -0.449108 -0.453894 -0.458677 -0.463442 -0.468195 +-0.472938 -0.47766 -0.48238 -0.48707 -0.49176 -0.496426 -0.501084 -0.505725 +-0.51035 -0.514968 -0.519558 -0.524149 -0.528708 -0.533264 -0.537798 +-0.542319 -0.546827 -0.551312 -0.555795 -0.560243 -0.564691 -0.56911 +-0.573521 -0.577914 -0.582287 -0.586652 -0.590986 -0.59532 -0.599619 +-0.603913 -0.608183 -0.612438 -0.616679 -0.620894 -0.625106 -0.629279 +-0.633452 -0.637593 -0.641725 -0.645835 -0.649924 -0.654005 -0.658051 +-0.662097 -0.666102 -0.670105 -0.674079 -0.678037 -0.681979 -0.685892 +-0.689802 -0.69367 -0.697537 -0.701369 -0.705191 -0.708989 -0.712764 +-0.716529 -0.720257 -0.723985 -0.727668 -0.731348 -0.734997 -0.738629 +-0.742243 -0.745826 -0.749406 -0.752939 -0.756473 -0.759967 -0.763451 +-0.766909 -0.770342 -0.773764 -0.777146 -0.780528 -0.783862 -0.787193 +-0.79049 -0.793769 -0.797028 -0.800255 -0.803477 -0.80665 -0.809823 +-0.812954 -0.816074 -0.819166 -0.822232 -0.825286 -0.828298 -0.831309 +-0.834269 -0.837226 -0.840147 -0.843048 -0.845929 -0.848775 -0.851616 +-0.854405 -0.857195 -0.859939 -0.862673 -0.865376 -0.868053 -0.870715 +-0.873334 -0.875953 -0.878517 -0.881078 -0.883601 -0.886104 -0.888584 +-0.891029 -0.893467 -0.895853 -0.898239 -0.900576 -0.902903 -0.905197 +-0.907464 -0.909716 -0.911923 -0.91413 -0.916279 -0.918426 -0.920531 +-0.922617 -0.924679 -0.926705 -0.928723 -0.930687 -0.932651 -0.934564 +-0.936467 -0.938336 -0.940176 -0.942001 -0.94378 -0.945558 -0.947276 +-0.948993 -0.950666 -0.95232 -0.953948 -0.955539 -0.957122 -0.95865 +-0.960178 -0.961653 -0.963117 -0.964547 -0.965948 -0.967332 -0.968669 +-0.970006 -0.97128 -0.972554 -0.973782 -0.974991 -0.976174 -0.977319 +-0.978455 -0.979536 -0.980616 -0.981642 -0.982657 -0.983637 -0.984587 +-0.985521 -0.986406 -0.987292 -0.988114 -0.988935 -0.989709 -0.990465 +-0.991193 -0.991883 -0.992565 -0.993189 -0.993814 -0.994383 -0.994943 +-0.995465 -0.995959 -0.996434 -0.996862 -0.99729 -0.997652 -0.998014 +-0.99833 -0.998626 -0.998895 -0.999125 -0.999346 -0.999511 -0.999676 +-0.999784 -0.999883 -0.999944 -0.999977 -0.99999 -0.999957 -0.999924 +-0.999825 -0.999726 -0.99958 -0.999415 -0.999221 -0.998991 -0.99875 +-0.998453 -0.998157 -0.997803 -0.997441 -0.99704 -0.996612 -0.996165 +-0.995671 -0.995176 -0.994617 -0.994057 -0.99345 -0.992825 -0.992171 +-0.991481 -0.99078 -0.990025 -0.989269 -0.988456 -0.987635 -0.986776 +-0.98589 -0.984984 -0.984034 -0.983081 -0.982065 -0.98105 -0.979986 +-0.978906 -0.977797 -0.976652 -0.975496 -0.974287 -0.973078 -0.971812 +-0.970539 -0.969227 -0.96789 -0.966532 -0.965131 -0.963728 -0.962264 +-0.960799 -0.959288 -0.95776 -0.956203 -0.954612 -0.95301 -0.951356 +-0.949703 -0.947993 -0.946277 -0.944522 -0.942744 -0.940945 -0.939104 +-0.937261 -0.935358 -0.933456 -0.931507 -0.929543 -0.92755 -0.925525 +-0.923488 -0.921402 -0.919316 -0.917175 -0.915028 -0.912844 -0.910637 +-0.908411 -0.906144 -0.903874 -0.901547 -0.899221 -0.896849 -0.894463 +-0.892049 -0.889605 -0.887149 -0.884645 -0.882142 -0.879586 -0.877025 +-0.874427 -0.871808 -0.86917 -0.866493 -0.863814 -0.86108 -0.858347 +-0.85557 -0.85278 -0.849963 -0.847117 -0.844259 -0.841358 -0.838456 +-0.835504 -0.832547 -0.829555 -0.826543 -0.823512 -0.820446 -0.817376 +-0.814256 -0.811136 -0.807975 -0.804801 -0.801601 -0.798375 -0.795137 +-0.791859 -0.78858 -0.785253 -0.781922 -0.778558 -0.775176 -0.771775 +-0.768342 -0.764905 -0.761421 -0.757937 -0.754414 -0.750881 -0.747322 +-0.743739 -0.740145 -0.736513 -0.732882 -0.729204 -0.725524 -0.721813 +-0.718085 -0.71434 -0.710565 -0.706786 -0.702964 -0.699143 -0.695284 +-0.691417 -0.687525 -0.683612 -0.679689 -0.675731 -0.671773 -0.667773 +-0.663771 -0.659739 -0.655693 -0.651631 -0.647542 -0.64345 -0.639318 +-0.635187 -0.631021 -0.626848 -0.622653 -0.618439 -0.614215 -0.60996 +-0.605705 -0.601411 -0.597117 -0.592795 -0.588461 -0.584112 -0.579739 +-0.575363 -0.570952 -0.566541 -0.5621 -0.557652 -0.553184 -0.548699 +-0.544206 -0.539685 -0.535164 -0.53061 -0.526054 -0.521475 -0.516884 +-0.51228 -0.507656 -0.503028 -0.49837 -0.493713 -0.489028 -0.484338 +-0.479631 -0.474909 -0.470179 -0.465426 -0.460673 -0.455891 -0.451108 +-0.446304 -0.441491 -0.436667 -0.431825 -0.42698 -0.422109 -0.417239 +-0.412347 -0.407449 -0.402537 -0.397613 -0.392682 -0.387731 -0.382781 +-0.377806 -0.372831 -0.367839 -0.362839 -0.357829 -0.352805 -0.347779 +-0.342732 -0.337686 -0.332621 -0.327552 -0.322471 -0.317381 -0.312285 +-0.307174 -0.302063 -0.296933 -0.291802 -0.286657 -0.281508 -0.27635 +-0.271182 -0.266011 -0.260825 -0.255639 -0.250439 -0.245236 -0.240025 +-0.234806 -0.229583 -0.224349 -0.219115 -0.213867 -0.208618 -0.20336 +-0.198098 -0.192831 -0.187556 -0.182279 -0.176992 -0.171705 -0.166409 +-0.16111 -0.155806 -0.150497 -0.145186 -0.139867 -0.134549 -0.129222 +; +#X coords 0 1 8819 -1 300 100 1; +#X restore 358 381 graph; +#X obj 82 728 tabwrite~ sine-1; +#X obj 96 756 tabwrite~ sine-2; +#X obj 248 238 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X msg 248 253 \; pd dsp \$1; +#X obj 185 399 tgl 15 0 empty empty graph 0 -6 0 8 -262144 -1 -1 1 +1; +#X msg 185 414 \; metro \$1; +#X obj 268 506 bng 15 250 50 0 empty empty graph 0 -6 0 8 -262144 -1 +-1; +#X floatatom 170 460 5 0 0 0 - - -; +#X obj 170 474 mtof; +#X floatatom 188 690 5 0 0 0 - - -; +#X obj 221 713 / 64; +#X floatatom 233 745 5 0 0 0 - - -; +#N canvas 0 0 450 300 graph2 0; +#X array score 8820 float 1; +#A 0 0.438094 0.141779 0.0824044 0.0618505 0.0561296 0.0623698 0.0988021 +0.341186 0.087642 0.0391706 0.0256266 0.0199546 0.0175753 0.0173033 +0.0193058 0.0258883 0.0550873 0.206265 0.0345814 0.0181811 0.0130089 +0.0108634 0.0101729 0.0106202 0.0126238 0.0184985 0.0557492 0.139727 +0.0198486 0.0116546 0.00881971 0.00768469 0.00747754 0.00812176 0.0101377 +0.0161939 0.114474 0.0480225 0.0135807 0.00866756 0.0068585 0.00618433 +0.00621255 0.00698724 0.00914576 0.0161779 0.118073 0.0252478 0.0103867 +0.0070867 0.00582783 0.00541827 0.00560583 0.00652297 0.00898176 0.018192 +0.111213 0.0173375 0.00863059 0.00622654 0.00530144 0.00507253 0.00540131 +0.00650872 0.00948843 0.0236469 0.106404 0.0136003 0.007686 0.00581943 +0.00511737 0.00503483 0.00551928 0.00690336 0.0107625 0.0423041 0.0892688 +0.0117464 0.00729592 0.00576753 0.00523058 0.00529138 0.00597835 0.00778939 +0.0131889 0.104283 0.0326117 0.0110298 0.00738869 0.006078 0.00568209 +0.00591495 0.00690218 0.00941745 0.0177493 0.125778 0.0248148 0.0112689 +0.00804969 0.00688022 0.00663557 0.00712222 0.0086139 0.0124027 0.0271648 +0.143412 0.0235951 0.0127219 0.00963648 0.00856779 0.00855167 0.00950704 +0.0119938 0.0184456 0.0513868 0.167258 0.0270748 0.0166088 0.0133695 +0.0124586 0.0129984 0.0151498 0.0202387 0.0340128 0.165141 0.157521 +0.0416773 0.0291957 0.0257374 0.0261551 0.0299701 0.0389428 0.0594591 +0.11928 0.473708 0.318043 0.248033 0.528526 0.292467 0.119172 0.0792814 +0.0674951 0.0718823 0.10938 0.362242 0.0978064 0.0429756 0.0277971 +0.0214479 0.0187438 0.018324 0.0203025 0.026997 0.0562448 0.212606 +0.0365943 0.0190367 0.0135481 0.0112672 0.0105125 0.0109347 0.0129425 +0.0188387 0.0546079 0.144518 0.0205971 0.012002 0.00904665 0.00785873 +0.00762587 0.00825869 0.0102696 0.0162854 0.113228 0.0519538 0.0139381 +0.00884269 0.00697393 0.00627218 0.00628543 0.00704988 0.00919202 0.0161124 +0.117643 0.0262347 0.0105783 0.00718226 0.00588917 0.00546235 0.00563835 +0.00654284 0.00897091 0.0179406 0.111763 0.0177669 0.00873668 0.00627693 +0.00533005 0.00508838 0.0054057 0.00649534 0.00942281 0.0229913 0.108093 +0.0138141 0.00773918 0.00583834 0.00512108 0.00502728 0.00549801 0.00685548 +0.0106255 0.0391971 0.0914894 0.0118468 0.00730887 0.00575868 0.00520982 +0.00525856 0.00592654 0.00769537 0.0129343 0.102627 0.0338744 0.0110507 +0.00736171 0.00603701 0.00562998 0.00584694 0.00680443 0.00924758 0.0172589 +0.124505 0.0251125 0.0112095 0.00796842 0.00678991 0.00653166 0.00699266 +0.00843144 0.0120833 0.0260878 0.141423 0.0235277 0.0125393 0.00945411 +0.0083778 0.00833712 0.00923974 0.0116129 0.0177545 0.0482392 0.165561 +0.0265466 0.0161272 0.0129131 0.0119802 0.0124451 0.0144366 0.0191763 +0.0319528 0.143342 0.166257 0.0394954 0.0273098 0.023816 0.0239255 +0.0270481 0.0345652 0.0516645 0.100987 0.425921 0.26449 0.16862 0.210628 +0.530316 0.22012 0.110867 0.0848931 0.0851156 0.123205 0.386729 0.110169 +0.0475448 0.0303604 0.0231858 0.0200868 0.019485 0.0214268 0.0282412 +0.0576204 0.219459 0.0388143 0.0199724 0.0141351 0.0117055 0.0108801 +0.0112745 0.013287 0.0192109 0.0537307 0.149345 0.021399 0.0123719 +0.0092879 0.00804358 0.00778341 0.00840437 0.0104111 0.0163912 0.111433 +0.0567166 0.0143151 0.00902689 0.0070954 0.00636483 0.00636265 0.00711699 +0.0092438 0.0160595 0.117432 0.027304 0.0107794 0.00728264 0.00595388 +0.00550922 0.00567349 0.00656561 0.00896429 0.017708 0.112522 0.0182226 +0.00884805 0.00633028 0.00536089 0.00510624 0.0054122 0.0064846 0.00936197 +0.022388 0.108897 0.0140402 0.00779598 0.00585957 0.0051267 0.00502162 +0.00547891 0.00681068 0.0104954 0.0366686 0.0933889 0.0119545 0.00732494 +0.00575215 0.0051912 0.00522802 0.00587757 0.00760581 0.012692 0.101031 +0.0353309 0.0110776 0.00733819 0.00599899 0.0055809 0.00578246 0.00671145 +0.00908581 0.0167955 0.122126 0.0254488 0.0111576 0.00789273 0.00670482 +0.00643332 0.00686981 0.00825833 0.0117808 0.0250842 0.139576 0.0234873 +0.0123699 0.00928328 0.00819955 0.00813589 0.00898938 0.0112568 0.0171111 +0.0454035 0.163991 0.0260728 0.0156855 0.0124942 0.0115423 0.0119406 +0.0137892 0.018217 0.0301057 0.126269 0.171472 0.0375941 0.0256796 +0.0221777 0.0220564 0.0246493 0.0310644 0.0456302 0.0872901 0.387165 +0.22955 0.128816 0.131519 0.213054 0.521384 0.187294 0.114951 0.104782 +0.141959 0.415701 0.125471 0.0531269 0.0334309 0.0252324 0.0216461 +0.0208171 0.0227044 0.0296467 0.059247 0.226972 0.0412751 0.0210005 +0.0147769 0.0121827 0.011279 0.0116423 0.0136597 0.0196171 0.0530767 +0.154315 0.0222584 0.0127661 0.00954449 0.00824004 0.0079509 0.0085596 +0.0105631 0.0165125 0.107867 0.0626964 0.0147136 0.00922101 0.00722341 +0.00646261 0.00644442 0.00718864 0.00930104 0.0160187 0.117354 0.0284654 +0.0109904 0.00738793 0.00602201 0.00555895 0.00571137 0.00659142 0.00896205 +0.0174934 0.113482 0.0187066 0.00896501 0.00638673 0.00539404 0.00512614 +0.00542079 0.00647644 0.00930577 0.0218315 0.108366 0.014279 0.00785648 +0.00588312 0.00513424 0.00501783 0.00546194 0.00676887 0.010372 0.0345509 +0.0951095 0.0120698 0.00734409 0.00574787 0.00517466 0.00519971 0.0058314 +0.00752063 0.0124615 0.0994575 0.0370331 0.0111106 0.00731818 0.00596393 +0.00553477 0.00572133 0.00662288 0.00893149 0.016357 0.11998 0.025826 +0.0111127 0.00782216 0.00662459 0.00634023 0.00675334 0.00809417 0.0114944 +0.0241484 0.137967 0.0234744 0.0122135 0.00912343 0.00803225 0.00794693 +0.00875441 0.0109231 0.0165102 0.0428355 0.162563 0.0256474 0.0152788 +0.0121086 0.0111402 0.0114789 0.0131993 0.0173476 0.0284431 0.112504 +0.174378 0.0359282 0.0242584 0.0207654 0.0204676 0.0226454 0.0282014 +0.0408212 0.0766578 0.354699 0.205194 0.104756 0.0963527 0.121538 0.248073 +0.502753 0.180315 0.137153 0.16881 0.450636 0.144856 0.0600993 0.0371754 +0.0276772 0.0234774 0.0223598 0.0241672 0.0312429 0.0611534 0.23506 +0.0440112 0.0221336 0.0154807 0.0127038 0.0117131 0.0120416 0.0140643 +0.0200615 0.0526242 0.159415 0.0231822 0.0131872 0.00981797 0.00844917 +0.00812912 0.00872495 0.0107259 0.0166493 0.101492 0.0706358 0.0151349 +0.00942541 0.00735823 0.00656576 0.00653101 0.0072652 0.00936419 0.0159902 +0.117454 0.0297317 0.011212 0.00749851 0.0060938 0.00561168 0.00575205 +0.00662026 0.00896408 0.0172958 0.114667 0.0192212 0.0090877 0.00644631 +0.00542953 0.00514813 0.00543152 0.00647093 0.0092542 0.0213173 0.108094 +0.0145313 0.00792079 0.00590904 0.00514371 0.00501591 0.00544708 0.00673 +0.0102551 0.0327401 0.0967647 0.012193 0.00736638 0.00574587 0.00516018 +0.00517358 0.0057879 0.00743958 0.0122421 0.0978602 0.0390555 0.0111496 +0.00730151 0.00593167 0.00549146 0.00566344 0.00653865 0.00878446 0.015942 +0.11801 0.0262484 0.0110748 0.00775669 0.00654906 0.00625212 0.00664281 +0.00793824 0.0112226 0.0232737 0.136526 0.023488 0.0120687 0.00897353 +0.00787498 0.00776927 0.0085337 0.0106102 0.0159488 0.0405046 0.160734 +0.0252679 0.0149045 0.0117529 0.0107699 0.011055 0.0126597 0.0165558 +0.0269381 0.101147 0.175868 0.0344578 0.0230088 0.0195355 0.019101 +0.0209469 0.0258179 0.0369018 0.0681788 0.32696 0.187553 0.0886244 +0.0763065 0.0857806 0.126439 0.333636 0.460576 0.200981 0.210399 0.494164 +0.170105 0.069044 0.0418392 0.0306474 0.0256578 0.0241667 0.025858 +0.0330705 0.0633904 0.243962 0.0470712 0.023389 0.0162558 0.0132749 +0.012187 0.0124762 0.0145037 0.0205472 0.0523512 0.164715 0.0241758 +0.0136373 0.0101097 0.00867199 0.00831898 0.00890135 0.0109008 0.0168031 +0.091693 0.0822961 0.015581 0.00964111 0.00750043 0.00667467 0.00662266 +0.00734676 0.00943324 0.0159736 0.117636 0.031117 0.0114446 0.00761449 +0.00616933 0.00566749 0.00579567 0.00665232 0.00897058 0.0171145 0.116093 +0.0197689 0.00921647 0.00650921 0.00546746 0.00517224 0.0054444 0.006468 +0.00920711 0.0208413 0.10806 0.0147978 0.00798898 0.00593736 0.00515513 +0.00501586 0.00543431 0.00669402 0.0101443 0.0311672 0.0984162 0.0123241 +0.00739178 0.0057461 0.00514771 0.00514958 0.00574704 0.00736261 0.0120334 +0.0951374 0.0415148 0.0111947 0.00728819 0.00590219 0.00545089 0.00560864 +0.00645845 0.00864417 0.0155488 0.116256 0.0267193 0.0110435 0.00769591 +0.00647791 0.0061687 0.00653795 0.00779021 0.010965 0.0224557 0.135326 +0.023529 0.0119354 0.00883317 0.00772712 0.00760207 0.00832602 0.0103162 +0.0154227 0.0383791 0.158085 0.0249296 0.0145587 0.0114239 0.010428 +0.0106647 0.0121647 0.0158326 0.0255719 0.0916269 0.176277 0.0331558 +0.0219031 0.0184558 0.0179136 0.0194896 0.0238031 0.0336463 0.0612625 +0.302694 0.174489 0.0770523 0.0633241 0.0664816 0.0858537 0.145906 +0.479795 0.398828 0.283862 0.55105 0.204241 0.0809329 0.0478075 0.0343317 +0.0282963 0.0263104 0.0278323 0.035179 0.0660086 0.253566 0.0505076 +0.0247855 0.0171129 0.0139033 0.0127062 0.0129507 0.0149829 0.0210796 +0.0522499 0.170215 0.0252479 0.0141197 0.0104215 0.00890981 0.00852144 +0.00908956 0.0110882 0.0169741 0.0788581 0.0973278 0.0160533 0.00986856 +0.00765036 0.00678962 0.0067197 0.00743374 0.00950871 0.0159696 0.117957 +0.0326396 0.0116891 0.0077363 0.00624886 0.00572656 0.00584227 0.00668756 +0.00898144 0.0169486 0.116805 0.0203525 0.00935146 0.00657546 0.00550786 +0.00519853 0.00545948 0.00646774 0.00916452 0.0204005 0.108232 0.0150795 +0.00806119 0.00596812 0.00516852 0.00501768 0.00542362 0.00666087 0.0100396 +0.0297843 0.10013 0.0124637 0.00742035 0.00574857 0.00513726 0.00512766 +0.00570871 0.00728949 0.0118347 0.0904518 0.0446038 0.011246 0.00727811 +0.00587536 0.00541294 0.00555684 0.00638223 0.00851048 0.0151762 0.114644 +0.0272445 0.0110189 0.00763981 0.00641103 0.00608975 0.00643838 0.00764944 +0.0107202 0.0216889 0.134327 0.0235966 0.0118124 0.00870149 0.00758792 +0.00744456 0.00813048 0.0100397 0.0149297 0.0364375 0.155617 0.0246308 +0.0142394 0.0111192 0.0101116 0.0103042 0.0117089 0.0151692 0.0243254 +0.0835295 0.17611 0.031996 0.020918 0.0175007 0.0168727 0.018226 0.0220786 +0.0309017 0.055523 0.281154 0.164784 0.0683546 0.0542276 0.0543684 +0.065167 0.0950192 0.18705 0.596781 0.454157 0.630533 0.25273 0.0974881 +0.0557115 0.0390202 0.0315529 0.028894 0.0301673 0.0376373 0.0690897 +0.264165 0.0543927 0.0263489 0.0180658 0.0145977 0.013277 0.0134703 +0.0155062 0.0216631 0.0523087 0.175459 0.0264058 0.0146373 0.0107552 +0.00916393 0.00873764 0.0092907 0.0112894 0.0171641 0.0715792 0.107054 +0.0165545 0.0101089 0.00780869; +#A 1000 0.00691108 0.00682241 0.00752628 0.00959059 0.0159775 0.11833 +0.0343208 0.0119459 0.00786409 0.00633249 0.00578899 0.00589204 0.0067262 +0.00899691 0.0167978 0.116189 0.0209753 0.00949309 0.00664526 0.00555085 +0.00522703 0.00547677 0.0064701 0.00912628 0.0199915 0.108616 0.0153772 +0.00813752 0.00600136 0.00518388 0.00502136 0.00541499 0.00663051 0.00994064 +0.0285564 0.101955 0.012612 0.0074521 0.00575326 0.00512876 0.0051078 +0.00567289 0.00722017 0.0116457 0.0850786 0.0486819 0.0113036 0.00727128 +0.00585118 0.00537757 0.0055079 0.0063097 0.00838289 0.0148226 0.113238 +0.0278294 0.0110006 0.00758803 0.00634813 0.00601502 0.00634387 0.0075157 +0.0104878 0.0209699 0.133597 0.0236922 0.0116996 0.00857817 0.0074569 +0.00729606 0.00794607 0.00977913 0.0144664 0.0346566 0.153258 0.024368 +0.0139438 0.0108363 0.00981809 0.00997063 0.0112882 0.0145593 0.0231859 +0.0765734 0.175424 0.0309613 0.0200364 0.0166506 0.0159533 0.0171204 +0.0205862 0.0285566 0.0506849 0.261443 0.157678 0.0615817 0.0474981 +0.0460497 0.0525768 0.0706184 0.116658 0.269638 0.729726 0.755311 0.326761 +0.122126 0.0666754 0.0451875 0.0356721 0.0320664 0.0329688 0.0405345 +0.0727241 0.275716 0.0588089 0.0281082 0.0191302 0.0153686 0.0139072 +0.0140415 0.01608 0.0223048 0.0525289 0.180191 0.0276606 0.0151943 +0.0111132 0.009436 0.00896881 0.00950573 0.0115052 0.0173733 0.0666923 +0.114733 0.0170863 0.0103629 0.00797584 0.0070394 0.00693119 0.00762485 +0.00967949 0.0159981 0.118796 0.0361886 0.0122161 0.00799835 0.00642053 +0.00585496 0.00594504 0.00676824 0.00901688 0.0166612 0.115824 0.0216408 +0.00964154 0.00671866 0.00559645 0.00525782 0.00549635 0.00647516 0.00909246 +0.0196122 0.109187 0.0156919 0.00821812 0.00603715 0.00520125 0.00502693 +0.00540842 0.0066029 0.00984731 0.0274575 0.10395 0.0127692 0.0074871 +0.00576018 0.00512223 0.00508995 0.00563948 0.00715447 0.0114657 0.0781843 +0.054536 0.0113675 0.0072676 0.00582952 0.00534466 0.00546174 0.00624083 +0.0082613 0.0144872 0.111969 0.0284818 0.0109887 0.00754059 0.00628912 +0.00594434 0.00625411 0.00738841 0.0102667 0.0202942 0.132366 0.0238156 +0.0115962 0.00846247 0.00733342 0.00715593 0.00777209 0.00953358 0.014031 +0.0330207 0.151111 0.0241401 0.0136705 0.0105733 0.00954534 0.00966109 +0.0108989 0.0139965 0.0221394 0.0705339 0.174532 0.0300337 0.0192428 +0.0158892 0.0151357 0.0161452 0.0192828 0.0265317 0.0465584 0.242855 +0.152736 0.0561672 0.0423211 0.0399835 0.0440981 0.0562236 0.0849135 +0.162733 0.442768 0.917936 0.453278 0.162677 0.0829013 0.0536618 0.0410471 +0.0360532 0.0363911 0.043998 0.0770512 0.288525 0.0638697 0.0301033 +0.0203272 0.016229 0.0146063 0.0146717 0.0167107 0.023011 0.0529061 +0.185249 0.0290222 0.0157943 0.0114978 0.0097277 0.00921639 0.00973606 +0.0117371 0.017604 0.0631457 0.121299 0.0176519 0.0106317 0.00815261 +0.00717511 0.00704637 0.00772966 0.00977545 0.0160311 0.119279 0.0382767 +0.0125002 0.00813927 0.00651308 0.0059246 0.00600145 0.00681391 0.00904163 +0.0165387 0.115701 0.0223531 0.00979725 0.0067959 0.00564481 0.00529095 +0.00551822 0.00648289 0.00906291 0.0192601 0.109972 0.0160246 0.00830309 +0.00607552 0.00522065 0.00503439 0.00540391 0.00657801 0.00975944 0.0264676 +0.105209 0.0129359 0.00752535 0.00576933 0.00511763 0.00507409 0.00560845 +0.00709233 0.0112946 0.0674204 0.0645193 0.0114379 0.00726711 0.00581038 +0.00531418 0.00541825 0.00617537 0.00814529 0.0141686 0.110897 0.0292102 +0.010983 0.00749718 0.00623375 0.00587749 0.00616891 0.0072674 0.0100565 +0.0196591 0.129975 0.0239681 0.011502 0.00835418 0.00721709 0.00702362 +0.0076077 0.00930167 0.0136209 0.0315127 0.149077 0.0239442 0.0134169 +0.0103284 0.00929133 0.00937331 0.0105377 0.0134762 0.0211769 0.0652546 +0.173436 0.0292021 0.0185263 0.0152041 0.0144043 0.0152791 0.0181349 +0.0247655 0.0429977 0.225238 0.149719 0.0517425 0.0382155 0.035364 +0.0379977 0.0467142 0.0667378 0.11651 0.276642 0.784896 0.710927 0.242173 +0.10941 0.0660394 0.0483544 0.0412119 0.0406624 0.0482043 0.0822422 +0.302668 0.0697108 0.0323815 0.0216815 0.017195 0.0153858 0.0153704 +0.0174071 0.0237914 0.0534488 0.190719 0.030505 0.016443 0.0119121 +0.0100411 0.00948195 0.00998294 0.0119862 0.0178568 0.060454 0.127361 +0.0182534 0.0109162 0.00833953 0.00731866 0.00716843 0.00784122 0.00987914 +0.0160771 0.119064 0.0406311 0.0127994 0.0082874 0.00661051 0.00599814 +0.00606138 0.00686321 0.00907106 0.0164296 0.115762 0.0231166 0.00996046 +0.00687704 0.00569597 0.00532648 0.00554247 0.00649338 0.00903771 0.0189333 +0.110955 0.0163768 0.00839263 0.00611655 0.00524212 0.00504376 0.00540144 +0.00655581 0.00967687 0.025571 0.104876 0.0131125 0.00756693 0.00578071 +0.00511497 0.00506018 0.00557974 0.0070336 0.0111317 0.0555133 0.0758726 +0.0115148 0.0072697 0.00579367 0.00528603 0.00537736 0.00611328 0.00803474 +0.0138661 0.109984 0.0300263 0.0109835 0.00745782 0.00618196 0.00581431 +0.00608799 0.00715218 0.00985646 0.0190609 0.1278 0.0241503 0.0114163 +0.00825265 0.00710737 0.0068986 0.00745234 0.00908266 0.0132345 0.030121 +0.147284 0.02378 0.0131822 0.0101002 0.00905448 0.00910521 0.0102019 +0.0129936 0.0202881 0.0606015 0.172327 0.0284536 0.017876 0.0145846 +0.0137463 0.0145052 0.017117 0.023213 0.0398992 0.208103 0.148592 0.0480667 +0.0348829 0.0317304 0.0333983 0.0399611 0.0549438 0.0905811 0.199704 +0.648894 0.736137 0.473922 0.160766 0.0858463 0.058866 0.0481473 0.0461419 +0.0534185 0.0885577 0.31835 0.0765209 0.0350081 0.0232266 0.0182868 +0.0162598 0.0161487 0.0181788 0.0246551 0.0541591 0.196545 0.0321227 +0.0171452 0.0123592 0.0103785 0.00976734 0.0102481 0.0122545 0.0181342 +0.0583663 0.133056 0.0188946 0.011218 0.00853754 0.00747069 0.00729778 +0.00795983 0.00999068 0.0161361 0.117377 0.0433109 0.0131144 0.00844297 +0.00671295 0.00607571 0.00612504 0.00691643 0.0091055 0.0163338 0.11603 +0.023937 0.0101317 0.00696233 0.00575009 0.0053645 0.00556912 0.0065066 +0.00901674 0.01863 0.112174 0.0167494 0.00848684 0.00616028 0.00526567 +0.00505505 0.00540103 0.00653628 0.00959947 0.0247551 0.10477 0.0132993 +0.00761188 0.00579432 0.00511422 0.00504821 0.00555331 0.00697823 0.0109769 +0.0488034 0.0822757 0.0115984 0.00727544 0.00577939 0.00526018 0.00533897 +0.00605437 0.0079293 0.0135785 0.109276 0.0309435 0.0109901 0.00742223 +0.00613353 0.00575462 0.00601119 0.00704258 0.00966611 0.0184976 0.125824 +0.0243641 0.011339 0.00815773 0.00700398 0.00678043 0.00730531 0.00887541 +0.0128697 0.0288322 0.145621 0.0236452 0.0129643 0.00988704 0.00883319 +0.00885503 0.00988919 0.0125454 0.0194664 0.0564797 0.170784 0.027781 +0.0172847 0.0140222 0.0131517 0.0138096 0.0162082 0.0218375 0.0371784 +0.190925 0.149516 0.0449666 0.0321242 0.0287981 0.0298072 0.0349178 +0.0466698 0.0739677 0.155349 0.558092 0.452284 0.628627 0.307583 0.122815 +0.075298 0.0579678 0.0534224 0.0600427 0.0963519 0.335694 0.0845381 +0.0380652 0.025004 0.0195298 0.0172462 0.0170206 0.0190384 0.0256158 +0.0550527 0.202842 0.0338946 0.0179084 0.012843 0.0107427 0.0100746 +0.0105333 0.0125432 0.0184371 0.0567254 0.138647 0.0195784 0.0115382 +0.00874732 0.00763174 0.00743499 0.00808608 0.0101108 0.0162089 0.115602 +0.0463995 0.0134465 0.00860663 0.0068208 0.00615758 0.00619254 0.00697357 +0.00914487 0.0162507 0.116446 0.0248199 0.0103111 0.00705185 0.00580721 +0.00540508 0.00559827 0.00652267 0.00900011 0.0183488 0.113634 0.0171442 +0.00858595 0.00620682 0.00529138 0.00506828 0.00540268 0.00651938 0.00952709 +0.0240098 0.104869 0.0134968 0.00766028 0.0058102 0.00511539 0.00503815 +0.00552912 0.00692608 0.0108297 0.0441768 0.0868227 0.0116889 0.00728424 +0.00576745 0.00523655 0.00530303 0.00599859 0.00782889 0.0133053 0.107963 +0.0319802 0.0110028 0.00739045 0.00608841 0.00569829 0.00593828 0.00693819 +0.00948472 0.0179659 0.124055 0.0246103 0.0112695 0.00806887 0.00690643 +0.00666867 0.00716616 0.00867935 0.0125253 0.0276379 0.144215 0.0235396 +0.0127626 0.00968803 0.00862625 0.00862115 0.00959721 0.0121279 0.018704 +0.0528038 0.16837 0.0271748 0.0167446 0.0135096 0.012612 0.0131815 +0.0153925 0.0206118 0.0347744 0.172859 0.152999 0.0423236 0.0298056 +0.0263834 0.0269265 0.0310084 0.0405438 0.0624102 0.126515 0.491801 +0.339382 0.291479 0.577644 0.218768 0.104723 0.0729586 0.0635669 0.0687352 +0.10618 0.35565 0.0941016 0.0416682 0.0270702 0.0209576 0.0183676 0.0180031 +0.0200003 0.0266872 0.0561394 0.209537 0.0358397 0.0187394 0.0133679 +0.0111364 0.0104062 0.0108406 0.0128547 0.0187688 0.0554393 0.144162 +0.0203094 0.0118786 0.00897001 0.00780259 0.00758057 0.00822035 0.0102398 +0.0162953 0.113585 0.0500144 0.0137966 0.00877865 0.00693426 0.00624393 +0.00626413 0.00703494 0.00918954 0.0161804 0.117058 0.0257726 0.0104995 +0.0071459 0.00586753 0.0054483 0.00562994 0.00654157 0.0089877 0.0180883 +0.114569 0.0175626 0.00869008 0.0062562 0.00531925 0.00508349 0.00540641 +0.00650513 0.00945965 0.0233266 0.105157 0.0137057 0.00771218 0.00582835 +0.00511847 0.00503 0.00550713 0.00687713 0.0106899 0.0406767 0.0905022 +0.0117864 0.00729616 0.00575787 0.00521511 0.00526945 0.00594577 0.00773316 +0.0130453 0.105042 0.0331593 0.0110214 0.00736225 0.0060464 0.00564517 +0.00586911 0.00683889 0.00931203 0.0174642 0.122465 0.0248915 0.0112078 +0.00798594 0.0068145 0.00656294 0.0070343 0.00849351 0.0121994 0.0265277 +0.142985 0.0234616 0.0125755 0.0095018 0.00843239 0.0084022 0.0093243 +0.0117385 0.0179961 0.0495131 0.165978 0.0266299 0.0162506 0.0130411 +0.0121202 0.0126117 0.0146564 0.0195125 0.0326346 0.152532 0.160237 +0.0400453 0.02783 0.0243608 0.0245652 0.0278901 0.0358271 0.0539086 +0.106299 0.440737 0.277176 0.186465 0.260681 0.532331 0.173873 0.0987334 +0.078683 0.080632 0.118889 0.378812 0.105667 0.0459716 0.0294996 0.0226134 +0.0196529 0.0191185 0.0210839 0.0278892 0.0574438 0.216801 0.0379847 +0.0196481 0.0139392 0.0115635 0.0107648 0.0111723 0.0131911 0.0191307 +0.0544392 0.149272 0.0210911 0.0122407 0.00920645 0.00798391 0.00773519 +0.00836334 0.0103784 0.0163965 0.111134 0.0543352 0.0141664 0.00895979 +0.00705376 0.00633504 0.00633996 0.00710059 0.00923944 0.0161224 0.117803 +0.0268029 0.010697 0.00724457 0.00593109 0.00549426 0.00566425 0.00656343 +0.00897964 0.0178473 0.113928 0.0180064 0.0087995 0.00630855 0.00534936 +0.0051007 0.00541221 0.00649348 0.00939699 0.0226987 0.10563 0.0139264 +0.00776766 0.0058488 0.00512346 0.00502372; +#A 2000 0.00548732 0.00683125 0.0105571 0.0378833 0.0937359 0.0118912 +0.00731114 0.00575057 0.0051958 0.00523818 0.00589588 0.00764207 0.0127981 +0.102225 0.0345124 0.0110461 0.00733765 0.00600748 0.00559515 0.00580349 +0.00674429 0.00914736 0.0169899 0.121084 0.0252093 0.0111534 0.00790848 +0.00672779 0.00646288 0.00690937 0.00831744 0.0118913 0.0254951 0.142023 +0.0234114 0.0124023 0.00932765 0.00825066 0.00819693 0.00906866 0.0113745 +0.0173365 0.0465504 0.163665 0.0261394 0.0157972 0.0126112 0.0116704 +0.0120927 0.0139893 0.0185221 0.0307211 0.133405 0.167494 0.038067 +0.0261286 0.0226433 0.0225951 0.0253456 0.032084 0.0473931 0.0913501 +0.399611 0.237705 0.138563 0.148321 0.282271 0.479743 0.154153 0.103667 +0.0979102 0.135919 0.40615 0.119908 0.0512013 0.032397 0.0402417 0.0261814 +0.0203087 0.01783 0.0175006 0.0194585 0.0259573 0.0542636 0.207762 +0.0354776 0.0184735 0.0131663 0.0109656 0.0102452 0.0106702 0.0126444 +0.018425 0.0534511 0.142661 0.0202232 0.0117892 0.00889218 0.00772985 +0.00750585 0.00813391 0.0101204 0.0160565 0.11249 0.0514979 0.0137784 +0.00874367 0.00689857 0.00620702 0.00622273 0.00698234 0.00910713 0.0159663 +0.11665 0.0260692 0.0105054 0.00713415 0.0058514 0.00542899 0.00560563 +0.00650673 0.0089234 0.017844 0.111539 0.0177124 0.00870812 0.00625753 +0.00531486 0.00507519 0.00539308 0.00648167 0.00940438 0.022935 0.108715 +0.0138142 0.007739 0.00583931 0.00512313 0.00503056 0.00550293 0.00686308 +0.0106383 0.039157 0.0915454 0.0118838 0.00733236 0.00577848 0.00522911 +0.00527947 0.00595168 0.00772975 0.0129927 0.103207 0.0341309 0.0111236 +0.00741177 0.00607989 0.00567184 0.00589241 0.00685963 0.00932518 0.0174035 +0.12481 0.0253867 0.0113316 0.00805828 0.00686954 0.00661142 0.00708154 +0.00854273 0.0122478 0.0264391 0.142886 0.023916 0.012753 0.00962205 +0.00853322 0.00849875 0.00942695 0.0118584 0.0181436 0.0492582 0.168533 +0.0272464 0.016577 0.0132943 0.0123552 0.0128589 0.014947 0.019897 +0.03322 0.147428 0.171819 0.0415109 0.028859 0.0253189 0.0256178 0.0292156 +0.0377446 0.0571889 0.113404 0.457747 0.308568 0.224637 0.424408 0.4004 +0.133036 0.0847362 0.0706326 0.074135 0.110844 0.367009 0.102075 0.0442333 +0.0284427 0.0218564 0.0190361 0.0185502 0.0204799 0.0270896 0.0554818 +0.214268 0.0375702 0.0193523 0.0137179 0.0113777 0.0105911 0.01099 +0.0129683 0.0187721 0.0525537 0.14743 0.0209954 0.0121441 0.00912324 +0.00790667 0.00765632 0.00827268 0.0102543 0.0161526 0.110756 0.0562294 +0.0141448 0.00892191 0.00701576 0.00629614 0.0062967 0.00704611 0.00915505 +0.0159084 0.116504 0.0271244 0.0107016 0.00723151 0.0059138 0.00547386 +0.00563883 0.00652741 0.00891421 0.0176079 0.112374 0.018162 0.0088167 +0.00630897 0.00534415 0.00509162 0.00539811 0.00646923 0.00934123 0.0223284 +0.108208 0.0140368 0.00779378 0.005859 0.00512741 0.00502357 0.00548237 +0.00681644 0.0105054 0.0366346 0.0935206 0.0119888 0.0073465 0.00577034 +0.00520898 0.00524733 0.00590082 0.0076376 0.0127457 0.101676 0.0355935 +0.0111473 0.00738578 0.00603965 0.00562055 0.00582547 0.00676356 0.00915883 +0.0169304 0.122508 0.0257177 0.0112747 0.00797844 0.00678055 0.00650899 +0.00695391 0.00836331 0.0119353 0.0254097 0.141074 0.0238618 0.0125732 +0.00944213 0.00834598 0.00828764 0.00916447 0.0114854 0.0174711 0.0463277 +0.166906 0.0267317 0.0161039 0.0128464 0.0118866 0.012318 0.0142516 +0.0188649 0.0312327 0.129967 0.176573 0.0393851 0.0270303 0.0234657 +0.0234794 0.0264315 0.0336075 0.0498998 0.0965231 0.412389 0.260229 +0.158298 0.185141 0.488492 0.277619 0.122093 0.0900662 0.088471 0.125496 +0.392238 0.115262 0.049042 0.0311206 0.0236621 0.0204253 0.0197465 +0.0216343 0.0283634 0.0569245 0.221371 0.039883 0.0203152 0.0143193 +0.0118254 0.0109657 0.0113356 0.0133181 0.0191506 0.0518726 0.152284 +0.0218219 0.0125218 0.00936873 0.00809444 0.00781619 0.00842049 0.0103982 +0.0162636 0.106179 0.062188 0.0145319 0.00910966 0.00713922 0.00639017 +0.00637502 0.00711426 0.00920826 0.0158623 0.116504 0.0282705 0.0109074 +0.00733363 0.00597953 0.00552151 0.00567472 0.00655108 0.00890934 0.0173898 +0.113437 0.0186396 0.00893075 0.00636346 0.00537572 0.00511008 0.00540521 +0.00645937 0.00928272 0.0217686 0.107805 0.014272 0.00785223 0.00588102 +0.00513362 0.00501847 0.00546396 0.00677283 0.0103792 0.0345192 0.0953241 +0.0121013 0.00736373 0.00576449 0.00519095 0.00521747 0.00585283 0.00754993 +0.0125108 0.100194 0.0373049 0.0111771 0.00736337 0.00600246 0.00557229 +0.00576198 0.00667205 0.00900018 0.0164828 0.120432 0.0260902 0.011225 +0.00790394 0.00669662 0.00641203 0.00683295 0.00819326 0.0116395 0.0244505 +0.13946 0.023836 0.012407 0.00927384 0.00817037 0.00808957 0.00891841 +0.0111363 0.0168438 0.0436758 0.165418 0.0262694 0.0156691 0.0124348 +0.0114572 0.0118244 0.0136199 0.0179326 0.0294505 0.115799 0.179158 +0.0375323 0.0254471 0.0218816 0.0216807 0.0241359 0.0302801 0.0442145 +0.0837665 0.375223 0.228105 0.12311 0.121643 0.181191 0.514682 0.224154 +0.124991 0.110204 0.145606 0.421909 0.131665 0.0549464 0.0343415 0.0257953 +0.0220423 0.0211217 0.0229479 0.0298026 0.0586148 0.229029 0.0424466 +0.0213731 0.0149769 0.0123131 0.0113725 0.0117101 0.0136972 0.0195646 +0.0513862 0.15732 0.0227094 0.0129248 0.00963013 0.00829414 0.00798617 +0.00857785 0.0105524 0.0163894 0.0998069 0.0701385 0.0149408 0.00930727 +0.0072692 0.00648935 0.00645798 0.00718712 0.00926719 0.0158283 0.11665 +0.0295201 0.0111235 0.00744088 0.00604882 0.00557208 0.00571333 0.00657771 +0.00890867 0.0171885 0.11472 0.0191473 0.00905043 0.00642103 0.00540958 +0.00513058 0.00541444 0.00645213 0.00922884 0.0212511 0.107642 0.0145205 +0.00791445 0.00590539 0.00514175 0.00501524 0.00544768 0.00673219 0.0102595 +0.0327086 0.0970592 0.0122216 0.00738411 0.00576093 0.00517501 0.00518981 +0.00580755 0.00746648 0.0122871 0.0986968 0.0393409 0.0112131 0.00734436 +0.00596813 0.00552692 0.00570183 0.00658501 0.00884905 0.0160593 0.118527 +0.0265083 0.0111825 0.00783472 0.00661759 0.00632027 0.00671819 0.0080318 +0.0113591 0.0235542 0.13806 0.0238377 0.0122531 0.00911611 0.00800541 +0.00790353 0.00868752 0.0108094 0.0162585 0.0412704 0.162761 0.0258564 +0.0152693 0.0120559 0.0110628 0.0113724 0.0130437 0.0170862 0.0278427 +0.104062 0.180374 0.0359045 0.0240633 0.0205122 0.0201472 0.0222115 +0.0275473 0.0396593 0.073803 0.343909 0.205528 0.101216 0.0911423 0.110992 +0.201857 0.527419 0.207979 0.147145 0.174842 0.458187 0.152539 0.0623595 +0.0382859 0.0283527 0.023947 0.0227185 0.0244554 0.0314412 0.0605953 +0.237368 0.0453037 0.0225412 0.0156991 0.0128461 0.0118155 0.0121168 +0.0141083 0.0200165 0.0510725 0.162495 0.0236627 0.013355 0.00990859 +0.00850669 0.0081671 0.00874564 0.0107178 0.0165314 0.0898707 0.0819314 +0.0153737 0.00951568 0.00740625 0.00659404 0.00654579 0.0072648 0.00933181 +0.015806 0.116911 0.0308873 0.0113503 0.00755337 0.00612172 0.00562565 +0.00575479 0.00660747 0.00891241 0.0170035 0.116272 0.0196878 0.00917605 +0.00648183 0.00544584 0.00515318 0.00542579 0.00644747 0.00917945 0.0207719 +0.107704 0.0147832 0.00798051 0.00593214 0.00515181 0.00501388 0.00543349 +0.00669445 0.0101461 0.0311345 0.0988015 0.0123499 0.00740761 0.00575961 +0.00516111 0.00516433 0.00576497 0.00738718 0.0120743 0.0946915 0.0418206 +0.0112553 0.00732878 0.00593667 0.00548438 0.00564486 0.00650214 0.00870485 +0.0156581 0.116827 0.0269755 0.0111469 0.00777037 0.00654312 0.00623339 +0.00660935 0.00787858 0.0110933 0.0227165 0.136864 0.0238675 0.0121113 +0.00896844 0.00785043 0.00772858 0.00847048 0.0105025 0.0157107 0.0390784 +0.160075 0.0254877 0.0149006 0.011706 0.0106992 0.010957 0.0125164 +0.0163152 0.0263876 0.0942055 0.180607 0.0344687 0.0228454 0.0193177 +0.018825 0.0205754 0.0252633 0.0359283 0.0658101 0.316951 0.189123 +0.0862613 0.0731125 0.0805157 0.113964 0.253922 0.531348 0.224912 0.221287 +0.504 0.179916 0.071942 0.0432279 0.0314736 0.0262226 0.0245937 0.0262012 +0.0333191 0.062907 0.246409 0.0484998 0.0238357 0.0164948 0.0134308 +0.0122995 0.0125598 0.0145557 0.0205114 0.0509232 0.167898 0.0246899 +0.0138156 0.0102059 0.00873331 0.00835986 0.00892451 0.0108951 0.0166897 +0.0773975 0.0965909 0.0158317 0.00973533 0.00755067 0.00670451 0.00663876 +0.00734767 0.00940261 0.0157958 0.11728 0.0323902 0.0115887 0.0076715 +0.00619851 0.00568237 0.00579917 0.00664035 0.00892043 0.0168338 0.115746 +0.0202636 0.00930778 0.00654593 0.00548452 0.00517792 0.00543931 0.00644545 +0.00913454 0.0203278 0.107966 0.0150609 0.00805054 0.00596131 0.00516383 +0.00501438 0.00542138 0.00665957 0.0100388 0.0297496 0.100612 0.0124866 +0.00743429 0.00576056 0.00514924 0.00514096 0.00572495 0.00731181 0.0118717 +0.0900878 0.0449418 0.0113036 0.00731648 0.0059079 0.00544453 0.00559098 +0.00642334 0.00856744 0.015278 0.115286 0.0274975 0.0111181 0.00771086 +0.00647308 0.00615117 0.00650602 0.00773294 0.0108409 0.0219314 0.135923 +0.0239249 0.0119803 0.00882994 0.0077046 0.00756389 0.0082663 0.0102141 +0.0151978 0.0370775 0.157581 0.0251612 0.0145605 0.0113825 0.0103634 +0.0105743 0.0120321 0.0156099 0.0250638 0.0858127 0.180219 0.0331941 +0.0217653 0.0182669 0.0176736 0.0191681 0.023327 0.032819 0.0592665 +0.293228 0.177051 0.0754037 0.0611855 0.0633359 0.0800065 0.129638 +0.36166 0.519574 0.307113 0.564787 0.21722 0.0847942 0.0495957 0.0353653 +0.028988 0.0268262 0.028246 0.0354919 0.0656168 0.256278 0.0520979 +0.0252788 0.0173761 0.0140748 0.0128301 0.0130436 0.0150432 0.0210528 +0.0509262 0.172283 0.0257977 0.0143089 0.0105237 0.00897517 0.00856549 +0.00911554 0.0110855 0.016866 0.0702691 0.106148 0.0163173 0.00996732 +0.00770311 0.00682119 0.00673715 0.00743587 0.00947959 0.0157974 0.117741 +0.0340499 0.011839 0.00779542 0.00627926 0.00574234 0.00584661 0.00667655 +0.00893296 0.0166791 0.115243 0.0208782 0.00944599 0.00661349 0.00552574 +0.00520484 0.00545501 0.00644603 0.00909398 0.0199156 0.108432 0.0153543 +0.00812463 0.00599294 0.00517782 0.00501675 0.00541135 0.00662749 0.00993731 +0.0285192 0.102552 0.0126319 0.00746414 0.00576373 0.00513935 0.00511966 +0.00568749 0.00724031 0.011679 0.0847597 0.0490747 0.0113583 0.0073075 +0.00588183 0.00540731 0.00554003 0.00634836 0.00843632 0.0149173 0.113928 +0.0280798 0.0110957 0.00765583 0.00640717 0.00607334 0.00640796 0.00759461 +0.0106014 0.0211957 0.135226 0.0240109 0.01186 0.00870025 0.0075674 +0.00740873; +#A 3000 0.0080739 0.00994272 0.0147164 0.0352434 0.155186 0.0248731 +0.0142459 0.0110825 0.0100524 0.0102208 0.0115861 0.0149629 0.0238565 +0.0786009 0.179397 0.0320601 0.0208027 0.0173362 0.0166625 0.017945 +0.0216649 0.0301882 0.0538127 0.271543 0.16821 0.0671649 0.0527064 +0.0522839 0.0617722 0.0879059 0.163675 0.532894 0.531525 0.651666 0.270844 +0.10293 0.0581101 0.0403524 0.032419 0.0295273 0.0306712 0.0380295 +0.0687966 0.267052 0.0561679 0.026895 0.0183565 0.014787 0.0134141 +0.013574 0.0155765 0.0216474 0.0510819 0.176861 0.0269963 0.014839 +0.0108642 0.00923379 0.00878512 0.00931958 0.0112895 0.0170606 0.0654619 +0.1137 0.0168322 0.0102122 0.00786395 0.00694442 0.00684133 0.00752984 +0.0095633 0.0158113 0.118266 0.0358942 0.0121022 0.00792559 0.00636426 +0.00580575 0.00589719 0.00671604 0.00894991 0.0165385 0.114968 0.0215348 +0.00959086 0.00668458 0.00556952 0.00523399 0.00547297 0.00644928 0.00905781 +0.019533 0.109091 0.0156646 0.00820294 0.00602708 0.0051938 0.00502099 +0.00540337 0.00659818 0.00984149 0.0274175 0.104681 0.0127862 0.00749723 +0.00576914 0.00513144 0.00510041 0.00565246 0.00717248 0.0114955 0.0778421 +0.0550377 0.0114193 0.0073017 0.00585834 0.00537262 0.00549193 0.00627712 +0.00831136 0.0145753 0.112736 0.0287302 0.01108 0.00760527 0.00634529 +0.00599971 0.00631484 0.007463 0.0103736 0.0205044 0.132957 0.0241254 +0.0117495 0.00857858 0.00743815 0.0072624 0.00789252 0.00968714 0.0142644 +0.0335599 0.153016 0.0246221 0.0139552 0.010804 0.00976383 0.00989329 +0.011174 0.0143673 0.0227505 0.0723391 0.178327 0.0310461 0.0199394 +0.0165063 0.015768 0.0168729 0.0202236 0.0279353 0.0492051 0.251523 +0.161964 0.0607088 0.0463712 0.0445729 0.0503606 0.0666124 0.107125 +0.233076 0.697492 0.794858 0.354114 0.13043 0.0700713 0.0469708 0.0367869 +0.0328606 0.0335929 0.0410309 0.0725575 0.278869 0.0608066 0.0287181 +0.0194537 0.0155787 0.0140596 0.0141575 0.0161611 0.0223003 0.051385 +0.181731 0.0282946 0.0154091 0.0112293 0.00951069 0.00902006 0.00953792 +0.0115086 0.0172754 0.0619598 0.120197 0.0173795 0.0104713 0.00803395 +0.00707468 0.00695162 0.00762976 0.00965379 0.0158372 0.118857 0.0379568 +0.0123789 0.00806218 0.00645363 0.00587271 0.00595108 0.00675907 0.00897152 +0.0164118 0.114931 0.0222377 0.00974284 0.00675941 0.005616 0.00526544 +0.00549317 0.00645516 0.0090259 0.0191775 0.10996 0.0159928 0.00828556 +0.00606378 0.00521179 0.00502712 0.00539744 0.0065716 0.00975118 0.0264246 +0.104627 0.0129499 0.00753358 0.00577678 0.00512548 0.00508316 0.00561986 +0.00710828 0.0113209 0.0668588 0.0653231 0.0114869 0.00729913 0.00583742 +0.00534041 0.00544657 0.0062094 0.00819211 0.0142505 0.111728 0.0294574 +0.0110705 0.00755887 0.00628718 0.00593005 0.00622645 0.00733791 0.0101573 +0.0198551 0.130619 0.0242698 0.0116487 0.00846468 0.00731642 0.00712431 +0.00772126 0.00944596 0.013839 0.0320088 0.15097 0.0244051 0.0136857 +0.0105449 0.00949548 0.00958933 0.0107925 0.0138177 0.0217354 0.066867 +0.177126 0.0301388 0.0191624 0.0157625 0.0149713 0.0159257 0.0189621 +0.0259845 0.0452617 0.232727 0.157951 0.0555164 0.0414583 0.0388859 +0.0425392 0.0536494 0.0796972 0.148437 0.386752 0.897957 0.500731 0.177115 +0.088113 0.0561771 0.0425348 0.0370751 0.0371775 0.0446294 0.0770318 +0.29192 0.0661271 0.0307873 0.0206887 0.0164635 0.0147764 0.0148021 +0.0168048 0.0230203 0.0518425 0.187013 0.029706 0.0160243 0.011622 +0.00980779 0.00927174 0.00977169 0.0117439 0.0175109 0.0592925 0.126164 +0.0179609 0.0107453 0.00821359 0.0072124 0.00706845 0.00773614 0.00975168 +0.0158758 0.117565 0.0402833 0.0126702 0.00820573 0.0065477 0.00594342 +0.00600837 0.00680562 0.00899771 0.0162984 0.115064 0.0229911 0.00990212 +0.00683805 0.00566521 0.00529925 0.00551572 0.00646377 0.00899831 0.0188474 +0.111043 0.0163401 0.00837268 0.0061031 0.00523183 0.00503514 0.00539355 +0.0065477 0.00966619 0.0255248 0.104424 0.0131234 0.00757324 0.00578665 +0.00512146 0.00506788 0.0055896 0.00704753 0.0111547 0.0553051 0.0764009 +0.0115609 0.00729969 0.00581897 0.00531058 0.00540387 0.00614513 0.00807849 +0.0139421 0.110908 0.030273 0.0110675 0.00751662 0.00623276 0.0058642 +0.0061425 0.00721882 0.0099513 0.0192436 0.128512 0.0244443 0.0115567 +0.00835787 0.00720165 0.0069939 0.0075595 0.00921836 0.0134386 0.0305782 +0.149157 0.0242213 0.0134364 0.0103038 0.00924559 0.00930659 0.0104384 +0.0133089 0.0207998 0.0620457 0.175866 0.0293237 0.0184593 0.0150922 +0.0142576 0.0150832 0.0178494 0.0242804 0.0418543 0.214551 0.156051 +0.0512581 0.0375403 0.0345196 0.0368429 0.0449185 0.0634317 0.108798 +0.252091 0.743588 0.773213 0.274222 0.118496 0.0698622 0.0504384 0.042572 +0.0416783 0.0490206 0.0824197 0.305874 0.0722862 0.0331565 0.0220892 +0.0174583 0.0155765 0.0155173 0.0175156 0.0238152 0.0524551 0.19259 +0.0312427 0.016689 0.0120449 0.0101271 0.00954183 0.0100225 0.0119969 +0.0177695 0.0572146 0.131808 0.0185804 0.0110357 0.00840376 0.00735816 +0.00719222 0.00784922 0.00985707 0.0159268 0.115966 0.0429329 0.0129768 +0.00835644 0.0066466 0.00601803 0.00606925 0.00685597 0.00902879 0.0161981 +0.115407 0.0238006 0.0100692 0.00692073 0.0057173 0.00533549 0.00554062 +0.00647506 0.00897491 0.0185408 0.112367 0.0167077 0.00846439 0.00614508 +0.00525394 0.00504507 0.00539172 0.00652649 0.00958641 0.0247057 0.10443 +0.013307 0.00761625 0.00579877 0.00511936 0.00505456 0.00556166 0.0069902 +0.0109967 0.0486956 0.0827833 0.0116418 0.00730342 0.00580298 0.00528309 +0.00536373 0.00608411 0.00797009 0.0136489 0.110293 0.0311907 0.0110705 +0.00747827 0.00618181 0.00580195 0.00606282 0.00710556 0.00975542 0.0186679 +0.126573 0.024651 0.0114735 0.00825798 0.00709351 0.00687068 0.00740652 +0.00900314 0.0130607 0.0292543 0.147502 0.0240685 0.0132051 0.0100788 +0.00901239 0.0090431 0.0101091 0.0128372 0.0199365 0.0577773 0.173581 +0.028592 0.0178216 0.0144857 0.013615 0.0143292 0.0168608 0.0227791 +0.0388806 0.196525 0.156375 0.0477051 0.0343433 0.0310625 0.0325095 +0.0386365 0.0526547 0.0857212 0.185728 0.62108 0.642894 0.579486 0.180933 +0.0923835 0.0619937 0.0500399 0.0474936 0.0544906 0.0889837 0.32156 +0.079477 0.0358921 0.0236892 0.0185844 0.016475 0.016315 0.0183046 +0.0246968 0.0532363 0.198651 0.0329224 0.0174098 0.0125019 0.0104711 +0.00983218 0.0102918 0.012269 0.0180521 0.0555729 0.137328 0.0192402 +0.0113435 0.00860508 0.00751249 0.00732344 0.00796957 0.00997068 0.0159912 +0.114233 0.0459891 0.0132999 0.00851494 0.00675071 0.00609677 0.00613385 +0.00691011 0.00906466 0.0161104 0.115892 0.0246717 0.0102444 0.00700753 +0.00577233 0.00537422 0.00556797 0.00648917 0.00895581 0.0182563 0.113959 +0.0170972 0.00856093 0.00618983 0.00527817 0.00505693 0.00539194 0.0065079 +0.00951168 0.0239572 0.104628 0.0135013 0.00766269 0.00581314 0.00511919 +0.00504316 0.00553597 0.00693614 0.0108464 0.04411 0.087375 0.0117295 +0.00731024 0.00578937 0.00525786 0.00532609 0.0060263 0.00786684 0.0133703 +0.107759 0.032229 0.0110798 0.00744382 0.00613428 0.00574319 0.00598716 +0.0069977 0.00956881 0.0181247 0.124868 0.0248907 0.0113984 0.00816441 +0.00699149 0.00675419 0.0072618 0.00879967 0.0127044 0.028028 0.146092 +0.0239463 0.012991 0.00986885 0.00879454 0.00879709 0.00980211 0.0123984 +0.0191369 0.0539729 0.171061 0.0279332 0.0172406 0.0139344 0.0130336 +0.0136509 0.0159774 0.0214477 0.0362673 0.177654 0.159389 0.0447028 +0.0316879 0.0282589 0.029103 0.0338999 0.0449864 0.0706047 0.146223 +0.537188 0.424139 0.551841 0.395795 0.136666 0.0805168 0.0607726 0.0552968 +0.0614893 0.0971278 0.339381 0.0879717 0.0390864 0.0255346 0.0198692 +0.0174907 0.0172098 0.0191839 0.0256768 0.0541931 0.205039 0.034762 +0.0181929 0.0129965 0.0108424 0.010145 0.0105817 0.0125624 0.0183615 +0.0542768 0.142793 0.019945 0.0116705 0.0088186 0.00767608 0.0074626 +0.00809752 0.0100927 0.0160687 0.112286 0.0495698 0.0136404 0.00868148 +0.0068602 0.00617983 0.00620239 0.00696834 0.00910568 0.0160354 0.116572 +0.0256118 0.0104281 0.00709873 0.00583046 0.00541554 0.00559779 0.00650605 +0.00894089 0.0179923 0.11362 0.0175099 0.00866239 0.00623738 0.00530453 +0.00507074 0.00539422 0.00649196 0.0094419 0.0232708 0.105005 0.0137068 +0.00771261 0.00582978 0.00512093 0.00503368 0.00551251 0.0068853 0.0107036 +0.0406291 0.0911282 0.0118242 0.00732021 0.00577816 0.00523486 0.00529085 +0.00597151 0.00776839 0.0131053 0.104935 0.0334111 0.0110951 0.00741303 +0.00608995 0.00568773 0.00591538 0.0068951 0.0093912 0.0176124 0.123311 +0.0251659 0.0113314 0.00807704 0.00689536 0.00664402 0.00712474 0.00860692 +0.0123674 0.0268887 0.14488 0.023853 0.0127923 0.00967255 0.00859067 +0.00856706 0.00951554 0.0119898 0.0183955 0.0505697 0.168628 0.0273413 +0.0167103 0.0134318 0.0125054 0.0130376 0.0151832 0.0202588 0.0339524 +0.156674 0.166253 0.0421345 0.0294476 0.02594 0.0263555 0.0302018 0.0392522 +0.0599365 0.120048 0.475155 0.327329 0.258701 0.548586 0.269614 0.11521 +0.0775264 0.0663147 0.0707508 0.107441 0.35992 0.0981258 0.0428599 +0.0276845 0.0213477 0.0186474 0.0182198 0.0201698 0.0267722 0.0553468 +0.211964 0.0367854 0.0190471 0.0135336 0.0112443 0.0104826 0.0108941 +0.0128786 0.018699 0.0532592 0.146988 0.0206979 0.0120179 0.00904511 +0.00784957 0.00761031 0.00823375 0.0102239 0.0161604 0.109858 0.0538565 +0.0139997 0.00885679 0.0069755 0.00626746 0.00627501 0.0070307 0.00915177 +0.0159724 0.117395 0.0266284 0.0106208 0.00719443 0.00589175 0.00545953 +0.00563018 0.00652584 0.00893028 0.0177479 0.113104 0.0179478 0.00876905 +0.00628784 0.00533311 0.00508653 0.00539856 0.00647862 0.00937692 0.0226396 +0.105565 0.0139241 0.00776609 0.0058487 0.00512459 0.00502608 0.00549123 +0.00683757 0.0105679 0.037845 0.0944604 0.0119262 0.00733325 0.00576925 +0.00521403 0.00525797 0.00591972 0.00767468 0.0128534 0.102219 0.0347692 +0.0111166 0.00738594 0.00604879 0.00563546 0.00584726 0.00679737 0.00922186 +0.0171281 0.121991 0.0254782 0.0112719 0.00799537 0.00680467 0.00653978 +0.00699493 0.0084244 0.012049 0.0258295 0.143939 0.0237886 0.0126084 +0.0094891 0.00839973 0.00835163 0.00924744 0.0116084 0.0177058 0.0475077 +0.166217 0.0268086 0.0162244 0.0129717 0.0120236 0.0124808 0.014466 +0.0191919 0.0318912 0.137223 0.172937 0.0399187 0.0275346 0.0239915 +0.0240935 0.027235 0.0348028 0.052005 0.101444 0.42657 0.271611 0.173617 +0.221653 0.536388 0.20627 0.107461 0.0830631; +#A 4000 0.0835827 0.120885 0.383783 0.110457 0.0473857 0.0302209 0.023067 +0.019976 0.0193682 0.0212813 0.0280008 0.0567132 0.219315 0.0390167 +0.0199811 0.0141184 0.0116803 0.0108481 0.0112316 0.0132205 0.0190681 +0.0524803 0.151043 0.0215045 0.0123879 0.00928589 0.00803382 0.00776719 +0.00837868 0.0103645 0.0162661 0.106742 0.0591432 0.0143789 0.00904116 +0.00709683 0.00635989 0.00635196 0.00709752 0.00920335 0.0159218 0.118411 +0.0277314 0.0108231 0.00729493 0.0059564 0.00550628 0.0056652 0.00654851 +0.00892385 0.0175217 0.112839 0.0184127 0.00888103 0.00634126 0.00536391 +0.00510433 0.005405 0.00646791 0.00931669 0.0220579 0.106304 0.0141538 +0.0078232 0.00586994 0.00513016 0.00502037 0.00547211 0.00679292 0.0104391 +0.035541 0.0976352 0.0120356 0.00734943 0.00576267 0.00519534 0.00522737 +0.00587076 0.00758541 0.0126136 0.0995194 0.0363463 0.0111441 0.00736234 +0.00601062 0.00558624 0.00578268 0.0067044 0.0090606 0.0166705 0.120831 +0.025831 0.0112199 0.00791931 0.00671923 0.00644114 0.00687185 0.00825125 +0.0117473 0.0248421 0.141685 0.0237518 0.012438 0.00931728 0.0082206 +0.00814961 0.00899635 0.0112518 0.0170638 0.0447451 0.163964 0.026331 +0.0157788 0.0125497 0.0115827 0.0119731 0.0138152 0.018229 0.0300437 +0.121636 0.177069 0.0379891 0.0258823 0.0223316 0.0221995 0.0248031 +0.0312514 0.0458806 0.0875632 0.387094 0.235498 0.131832 0.135707 0.226948 +0.516916 0.177524 0.111661 0.102539 0.139065 0.412116 0.125691 0.0529063 +0.0332554 0.0250896 0.0215173 0.0206848 0.0225436 0.0293882 0.0583245 +0.227263 0.0414894 0.0210069 0.0147575 0.012155 0.0112445 0.0115969 +0.0135903 0.0194707 0.0519055 0.155249 0.022369 0.0127821 0.00954193 +0.00822963 0.00793396 0.0085331 0.0105156 0.0163872 0.102297 0.0659647 +0.0147798 0.00923544 0.00722469 0.00645742 0.00643344 0.00716884 0.00926034 +0.0158829 0.119586 0.0289314 0.0110352 0.00740036 0.00602447 0.0055559 +0.00570295 0.00657422 0.00892177 0.017313 0.112813 0.0189067 0.00899862 +0.00639779 0.00539703 0.00512417 0.00541352 0.00645977 0.00926107 0.0215205 +0.107241 0.0143965 0.00788403 0.00589351 0.00513766 0.00501653 0.00545512 +0.00675124 0.0103169 0.0335879 0.0986007 0.0121527 0.0073687 0.00575835 +0.00517872 0.00519901 0.0058246 0.00750051 0.0123855 0.0967932 0.0382056 +0.0111778 0.00734226 0.00597542 0.00553998 0.00572146 0.00661585 0.00890677 +0.0162373 0.11991 0.0262268 0.0111749 0.00784841 0.00663867 0.00634776 +0.00675516 0.00808706 0.0114618 0.023921 0.139257 0.0237432 0.0122806 +0.0091565 0.00805249 0.00795991 0.00876073 0.0109177 0.0164642 0.0422399 +0.161773 0.0259026 0.0153687 0.0121611 0.011178 0.0115087 0.0132224 +0.0173565 0.0283812 0.108873 0.179439 0.0362996 0.0244428 0.0209017 +0.0205911 0.022774 0.0283516 0.0410096 0.076816 0.354052 0.210449 0.106829 +0.0986205 0.125765 0.269323 0.485634 0.172316 0.133444 0.164977 0.446326 +0.144942 0.0597888 0.0369505 0.0275031 0.0233257 0.0222084 0.023988 +0.0309628 0.060209 0.23576 0.0442384 0.0221371 0.015458 0.0126731 0.0116759 +0.0119934 0.0139916 0.0199112 0.0515173 0.159684 0.0232981 0.0132031 +0.00981482 0.00843804 0.00811139 0.00869756 0.0106774 0.0165236 0.0954874 +0.0754591 0.0152035 0.00944002 0.00735934 0.00656031 0.00651971 0.00724505 +0.00932322 0.0158563 0.11911 0.0302422 0.0112581 0.00751107 0.0060962 +0.0056085 0.00574348 0.00660293 0.00892394 0.0171208 0.112986 0.0194322 +0.00912197 0.00645745 0.00543248 0.00514608 0.0054242 0.00645427 0.00921004 +0.0210235 0.10838 0.014653 0.00794869 0.00591946 0.0051471 0.00501456 +0.00544024 0.00671251 0.0102011 0.0319027 0.0990435 0.0122777 0.00739113 +0.00575631 0.00516418 0.00517282 0.00578111 0.00741972 0.0121684 0.0939093 +0.0404405 0.0112176 0.00732553 0.00594303 0.00549654 0.00566348 0.00653164 +0.00876021 0.0158273 0.119192 0.0266701 0.0111371 0.00778262 0.00656284 +0.00625939 0.00664443 0.0079311 0.0111908 0.0230596 0.137027 0.0237617 +0.012135 0.00900576 0.00789448 0.00778159 0.00853943 0.0106045 0.0159041 +0.0399633 0.15979 0.0255207 0.0149912 0.0118029 0.0108053 0.0110824 +0.0126802 0.0165622 0.0268768 0.0982244 0.180725 0.0348092 0.0231778 +0.0196575 0.0192087 0.0210561 0.0259405 0.0370459 0.0682629 0.325707 +0.19239 0.0901671 0.0777533 0.0878672 0.131296 0.375017 0.418715 0.193265 +0.204834 0.489044 0.169936 0.0685969 0.0415442 0.0304309 0.0254763 +0.0239913 0.0256562 0.0327646 0.0624163 0.244305 0.0473119 0.0233889 +0.0162295 0.013241 0.0121467 0.0124248 0.0144275 0.0203924 0.0512965 +0.164307 0.0242975 0.0136531 0.0101058 0.00866007 0.00830039 0.00887301 +0.0108512 0.0166769 0.0829742 0.0908759 0.0156522 0.00965588 0.00750136 +0.00666892 0.00661103 0.00732624 0.00939195 0.0158414 0.1183 0.0316793 +0.011492 0.00762719 0.00617166 0.00566419 0.00578694 0.00663485 0.00893055 +0.0169446 0.113374 0.0199919 0.00925144 0.00652043 0.00547038 0.00517013 +0.005437 0.00645135 0.00916345 0.020563 0.109758 0.014924 0.00801725 +0.00594781 0.00515848 0.00501446 0.00542746 0.00667664 0.0100914 0.0304286 +0.0995646 0.0124109 0.00741668 0.0057565 0.00515165 0.00514877 0.00574026 +0.007343 0.0119618 0.090751 0.0432023 0.0112636 0.00731219 0.00591343 +0.00545585 0.0056086 0.00645146 0.00862037 0.0154386 0.11874 0.0271647 +0.0111059 0.00772156 0.00649141 0.00617572 0.00653938 0.00778305 0.0109339 +0.0222538 0.134987 0.0238082 0.0120008 0.00886462 0.00774594 0.00761377 +0.00833122 0.0103102 0.0153793 0.0378852 0.157908 0.0251807 0.0146426 +0.0114716 0.0104613 0.01069 0.0121829 0.0158368 0.0255115 0.0892261 +0.180436 0.0334901 0.0220591 0.0185659 0.0180086 0.0195833 0.0239045 +0.0337582 0.0612976 0.300889 0.179094 0.0782647 0.0643406 0.0677387 +0.0880362 0.152151 0.50511 0.367905 0.274384 0.544554 0.20358 0.0802674 +0.0474093 0.0340562 0.0280753 0.0261043 0.0276025 0.0348419 0.064996 +0.253445 0.0507625 0.0247809 0.0170821 0.0138655 0.0126622 0.0128957 +0.0149026 0.0209198 0.0512375 0.169211 0.0253758 0.0141354 0.0104169 +0.00889701 0.00850192 0.00906018 0.0110373 0.0168471 0.073771 0.103282 +0.0161272 0.0098835 0.00765109 0.00678358 0.00670771 0.00741281 0.00946705 +0.0158387 0.117646 0.0332629 0.0117378 0.00774915 0.00625113 0.00572312 +0.00583339 0.00666994 0.00894149 0.0167833 0.113936 0.0205886 0.00938717 +0.00658677 0.00551074 0.00519633 0.00545201 0.00645108 0.00912132 0.020136 +0.111399 0.0152104 0.00808986 0.00597861 0.00517182 0.00501622 0.00541674 +0.0066436 0.00998766 0.0291253 0.100177 0.0125526 0.00744543 0.00575895 +0.00514113 0.00512681 0.00570194 0.00727012 0.0117651 0.0870265 0.0467551 +0.0113159 0.00730208 0.00588649 0.0054178 0.00555672 0.00637525 0.0084871 +0.0150704 0.116682 0.0277169 0.0110815 0.00766519 0.00642426 0.00609654 +0.00643963 0.00764228 0.0106898 0.0214982 0.133154 0.0238822 0.0118772 +0.00873221 0.00760611 0.0074557 0.00813519 0.0100335 0.0148875 0.035985 +0.156267 0.0248808 0.0143208 0.0111648 0.010143 0.0103277 0.0117252 +0.0151716 0.0242662 0.0815237 0.179366 0.0323157 0.0210629 0.0176007 +0.0169572 0.0183072 0.0221635 0.0309893 0.0555251 0.278698 0.169295 +0.0693458 0.054989 0.0552152 0.0664127 0.0975529 0.19595 0.607447 0.430868 +0.621664 0.251072 0.0964483 0.0551529 0.0386596 0.0312778 0.0286475 +0.0299019 0.0372618 0.0680276 0.263547 0.0546622 0.0263385 0.0180297 +0.0145554 0.013229 0.0134112 0.0154213 0.0214975 0.0513303 0.174323 +0.0265404 0.0146527 0.0107498 0.00915017 0.0087171 0.00926018 0.0112372 +0.017036 0.0679694 0.112541 0.0166314 0.010124 0.00780919 0.0069047 +0.00681003 0.00750492 0.00954853 0.0158479 0.117091 0.0350163 0.0119961 +0.00787709 0.00633468 0.0057854 0.00588298 0.00670841 0.008957 0.0166368 +0.114714 0.0212259 0.00952957 0.00665667 0.00555368 0.00522477 0.00546923 +0.00645342 0.00908352 0.0197397 0.111271 0.0155133 0.0081666 0.00601189 +0.00518715 0.00501986 0.00540809 0.00661334 0.00988966 0.0279627 0.100896 +0.0127031 0.00747736 0.00576361 0.00513257 0.00510689 0.00566612 0.00720103 +0.011578 0.0822521 0.05163 0.0113745 0.00729525 0.0058622 0.00538232 +0.0055077 0.00630275 0.00835993 0.0147208 0.114263 0.0283327 0.0110634 +0.00761319 0.00636111 0.00602159 0.00634497 0.00750853 0.0104581 0.0207894 +0.131502 0.0239849 0.0117638 0.00860822 0.0074745 0.00730667 0.00795035 +0.00977272 0.0144254 0.0342407 0.154785 0.0246174 0.014023 0.0108799 +0.00984771 0.00999242 0.0113029 0.0145602 0.0231279 0.0748738 0.177902 +0.0312685 0.0201717 0.0167421 0.0160291 0.0171914 0.020658 0.0286258 +0.0506645 0.258537 0.162214 0.0624166 0.0480949 0.0466627 0.0533845 +0.0719871 0.119899 0.283322 0.730407 0.741664 0.322914 0.120378 0.0658499 +0.0446974 0.03532 0.0317653 0.0326574 0.0401109 0.0715993 0.274686 +0.059093 0.0280905 0.0190877 0.0153209 0.0138545 0.0139778 0.01599 +0.0221327 0.0515773 0.179782 0.0278023 0.0152093 0.0111068 0.00942117 +0.00894714 0.00947398 0.0114515 0.017244 0.0638793 0.119047 0.0171663 +0.0103781 0.0079761 0.00703266 0.00691839 0.00760303 0.00963697 0.0158696 +0.116589 0.0369711 0.0122678 0.00801151 0.00642263 0.00585122 0.0059358 +0.00675027 0.00897698 0.0165041 0.115668 0.0219073 0.00967882 0.00673017 +0.00559925 0.00525547 0.00548872 0.00645845 0.00905009 0.0193718 0.110748 +0.0158335 0.00824763 0.00604772 0.00520448 0.00502537 0.00540148 0.00658581 +0.00979723 0.0269184 0.101732 0.0128628 0.00751256 0.00577052 0.00512599 +0.00508899 0.0056327 0.00713554 0.0113998 0.0750892 0.0591614 0.0114394 +0.00729158 0.00584044 0.00534931 0.00546147 0.00623389 0.00823873 0.0143892 +0.112023 0.0290208 0.0110518 0.00756554 0.00630187 0.00595071 0.00625506 +0.00738125 0.0102377 0.0201231 0.130069 0.0241162 0.0116599 0.00849191 +0.00735047 0.00716606 0.00777596 0.009527 0.0139912 0.0326373 0.153558 +0.0243896 0.0137475 0.0106152 0.00957341 0.00968138 0.010912 0.0139961 +0.0220828 0.0690766 0.176211 0.0303301 0.0193698 0.0159734 0.015204 +0.0162079 0.0193441 0.0265865 0.0465227 0.239756 0.157421 0.0568872 +0.0428052 0.0404503 0.0446656 0.0570778 0.0865667 0.167283 0.462 0.919639 +0.44384 0.159371 0.0815859 0.0529615 0.0405803 0.0356758 0.0360185 +0.0435131 0.0758463 0.28704 0.064168 0.0300762 0.0202769 0.0161751 +0.0145481 0.0146027 0.0166149 0.0228315 0.051975 0.185483 0.0291715 +0.0158089 0.0114903 0.00971168 0.00919349 0.00970296 0.0116819 0.0174733 +0.0608285 0.124365 0.0177351 0.0106471 0.00815259 0.00716799 0.00703313 +0.00770733 0.00973242 0.0159035; +#A 5000 0.116103 0.0391655 0.0125535 0.00815258 0.0065151 0.0059207 +0.00599201 0.00679574 0.00900171 0.0163853 0.11685 0.0226373 0.00983539 +0.00680752 0.00564757 0.00528851 0.0055105 0.00646613 0.00902091 0.0190301 +0.110493 0.0161722 0.00833306 0.00608613 0.00522384 0.00503278 0.00539693 +0.00656101 0.00971021 0.0259746 0.102703 0.013032 0.00755103 0.00577965 +0.00512133 0.00507308 0.00560168 0.00707361 0.0112304 0.060151 0.0747905 +0.0115109 0.00729111 0.00582122 0.00531873 0.00541791 0.00616845 0.00812308 +0.0140742 0.109958 0.0297907 0.0110464 0.00752194 0.00624629 0.00588366 +0.00616972 0.00726024 0.0100282 0.0194968 0.128815 0.0242777 0.0115652 +0.00838305 0.00723363 0.0070333 0.0076112 0.00929495 0.0135821 0.031158 +0.151278 0.0241944 0.0134921 0.0103687 0.009318 0.00939226 0.0105496 +0.0134747 0.0211217 0.0639922 0.174383 0.0294893 0.018646 0.015282 +0.0144663 0.0153347 0.0181876 0.0248091 0.0429515 0.221962 0.154698 +0.0523753 0.0386187 0.0357331 0.038419 0.0472965 0.0677285 0.118703 +0.283221 0.795418 0.688711 0.234394 0.107051 0.0649653 0.047706 0.0407232 +0.0402057 0.0476392 0.0809348 0.3008 0.0700216 0.0323421 0.0216217 +0.0171335 0.0153211 0.0152953 0.0173046 0.0236035 0.0525323 0.191561 +0.0306626 0.0164569 0.0119033 0.0100238 0.00945768 0.00994835 0.0119293 +0.0177243 0.0584742 0.129349 0.0183401 0.0109317 0.00833921 0.00731113 +0.00715471 0.00781835 0.00983555 0.0159503 0.115562 0.0416522 0.0128544 +0.00830088 0.00661243 0.00599406 0.00605174 0.00684483 0.00903109 0.0162795 +0.118244 0.0234206 0.00999949 0.00688876 0.00569868 0.00532396 0.00553465 +0.00647658 0.00899605 0.0187128 0.110464 0.0165308 0.00842308 0.00612722 +0.00524527 0.00504209 0.00539443 0.00653887 0.00962844 0.0251173 0.103826 +0.0132113 0.00759284 0.00579102 0.00511862 0.00505912 0.00557296 0.00701507 +0.0110692 0.0516841 0.0823212 0.0115891 0.00729375 0.00580443 0.00529049 +0.00537696 0.00610638 0.0080129 0.013775 0.108031 0.0306555 0.0110474 +0.0074824 0.0061943 0.0058203 0.00608867 0.00714503 0.00982876 0.0189066 +0.127805 0.0244699 0.0114791 0.008281 0.00712345 0.00690787 0.00745551 +0.00907583 0.0131968 0.029792 0.14873 0.0240313 0.0132557 0.0101391 +0.00907986 0.00912295 0.0102126 0.0129912 0.0202343 0.0594979 0.172492 +0.0287329 0.0179893 0.014657 0.013803 0.0145549 0.0171625 0.0232476 +0.039846 0.204521 0.154062 0.0486315 0.035226 0.0320307 0.0337239 0.0403825 +0.0555971 0.091835 0.20272 0.654431 0.765638 0.442171 0.155515 0.084008 +0.0579041 0.0474863 0.0455649 0.0527456 0.0871169 0.316227 0.0768413 +0.0349527 0.0231549 0.0182162 0.0161875 0.0160663 0.0180686 0.0244576 +0.0532518 0.197953 0.032289 0.0171583 0.0123489 0.0103597 0.00974156 +0.0102119 0.0121956 0.0179997 0.0566289 0.134118 0.0189851 0.0112337 +0.00853689 0.0074627 0.00728355 0.00793637 0.00994647 0.0160098 0.114923 +0.0445003 0.0131711 0.00845661 0.00671477 0.00607145 0.00611517 0.00689781 +0.00906545 0.0161867 0.118119 0.024263 0.0101716 0.00697416 0.00575276 +0.00536189 0.0055612 0.00648974 0.00897538 0.0184182 0.110654 0.0169103 +0.0085178 0.006171 0.00526879 0.00505332 0.00539398 0.0065194 0.0095518 +0.0243355 0.105126 0.013401 0.00763805 0.00580464 0.00511782 0.00504711 +0.00554653 0.00695988 0.0109159 0.046246 0.0863759 0.011674 0.00729955 +0.00579007 0.00526455 0.0053385 0.00604749 0.0079078 0.0134906 0.106227 +0.0316305 0.0110544 0.00744666 0.00614567 0.00576044 0.00601175 0.00703544 +0.00963901 0.0183507 0.127003 0.0246947 0.0114016 0.0081856 0.00701961 +0.00678932 0.00730817 0.00886849 0.0128329 0.0285263 0.146328 0.0238981 +0.0130363 0.0099246 0.00885741 0.00887167 0.00989885 0.0125422 0.0194141 +0.0555073 0.170614 0.0280535 0.0173923 0.0140898 0.0132037 0.0138543 +0.0162478 0.021865 0.0371207 0.186834 0.155783 0.0454774 0.0324213 +0.0290482 0.0300669 0.0352362 0.0471288 0.0747599 0.156939 0.561095 +0.469127 0.643939 0.287431 0.118998 0.0737224 0.0570185 0.0526638 0.0592191 +0.0947346 0.333671 0.0848623 0.0379886 0.0249173 0.0194482 0.0171647 +0.0169298 0.0189193 0.0254073 0.0541492 0.203977 0.0340705 0.0179205 +0.0128311 0.0107222 0.0100472 0.0104952 0.0124822 0.0183003 0.0551698 +0.138845 0.0196729 0.0115539 0.0087463 0.00762327 0.0074202 0.008062 +0.0100659 0.016083 0.114051 0.0478092 0.0135052 0.00862043 0.00682251 +0.00615312 0.00618244 0.0069547 0.0091047 0.0161064 0.117513 0.0251705 +0.0103521 0.0070638 0.00580983 0.00540236 0.00559023 0.00650574 0.00895902 +0.018145 0.111047 0.0173126 0.00861744 0.0062176 0.00529446 0.0050665 +0.00539558 0.00650255 0.00948013 0.0236197 0.106635 0.0136017 0.00768671 +0.00582052 0.00511894 0.005037 0.00552233 0.00690791 0.0107701 0.0422765 +0.0892429 0.0117659 0.00730842 0.00577807 0.00524084 0.0053025 0.00599172 +0.00780771 0.0132202 0.104527 0.0327369 0.0110675 0.00741476 0.00610037 +0.00570396 0.00593872 0.00693107 0.00945818 0.0178259 0.12648 0.0249534 +0.0113319 0.00809628 0.00692166 0.0066772 0.00716874 0.00867235 0.0124895 +0.0273527 0.144151 0.0237948 0.0128332 0.00972438 0.0086494 0.0086368 +0.00960595 0.012124 0.0186532 0.0519409 0.168769 0.0274415 0.0168472 +0.013573 0.0126599 0.0132218 0.0154272 0.0206334 0.0347139 0.167251 +0.160616 0.0427908 0.0300666 0.0265956 0.0271387 0.031257 0.0408815 +0.0629442 0.12742 0.493279 0.349672 0.306376 0.580332 0.206306 0.101668 +0.0714685 0.062514 0.0676907 0.104323 0.353551 0.0944194 0.041563 0.0269645 +0.0208623 0.018275 0.0179023 0.019871 0.026466 0.0552343 0.210122 0.0360257 +0.0187501 0.013354 0.0111141 0.0103769 0.0108006 0.0127915 0.0186294 +0.0540238 0.143571 0.0204081 0.0118944 0.00896857 0.00779358 0.00756519 +0.00819558 0.0101941 0.0161696 0.112858 0.0517234 0.0138573 0.00879262 +0.00693584 0.00623926 0.00625377 0.00701581 0.00914921 0.0160388 0.117148 +0.0261512 0.0105415 0.00715798 0.0058701 0.00544549 0.00562179 0.00652455 +0.00894684 0.0178917 0.111641 0.0177391 0.00872213 0.00626704 0.0053223 +0.00508165 0.00539925 0.00648835 0.00941336 0.0229626 0.10839 0.0138139 +0.0077389 0.00583868 0.00512197 0.00502879 0.00550033 0.00685911 0.0106316 +0.0391761 0.0915108 0.011865 0.00732043 0.00576843 0.00521932 0.00526886 +0.00593892 0.0077123 0.0129631 0.102905 0.0340014 0.0110867 0.00738644 +0.0060582 0.00565068 0.00586945 0.00683178 0.00928603 0.0173305 0.124638 +0.0252485 0.01127 0.00801295 0.00682935 0.00657114 0.00703662 0.00848645 +0.0121646 0.0262612 0.142127 0.0237196 0.0126448 0.00953704 0.00845456 +0.00841695 0.0093322 0.0117341 0.0179467 0.0487427 0.167047 0.0268918 +0.0163488 0.0131007 0.0121645 0.0126483 0.0146869 0.0195293 0.0325725 +0.145335 0.169008 0.0404767 0.0280621 0.0245438 0.0247421 0.0280893 +0.0360841 0.0542852 0.106833 0.441136 0.28477 0.192538 0.278205 0.524192 +0.165349 0.0960272 0.0771021 0.0792428 0.116693 0.376564 0.105961 0.0458271 +0.0293692 0.0225008 0.0195468 0.0190057 0.0209423 0.0276532 0.0565316 +0.216854 0.0381816 0.0196572 0.0139231 0.011539 0.0107334 0.0111301 +0.0131253 0.0189883 0.0531342 0.148373 0.0211944 0.0122565 0.00920455 +0.00797432 0.00771916 0.00833784 0.010332 0.0162708 0.111074 0.0564712 +0.0142292 0.00897393 0.00705521 0.00633015 0.00632933 0.00708116 0.00919893 +0.0159831 0.116947 0.0272131 0.01074 0.00725677 0.0059336 0.00549134 +0.00565598 0.00654631 0.00893899 0.0176575 0.112439 0.0181918 0.00883214 +0.00631946 0.00535238 0.00509879 0.005405 0.00647673 0.00935134 0.0223576 +0.108541 0.0140381 0.00779468 0.00585914 0.00512693 0.00502247 0.0054805 +0.00681338 0.0105001 0.0366507 0.0934434 0.0119713 0.00733551 0.00576108 +0.00519994 0.00523753 0.00588904 0.0076215 0.0127185 0.101349 0.0354612 +0.0111121 0.00736176 0.00601912 0.00560052 0.00580373 0.0067372 0.00912188 +0.0168621 0.122315 0.0255818 0.0112155 0.00793511 0.00674228 0.00647076 +0.00691145 0.00831033 0.0118573 0.0252455 0.140322 0.0236728 0.0124705 +0.00936187 0.00827194 0.00821085 0.00907582 0.0113696 0.0172885 0.0458586 +0.165416 0.0263973 0.0158914 0.0126675 0.0117116 0.0121261 0.0140163 +0.018535 0.0306584 0.128088 0.173944 0.0384687 0.0263373 0.0228031 +0.0227451 0.0255086 0.0322848 0.0476676 0.0916693 0.399253 0.243897 +0.14202 0.153661 0.308794 0.457105 0.14757 0.100976 0.0959326 0.133219 +0.403543 0.120147 0.0510017 0.0322337 0.0244214 0.0210175 0.0202671 +0.0221558 0.0289898 0.0580603 0.224094 0.0405651 0.0206513 0.014544 +0.0120011 0.0111199 0.0114867 0.0134866 0.0193809 0.0524683 0.153285 +0.0220377 0.0126426 0.00945561 0.00816641 0.00788277 0.00848923 0.0104797 +0.0163865 0.107018 0.0624409 0.0146217 0.00916469 0.00718085 0.00642601 +0.00640938 0.00715111 0.00925425 0.0159398 0.116932 0.028367 0.0109485 +0.00736053 0.00600056 0.00554004 0.00569283 0.006571 0.00893536 0.017441 +0.113445 0.0186725 0.0089476 0.0063749 0.00538472 0.00511797 0.00541286 +0.00646774 0.00929402 0.0217995 0.108073 0.0142751 0.00785416 0.00588192 +0.0051338 0.00501803 0.00546281 0.00677068 0.0103754 0.0345342 0.0952094 +0.0120852 0.00735372 0.00575603 0.00518267 0.00520844 0.00584193 0.00753503 +0.0124857 0.0998115 0.0371676 0.0111434 0.0073405 0.00598296 0.00555332 +0.00574144 0.00664723 0.00896553 0.0164193 0.120183 0.025957 0.0111683 +0.00786269 0.00666027 0.00637577 0.00679272 0.00814316 0.0115661 0.0242976 +0.138694 0.0236531 0.0123091 0.00919773 0.00810049 0.00801741 0.00883545 +0.0110285 0.0166751 0.043251 0.163981 0.0259545 0.0154713 0.0122693 +0.0112962 0.0116488 0.0134059 0.0176346 0.0289367 0.114119 0.176753 +0.0367114 0.0248377 0.0213082 0.0210561 0.0233663 0.0292032 0.0424492 +0.0800532 0.364611 0.216039 0.113189 0.107511 0.14529 0.414725 0.345125 +0.147488 0.122189 0.156339 0.435695 0.137936 0.0574046 0.0357009 0.0267024 +0.0227367 0.0217227 0.0235414 0.0305055 0.059858 0.232031 0.0432141 +0.0217463 0.0152243 0.0125051 0.01154 0.0118732 0.0138779 0.0198092 +0.0519963 0.158342 0.0229424 0.0130542 0.00972284 0.00837071 0.00805682 +0.0086506 0.0106383 0.0165181 0.100623 0.070387 0.015037 0.0093658 +0.00731329 0.00652718 0.00649412 0.00722573 0.00931515 0.0159083 0.117032 +0.0296246 0.0111673 0.00746936 0.00607105 0.00559166 0.00573249 0.00659878 +0.00893611 0.0172416 0.114685 0.0191837 0.00906882 0.0064335 0.00541941 +0.00513921 0.00542282 0.00646134 0.00924126 0.0212836 0.107861 0.0145255 +0.00791741 0.00590706 0.0051426 0.00501545 0.00544724 0.00673092 0.0102571 +0.0327235 0.096902; +#A 6000 0.0122069 0.00737504 0.00575324 0.00516745 0.00518156 0.00579757 +0.00745284 0.0122643 0.0982692 0.039197 0.011181 0.00732271 0.00594972 +0.005509 0.00568242 0.00656155 0.00881636 0.016 0.118272 0.0263769 +0.0111281 0.00779527 0.00658296 0.00628584 0.00668014 0.00798459 0.0112902 +0.0234127 0.137285 0.0236612 0.01216 0.0090441 0.00793949 0.00783563 +0.00860968 0.0107085 0.0161015 0.040882 0.161713 0.0255579 0.0150842 +0.0119021 0.0109141 0.0112112 0.0128486 0.0168165 0.0273826 0.102585 +0.178043 0.0351663 0.0235239 0.0200116 0.0196097 0.0215601 0.0266538 +0.0382294 0.0708757 0.335154 0.196122 0.094498 0.0830599 0.0967453 +0.155125 0.497301 0.284785 0.169794 0.190955 0.47532 0.160837 0.0655302 +0.0399829 0.0294547 0.0247722 0.0234196 0.0251364 0.0322342 0.061959 +0.24058 0.0461682 0.0229563 0.0159721 0.0130566 0.0119981 0.0122936 +0.0143031 0.0202782 0.0517045 0.163591 0.0239161 0.0134945 0.0100079 +0.00858835 0.00824212 0.00882255 0.0108082 0.0166656 0.0907822 0.0821166 +0.0154761 0.00957766 0.00745282 0.00663393 0.00658385 0.0073054 0.00938209 +0.0158891 0.117273 0.031001 0.011397 0.00758365 0.0061453 0.00564636 +0.005775 0.00662962 0.00894114 0.0170583 0.116166 0.0197277 0.00919595 +0.00649531 0.00545648 0.00516256 0.00543495 0.00645757 0.00919305 0.0208061 +0.107869 0.0147902 0.00798455 0.0059346 0.00515334 0.00501474 0.00543376 +0.00669407 0.010145 0.0311501 0.0985999 0.0123367 0.00739951 0.00575271 +0.00515428 0.00515681 0.00575583 0.00737466 0.0120535 0.0948985 0.0416661 +0.0112246 0.00730823 0.00591921 0.00546744 0.00562656 0.00648008 0.00867423 +0.0156029 0.116516 0.0268463 0.0110947 0.00773281 0.00651021 0.00620073 +0.00657327 0.0078339 0.0110284 0.0225845 0.136083 0.0236963 0.0120223 +0.00890001 0.00778807 0.00766461 0.00839744 0.0104083 0.0155651 0.0387252 +0.15908 0.0252053 0.0147274 0.011563 0.0105616 0.0108086 0.0123377 +0.0160697 0.0259722 0.0928937 0.178429 0.0337983 0.0223636 0.0188764 +0.0183575 0.0200173 0.0245109 0.0347492 0.063454 0.309613 0.181515 +0.0813964 0.0678649 0.0728221 0.0978969 0.18457 0.555665 0.285777 0.248575 +0.526204 0.191291 0.0761688 0.0454006 0.0328395 0.0272193 0.0254225 +0.0269917 0.0342235 0.0644214 0.249948 0.0494826 0.024301 0.0167979 +0.0136626 0.0124992 0.0127519 0.0147657 0.0207909 0.0515763 0.169028 +0.0249648 0.0139655 0.0103123 0.00882043 0.00843967 0.0090061 0.0109906 +0.0168305 0.0781251 0.0969237 0.0159414 0.00980132 0.00760003 0.00674664 +0.0066788 0.00739023 0.00945506 0.0158817 0.117601 0.0325133 0.0116383 +0.00770353 0.0062234 0.00570423 0.00582051 0.00666373 0.00895065 0.0168907 +0.116269 0.0203075 0.00932936 0.00656051 0.00549604 0.00518807 0.00544923 +0.0064564 0.00914925 0.0203635 0.108094 0.0150698 0.00805565 0.00596456 +0.00516604 0.0050159 0.00542236 0.00666005 0.0100389 0.0297661 0.100361 +0.0124748 0.00742712 0.00575441 0.00514311 0.00513418 0.00571669 0.00730046 +0.0118529 0.0902642 0.0447712 0.0112745 0.00729708 0.00589145 0.00542856 +0.00557371 0.00640253 0.0085386 0.0152264 0.114966 0.0273697 0.0110679 +0.00767494 0.00644172 0.00612015 0.00647187 0.00769081 0.01078 0.0218091 +0.135113 0.0237593 0.0118956 0.00876509 0.00764565 0.00750357 0.00819759 +0.0101258 0.015062 0.0367531 0.156556 0.0248924 0.0143977 0.011249 +0.0102357 0.0104373 0.011868 0.0153861 0.0246888 0.0846567 0.178105 +0.032584 0.021333 0.0178753 0.0172635 0.0186847 0.0226849 0.0318303 +0.0573308 0.287027 0.170696 0.0717037 0.0574944 0.0585073 0.0718198 +0.109609 0.244872 0.613804 0.365446 0.595248 0.233618 0.0906962 0.0524745 +0.0371019 0.0302153 0.027821 0.0291742 0.036532 0.0673058 0.260125 +0.0532177 0.0258017 0.0177136 0.014331 0.0130494 0.0132532 0.015271 +0.0213534 0.0516087 0.17387 0.0260978 0.014471 0.010638 0.00906836 +0.00865049 0.00920202 0.0111861 0.0170132 0.0709167 0.106619 0.0164345 +0.0100373 0.0077553 0.00686565 0.00677935 0.00748065 0.00953461 0.0158867 +0.11803 0.034184 0.0118919 0.00782944 0.00630563 0.00576543 0.00586908 +0.00670108 0.00896456 0.0167377 0.115699 0.020926 0.00946921 0.00662915 +0.00553811 0.00521578 0.00546574 0.0064579 0.0091099 0.0199531 0.108511 +0.0153654 0.00813087 0.005997 0.00518072 0.00501893 0.00541303 0.00662883 +0.00993872 0.0285371 0.102242 0.0126216 0.00745794 0.00575835 0.00513393 +0.00511359 0.00568003 0.00723002 0.011662 0.0849037 0.0488759 0.0113306 +0.00728914 0.0058663 0.00539226 0.00552378 0.00632883 0.00840935 0.0148695 +0.113562 0.0279535 0.0110477 0.00762163 0.00637737 0.0060439 0.00637558 +0.00755471 0.0105439 0.0210814 0.134404 0.0238498 0.0117789 0.0086385 +0.00751153 0.00735177 0.0080093 0.00986006 0.0145901 0.0349471 0.154235 +0.0246177 0.0140931 0.0109578 0.00993364 0.0100939 0.0114349 0.0147579 +0.0235154 0.0775698 0.177397 0.0315 0.0204117 0.016986 0.0162998 0.0175226 +0.0211113 0.0293492 0.0522013 0.266347 0.162778 0.064252 0.0499661 +0.0489676 0.0568014 0.0783082 0.136139 0.36214 0.695961 0.698198 0.296147 +0.111701 0.0620954 0.0426317 0.0339668 0.0307438 0.031778 0.0392418 +0.0707069 0.271313 0.0574572 0.0274878 0.018735 0.0150718 0.0136559 +0.0138034 0.0158237 0.0219704 0.0517935 0.178485 0.0273232 0.015014 +0.0109869 0.00933354 0.0088758 0.00941154 0.0113961 0.0172154 0.0660719 +0.114182 0.016958 0.0102868 0.00791934 0.00699142 0.00688578 0.00757682 +0.00962074 0.0159036 0.118516 0.0360394 0.0121585 0.00796156 0.00639208 +0.00583009 0.00592088 0.0067419 0.00898309 0.0165993 0.115396 0.0215872 +0.00961592 0.00670143 0.00558283 0.00524575 0.00548449 0.00646201 0.00907485 +0.019572 0.109135 0.0156778 0.0082103 0.00603196 0.00519739 0.00502383 +0.00540576 0.00660037 0.00984415 0.0274368 0.104303 0.0127774 0.00749197 +0.00576451 0.0051267 0.00509505 0.00564583 0.0071633 0.0114803 0.0780132 +0.0547834 0.0113931 0.00728445 0.00584376 0.00535848 0.00547665 0.00625874 +0.008286 0.0145307 0.11235 0.0286047 0.0110339 0.00757257 0.0063169 +0.00597174 0.00628418 0.00742537 0.0103197 0.0203984 0.132643 0.0239691 +0.0116722 0.00851998 0.00738525 0.00720859 0.00783162 0.00960943 0.0141462 +0.0332867 0.152016 0.0243779 0.0138109 0.0106871 0.00965308 0.00977557 +0.0110345 0.0141792 0.0224405 0.0714248 0.176385 0.0305314 0.0195847 +0.0161916 0.015445 0.0165006 0.0197414 0.0272144 0.0478428 0.247093 +0.157214 0.0583477 0.0442522 0.0421522 0.0470199 0.0609747 0.0947195 +0.191533 0.571875 0.883511 0.397533 0.144766 0.0759439 0.0500918 0.0387992 +0.0343819 0.034935 0.0424613 0.0747339 0.283579 0.0622972 0.0293932 +0.0198802 0.0158968 0.0143274 0.0144097 0.0164311 0.0226499 0.0521349 +0.183493 0.0286533 0.0155991 0.0113618 0.00961775 0.00911693 0.00963569 +0.0116214 0.0174375 0.0625447 0.120765 0.017514 0.0105505 0.0080926 +0.00712434 0.00699851 0.00767923 0.00971408 0.0159333 0.119054 0.038115 +0.012439 0.00810038 0.00648308 0.0058984 0.005976 0.00678618 0.00900616 +0.0164746 0.115294 0.0222946 0.00976968 0.00677742 0.00563021 0.00527803 +0.00550554 0.00646885 0.00904417 0.0192183 0.109952 0.0160083 0.00829412 +0.0060695 0.00521609 0.00503062 0.00540053 0.00657463 0.00975506 0.0264454 +0.104905 0.0129426 0.00752927 0.00577291 0.00512143 0.00507849 0.005614 +0.0071001 0.0113074 0.0671305 0.0649132 0.011462 0.00728288 0.00582371 +0.00532712 0.00543224 0.0061922 0.00816846 0.0142091 0.111295 0.0293327 +0.0110264 0.00752775 0.00626022 0.00590351 0.00619738 0.00730226 0.0101063 +0.0197559 0.130293 0.0241173 0.0115745 0.0084088 0.00726621 0.00707343 +0.00766389 0.00937308 0.0137288 0.0317584 0.150039 0.0241722 0.0135498 +0.0104354 0.00939209 0.00947985 0.0106633 0.0136443 0.0214516 0.0660472 +0.175265 0.029662 0.0188383 0.0154778 0.0146819 0.0155953 0.0185389 +0.0253599 0.0441001 0.228876 0.153727 0.0535629 0.0397704 0.0370406 +0.0401391 0.0499399 0.072638 0.130526 0.32249 0.846371 0.590172 0.204529 +0.0976 0.0607064 0.0452565 0.0390331 0.0388412 0.0463476 0.0795529 +0.297176 0.0678708 0.0315638 0.0211731 0.0168209 0.0150746 0.0150805 +0.0171001 0.0233987 0.0526313 0.188806 0.0300989 0.0162303 0.0117649 +0.00992282 0.00937544 0.00987598 0.0118636 0.017682 0.0598674 0.126731 +0.0181057 0.0108299 0.00827591 0.00726497 0.0071179 0.0077881 0.00981468 +0.0159753 0.118305 0.0404548 0.0127341 0.0082461 0.00657876 0.00597049 +0.00603462 0.00683416 0.00903407 0.0163634 0.115417 0.0230532 0.00993098 +0.00685734 0.00568042 0.0053127 0.00552891 0.00647836 0.00901771 0.0188898 +0.110993 0.016358 0.00838241 0.00610965 0.00523683 0.00503932 0.00539736 +0.00655159 0.00967129 0.0255473 0.104639 0.0131176 0.00756989 0.00578353 +0.00511808 0.0050639 0.00558453 0.00704039 0.011143 0.0554063 0.0761368 +0.0115376 0.0072845 0.00580616 0.00529815 0.00539044 0.00612899 0.00805632 +0.0139035 0.110439 0.0301483 0.011025 0.00748688 0.00620708 0.00583899 +0.00611498 0.0071852 0.00990346 0.0191515 0.128134 0.0242961 0.0114859 +0.00830478 0.00715405 0.00694575 0.00750532 0.00914971 0.0133353 0.0303466 +0.148177 0.0239979 0.0133076 0.0102007 0.00914878 0.00920457 0.0103186 +0.0131491 0.0205405 0.0613143 0.174068 0.028882 0.0181628 0.0148338 +0.013997 0.0147881 0.017475 0.0237338 0.0408514 0.211285 0.152229 0.0496093 +0.0361616 0.0330653 0.0350351 0.0422936 0.0588808 0.0988502 0.222845 +0.69215 0.810756 0.346639 0.136378 0.0770252 0.0543244 0.0451866 0.0437953 +0.0511235 0.0853751 0.311959 0.0743392 0.0340557 0.0226428 0.0178624 +0.0159105 0.0158264 0.0178408 0.0242277 0.0532938 0.194574 0.0316761 +0.0169138 0.0121998 0.010251 0.00965302 0.0101338 0.0121239 0.0179494 +0.0577822 0.132438 0.0187355 0.0111257 0.00846986 0.0074138 0.00724445 +0.00790398 0.00992326 0.0160306 0.116655 0.0431196 0.0130449 0.00839932 +0.00667947 0.00604659 0.00609685 0.00688586 0.00906671 0.0162652 0.115692 +0.0238678 0.0101 0.00694126 0.00573349 0.00534982 0.0055547 0.00649065 +0.00899559 0.0185849 0.112256 0.0167281 0.0084754 0.00615253 0.00525967 +0.00504993 0.00539623 0.00653121 0.00959269 0.0247298 0.10459 0.0133028 +0.00761388 0.0057964 0.00511666 0.00505125 0.00555734 0.00698402 0.0109865 +0.0487477 0.082515 0.0116198 0.00728921 0.005791 0.00527147 0.00535119 +0.00606907 0.00794948 0.0136133 0.109771 0.031066 0.0110299 0.00744999 +0.00615744 0.00577805 0.00603673 0.00707372 0.00971025 0.0185817 0.126202 +0.024506 0.0114055 0.00820729 0.00704826 0.00682508 0.0073554 0.00893865 +0.0129643 0.0290413 0.146573 0.0238547 0.0130834; +#A 7000 0.00998181 0.0089217 0.00894784 0.00999764 0.0126892 0.0196979 +0.0571178 0.172154 0.0281797 0.0175485 0.0142498 0.013379 0.0140643 +0.0165277 0.022298 0.03801 0.193641 0.152865 0.0462953 0.0331963 0.0298869 +0.0310989 0.036682 0.0494797 0.079407 0.169172 0.587408 0.52868 0.656099 +0.227161 0.105411 0.0679945 0.0537104 0.0502826 0.0571314 0.0925224 +0.32844 0.0819285 0.0369462 0.0243284 0.019045 0.0168514 0.0166599 +0.0186637 0.025147 0.054127 0.200667 0.0334 0.0176549 0.0126697 0.0106048 +0.00995168 0.0104109 0.0124044 0.0182424 0.0561429 0.137959 0.0194075 +0.0114398 0.00867544 0.00757147 0.0073786 0.00802717 0.0100399 0.0160988 +0.114915 0.0461912 0.0133724 0.00856026 0.00678537 0.00612686 0.00616292 +0.00694155 0.00910442 0.01618 0.116175 0.024745 0.0102774 0.00702947 +0.00578959 0.00538947 0.00558292 0.0065057 0.00897765 0.018302 0.113785 +0.0171202 0.00857318 0.00619815 0.00528462 0.00506247 0.00539717 0.00651348 +0.00951915 0.0239829 0.104738 0.0134987 0.00766129 0.00581152 0.00511716 +0.00504053 0.0055324 0.00693094 0.0108378 0.0441421 0.0870949 0.0117089 +0.00729705 0.00577826 0.00524706 0.00531439 0.00601224 0.00784759 0.0133373 +0.107848 0.0321033 0.0110408 0.00741682 0.00611108 0.0057205 0.00596248 +0.00696768 0.0095264 0.0180446 0.124437 0.0247493 0.0113334 0.00811621 +0.00694855 0.00671099 0.00721346 0.00873881 0.0126137 0.0278304 0.145123 +0.0237405 0.0128754 0.0097773 0.00870934 0.00870802 0.00969837 0.0122614 +0.0189177 0.053381 0.1697 0.0275486 0.0169888 0.0137185 0.012819 0.0134117 +0.015679 0.0210207 0.0355035 0.175257 0.15612 0.0434791 0.030717 0.0272882 +0.0279717 0.0323889 0.0426485 0.0662529 0.135653 0.513282 0.376712 +0.378899 0.550469 0.167872 0.0910139 0.0663048 0.0591414 0.0649082 +0.101448 0.347289 0.0909283 0.0403342 0.026279 0.0203983 0.017918 0.0175971 +0.0195833 0.026172 0.0551494 0.207294 0.0352921 0.0184618 0.0131793 +0.0109872 0.0102737 0.0107093 0.0127065 0.0185623 0.0548496 0.143469 +0.0201248 0.0117732 0.00889338 0.0077386 0.00752095 0.00815831 0.0101655 +0.016181 0.112913 0.0497892 0.0137178 0.00872963 0.00689688 0.00621157 +0.00623294 0.00700127 0.00914713 0.0161071 0.11679 0.0256911 0.0104634 +0.00712203 0.00584877 0.00543173 0.00561369 0.00652362 0.00896404 0.0180398 +0.114082 0.0175358 0.00867601 0.00624663 0.00531175 0.00507698 0.00540016 +0.00649837 0.00945051 0.0232981 0.105073 0.0137059 0.0077122 0.00582892 +0.00511957 0.00503171 0.00550968 0.00688103 0.0106965 0.0406518 0.0908022 +0.011805 0.00730797 0.00576784 0.00522483 0.00528 0.00595848 0.00775057 +0.013075 0.104978 0.0332841 0.0110579 0.0073874 0.00606796 0.00566623 +0.005892 0.00686667 0.00935115 0.0175374 0.122897 0.0250272 0.0112689 +0.00803099 0.00685449 0.00660306 0.00707907 0.00854968 0.0122826 0.0267065 +0.143935 0.0236554 0.0126828 0.00958625 0.00851061 0.00848361 0.00941867 +0.0118625 0.0181929 0.050033 0.167271 0.02698 0.0164767 0.0132331 0.0123094 +0.0128208 0.0149148 0.0198783 0.03328 0.154545 0.163169 0.0410632 0.0286156 +0.0251252 0.0254282 0.0289991 0.0374602 0.0567603 0.112748 0.457116 +0.300063 0.216524 0.381461 0.44072 0.138395 0.0868365 0.0719669 0.075367 +0.112876 0.369059 0.101755 0.0443605 0.0285627 0.0219618 0.0191365 +0.0186578 0.0206161 0.0273183 0.0563735 0.214304 0.0373737 0.0193422 +0.0137329 0.0114013 0.0106216 0.0110312 0.0130328 0.0189122 0.0538427 +0.148114 0.0208924 0.0121281 0.00912488 0.00791599 0.00767205 0.00829779 +0.0103002 0.016277 0.110499 0.0540922 0.0140821 0.0089077 0.0070142 +0.0063009 0.00630717 0.00706533 0.00919523 0.0160468 0.1176 0.0267147 +0.0106585 0.00721926 0.00591122 0.00547671 0.00564701 0.00654439 0.00895463 +0.017797 0.113506 0.0179766 0.008784 0.006298 0.00534108 0.00509348 +0.00540524 0.00648589 0.00938672 0.0226686 0.105586 0.0139249 0.00776668 +0.0058486 0.00512389 0.00502478 0.00548913 0.00683424 0.0105623 0.0378632 +0.0940896 0.0119084 0.00732201 0.00575976 0.00520477 0.00524792 0.00590761 +0.00765812 0.0128253 0.10221 0.0346395 0.0110809 0.00736151 0.00602789 +0.00561509 0.00582516 0.00677058 0.00918428 0.0170584 0.121512 0.0253427 +0.0112121 0.00795154 0.00676587 0.00650094 0.00695169 0.00837031 0.0119692 +0.0256602 0.142962 0.0235978 0.0125041 0.00940739 0.0083243 0.00827335 +0.00915698 0.01149 0.017519 0.0470234 0.164936 0.0264696 0.0160077 +0.0127887 0.0118441 0.0122833 0.0142233 0.0188504 0.0312938 0.13526 +0.170215 0.0389694 0.0268123 0.0232972 0.0233197 0.0262557 0.0333873 +0.0495909 0.0961308 0.412561 0.253495 0.154092 0.177449 0.462974 0.305205 +0.126526 0.0922132 0.0901749 0.127955 0.394587 0.114981 0.0492174 0.03127 +0.0237876 0.0205412 0.0198677 0.021784 0.0286083 0.0578276 0.221907 +0.0396748 0.020307 0.0143368 0.0118513 0.0109984 0.0113792 0.0133853 +0.019294 0.0530739 0.152208 0.0217141 0.0125057 0.00937087 0.00810437 +0.0078326 0.00844638 0.010445 0.0163881 0.107324 0.0593937 0.014467 +0.00909527 0.0071378 0.00639517 0.00638578 0.00713379 0.00924865 0.0159985 +0.118551 0.0278248 0.0108632 0.00732125 0.00597701 0.00552447 0.00568303 +0.00656817 0.00894958 0.0175727 0.113195 0.0184446 0.00889745 0.00635242 +0.00537268 0.00511199 0.00541241 0.006476 0.00932762 0.0220885 0.106287 +0.0141564 0.00782481 0.0058706 0.00513014 0.00501972 0.00547074 0.00679049 +0.0104349 0.0355572 0.0971976 0.0120192 0.00733912 0.00575395 0.00518682 +0.00521812 0.00585961 0.00757016 0.0125879 0.0994838 0.0362132 0.0111101 +0.00733918 0.00599085 0.00556697 0.00576176 0.00667906 0.00902513 0.0166052 +0.120357 0.0256977 0.0111625 0.0078774 0.00668228 0.00640428 0.00683096 +0.00820031 0.0116726 0.0246856 0.141211 0.0235681 0.012339 0.00924007 +0.00814954 0.00807606 0.00891162 0.0111414 0.0168903 0.0443037 0.162672 +0.0260107 0.0155767 0.0123802 0.0114176 0.0117927 0.0135949 0.0179216 +0.0295119 0.11989 0.174468 0.0371434 0.02525 0.0217333 0.0215441 0.0239905 +0.0301056 0.0439855 0.0835329 0.375806 0.222363 0.120447 0.118255 0.172418 +0.505228 0.240512 0.129124 0.112776 0.148726 0.425038 0.131467 0.0551907 +0.0345305 0.0259468 0.0221775 0.0212593 0.0231137 0.0300666 0.0595354 +0.230016 0.0422259 0.0213673 0.0149973 0.0123416 0.0114078 0.0117563 +0.0137674 0.0197116 0.0525165 0.156473 0.0225963 0.0129087 0.00963282 +0.00830474 0.00800332 0.00860457 0.0106001 0.0165142 0.102918 0.0662205 +0.0148736 0.00929271 0.00726794 0.0064946 0.00646904 0.00720698 0.00930784 +0.0159626 0.119691 0.0290331 0.0110781 0.00742836 0.00604635 0.00557515 +0.00572177 0.00659491 0.00894876 0.0173657 0.113119 0.0189419 0.00901647 +0.0064099 0.00540658 0.00513256 0.0054217 0.00646875 0.00927319 0.0215528 +0.107172 0.0144009 0.00788668 0.00589495 0.00513831 0.00501654 0.00545447 +0.00674971 0.010314 0.0336036 0.0988207 0.0121377 0.00735937 0.00575044 +0.00517095 0.00519051 0.00581432 0.00748644 0.0123619 0.0967144 0.0380668 +0.0111453 0.00732023 0.00595666 0.00552173 0.00570171 0.00659201 0.00887351 +0.0161766 0.119377 0.026096 0.01112 0.00780851 0.00660357 0.00631279 +0.00671641 0.00803887 0.0113913 0.0237752 0.138746 0.0235652 0.0121861 +0.00908323 0.00798537 0.00789073 0.00868136 0.0108148 0.0163037 0.0418397 +0.160561 0.0256006 0.0151803 0.0120041 0.0110257 0.0113433 0.0130215 +0.0170781 0.0279038 0.107318 0.177026 0.0355382 0.0238835 0.0203804 +0.0200289 0.0220893 0.0274065 0.039486 0.0736696 0.344807 0.200377 +0.0993326 0.0891912 0.107691 0.190213 0.528712 0.219925 0.151636 0.179077 +0.462308 0.152502 0.0627056 0.0385298 0.0285385 0.024107 0.0228765 +0.0246408 0.0317279 0.0615405 0.23879 0.0450698 0.0225385 0.0157227 +0.0128777 0.0118536 0.0121659 0.0141819 0.0201676 0.0521449 0.160944 +0.0235441 0.013339 0.00991191 0.00851804 0.00818505 0.00877326 0.0107666 +0.0166566 0.0960914 0.0756902 0.0153039 0.00950095 0.00740516 0.00659956 +0.00655716 0.00728501 0.00937275 0.0159385 0.119767 0.0303523 0.0113037 +0.00754071 0.00611932 0.00562885 0.00576339 0.0066248 0.00895237 0.0171754 +0.113262 0.019471 0.00914141 0.00647063 0.00544288 0.00515523 0.00543311 +0.00646408 0.00922327 0.0210574 0.108268 0.0146593 0.00795238 0.00592167 +0.00514842 0.00501523 0.0054403 0.00671185 0.0101995 0.0319187 0.0991985 +0.0122641 0.00738273 0.00574916 0.00515712 0.00516508 0.00577173 0.00740688 +0.012147 0.0938149 0.0402937 0.0111866 0.0073047 0.00592531 0.00547931 +0.00564483 0.00650911 0.00872886 0.0157706 0.118641 0.026541 0.0110843 +0.00774446 0.00652939 0.00622618 0.00660777 0.00788568 0.0111247 0.0229246 +0.136507 0.0235899 0.012045 0.0089364 0.00783111 0.00771644 0.00846489 +0.0105082 0.0157546 0.0395968 0.158551 0.025234 0.0148145 0.0116567 +0.0106645 0.0109302 0.0124966 0.0163095 0.026448 0.0968556 0.178395 +0.0341214 0.0226802 0.0191995 0.0187213 0.0204714 0.0251478 0.0357951 +0.0657419 0.317991 0.18432 0.0848325 0.0718238 0.0787571 0.110309 0.23596 +0.544372 0.235454 0.227684 0.509386 0.180189 0.0724451 0.0435503 0.0317061 +0.026415 0.0247775 0.0264107 0.0336331 0.0638846 0.2478 0.0482519 0.0238368 +0.0165224 0.0134658 0.0123409 0.0126122 0.014633 0.0206671 0.0519485 +0.165652 0.0245653 0.0137997 0.01021 0.00874547 0.00837869 0.00895311 +0.010945 0.0168156 0.0837796 0.090951 0.0157592 0.00972042 0.00754977 +0.00671033 0.00665047 0.00736827 0.00944389 0.0159268 0.11893 0.0317992 +0.0115407 0.00765869 0.00619617 0.0056857 0.00580792 0.00665782 0.00896029 +0.0170009 0.113599 0.0200343 0.00927243 0.00653463 0.0054816 0.00518004 +0.00544671 0.00646206 0.00917788 0.0205986 0.109584 0.0149323 0.00802204 +0.00595082 0.00516048 0.00501578 0.00542822 0.00667686 0.0100912 0.0304455 +0.0996663 0.0123987 0.00740925 0.00575013 0.00514531 0.00514176 0.00573171 +0.00733126 0.0119423 0.0906185 0.0430425 0.0112341 0.00729243 0.00589666 +0.00543958 0.00559102 0.0064303 0.00859101 0.015386 0.11813 0.0270376 +0.0110553 0.00768523 0.00645963 0.00614421 0.00650462 0.00774006 0.0108716 +0.0221279 0.134449 0.0236414 0.0119148 0.00879866 0.00768595 0.00755235 +0.00826123 0.0102201 0.0152406 0.0375513 0.156747 0.024909 0.0144771 +0.0113354 0.0103307 0.0105496 0.0120144 0.0156062 0.0251233 0.0880096 +0.178497 0.0328631 0.0216126 0.01816 0.017582 0.0190785 0.023231 0.0327152 +0.0592418 0.294371 0.172428 0.0742655 0.0602596 0.0622326 0.0782025 +0.125128 0.329614 0.551505 0.318891 0.571973 0.218101 0.0855532 0.0500357 +0.0356635; +#A 8000 0.0292238 0.0270435 0.0284856 0.0358391 0.0666361 0.25731 0.0518354 +0.0252848 0.0174084 0.0141138 0.0128752 0.0130997 0.0151247 0.0212138 +0.0519132 0.170592 0.0256667 0.0142932 0.0105285 0.00898823 0.00858529 +0.0091452 0.0111366 0.0169928 0.0744628 0.103445 0.016242 0.00995225 +0.00770242 0.00682732 0.00674923 0.00745688 0.00952124 0.015927 0.118227 +0.0333927 0.0117895 0.00778246 0.00627699 0.00574581 0.00585552 0.00669417 +0.00897276 0.0168418 0.114138 0.0206351 0.00940989 0.00660211 0.00552286 +0.00520703 0.00546248 0.00646265 0.00913687 0.0201731 0.111161 0.0152208 +0.00809573 0.00598241 0.00517451 0.0050182 0.00541821 0.00664468 0.00998869 +0.0291432 0.100231 0.0125418 0.00743893 0.00575333 0.00513548 0.00512052 +0.00569424 0.00725953 0.0117476 0.08689 0.0465746 0.0112878 0.00728345 +0.00587071 0.00540248 0.00554015 0.00635529 0.00845947 0.0150212 0.11667 +0.027591 0.0110328 0.00763045 0.00639398 0.00606661 0.00640673 0.00760173 +0.0106314 0.0213814 0.132597 0.0237207 0.0117952 0.00866967 0.00754937 +0.00739773 0.0080693 0.00994894 0.0147579 0.0356781 0.15507 0.0246218 +0.014165 0.0110374 0.0100215 0.0101978 0.0115702 0.014961 0.0239149 +0.0804503 0.177484 0.0317431 0.0206606 0.0172388 0.0165809 0.0178672 +0.0215843 0.0301066 0.0538174 0.27315 0.163631 0.0662248 0.052002 0.0515217 +0.0606932 0.0858532 0.157524 0.50081 0.568672 0.66183 0.272981 0.104139 +0.0587363 0.040747 0.0327148 0.0297887 0.0309491 0.0384177 0.0698689 +0.267753 0.0558904 0.0269072 0.0183944 0.0148308 0.0134635 0.0136344 +0.0156627 0.0218143 0.0520383 0.17582 0.0268584 0.0148236 0.0108699 +0.00924784 0.00880597 0.00935041 0.0113419 0.0171884 0.0686021 0.112788 +0.016754 0.010197 0.00786349 0.00695088 0.0068538 0.0075513 0.00960538 +0.0159398 0.117649 0.0351578 0.0120513 0.00791248 0.00636207 0.00580936 +0.00590628 0.00673384 0.00898967 0.016697 0.114856 0.0212766 0.00955397 +0.0066731 0.00556667 0.00523627 0.00548052 0.00646592 0.00910028 0.0197785 +0.111678 0.0155258 0.00817362 0.00601651 0.00519053 0.0050225 0.00541026 +0.00661527 0.00989195 0.027982 0.100904 0.0126938 0.00747183 0.00575876 +0.00512763 0.00510131 0.00565921 0.00719148 0.0115622 0.0820958 0.0514115 +0.0113478 0.00727765 0.00584732 0.00536789 0.00549213 0.00628404 0.00833411 +0.0146752 0.114191 0.0282082 0.0110169 0.00758012 0.00633234 0.00599319 +0.00631377 0.00747013 0.0104029 0.0206803 0.130937 0.0238276 0.0116853 +0.00854865 0.00742069 0.00725192 0.00788835 0.00969355 0.0143048 0.03396 +0.153636 0.0243711 0.0138765 0.0107609 0.00973466 0.00987196 0.0111598 +0.0143667 0.0228076 0.073916 0.17612 0.030741 0.0198065 0.0164171 0.0156946 +0.0168046 0.0201552 0.0278708 0.0492299 0.253748 0.157307 0.0599105 +0.0458126 0.0440114 0.049641 0.0654426 0.104554 0.223945 0.681188 0.811426 +0.359114 0.132526 0.0710154 0.0475145 0.0371692 0.0331821 0.0339208 +0.0414708 0.0736973 0.27937 0.0605142 0.0287382 0.0194984 0.0156281 +0.0141139 0.0142226 0.0162527 0.022474 0.0523176 0.181311 0.0281494 +0.015394 0.011236 0.00952584 0.00904207 0.00957002 0.0115626 0.0174045 +0.0644839 0.119791 0.017298 0.0104559 0.00803374 0.0070815 0.00696451 +0.0076517 0.00969633 0.0159646 0.117114 0.0371244 0.0123264 0.00804891 +0.00645153 0.00587648 0.00596035 0.00677705 0.00901129 0.0165666 0.115787 +0.0219627 0.00970512 0.00674783 0.00561319 0.0052678 0.00550081 0.00647183 +0.00906798 0.0194122 0.111097 0.0158482 0.00825579 0.00605316 0.00520855 +0.00502868 0.00540437 0.0065886 0.00980076 0.0269391 0.101698 0.012855 +0.00750796 0.00576641 0.00512172 0.00508412 0.00562661 0.00712707 0.0113859 +0.0749761 0.0588577 0.0114142 0.00727507 0.0058265 0.00533577 0.00544684 +0.00621629 0.00821448 0.0143467 0.111924 0.0288968 0.0110071 0.00753392 +0.00627446 0.00592373 0.00622552 0.00734503 0.0101859 0.0200218 0.129473 +0.0239635 0.0115849 0.00843535 0.0072995 0.0071143 0.00771748 0.00945252 +0.0138783 0.0323783 0.152389 0.0241537 0.0136091 0.0105035 0.00946782 +0.00956945 0.0107797 0.0138184 0.0217911 0.0682264 0.174471 0.029844 +0.0190375 0.0156803 0.014905 0.0158653 0.0189036 0.0259333 0.0453002 +0.235656 0.153081 0.0548235 0.0410012 0.0384528 0.0420239 0.052896 +0.0783037 0.144895 0.373586 0.888351 0.513547 0.181291 0.0896639 0.0569689 +0.0430482 0.0374818 0.0375726 0.0451355 0.0782575 0.292229 0.0658204 +0.0308176 0.0207417 0.0165195 0.0148364 0.0148728 0.0169024 0.0232017 +0.0527573 0.187155 0.0295529 0.0160098 0.0116299 0.00982417 0.00929501 +0.00980518 0.0117994 0.0176416 0.0614137 0.125166 0.0178761 0.0107297 +0.00821366 0.00721962 0.0070818 0.00775859 0.00979475 0.0160024 0.116601 +0.0393326 0.0126161 0.0081923 0.00654568 0.00594735 0.00601784 0.00682381 +0.00903751 0.0164497 0.116905 0.0226974 0.00986353 0.00682635 0.00566244 +0.00530169 0.00552345 0.00648049 0.00904004 0.0190722 0.110781 0.0161893 +0.00834244 0.00609243 0.00522863 0.00503675 0.00540052 0.00656463 0.00971494 +0.0259968 0.102625 0.0130258 0.0075474 0.0057763 0.00511775 0.00506889 +0.00559635 0.00706613 0.0112181 0.0603102 0.0741465 0.0114871 0.00727559 +0.00580812 0.00530604 0.00540421 0.00615201 0.00810049 0.0140348 0.109808 +0.0296674 0.0110036 0.00749186 0.00622026 0.00585806 0.00614171 0.00722593 +0.00997929 0.019402 0.128218 0.0241287 0.0114934 0.00832909 0.00718522 +0.00698433 0.00755608 0.00922506 0.0134768 0.0309204 0.150583 0.0239692 +0.0133616 0.0102638 0.00921929 0.009288 0.0104269 0.0133106 0.0208542 +0.0632288 0.172719 0.0290377 0.0183414 0.015016 0.0141973 0.0150294 +0.017799 0.0242397 0.0419021 0.218373 0.150802 0.0506459 0.0371568 +0.0341739 0.036455 0.0443942 0.0625675 0.106977 0.247025 0.735121 0.785901 +0.285192 0.121425 0.0711118 0.0511644 0.0431051 0.0421667 0.0496141 +0.0837563 0.306632 0.071967 0.0332001 0.0221524 0.0175223 0.0156434 +0.0155945 0.0176202 0.0240052 0.0533577 0.193296 0.0310811 0.0166751 +0.0120541 0.0101448 0.00956651 0.0100575 0.0120543 0.0179021 0.0590532 +0.130149 0.0184919 0.0110201 0.00840414 0.00736581 0.00720606 0.00787222 +0.00990072 0.0160528 0.116037 0.0418334 0.0129209 0.00834285 0.00664468 +0.00602214 0.00607894 0.00687437 0.00906865 0.0163462 0.118256 0.0234861 +0.0100297 0.00690893 0.00571458 0.00533802 0.00554845 0.00649184 0.00901632 +0.0187565 0.110715 0.0165503 0.00843366 0.00613437 0.00525077 0.00504674 +0.00539873 0.00654335 0.00963438 0.0251412 0.103703 0.0132066 0.00759017 +0.00578842 0.00511571 0.00505562 0.00556841 0.00700861 0.0110585 0.0517564 +0.0824143 0.0115667 0.00727928 0.00579222 0.00527864 0.00536414 0.00609097 +0.00799174 0.0137384 0.107856 0.0305319 0.0110062 0.00745366 0.00616951 +0.00579599 0.00606216 0.00711267 0.00978281 0.0188186 0.127164 0.0243248 +0.0114105 0.00822971 0.00707754 0.00686151 0.00740342 0.00900995 0.0130979 +0.029572 0.148002 0.023815 0.0131319 0.0100402 0.00898734 0.00902568 +0.0100987 0.0128397 0.0199895 0.0588157 0.170878 0.0283136 0.0177099 +0.0144147 0.0135598 0.0142811 0.0168171 0.0227467 0.0389345 0.201443 +0.150501 0.0471562 0.0340151 0.030779 0.0322065 0.0382515 0.052072 +0.0846422 0.183278 0.616544 0.612187 0.603043 0.188199 0.094625 0.063099 +0.0507729 0.0481176 0.0552029 0.0904649 0.322808 0.0791491 0.0359532 +0.0237651 0.018658 0.01655 0.0163998 0.0184172 0.0248969 0.0541321 +0.19984 0.0327517 0.0173968 0.0125126 0.0104904 0.00985842 0.0103285 +0.0123283 0.0181867 0.0572036 0.134993 0.0191479 0.0113277 0.0086058 +0.0075206 0.00733781 0.00799316 0.010015 0.0161167 0.115359 0.0446975 +0.0132422 0.00850119 0.00674889 0.00610107 0.00614377 0.00692875 0.00910461 +0.0162556 0.118715 0.0243339 0.0102039 0.00699561 0.00576965 0.00537685 +0.0055759 0.00650601 0.00899694 0.0184636 0.110856 0.0169325 0.00852967 +0.00617906 0.00527504 0.00505865 0.00539898 0.00652471 0.00955891 0.024361 +0.104953 0.013398 0.00763635 0.00580279 0.00511558 0.00504427 0.00554273 +0.00695436 0.0109067 0.0462873 0.086433 0.011653 0.00728604 0.00577868 +0.00525349 0.00532656 0.00603315 0.00788816 0.0134568 0.106014 0.0315067 +0.0110151 0.00741935 0.00612216 0.0057374 0.00598662 0.0070048 0.00959561 +0.0182683 0.126354 0.0245528 0.0113357 0.00813662 0.00697596 0.00674539 +0.007259 0.00880657 0.0127406 0.0283239 0.145637 0.0236909 0.0129192 +0.0098316 0.00877063 0.00878074 0.00979271 0.0124017 0.0191884 0.0548909 +0.16905 0.0276612 0.0171343 0.013868 0.0129829 0.0136076 0.0159393 +0.0214221 0.0363253 0.184143 0.152485 0.0442045 0.0314024 0.0280213 +0.0288594 0.0336058 0.0445705 0.0699074 0.144894 0.534604 0.410064 +0.507428; +#X coords 0 1 8819 -1 300 100 1; +#X restore 365 698 graph; +#X obj 232 768 t f b; +#X obj 246 823 count 8820; +#X obj 209 848 tabwrite score; +#X text 56 47 if the two signals are of identical values then the output +is a 1 If they differ by the window value set by the third inlet then +the output is 0.5.; +#X text 56 138 the third outlet is an overall score for each signal +vector block. divide by the blocksize to get the average for each block. +; +#X text 253 708 divide by; +#X text 254 719 blocksize; +#X connect 0 0 13 0; +#X connect 0 1 17 0; +#X connect 1 0 0 0; +#X connect 2 0 0 1; +#X connect 3 0 4 0; +#X connect 4 0 1 0; +#X connect 4 0 9 0; +#X connect 5 0 6 0; +#X connect 6 0 2 0; +#X connect 6 0 10 0; +#X connect 7 0 8 0; +#X connect 8 0 0 2; +#X connect 8 0 11 0; +#X connect 10 0 19 0; +#X connect 13 0 14 0; +#X connect 17 0 15 0; +#X connect 18 0 17 0; +#X connect 19 0 18 0; +#X connect 21 0 31 0; +#X connect 21 0 36 0; +#X connect 21 0 46 0; +#X connect 22 0 24 0; +#X connect 22 0 21 0; +#X connect 23 0 22 0; +#X connect 24 0 25 0; +#X connect 25 0 36 0; +#X connect 25 0 47 0; +#X connect 25 0 31 1; +#X connect 26 0 27 0; +#X connect 27 0 28 0; +#X connect 28 0 24 1; +#X connect 29 0 25 1; +#X connect 29 0 21 1; +#X connect 31 0 36 1; +#X connect 31 1 36 2; +#X connect 31 2 55 0; +#X connect 32 0 33 0; +#X connect 33 0 34 0; +#X connect 34 0 31 2; +#X connect 36 0 41 0; +#X connect 36 0 41 1; +#X connect 36 1 46 0; +#X connect 36 1 47 0; +#X connect 37 0 36 3; +#X connect 39 0 36 5; +#X connect 40 0 36 4; +#X connect 48 0 49 0; +#X connect 50 0 51 0; +#X connect 52 0 29 0; +#X connect 52 0 36 6; +#X connect 53 0 54 0; +#X connect 54 0 28 0; +#X connect 55 0 56 0; +#X connect 56 0 57 0; +#X connect 57 0 59 0; +#X connect 59 0 61 0; +#X connect 59 1 60 0; +#X connect 60 0 61 1; diff --git a/simile~.c b/simile~.c new file mode 100644 index 0000000..4bf456a --- /dev/null +++ b/simile~.c @@ -0,0 +1,84 @@ +/* + * simile~ : windowed similarity comparison for signals + * Copyright (C) 2005 edward kelly + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include "m_pd.h" + +static t_class *simile_tilde_class; + +typedef struct _simile_tilde { + t_object x_obj; + t_sample f_win; + t_float x_dummy; + t_outlet *f_frame; +} t_simile_tilde; + +t_int *simile_tilde_perform(t_int *w) { + t_simile_tilde *x = (t_simile_tilde *)(w[1]); + t_sample *in1 = (t_sample *)(w[2]); + t_sample *in2 = (t_sample *)(w[3]); + t_sample *out = (t_sample *)(w[4]); + t_sample *sign = (t_sample *)(w[5]); + int n = (int)(w[6]); + + t_sample f_win = x->f_win > 0 ? x->f_win : 0.01; + t_float f_accum = 0; + while (n--) { + float i1=(*in1++); + float i2=(*in2++); + float win = x->f_win > 0 ? x->f_win : 0.001; + float min = i1 > i2 ? i1 - i2 : i2 - i1; + f_accum += *out++ = 1/((min/win)+1); + *sign++ = i1 >= i2 ? 1 : -1; + } + outlet_float(x->f_frame, f_accum); + return (w+7); +} + +void simile_tilde_dsp(t_simile_tilde *x, t_signal **sp) { + dsp_add(simile_tilde_perform, 6, x, + sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[3]->s_vec, sp[0]->s_n); +} + +void *simile_tilde_new(t_floatarg f) { + t_simile_tilde *x = (t_simile_tilde *)pd_new(simile_tilde_class); + + x->f_win = f > 0 ? f : 0.01; /* window defaults to 0.01 if no argument given */ + + inlet_new (&x->x_obj, &x->x_obj.ob_pd, &s_signal, &s_signal); + floatinlet_new (&x->x_obj, &x->f_win); + outlet_new(&x->x_obj, &s_signal); + outlet_new(&x->x_obj, &s_signal); + x->f_frame = outlet_new(&x->x_obj, gensym("float")); + return (void *)x; +} + +void simile_tilde_setup(void) { + simile_tilde_class = class_new(gensym("simile~"), + (t_newmethod)simile_tilde_new, + 0, sizeof(t_simile_tilde), + CLASS_DEFAULT, A_DEFFLOAT, 0); + + post("|~~~~~~~~~~~~&simile~&~~~~~~~~~~~~~~|"); + post("|~&weighted similarity measurement&~|"); + post("|~~&edward&~~~~~&kelly&~~~~~&2005&~~|"); + + + class_addmethod(simile_tilde_class, + (t_method)simile_tilde_dsp, gensym("dsp"), 0); + CLASS_MAINSIGNALIN(simile_tilde_class, t_simile_tilde, x_dummy); +} diff --git a/simile~/m_pd.h b/simile~/m_pd.h deleted file mode 100644 index fc9d6ab..0000000 --- a/simile~/m_pd.h +++ /dev/null @@ -1,635 +0,0 @@ -/* Copyright (c) 1997-1999 Miller Puckette. -* For information on usage and redistribution, and for a DISCLAIMER OF ALL -* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */ - -#ifndef __m_pd_h_ - -#if defined(_LANGUAGE_C_PLUS_PLUS) || defined(__cplusplus) -extern "C" { -#endif - -#define PD_MAJOR_VERSION 0 -#define PD_MINOR_VERSION 38 - -/* old name for "MSW" flag -- we have to take it for the sake of many old -"nmakefiles" for externs, which will define NT and not MSW */ -#if defined(NT) && !defined(MSW) -#define MSW -#endif - -#ifdef MSW -/* #pragma warning( disable : 4091 ) */ -#pragma warning( disable : 4305 ) /* uncast const double to float */ -#pragma warning( disable : 4244 ) /* uncast float/int conversion etc. */ -#pragma warning( disable : 4101 ) /* unused automatic variables */ -#endif /* MSW */ - - /* the external storage class is "extern" in UNIX; in MSW it's ugly. */ -#ifdef MSW -#ifdef PD_INTERNAL -#define EXTERN __declspec(dllexport) extern -#else -#define EXTERN __declspec(dllimport) extern -#endif /* PD_INTERNAL */ -#else -#define EXTERN extern -#endif /* MSW */ - - /* and depending on the compiler, hidden data structures are - declared differently: */ -#if defined( __GNUC__) || defined( __BORLANDC__ ) || defined( __MWERKS__ ) -#define EXTERN_STRUCT struct -#else -#define EXTERN_STRUCT extern struct -#endif - - -#if !defined(_SIZE_T) && !defined(_SIZE_T_) -#include /* just for size_t -- how lame! */ -#endif - -#define MAXPDSTRING 1000 /* use this for anything you want */ -#define MAXPDARG 5 /* max number of args we can typecheck today */ - -/* signed and unsigned integer types the size of a pointer: */ -/* GG: long is the size of a pointer */ -typedef long t_int; - -typedef float t_float; /* a floating-point number at most the same size */ -typedef float t_floatarg; /* floating-point type for function calls */ - -typedef struct _symbol -{ - char *s_name; - struct _class **s_thing; - struct _symbol *s_next; -} t_symbol; - -EXTERN_STRUCT _array; -#define t_array struct _array /* g_canvas.h */ - -/* pointers to glist and array elements go through a "stub" which sticks -around after the glist or array is freed. The stub itself is deleted when -both the glist/array is gone and the refcount is zero, ensuring that no -gpointers are pointing here. */ - -#define GP_NONE 0 /* the stub points nowhere (has been cut off) */ -#define GP_GLIST 1 /* the stub points to a glist element */ -#define GP_ARRAY 2 /* ... or array */ - -typedef struct _gstub -{ - union - { - struct _glist *gs_glist; /* glist we're in */ - struct _array *gs_array; /* array we're in */ - } gs_un; - int gs_which; /* GP_GLIST/GP_ARRAY */ - int gs_refcount; /* number of gpointers pointing here */ -} t_gstub; - -typedef struct _gpointer /* pointer to a gobj in a glist */ -{ - union - { - struct _scalar *gp_scalar; /* scalar we're in (if glist) */ - union word *gp_w; /* raw data (if array) */ - } gp_un; - int gp_valid; /* number which must match gpointee */ - t_gstub *gp_stub; /* stub which points to glist/array */ -} t_gpointer; - -typedef union word -{ - t_float w_float; - t_symbol *w_symbol; - t_gpointer *w_gpointer; - t_array *w_array; - struct _glist *w_list; - int w_index; -} t_word; - -typedef enum -{ - A_NULL, - A_FLOAT, - A_SYMBOL, - A_POINTER, - A_SEMI, - A_COMMA, - A_DEFFLOAT, - A_DEFSYM, - A_DOLLAR, - A_DOLLSYM, - A_GIMME, - A_CANT -} t_atomtype; - -#define A_DEFSYMBOL A_DEFSYM /* better name for this */ - -typedef struct _atom -{ - t_atomtype a_type; - union word a_w; -} t_atom; - -EXTERN_STRUCT _class; -#define t_class struct _class - -EXTERN_STRUCT _outlet; -#define t_outlet struct _outlet - -EXTERN_STRUCT _inlet; -#define t_inlet struct _inlet - -EXTERN_STRUCT _binbuf; -#define t_binbuf struct _binbuf - -EXTERN_STRUCT _clock; -#define t_clock struct _clock - -EXTERN_STRUCT _outconnect; -#define t_outconnect struct _outconnect - -EXTERN_STRUCT _glist; -#define t_glist struct _glist -#define t_canvas struct _glist /* LATER lose this */ - -typedef t_class *t_pd; /* pure datum: nothing but a class pointer */ - -typedef struct _gobj /* a graphical object */ -{ - t_pd g_pd; /* pure datum header (class) */ - struct _gobj *g_next; /* next in list */ -} t_gobj; - -typedef struct _scalar /* a graphical object holding data */ -{ - t_gobj sc_gobj; /* header for graphical object */ - t_symbol *sc_template; /* template name (LATER replace with pointer) */ - t_word sc_vec[1]; /* indeterminate-length array of words */ -} t_scalar; - -typedef struct _text /* patchable object - graphical, with text */ -{ - t_gobj te_g; /* header for graphical object */ - t_binbuf *te_binbuf; /* holder for the text */ - t_outlet *te_outlet; /* linked list of outlets */ - t_inlet *te_inlet; /* linked list of inlets */ - short te_xpix; /* x&y location (within the toplevel) */ - short te_ypix; - short te_width; /* requested width in chars, 0 if auto */ - unsigned int te_type:2; /* from defs below */ -} t_text; - -#define T_TEXT 0 /* just a textual comment */ -#define T_OBJECT 1 /* a MAX style patchable object */ -#define T_MESSAGE 2 /* a MAX stype message */ -#define T_ATOM 3 /* a cell to display a number or symbol */ - -#define te_pd te_g.g_pd - - /* t_object is synonym for t_text (LATER unify them) */ - -typedef struct _text t_object; - -#define ob_outlet te_outlet -#define ob_inlet te_inlet -#define ob_binbuf te_binbuf -#define ob_pd te_g.g_pd -#define ob_g te_g - -typedef void (*t_method)(void); -typedef void *(*t_newmethod)( void); -typedef void (*t_gotfn)(void *x, ...); - -/* ---------------- pre-defined objects and symbols --------------*/ -EXTERN t_pd pd_objectmaker; /* factory for creating "object" boxes */ -EXTERN t_pd pd_canvasmaker; /* factory for creating canvases */ -EXTERN t_symbol s_pointer; -EXTERN t_symbol s_float; -EXTERN t_symbol s_symbol; -EXTERN t_symbol s_bang; -EXTERN t_symbol s_list; -EXTERN t_symbol s_anything; -EXTERN t_symbol s_signal; -EXTERN t_symbol s__N; -EXTERN t_symbol s__X; -EXTERN t_symbol s_x; -EXTERN t_symbol s_y; -EXTERN t_symbol s_; - -/* --------- prototypes from the central message system ----------- */ -EXTERN void pd_typedmess(t_pd *x, t_symbol *s, int argc, t_atom *argv); -EXTERN void pd_forwardmess(t_pd *x, int argc, t_atom *argv); -EXTERN t_symbol *gensym(char *s); -EXTERN t_gotfn getfn(t_pd *x, t_symbol *s); -EXTERN t_gotfn zgetfn(t_pd *x, t_symbol *s); -EXTERN void nullfn(void); -EXTERN void pd_vmess(t_pd *x, t_symbol *s, char *fmt, ...); -#define mess0(x, s) ((*getfn((x), (s)))((x))) -#define mess1(x, s, a) ((*getfn((x), (s)))((x), (a))) -#define mess2(x, s, a,b) ((*getfn((x), (s)))((x), (a),(b))) -#define mess3(x, s, a,b,c) ((*getfn((x), (s)))((x), (a),(b),(c))) -#define mess4(x, s, a,b,c,d) ((*getfn((x), (s)))((x), (a),(b),(c),(d))) -#define mess5(x, s, a,b,c,d,e) ((*getfn((x), (s)))((x), (a),(b),(c),(d),(e))) -EXTERN void obj_list(t_object *x, t_symbol *s, int argc, t_atom *argv); -EXTERN t_pd *pd_newest(void); - -/* --------------- memory management -------------------- */ -EXTERN void *getbytes(size_t nbytes); -EXTERN void *getzbytes(size_t nbytes); -EXTERN void *copybytes(void *src, size_t nbytes); -EXTERN void freebytes(void *x, size_t nbytes); -EXTERN void *resizebytes(void *x, size_t oldsize, size_t newsize); - -/* -------------------- atoms ----------------------------- */ - -#define SETSEMI(atom) ((atom)->a_type = A_SEMI, (atom)->a_w.w_index = 0) -#define SETCOMMA(atom) ((atom)->a_type = A_COMMA, (atom)->a_w.w_index = 0) -#define SETPOINTER(atom, gp) ((atom)->a_type = A_POINTER, \ - (atom)->a_w.w_gpointer = (gp)) -#define SETFLOAT(atom, f) ((atom)->a_type = A_FLOAT, (atom)->a_w.w_float = (f)) -#define SETSYMBOL(atom, s) ((atom)->a_type = A_SYMBOL, \ - (atom)->a_w.w_symbol = (s)) -#define SETDOLLAR(atom, n) ((atom)->a_type = A_DOLLAR, \ - (atom)->a_w.w_index = (n)) -#define SETDOLLSYM(atom, s) ((atom)->a_type = A_DOLLSYM, \ - (atom)->a_w.w_symbol= (s)) - -EXTERN t_float atom_getfloat(t_atom *a); -EXTERN t_int atom_getint(t_atom *a); -EXTERN t_symbol *atom_getsymbol(t_atom *a); -EXTERN t_symbol *atom_gensym(t_atom *a); -EXTERN t_float atom_getfloatarg(int which, int argc, t_atom *argv); -EXTERN t_int atom_getintarg(int which, int argc, t_atom *argv); -EXTERN t_symbol *atom_getsymbolarg(int which, int argc, t_atom *argv); - -EXTERN void atom_string(t_atom *a, char *buf, unsigned int bufsize); - -/* ------------------ binbufs --------------- */ - -EXTERN t_binbuf *binbuf_new(void); -EXTERN void binbuf_free(t_binbuf *x); -EXTERN t_binbuf *binbuf_duplicate(t_binbuf *y); - -EXTERN void binbuf_text(t_binbuf *x, char *text, size_t size); -EXTERN void binbuf_gettext(t_binbuf *x, char **bufp, int *lengthp); -EXTERN void binbuf_clear(t_binbuf *x); -EXTERN void binbuf_add(t_binbuf *x, int argc, t_atom *argv); -EXTERN void binbuf_addv(t_binbuf *x, char *fmt, ...); -EXTERN void binbuf_addbinbuf(t_binbuf *x, t_binbuf *y); -EXTERN void binbuf_addsemi(t_binbuf *x); -EXTERN void binbuf_restore(t_binbuf *x, int argc, t_atom *argv); -EXTERN void binbuf_print(t_binbuf *x); -EXTERN int binbuf_getnatom(t_binbuf *x); -EXTERN t_atom *binbuf_getvec(t_binbuf *x); -EXTERN void binbuf_eval(t_binbuf *x, t_pd *target, int argc, t_atom *argv); -EXTERN int binbuf_read(t_binbuf *b, char *filename, char *dirname, - int crflag); -EXTERN int binbuf_read_via_path(t_binbuf *b, char *filename, char *dirname, - int crflag); -EXTERN int binbuf_write(t_binbuf *x, char *filename, char *dir, - int crflag); -EXTERN void binbuf_evalfile(t_symbol *name, t_symbol *dir); -EXTERN t_symbol *binbuf_realizedollsym(t_symbol *s, int ac, t_atom *av, - int tonew); - -/* ------------------ clocks --------------- */ - -EXTERN t_clock *clock_new(void *owner, t_method fn); -EXTERN void clock_set(t_clock *x, double systime); -EXTERN void clock_delay(t_clock *x, double delaytime); -EXTERN void clock_unset(t_clock *x); -EXTERN double clock_getlogicaltime(void); -EXTERN double clock_getsystime(void); /* OBSOLETE; use clock_getlogicaltime() */ -EXTERN double clock_gettimesince(double prevsystime); -EXTERN double clock_getsystimeafter(double delaytime); -EXTERN void clock_free(t_clock *x); - -/* ----------------- pure data ---------------- */ -EXTERN t_pd *pd_new(t_class *cls); -EXTERN void pd_free(t_pd *x); -EXTERN void pd_bind(t_pd *x, t_symbol *s); -EXTERN void pd_unbind(t_pd *x, t_symbol *s); -EXTERN t_pd *pd_findbyclass(t_symbol *s, t_class *c); -EXTERN void pd_pushsym(t_pd *x); -EXTERN void pd_popsym(t_pd *x); -EXTERN t_symbol *pd_getfilename(void); -EXTERN t_symbol *pd_getdirname(void); -EXTERN void pd_bang(t_pd *x); -EXTERN void pd_pointer(t_pd *x, t_gpointer *gp); -EXTERN void pd_float(t_pd *x, t_float f); -EXTERN void pd_symbol(t_pd *x, t_symbol *s); -EXTERN void pd_list(t_pd *x, t_symbol *s, int argc, t_atom *argv); -EXTERN void pd_anything(t_pd *x, t_symbol *s, int argc, t_atom *argv); -#define pd_class(x) (*(x)) - -/* ----------------- pointers ---------------- */ -EXTERN void gpointer_init(t_gpointer *gp); -EXTERN void gpointer_copy(const t_gpointer *gpfrom, t_gpointer *gpto); -EXTERN void gpointer_unset(t_gpointer *gp); -EXTERN int gpointer_check(const t_gpointer *gp, int headok); - -/* ----------------- patchable "objects" -------------- */ -EXTERN t_inlet *inlet_new(t_object *owner, t_pd *dest, t_symbol *s1, - t_symbol *s2); -EXTERN t_inlet *pointerinlet_new(t_object *owner, t_gpointer *gp); -EXTERN t_inlet *floatinlet_new(t_object *owner, t_float *fp); -EXTERN t_inlet *symbolinlet_new(t_object *owner, t_symbol **sp); -EXTERN void inlet_free(t_inlet *x); - -EXTERN t_outlet *outlet_new(t_object *owner, t_symbol *s); -EXTERN void outlet_bang(t_outlet *x); -EXTERN void outlet_pointer(t_outlet *x, t_gpointer *gp); -EXTERN void outlet_float(t_outlet *x, t_float f); -EXTERN void outlet_symbol(t_outlet *x, t_symbol *s); -EXTERN void outlet_list(t_outlet *x, t_symbol *s, int argc, t_atom *argv); -EXTERN void outlet_anything(t_outlet *x, t_symbol *s, int argc, t_atom *argv); -EXTERN t_symbol *outlet_getsymbol(t_outlet *x); -EXTERN void outlet_free(t_outlet *x); -EXTERN t_object *pd_checkobject(t_pd *x); - - -/* -------------------- canvases -------------- */ - -EXTERN void glob_setfilename(void *dummy, t_symbol *name, t_symbol *dir); - -EXTERN void canvas_setargs(int argc, t_atom *argv); -EXTERN void canvas_getargs(int *argcp, t_atom **argvp); -EXTERN t_symbol *canvas_getcurrentdir(void); -EXTERN t_glist *canvas_getcurrent(void); -EXTERN void canvas_makefilename(t_glist *c, char *file, - char *result,int resultsize); -EXTERN t_symbol *canvas_getdir(t_glist *x); -EXTERN int sys_fontwidth(int fontsize); -EXTERN int sys_fontheight(int fontsize); -EXTERN void canvas_dataproperties(t_glist *x, t_scalar *sc, t_binbuf *b); - -/* ---------------- widget behaviors ---------------------- */ - -EXTERN_STRUCT _widgetbehavior; -#define t_widgetbehavior struct _widgetbehavior - -EXTERN_STRUCT _parentwidgetbehavior; -#define t_parentwidgetbehavior struct _parentwidgetbehavior -EXTERN t_parentwidgetbehavior *pd_getparentwidget(t_pd *x); - -/* -------------------- classes -------------- */ - -#define CLASS_DEFAULT 0 /* flags for new classes below */ -#define CLASS_PD 1 -#define CLASS_GOBJ 2 -#define CLASS_PATCHABLE 3 -#define CLASS_NOINLET 8 - -#define CLASS_TYPEMASK 3 - - -EXTERN t_class *class_new(t_symbol *name, t_newmethod newmethod, - t_method freemethod, size_t size, int flags, t_atomtype arg1, ...); -EXTERN void class_addcreator(t_newmethod newmethod, t_symbol *s, - t_atomtype type1, ...); -EXTERN void class_addmethod(t_class *c, t_method fn, t_symbol *sel, - t_atomtype arg1, ...); -EXTERN void class_addbang(t_class *c, t_method fn); -EXTERN void class_addpointer(t_class *c, t_method fn); -EXTERN void class_doaddfloat(t_class *c, t_method fn); -EXTERN void class_addsymbol(t_class *c, t_method fn); -EXTERN void class_addlist(t_class *c, t_method fn); -EXTERN void class_addanything(t_class *c, t_method fn); -EXTERN void class_sethelpsymbol(t_class *c, t_symbol *s); -EXTERN void class_setwidget(t_class *c, t_widgetbehavior *w); -EXTERN void class_setparentwidget(t_class *c, t_parentwidgetbehavior *w); -EXTERN t_parentwidgetbehavior *class_parentwidget(t_class *c); -EXTERN char *class_getname(t_class *c); -EXTERN char *class_gethelpname(t_class *c); -EXTERN void class_setdrawcommand(t_class *c); -EXTERN int class_isdrawcommand(t_class *c); -EXTERN void class_domainsignalin(t_class *c, int onset); -#define CLASS_MAINSIGNALIN(c, type, field) \ - class_domainsignalin(c, (char *)(&((type *)0)->field) - (char *)0) - - /* prototype for functions to save Pd's to a binbuf */ -typedef void (*t_savefn)(t_gobj *x, t_binbuf *b); -EXTERN void class_setsavefn(t_class *c, t_savefn f); -EXTERN t_savefn class_getsavefn(t_class *c); - /* prototype for functions to open properties dialogs */ -typedef void (*t_propertiesfn)(t_gobj *x, struct _glist *glist); -EXTERN void class_setpropertiesfn(t_class *c, t_propertiesfn f); -EXTERN t_propertiesfn class_getpropertiesfn(t_class *c); - -#ifndef PD_CLASS_DEF -#define class_addbang(x, y) class_addbang((x), (t_method)(y)) -#define class_addpointer(x, y) class_addpointer((x), (t_method)(y)) -#define class_addfloat(x, y) class_doaddfloat((x), (t_method)(y)) -#define class_addsymbol(x, y) class_addsymbol((x), (t_method)(y)) -#define class_addlist(x, y) class_addlist((x), (t_method)(y)) -#define class_addanything(x, y) class_addanything((x), (t_method)(y)) -#endif - -/* ------------ printing --------------------------------- */ -EXTERN void post(const char *fmt, ...); -EXTERN void startpost(const char *fmt, ...); -EXTERN void poststring(const char *s); -EXTERN void postfloat(float f); -EXTERN void postatom(int argc, t_atom *argv); -EXTERN void endpost(void); -EXTERN void error(const char *fmt, ...); -EXTERN void bug(const char *fmt, ...); -EXTERN void pd_error(void *object, const char *fmt, ...); -EXTERN void sys_logerror(const char *object, const char *s); -EXTERN void sys_unixerror(const char *object); -EXTERN void sys_ouch(void); - - -/* ------------ system interface routines ------------------- */ -EXTERN int sys_isreadablefile(const char *name); -EXTERN void sys_bashfilename(const char *from, char *to); -EXTERN void sys_unbashfilename(const char *from, char *to); -EXTERN int open_via_path(const char *name, const char *ext, const char *dir, - char *dirresult, char **nameresult, unsigned int size, int bin); -EXTERN int sched_geteventno(void); -EXTERN double sys_getrealtime(void); -EXTERN int (*sys_idlehook)(void); /* hook to add idle time computation */ - - -/* ------------ threading ------------------- */ -/* T.Grill - see m_sched.c */ - -EXTERN void sys_lock(void); -EXTERN void sys_unlock(void); -EXTERN int sys_trylock(void); - - -/* --------------- signals ----------------------------------- */ - -typedef float t_sample; -#define MAXLOGSIG 32 -#define MAXSIGSIZE (1 << MAXLOGSIG) - -typedef struct _signal -{ - int s_n; /* number of points in the array */ - t_sample *s_vec; /* the array */ - float s_sr; /* sample rate */ - int s_refcount; /* number of times used */ - int s_isborrowed; /* whether we're going to borrow our array */ - struct _signal *s_borrowedfrom; /* signal to borrow it from */ - struct _signal *s_nextfree; /* next in freelist */ - struct _signal *s_nextused; /* next in used list */ -} t_signal; - - -typedef t_int *(*t_perfroutine)(t_int *args); - -EXTERN t_int *plus_perform(t_int *args); -EXTERN t_int *zero_perform(t_int *args); -EXTERN t_int *copy_perform(t_int *args); - -EXTERN void dsp_add_plus(t_sample *in1, t_sample *in2, t_sample *out, int n); -EXTERN void dsp_add_copy(t_sample *in, t_sample *out, int n); -EXTERN void dsp_add_scalarcopy(t_sample *in, t_sample *out, int n); -EXTERN void dsp_add_zero(t_sample *out, int n); - -EXTERN int sys_getblksize(void); -EXTERN float sys_getsr(void); -EXTERN int sys_get_inchannels(void); -EXTERN int sys_get_outchannels(void); - -EXTERN void dsp_add(t_perfroutine f, int n, ...); -EXTERN void dsp_addv(t_perfroutine f, int n, t_int *vec); -EXTERN void pd_fft(float *buf, int npoints, int inverse); -EXTERN int ilog2(int n); - -EXTERN void mayer_fht(float *fz, int n); -EXTERN void mayer_fft(int n, float *real, float *imag); -EXTERN void mayer_ifft(int n, float *real, float *imag); -EXTERN void mayer_realfft(int n, float *real); -EXTERN void mayer_realifft(int n, float *real); - -EXTERN float *cos_table; -#define LOGCOSTABSIZE 9 -#define COSTABSIZE (1<= in2 then the sign is 1 \, if in1 < in2 then the sign is -1 may be -useful for phase-locked loops and other self-calibrating machines... -; -#X obj 75 549 osc~; -#X obj 75 488 mtof; -#X floatatom 75 442 5 0 0 2 pitch #0-sim-2-pch -; -#N canvas 0 0 450 300 math 0; -#X obj 72 73 inlet; -#X obj 179 156 +; -#X obj 181 110 t b f; -#X obj 237 61 inlet; -#X obj 178 183 outlet; -#X connect 0 0 1 0; -#X connect 1 0 4 0; -#X connect 2 0 1 0; -#X connect 2 1 1 1; -#X connect 3 0 2 0; -#X restore 75 509 pd math; -#X obj 125 550 osc~; -#X floatatom 119 460 5 0 0 0 - #0-sim-2-modf -; -#X obj 119 474 / 10; -#X floatatom 119 491 5 0 0 1 mod-frequency - -; -#X msg 160 521 0; -#X text 190 521 <-- reset phase; -#X obj 75 606 simile~; -#X floatatom 172 560 5 0 0 2 - #0-sim-2-win -; -#X obj 172 574 * 0.01; -#X floatatom 172 591 5 0 0 3 window - -; -#X text 214 606 /soften; -#N canvas 0 0 488 300 output 0; -#X obj 77 68 inlet~; -#X obj 121 68 inlet~; -#X obj 211 103 inlet; -#X obj 211 120 hradio 15 1 0 3 empty empty empty 0 -6 0 8 -262144 -1 --1 0; -#X msg 274 103 0; -#X obj 274 86 loadbang; -#X obj 46 135 mux~ . . .; -#X obj 301 179 dbtorms; -#X obj 301 131 inlet; -#X obj 389 90 inlet; -#X floatatom 301 148 5 0 0 0 - - -; -#X obj 47 196 *~ 0; -#X obj 33 68 inlet~; -#X obj 301 162 * 1; -#X obj 371 163 t b f; -#X obj 389 141 -; -#X msg 389 124 1; -#X obj 389 107 t b f; -#X obj 47 213 outlet~; -#X text 155 86 sine~/sim~/sign~; -#X text 36 53 sine~; -#X text 84 53 sim~; -#X text 127 53 sign~; -#X text 298 116 volume; -#X text 393 61 mute; -#X text 394 73 tog; -#X obj 154 263 tabwrite~ sim; -#X obj 249 234 tabwrite~ sign; -#X obj 141 140 r metro; -#X obj 182 228 outlet; -#X obj 46 160 hip~ 18; -#X obj 141 163 metro 1000; -#X obj 443 89 inlet; -#X connect 0 0 6 1; -#X connect 0 0 26 0; -#X connect 1 0 6 2; -#X connect 1 0 27 0; -#X connect 2 0 3 0; -#X connect 3 0 6 0; -#X connect 4 0 3 0; -#X connect 5 0 4 0; -#X connect 6 0 30 0; -#X connect 7 0 11 1; -#X connect 8 0 10 0; -#X connect 9 0 17 0; -#X connect 10 0 13 0; -#X connect 11 0 18 0; -#X connect 12 0 6 0; -#X connect 13 0 7 0; -#X connect 14 0 13 0; -#X connect 14 1 13 1; -#X connect 15 0 14 0; -#X connect 16 0 15 0; -#X connect 17 0 16 0; -#X connect 17 1 15 1; -#X connect 28 0 31 0; -#X connect 30 0 11 0; -#X connect 31 0 26 0; -#X connect 31 0 27 0; -#X connect 31 0 29 0; -#X connect 32 0 29 0; -#X connect 32 0 27 0; -#X connect 32 0 26 0; -#X restore 82 662 pd output; -#X obj 156 647 hradio 15 1 0 3 empty empty empty 0 -6 0 8 -262144 -1 --1 0; -#X text 129 632 sine~/sim~/sign~; -#X obj 310 647 tgl 15 0 empty empty mute 0 -6 0 8 -262144 -1 -1 0 1 -; -#X floatatom 259 648 5 0 100 2 volume - -; -#X obj 82 689 dac~; -#X text 157 621 output~; -#N canvas 0 0 450 300 graph2 0; -#X array sim 8820 float 1; -#A 0 0.00893242 0.00894733 0.0089625 0.00897789 0.00899362 0.0090096 -0.00902575 0.00904234 0.0090591 0.00907611 0.00909355 0.00911105 0.00912905 -0.00914723 0.00916564 0.00918451 0.00920349 0.0092229 0.00924256 0.00926244 -0.00928279 0.00930335 0.00932418 0.00934543 0.00936688 0.0093887 0.0094109 -0.00943323 0.00945616 0.00947923 0.00950266 0.00952652 0.00955052 0.00957509 -0.00959988 0.00962498 0.00965059 0.00967642 0.00970266 0.0097293 0.00975616 -0.00978357 0.0098113 0.00983931 0.0098679 0.00989669 0.00992598 0.00995568 -0.00998558 0.0100162 0.010047 0.0100783 0.0101101 0.0101421 0.0101748 -0.0102078 0.0102411 0.0102752 0.0103095 0.0103443 0.0103796 0.0104152 -0.0104516 0.0104883 0.0105253 0.0105632 0.0106013 0.01064 0.0106793 -0.0107188 0.0107593 0.0108 0.0108413 0.0108833 0.0109257 0.0109688 -0.0110124 0.0110564 0.0111014 0.0111467 0.0111926 0.0112393 0.0112865 -0.0113344 0.011383 0.011432 0.011482 0.0115324 0.0115836 0.0116357 -0.0116881 0.0117416 0.0117956 0.0118503 0.0119061 0.0119623 0.0120195 -0.0120774 0.0121359 0.0121957 0.012256 0.0123171 0.0123794 0.0124422 -0.0125062 0.012571 0.0126364 0.0127034 0.0127709 0.0128394 0.0129091 -0.0129795 0.0130513 0.0131239 0.0131975 0.0132725 0.0133484 0.0134254 -0.0135038 0.0135829 0.0136637 0.0137456 0.0138284 0.0139131 0.0139985 -0.0140855 0.0141739 0.0142633 0.0143548 0.0144472 0.0145412 0.0146368 -0.0147336 0.0148323 0.0149326 0.0150341 0.0151379 0.0152431 0.0153499 -0.0154589 0.0155691 0.0156818 0.0157961 0.0159121 0.0160308 0.0161509 -0.0162735 0.0163981 0.0165245 0.0166539 0.0167852 0.0169187 0.0170551 -0.0171936 0.0173347 0.0174789 0.0176246 0.0177745 0.0179265 0.0180812 -0.0182397 0.0184001 0.0185649 0.0187321 0.0189025 0.0190772 0.0192547 -0.0194361 0.0196213 0.01981 0.020003 0.0202003 0.0204007 0.0206069 -0.0208165 0.0210311 0.0212509 0.0214742 0.0217046 0.0219386 0.0221784 -0.0224243 0.0226752 0.0229329 0.0231963 0.0234657 0.0237427 0.0240263 -0.0243162 0.0246148 0.0249196 0.0252335 0.0255557 0.0258847 0.0262257 -0.026573 0.0269316 0.0273 0.0276776 0.0280683 0.0284688 0.0288815 0.0293069 -0.029745 0.0301961 0.0306627 0.0311415 0.0316389 0.0321515 0.0326793 -0.0332291 0.0337926 0.0343799 0.0349862 0.0356129 0.0362669 0.0369418 -0.0376445 0.0383733 0.0391309 0.0399194 0.0407412 0.0415943 0.0424885 -0.0434195 0.0443909 0.0454121 0.046471 0.0475912 0.04876 0.0499873 -0.0512832 0.0526401 0.0540782 0.0555903 0.0571894 0.0588861 0.0606845 -0.0625917 0.0646282 0.066795 0.0691124 0.0716042 0.0742557 0.0771403 -0.0802336 0.083591 0.0872465 0.0912111 0.0955842 0.100362 0.105652 -0.111527 0.118082 0.12545 0.133801 0.143309 0.15429 0.167104 0.182104 -0.200211 0.222115 0.249506 0.284551 0.330705 0.395374 0.490327 0.646075 -0.945162 0.698785 0.520729 0.415171 0.345346 0.295592 0.258376 0.229665 -0.206586 0.187873 0.172196 0.15898 0.147698 0.137857 0.129328 0.121752 -0.115058 0.10907 0.103665 0.0987912 0.0943595 0.0903153 0.0866047 0.0832065 -0.0800548 0.0771595 0.07445 0.071939 0.0695992 0.067399 0.0653555 0.0634183 -0.0616095 0.0599013 0.0582849 0.0567613 0.0553147 0.0539458 0.0526437 -0.0514088 0.0502291 0.0491113 0.048038 0.0470171 0.0460404 0.0451023 -0.0442118 0.043348 0.0425274 0.041736 0.0409753 0.0402458 0.0395407 -0.0388643 0.0382108 0.0375821 0.0369737 0.0363889 0.0358212 0.0352749 -0.0347452 0.0342316 0.0337382 0.0332551 0.032792 0.0323401 0.0319027 -0.0314794 0.031066 0.0306669 0.0302774 0.0299006 0.0295331 0.0291768 -0.0288291 0.0284921 0.0281627 0.0278418 0.027531 0.0272254 0.0269309 -0.0266412 0.0263599 0.0260858 0.0258168 0.025556 0.0252997 0.0250512 -0.0248075 0.0245699 0.0243373 0.0241105 0.0238883 0.0236709 0.0234593 -0.0232506 0.0230489 0.0228493 0.0226551 0.022465 0.022278 0.0220962 -0.0219165 0.0217422 0.0215705 0.0214025 0.0212378 0.0210765 0.0209182 -0.020763 0.0206112 0.0204613 0.020316 0.0201719 0.0200315 0.0198934 -0.0197575 0.0196251 0.0194937 0.0193662 0.0192401 0.0191168 0.0189955 -0.0188764 0.0187594 0.0186445 0.0185318 0.0184204 0.0183121 0.0182046 -0.0180998 0.0179964 0.0178946 0.0177952 0.0176964 0.0176005 0.0175053 -0.0174123 0.0173206 0.0172304 0.0171419 0.0170546 0.016969 0.0168843 -0.0168018 0.0167199 0.01664 0.0165609 0.0164832 0.0164071 0.0163314 -0.016258 0.0161849 0.0161135 0.0160431 0.0159737 0.0159056 0.0158383 -0.0157724 0.0157071 0.0156435 0.0155803 0.0155186 0.0154575 0.0153974 -0.0153385 0.01528 0.0152232 0.0151665 0.0151113 0.0150568 0.015003 -0.0149503 0.014898 0.014847 0.0147964 0.0147471 0.0146981 0.0146502 -0.0146029 0.0145563 0.0145107 0.0144653 0.0144214 0.0143774 0.0143347 -0.0142924 0.0142509 0.0142101 0.0141697 0.0141303 0.0140911 0.0140531 -0.0140153 0.0139784 0.0139419 0.0139061 0.0138709 0.0138361 0.0138023 -0.0137686 0.0137359 0.0137034 0.0136717 0.0136405 0.0136097 0.0135797 -0.0135498 0.013521 0.0134922 0.0134643 0.0134367 0.0134096 0.0133832 -0.0133569 0.0133316 0.0133063 0.0132818 0.0132576 0.013234 0.0132108 -0.013188 0.0131658 0.0131438 0.0131226 0.0131016 0.0130812 0.0130611 -0.0130414 0.0130223 0.0130033 0.0129852 0.0129671 0.0129497 0.0129325 -0.0129159 0.0128996 0.0128836 0.0128683 0.012853 0.0128385 0.012824 -0.0128102 0.0127967 0.0127835 0.0127708 0.0127583 0.0127464 0.0127346 -0.0127235 0.0127126 0.0127021 0.0126919 0.0126821 0.0126727 0.0126635 -0.012655 0.0126465 0.0126386 0.0126309 0.0126236 0.0126168 0.01261 -0.0126039 0.0125979 0.0125925 0.0125872 0.0125824 0.0125779 0.0125736 -0.0125698 0.0125662 0.0125632 0.0125603 0.0125579 0.0125556 0.0125538 -0.0125524 0.0125511 0.0125504 0.0125498 0.0125497 0.0125498 0.0125503 -0.0125512 0.0125523 0.0125538 0.0125555 0.0125577 0.0125601 0.012563 -0.012566 0.0125695 0.0125733 0.0125773 0.0125819 0.0125864 0.0125917 -0.012597 0.0126027 0.0126089 0.0126152 0.0126219 0.0126289 0.0126363 -0.012644 0.0126521 0.0126604 0.0126691 0.0126781 0.0126874 0.0126972 -0.0127071 0.0127176 0.0127282 0.0127393 0.0127507 0.0127623 0.0127744 -0.0127867 0.0127994 0.0128125 0.012826 0.0128397 0.0128538 0.0128682 -0.012883 0.0128982 0.0129135 0.0129296 0.0129457 0.0129622 0.0129792 -0.0129963 0.0130141 0.013032 0.0130504 0.0130691 0.0130882 0.0131076 -0.0131275 0.0131476 0.0131682 0.0131892 0.0132104 0.0132323 0.0132543 -0.0132768 0.0132997 0.0133228 0.0133467 0.0133706 0.0133951 0.01342 -0.0134452 0.0134709 0.013497 0.0135234 0.0135504 0.0135777 0.0136054 -0.0136337 0.0136621 0.0136913 0.0137208 0.0137506 0.0137811 0.0138118 -0.0138431 0.0138748 0.0139068 0.0139396 0.0139727 0.0140062 0.0140403 -0.0140747 0.0141098 0.0141453 0.0141811 0.0142178 0.0142547 0.0142921 -0.0143302 0.0143685 0.0144077 0.0144473 0.0144872 0.014528 0.014569 -0.0146108 0.0146531 0.0146957 0.0147393 0.0147832 0.0148276 0.0148729 -0.0149184 0.0149648 0.0150117 0.015059 0.0151073 0.015156 0.0152053 -0.0152555 0.0153059 0.0153574 0.0154094 0.0154617 0.0155153 0.0155692 -0.0156239 0.0156794 0.0157352 0.0157922 0.0158497 0.0159079 0.0159671 -0.0160267 0.0160873 0.0161487 0.0162104 0.0162736 0.0163373 0.0164017 -0.0164673 0.0165332 0.0166004 0.0166683 0.0167367 0.0168068 0.0168772 -0.0169487 0.0170212 0.0170943 0.0171687 0.017244 0.0173199 0.0173975 -0.0174756 0.0175548 0.0176354 0.0177161 0.017799 0.0178824 0.0179668 -0.0180529 0.0181394 0.0182277 0.0183169 0.0184069 0.0184989 0.0185917 -0.0186856 0.0187812 0.0188776 0.0189757 0.0190754 0.0191753 0.019278 -0.0193812 0.0194861 0.0195928 0.0197 0.01981 0.0199206 0.0200329 0.0201472 -0.0202627 0.02038 0.0204992 0.0206194 0.0207422 0.0208667 0.0209921 -0.0211206 0.0212498 0.0213817 0.0215155 0.0216502 0.0217889 0.021928 -0.02207 0.022214 0.0223597 0.0225085 0.0226591 0.0228117 0.0229675 -0.0231255 0.0232852 0.0234487 0.0236131 0.0237819 0.0239527 0.0241255 -0.0243029 0.0244812 0.024664 0.024849 0.0250365 0.0252288 0.0254232 -0.0256211 0.0258227 0.0260276 0.0262356 0.0264482 0.0266625 0.0268832 -0.0271064 0.0273333 0.0275661 0.0278002 0.0280417 0.0282856 0.0285339 -0.0287886 0.0290464 0.0293102 0.0295787 0.029852 0.030131 0.030416 -0.0307047 0.0310018 0.0313028 0.0316107 0.0319262 0.0322441 0.0325743 -0.0329072 0.0332484 0.0335979 0.0339527 0.0343181 0.0346895 0.0350694 -0.0354585 0.0358564 0.036262 0.0366794 0.0371035 0.0375403 0.0379879 -0.0384418 0.0389137 0.0393906 0.0398834 0.040388 0.0409021 0.0414358 -0.0419783 0.0425378 0.0431109 0.0436996 0.0443044 0.0449276 0.0455637 -0.0462242 0.0469021 0.0475952 0.0483175 0.0490507 0.0498155 0.0506001 -0.0514058 0.0522468 0.0531054 0.0540001 0.0549187 0.0558691 0.0568552 -0.0578752 0.0589276 0.0600247 0.0611597 0.0623334 0.0635629 0.0648207 -0.0661502 0.0675212 0.068948 0.0704468 0.0719925 0.0736268 0.0753166 -0.077087 0.0789495 0.0808951 0.0829358 0.0850846 0.0873392 0.0897135 -0.0922316 0.0948542 0.0976716 0.100624 0.103767 0.107122 0.110653 0.114485 -0.118522 0.122875 0.127554 0.132578 0.138024 0.143918 0.15031 0.15731 -0.164998 0.173365 0.182732 0.193025 0.204615 0.217664 0.232292 0.249327 -0.268636 0.291391 0.318186 0.350238 0.389674 0.438717 0.501786 0.585899 -0.703889 0.879138 0.871222 0.699759 0.583797 0.501225 0.439634 0.390974 -0.352751 0.320983 0.294725 0.27254 0.253322 0.236814 0.222298 0.209529 -0.198148 0.188014 0.178833 0.170615 0.16305 0.156186 0.149914 0.144077 -0.138793 0.133804 0.129233 0.124969 0.120963 0.117251 0.113741 0.110468 -0.107379 0.104472 0.101719 0.0991339 0.0966643 0.0943363 0.0921241 -0.0900038 0.0880243 0.086093 0.0842822 0.0825413 0.0808728 0.0792905 -0.077755 0.0763003 0.0748954 0.0735514 0.0722566 0.0710163 0.0698163 -0.068668 0.0675562 0.0664795 0.0654574 0.0644504 0.0634955 0.0625621 -0.0616613 0.0607977 0.059947 0.0591365 0.0583424 0.0575795 0.0568371 -0.0561173 0.0554176 0.054742 0.0540814 0.0534384 0.0528216 0.0522114 -0.0516294 0.0510539 0.0504975 0.049959 0.0494262 0.0489165 0.0484117 -0.0479266 0.0474517 0.046987 0.0465348 0.0460943 0.0456632 0.0452417 -0.0448339 0.0444301 0.0440439 0.0436584 0.0432859 0.0429224 0.0425628 -0.0422178 0.0418729 0.0415424 0.0412167 0.0408969 0.0405854 0.0402797 -0.039981 0.0396879 0.0394025 0.03912 0.0388485; -#A 1000 0.0385772 0.0383149 0.0380569 0.0378023 0.0375575 0.0373108 -0.0370753 0.0368415 0.0366126 0.0363891 0.0361683 0.0359532 0.0357415 -0.0355344 0.0353297 0.035132 0.0349348 0.0347439 0.034555 0.034369 -0.0341898 0.0340086 0.0338362 0.0336637 0.0334955 0.0333311 0.0331677 -0.0330091 0.0328521 0.0326991 0.0325476 0.0324007 0.0322545 0.0321131 -0.0319723 0.0318342 0.0317004 0.0315655 0.0314375 0.0313084 0.0311833 -0.0310607 0.0309385 0.0308203 0.0307026 0.0305886 0.0304755 0.0303655 -0.0302564 0.0301506 0.0300453 0.0299423 0.0298421 0.0297414 0.0296461 -0.0295493 0.0294562 0.0293644 0.0292734 0.0291856 0.0290975 0.0290129 -0.0289288 0.0288469 0.0287659 0.0286872 0.0286093 0.0285331 0.0284589 -0.0283844 0.0283143 0.0282427 0.0281744 0.0281067 0.0280401 0.0279759 -0.0279112 0.0278497 0.0277882 0.0277288 0.0276702 0.0276131 0.027557 -0.0275022 0.0274488 0.0273954 0.0273454 0.0272944 0.0272462 0.0271981 -0.0271512 0.0271064 0.0270608 0.0270182 0.0269752 0.0269345 0.0268942 -0.0268551 0.026817 0.0267799 0.0267439 0.0267082 0.026675 0.0266413 -0.0266099 0.0265784 0.0265482 0.0265195 0.0264905 0.026464 0.0264369 -0.0264121 0.0263876 0.0263639 0.0263414 0.0263195 0.0262988 0.0262783 -0.0262599 0.0262412 0.0262246 0.0262077 0.0261922 0.0261777 0.0261633 -0.026151 0.0261381 0.0261274 0.0261168 0.0261072 0.0260985 0.0260903 -0.0260834 0.0260767 0.0260717 0.0260666 0.0260632 0.0260599 0.0260577 -0.0260564 0.0260553 0.0260561 0.0260563 0.0260586 0.026061 0.0260644 -0.0260686 0.0260733 0.0260793 0.0260853 0.026093 0.0261008 0.0261099 -0.0261194 0.0261299 0.0261411 0.0261528 0.0261659 0.0261789 0.0261937 -0.0262085 0.0262245 0.0262412 0.0262584 0.0262768 0.0262954 0.0263155 -0.0263358 0.0263573 0.0263793 0.0264022 0.0264259 0.0264501 0.0264756 -0.0265012 0.0265284 0.0265558 0.0265843 0.0266134 0.0266433 0.0266742 -0.0267054 0.0267382 0.026771 0.0268052 0.0268399 0.0268754 0.026912 -0.0269489 0.0269872 0.0270258 0.0270656 0.0271061 0.0271475 0.0271896 -0.0272326 0.0272765 0.027321 0.0273668 0.0274128 0.0274604 0.0275084 -0.0275574 0.0276074 0.0276578 0.0277097 0.0277619 0.0278153 0.0278697 -0.0279248 0.0279809 0.0280379 0.0280957 0.0281545 0.0282144 0.0282748 -0.0283367 0.0283991 0.0284626 0.0285272 0.0285923 0.0286591 0.0287262 -0.0287946 0.0288641 0.0289343 0.0290057 0.0290782 0.0291512 0.0292259 -0.0293014 0.0293777 0.0294555 0.0295338 0.0296138 0.0296946 0.0297761 -0.0298594 0.0299433 0.0300285 0.030115 0.030202 0.030291 0.0303807 -0.0304713 0.0305638 0.0306567 0.0307514 0.0308472 0.0309435 0.0310423 -0.0311415 0.031242 0.0313442 0.0314471 0.0315518 0.0316578 0.0317642 -0.0318734 0.031983 0.032094 0.032207 0.0323202 0.0324362 0.0325528 -0.0326706 0.0327908 0.0329116 0.0330344 0.0331586 0.0332837 0.0334113 -0.0335401 0.0336698 0.0338023 0.0339353 0.0340705 0.0342077 0.0343447 -0.0344862 0.0346274 0.0347707 0.0349164 0.0350626 0.0352121 0.0353625 -0.0355145 0.0356692 0.0358252 0.0359829 0.0361434 0.0363044 0.0364688 -0.0366351 0.0368016 0.0369731 0.0371439 0.0373183 0.0374948 0.0376718 -0.0378539 0.0380359 0.0382211 0.0384084 0.0385976 0.0387896 0.0389842 -0.0391794 0.0393797 0.0395816 0.0397844 0.0399927 0.0401998 0.0404129 -0.0406272 0.0408428 0.0410646 0.0412857 0.0415123 0.04174 0.0419702 -0.042205 0.0424421 0.0426811 0.0429252 0.0431713 0.0434198 0.0436742 -0.0439266 0.0441884 0.0444501 0.0447149 0.0449864 0.0452567 0.0455358 -0.0458144 0.0460969 0.0463859 0.0466766 0.0469715 0.0472712 0.0475736 -0.0478807 0.0481939 0.0485055 0.0488285 0.0491509 0.0494792 0.0498143 -0.0501477 0.0504949 0.050839 0.0511906 0.0515483 0.0519084 0.0522762 -0.0526481 0.0530235 0.0534074 0.0537971 0.0541868 0.0545895 0.0549909 -0.0554033 0.0558217 0.056239 0.0566754 0.0571056 0.0575492 0.0579977 -0.0584495 0.0589147 0.0593823 0.0598576 0.0603415 0.0608333 0.0613281 -0.0618374 0.0623447 0.0628706 0.0634012 0.0639339 0.0644891 0.0650355 -0.0656047 0.066176 0.0667527 0.0673512 0.0679491 0.0685623 0.0691827 -0.0698145 0.0704547 0.0711107 0.0717665 0.0724478 0.0731334 0.0738275 -0.0745478 0.0752558 0.0760018 0.0767448 0.0775019 0.0782835 0.0790647 -0.079874 0.0806872 0.0815171 0.0823654 0.0832301 0.0841016 0.085003 -0.0859106 0.0868383 0.0877968 0.088739 0.0897418 0.0907335 0.091755 -0.0928039 0.0938526 0.0949522 0.0960487 0.0971779 0.098329 0.0995034 -0.100698 0.101928 0.103167 0.104449 0.105766 0.107071 0.108457 0.109825 -0.111254 0.112712 0.11417 0.115722 0.117255 0.118856 0.120476 0.122134 -0.12384 0.125587 0.127356 0.129198 0.131087 0.132978 0.13498 0.136955 -0.139051 0.141174 0.143321 0.145603 0.147858 0.15025 0.15265 0.155118 -0.157694 0.160316 0.163008 0.165798 0.16867 0.171584 0.174661 0.177697 -0.180982 0.184283 0.187674 0.19127 0.194824 0.198677 0.202504 0.206492 -0.210681 0.214946 0.219401 0.223998 0.228762 0.233679 0.238864 0.244048 -0.249669 0.255338 0.261284 0.26758 0.273823 0.280782 0.28763 0.294942 -0.302611 0.310482 0.318909 0.327585 0.336694 0.346291 0.356451 0.366821 -0.378133 0.389643 0.402088 0.415312 0.42867 0.443897 0.45892 0.475581 -0.493124 0.511458 0.531877 0.553022 0.576117 0.600709 0.627495 0.655921 -0.68759 0.720636 0.758429 0.799486 0.843076 0.894765 0.947447 0.989677 -0.931466 0.881072 0.83394 0.794082 0.75691 0.724395 0.694559 0.667518 -0.64247 0.62028 0.598921 0.579568 0.562018 0.544697 0.530221 0.51519 -0.501981 0.489567 0.477409 0.466687 0.455874 0.446275 0.43707 0.428229 -0.419914 0.412197 0.404644 0.397641 0.390993 0.384331 0.37875 0.37263 -0.367324 0.362091 0.356966 0.352455 0.347611 0.343447 0.339263 0.335294 -0.331525 0.327906 0.324404 0.321163 0.317947 0.314751 0.312093 0.309107 -0.306609 0.303995 0.301501 0.299371 0.296878 0.294906 0.292781 0.290868 -0.289056 0.287236 0.285549 0.283981 0.282412 0.280862 0.279621 0.278176 -0.277096 0.275814 0.27469 0.273758 0.272591 0.271828 0.270845 0.270102 -0.269424 0.268652 0.268052 0.267469 0.266943 0.266426 0.266092 0.265641 -0.26549 0.265111 0.264922 0.264824 0.264583 0.2647 0.26454 0.264671 -0.264804 0.264881 0.265132 0.265332 0.265651 0.26598 0.266412 0.266801 -0.267418 0.267878 0.268532 0.269205 0.269812 0.270778 0.271399 0.272394 -0.273323 0.274277 0.275413 0.276435 0.27766 0.27888 0.280197 0.281526 -0.283038 0.284468 0.286123 0.287734 0.289368 0.291341 0.29301 0.295126 -0.297105 0.299217 0.301556 0.303709 0.306198 0.30863 0.311281 0.313978 -0.316839 0.319719 0.322909 0.325989 0.329234 0.332836 0.336204 0.34018 -0.343931 0.348011 0.352379 0.356578 0.361322 0.365957 0.371061 0.37631 -0.381747 0.387418 0.393494 0.39964 0.406138 0.413123 0.420034 0.427985 -0.435597 0.444021 0.452896 0.461872 0.471901 0.48182 0.492907 0.504485 -0.516548 0.529498 0.543309 0.557859 0.573505 0.590279 0.607733 0.62765 -0.647686 0.670284 0.694395 0.720107 0.74937 0.779338 0.814099 0.851501 -0.892879 0.939289 0.990705 0.955557 0.90641 0.862209 0.822202 0.784172 -0.750648 0.718565 0.689569 0.662672 0.636875 0.614089 0.591638 0.571232 -0.551865 0.533546 0.516595 0.500398 0.485123 0.47072 0.457148 0.444011 -0.43184 0.419922 0.408897 0.398292 0.388016 0.378537 0.369095 0.360349 -0.351826 0.343618 0.335922 0.3284 0.321237 0.314322 0.307699 0.30127 -0.295155 0.289141 0.283483 0.277958 0.272599 0.267528 0.262465 0.25773 -0.253051 0.248535 0.244215 0.239969 0.23591 0.231938 0.228097 0.224371 -0.220768 0.217233 0.213848 0.210527 0.207307 0.204208 0.201117 0.198204 -0.195304 0.192503 0.189787 0.187112 0.184546 0.182015 0.17956 0.177166 -0.174832 0.172548 0.170334 0.168156 0.166045 0.163989 0.161953 0.160002 -0.158063 0.156188 0.154354 0.152545 0.150805 0.14908 0.147406 0.145762 -0.144154 0.142583 0.141047 0.139534 0.138066 0.136626 0.135206 0.13383 -0.132466 0.131143 0.129842 0.128562 0.12732 0.12609 0.124893 0.123715 -0.122558 0.121429 0.120318 0.119228 0.118161 0.117113 0.116084 0.115077 -0.114082 0.113114 0.112159 0.111221 0.110304 0.109398 0.108514 0.107642 -0.106785 0.105947 0.105121 0.104311 0.103515 0.102731 0.101964 0.101208 -0.100465 0.0997362 0.0990187 0.0983138 0.0976212 0.0969394 0.09627 -0.0956123 0.0949643 0.0943288 0.0937026 0.0930873 0.0924826 0.0918864 -0.0913024 0.0907258 0.0901606 0.0896034 0.089056 0.0885174 0.0879868 -0.0874665 0.0869519 0.0864493 0.085952 0.0854645 0.0849843 0.0845111 -0.0840469 0.0835884 0.0831395 0.0826955 0.0822613 0.0818318 0.0814113 -0.0809958 0.0805869 0.080187 0.0797889 0.0794032 0.079019 0.0786437 -0.0782744 0.0779088 0.0775518 0.0771978 0.0768526 0.0765104 0.0761764 -0.0758455 0.0755227 0.0752026 0.0748883 0.0745812 0.0742743 0.0739803 -0.0736839 0.0733971 0.073114 0.0728338 0.0725617 0.07229 0.0720273 -0.0717665 0.0715117 0.0712599 0.0710147 0.0707715 0.0705337 0.0703011 -0.0700683 0.0698482 0.0696233 0.0694088 0.0691957 0.0689856 0.0687834 -0.0685789 0.0683845 0.06819 0.0680017 0.0678159 0.0676348 0.0674562 -0.0672828 0.0671121 0.0669419 0.0667833 0.0666195 0.0664666 0.0663126 -0.0661627 0.0660206 0.0658734 0.0657379 0.0656 0.0654697 0.0653412 -0.0652156 0.0650936 0.0649759 0.06486 0.0647452 0.0646405 0.0645311 -0.0644332 0.0643315 0.0642354 0.0641456 0.0640513 0.0639693 0.0638821 -0.0638047 0.0637288 0.0636536 0.0635835 0.063516 0.0634517 0.0633884 -0.0633333 0.0632749 0.0632285 0.0631756 0.0631307 0.0630899 0.063046 -0.0630151 0.0629761 0.0629496 0.0629232 0.0628975 0.0628781 0.0628591 -0.0628454 0.0628327 0.0628263 0.0628182 0.0628211 0.0628186 0.0628249 -0.062833 0.0628399 0.062861 0.0628705 0.0628961 0.0629191 0.0629454 -0.0629784 0.0630093 0.0630482 0.0630879 0.0631328 0.0631778 0.0632325 -0.0632835 0.0633445 0.0634047 0.0634663 0.0635416 0.0636051 0.0636876 -0.0637644 0.0638477 0.0639385 0.0640242 0.0641217 0.0642175 0.0643219 -0.0644267 0.0645396 0.0646514 0.0647748 0.0648941 0.0650185; -#A 2000 0.0651553 0.0652821 0.0654309 0.06557 0.0657202 0.0658778 0.0660293 -0.0661965 0.0663589 0.0665346 0.0667112 0.0668941 0.0670795 0.0672758 -0.0674702 0.0676718 0.0678842 0.0680893 0.0683207 0.0685373 0.0687713 -0.0690106 0.0692475 0.0695031 0.0697502 0.0700171 0.070286 0.0705592 -0.07084 0.0711305 0.0714237 0.0717267 0.0720385 0.0723472 0.072686 -0.0730082 0.073355 0.0737041 0.0740564 0.0744325 0.0747947 0.0751869 -0.0755778 0.0759807 0.0763942 0.076816 0.0772476 0.0776934 0.0781459 -0.0786018 0.0790914 0.0795678 0.080077 0.0805849 0.0811055 0.0816565 -0.0821888 0.082766 0.083338 0.0839343 0.0845468 0.0851662 0.0858077 -0.0864662 0.0871384 0.0878211 0.0885437 0.0892601 0.0900237 0.0907813 -0.091568 0.0923909 0.0932024 0.0940779 0.0949428 0.0958548 0.0967942 -0.0977396 0.0987301 0.0997413 0.100787 0.101855 0.102975 0.104105 0.105306 -0.106503 0.107758 0.109062 0.110373 0.111787 0.113183 0.114674 0.116207 -0.117771 0.119419 0.1211 0.122862 0.124677 0.126575 0.128522 0.130586 -0.132683 0.134898 0.137196 0.139554 0.142108 0.144646 0.147397 0.150233 -0.153188 0.15633 0.159552 0.162995 0.166575 0.170366 0.174332 0.178558 -0.182959 0.187681 0.192626 0.197838 0.203529 0.209363 0.215806 0.22255 -0.229802 0.237699 0.245966 0.255103 0.264838 0.27554 0.287144 0.299868 -0.313762 0.329306 0.346257 0.365184 0.386802 0.410564 0.438532 0.469837 -0.506589 0.55019 0.600931 0.663986 0.740375 0.839103 0.968208 0.888082 -0.777723 0.690972 0.621947 0.565121 0.517248 0.477387 0.442115 0.412483 -0.386041 0.36268 0.342203 0.32345 0.306998 0.291759 0.277984 0.265497 -0.253977 0.243384 0.233632 0.224575 0.216158 0.208403 0.200992 0.194247 -0.187805 0.181791 0.176174 0.170769 0.165819 0.161008 0.156503 0.152235 -0.148159 0.144308 0.140631 0.137115 0.13378 0.130606 0.127522 0.124627 -0.121806 0.119134 0.116572 0.11407 0.111735 0.109425 0.107238 0.105121 -0.10307 0.101116 0.0992143 0.0973817 0.0956143 0.0939098 0.0922458 -0.0906564 0.0890919 0.087603 0.0861522 0.0847321 0.0833844 0.0820419 -0.0807656 0.0795133 0.0782912 0.077123 0.075972 0.0748605 0.0737753 -0.0727211 0.0716916 0.0706956 0.0697127 0.0687706 0.0678448 0.0669392 -0.0660689 0.0651988 0.0643708 0.06355 0.0627496 0.0619758 0.0612105 -0.0604715 0.0597433 0.0590324 0.0583392 0.0576619 0.0569946 0.0563487 -0.0557115 0.0550895 0.0544855 0.0538812 0.0533052 0.0527301 0.0521703 -0.0516241 0.0510826 0.0505604 0.0500419 0.0495358 0.0490398 0.0485529 -0.0480745 0.0476076 0.0471457 0.0466961 0.0462557 0.0458168 0.0453946 -0.0449725 0.0445625 0.0441595 0.0437592 0.0433738 0.0429887 0.0426137 -0.0422437 0.0418795 0.0415229 0.0411722 0.0408252 0.0404874 0.0401545 -0.0398242 0.0395039 0.0391834 0.0388729 0.0385655 0.0382612 0.0379664 -0.0376714 0.0373849 0.0371004 0.03682 0.0365462 0.0362753 0.0360082 -0.0357464 0.035488 0.0352327 0.0349834 0.0347336 0.0344925 0.0342523 -0.0340154 0.0337843 0.033553 0.0333289 0.0331053 0.032885 0.0326697 -0.0324559 0.0322458 0.0320388 0.031834 0.0316327 0.0314347 0.0312373 -0.0310455 0.0308543 0.0306664 0.030482 0.0302974 0.030119 0.0299402 -0.0297647 0.0295921 0.0294207 0.0292527 0.0290864 0.0289218 0.0287605 -0.028601 0.0284427 0.0282879 0.0281335 0.0279825 0.0278333 0.0276845 -0.0275402 0.0273955 0.0272538 0.0271138 0.0269746 0.0268388 0.0267037 -0.0265704 0.0264392 0.0263093 0.026181 0.0260548 0.0259289 0.0258063 -0.0256845 0.0255636 0.0254456 0.0253274 0.025212 0.0250975 0.0249838 -0.0248729 0.0247623 0.0246535 0.024546 0.0244395 0.0243348 0.0242312 -0.0241283 0.0240277 0.0239277 0.0238289 0.0237319 0.0236348 0.0235404 -0.0234463 0.0233532 0.023262 0.0231711 0.023082 0.0229936 0.0229059 -0.0228202 0.022735 0.0226507 0.0225679 0.0224855 0.0224046 0.0223248 -0.0222451 0.0221675 0.0220901 0.0220139 0.0219389 0.0218641 0.021791 -0.0217184 0.0216466 0.0215761 0.0215061 0.0214371 0.0213691 0.0213015 -0.0212353 0.0211697 0.0211047 0.021041 0.0209776 0.0209154 0.0208539 -0.0207927 0.0207331 0.0206737 0.0206151 0.0205576 0.0205004 0.0204443 -0.0203888 0.0203338 0.02028 0.0202265 0.0201739 0.0201221 0.0200706 -0.0200203 0.0199704 0.019921 0.0198727 0.0198247 0.0197776 0.0197311 -0.019685 0.01964 0.0195954 0.0195513 0.0195082 0.0194652 0.0194233 -0.0193819 0.0193408 0.0193008 0.0192611 0.019222 0.0191837 0.0191457 -0.0191085 0.019072 0.0190357 0.0190004 0.0189653 0.0189309 0.0188973 -0.0188638 0.0188314 0.0187992 0.0187675 0.0187367 0.0187061 0.0186762 -0.0186468 0.0186179 0.0185897 0.018562 0.0185346 0.0185081 0.0184818 -0.0184562 0.0184311 0.0184062 0.0183825 0.0183587 0.0183357 0.0183132 -0.0182911 0.0182697 0.0182486 0.0182281 0.018208 0.0181886 0.0181695 -0.0181511 0.018133 0.0181155 0.0180986 0.0180819 0.0180661 0.0180504 -0.0180355 0.0180209 0.0180067 0.0179933 0.0179801 0.0179676 0.0179553 -0.0179439 0.0179327 0.0179221 0.0179118 0.0179022 0.0178931 0.0178841 -0.0178762 0.0178682 0.0178611 0.0178543 0.017848 0.0178423 0.0178368 -0.0178321 0.0178276 0.0178239 0.0178204 0.0178176 0.0178152 0.0178132 -0.0178119 0.0178108 0.0178106 0.0178104 0.0178112 0.0178122 0.0178137 -0.0178158 0.0178182 0.0178214 0.0178247 0.017829 0.0178334 0.0178385 -0.0178441 0.0178501 0.0178568 0.0178636 0.0178715 0.0178794 0.0178883 -0.0178974 0.0179071 0.0179174 0.017928 0.0179395 0.017951 0.0179637 -0.0179764 0.01799 0.018004 0.0180184 0.0180337 0.018049 0.0180656 0.0180821 -0.0180997 0.0181175 0.018136 0.0181552 0.0181747 0.0181951 0.0182156 -0.0182374 0.0182592 0.0182821 0.0183053 0.0183291 0.0183538 0.0183785 -0.0184047 0.0184307 0.018458 0.0184856 0.0185139 0.018543 0.0185724 -0.018603 0.0186336 0.0186657 0.0186978 0.0187312 0.0187648 0.0187992 -0.0188346 0.0188701 0.0189073 0.0189443 0.0189828 0.0190216 0.0190612 -0.0191019 0.0191428 0.0191852 0.0192277 0.0192717 0.0193159 0.0193615 -0.0194075 0.0194545 0.0195025 0.0195508 0.0196011 0.019651 0.0197028 -0.0197551 0.0198083 0.0198628 0.0199175 0.019974 0.0200308 0.0200893 -0.0201482 0.0202086 0.0202697 0.0203321 0.0203955 0.0204594 0.0205257 -0.0205916 0.0206601 0.0207288 0.0207989 0.0208706 0.0209425 0.0210168 -0.0210912 0.021168 0.0212454 0.0213245 0.0214046 0.0214864 0.0215693 -0.0216532 0.0217397 0.0218262 0.0219157 0.0220055 0.0220974 0.0221911 -0.0222854 0.0223826 0.0224799 0.0225805 0.022682 0.0227854 0.0228905 -0.0229975 0.0231063 0.0232166 0.0233298 0.0234435 0.0235613 0.0236791 -0.0238001 0.0239232 0.0240475 0.0241757 0.0243039 0.0244367 0.0245709 -0.0247074 0.0248466 0.0249882 0.0251325 0.0252791 0.0254292 0.0255807 -0.0257372 0.0258944 0.026056 0.0262202 0.0263867 0.0265586 0.0267305 -0.026909 0.0270892 0.0272734 0.0274614 0.0276525 0.0278481 0.0280472 -0.0282507 0.0284571 0.0286701 0.0288851 0.0291065 0.0293313 0.0295605 -0.029797 0.0300343 0.0302813 0.0305308 0.0307869 0.0310491 0.0313155 -0.0315894 0.0318685 0.032155 0.0324466 0.0327474 0.0330527 0.0333682 -0.0336885 0.034017 0.0343559 0.0346983 0.0350556 0.0354168 0.03579 -0.0361733 0.0365634 0.0369669 0.0373786 0.0378038 0.0382388 0.0386877 -0.0391469 0.0396225 0.040108 0.0406089 0.0411264 0.0416539 0.0422064 -0.0427668 0.0433504 0.0439514 0.0445685 0.0452103 0.0458678 0.0465525 -0.0472578 0.0479884 0.0487431 0.0495281 0.0503375 0.0511793 0.0520531 -0.0529539 0.053904 0.0548755 0.0558981 0.0569583 0.0580606 0.0592186 -0.0604145 0.061676 0.0629883 0.0643653 0.0658066 0.0673207 0.0689069 -0.0705805 0.0723372 0.0741825 0.0761528 0.0782082 0.0804095 0.0827277 -0.0851924 0.0878342 0.0906152 0.0936225 0.0968197 0.100269 0.103979 -0.107979 0.112311 0.117029 0.122154 0.127754 0.133958 0.140739 0.148352 -0.156766 0.166252 0.17703 0.189197 0.203367 0.219691 0.23906 0.262209 -0.290249 0.325198 0.369808 0.42865 0.509865 0.629964 0.822819 0.861005 -0.65176 0.523502 0.437229 0.37565 0.328759 0.292619 0.263343 0.239402 -0.219496 0.202558 0.188063 0.175473 0.164451 0.15471 0.146077 0.13829 -0.131343 0.125015 0.119272 0.114047 0.109207 0.104817 0.100715 0.0969352 -0.093429 0.0901513 0.0871083 0.0842511 0.0815739 0.0790624 0.0767008 -0.0744641 0.0723654 0.0703675 0.0684847 0.0666998 0.0649911 0.0633869 -0.0618402 0.0603765 0.0589776 0.0576359 0.0563631 0.0551372 0.053966 -0.0528419 0.0517637 0.0507265 0.0497329 0.048771 0.0478525 0.0469656 -0.0461066 0.0452861 0.0444846 0.0437182 0.0429745 0.0422534 0.0415619 -0.0408874 0.0402378 0.0396064 0.0389945 0.0384021 0.0378277 0.0372679 -0.0367278 0.0362015 0.0356894 0.0351949 0.0347083 0.0342408 0.0337828 -0.0333368 0.0329051 0.0324813 0.0320716 0.03167 0.0312784 0.0308983 -0.0305265 0.0301632 0.0298099 0.0294638 0.0291264 0.0287979 0.0284737 -0.0281608 0.0278523 0.0275516 0.0272582 0.0269692 0.0266893 0.0264133 -0.0261436 0.0258802 0.0256216 0.0253687 0.0251212 0.0248778 0.0246406 -0.024408 0.0241786 0.0239556 0.0237352 0.0235203 0.0233094 0.0231012 -0.0228993 0.0226992 0.0225037 0.0223118 0.0221228 0.021938 0.0217562 -0.0215773 0.0214024 0.0212303 0.0210607 0.020895 0.0207308 0.0205709 -0.0204131 0.0202575 0.0201057 0.0199552 0.0198081 0.0196631 0.01952 -0.0193803 0.0192421 0.0191063 0.0189729 0.0188414 0.018712 0.018585 -0.0184591 0.0183363 0.0182148 0.0180951 0.0179779 0.0178614 0.0177478 -0.0176353 0.0175243 0.0174157 0.0173081 0.0172024 0.0170983 0.0169954 -0.0168944 0.0167947 0.0166962 0.0165997 0.0165041 0.0164101 0.0163176 -0.0162257 0.0161362 0.0160472 0.0159596 0.0158735 0.0157881 0.0157044 -0.0156216 0.0155398 0.0154596 0.0153801 0.0153018 0.0152247 0.0151483 -0.0150734 0.0149994 0.014926 0.0148542 0.0147828 0.0147127 0.0146436 -0.0145749 0.0145078 0.0144412 0.0143755 0.0143109 0.0142468 0.0141838 -0.0141217 0.01406 0.0139996 0.0139398 0.0138806 0.0138225 0.0137648 -0.0137082 0.0136522 0.0135966 0.0135423 0.0134883 0.0134352 0.0133828 -0.0133307 0.0132798 0.0132293 0.0131793 0.0131303 0.0130816 0.0130337 -0.0129865 0.0129395 0.0128937 0.0128481 0.0128031 0.0127589 0.012715 -0.0126719 0.0126293 0.012587 0.0125456 0.0125046 0.012464 0.0124242 -0.0123846 0.0123458 0.0123074 0.0122693 0.0122321; -#A 3000 0.0121951 0.0121586 0.0121228 0.0120871 0.0120522 0.0120177 -0.0119835 0.01195 0.0119167 0.011884 0.0118517 0.0118197 0.0117884 -0.0117574 0.0117268 0.0116967 0.0116668 0.0116376 0.0116086 0.01158 -0.011552 0.0115242 0.0114968 0.01147 0.0114433 0.0114172 0.0113914 -0.0113659 0.011341 0.0113162 0.0112919 0.011268 0.0112442 0.0112211 -0.0111982 0.0111756 0.0111535 0.0111316 0.0111101 0.011089 0.011068 -0.0110477 0.0110275 0.0110076 0.0109882 0.0109689 0.0109502 0.0109316 -0.0109134 0.0108956 0.010878 0.0108607 0.0108438 0.0108271 0.0108108 -0.0107948 0.010779 0.0107637 0.0107486 0.0107338 0.0107193 0.0107049 -0.0106912 0.0106775 0.0106642 0.0106512 0.0106384 0.010626 0.0106138 -0.0106018 0.0105903 0.010579 0.0105679 0.0105572 0.0105467 0.0105365 -0.0105267 0.0105169 0.0105077 0.0104985 0.0104897 0.0104812 0.0104729 -0.010465 0.0104572 0.0104498 0.0104426 0.0104357 0.0104291 0.0104227 -0.0104166 0.0104108 0.0104053 0.0103999 0.010395 0.0103901 0.0103857 -0.0103815 0.0103774 0.0103739 0.0103703 0.0103673 0.0103643 0.0103617 -0.0103594 0.0103573 0.0103554 0.0103539 0.0103526 0.0103515 0.0103509 -0.0103503 0.0103501 0.0103502 0.0103504 0.0103511 0.0103518 0.010353 -0.0103543 0.010356 0.010358 0.0103601 0.0103626 0.0103653 0.0103684 -0.0103716 0.0103753 0.010379 0.0103832 0.0103876 0.0103922 0.0103972 -0.0104023 0.010408 0.0104136 0.0104198 0.0104261 0.0104328 0.0104397 -0.0104469 0.0104544 0.0104621 0.0104704 0.0104786 0.0104874 0.0104963 -0.0105056 0.0105152 0.010525 0.0105353 0.0105457 0.0105566 0.0105676 -0.010579 0.0105908 0.0106028 0.0106152 0.0106277 0.0106409 0.0106541 -0.0106678 0.0106817 0.010696 0.0107107 0.0107255 0.010741 0.0107565 -0.0107726 0.0107889 0.0108056 0.0108227 0.01084 0.0108578 0.0108758 -0.0108944 0.0109132 0.0109325 0.010952 0.010972 0.0109924 0.011013 -0.0110342 0.0110556 0.0110777 0.0110999 0.0111226 0.0111458 0.0111692 -0.0111933 0.0112175 0.0112425 0.0112676 0.0112933 0.0113194 0.011346 -0.011373 0.0114003 0.0114284 0.0114566 0.0114857 0.0115149 0.0115448 -0.0115751 0.0116058 0.0116373 0.0116689 0.0117014 0.0117341 0.0117676 -0.0118015 0.0118359 0.011871 0.0119064 0.0119427 0.0119792 0.0120167 -0.0120545 0.012093 0.0121321 0.0121717 0.0122121 0.0122528 0.0122946 -0.0123367 0.0123797 0.0124232 0.0124674 0.0125125 0.0125579 0.0126045 -0.0126513 0.0126993 0.0127478 0.0127972 0.0128473 0.0128981 0.0129499 -0.0130021 0.0130557 0.0131096 0.0131648 0.0132206 0.0132773 0.0133351 -0.0133934 0.0134532 0.0135134 0.0135751 0.0136374 0.0137008 0.0137653 -0.0138306 0.0138973 0.0139646 0.0140336 0.0141032 0.0141745 0.0142465 -0.0143198 0.0143945 0.01447 0.0145474 0.0146253 0.0147053 0.0147863 -0.0148686 0.0149525 0.0150376 0.0151244 0.0152123 0.0153023 0.0153933 -0.0154865 0.0155808 0.0156771 0.015775 0.0158744 0.0159763 0.016079 -0.0161846 0.0162915 0.0164006 0.0165118 0.0166247 0.0167401 0.0168573 -0.0169772 0.0170989 0.0172235 0.01735 0.0174793 0.017611 0.017745 0.0178826 -0.0180216 0.0181648 0.01831 0.0184585 0.0186103 0.0187646 0.0189229 -0.0190838 0.0192489 0.019417 0.0195893 0.0197648 0.0199448 0.0201283 -0.0203157 0.0205084 0.020704 0.020906 0.0211113 0.0213221 0.0215382 -0.0217584 0.0219852 0.0222164 0.0224546 0.022698 0.0229481 0.0232042 -0.0234675 0.0237372 0.0240139 0.0242992 0.0245903 0.0248923 0.0252001 -0.0255182 0.0258452 0.0261807 0.0265278 0.026883 0.0272514 0.0276299 -0.0280204 0.0284231 0.0288391 0.0292682 0.0297116 0.0301706 0.0306431 -0.031136 0.0316422 0.0321693 0.0327147 0.0332794 0.0338684 0.0344754 -0.0351109 0.0357692 0.0364553 0.0371699 0.0379145 0.0386915 0.0395032 -0.0403513 0.0412363 0.0421691 0.0431406 0.0441657 0.0452393 0.0463686 -0.0475637 0.0488143 0.050146 0.0515478 0.0530372 0.0546185 0.0562966 -0.0580876 0.0599991 0.0620441 0.0642334 0.0665982 0.0691349 0.0718929 -0.0748694 0.0781137 0.0816683 0.0855423 0.0898437 0.0945764 0.0998653 -0.105792 0.11245 0.12004 0.128725 0.138791 0.150564 0.164578 0.181432 -0.202273 0.228394 0.262414 0.308462 0.373839 0.475476 0.651395 0.964817 -0.621822 0.458935 0.363348 0.300823 0.25654 0.223621 0.198158 0.177911 -0.161358 0.147664 0.136073 0.126171 0.117627 0.110112 0.103552 0.0976896 -0.0924637 0.0877708 0.0835156 0.0796688 0.076147 0.0729263 0.0699651 -0.0672346 0.0647049 0.0623633 0.060178 0.0581455 0.0562465 0.0544583 -0.0527917 0.0512136 0.0497325 0.0483337 0.047007 0.0457586 0.0445689 -0.0434424 0.0423698 0.0413489 0.0403766 0.0394496 0.0385616 0.0377164 -0.0369066 0.0361287 0.0353868 0.0346704 0.0339864 0.0333276 0.0326926 -0.0320849 0.0314964 0.0309317 0.0303856 0.0298584 0.0293507 0.0288596 -0.0283843 0.0279258 0.0274815 0.0270511 0.0266355 0.0262301 0.0258401 -0.0254602 0.0250914 0.0247348 0.0243865 0.0240502 0.0237218 0.0234026 -0.0230931 0.0227912 0.0224976 0.0222119 0.0219332 0.0216621 0.0213981 -0.0211396 0.0208891 0.0206436 0.0204045 0.0201715 0.0199429 0.0197214 -0.0195037 0.0192913 0.0190842 0.0188812 0.0186833 0.0184895 0.0182996 -0.0181146 0.0179333 0.0177554 0.017582 0.0174115 0.0172451 0.0170821 -0.0169218 0.0167658 0.016612 0.0164617 0.0163144 0.0161695 0.0160281 -0.015889 0.0157525 0.015619 0.0154877 0.0153588 0.0152326 0.0151081 -0.0149866 0.014867 0.0147494 0.0146344 0.0145208 0.0144097 0.0143003 -0.0141926 0.0140873 0.0139835 0.0138814 0.0137813 0.0136826 0.0135857 -0.0134905 0.0133965 0.0133046 0.0132138 0.0131246 0.013037 0.0129503 -0.0128656 0.012782 0.0126995 0.0126188 0.0125389 0.0124605 0.0123833 -0.012307 0.0122323 0.0121585 0.0120858 0.0120144 0.0119438 0.0118745 -0.0118062 0.0117386 0.0116725 0.0116071 0.0115426 0.0114793 0.0114166 -0.0113551 0.0112944 0.0112344 0.0111755 0.0111173 0.01106 0.0110035 -0.0109477 0.0108929 0.0108387 0.0107852 0.0107327 0.0106807 0.0106296 -0.0105791 0.0105292 0.0104803 0.0104318 0.010384 0.010337 0.0102905 -0.0102447 0.0101996 0.0101548 0.010111 0.0100676 0.0100248 0.00998263 -0.00994085 0.00989987 0.00985933 0.00981924 0.0097799 0.00974091 0.00970251 -0.00966467 0.00962714 0.00959038 0.00955396 0.00951797 0.00948264 0.00944757 -0.00941313 0.0093791 0.00934538 0.00931237 0.00927963 0.00924733 0.00921556 -0.00918406 0.00915311 0.00912255 0.00909226 0.00906261 0.00903318 0.00900418 -0.00897565 0.00894731 0.00891958 0.0088921 0.00886495 0.00883831 0.00881188 -0.0087859 0.00876026 0.00873486 0.00870998 0.00868537 0.00866102 0.00863716 -0.00861346 0.0085902 0.00856727 0.00854448 0.00852229 0.00850021 0.0084785 -0.00845714 0.00843596 0.00841522 0.00839471 0.00837444 0.00835458 0.00833494 -0.00831558 0.00829658 0.00827771 0.00825928 0.00824107 0.00822303 0.00820547 -0.00818797 0.00817088 0.00815401 0.00813731 0.00812105 0.00810491 0.00808906 -0.00807348 0.00805813 0.00804305 0.00802824 0.00801356 0.00799929 0.00798517 -0.00797124 0.0079577 0.0079442 0.00793113 0.00791819 0.00790544 0.00789305 -0.00788076 0.00786879 0.00785698 0.0078454 0.00783411 0.00782301 0.00781208 -0.00780146 0.00779098 0.00778072 0.00777077 0.00776084 0.00775137 0.00774195 -0.00773277 0.00772386 0.00771504 0.00770657 0.00769819 0.00769006 0.00768217 -0.00767445 0.00766693 0.00765965 0.0076525 0.0076456 0.00763895 0.00763235 -0.00762615 0.00761999 0.0076141 0.00760842 0.00760282 0.0075976 0.00759241 -0.00758752 0.0075828 0.00757825 0.00757393 0.00756979 0.00756579 0.00756205 -0.00755852 0.00755508 0.00755198 0.00754892 0.00754617 0.00754358 0.00754108 -0.00753896 0.00753683 0.00753506 0.00753339 0.00753191 0.00753068 0.00752959 -0.00752869 0.00752799 0.00752751 0.00752715 0.0075271 0.00752708 0.00752741 -0.00752786 0.00752845 0.00752936 0.00753028 0.0075316 0.00753298 0.00753457 -0.00753641 0.00753838 0.00754059 0.00754294 0.00754554 0.00754828 0.00755132 -0.00755442 0.00755784 0.00756139 0.00756512 0.00756914 0.00757318 0.00757766 -0.00758217 0.00758695 0.00759194 0.00759708 0.00760249 0.00760803 0.00761383 -0.0076198 0.00762606 0.00763243 0.00763909 0.0076459 0.00765293 0.00766025 -0.00766759 0.00767541 0.00768325 0.00769141 0.00769976 0.00770828 0.00771713 -0.00772607 0.00773535 0.00774476 0.00775451 0.00776439 0.00777458 0.00778493 -0.00779554 0.00780644 0.00781741 0.00782887 0.00784035 0.00785222 0.00786427 -0.00787653 0.00788915 0.00790188 0.007915 0.00792825 0.00794187 0.00795568 -0.00796979 0.00798412 0.00799874 0.00801367 0.00802872 0.00804427 0.00805989 -0.00807596 0.00809221 0.00810874 0.00812563 0.00814268 0.00816019 0.00817782 -0.00819591 0.00821421 0.00823286 0.00825179 0.00827102 0.00829063 0.00831041 -0.00833074 0.00835117 0.00837212 0.00839329 0.00841482 0.00843674 0.00845886 -0.00848154 0.00850436 0.00852773 0.00855135 0.00857539 0.00859978 0.00862451 -0.0086497 0.00867513 0.00870118 0.0087274 0.00875422 0.00878131 0.00880886 -0.00883686 0.00886515 0.00889409 0.00892321 0.00895303 0.00898312 0.00901376 -0.00904483 0.00907633 0.00910839 0.00914077 0.00917389 0.00920726 0.00924135 -0.00927581 0.00931083 0.00934642 0.00938241 0.00941916 0.0094562 0.0094941 -0.00953236 0.00957131 0.00961082 0.00965087 0.00969167 0.00973286 0.00977499 -0.00981748 0.00986086 0.00990476 0.00994938 0.00999473 0.0100406 0.0100875 -0.0101348 0.0101832 0.010232 0.0102818 0.0103323 0.0103836 0.0104358 -0.0104886 0.0105426 0.0105971 0.0106528 0.0107092 0.0107666 0.0108249 -0.010884 0.0109444 0.0110055 0.0110679 0.011131 0.0111955 0.0112609 -0.0113273 0.0113951 0.0114637 0.0115339 0.0116049 0.0116775 0.0117511 -0.0118261 0.0119024 0.0119799 0.0120591 0.0121393 0.0122214 0.0123047 -0.0123897 0.0124761 0.0125642 0.0126539 0.0127451 0.0128384 0.012933 -0.0130299 0.0131283 0.0132288 0.0133313 0.0134355 0.0135422 0.0136505 -0.0137615 0.0138744 0.0139899 0.0141075 0.0142277 0.0143504 0.0144754 -0.0146037 0.014734 0.0148679 0.0150041 0.0151436 0.0152863 0.0154317 -0.0155811 0.0157331 0.0158895 0.016049 0.0162125 0.0163797 0.0165511 -0.0167266 0.0169061 0.0170908 0.0172793 0.0174735 0.0176719 0.0178758 -0.0180852 0.0182996 0.0185206 0.0187465 0.0189799 0.0192192 0.0194653 -0.0197186 0.019979 0.0202474 0.0205234 0.0208084 0.0211012 0.0214044 -0.021716 0.0220383 0.022371 0.022714 0.02307 0.0234361 0.023817 0.0242101 -0.0246178 0.0250404 0.0254782 0.0259331 0.0264051 0.0268962 0.0274058 -0.027938 0.0284906 0.029068 0.0296696 0.0302974 0.0309557 0.0316407 -0.0323624 0.0331162 0.0339085 0.0347416 0.0356163 0.0365396 0.0375121 -0.038541 0.0396279 0.0407823 0.0420049 0.0433087 0.0446943 0.0461744 -0.0477618; -#A 4000 0.0494568 0.0512898 0.0532575 0.05539 0.0577046 0.0602172 0.0629697 -0.065983 0.0693095 0.0729891 0.0770904 0.081679 0.0868659 0.0927472 -0.0994969 0.107323 0.116463 0.127379 0.14049 0.156683 0.177104 0.203615 -0.239606 0.29092 0.370521 0.51009 0.818484 0.659044 0.442916 0.333622 -0.267494 0.223232 0.191578 0.167676 0.149158 0.134268 0.12209 0.111943 -0.103328 0.0959684 0.0895665 0.0839702 0.0790312 0.0746383 0.0707073 -0.0671713 0.0639669 0.0610587 0.0584043 0.0559631 0.0537267 0.0516547 -0.049741 0.0479636 0.0463047 0.0447641 0.043317 0.0419635 0.0406912 -0.0394933 0.0383655 0.0373001 0.0362914 0.035338 0.0344332 0.0335723 -0.032756 0.0319759 0.031235 0.030527 0.0298496 0.0292043 0.0285843 -0.027992 0.0274233 0.0268769 0.0263537 0.0258499 0.0253652 0.0248993 -0.02445 0.024017 0.0235999 0.0231959 0.0228077 0.0224316 0.0220679 -0.021717 0.021376 0.0210473 0.020728 0.0204184 0.0201191 0.019828 0.0195458 -0.0192719 0.0190055 0.0187471 0.0184959 0.0182511 0.0180138 0.0177823 -0.0175572 0.0173382 0.0171241 0.0169166 0.0167137 0.0165159 0.0163234 -0.0161351 0.0159519 0.0157728 0.0155978 0.0154274 0.0152606 0.0150976 -0.0149387 0.0147828 0.014631 0.0144823 0.0143365 0.0141946 0.0140552 -0.0139189 0.0137856 0.0136548 0.0135272 0.0134018 0.0132791 0.013159 -0.0130411 0.0129256 0.0128125 0.0127013 0.0125927 0.012486 0.0123812 -0.0122787 0.0121777 0.012079 0.011982 0.0118865 0.0117932 0.0117013 -0.0116111 0.0115227 0.0114355 0.0113502 0.0112663 0.0111837 0.0111028 -0.011023 0.0109447 0.0108679 0.010792 0.0107178 0.0106446 0.0105726 -0.010502 0.0104322 0.0103639 0.0102965 0.0102301 0.0101651 0.0101009 -0.0100377 0.00997567 0.00991439 0.00985427 0.00979501 0.00973654 0.00967923 -0.0096226 0.00956689 0.0095121 0.00945796 0.00940485 0.00935244 0.00930072 -0.00924998 0.0091998 0.00915047 0.00910188 0.00905381 0.00900673 0.00896016 -0.00891426 0.00886915 0.00882453 0.00878067 0.00873742 0.00869465 0.00865271 -0.00861124 0.00857033 0.00853013 0.0084903 0.00845122 0.00841261 0.00837444 -0.00833701 0.00829992 0.00826344 0.00822747 0.00819187 0.00815695 0.0081224 -0.0080883 0.00805477 0.00802161 0.00798894 0.00795676 0.00792485 0.00789361 -0.00786266 0.00783211 0.0078021 0.00777232 0.00774311 0.00771423 0.00768566 -0.00765765 0.00762989 0.00760254 0.00757559 0.00754893 0.00752272 0.00749685 -0.00747123 0.00744611 0.00742122 0.0073967 0.00737257 0.0073486 0.00732518 -0.00730194 0.00727902 0.0072565 0.00723418 0.00721225 0.00719059 0.00716916 -0.00714816 0.00712739 0.00710686 0.00708671 0.00706674 0.00704712 0.00702778 -0.00700857 0.00698986 0.00697124 0.00695296 0.00693495 0.0069171 0.00689964 -0.00688234 0.0068653 0.00684855 0.00683201 0.00681572 0.0067997 0.00678383 -0.0067683 0.00675297 0.00673779 0.00672299 0.00670827 0.00669388 0.00667968 -0.00666562 0.00665193 0.00663833 0.00662501 0.00661189 0.00659895 0.00658627 -0.00657379 0.00656145 0.0065494 0.00653751 0.00652579 0.00651438 0.00650301 -0.00649199 0.00648109 0.00647035 0.00645991 0.00644952 0.00643945 0.00642949 -0.00641971 0.00641019 0.00640081 0.0063916 0.00638261 0.00637376 0.00636509 -0.00635667 0.00634829 0.00634026 0.0063323 0.00632452 0.00631697 0.00630947 -0.0063023 0.00629519 0.00628829 0.00628159 0.00627501 0.00626862 0.0062624 -0.00625631 0.00625042 0.00624473 0.00623911 0.00623378 0.0062285 0.00622344 -0.00621856 0.00621373 0.00620924 0.00620476 0.00620052 0.00619643 0.00619246 -0.0061887 0.00618506 0.00618158 0.00617827 0.00617515 0.00617212 0.00616933 -0.0061666 0.00616411 0.00616176 0.00615948 0.0061575 0.00615553 0.00615384 -0.00615225 0.00615078 0.00614955 0.0061484 0.00614744 0.00614661 0.00614598 -0.00614546 0.00614515 0.0061449 0.00614491 0.00614504 0.00614526 0.00614576 -0.00614626 0.00614708 0.00614795 0.00614898 0.00615024 0.00615156 0.00615311 -0.00615476 0.00615661 0.0061586 0.00616079 0.00616306 0.00616556 0.00616819 -0.00617095 0.00617395 0.00617696 0.00618033 0.00618372 0.00618732 0.0061911 -0.00619497 0.0061991 0.0062033 0.00620773 0.00621231 0.00621708 0.00622196 -0.00622707 0.00623229 0.0062377 0.00624333 0.006249 0.00625502 0.00626107 -0.00626737 0.00627383 0.0062804 0.00628726 0.00629418 0.00630137 0.00630869 -0.00631622 0.00632392 0.00633181 0.00633984 0.0063481 0.00635657 0.00636511 -0.00637401 0.00638295 0.00639219 0.00640158 0.00641111 0.00642095 0.00643085 -0.00644108 0.00645143 0.00646201 0.0064728 0.00648379 0.00649497 0.00650636 -0.006518 0.00652976 0.00654188 0.00655406 0.00656659 0.00657927 0.00659215 -0.00660535 0.00661862 0.0066323 0.00664607 0.00666014 0.00667445 0.00668897 -0.00670375 0.00671874 0.00673402 0.00674947 0.0067653 0.00678124 0.00679757 -0.00681407 0.00683083 0.00684793 0.00686514 0.00688283 0.00690062 0.00691879 -0.00693721 0.0069559 0.0069749 0.00699414 0.00701373 0.00703355 0.00705379 -0.0070742 0.00709504 0.0071161 0.0071375 0.00715928 0.00718122 0.00720372 -0.00722635 0.00724946 0.00727285 0.00729658 0.00732071 0.00734512 0.00736997 -0.00739508 0.00742072 0.0074466 0.00747297 0.00749964 0.00752674 0.00755428 -0.00758209 0.00761052 0.00763916 0.0076684 0.00769797 0.00772799 0.00775852 -0.00778939 0.00782084 0.00785261 0.00788504 0.00791781 0.00795117 0.00798495 -0.00801927 0.00805414 0.0080894 0.00812541 0.00816173 0.00819882 0.00823634 -0.00827446 0.0083132 0.00835243 0.00839241 0.00843282 0.00847407 0.0085158 -0.00855829 0.00860136 0.00864513 0.00868962 0.00873469 0.00878068 0.00882716 -0.00887463 0.00892269 0.00897158 0.00902128 0.00907168 0.00912307 0.00917507 -0.0092282 0.009282 0.00933682 0.00939248 0.00944908 0.00950668 0.00956512 -0.00962478 0.0096852 0.00974692 0.00980952 0.00987329 0.00993817 0.0100041 -0.0100714 0.0101396 0.0102093 0.0102801 0.0103523 0.0104257 0.0105005 -0.0105767 0.0106542 0.0107334 0.0108138 0.010896 0.0109796 0.0110648 -0.0111518 0.0112403 0.0113308 0.0114227 0.0115169 0.0116127 0.0117106 -0.0118104 0.0119123 0.0120164 0.0121225 0.0122312 0.0123418 0.0124551 -0.0125707 0.0126889 0.0128098 0.0129332 0.0130596 0.0131886 0.013321 -0.0134561 0.0135947 0.0137363 0.0138814 0.0140301 0.0141822 0.0143385 -0.0144982 0.0146624 0.0148306 0.0150031 0.0151803 0.015362 0.0155488 -0.0157403 0.0159376 0.0161399 0.0163484 0.0165624 0.0167829 0.0170098 -0.0172432 0.0174843 0.0177318 0.017988 0.0182517 0.018524 0.0188052 -0.0190954 0.0193957 0.0197057 0.0200271 0.0203592 0.0207037 0.0210603 -0.0214305 0.0218144 0.0222127 0.0226276 0.0230577 0.0235067 0.0239732 -0.02446 0.0249679 0.0254974 0.0260519 0.0266307 0.0272381 0.0278738 -0.0285416 0.0292426 0.0299808 0.0307575 0.0315764 0.032443 0.033357 -0.0343286 0.0353571 0.0364519 0.0376185 0.0388616 0.040194 0.0416196 -0.043155 0.044808 0.0465953 0.0485324 0.0506413 0.0529422 0.0554646 -0.0582451 0.0613154 0.0647419 0.0685648 0.0728792 0.0777767 0.0833766 -0.0898647 0.0974335 0.106423 0.117239 0.130505 0.147174 0.168742 0.197723 -0.238762 0.301352 0.408306 0.634034 0.773669 0.462027 0.329389 0.25594 -0.209184 0.176946 0.153259 0.135178 0.120911 0.109361 0.0998286 0.0918225 -0.0850007 0.0791272 0.0740134 0.0695129 0.0655367 0.0619838 0.0588009 -0.0559289 0.0533202 0.0509514 0.0487785 0.0467864 0.0449505 0.0432523 -0.0416803 0.0402177 0.0388543 0.0375818 0.03639 0.0352712 0.0342208 -0.0332296 0.0322967 0.0314144 0.0305786 0.0297884 0.0290364 0.0283232 -0.0276441 0.0269965 0.0263805 0.0257913 0.0252285 0.0246903 0.0241746 -0.0236806 0.023207 0.0227515 0.022315 0.0218947 0.0214903 0.0211015 -0.0207258 0.0203647 0.0200158 0.0196788 0.0193539 0.0190394 0.0187356 -0.0184416 0.0181567 0.0178813 0.0176143 0.0173552 0.0171044 0.0168607 -0.0166243 0.0163949 0.0161715 0.0159552 0.0157445 0.0155395 0.0153404 -0.0151462 0.0149576 0.0147738 0.0145945 0.0144202 0.01425 0.0140841 -0.0139224 0.0137644 0.0136106 0.0134603 0.0133134 0.0131703 0.0130302 -0.0128935 0.0127599 0.012629 0.0125014 0.0123765 0.0122542 0.0121348 -0.0120177 0.0119032 0.0117912 0.0116813 0.011574 0.0114686 0.0113655 -0.0112645 0.0111654 0.0110684 0.0109732 0.0108798 0.0107885 0.0106987 -0.0106107 0.0105244 0.0104395 0.0103565 0.0102749 0.0101947 0.0101162 -0.0100389 0.00996308 0.00988863 0.00981535 0.00974363 0.009673 0.00960359 -0.0095355 0.00946842 0.00940261 0.00933792 0.00927415 0.00921172 0.00915015 -0.00908963 0.00903019 0.00897154 0.00891407 0.00885741 0.00880163 0.00874689 -0.00869289 0.00863981 0.00858758 0.00853607 0.00848551 0.00843569 0.00838656 -0.00833835 0.00829073 0.00824393 0.00819785 0.0081523 0.00810771 0.0080636 -0.00802021 0.00797751 0.00793534 0.00789391 0.00785304 0.00781271 0.00777309 -0.00773399 0.00769544 0.00765754 0.00762004 0.00758323 0.0075469 0.007511 -0.00747579 0.00744091 0.00740665 0.00737284 0.00733942 0.00730664 0.00727421 -0.00724225 0.00721077 0.00717969 0.00714908 0.00711892 0.00708906 0.00705978 -0.00703082 0.00700223 0.00697415 0.0069463 0.006919 0.00689199 0.00686531 -0.00683912 0.00681318 0.00678766 0.00676246 0.00673759 0.00671312 0.00668898 -0.0066651 0.00664165 0.00661844 0.00659557 0.00657307 0.00655073 0.0065289 -0.00650724 0.0064859 0.00646491 0.0064441 0.00642369 0.00640349 0.00638357 -0.00636399 0.00634465 0.00632556 0.00630678 0.00628819 0.00626992 0.00625192 -0.00623406 0.00621663 0.0061993 0.00618229 0.00616553 0.0061489 0.00613267 -0.00611654 0.00610071 0.00608511 0.00606971 0.00605455 0.00603962 0.00602485 -0.00601038 0.00599611 0.00598198 0.00596819 0.00595447 0.00594106 0.00592783 -0.00591472 0.00590196 0.00588926 0.00587686 0.00586461 0.00585254 0.00584071 -0.00582904 0.00581753 0.00580626 0.00579516 0.0057842 0.00577352 0.00576289 -0.00575258 0.00574237 0.00573231 0.00572252 0.00571277 0.00570333 0.00569399 -0.0056848 0.00567586 0.00566702 0.00565837 0.00564988 0.00564155 0.00563338 -0.00562542 0.00561753 0.00560991 0.00560237 0.005595 0.00558785 0.00558072 -0.00557391 0.00556714 0.00556056 0.00555417 0.00554787 0.00554177 0.00553578 -0.00552995 0.00552428 0.00551879 0.00551338 0.0055082 0.00550308 0.00549816 -0.0054934 0.00548867 0.00548426 0.00547986 0.00547567 0.00547161 0.00546765 -0.00546391 0.00546024 0.00545673 0.00545337 0.00545017 0.00544707 0.00544416 -0.00544132 0.00543868 0.00543618 0.00543373 0.00543155 0.00542939 0.00542746 -0.00542562 0.00542388 0.00542238 0.00542092 0.00541965 0.00541848 0.00541748 -0.0054166 0.00541589 0.00541524 0.00541481 0.00541448 0.00541424 0.00541425 -0.00541426 0.00541453 0.00541487 0.00541533 0.005416 0.00541672 0.00541765 -0.00541866 0.00541984 0.00542116 0.00542262 0.00542418 0.00542593 0.00542779 -0.00542976 0.00543195 0.00543415 0.00543665 0.00543918 0.00544188 0.00544475 -0.00544767 0.00545085 0.00545407 0.00545749 0.00546106 0.00546475; -#A 5000 0.00546859 0.00547258 0.00547669 0.00548095 0.00548542 0.00548992 -0.0054947 0.00549952 0.00550455 0.00550973 0.00551497 0.00552051 0.00552606 -0.00553186 0.00553778 0.00554385 0.00555009 0.00555647 0.00556299 0.00556969 -0.00557658 0.00558355 0.00559079 0.00559808 0.00560562 0.00561329 0.00562107 -0.00562914 0.00563723 0.00564562 0.00565411 0.00566277 0.00567164 0.00568065 -0.00568985 0.0056992 0.00570878 0.00571847 0.00572843 0.00573846 0.00574879 -0.00575925 0.00576985 0.00578074 0.00579168 0.00580298 0.00581436 0.00582595 -0.00583779 0.00584976 0.00586198 0.00587436 0.00588699 0.00589978 0.00591285 -0.00592604 0.00593953 0.00595318 0.00596703 0.00598119 0.00599541 0.00601005 -0.00602479 0.0060398 0.00605505 0.00607049 0.00608623 0.00610214 0.00611834 -0.00613476 0.00615149 0.00616839 0.00618561 0.00620304 0.00622073 0.00623875 -0.00625688 0.0062755 0.00629422 0.00631331 0.00633266 0.00635224 0.00637221 -0.00639236 0.00641289 0.00643367 0.00645481 0.0064762 0.00649795 0.00651996 -0.00654233 0.00656506 0.00658799 0.00661144 0.00663507 0.00665916 0.00668355 -0.00670824 0.00673341 0.00675882 0.00678472 0.0068109 0.00683753 0.00686452 -0.00689193 0.00691969 0.0069479 0.00697654 0.00700549 0.00703505 0.00706486 -0.00709527 0.00712605 0.00715727 0.00718904 0.00722114 0.00725388 0.00728698 -0.00732066 0.00735483 0.00738952 0.00742471 0.00746044 0.00749674 0.00753351 -0.00757101 0.00760889 0.00764754 0.00768667 0.00772643 0.00776686 0.00780779 -0.00784955 0.00789179 0.00793484 0.00797851 0.00802289 0.00806798 0.00811378 -0.00816035 0.00820759 0.00825577 0.00830456 0.00835432 0.00840478 0.00845613 -0.00850837 0.00856134 0.00861544 0.00867023 0.00872615 0.00878292 0.0088407 -0.00889951 0.00895928 0.00902017 0.00908204 0.00914519 0.00920928 0.0092747 -0.00934116 0.00940892 0.00947793 0.00954808 0.00961978 0.00969256 0.00976697 -0.00984263 0.00991979 0.00999848 0.0100786 0.0101604 0.0102437 0.0103288 -0.0104155 0.0105041 0.0105943 0.0106865 0.0107807 0.0108766 0.0109748 -0.0110748 0.0111773 0.0112818 0.0113886 0.0114978 0.0116094 0.0117236 -0.0118402 0.0119597 0.0120818 0.012207 0.0123349 0.012466 0.0126002 -0.0127376 0.0128787 0.0130229 0.0131711 0.0133229 0.0134787 0.0136385 -0.0138025 0.013971 0.0141438 0.0143217 0.0145043 0.0146922 0.0148853 -0.015084 0.0152886 0.0154991 0.0157162 0.0159395 0.0161702 0.0164078 -0.0166532 0.0169064 0.0171679 0.0174382 0.0177174 0.0180067 0.0183056 -0.0186156 0.0189366 0.0192694 0.0196149 0.0199732 0.0203459 0.0207328 -0.0211361 0.0215555 0.0219928 0.0224487 0.0229247 0.0234221 0.0239418 -0.0244867 0.0250568 0.0256558 0.0262842 0.0269453 0.0276416 0.0283749 -0.0291503 0.0299688 0.030837 0.0317572 0.0327354 0.0337767 0.0348874 -0.0360752 0.0373471 0.0387148 0.040186 0.0417773 0.0434987 0.0453711 -0.0474138 0.0496489 0.0521105 0.0548263 0.0578478 0.0612217 0.0650158 -0.0693149 0.0742246 0.0798875 0.0864879 0.0942849 0.103625 0.115038 -0.129265 0.147532 0.171815 0.205661 0.256214 0.339548 0.503688 0.974591 -0.517232 0.345614 0.259536 0.207763 0.173206 0.148509 0.129977 0.115547 -0.104011 0.0945609 0.0866908 0.0800303 0.0743156 0.0693709 0.0650372 -0.0612168 0.0578207 0.0547803 0.0520472 0.0495727 0.0473237 0.0452711 -0.0433892 0.0416582 0.0400612 0.0385812 0.0372091 0.0359311 0.034738 -0.0336234 0.0325772 0.0315958 0.030672 0.0298006 0.028979 0.0282013 -0.0274649 0.0267666 0.026103 0.0254726 0.0248721 0.0242994 0.0237537 -0.0232318 0.022733 0.0222558 0.0217981 0.02136 0.0209392 0.0205349 -0.0201468 0.0197731 0.0194136 0.0190674 0.0187333 0.0184117 0.018101 -0.0178009 0.0175113 0.0172309 0.0169601 0.0166979 0.0164438 0.0161981 -0.0159596 0.0157285 0.0155045 0.0152868 0.0150757 0.0148706 0.0146712 -0.0144777 0.0142893 0.0141061 0.013928 0.0137543 0.0135856 0.013421 -0.0132607 0.0131046 0.0129523 0.0128038 0.012659 0.0125175 0.0123798 -0.0122451 0.0121136 0.0119853 0.0118598 0.0117373 0.0116175 0.0115002 -0.0113859 0.0112738 0.0111643 0.0110571 0.0109521 0.0108495 0.010749 -0.0106505 0.0105541 0.0104597 0.0103671 0.0102765 0.0101875 0.0101006 -0.0100152 0.00993137 0.00984936 0.00976871 0.0096898 0.00961228 0.00953614 -0.00946161 0.00938831 0.00931639 0.00924581 0.00917643 0.00910837 0.00904155 -0.00897577 0.00891135 0.00884791 0.00878561 0.00872446 0.00866416 0.00860515 -0.00854698 0.00848981 0.00843368 0.00837838 0.00832408 0.00827063 0.00821801 -0.00816636 0.00811552 0.00806543 0.00801626 0.00796775 0.00792009 0.00787321 -0.0078269 0.00778157 0.00773676 0.00769273 0.00764939 0.00760662 0.00756464 -0.0075232 0.00748241 0.00744228 0.00740274 0.00736377 0.00732544 0.00728758 -0.00725039 0.00721373 0.00717751 0.007142 0.00710685 0.00707233 0.00703827 -0.00700462 0.00697163 0.00693898 0.00690687 0.00687519 0.00684397 0.00681322 -0.00678291 0.00675296 0.00672354 0.00669449 0.00666581 0.00663765 0.00660973 -0.00658236 0.00655529 0.00652858 0.00650234 0.00647635 0.00645082 0.00642559 -0.00640071 0.00637624 0.00635207 0.00632822 0.00630475 0.00628156 0.00625869 -0.00623621 0.0062139 0.00619208 0.00617045 0.00614914 0.00612817 0.00610739 -0.00608703 0.00606685 0.00604699 0.00602743 0.00600812 0.00598908 0.00597032 -0.00595179 0.00593354 0.00591559 0.00589779 0.00588038 0.0058631 0.00584612 -0.00582939 0.0058128 0.00579661 0.00578051 0.00576472 0.00574915 0.00573377 -0.00571865 0.00570373 0.00568901 0.00567454 0.00566029 0.00564619 0.0056324 -0.00561871 0.0056053 0.00559208 0.00557898 0.00556622 0.00555351 0.00554111 -0.00552885 0.00551676 0.00550492 0.00549322 0.00548171 0.0054704 0.00545927 -0.00544829 0.00543756 0.0054269 0.00541653 0.00540627 0.00539616 0.00538631 -0.0053765 0.00536699 0.00535758 0.00534832 0.00533929 0.00533036 0.00532163 -0.00531303 0.0053046 0.00529634 0.00528826 0.00528026 0.0052725 0.00526485 -0.00525734 0.00525005 0.00524277 0.00523582 0.0052289 0.00522216 0.0052156 -0.00520911 0.00520285 0.00519667 0.00519065 0.0051848 0.00517909 0.00517348 -0.00516807 0.00516275 0.00515759 0.0051526 0.00514763 0.00514297 0.00513832 -0.00513387 0.00512955 0.0051253 0.00512128 0.00511732 0.00511353 0.00510987 -0.00510635 0.00510295 0.0050997 0.00509653 0.00509355 0.0050907 0.0050879 -0.00508536 0.00508283 0.00508052 0.0050783 0.00507616 0.00507426 0.00507238 -0.00507071 0.00506912 0.00506767 0.00506637 0.00506518 0.0050641 0.00506318 -0.00506238 0.00506165 0.00506116 0.00506068 0.00506043 0.00506025 0.00506018 -0.00506031 0.00506047 0.00506085 0.00506129 0.00506188 0.00506263 0.00506348 -0.00506444 0.00506555 0.00506679 0.00506812 0.00506966 0.00507122 0.00507303 -0.00507488 0.00507688 0.00507905 0.00508125 0.00508371 0.0050862 0.00508887 -0.00509168 0.00509459 0.00509765 0.00510083 0.00510413 0.00510758 0.0051112 -0.00511488 0.00511878 0.00512274 0.00512687 0.00513116 0.00513548 0.0051401 -0.00514473 0.00514957 0.00515453 0.0051596 0.00516486 0.00517022 0.00517573 -0.00518138 0.00518722 0.00519313 0.00519927 0.00520547 0.00521188 0.00521843 -0.00522505 0.00523196 0.00523888 0.00524606 0.00525335 0.00526076 0.0052684 -0.00527613 0.00528405 0.00529209 0.00530034 0.00530872 0.0053173 0.00532596 -0.00533488 0.00534392 0.00535309 0.00536252 0.00537199 0.00538177 0.00539165 -0.00540169 0.00541196 0.00542234 0.00543296 0.0054437 0.00545467 0.0054658 -0.00547715 0.00548862 0.00550035 0.00551223 0.00552428 0.00553661 0.00554899 -0.00556174 0.00557457 0.00558764 0.00560094 0.00561437 0.00562811 0.00564196 -0.00565608 0.00567042 0.00568497 0.00569972 0.00571473 0.00572992 0.00574535 -0.00576106 0.00577688 0.0057931 0.00580944 0.00582607 0.00584295 0.00586 -0.00587743 0.00589499 0.00591289 0.00593101 0.00594942 0.00596808 0.00598702 -0.00600619 0.00602569 0.00604548 0.00606547 0.00608588 0.00610646 0.00612742 -0.00614866 0.00617014 0.00619205 0.00621414 0.00623667 0.00625945 0.00628258 -0.00630606 0.00632986 0.00635399 0.00637848 0.00640335 0.0064285 0.00645414 -0.00648 0.00650638 0.00653307 0.00656011 0.00658766 0.00661545 0.00664381 -0.00667248 0.00670159 0.00673118 0.00676115 0.00679158 0.00682245 0.00685379 -0.00688556 0.0069179 0.00695058 0.0069839 0.00701763 0.00705187 0.0070867 -0.00712189 0.00715784 0.00719417 0.00723113 0.00726867 0.00730674 0.00734545 -0.00738471 0.00742461 0.00746511 0.00750633 0.00754809 0.00759063 0.00763375 -0.00767759 0.00772219 0.00776734 0.00781347 0.00786015 0.00790772 0.00795603 -0.0080051 0.00805508 0.00810579 0.00815742 0.00820988 0.00826332 0.00831757 -0.00837285 0.00842898 0.00848617 0.00854436 0.00860345 0.00866381 0.00872502 -0.00878751 0.00885104 0.00891568 0.00898165 0.00904869 0.00911707 0.00918664 -0.00925762 0.00932988 0.00940358 0.0094786 0.00955517 0.00963322 0.00971269 -0.00979396 0.00987659 0.00996115 0.0100473 0.0101352 0.010225 0.0103165 -0.0104101 0.0105055 0.0106031 0.0107028 0.0108047 0.0109087 0.0110152 -0.0111239 0.0112351 0.011349 0.0114652 0.0115845 0.0117064 0.0118312 -0.0119591 0.01209 0.0122243 0.0123616 0.0125026 0.0126472 0.0127955 -0.0129475 0.0131036 0.0132639 0.0134284 0.0135976 0.0137712 0.01395 -0.0141336 0.0143225 0.014517 0.0147171 0.0149234 0.0151357 0.0153548 -0.0155805 0.0158135 0.016054 0.0163023 0.0165588 0.016824 0.0170984 -0.0173821 0.0176761 0.0179805 0.0182962 0.0186236 0.0189633 0.0193164 -0.0196831 0.0200649 0.0204621 0.0208759 0.0213075 0.0217578 0.0222281 -0.0227198 0.0232345 0.0237734 0.024339 0.0249323 0.0255564 0.0262131 -0.0269049 0.0276355 0.0284068 0.0292242 0.0300901 0.03101 0.0319889 -0.0330322 0.0341471 0.0353404 0.0366218 0.0379999 0.0394878 0.0410972 -0.0428451 0.0447494 0.0468318 0.0491196 0.0516425 0.0544421 0.0575626 -0.0610654 0.0650234 0.0695321 0.0747154 0.0807345 0.0878141 0.0962533 -0.106495 0.119176 0.135291 0.156453 0.185462 0.227697 0.294839 0.418177 -0.718915 0.6213 0.38315 0.276967 0.216875 0.178211 0.151243 0.131372 -0.116113 0.104034 0.0942325 0.0861185 0.0792949 0.0734733 0.068449 -0.0640702 0.0602179 0.0568045 0.0537583 0.0510224 0.0485538 0.0463131 -0.0442712 0.0424029 0.0406864 0.0391046 0.037642 0.0362852 0.0350243 -0.0338484 0.0327495 0.0317209 0.0307549 0.0298475 0.0289923 0.0281853 -0.027423 0.026701 0.0260171 0.0253676 0.0247503 0.0241632 0.0236037 -0.0230699 0.0225605 0.0220734 0.0216074 0.0211614 0.0207335 0.0203236 -0.0199297 0.0195513 0.0191875 0.0188372 0.0185003 0.0181754 0.0178622 -0.0175601 0.0172684 0.0169866 0.0167143 0.0164509 0.0161961 0.0159496 -0.0157106 0.0154794 0.0152549 0.0150374 0.0148263 0.0146212 0.0144225 -0.0142291 0.0140413 0.0138587 0.0136811 0.0135084 0.0133402 0.0131765 -0.0130171 0.0128619 0.0127105 0.0125632 0.0124193 0.0122791 0.0121423 -0.0120087 0.0118785 0.0117512 0.011627 0.0115056 0.011387 0.0112712 -0.0111579 0.0110471 0.0109388; -#A 6000 0.0108329 0.0107292 0.0106279 0.0105285 0.0104314 0.0103363 -0.010243 0.0101519 0.0100624 0.0099749 0.00988903 0.00980486 0.00972247 -0.00964156 0.00956231 0.00948452 0.00940824 0.00933342 0.00926005 0.00918794 -0.0091173 0.00904787 0.00897971 0.00891289 0.00884705 0.00878269 0.00871928 -0.00865704 0.00859594 0.0085358 0.00847683 0.00841877 0.00836175 0.00830573 -0.00825066 0.00819647 0.00814325 0.00809085 0.00803935 0.00798875 0.00793882 -0.00788994 0.00784167 0.00779427 0.00774763 0.00770163 0.00765652 0.00761199 -0.00756825 0.00752516 0.00748276 0.00744101 0.00739993 0.00735941 0.0073196 -0.00728039 0.00724168 0.00720373 0.00716618 0.00712933 0.00709298 0.0070571 -0.00702191 0.0069871 0.00695291 0.00691917 0.00688594 0.00685322 0.00682096 -0.00678914 0.00675784 0.00672698 0.00669651 0.0066666 0.00663697 0.00660792 -0.00657921 0.00655088 0.00652305 0.00649549 0.00646845 0.00644171 0.00641537 -0.00638945 0.00636386 0.00633863 0.00631376 0.00628924 0.00626504 0.00624128 -0.00621771 0.00619462 0.00617176 0.00614923 0.00612708 0.00610511 0.00608362 -0.0060623 0.00604133 0.00602068 0.00600027 0.00598019 0.00596037 0.00594081 -0.00592154 0.0059026 0.00588383 0.00586544 0.00584721 0.00582928 0.00581163 -0.00579412 0.00577704 0.00576005 0.00574339 0.00572695 0.00571071 0.00569477 -0.005679 0.00566348 0.00564818 0.00563315 0.00561827 0.00560369 0.00558923 -0.00557506 0.00556109 0.00554725 0.00553376 0.00552033 0.00550721 0.00549425 -0.00548145 0.00546893 0.00545653 0.00544436 0.00543235 0.00542057 0.00540895 -0.00539755 0.00538625 0.00537523 0.00536435 0.0053536 0.00534314 0.00533271 -0.0053226 0.00531257 0.00530271 0.00529309 0.00528355 0.00527425 0.00526505 -0.00525606 0.00524722 0.00523856 0.00523002 0.00522168 0.00521347 0.0052054 -0.00519756 0.00518974 0.00518224 0.00517478 0.0051675 0.0051604 0.00515337 -0.00514658 0.00513986 0.00513333 0.00512695 0.00512071 0.00511459 0.00510865 -0.00510281 0.00509713 0.00509162 0.00508616 0.00508097 0.00507582 0.00507085 -0.00506602 0.00506126 0.00505675 0.00505226 0.00504798 0.00504382 0.00503978 -0.00503589 0.00503212 0.00502846 0.00502497 0.00502162 0.00501832 0.00501527 -0.00501224 0.00500942 0.0050067 0.00500406 0.00500165 0.00499926 0.00499709 -0.00499499 0.00499303 0.00499122 0.00498952 0.00498793 0.00498648 0.00498517 -0.00498395 0.00498293 0.00498192 0.00498115 0.00498046 0.00497986 0.00497946 -0.00497908 0.00497895 0.00497886 0.0049789 0.00497912 0.00497941 0.00497985 -0.00498041 0.00498109 0.00498189 0.00498287 0.00498388 0.00498511 0.00498641 -0.00498784 0.00498944 0.00499106 0.00499296 0.00499487 0.00499695 0.00499917 -0.00500148 0.00500395 0.00500652 0.00500923 0.00501207 0.00501508 0.00501814 -0.00502142 0.00502475 0.00502825 0.0050319 0.00503558 0.00503956 0.00504353 -0.00504771 0.00505201 0.0050564 0.005061 0.00506567 0.0050705 0.00507546 -0.00508059 0.00508582 0.00509123 0.00509671 0.0051024 0.00510822 0.0051141 -0.00512026 0.00512644 0.00513285 0.00513937 0.00514599 0.00515286 0.00515979 -0.00516691 0.00517416 0.00518158 0.00518914 0.00519687 0.0052047 0.00521275 -0.00522094 0.00522923 0.00523779 0.00524637 0.00525524 0.00526421 0.00527332 -0.00528267 0.00529209 0.00530177 0.00531154 0.00532152 0.00533168 0.00534201 -0.00535248 0.00536317 0.00537401 0.00538502 0.00539627 0.00540758 0.00541924 -0.00543097 0.00544291 0.00545508 0.00546735 0.00547993 0.00549261 0.00550553 -0.00551866 0.00553197 0.00554549 0.00555922 0.00557314 0.00558727 0.00560167 -0.00561618 0.00563103 0.005646 0.00566124 0.00567672 0.00569232 0.00570831 -0.0057244 0.00574081 0.00575743 0.00577428 0.0057914 0.00580874 0.00582632 -0.00584418 0.00586232 0.00588064 0.00589933 0.00591818 0.00593738 0.00595684 -0.00597649 0.00599657 0.00601678 0.00603741 0.00605827 0.00607941 0.00610091 -0.00612267 0.00614474 0.00616714 0.00618986 0.00621287 0.00623629 0.00625991 -0.00628401 0.00630839 0.00633307 0.00635821 0.00638356 0.00640944 0.0064356 -0.00646212 0.0064891 0.00651639 0.00654411 0.00657221 0.00660073 0.00662967 -0.00665906 0.00668879 0.00671906 0.00674971 0.0067808 0.00681243 0.00684435 -0.00687697 0.00690992 0.0069434 0.00697742 0.00701187 0.00704692 0.00708243 -0.00711849 0.00715513 0.00719234 0.00723005 0.00726843 0.00730731 0.00734684 -0.00738701 0.00742766 0.00746918 0.00751117 0.0075539 0.00759731 0.00764133 -0.00768618 0.00773164 0.00777789 0.00782489 0.00787265 0.00792119 0.00797056 -0.00802065 0.00807169 0.00812356 0.00817618 0.00822991 0.00828435 0.00833987 -0.00839629 0.00845359 0.00851209 0.00857143 0.00863194 0.00869347 0.00875609 -0.00881988 0.00888482 0.00895086 0.00901823 0.00908679 0.00915656 0.00922782 -0.00930019 0.00937416 0.00944943 0.00952611 0.00960443 0.0096841 0.00976551 -0.00984844 0.00993302 0.0100194 0.0101075 0.0101974 0.0102892 0.0103829 -0.0104786 0.0105764 0.0106761 0.0107782 0.0108824 0.0109889 0.0110978 -0.0112091 0.0113231 0.0114395 0.0115587 0.0116808 0.0118057 0.0119336 -0.0120646 0.0121987 0.0123362 0.0124772 0.0126216 0.0127699 0.0129219 -0.0130779 0.0132382 0.0134024 0.0135715 0.013745 0.0139234 0.0141069 -0.0142954 0.0144896 0.0146895 0.0148951 0.0151072 0.0153257 0.0155508 -0.0157833 0.0160229 0.0162706 0.0165264 0.0167905 0.017064 0.0173465 -0.0176393 0.0179425 0.0182565 0.0185826 0.0189206 0.0192717 0.0196366 -0.0200159 0.0204108 0.0208221 0.0212504 0.0216978 0.0221646 0.0226524 -0.023163 0.0236972 0.0242577 0.0248457 0.0254633 0.0261135 0.0267979 -0.0275199 0.0282827 0.0290892 0.0299443 0.0308516 0.031816 0.032844 -0.0339408 0.0351145 0.0363732 0.0377254 0.0391842 0.0407604 0.0424695 -0.04433 0.0463607 0.0485883 0.0510419 0.0537557 0.0567784 0.0601602 -0.0639721 0.068302 0.0732592 0.0789974 0.0857095 0.0936697 0.103263 -0.115046 0.129865 0.149072 0.174937 0.211677 0.267956 0.364919 0.572075 -0.804167 0.447351 0.309882 0.23707 0.191946 0.161275 0.139051 0.12222 -0.109025 0.0984049 0.0896724 0.0823664 0.0761634 0.0708297 0.0661991 -0.0621357 0.0585465 0.0553492 0.052485 0.0499045 0.0475661 0.0454397 -0.043495 0.0417125 0.0400706 0.0385545 0.0371499 0.0358448 0.0346297 -0.0334944 0.0324331 0.0314369 0.0305016 0.0296208 0.0287903 0.028006 -0.0272636 0.0265608 0.0258934 0.0252602 0.0246572 0.0240834 0.0235361 -0.0230137 0.0225149 0.0220373 0.0215808 0.0211428 0.0207232 0.0203202 -0.0199332 0.0195613 0.0192033 0.0188589 0.0185268 0.0182071 0.0178984 -0.0176007 0.017313 0.0170351 0.0167665 0.0165063 0.016255 0.0160112 -0.0157754 0.0155467 0.0153249 0.0151098 0.0149009 0.0146983 0.0145013 -0.0143101 0.0141241 0.0139434 0.0137674 0.0135963 0.0134297 0.0132674 -0.0131096 0.0129555 0.0128056 0.0126593 0.0125166 0.0123775 0.0122417 -0.0121093 0.0119798 0.0118536 0.0117302 0.0116098 0.011492 0.0113769 -0.0112644 0.0111543 0.0110468 0.0109414 0.0108385 0.0107377 0.010639 -0.0105424 0.0104478 0.0103552 0.0102644 0.0101755 0.0100884 0.0100031 -0.00991937 0.00983735 0.00975692 0.00967797 0.00960071 0.00952467 0.00945035 -0.00937724 0.00930554 0.00923522 0.00916605 0.00909832 0.00903164 0.00896631 -0.00890209 0.00883904 0.00877707 0.0087162 0.00865639 0.00859758 0.0085399 -0.00848302 0.00842733 0.00837242 0.00831851 0.00826551 0.00821328 0.0081621 -0.00811157 0.00806204 0.00801323 0.00796523 0.00791801 0.00787154 0.0078258 -0.00778079 0.00773657 0.00769291 0.0076501 0.00760781 0.00756629 0.00752538 -0.00748502 0.00744545 0.00740629 0.00736791 0.00733001 0.00729271 0.007256 -0.0072198 0.00718417 0.00714905 0.0071145 0.00708039 0.0070469 0.00701376 -0.00698125 0.00694916 0.00691749 0.0068864 0.00685559 0.00682543 0.00679558 -0.00676619 0.00673727 0.00670871 0.0066806 0.00665286 0.00662556 0.0065986 -0.00657211 0.0065459 0.00652016 0.00649473 0.00646965 0.00644501 0.00642056 -0.00639667 0.00637297 0.00634966 0.0063267 0.00630401 0.00628171 0.00625966 -0.00623795 0.00621655 0.0061955 0.00617467 0.00615422 0.00613399 0.00611408 -0.00609449 0.00607505 0.00605608 0.00603723 0.00601873 0.00600048 0.00598245 -0.00596476 0.00594724 0.00593003 0.00591304 0.00589634 0.00587984 0.00586363 -0.00584759 0.00583184 0.00581633 0.00580096 0.00578597 0.00577105 0.00575647 -0.00574207 0.00572783 0.00571392 0.00570011 0.0056866 0.00567323 0.00566011 -0.00564719 0.00563448 0.00562192 0.00560961 0.00559749 0.00558551 0.00557383 -0.00556221 0.00555091 0.00553972 0.0055287 0.00551794 0.00550727 0.00549687 -0.00548657 0.00547649 0.00546659 0.00545686 0.00544729 0.0054379 0.00542868 -0.0054196 0.00541077 0.00540198 0.0053935 0.00538508 0.00537685 0.00536882 -0.00536085 0.00535316 0.00534553 0.00533811 0.00533085 0.00532373 0.00531676 -0.00530995 0.00530327 0.00529675 0.00529043 0.00528417 0.00527816 0.00527221 -0.00526645 0.00526085 0.0052553 0.00525004 0.0052448 0.00523978 0.00523488 -0.0052301 0.0052255 0.00522101 0.00521665 0.00521244 0.00520841 0.00520444 -0.0052007 0.005197 0.00519352 0.00519015 0.00518684 0.0051838 0.00518076 -0.00517797 0.00517525 0.00517265 0.00517025 0.00516792 0.00516575 0.00516369 -0.0051618 0.00516 0.00515839 0.00515681 0.00515547 0.00515422 0.00515305 -0.00515211 0.00515117 0.0051505 0.00514988 0.00514938 0.00514908 0.00514883 -0.00514876 0.00514879 0.00514896 0.00514926 0.00514972 0.00515025 0.00515097 -0.00515178 0.00515272 0.00515384 0.00515496 0.00515639 0.00515783 0.00515943 -0.00516119 0.00516302 0.00516504 0.00516714 0.00516939 0.00517179 0.00517433 -0.00517696 0.00517978 0.00518267 0.00518572 0.00518894 0.00519218 0.00519572 -0.00519927 0.00520301 0.00520688 0.00521083 0.00521502 0.00521925 0.00522367 -0.00522821 0.0052329 0.00523773 0.00524271 0.00524777 0.00525304 0.00525845 -0.00526392 0.00526967 0.00527543 0.00528143 0.00528754 0.00529375 0.00530021 -0.00530671 0.00531344 0.00532028 0.00532727 0.00533443 0.00534174 0.00534917 -0.0053568 0.00536457 0.00537245 0.00538059 0.00538876 0.00539722 0.00540577 -0.00541445 0.00542339 0.00543237 0.00544164 0.00545099 0.00546052 0.00547027 -0.00548016 0.00549021 0.00550045 0.00551085 0.00552141 0.00553223 0.0055431 -0.00555429 0.00556557 0.00557705 0.00558877 0.00560056 0.00561268 0.00562489 -0.00563733 0.00564999 0.0056628 0.00567584 0.00568907 0.00570247 0.00571611 -0.00572999 0.005744 0.00575832 0.00577276 0.00578746 0.0058024 0.00581744 -0.00583289 0.00584842 0.00586425 0.00588031 0.00589654 0.00591309 0.00592982 -0.00594679 0.00596403 0.00598153 0.00599923 0.00601726 0.00603544 0.00605398 -0.00607276 0.00609172 0.0061111 0.0061306 0.00615049 0.00617062 0.00619098 -0.00621174 0.0062327 0.00625399 0.00627557 0.00629747 0.00631966 0.0063422 -0.00636496 0.00638817 0.00641163 0.00643539 0.0064596 0.00648399 0.00650888 -0.00653404 0.00655953 0.00658548 0.00661168 0.00663833 0.00666532 0.00669269 -0.00672049 0.00674868 0.00677721 0.00680624 0.00683561 0.00686541 0.00689571 -0.00692627 0.00695751 0.00698905 0.00702107 0.00705361 0.00708651 0.00712002 -0.00715393 0.00718835 0.00722334 0.0072588 0.00729478; -#A 7000 0.00733134 0.00736836 0.00740601 0.00744423 0.0074829 0.00752236 -0.00756226 0.00760283 0.00764405 0.00768576 0.00772832 0.00777139 0.00781517 -0.00785968 0.00790482 0.00795072 0.00799734 0.00804461 0.00809279 0.00814167 -0.00819128 0.00824184 0.00829305 0.00834525 0.00839826 0.00845203 0.00850692 -0.00856253 0.00861919 0.0086768 0.0087353 0.00879494 0.00885553 0.00891712 -0.00897991 0.00904371 0.00910865 0.00917483 0.00924199 0.00931062 0.00938035 -0.00945131 0.00952374 0.0095973 0.00967242 0.00974888 0.00982668 0.00990618 -0.00998706 0.0100695 0.0101537 0.0102393 0.0103268 0.010416 0.0105069 -0.0105999 0.0106946 0.0107912 0.01089 0.0109906 0.0110937 0.0111988 -0.0113061 0.011416 0.011528 0.0116427 0.0117599 0.0118796 0.0120024 -0.0121278 0.0122561 0.0123876 0.012522 0.0126598 0.012801 0.0129453 -0.0130937 0.0132455 0.0134013 0.0135611 0.0137249 0.0138933 0.014066 -0.0142433 0.0144257 0.0146129 0.0148054 0.0150035 0.015207 0.0154169 -0.0156327 0.0158549 0.0160842 0.0163202 0.0165638 0.0168152 0.0170742 -0.0173424 0.0176192 0.0179052 0.0182014 0.0185074 0.0188248 0.0191535 -0.0194939 0.0198478 0.0202146 0.0205958 0.0209922 0.0214041 0.0218336 -0.0222808 0.0227468 0.023234 0.0237423 0.024274 0.0248309 0.0254134 -0.0260257 0.026668 0.0273431 0.0280546 0.0288036 0.0295953 0.0304316 -0.0313166 0.0322565 0.0332543 0.0343162 0.0354496 0.0366599 0.0379571 -0.0393506 0.0408485 0.042469 0.0442213 0.046126 0.0482039 0.0504751 -0.0529766 0.0557353 0.058799 0.0622208 0.066064 0.0704153 0.0753809 -0.0810966 0.0877563 0.0956087 0.10499 0.116434 0.130653 0.148847 0.172921 -0.206235 0.255565 0.335686 0.489196 0.900816 0.548376 0.362647 0.270945 -0.216277 0.179971 0.154102 0.134764 0.119725 0.107727 0.0979073 0.0897353 -0.0828305 0.0769064 0.0717859 0.0672999 0.0633486 0.0598373 0.0566948 -0.0538696 0.0513134 0.0489916 0.0468708 0.04493 0.0431428 0.041496 -0.0399696 0.0385536 0.0372362 0.0360055 0.034857 0.0337783 0.0327671 -0.0318151 0.0309177 0.0300709 0.0292695 0.0285113 0.0277915 0.027109 -0.0264591 0.0258412 0.0252517 0.0246895 0.0241526 0.0236387 0.023148 -0.0226767 0.0222259 0.0217928 0.021377 0.0209776 0.020593 0.0202234 -0.0198667 0.0195238 0.0191925 0.0188731 0.0185646 0.0182665 0.0179785 -0.0176996 0.0174303 0.0171689 0.0169163 0.0166712 0.0164337 0.0162033 -0.0159796 0.0157627 0.0155516 0.0153471 0.0151479 0.0149545 0.0147663 -0.0145832 0.014405 0.0142313 0.0140625 0.0138977 0.0137375 0.013581 -0.0134285 0.0132798 0.0131346 0.0129931 0.0128547 0.01272 0.012588 -0.0124594 0.0123336 0.0122106 0.0120905 0.0119728 0.0118581 0.0117455 -0.0116357 0.011528 0.0114227 0.0113196 0.0112186 0.0111198 0.0110228 -0.0109281 0.0108351 0.0107441 0.0106548 0.0105673 0.0104815 0.0103973 -0.0103149 0.0102338 0.0101546 0.0100766 0.0100002 0.0099252 0.00985153 -0.0097793 0.00970822 0.00963868 0.00957015 0.00950305 0.00943699 0.00937215 -0.00930849 0.00924577 0.00918439 0.00912381 0.00906449 0.00900605 0.00894865 -0.00889222 0.00883667 0.00878213 0.00872837 0.00867569 0.00862369 0.00857269 -0.0085224 0.00847299 0.00842438 0.00837643 0.00832945 0.00828299 0.00823748 -0.00819256 0.00814837 0.0081049 0.00806204 0.00801993 0.00797835 0.00793756 -0.00789727 0.00785771 0.00781864 0.00778025 0.00774242 0.00770508 0.00766846 -0.00763218 0.00759667 0.00756154 0.00752697 0.00749295 0.00745936 0.00742635 -0.00739372 0.00736169 0.00733004 0.00729894 0.0072682 0.00723798 0.00720818 -0.00717876 0.00714989 0.00712125 0.00709325 0.0070655 0.00703821 0.00701133 -0.00698476 0.00695868 0.00693286 0.00690751 0.00688247 0.00685785 0.00683352 -0.00680959 0.00678597 0.00676268 0.0067398 0.0067171 0.00669493 0.00667292 -0.00665131 0.00663001 0.00660894 0.0065883 0.00656782 0.00654776 0.00652792 -0.00650842 0.00648917 0.00647023 0.00645153 0.00643312 0.00641503 0.00639708 -0.00637958 0.00636218 0.00634515 0.00632833 0.00631171 0.00629546 0.00627932 -0.00626355 0.00624794 0.00623261 0.00621751 0.00620264 0.00618799 0.00617357 -0.00615941 0.00614539 0.00613172 0.00611813 0.00610489 0.0060918 0.00607889 -0.00606628 0.00605375 0.00604158 0.0060295 0.00601766 0.00600605 0.00599461 -0.00598337 0.00597232 0.00596148 0.00595079 0.00594039 0.00593005 0.00592002 -0.0059101 0.00590037 0.00589088 0.00588145 0.00587236 0.00586333 0.00585453 -0.00584591 0.00583743 0.00582917 0.00582104 0.00581309 0.0058053 0.00579775 -0.00579027 0.00578305 0.00577593 0.00576899 0.00576225 0.00575556 0.00574921 -0.00574287 0.00573678 0.00573082 0.00572499 0.00571937 0.00571386 0.00570852 -0.00570333 0.00569834 0.00569344 0.00568876 0.00568416 0.00567977 0.00567553 -0.00567135 0.00566747 0.00566359 0.00565998 0.00565646 0.00565306 0.00564989 -0.00564679 0.00564388 0.00564108 0.00563847 0.00563597 0.00563366 0.00563142 -0.0056294 0.0056275 0.00562569 0.00562413 0.00562258 0.00562131 0.0056201 -0.00561903 0.00561817 0.00561736 0.00561677 0.00561625 0.00561592 0.00561574 -0.0056157 0.00561576 0.00561601 0.00561637 0.00561686 0.00561756 0.00561826 -0.00561929 0.00562033 0.00562155 0.00562294 0.00562439 0.00562608 0.00562782 -0.00562976 0.00563185 0.00563407 0.00563642 0.00563894 0.00564156 0.00564434 -0.00564731 0.00565032 0.00565362 0.00565694 0.00566047 0.00566415 0.00566788 -0.00567191 0.00567595 0.00568022 0.00568462 0.00568916 0.00569386 0.00569871 -0.00570366 0.00570882 0.00571414 0.00571954 0.0057252 0.0057309 0.00573684 -0.00574291 0.00574907 0.00575551 0.00576198 0.00576871 0.00577555 0.00578253 -0.00578973 0.00579705 0.00580453 0.00581219 0.00582001 0.00582797 0.00583617 -0.00584441 0.00585296 0.00586161 0.00587039 0.00587945 0.00588854 0.00589794 -0.00590744 0.00591711 0.00592703 0.00593705 0.00594729 0.0059577 0.00596828 -0.00597906 0.00599007 0.00600116 0.00601256 0.00602407 0.00603578 0.00604775 -0.00605976 0.00607217 0.00608464 0.00609734 0.0061103 0.00612338 0.00613673 -0.00615025 0.00616395 0.00617794 0.00619213 0.00620647 0.00622112 0.0062359 -0.00625096 0.00626626 0.00628167 0.0062975 0.00631341 0.00632961 0.00634607 -0.00636268 0.00637965 0.00639678 0.00641417 0.00643185 0.00644976 0.00646792 -0.00648637 0.00650499 0.00652399 0.00654322 0.00656265 0.0065825 0.00660247 -0.00662284 0.00664346 0.00666428 0.00668556 0.006707 0.0067288 0.0067509 -0.00677327 0.00679601 0.00681905 0.00684233 0.00686606 0.00689004 0.00691434 -0.00693907 0.00696399 0.00698943 0.00701513 0.00704114 0.00706765 0.00709438 -0.00712159 0.00714913 0.00717701 0.00720539 0.0072341 0.00726319 0.00729276 -0.00732266 0.00735302 0.00738385 0.00741495 0.00744672 0.0074788 0.00751134 -0.00754442 0.00757781 0.00761186 0.00764628 0.00768118 0.0077167 0.00775262 -0.0077891 0.00782613 0.00786359 0.00790172 0.00794038 0.0079795 0.00801938 -0.00805967 0.00810065 0.00814226 0.00818431 0.00822725 0.00827065 0.00831474 -0.00835957 0.00840495 0.00845113 0.00849799 0.00854545 0.00859384 0.00864286 -0.00869262 0.00874327 0.00879454 0.00884679 0.0088998 0.00895355 0.00900837 -0.00906387 0.00912038 0.00917781 0.00923602 0.00929542 0.00935566 0.00941685 -0.00947922 0.00954247 0.00960688 0.00967241 0.00973884 0.00980673 0.0098756 -0.00994565 0.0100171 0.0100895 0.0101635 0.0102387 0.0103151 0.0103931 -0.0104724 0.0105531 0.0106355 0.0107191 0.0108046 0.0108915 0.01098 -0.0110705 0.0111624 0.0112563 0.011352 0.0114494 0.011549 0.0116505 -0.0117539 0.0118597 0.0119674 0.0120775 0.0121899 0.0123044 0.0124218 -0.0125414 0.0126636 0.0127887 0.0129162 0.0130469 0.0131804 0.0133167 -0.0134566 0.0135994 0.0137456 0.0138954 0.0140485 0.0142057 0.0143665 -0.0145311 0.0147003 0.0148733 0.0150511 0.0152334 0.01542 0.0156123 -0.0158093 0.0160117 0.0162199 0.0164335 0.0166535 0.0168797 0.017112 -0.0173518 0.0175984 0.0178524 0.0181145 0.0183841 0.0186629 0.0189504 -0.0192468 0.0195538 0.0198703 0.0201982 0.0205372 0.0208877 0.0212516 -0.0216283 0.0220187 0.0224245 0.0228454 0.0232828 0.0237383 0.0242108 -0.0247049 0.0252188 0.0257548 0.0263155 0.0269001 0.0275133 0.0281543 -0.0288261 0.0295324 0.0302736 0.0310536 0.0318757 0.0327421 0.033658 -0.0346275 0.0356525 0.0367438 0.0379017 0.0391365 0.0404559 0.0418639 -0.0433799 0.0450046 0.0467581 0.0486551 0.0507103 0.0529499 0.0553951 -0.0580756 0.0610323 0.0643062 0.0679447 0.072029 0.0766246 0.0818551 -0.0878512 0.0947778 0.102922 0.112556 0.124204 0.138527 0.156561 0.180033 -0.211722 0.256955 0.326725 0.448507 0.714325 0.698963 0.442655 0.323731 -0.255241 0.210743 0.179391 0.156252 0.13836 0.124174 0.112638 0.103052 -0.0949893 0.0880928 0.0821407 0.0769422 0.0723699 0.0683096 0.0646897 -0.0614312 0.05849 0.0558221 0.0533835 0.05116 0.0491086 0.0472219 0.0454758 -0.0438543 0.0423487 0.0409418 0.0396296 0.0383988 0.0372445 0.0361581 -0.0351357 0.0341697 0.0332572 0.0323936 0.0315732 0.0307975 0.030057 -0.0293545 0.0286842 0.0280446 0.0274348 0.0268504 0.0262928 0.0257576 -0.0252455 0.0247537 0.0242818 0.0238281 0.023392 0.0229724 0.0225676 -0.022179 0.0218028 0.0214411 0.0210911 0.0207531 0.020427 0.0201106 -0.0198055 0.0195093 0.0192232 0.0189456 0.0186766 0.0184156 0.0181624 -0.0179168 0.0176778 0.0174464 0.0172208 0.0170022 0.016789 0.0165818 -0.0163804 0.0161838 0.0159929 0.0158064 0.0156252 0.0154483 0.0152759 -0.0151078 0.0149437 0.0147837 0.0146272 0.014475 0.0143258 0.0141806 -0.0140383 0.0138994 0.0137637 0.0136308 0.0135012 0.013374 0.01325 -0.0131284 0.0130095 0.0128931 0.0127791 0.0126676 0.0125581 0.0124512 -0.0123462 0.0122436 0.0121428 0.012044 0.0119473 0.0118522 0.0117594 -0.0116678 0.0115785 0.0114906 0.0114045 0.0113199 0.0112368 0.0111554 -0.0110753 0.0109969 0.0109196 0.010844 0.0107696 0.0106966 0.0106248 -0.0105542 0.0104851 0.0104168 0.0103501 0.0102842 0.0102196 0.0101561 -0.0100935 0.0100322 0.00997162 0.00991237 0.00985382 0.00979647 0.00973991 -0.00968431 0.00962965 0.00957574 0.00952289 0.00947064 0.00941951 0.00936898 -0.00931937 0.00927048 0.00922234 0.00917504 0.00912829 0.00908253 0.00903722 -0.00899284 0.00894899 0.00890586 0.00886342 0.00882151 0.0087804 0.00873971 -0.00869987 0.00866046 0.00862175 0.00858355 0.00854593 0.00850892 0.00847233 -0.00843649 0.00840096 0.00836618 0.00833176 0.0082979 0.00826457 0.00823162 -0.00819931 0.00816728 0.00813594 0.00810492 0.00807443 0.00804434 0.00801469 -0.00798551 0.00795666 0.0079284 0.00790036 0.00787293 0.00784576 0.00781905 -0.00779274 0.00776671 0.00774123 0.00771593 0.00769121 0.00766671 0.00764264 -0.00761891 0.00759551 0.00757247 0.00754973 0.00752744 0.00750533 0.00748372 -0.00746229 0.00744127 0.00742055 0.00740006 0.00738003 0.00736011 0.00734071 -0.00732146 0.00730256 0.00728396 0.00726561 0.00724758 0.00722977 0.00721234 -; -#A 8000 0.00719506 0.0071782 0.00716146 0.00714511 0.00712897 0.00711304 -0.0070975 0.00708202 0.00706701 0.00705211 0.00703751 0.00702316 0.00700902 -0.00699516 0.00698148 0.00696811 0.00695489 0.00694202 0.00692925 0.00691682 -0.00690455 0.00689249 0.00688074 0.00686904 0.00685778 0.00684658 0.00683566 -0.00682496 0.00681441 0.00680415 0.00679401 0.00678414 0.00677444 0.00676501 -0.00675569 0.00674666 0.00673776 0.00672908 0.00672064 0.00671225 0.00670428 -0.00669632 0.00668865 0.00668115 0.00667378 0.0066667 0.0066597 0.00665297 -0.00664637 0.00664002 0.00663379 0.00662779 0.00662191 0.00661627 0.00661081 -0.00660543 0.0066004 0.00659539 0.00659067 0.00658607 0.0065816 0.00657743 -0.0065733 0.00656945 0.00656569 0.00656216 0.00655878 0.00655559 0.00655252 -0.00654967 0.00654699 0.0065444 0.00654213 0.00653985 0.0065379 0.00653603 -0.00653431 0.00653285 0.00653143 0.0065303 0.00652924 0.00652838 0.00652772 -0.0065272 0.00652683 0.00652664 0.00652661 0.00652672 0.00652708 0.00652747 -0.00652818 0.00652895 0.0065299 0.00653107 0.00653229 0.00653382 0.00653539 -0.00653719 0.00653916 0.00654127 0.00654356 0.00654601 0.00654861 0.00655138 -0.00655438 0.00655743 0.00656079 0.00656419 0.00656782 0.00657164 0.0065755 -0.00657972 0.00658395 0.00658844 0.00659309 0.00659786 0.00660287 0.006608 -0.0066133 0.00661879 0.00662449 0.00663029 0.00663636 0.00664249 0.00664889 -0.00665545 0.00666209 0.00666908 0.00667608 0.00668339 0.00669082 0.00669839 -0.00670625 0.00671421 0.00672238 0.00673073 0.00673928 0.00674799 0.00675695 -0.00676598 0.00677534 0.00678483 0.00679446 0.00680441 0.00681438 0.00682473 -0.00683517 0.00684579 0.00685672 0.00686774 0.00687903 0.00689049 0.00690215 -0.00691406 0.00692618 0.00693843 0.006951 0.0069637 0.00697664 0.00698985 -0.00700312 0.00701683 0.00703062 0.00704466 0.00705898 0.00707343 0.00708821 -0.00710315 0.00711831 0.0071338 0.00714948 0.00716537 0.00718157 0.00719792 -0.00721459 0.00723153 0.00724858 0.00726609 0.0072837 0.00730164 0.00731986 -0.00733823 0.00735703 0.00737598 0.00739523 0.00741481 0.00743461 0.00745472 -0.00747513 0.00749572 0.00751676 0.00753803 0.00755953 0.00758148 0.00760356 -0.0076261 0.0076489 0.00767191 0.00769544 0.00771913 0.00774323 0.00776766 -0.00779234 0.00781749 0.00784292 0.00786863 0.00789483 0.00792129 0.00794813 -0.00797541 0.00800289 0.00803096 0.00805929 0.00808797 0.00811719 0.00814663 -0.00817662 0.00820696 0.00823762 0.0082689 0.00830048 0.00833249 0.00836501 -0.00839786 0.00843127 0.00846513 0.00849931 0.0085342 0.0085694 0.00860512 -0.00864141 0.00867802 0.00871537 0.00875311 0.00879132 0.00883024 0.00886953 -0.00890947 0.00894998 0.0089909 0.00903263 0.00907484 0.00911758 0.0091611 -0.00920505 0.00924977 0.00929511 0.00934093 0.00938771 0.00943496 0.00948293 -0.00953169 0.00958098 0.00963119 0.00968207 0.00973356 0.00978608 0.00983918 -0.00989314 0.00994797 0.0100034 0.01006 0.0101173 0.0101753 0.0102345 -0.0102944 0.0103553 0.0104172 0.0104799 0.0105438 0.0106086 0.0106744 -0.0107414 0.0108092 0.0108783 0.0109485 0.0110196 0.0110923 0.0111659 -0.0112407 0.0113169 0.0113942 0.011473 0.0115531 0.0116343 0.0117173 -0.0118014 0.0118871 0.0119744 0.0120628 0.0121533 0.0122451 0.0123386 -0.012434 0.0125307 0.0126296 0.0127301 0.0128323 0.0129369 0.0130431 -0.0131514 0.0132619 0.0133743 0.0134891 0.0136061 0.013725 0.013847 -0.0139709 0.0140975 0.0142268 0.0143583 0.0144932 0.0146305 0.0147707 -0.0149141 0.0150604 0.0152099 0.0153629 0.0155188 0.0156788 0.0158422 -0.0160089 0.0161801 0.0163546 0.0165338 0.0167171 0.0169042 0.017097 -0.0172936 0.0174954 0.0177024 0.0179142 0.0181319 0.0183551 0.0185838 -0.0188193 0.0190609 0.0193086 0.019564 0.0198254 0.0200953 0.0203726 -0.0206574 0.0209518 0.0212537 0.0215658 0.021887 0.0222177 0.0225601 -0.0229128 0.023277 0.0236537 0.0240427 0.024445 0.024862 0.0252921 -0.02574 0.0262029 0.026683 0.0271827 0.0276994 0.0282392 0.0287988 -0.0293813 0.0299897 0.0306226 0.0312841 0.0319748 0.0326964 0.0334523 -0.0342447 0.0350734 0.0359469 0.0368624 0.0378272 0.0388456 0.0399153 -0.0410534 0.0422522 0.0435254 0.044879 0.0463163 0.0478531 0.0494922 -0.0512479 0.0531338 0.0551638 0.0573511 0.0597249 0.0622955 0.0651038 -0.0681772 0.0715417 0.0752765 0.0793974 0.0840103 0.0891861 0.0950269 -0.101712 0.109378 0.118307 0.128805 0.141348 0.156578 0.175502 0.199539 -0.231307 0.275029 0.338889 0.441887 0.633052 0.903759 0.558475 0.404297 -0.316636 0.260427 0.221089 0.192165 0.169933 0.152325 0.138031 0.126217 -0.116256 0.107766 0.100449 0.0940471 0.0884502 0.0834588 0.0790204 -0.0750338 0.0714264 0.0681653 0.0651801 0.0624595 0.0599563 0.0576483 -0.0555148 0.0535372 0.0516968 0.0499818 0.0483802 0.0468763 0.0454727 -0.0441453 0.0428999 0.0417231 0.0406096 0.0395595 0.0385586 0.0376137 -0.0367129 0.0358568 0.035041 0.0342626 0.0335197 0.0328097 0.0321304 -0.0314786 0.0308568 0.0302575 0.0296844 0.0291324 0.0286016 0.0280924 -0.0275993 0.0271271 0.0266699 0.02623 0.025805 0.0253941 0.0249974 -0.0246136 0.0242426 0.0238826 0.0235355 0.0231977 0.0228716 0.0225543 -0.0222467 0.0219488 0.0216582 0.0213776 0.0211035 0.0208381 0.0205797 -0.0203279 0.0200834 0.0198449 0.0196132 0.0193868 0.0191672 0.0189523 -0.0187436 0.0185393 0.0183403 0.0181464 0.0179564 0.0177721 0.0175909 -0.0174149 0.0172425 0.0170741 0.0169096 0.0167485 0.0165914 0.0164373 -0.0162871 0.0161396 0.0159958 0.0158546 0.0157166 0.0155815 0.0154488 -0.0153196 0.0151921 0.015068 0.0149459 0.0148264 0.0147094 0.0145943 -0.0144819 0.0143711 0.0142631 0.0141566 0.0140525 0.0139501 0.0138498 -0.0137513 0.0136543 0.0135597 0.0134661 0.0133749 0.0132849 0.0131966 -0.01311 0.0130246 0.0129411 0.0128585 0.012778 0.0126985 0.0126205 -0.0125437 0.0124683 0.0123942 0.0123212 0.0122497 0.012179 0.0121099 -0.0120416 0.0119746 0.0119088 0.0118437 0.0117801 0.0117171 0.0116555 -0.0115946 0.0115349 0.011476 0.0114181 0.0113611 0.0113049 0.0112498 -0.0111953 0.011142 0.0110892 0.0110374 0.0109863 0.010936 0.0108866 -0.0108377 0.0107899 0.0107425 0.0106961 0.0106503 0.0106051 0.0105608 -0.0105169 0.0104739 0.0104313 0.0103897 0.0103484 0.0103079 0.010268 -0.0102286 0.0101899 0.0101516 0.0101142 0.010077 0.0100406 0.0100047 -0.00996929 0.00993449 0.00990004 0.00986636 0.00983291 0.00980024 0.00976786 -0.00973607 0.00970474 0.0096738 0.00964348 0.00961339 0.00958405 0.0095549 -0.00952639 0.00949819 0.00947045 0.00944319 0.00941619 0.00938983 0.00936363 -0.00933809 0.00931277 0.00928792 0.00926346 0.00923931 0.00921566 0.00919219 -0.00916935 0.00914666 0.0091245 0.00910257 0.00908105 0.00905991 0.00903898 -0.00901861 0.00899832 0.00897863 0.00895909 0.00893995 0.00892115 0.00890259 -0.00888447 0.00886649 0.00884902 0.00883171 0.00881483 0.00879815 0.00878183 -0.0087658 0.00874999 0.00873463 0.00871932 0.00870458 0.00868993 0.00867564 -0.00866163 0.00864782 0.00863441 0.00862111 0.00860825 0.00859554 0.0085832 -0.00857104 0.00855919 0.00854757 0.00853618 0.00852517 0.00851421 0.00850375 -0.00849335 0.0084833 0.00847349 0.00846383 0.00845458 0.00844538 0.00843661 -0.00842795 0.00841962 0.00841147 0.00840358 0.0083959 0.00838846 0.00838133 -0.00837426 0.00836765 0.00836107 0.00835485 0.00834881 0.00834292 0.00833742 -0.00833195 0.00832689 0.00832193 0.00831725 0.00831279 0.00830853 0.00830449 -0.00830066 0.0082971 0.00829364 0.00829058 0.00828754 0.00828488 0.00828236 -0.00828001 0.008278 0.00827602 0.00827446 0.00827297 0.00827173 0.00827075 -0.00826993 0.00826934 0.00826894 0.00826878 0.00826877 0.0082691 0.00826947 -0.00827023 0.00827108 0.00827215 0.00827351 0.0082749 0.00827674 0.00827862 -0.00828077 0.00828315 0.00828569 0.00828849 0.00829145 0.00829463 0.00829803 -0.00830171 0.00830548 0.00830959 0.0083138 0.00831828 0.008323 0.00832777 -0.00833301 0.00833825 0.00834383 0.00834959 0.00835551 0.00836175 0.00836812 -0.00837473 0.00838156 0.00838865 0.00839589 0.00840344 0.00841109 0.00841907 -0.00842725 0.00843554 0.00844427 0.00845301 0.00846213 0.00847142 0.00848085 -0.00849069 0.00850062 0.00851083 0.00852126 0.00853193 0.00854285 0.00855402 -0.00856532 0.00857701 0.00858886 0.0086009 0.00861333 0.0086258 0.00863873 -0.00865179 0.00866506 0.00867872 0.00869247 0.00870659 0.00872091 0.00873546 -0.00875036 0.00876548 0.0087808 0.00879649 0.00881235 0.00882851 0.00884501 -0.00886157 0.0088787 0.00889591 0.00891343 0.00893131 0.00894931 0.00896777 -0.00898641 0.00900532 0.00902465 0.00904417 0.00906401 0.00908419 0.00910456 -0.00912536 0.00914645 0.00916771 0.00918952 0.00921144 0.00923379 0.00925647 -0.0092793 0.00930273 0.00932631 0.00935026 0.00937462 0.0093992 0.00942424 -0.0094496 0.00947518 0.00950134 0.00952774 0.00955447 0.00958171 0.00960912 -0.0096371 0.00966539 0.00969393 0.00972312 0.00975249 0.00978236; -#X coords 0 1 8819 -1 300 100 1; -#X restore 358 484 graph; -#N canvas 0 0 450 300 graph2 0; -#X array sign 8820 float 1; -#A 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1; -#A 1000 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1; -#A 2000 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1; -#A 3000 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1; -#A 4000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1; -#A 5000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1; -#A 6000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1; -#A 7000 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1; -#A 8000 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1; -#X coords 0 1 8819 -1 300 100 1; -#X restore 358 587 graph; -#N canvas 0 0 450 300 graph3 0; -#X array sine-1 8820 float 1; -#A 0 -0.739 -0.742134 -0.745241 -0.748349 -0.751425 -0.75449 -0.75755 --0.760572 -0.763594 -0.766594 -0.769572 -0.77255 -0.775491 -0.778425 --0.781349 -0.784238 -0.787127 -0.78999 -0.792834 -0.795678 -0.798479 --0.801278 -0.804062 -0.806814 -0.809567 -0.812288 -0.814995 -0.817699 --0.820358 -0.823018 -0.825658 -0.82827 -0.830883 -0.833458 -0.836023 --0.838581 -0.841098 -0.843615 -0.846107 -0.848576 -0.851044 -0.85347 --0.85589 -0.858298 -0.860669 -0.86304 -0.865381 -0.867702 -0.870024 --0.872297 -0.874568 -0.876823 -0.879045 -0.881266 -0.883452 -0.885624 --0.887791 -0.889911 -0.892032 -0.89413 -0.896199 -0.898269 -0.900297 --0.902315 -0.904324 -0.90629 -0.908256 -0.910195 -0.912109 -0.914023 --0.91589 -0.917752 -0.9196 -0.92141 -0.923219 -0.924995 -0.926752 -0.928508 --0.930212 -0.931915 -0.933599 -0.93525 -0.9369 -0.938511 -0.940107 --0.941698 -0.943241 -0.944784 -0.946301 -0.94779 -0.949279 -0.950722 --0.952157 -0.95358 -0.95496 -0.95634 -0.957689 -0.959014 -0.960339 --0.961613 -0.962884 -0.964137 -0.965353 -0.966568 -0.967746 -0.968906 --0.970064 -0.971169 -0.972273 -0.973355 -0.974404 -0.975453 -0.976459 --0.977452 -0.978438 -0.979375 -0.980312 -0.981221 -0.982102 -0.982983 --0.983816 -0.98464 -0.985452 -0.986221 -0.986989 -0.987724 -0.988436 --0.989148 -0.989806 -0.990461 -0.991098 -0.991697 -0.992295 -0.992855 --0.993397 -0.993935 -0.99442 -0.994906 -0.995367 -0.995795 -0.996223 --0.996606 -0.996978 -0.99734 -0.997654 -0.997968 -0.998253 -0.99851 --0.998767 -0.998973 -0.999174 -0.999359 -0.999502 -0.999645 -0.999752 --0.999838 -0.999924 -0.999953 -0.999982 -0.99999 -0.999961 -0.999933 --0.999863 -0.999777 -0.999686 -0.999543 -0.9994 -0.999232 -0.999032 --0.998832 -0.998585 -0.998327 -0.99806 -0.997746 -0.997431 -0.997086 --0.996714 -0.996343 -0.995919 -0.995491 -0.995047 -0.994562 -0.994076 --0.993554 -0.993012 -0.992469 -0.991871 -0.991272 -0.990652 -0.989996 --0.989341 -0.988643 -0.987931 -0.987213 -0.986444 -0.985676 -0.98488 --0.984056 -0.983231 -0.982358 -0.981477 -0.980585 -0.979647 -0.97871 --0.977741 -0.976748 -0.975755 -0.974709 -0.97366 -0.972594 -0.97149 --0.970385 -0.969243 -0.968084 -0.966921 -0.965706 -0.964491 -0.963253 --0.961983 -0.960713 -0.9594 -0.958074 -0.956741 -0.955362 -0.953982 --0.952574 -0.95114 -0.949705 -0.948223 -0.946734 -0.945233 -0.94369 --0.942147 -0.940572 -0.938975 -0.937378 -0.93573 -0.934079 -0.932411 --0.930707 -0.929004 -0.927263 -0.925506 -0.923746 -0.921936 -0.920127 --0.918294 -0.916432 -0.91457 -0.912666 -0.910752 -0.908828 -0.906862 --0.904896 -0.902902 -0.900884 -0.898866 -0.896801 -0.894732 -0.892649 --0.890528 -0.888408 -0.886255 -0.884084 -0.881913 -0.879691 -0.877469 --0.875229 -0.872958 -0.870686 -0.868378 -0.866056 -0.86373 -0.861359 --0.858988 -0.856594 -0.854174 -0.851754 -0.849294 -0.846825 -0.844347 --0.84183 -0.839313 -0.836769 -0.834204 -0.831639 -0.82903 -0.826418 --0.823791 -0.821132 -0.818472 -0.815782 -0.813075 -0.810368 -0.807615 --0.804863 -0.802092 -0.799293 -0.796495 -0.793661 -0.790817 -0.787967 --0.785078 -0.782189 -0.779278 -0.776344 -0.77341 -0.770439 -0.767461 --0.764473 -0.761451 -0.758429 -0.755382 -0.752317 -0.749252 -0.746146 --0.743038 -0.739916 -0.736766 -0.733616 -0.730436 -0.727244 -0.72405 --0.720816 -0.717583 -0.714332 -0.711057 -0.707783 -0.704476 -0.701162 --0.69784 -0.694486 -0.691131 -0.687755 -0.684361 -0.680967 -0.677538 --0.674105 -0.670662 -0.66719 -0.663719 -0.660223 -0.656714 -0.653205 --0.649658 -0.646112 -0.642552 -0.638968 -0.635385 -0.631775 -0.628155 --0.624532 -0.620876 -0.617221 -0.613549 -0.609859 -0.606168 -0.602449 --0.598723 -0.594992 -0.591232 -0.587473 -0.583695 -0.579902 -0.576109 --0.572286 -0.56846 -0.564625 -0.560766 -0.556908 -0.553029 -0.549139 --0.545249 -0.541328 -0.537406 -0.533473 -0.529522 -0.52557 -0.521596 --0.517614 -0.513629 -0.509618 -0.505607 -0.501582 -0.497542 -0.493502 --0.489438 -0.48537 -0.481296 -0.4772 -0.473104 -0.468993 -0.46487 -0.460748 --0.4566 -0.452451 -0.448294 -0.444119 -0.439945 -0.435753 -0.431553 --0.427352 -0.423128 -0.418904 -0.41467 -0.410422 -0.406174 -0.401908 --0.397636 -0.393362 -0.389068 -0.384775 -0.38047 -0.376154 -0.371839 --0.367504 -0.363167 -0.358826 -0.354468 -0.350111 -0.345741 -0.341364 --0.336987 -0.33259 -0.328194 -0.323791 -0.319376 -0.314961 -0.310533 --0.3061 -0.301665 -0.297215 -0.292764 -0.288307 -0.28384 -0.279373 --0.274893 -0.27041 -0.265924 -0.261426 -0.256928 -0.252422 -0.247909 --0.243396 -0.238871 -0.234344 -0.229814 -0.225274 -0.220735 -0.216187 --0.211634 -0.207082 -0.202518 -0.197953 -0.193385 -0.18881 -0.184234 --0.179651 -0.175065 -0.170479 -0.165883 -0.161287 -0.156687 -0.152083 --0.147478 -0.142866 -0.138253 -0.133639 -0.129018 -0.124397 -0.119772 --0.115145 -0.110517 -0.105883 -0.101249 -0.0966133 -0.0919736 -0.0873339 --0.082691 -0.0780464 -0.0734016 -0.0687528 -0.0641041 -0.0594539 -0.0548016 --0.0501493 -0.0454948 -0.0408397 -0.0361844 -0.0315271 -0.0268699 -0.022212 --0.0175534 -0.0128948 -0.00823559 -0.00357627 0.00108304 0.00574235 -0.0104017 0.0150606 0.0197192 0.0243778 0.029035 0.0336923 0.0383488 -0.0430039 0.047659 0.0523121 0.0569644 0.0616165 0.0662653 0.0709141 -0.075561 0.0802056 0.0848502 0.0894909 0.0941306 0.0987693 0.103403 -0.108037 0.112668 0.117296 0.121924 0.126545 0.131166 0.135785 0.140398 -0.145011 0.149619 0.154223 0.158828 0.163424 0.168019 0.172612 0.177197 -0.181783 0.186361 0.190937 0.195511 0.200075 0.204639 0.209198 0.213751 -0.218303 0.222845 0.227385 0.231922 0.236449 0.240975 0.245494 0.250007 -0.25452 0.259019 0.263517 0.268011 0.272494 0.276977 0.281449 0.285916 -0.290383 0.294833 0.299284 0.303727 0.30816 0.312594 0.317013 0.321428 -0.325841 0.330238 0.334634 0.339022 0.343399 0.347776 0.352137 0.356494 -0.360847 0.365184 0.36952 0.373845 0.37816 0.382476 0.386771 0.391064 -0.395351 0.399622 0.403893 0.408149 0.412397 0.416643 0.420868 0.425092 -0.429306 0.433506 0.437705 0.441885 0.44606 0.450231 0.45438 0.458529 -0.462664 0.466787 0.470909 0.475008 0.479104 0.483193 0.487261 0.491329 -0.49538 0.49942 0.50346 0.507471 0.511482 0.515483 0.519465 0.523447 -0.527407 0.531359 0.535308 0.539229 0.54315 0.547058 0.550948 0.554838 -0.558702 0.56256 0.566413 0.570238 0.574064 0.577872 0.581665 0.585458 -0.58922 0.59298 0.59673 0.600455 0.60418 0.607884 0.611574 0.615265 -0.61892 0.622576 0.626218 0.629838 0.633458 0.637051 0.640634 0.644214 -0.647761 0.651307 0.654836 0.658346 0.661855 0.665333 0.668804 0.672268 -0.675701 0.679134 0.682545 0.685939 0.689333 0.692691 0.696045 0.699388 -0.702703 0.706018 0.709305 0.71258 0.715853 0.719086 0.72232 0.725536 -0.728728 0.73192 0.73508 0.73823 0.741375 0.744483 0.747591 0.750677 -0.753742 0.756807 0.759834 0.762856 0.765867 0.768845 0.771823 0.774774 -0.777708 0.780642 0.783533 0.786422 0.789296 0.79214 0.794984 0.797796 -0.800594 0.80339 0.806142 0.808895 0.811628 0.814334 0.81704 0.819709 -0.822368 0.82502 0.827632 0.830245 0.832832 0.835397 0.837961 0.840483 -0.843 0.845504 0.847973 0.850441 0.852879 0.855299 0.857719 0.86009 -0.862461 0.864814 0.867135 0.869457 0.871742 0.874014 0.876281 0.878502 -0.880724 0.882922 0.885093 0.887265 0.889394 0.891514 0.893625 0.895694 -0.897763 0.899804 0.901822 0.90384 0.90581 0.907776 0.909727 0.911642 -0.913556 0.915436 0.917298 0.919159 0.920968 0.922777 0.924566 0.926323 -0.928079 0.929796 0.931499 0.933196 0.934847 0.936497 0.938121 0.939717 -0.941314 0.942864 0.944407 0.945938 0.947427 0.948915 0.950372 0.951806 -0.953241 0.954623 0.956003 0.957365 0.958691 0.960016 0.961303 0.962573 -0.963841 0.965056 0.966271 0.967463 0.968623 0.969783 0.970899 0.972003 -0.973099 0.974148 0.975197 0.976217 0.97721 0.978203 0.979146 0.980083 -0.981006 0.981887 0.982768 0.983614 0.984439 0.985264 0.986033 0.986801 -0.98755 0.988262 0.988974 0.989646 0.990301 0.990952 0.99155 0.992149 -0.992722 0.993264 0.993806 0.994302 0.994787 0.995262 0.99569 0.996118 -0.996516 0.996887 0.997258 0.997577 0.997892 0.99819 0.998447 0.998704 -0.998925 0.999125 0.999324 0.999467 0.99961 0.999731 0.999817 0.999903 -0.999946 0.999975 0.999997 0.999968 0.99994 0.999884 0.999798 0.999713 -0.999579 0.999436 0.999281 0.999081 0.998881 0.998648 0.998391 0.998134 -0.997823 0.997509 0.997177 0.996806 0.996435 0.996025 0.995597 0.995167 -0.994681 0.994196 0.993688 0.993146 0.992604 0.992019 0.99142 0.990813 -0.990158 0.989503 0.988819 0.988107 0.987395 0.986634 0.985866 0.985084 -0.984259 0.983435 0.982576 0.981695 0.980814 0.979879 0.978942 0.977986 -0.976993 0.976 0.974968 0.97392 0.972867 0.971763 0.970658 0.96953 -0.96837 0.96721 0.966006 0.964791 0.963567 0.962297 0.961027 0.959727 -0.958402 0.957077 0.955703 0.954323 0.952928 0.951494 0.95006 0.948591 -0.947102 0.945614 0.944071 0.942529 0.940966 0.93937 0.937773 0.936137 -0.934487 0.932832 0.931129 0.929425 0.927697 0.925941 0.924184 0.922384 -0.920574 0.918755 0.916893 0.915031 0.913139 0.911225 0.909311 0.907348 -0.905382 0.903401 0.901383 0.899365 0.897313 0.895244 0.893173 0.891053 -0.888932 0.886792 0.884621 0.88245 0.880241 0.878019 0.875791 0.87352 -0.871248 0.868952 0.86663 0.864309 0.861945 0.859575 0.857193 0.854773 -0.852353 0.849905 0.847436 0.844967 0.842453 0.839936 0.837404 0.834839 -0.832274 0.829677 0.827064 0.82445 0.82179 0.819131 0.816452 0.813745 -0.811039 0.808297 0.805544 0.802784 0.799986 0.797188 0.794365 0.791521 -0.788677 0.785794 0.782905 0.780004 0.777071 0.774137 0.771176 0.768198 -0.76522 0.762199 0.759177 0.756141 0.753076 0.750011 0.746915 0.743807 -0.740696 0.737546 0.734396 0.731227 0.728035 0.724843 0.721617 0.718384 -0.715143; -#A 1000 0.711868 0.708594 0.705297 0.701983 0.698668 0.695317 0.691962 -0.688596 0.685202 0.681808 0.678388 0.674955 0.671522 0.66805 0.664579 -0.661093 0.657584 0.654074 0.650537 0.64699 0.64344 0.639856 0.636272 -0.632672 0.629052 0.625432 0.621782 0.618127 0.614464 0.610773 0.607082 -0.603372 0.599646 0.595921 0.592164 0.588404 0.584635 0.580842 0.577049 -0.573234 0.569408 0.565581 0.561723 0.557864 0.553993 0.550103 0.546214 -0.5423 0.538378 0.534453 0.530501 0.52655 0.522583 0.518601 0.514619 -0.510612 0.506601 0.502583 0.498543 0.494503 0.490446 0.486378 0.48231 -0.478215 0.474119 0.470015 0.465892 0.46177 0.457628 0.453479 0.449329 -0.445154 0.440979 0.436794 0.432594 0.428394 0.424175 0.419951 0.415723 -0.411475 0.407227 0.402966 0.398695 0.394424 0.390133 0.385839 0.381539 -0.377224 0.372908 0.368579 0.364242 0.359906 0.355548 0.351191 0.346826 -0.342449 0.338072 0.33368 0.329284 0.324885 0.32047 0.316055 0.311631 -0.307198 0.302765 0.298318 0.293867 0.289414 0.284947 0.28048 0.276004 -0.271521 0.267038 0.262541 0.258043 0.25354 0.249028 0.244515 0.239993 -0.235466 0.230939 0.2264 0.22186 0.217315 0.212763 0.20821 0.203649 -0.199085 0.194519 0.189944 0.185368 0.180788 0.176202 0.171616 0.167022 -0.162426 0.157829 0.153224 0.148619 0.14401 0.139397 0.134784 0.130163 -0.125542 0.120919 0.116292 0.111664 0.107032 0.102398 0.0977633 0.0931237 -0.088484 0.0838422 0.0791977 0.0745531 0.0699052 0.0652564 0.0606071 -0.0559548 0.0513025 0.0466487 0.0419936 0.0373385 0.0326815 0.0280243 -0.0233667 0.0187081 0.0140495 0.0093905 0.00473119 7.18733e-05 -0.00458744 --0.00924675 -0.0139058 -0.0185644 -0.023223 -0.0278806 -0.0325379 -0.0371949 --0.04185 -0.0465051 -0.0511589 -0.0558112 -0.0604635 -0.065113 -0.0697617 --0.0744098 -0.0790544 -0.083699 -0.0883409 -0.0929805 -0.0976202 -0.102255 --0.106889 -0.111521 -0.116149 -0.120777 -0.1254 -0.130021 -0.134641 --0.139254 -0.143868 -0.148477 -0.153082 -0.157687 -0.162285 -0.16688 --0.171475 -0.176061 -0.180646 -0.185227 -0.189803 -0.194378 -0.198944 --0.203508 -0.20807 -0.212622 -0.217175 -0.22172 -0.22626 -0.230799 --0.235327 -0.239853 -0.244376 -0.248888 -0.253401 -0.257904 -0.262402 --0.2669 -0.271383 -0.275866 -0.280342 -0.284809 -0.289276 -0.29373 --0.298181 -0.302629 -0.307062 -0.311495 -0.315919 -0.320334 -0.324749 --0.329148 -0.333545 -0.337937 -0.342314 -0.346691 -0.351056 -0.355414 --0.359771 -0.364109 -0.368445 -0.372775 -0.377091 -0.381406 -0.385706 --0.39 -0.394292 -0.398563 -0.402835 -0.407096 -0.411344 -0.415592 -0.419821 --0.424045 -0.428265 -0.432465 -0.436664 -0.440851 -0.445025 -0.4492 --0.453351 -0.4575 -0.461642 -0.465765 -0.469888 -0.473993 -0.478089 --0.482184 -0.486253 -0.490321 -0.494378 -0.498418 -0.502458 -0.506477 --0.510488 -0.514496 -0.518478 -0.52246 -0.526428 -0.530379 -0.534331 --0.538257 -0.542179 -0.546094 -0.549983 -0.553873 -0.557746 -0.561604 --0.565462 -0.56929 -0.573116 -0.576932 -0.580725 -0.584518 -0.588289 --0.592048 -0.595806 -0.599532 -0.603257 -0.606969 -0.61066 -0.61435 --0.618014 -0.62167 -0.625321 -0.628941 -0.63256 -0.636162 -0.639746 --0.64333 -0.646881 -0.650428 -0.653966 -0.657476 -0.660985 -0.664472 --0.667944 -0.671415 -0.67485 -0.678283 -0.681704 -0.685098 -0.688492 --0.691859 -0.695214 -0.698566 -0.701881 -0.705196 -0.708494 -0.711768 --0.715042 -0.718285 -0.721518 -0.724745 -0.727937 -0.731129 -0.734299 --0.73745 -0.7406 -0.743712 -0.74682 -0.749917 -0.752982 -0.756047 -0.759085 --0.762107 -0.765129 -0.768107 -0.771085 -0.774047 -0.776981 -0.779915 --0.782816 -0.785705 -0.788591 -0.791435 -0.794279 -0.797102 -0.799901 --0.802699 -0.80546 -0.808213 -0.810957 -0.813663 -0.816369 -0.81905 --0.821709 -0.824369 -0.826985 -0.829597 -0.832196 -0.834761 -0.837326 --0.839859 -0.842376 -0.844892 -0.847361 -0.84983 -0.85228 -0.854699 --0.857119 -0.859503 -0.861873 -0.864239 -0.86656 -0.868881 -0.871179 --0.873451 -0.875722 -0.877952 -0.880173 -0.882384 -0.884555 -0.886726 --0.888868 -0.890989 -0.893109 -0.895181 -0.89725 -0.899304 -0.901322 --0.90334 -0.905323 -0.907289 -0.909253 -0.911167 -0.913081 -0.914974 --0.916836 -0.918698 -0.920519 -0.922329 -0.924131 -0.925887 -0.927644 --0.929374 -0.931077 -0.932781 -0.934438 -0.936088 -0.937725 -0.939322 --0.940918 -0.942482 -0.944025 -0.945568 -0.947058 -0.948546 -0.950016 --0.951451 -0.952885 -0.954281 -0.955661 -0.957037 -0.958362 -0.959687 --0.960988 -0.962259 -0.963529 -0.964755 -0.96597 -0.967176 -0.968335 --0.969495 -0.970625 -0.97173 -0.972834 -0.973888 -0.974937 -0.975971 --0.976964 -0.977956 -0.978914 -0.979851 -0.980788 -0.981669 -0.98255 --0.98341 -0.984235 -0.985059 -0.985843 -0.986611 -0.987374 -0.988086 --0.988798 -0.989483 -0.990138 -0.990794 -0.991402 -0.992001 -0.992588 --0.99313 -0.993672 -0.994182 -0.994667 -0.995152 -0.995584 -0.996012 --0.996424 -0.996795 -0.997166 -0.997499 -0.997814 -0.998126 -0.998383 --0.998641 -0.998875 -0.999075 -0.999275 -0.999432 -0.999574 -0.99971 --0.999796 -0.999882 -0.999939 -0.999968 -0.999996 -0.999975 -0.999947 --0.999905 -0.999819 -0.999734 -0.999614 -0.999471 -0.999328 -0.99913 --0.99893 -0.998711 -0.998454 -0.998197 -0.9979 -0.997586 -0.997268 --0.996897 -0.996526 -0.99613 -0.995702 -0.995274 -0.9948 -0.994315 --0.993821 -0.993279 -0.992737 -0.992165 -0.991567 -0.990968 -0.990319 --0.989663 -0.988993 -0.988281 -0.987569 -0.986822 -0.986054 -0.985285 --0.984461 -0.983637 -0.982792 -0.981911 -0.98103 -0.980108 -0.979171 --0.97823 -0.977237 -0.976244 -0.975225 -0.974176 -0.973128 -0.972033 --0.970929 -0.969814 -0.968654 -0.967494 -0.966304 -0.965089 -0.963874 --0.962608 -0.961338 -0.960052 -0.958726 -0.957401 -0.956041 -0.954661 --0.95328 -0.951845 -0.950411 -0.948956 -0.947467 -0.945978 -0.944449 --0.942906 -0.941357 -0.939761 -0.938164 -0.936541 -0.934891 -0.933241 --0.931546 -0.929842 -0.928127 -0.92637 -0.924614 -0.922826 -0.921017 --0.919207 -0.917348 -0.915486 -0.913608 -0.911693 -0.909779 -0.90783 --0.905863 -0.903895 -0.901877 -0.899859 -0.897819 -0.89575 -0.893681 --0.891572 -0.889451 -0.887323 -0.885152 -0.882981 -0.880784 -0.878562 --0.876341 -0.874075 -0.871804 -0.86952 -0.867198 -0.864877 -0.862525 --0.860154 -0.857784 -0.855365 -0.852945 -0.850508 -0.84804 -0.845571 --0.843068 -0.840551 -0.838031 -0.835466 -0.832901 -0.830316 -0.827703 --0.825091 -0.822441 -0.819781 -0.817113 -0.814407 -0.811701 -0.80897 --0.806217 -0.803464 -0.80067 -0.797872 -0.795061 -0.792217 -0.789373 --0.7865 -0.783611 -0.780721 -0.777788 -0.774854 -0.771904 -0.768926 --0.765948 -0.762938 -0.759916 -0.75689 -0.753825 -0.75076 -0.747675 --0.744567 -0.741459 -0.738316 -0.735166 -0.732007 -0.728815 -0.725623 --0.722407 -0.719174 -0.71594 -0.712668 -0.709394 -0.706107 -0.702793 --0.699478 -0.696136 -0.692781 -0.689425 -0.686031 -0.682637 -0.679227 --0.675794 -0.672361 -0.668898 -0.665427 -0.66195 -0.658441 -0.654931 --0.651403 -0.647857 -0.64431 -0.640732 -0.637148 -0.633556 -0.629936 --0.626316 -0.622675 -0.61902 -0.615364 -0.611674 -0.607984 -0.604282 --0.600556 -0.596831 -0.593082 -0.589322 -0.585561 -0.581768 -0.577975 --0.574168 -0.570342 -0.566516 -0.562665 -0.558807 -0.554943 -0.551053 --0.547163 -0.543257 -0.539336 -0.535415 -0.531466 -0.527514 -0.523555 --0.519573 -0.515591 -0.511591 -0.50758 -0.503569 -0.499529 -0.495489 --0.491439 -0.487371 -0.483303 -0.479215 -0.475119 -0.471021 -0.466899 --0.462776 -0.458641 -0.454492 -0.450343 -0.446173 -0.441999 -0.437819 --0.43362 -0.42942 -0.425206 -0.420982 -0.416758 -0.412512 -0.408264 --0.404009 -0.399738 -0.395467 -0.391181 -0.386887 -0.382593 -0.378278 --0.373962 -0.369638 -0.365301 -0.360964 -0.356612 -0.352255 -0.347895 --0.343518 -0.33914 -0.334754 -0.330357 -0.325961 -0.321548 -0.317133 --0.312714 -0.308281 -0.303848 -0.299404 -0.294954 -0.290504 -0.286037 --0.28157 -0.277098 -0.272615 -0.268133 -0.263639 -0.259141 -0.254642 --0.25013 -0.245617 -0.241098 -0.236572 -0.232045 -0.227508 -0.222968 --0.218427 -0.213874 -0.209322 -0.204763 -0.200199 -0.195635 -0.191061 --0.186485 -0.181908 -0.177322 -0.172736 -0.168144 -0.163548 -0.158953 --0.154348 -0.149744 -0.145136 -0.140523 -0.13591 -0.131291 -0.126671 --0.122049 -0.117422 -0.112794 -0.108163 -0.103529 -0.0988951 -0.0942564 --0.0896168 -0.0849762 -0.0803316 -0.075687 -0.0710401 -0.0663914 -0.0617426 --0.0570906 -0.0524383 -0.0477852 -0.0431301 -0.038475 -0.0338186 -0.0291614 --0.0245042 -0.0198456 -0.0151869 -0.0105281 -0.00586876 -0.00120944 -0.00344987 0.00810918 0.0127684 0.017427 0.0220856 0.0267436 0.0314008 -0.036058 0.0407135 0.0453686 0.0500231 0.0546754 0.0593277 0.063978 -0.0686267 0.0732755 0.0779204 0.082565 0.0872081 0.0918477 0.0964874 -0.101123 0.105757 0.110391 0.115019 0.119647 0.124272 0.128893 0.133513 -0.138128 0.142741 0.147353 0.151958 0.156563 0.161163 0.165758 0.170354 -0.174941 0.179527 0.18411 0.188686 0.193261 0.19783 0.202394 0.206958 -0.211511 0.216063 0.220611 0.225151 0.229691 0.234222 0.238748 0.243274 -0.247787 0.252299 0.256806 0.261304 0.265802 0.270288 0.274771 0.279251 -0.283718 0.288185 0.292644 0.297094 0.301544 0.305979 0.310412 0.314841 -0.319256 0.323671 0.328075 0.332471 0.336868 0.341245 0.345623 0.349993 -0.35435 0.358707 0.36305 0.367387 0.371722 0.376037 0.380353 0.384658 -0.388952 0.393246 0.397521 0.401792 0.406059 0.410307 0.414555 0.418789 -0.423013 0.427238 0.431439 0.435639 0.439831 0.444006 0.448181 0.452339 -0.456487 0.460636 0.464758 0.468881 0.472993 0.477089 0.481184 0.485259 -0.489327 0.493392 0.497432 0.501472 0.505498 0.509509 0.51352 0.517506 -0.521488 0.525463 0.529415 0.533366 0.5373 0.541221 0.545142 0.549034 -0.552924 0.556804 0.560662 0.56452 0.568356 0.572182 0.576006 0.579799 -0.583592 0.587371 0.59113 0.594889 0.598622 0.602348 0.606068 0.609758 -0.613449 0.617122 0.620777 0.624433 0.628057 0.631677 0.635288 0.638871 -0.642455 0.646016 0.649562 0.653109 0.656619 0.660128; -#A 2000 0.663625 0.667096 0.670568 0.674012 0.677445 0.680875 0.684269 -0.687663 0.69104 0.694395 0.697749 0.701072 0.704387 0.707694 0.710969 -0.714243 0.717495 0.720729 0.723962 0.727158 0.73035 0.73353 0.736681 -0.739831 0.742954 0.746061 0.749169 0.752234 0.755299 0.758347 0.761369 -0.764391 0.76738 0.770358 0.773331 0.776265 0.779198 0.782111 0.785 -0.787889 0.79074 0.793584 0.796419 0.799217 0.802016 0.804788 0.807541 -0.810293 0.813002 0.815709 0.8184 0.82106 0.823719 0.826347 0.82896 -0.83157 0.834135 0.8367 0.839245 0.841762 0.844279 0.846758 0.849227 -0.851689 0.854109 0.856529 0.858924 0.861295 0.863665 0.865993 0.868315 -0.870624 0.872896 0.875168 0.877409 0.879631 0.881852 0.884025 0.886196 -0.888351 0.890471 0.892591 0.894676 0.896745 0.898811 0.900829 0.902847 -0.904843 0.906809 0.908775 0.9107 0.912614 0.91452 0.916382 0.918244 -0.920078 0.921887 0.923697 0.925459 0.927215 0.928958 0.930661 0.932365 -0.934035 0.935685 0.937335 0.938932 0.940528 0.942105 0.943648 0.945191 -0.946694 0.948183 0.949666 0.951101 0.952535 0.953944 0.955324 0.956704 -0.958039 0.959364 0.960678 0.961948 0.963219 0.964458 0.965673 0.966888 -0.968052 0.969212 0.970356 0.97146 0.972564 0.973632 0.974681 0.975728 -0.976721 0.977714 0.978685 0.979622 0.980559 0.981454 0.982334 0.983209 -0.984033 0.984858 0.985655 0.986423 0.987192 0.987912 0.988624 0.989323 -0.989978 0.990634 0.991256 0.991854 0.992453 0.992998 0.99354 0.994063 -0.994548 0.995034 0.99548 0.995908 0.996333 0.996704 0.997075 0.997423 -0.997737 0.998051 0.998321 0.998578 0.998826 0.999026 0.999226 0.999397 -0.99954 0.999682 0.999775 0.999861 0.999932 0.99996 0.999989 0.999982 -0.999954 0.999925 0.99984 0.999755 0.999649 0.999506 0.999363 0.999179 -0.998979 0.998775 0.998518 0.99826 0.997978 0.997663 0.997349 0.996989 -0.996617 0.996236 0.995808 0.995379 0.99492 0.994435 0.99395 0.993413 -0.992871 0.992313 0.991714 0.991116 0.990481 0.989825 0.989169 0.988457 -0.987745 0.987012 0.986244 0.985475 0.984665 0.98384 0.98301 0.982129 -0.981248 0.98034 0.979403 0.978466 0.977482 0.976489 0.975484 0.974436 -0.973387 0.972306 0.971202 0.970097 0.968941 0.967781 0.966604 0.965389 -0.964174 0.962922 0.961652 0.960379 0.959054 0.957729 0.956382 0.955002 -0.953622 0.9522 0.950765 0.949324 0.947835 0.946346 0.94483 0.943288 -0.941745 0.940155 0.938559 0.936949 0.935299 0.933649 0.931967 0.930263 -0.92856 0.926805 0.925048 0.923274 0.921464 0.919655 0.917809 0.915947 -0.914081 0.912167 0.910253 0.908316 0.90635 0.904383 0.902376 0.900358 -0.898331 0.896262 0.894193 0.892096 0.889976 0.887855 0.885689 0.883518 -0.881334 0.879112 0.87689 0.874637 0.872366 0.870094 0.867773 0.865451 -0.863112 0.860741 0.85837 0.855964 0.853544 0.851119 0.848651 0.846182 -0.843691 0.841174 0.838657 0.836101 0.833536 0.830962 0.82835 0.825737 -0.823099 0.820439 0.81778 0.815077 0.812371 0.809651 0.806898 0.804146 -0.801363 0.798564 0.795765 0.792921 0.790077 0.787215 0.784326 0.781437 -0.778514 0.77558 0.772641 0.769663 0.766685 0.763686 0.760664 0.757643 -0.754584 0.751519 0.748444 0.745336 0.742229 0.739096 0.735946 0.732796 -0.729605 0.726413 0.723208 0.719974 0.716741 0.713479 0.710205 0.706928 -0.703614 0.700299 0.696967 0.693612 0.690258 0.686872 0.683478 0.680078 -0.676644 0.673211 0.669758 0.666287 0.662815 0.65931 0.655801 0.652282 -0.648735 0.645189 0.641619 0.638036 0.634452 0.630833 0.627213 0.623581 -0.619925 0.61627 0.612589 0.608898 0.605205 0.601479 0.597754 0.594013 -0.590254 0.586495 0.582708 0.578915 0.575116 0.57129 0.567464 0.563621 -0.559763 0.555905 0.552017 0.548127 0.544229 0.540308 0.536387 0.532446 -0.528494 0.524542 0.52056 0.516578 0.512586 0.508574 0.504563 0.500531 -0.496491 0.492448 0.48838 0.484312 0.48023 0.476135 0.472039 0.467921 -0.463798 0.45967 0.455521 0.451372 0.447208 0.443033 0.438859 0.434661 -0.430461 0.426253 0.422029 0.417805 0.413565 0.409317 0.405068 0.400797 -0.396526 0.392245 0.387952 0.383658 0.379347 0.375032 0.370713 0.366376 -0.362039 0.357692 0.353335 0.348977 0.344603 0.340225 0.335843 0.331447 -0.32705 0.322643 0.318227 0.313812 0.30938 0.304946 0.300507 0.296057 -0.291607 0.287145 0.282678 0.27821 0.273727 0.269244 0.264754 0.260256 -0.255758 0.251248 0.246735 0.24222 0.237694 0.233167 0.228633 0.224094 -0.219554 0.215003 0.21045 0.205895 0.20133 0.196766 0.192195 0.18762 -0.183044 0.178458 0.173873 0.169283 0.164688 0.160092 0.15549 0.150885 -0.14628 0.141666 0.137053 0.132437 0.127816 0.123195 0.118569 0.113941 -0.109312 0.104678 0.100044 0.0954065 0.0907668 0.0861271 0.0814829 -0.0768383 0.0721925 0.0675437 0.0628949 0.0582438 0.0535915 0.0489391 -0.044284 0.0396289 0.034973 0.0303157 0.0256585 0.0210003 0.0163417 -0.011683 0.00702367 0.00236436 -0.00229496 -0.00695427 -0.0116136 -0.0162723 --0.0209309 -0.0255892 -0.0302464 -0.0349036 -0.0395596 -0.0442147 -0.0488698 --0.0535222 -0.0581745 -0.0628256 -0.0674744 -0.0721232 -0.0767691 -0.0814137 --0.0860581 -0.0906977 -0.0953374 -0.0999747 -0.104609 -0.109243 -0.113872 --0.1185 -0.123126 -0.127747 -0.132368 -0.136985 -0.141598 -0.146211 --0.150816 -0.155421 -0.160024 -0.164619 -0.169215 -0.173804 -0.17839 --0.182976 -0.187551 -0.192127 -0.196698 -0.201263 -0.205827 -0.210382 --0.214935 -0.219486 -0.224026 -0.228566 -0.2331 -0.237626 -0.242153 --0.246668 -0.251181 -0.255691 -0.260189 -0.264687 -0.269177 -0.27366 --0.278143 -0.282611 -0.287078 -0.29154 -0.295991 -0.300441 -0.30488 --0.309314 -0.313746 -0.318162 -0.322577 -0.326985 -0.331381 -0.335778 --0.34016 -0.344537 -0.348913 -0.35327 -0.357627 -0.361975 -0.366312 --0.370648 -0.374967 -0.379283 -0.383594 -0.387888 -0.392181 -0.396462 --0.400733 -0.405004 -0.409254 -0.413502 -0.417742 -0.421966 -0.426191 --0.430398 -0.434598 -0.438797 -0.442971 -0.447146 -0.45131 -0.455459 --0.459608 -0.463737 -0.467859 -0.471978 -0.476074 -0.480169 -0.484251 --0.488319 -0.492387 -0.496431 -0.500471 -0.504504 -0.508515 -0.512526 --0.516519 -0.520501 -0.524482 -0.528435 -0.532387 -0.536328 -0.540249 --0.54417 -0.54807 -0.551959 -0.555847 -0.559705 -0.563564 -0.567408 --0.571233 -0.575059 -0.578859 -0.582652 -0.586439 -0.590198 -0.593958 --0.597699 -0.601424 -0.60515 -0.608844 -0.612534 -0.616216 -0.619871 --0.623527 -0.62716 -0.630779 -0.634399 -0.637983 -0.641566 -0.645136 --0.648683 -0.65223 -0.655749 -0.659259 -0.662764 -0.666236 -0.669707 --0.673161 -0.676594 -0.680027 -0.683428 -0.686822 -0.690208 -0.693563 --0.696918 -0.70025 -0.703565 -0.70688 -0.710157 -0.713431 -0.716694 --0.719927 -0.723161 -0.726367 -0.729559 -0.73275 -0.7359 -0.73905 -0.742183 --0.745291 -0.748399 -0.751474 -0.754539 -0.757598 -0.76062 -0.763642 --0.766642 -0.76962 -0.772598 -0.775538 -0.778471 -0.781395 -0.784284 --0.787173 -0.790035 -0.792879 -0.795723 -0.798524 -0.801322 -0.804106 --0.806858 -0.809611 -0.812331 -0.815038 -0.817741 -0.820401 -0.82306 --0.8257 -0.828312 -0.830924 -0.833499 -0.836064 -0.838621 -0.841138 --0.843655 -0.846146 -0.848615 -0.851084 -0.853509 -0.855929 -0.858336 --0.860707 -0.863078 -0.865418 -0.867739 -0.870061 -0.872333 -0.874605 --0.876859 -0.87908 -0.881302 -0.883487 -0.885658 -0.887825 -0.889945 --0.892066 -0.894163 -0.896232 -0.898302 -0.900329 -0.902347 -0.904355 --0.906321 -0.908288 -0.910225 -0.91214 -0.914054 -0.91592 -0.917782 --0.919629 -0.921439 -0.923248 -0.925023 -0.92678 -0.928536 -0.930239 --0.931943 -0.933626 -0.935276 -0.936926 -0.938536 -0.940133 -0.941723 --0.943266 -0.944808 -0.946325 -0.947814 -0.949302 -0.950745 -0.95218 --0.953602 -0.954982 -0.956362 -0.95771 -0.959035 -0.96036 -0.961634 --0.962904 -0.964157 -0.965372 -0.966587 -0.967765 -0.968925 -0.970082 --0.971186 -0.972291 -0.973372 -0.974421 -0.97547 -0.976475 -0.977468 --0.978453 -0.97939 -0.980327 -0.981235 -0.982116 -0.982997 -0.983829 --0.984654 -0.985465 -0.986233 -0.987001 -0.987735 -0.988447 -0.989159 --0.989816 -0.990471 -0.991107 -0.991706 -0.992305 -0.992863 -0.993405 --0.993943 -0.994428 -0.994913 -0.995373 -0.995802 -0.99623 -0.996612 --0.996983 -0.997345 -0.997659 -0.997973 -0.998257 -0.998514 -0.998771 --0.998977 -0.999177 -0.999361 -0.999504 -0.999647 -0.999754 -0.999839 --0.999925 -0.999953 -0.999982 -0.999989 -0.999961 -0.999932 -0.999862 --0.999776 -0.999684 -0.999541 -0.999398 -0.999229 -0.999028 -0.998828 --0.998581 -0.998323 -0.998055 -0.997741 -0.997426 -0.99708 -0.996708 --0.996337 -0.995913 -0.995484 -0.995039 -0.994554 -0.994069 -0.993546 --0.993004 -0.99246 -0.991861 -0.991262 -0.990641 -0.989986 -0.98933 --0.988632 -0.98792 -0.9872 -0.986432 -0.985664 -0.984867 -0.984042 --0.983218 -0.982344 -0.981463 -0.98057 -0.979632 -0.978695 -0.977725 --0.976732 -0.975739 -0.974692 -0.973644 -0.972577 -0.971472 -0.970368 --0.969225 -0.968065 -0.966902 -0.965687 -0.964472 -0.963233 -0.961963 --0.960692 -0.959378 -0.958053 -0.956719 -0.95534 -0.95396 -0.952551 --0.951117 -0.949682 -0.948199 -0.946711 -0.945208 -0.943665 -0.942122 --0.940546 -0.93895 -0.937353 -0.935703 -0.934053 -0.932384 -0.93068 --0.928977 -0.927235 -0.925478 -0.923717 -0.921907 -0.920098 -0.918264 --0.916402 -0.91454 -0.912635 -0.910721 -0.908797 -0.906831 -0.904864 --0.90287 -0.900851 -0.898834 -0.896768 -0.894699 -0.892615 -0.890494 --0.888374 -0.886221 -0.884049 -0.881877 -0.879656 -0.877434 -0.875193 --0.872921 -0.87065 -0.86834 -0.866019 -0.863692 -0.861321 -0.85895 --0.856556 -0.854136 -0.851716 -0.849254 -0.846786 -0.844307 -0.84179 --0.839273 -0.836728 -0.834163 -0.831598 -0.828989 -0.826376 -0.823749 --0.82109 -0.81843 -0.815739 -0.813032 -0.810324 -0.807571 -0.804819 --0.802047 -0.799249 -0.79645 -0.793616 -0.790772 -0.787921 -0.785032 -; -#A 3000 -0.782143 -0.779231 -0.776297 -0.773364 -0.770391 -0.767413 --0.764424 -0.761403 -0.758381 -0.755333 -0.752268 -0.749203 -0.746096 --0.742988 -0.739866 -0.736716 -0.733565 -0.730385 -0.727193 -0.723998 --0.720765 -0.717531 -0.714279 -0.711005 -0.707731 -0.704423 -0.701109 --0.697787 -0.694432 -0.691077 -0.687701 -0.684307 -0.680913 -0.677483 --0.67405 -0.670606 -0.667135 -0.663663 -0.660168 -0.656658 -0.653148 --0.649602 -0.646055 -0.642495 -0.638911 -0.635328 -0.631717 -0.628097 --0.624474 -0.620818 -0.617163 -0.61349 -0.6098 -0.606109 -0.602389 --0.598664 -0.594931 -0.591172 -0.587413 -0.583634 -0.579841 -0.576048 --0.572224 -0.568399 -0.564563 -0.560705 -0.556847 -0.552967 -0.549077 --0.545186 -0.541265 -0.537344 -0.53341 -0.529459 -0.525507 -0.521532 --0.517551 -0.513565 -0.509554 -0.505543 -0.501517 -0.497477 -0.493437 --0.489373 -0.485305 -0.48123 -0.477135 -0.473039 -0.468927 -0.464805 --0.460682 -0.456534 -0.452385 -0.448227 -0.444053 -0.439878 -0.435686 --0.431486 -0.427285 -0.423061 -0.418836 -0.414602 -0.410354 -0.406106 --0.40184 -0.397568 -0.393293 -0.389 -0.384706 -0.380401 -0.376085 -0.37177 --0.367435 -0.363098 -0.358756 -0.354399 -0.350041 -0.345671 -0.341294 --0.336917 -0.33252 -0.328124 -0.32372 -0.319305 -0.31489 -0.310462 --0.306029 -0.301594 -0.297144 -0.292693 -0.288235 -0.283768 -0.279301 --0.274821 -0.270338 -0.265852 -0.261354 -0.256856 -0.25235 -0.247837 --0.243324 -0.238799 -0.234272 -0.229742 -0.225202 -0.220662 -0.216114 --0.211562 -0.207009 -0.202445 -0.197881 -0.193312 -0.188737 -0.184161 --0.179578 -0.174992 -0.170405 -0.16581 -0.161214 -0.156614 -0.152009 --0.147405 -0.142793 -0.13818 -0.133565 -0.128944 -0.124323 -0.119699 --0.115071 -0.110443 -0.105809 -0.101175 -0.0965393 -0.0918996 -0.0872599 --0.0826169 -0.0779723 -0.0733274 -0.0686787 -0.0640299 -0.0593797 -0.0547273 --0.0500751 -0.0454206 -0.0407655 -0.03611 -0.0314528 -0.0267956 -0.0221377 --0.0174791 -0.0128205 -0.00816124 -0.00350193 0.00115738 0.0058167 -0.010476 0.0151349 0.0197935 0.0244521 0.0291094 0.0337666 0.0384231 -0.0430782 0.0477332 0.0523863 0.0570386 0.0616907 0.0663394 0.0709882 -0.0756352 0.0802797 0.0849243 0.0895649 0.0942046 0.0988433 0.103477 -0.108111 0.112742 0.11737 0.121998 0.126619 0.13124 0.135858 0.140472 -0.145085 0.149692 0.154297 0.158902 0.163497 0.168093 0.172685 0.177271 -0.181856 0.186434 0.19101 0.195584 0.200148 0.204712 0.209271 0.213823 -0.218376 0.222917 0.227457 0.231994 0.236521 0.241048 0.245566 0.250079 -0.254592 0.259091 0.263589 0.268082 0.272565 0.277048 0.281521 0.285988 -0.290454 0.294904 0.299355 0.303798 0.308231 0.312664 0.317084 0.321499 -0.325911 0.330308 0.334705 0.339091 0.343469 0.347846 0.352206 0.356563 -0.360916 0.365253 0.36959 0.373914 0.378229 0.382545 0.386839 0.391133 -0.395419 0.39969 0.403961 0.408216 0.412464 0.416711 0.420935 0.425159 -0.429373 0.433573 0.437772 0.441952 0.446127 0.450297 0.454446 0.458595 -0.46273 0.466853 0.470975 0.475074 0.479169 0.483258 0.487326 0.491394 -0.495444 0.499484 0.503524 0.507535 0.511546 0.515547 0.519529 0.52351 -0.52747 0.531422 0.535371 0.539292 0.543213 0.54712 0.55101 0.5549 -0.558763 0.562622 0.566474 0.570299 0.574125 0.577933 0.581726 0.585518 -0.58928 0.59304 0.596789 0.600515 0.60424 0.607943 0.611633 0.615323 -0.618979 0.622634 0.626276 0.629896 0.633515 0.637108 0.640691 0.64427 -0.647817 0.651364 0.654892 0.658402 0.661911 0.665388 0.66886 0.672323 -0.675756 0.679189 0.682599 0.685993 0.689387 0.692744 0.696099 0.699441 -0.702756 0.70607 0.709358 0.712632 0.715904 0.719138 0.722371 0.725587 -0.728779 0.731971 0.735131 0.738281 0.741425 0.744532 0.74764 0.750726 -0.753791 0.756856 0.759882 0.762904 0.765915 0.768893 0.771871 0.774821 -0.777755 0.780689 0.783579 0.786468 0.789341 0.792185 0.795029 0.797841 -0.800639 0.803434 0.806186 0.808939 0.811671 0.814377 0.817083 0.819751 -0.822411 0.825062 0.827674 0.830287 0.832873 0.835438 0.838002 0.840524 -0.84304 0.845544 0.848012 0.850481 0.852918 0.855338 0.857757 0.860128 -0.862499 0.864851 0.867172 0.869494 0.871778 0.87405 0.876316 0.878538 -0.880759 0.882957 0.885128 0.887299 0.889428 0.891548 0.893658 0.895727 -0.897796 0.899836 0.901854 0.903872 0.905841 0.907808 0.909758 0.911672 -0.913586 0.915466 0.917327 0.919187 0.920997 0.922806 0.924594 0.926351 -0.928107 0.929823 0.931527 0.933223 0.934873 0.936523 0.938146 0.939743 -0.941339 0.942889 0.944432 0.945962 0.94745 0.948939 0.950395 0.951829 -0.953264 0.954645 0.956025 0.957387 0.958712 0.960037 0.961323 0.962594 -0.96386 0.965075 0.96629 0.967482 0.968641 0.969801 0.970917 0.972021 -0.973116 0.974165 0.975214 0.976233 0.977225 0.978218 0.979161 0.980098 -0.98102 0.981901 0.982782 0.983627 0.984452 0.985277 0.986045 0.986814 -0.987562 0.988273 0.988985 0.989656 0.990311 0.990961 0.99156 0.992159 -0.992731 0.993273 0.993815 0.99431 0.994795 0.995269 0.995697 0.996125 -0.996522 0.996893 0.997264 0.997582 0.997897 0.998194 0.998451 0.998708 -0.998928 0.999128 0.999326 0.999469 0.999612 0.999733 0.999818 0.999904 -0.999946 0.999975 0.999996 0.999968 0.999939 0.999883 0.999797 0.999711 -0.999577 0.999434 0.999278 0.999078 0.998878 0.998644 0.998387 0.99813 -0.997818 0.997504 0.997171 0.9968 0.996429 0.996018 0.99559 0.995159 -0.994674 0.994189 0.99368 0.993138 0.992596 0.992009 0.99141 0.990803 -0.990148 0.989492 0.988807 0.988096 0.987384 0.986622 0.985853 0.985071 -0.984246 0.983421 0.982562 0.981681 0.9808 0.979864 0.978927 0.97797 -0.976977 0.975985 0.974952 0.973903 0.97285 0.971745 0.970641 0.969512 -0.968352 0.967192 0.965987 0.964772 0.963547 0.962277 0.961006 0.959706 -0.958381 0.957056 0.955681 0.954301 0.952906 0.951471 0.950037 0.948567 -0.947079 0.945589 0.944047 0.942504 0.940941 0.939344 0.937748 0.936111 -0.934461 0.932805 0.931101 0.929398 0.927669 0.925912 0.924156 0.922355 -0.920545 0.918725 0.916863 0.915001 0.913109 0.911195 0.90928 0.907317 -0.905351 0.903369 0.901351 0.899333 0.89728 0.895211 0.893139 0.891019 -0.888899 0.886758 0.884586 0.882415 0.880205 0.877984 0.875755 0.873483 -0.871212 0.868915 0.866593 0.864272 0.861908 0.859537 0.857154 0.854734 -0.852314 0.849865 0.847397 0.844928 0.842413 0.839896 0.837363 0.834798 -0.832233 0.829635 0.827023 0.824407 0.821748 0.819088 0.816408 0.813702 -0.810996 0.808253 0.8055 0.80274 0.799941 0.797143 0.79432 0.791476 -0.788632 0.785747 0.782858 0.779957 0.777024 0.77409 0.771128 0.76815 -0.765172 0.762151 0.759129 0.756092 0.753027 0.749962 0.746866 0.743758 -0.740646 0.737496 0.734346 0.731176 0.727984 0.724792 0.721565 0.718332 -0.71509 0.711816 0.708542 0.705245 0.70193 0.698615 0.695263 0.691908 -0.688542 0.685148 0.681754 0.678334 0.674901 0.671466 0.667995 0.664523 -0.661037 0.657528 0.654018 0.65048 0.646934 0.643382 0.639799 0.636215 -0.632614 0.628994 0.625374 0.621724 0.618068 0.614405 0.610714 0.607023 -0.603312 0.599587 0.595862 0.592104 0.588344 0.584574 0.580781 0.576988 -0.573173 0.569347 0.565519 0.561661 0.557803 0.553931 0.550041 0.546151 -0.542237 0.538316 0.53439 0.530438 0.526487 0.522519 0.518537 0.514556 -0.510548 0.506537 0.502518 0.498479 0.494439 0.490381 0.486313 0.482245 -0.47815 0.474054 0.469949 0.465826 0.461704 0.457562 0.453413 0.449262 -0.445087 0.440913 0.436727 0.432527 0.428327 0.424108 0.419884 0.415655 -0.411407 0.407159 0.402898 0.398627 0.394356 0.390064 0.38577 0.381471 -0.377155 0.372839 0.36851 0.364173 0.359836 0.355479 0.351121 0.346756 -0.342379 0.338002 0.33361 0.329214 0.324815 0.3204 0.315984 0.311561 -0.307128 0.302694 0.298247 0.293796 0.289343 0.284876 0.280409 0.275932 -0.271449 0.266967 0.262469 0.257971 0.253468 0.248956 0.244443 0.239921 -0.235394 0.230867 0.226327 0.221787 0.217242 0.21269 0.208138 0.203576 -0.199012 0.194446 0.189871 0.185295 0.180715 0.176129 0.171543 0.166949 -0.162353 0.157755 0.153151 0.148546 0.143936 0.139323 0.13471 0.130089 -0.125469 0.120846 0.116218 0.11159 0.106958 0.102324 0.0976893 0.0930496 -0.08841 0.0837681 0.0791235 0.074479 0.069831 0.0651822 0.0605328 0.0558805 -0.0512282 0.0465744 0.0419193 0.0372642 0.0326072 0.02795 0.0232924 -0.0186338 0.0139752 0.00931615 0.00465684 -2.47165e-06 -0.00466178 --0.0093211 -0.0139802 -0.0186388 -0.0232974 -0.027955 -0.0326122 -0.0372692 --0.0419243 -0.0465794 -0.0512332 -0.0558855 -0.0605378 -0.0651871 -0.0698359 --0.0744839 -0.0791285 -0.0837731 -0.0884149 -0.0930546 -0.0976942 -0.102329 --0.106963 -0.111595 -0.116223 -0.120851 -0.125474 -0.130094 -0.134715 --0.139328 -0.143941 -0.148551 -0.153156 -0.15776 -0.162358 -0.166954 --0.171548 -0.176134 -0.18072 -0.1853 -0.189876 -0.194451 -0.199017 --0.203581 -0.208143 -0.212695 -0.217247 -0.221792 -0.226332 -0.230872 --0.235399 -0.239926 -0.244448 -0.24896 -0.253473 -0.257976 -0.262474 --0.266971 -0.271454 -0.275937 -0.280413 -0.28488 -0.289347 -0.293801 --0.298252 -0.302699 -0.307132 -0.311565 -0.315989 -0.320404 -0.32482 --0.329218 -0.333615 -0.338006 -0.342384 -0.346761 -0.351126 -0.355483 --0.359841 -0.364178 -0.368515 -0.372844 -0.37716 -0.381475 -0.385775 --0.390069 -0.39436 -0.398632 -0.402903 -0.407164 -0.411411 -0.415659 --0.419888 -0.424112 -0.428332 -0.432532 -0.436731 -0.440917 -0.445092 --0.449267 -0.453418 -0.457567 -0.461708 -0.465831 -0.469953 -0.474058 --0.478154 -0.482249 -0.486317 -0.490386 -0.494443 -0.498483 -0.502523 --0.506541 -0.510552 -0.51456 -0.518542 -0.522523 -0.526491 -0.530442 --0.534394 -0.53832 -0.542241 -0.546156 -0.550046 -0.553935 -0.557807 --0.561665 -0.565523 -0.569351 -0.573177 -0.576992; -#A 4000 -0.580785 -0.584578 -0.588349 -0.592108 -0.595866 -0.599591 --0.603317 -0.607028 -0.610718 -0.614409 -0.618073 -0.621728 -0.625379 --0.628998 -0.632618 -0.63622 -0.639803 -0.643387 -0.646938 -0.650485 --0.654022 -0.657532 -0.661041 -0.664528 -0.667999 -0.671471 -0.674905 --0.678338 -0.681758 -0.685152 -0.688546 -0.691912 -0.695267 -0.698619 --0.701934 -0.705249 -0.708546 -0.71182 -0.715095 -0.718336 -0.72157 --0.724796 -0.727988 -0.73118 -0.73435 -0.7375 -0.74065 -0.743762 -0.74687 --0.749966 -0.753031 -0.756096 -0.759133 -0.762155 -0.765177 -0.768155 --0.771133 -0.774094 -0.777028 -0.779962 -0.782862 -0.785752 -0.788636 --0.79148 -0.794324 -0.797147 -0.799945 -0.802744 -0.805504 -0.808257 --0.811 -0.813706 -0.816412 -0.819092 -0.821752 -0.824411 -0.827027 --0.829639 -0.832237 -0.834802 -0.837367 -0.8399 -0.842417 -0.844932 --0.8474 -0.849869 -0.852318 -0.854738 -0.857158 -0.85954 -0.861911 --0.864276 -0.866597 -0.868918 -0.871215 -0.873487 -0.875759 -0.877987 --0.880209 -0.882419 -0.88459 -0.886761 -0.888902 -0.891022 -0.893143 --0.895214 -0.897283 -0.899336 -0.901354 -0.903372 -0.905354 -0.90732 --0.909283 -0.911198 -0.913112 -0.915004 -0.916866 -0.918728 -0.920548 --0.922358 -0.924159 -0.925915 -0.927672 -0.929401 -0.931104 -0.932808 --0.934464 -0.936114 -0.93775 -0.939347 -0.940944 -0.942507 -0.944049 --0.945592 -0.947081 -0.94857 -0.950039 -0.951474 -0.952908 -0.954303 --0.955683 -0.957058 -0.958383 -0.959708 -0.961009 -0.962279 -0.963549 --0.964774 -0.965989 -0.967194 -0.968354 -0.969514 -0.970643 -0.971747 --0.972852 -0.973905 -0.974954 -0.975986 -0.976979 -0.977972 -0.978929 --0.979866 -0.980802 -0.981683 -0.982564 -0.983423 -0.984248 -0.985072 --0.985855 -0.986623 -0.987385 -0.988097 -0.988809 -0.989494 -0.990149 --0.990804 -0.991412 -0.99201 -0.992597 -0.993139 -0.993681 -0.99419 --0.994675 -0.99516 -0.995591 -0.996019 -0.99643 -0.996801 -0.997172 --0.997504 -0.997819 -0.99813 -0.998387 -0.998645 -0.998878 -0.999078 --0.999278 -0.999434 -0.999577 -0.999711 -0.999797 -0.999883 -0.999939 --0.999968 -0.999996 -0.999975 -0.999946 -0.999904 -0.999818 -0.999732 --0.999611 -0.999469 -0.999326 -0.999127 -0.998927 -0.998707 -0.99845 --0.998193 -0.997895 -0.997581 -0.997262 -0.996891 -0.99652 -0.996123 --0.995695 -0.995267 -0.994793 -0.994307 -0.993812 -0.99327 -0.992728 --0.992156 -0.991557 -0.990958 -0.990308 -0.989653 -0.988982 -0.98827 --0.987558 -0.98681 -0.986042 -0.985273 -0.984448 -0.983623 -0.982778 --0.981897 -0.981016 -0.980094 -0.979156 -0.978214 -0.977221 -0.976228 --0.975209 -0.97416 -0.973111 -0.972016 -0.970911 -0.969796 -0.968636 --0.967476 -0.966285 -0.965069 -0.963854 -0.962588 -0.961317 -0.96003 --0.958705 -0.95738 -0.956018 -0.954639 -0.953257 -0.951822 -0.950388 --0.948932 -0.947443 -0.945955 -0.944424 -0.942882 -0.941332 -0.939735 --0.938138 -0.936515 -0.934865 -0.933215 -0.931518 -0.929815 -0.928099 --0.926342 -0.924586 -0.922798 -0.920988 -0.919179 -0.917318 -0.915456 --0.913577 -0.911663 -0.909749 -0.907798 -0.905832 -0.903862 -0.901844 --0.899826 -0.897786 -0.895717 -0.893648 -0.891538 -0.889417 -0.887289 --0.885118 -0.882946 -0.880749 -0.878527 -0.876305 -0.874039 -0.871767 --0.869483 -0.867161 -0.86484 -0.862487 -0.860117 -0.857746 -0.855326 --0.852906 -0.850469 -0.848 -0.845532 -0.843028 -0.840511 -0.83799 -0.835425 --0.83286 -0.830274 -0.827662 -0.825049 -0.822398 -0.819739 -0.81707 --0.814364 -0.811658 -0.808926 -0.806173 -0.80342 -0.800626 -0.797827 --0.795015 -0.792171 -0.789327 -0.786454 -0.783565 -0.780675 -0.777741 --0.774807 -0.771856 -0.768878 -0.7659 -0.762889 -0.759868 -0.756841 --0.753776 -0.750711 -0.747625 -0.744517 -0.741409 -0.738266 -0.735115 --0.731956 -0.728764 -0.725572 -0.722356 -0.719122 -0.715889 -0.712616 --0.709342 -0.706054 -0.70274 -0.699425 -0.696083 -0.692728 -0.689371 --0.685977 -0.682583 -0.679172 -0.675739 -0.672306 -0.668843 -0.665371 --0.661894 -0.658385 -0.654875 -0.651347 -0.6478 -0.644253 -0.640674 --0.637091 -0.633498 -0.629878 -0.626258 -0.622617 -0.618961 -0.615306 --0.611616 -0.607925 -0.604222 -0.600497 -0.596771 -0.593022 -0.589262 --0.5855 -0.581707 -0.577914 -0.574107 -0.570281 -0.566455 -0.562603 --0.558745 -0.554881 -0.550991 -0.547101 -0.543194 -0.539273 -0.535352 --0.531403 -0.527451 -0.523491 -0.51951 -0.515528 -0.511527 -0.507516 --0.503505 -0.499465 -0.495425 -0.491374 -0.487306 -0.483238 -0.47915 --0.475054 -0.470956 -0.466833 -0.46271 -0.458575 -0.454426 -0.450277 --0.446107 -0.441932 -0.437752 -0.433553 -0.429353 -0.425139 -0.420915 --0.416691 -0.412444 -0.408196 -0.403941 -0.39967 -0.395399 -0.391112 --0.386819 -0.382524 -0.378209 -0.373893 -0.369569 -0.365232 -0.360895 --0.356543 -0.352185 -0.347825 -0.343448 -0.33907 -0.334684 -0.330287 --0.32589 -0.321478 -0.317062 -0.312643 -0.30821 -0.303777 -0.299333 --0.294883 -0.290433 -0.285966 -0.281499 -0.277027 -0.272544 -0.268061 --0.263568 -0.259069 -0.25457 -0.250058 -0.245545 -0.241026 -0.236499 --0.231973 -0.227436 -0.222896 -0.218354 -0.213802 -0.209249 -0.204691 --0.200126 -0.195562 -0.190988 -0.186412 -0.181834 -0.177249 -0.172663 --0.168071 -0.163475 -0.15888 -0.154275 -0.14967 -0.145063 -0.140449 --0.135836 -0.131218 -0.126597 -0.121975 -0.117348 -0.11272 -0.108089 --0.103455 -0.0988211 -0.0941824 -0.0895427 -0.0849021 -0.0802575 -0.0756129 --0.070966 -0.0663172 -0.0616684 -0.0570164 -0.0523641 -0.047711 -0.0430559 --0.0384008 -0.0337443 -0.0290871 -0.0244298 -0.0197712 -0.0151126 -0.0104537 --0.00579441 -0.0011351 0.00352421 0.00818352 0.0128428 0.0175014 0.02216 -0.0268179 0.0314751 0.0361324 0.0407877 0.0454428 0.0500973 0.0547496 -0.0594019 0.0640521 0.0687009 0.0733497 0.0779945 0.0826391 0.0872821 -0.0919218 0.0965614 0.101197 0.105831 0.110465 0.115093 0.119721 0.124345 -0.128966 0.133587 0.138202 0.142815 0.147427 0.152031 0.156636 0.161236 -0.165832 0.170427 0.175014 0.1796 0.184183 0.188759 0.193334 0.197902 -0.202467 0.207031 0.211583 0.216136 0.220684 0.225224 0.229763 0.234294 -0.23882 0.243346 0.247859 0.252371 0.256878 0.261376 0.265874 0.27036 -0.274843 0.279323 0.28379 0.288257 0.292715 0.297165 0.301615 0.30605 -0.310483 0.314911 0.319326 0.323742 0.328145 0.332541 0.336938 0.341315 -0.345692 0.350062 0.35442 0.358777 0.363119 0.367456 0.37179 0.376106 -0.380421 0.384727 0.38902 0.393314 0.397589 0.40186 0.406126 0.410374 -0.414622 0.418857 0.423081 0.427305 0.431506 0.435706 0.439898 0.444073 -0.448247 0.452405 0.456554 0.460702 0.464824 0.468947 0.473059 0.477154 -0.48125 0.485324 0.489392 0.493457 0.497496 0.501536 0.505562 0.509573 -0.513584 0.51757 0.521551 0.525526 0.529478 0.533429 0.537363 0.541284 -0.545205 0.549096 0.552986 0.556865 0.560723 0.564581 0.568417 0.572243 -0.576066 0.579859 0.583652 0.587431 0.59119 0.594949 0.598682 0.602407 -0.606127 0.609817 0.613508 0.61718 0.620836 0.624491 0.628115 0.631734 -0.635345 0.638928 0.642512 0.646072 0.649619 0.653166 0.656675 0.660184 -0.66368 0.667152 0.670623 0.674067 0.6775 0.680929 0.684323 0.687717 -0.691093 0.694448 0.697803 0.701125 0.704439 0.707747 0.711021 0.714295 -0.717547 0.72078 0.724014 0.727209 0.730401 0.733581 0.736731 0.739881 -0.743003 0.746111 0.749218 0.752283 0.755348 0.758396 0.761417 0.764439 -0.767428 0.770405 0.773378 0.776312 0.779245 0.782157 0.785046 0.787935 -0.790786 0.79363 0.796464 0.799262 0.802061 0.804832 0.807585 0.810337 -0.813045 0.815752 0.818443 0.821102 0.823762 0.826389 0.829001 0.831611 -0.834176 0.83674 0.839285 0.841802 0.844319 0.846798 0.849266 0.851727 -0.854147 0.856567 0.858962 0.861332 0.863703 0.86603 0.868352 0.870661 -0.872932 0.875204 0.877445 0.879666 0.881888 0.88406 0.886231 0.888384 -0.890505 0.892625 0.894709 0.896778 0.898843 0.900861 0.902879 0.904874 -0.90684 0.908806 0.91073 0.912645 0.914549 0.916411 0.918273 0.920107 -0.921916 0.923725 0.925487 0.927243 0.928985 0.930688 0.932392 0.934061 -0.935711 0.937361 0.938957 0.940554 0.94213 0.943673 0.945215 0.946718 -0.948207 0.949689 0.951124 0.952558 0.953966 0.955346 0.956726 0.95806 -0.959385 0.960699 0.961969 0.963239 0.964477 0.965693 0.966908 0.968071 -0.969231 0.970373 0.971478 0.972582 0.973649 0.974698 0.975744 0.976737 -0.97773 0.9787 0.979637 0.980574 0.981468 0.982349 0.983222 0.984046 -0.984871 0.985667 0.986436 0.987204 0.987923 0.988635 0.989334 0.989989 -0.990644 0.991265 0.991864 0.992463 0.993006 0.993548 0.994071 0.994556 -0.995041 0.995486 0.995915 0.996339 0.99671 0.997081 0.997428 0.997742 -0.998056 0.998325 0.998582 0.998829 0.999029 0.999229 0.999399 0.999542 -0.999685 0.999776 0.999862 0.999932 0.999961 0.99999 0.999982 0.999953 -0.999925 0.999839 0.999753 0.999647 0.999504 0.999361 0.999176 0.998976 -0.998771 0.998513 0.998256 0.997973 0.997658 0.997344 0.996983 0.996611 -0.996229 0.995801 0.995373 0.994912 0.994427 0.993942 0.993404 0.992862 -0.992304 0.991705 0.991106 0.99047 0.989815 0.989158 0.988446 0.987734 -0.987 0.986231 0.985463 0.984652 0.983827 0.982995 0.982114 0.981234 -0.980325 0.979388 0.978451 0.977466 0.976473 0.975468 0.974419 0.97337 -0.972289 0.971184 0.97008 0.968922 0.967763 0.966585 0.96537 0.964155 -0.962902 0.961631 0.960358 0.959033 0.957708 0.95636 0.95498 0.9536 -0.952177 0.950743 0.9493 0.947811 0.946323 0.944806 0.943263 0.94172 -0.94013 0.938533 0.936923 0.935273 0.933623 0.93194 0.930236 0.928533 -0.926777 0.92502 0.923245 0.921436 0.919626 0.917779 0.915917 0.914051 -0.912136 0.910222 0.908284 0.906318 0.904352 0.902344 0.900326 0.898298 -0.896229 0.89416 0.892062 0.889942 0.887821 0.885655 0.883484 0.881298 -0.879077 0.876855 0.874601 0.872329 0.870057 0.867736 0.865414 0.863074 -0.860703 0.858332 0.855925 0.853505 0.85108 0.848611 0.846143; -#A 5000 0.843651 0.841134 0.838617 0.83606 0.833495 0.83092 0.828308 -0.825696 0.823056 0.820397 0.817737 0.815034 0.812328 0.809607 0.806854 -0.804102 0.801318 0.79852 0.795719 0.792875 0.790031 0.787169 0.78428 -0.781391 0.778467 0.775533 0.772594 0.769616 0.766638 0.763638 0.760616 -0.757594 0.754535 0.75147 0.748395 0.745287 0.742179 0.739046 0.735896 -0.732745 0.729554 0.726362 0.723156 0.719923 0.716689 0.713427 0.710153 -0.706876 0.703561 0.700246 0.696914 0.693559 0.690204 0.686818 0.683424 -0.680023 0.67659 0.673157 0.669703 0.666231 0.66276 0.659254 0.655745 -0.652226 0.648679 0.645132 0.641562 0.637978 0.634395 0.630775 0.627155 -0.623522 0.619867 0.616211 0.61253 0.608839 0.605145 0.60142 0.597695 -0.593953 0.590194 0.586435 0.582647 0.578854 0.575055 0.571229 0.567403 -0.563559 0.559701 0.555843 0.551955 0.548065 0.544166 0.540245 0.536324 -0.532383 0.528431 0.524478 0.520497 0.516515 0.512522 0.50851 0.504499 -0.500466 0.496426 0.492383 0.488315 0.484247 0.480165 0.476069 0.471974 -0.467855 0.463732 0.459604 0.455455 0.451306 0.447141 0.442967 0.438792 -0.434593 0.430394 0.426186 0.421962 0.417738 0.413497 0.409249 0.405 -0.400729 0.396457 0.392177 0.387883 0.383589 0.379278 0.374963 0.370644 -0.366307 0.36197 0.357623 0.353265 0.348908 0.344533 0.340156 0.335773 -0.331377 0.32698 0.322572 0.318157 0.313742 0.309309 0.304876 0.300436 -0.295986 0.291536 0.287073 0.282606 0.278138 0.273655 0.269172 0.264682 -0.260184 0.255686 0.251176 0.246663 0.242148 0.237621 0.233095 0.228561 -0.224021 0.219481 0.21493 0.210378 0.205822 0.201258 0.196693 0.192122 -0.187547 0.182971 0.178385 0.173799 0.16921 0.164614 0.160019 0.155416 -0.150812 0.146206 0.141593 0.13698 0.132363 0.127742 0.123121 0.118495 -0.113867 0.109238 0.104604 0.0999698 0.0953325 0.0906928 0.0860531 -0.0814088 0.0767642 0.0721183 0.0674695 0.0628207 0.0581696 0.0535173 -0.0488648 0.0442097 0.0395546 0.0348987 0.0302414 0.0255842 0.0209259 -0.0162673 0.0116086 0.00694932 0.00229001 -0.0023693 -0.00702861 -0.0116879 --0.0163466 -0.0210052 -0.0256635 -0.0303207 -0.0349779 -0.0396339 -0.044289 --0.0489441 -0.0535964 -0.0582487 -0.0628998 -0.0675486 -0.0721974 -0.0768432 --0.0814878 -0.0861321 -0.0907718 -0.0954114 -0.100049 -0.104683 -0.109317 --0.113946 -0.118574 -0.1232 -0.127821 -0.132442 -0.137058 -0.141671 --0.146284 -0.15089 -0.155495 -0.160097 -0.164692 -0.169288 -0.173877 --0.178463 -0.183049 -0.187624 -0.1922 -0.196771 -0.201335 -0.2059 -0.210455 --0.215007 -0.219558 -0.224098 -0.228638 -0.233172 -0.237698 -0.242225 --0.24674 -0.251253 -0.255763 -0.260261 -0.264759 -0.269249 -0.273731 --0.278214 -0.282682 -0.287149 -0.291611 -0.296062 -0.300512 -0.304951 --0.309384 -0.313817 -0.318232 -0.322647 -0.327055 -0.331452 -0.335848 --0.34023 -0.344607 -0.348982 -0.353339 -0.357697 -0.362044 -0.366381 --0.370718 -0.375036 -0.379352 -0.383662 -0.387956 -0.39225 -0.39653 --0.400801 -0.405072 -0.409321 -0.413569 -0.41781 -0.422034 -0.426258 --0.430465 -0.434665 -0.438863 -0.443038 -0.447213 -0.451376 -0.455525 --0.459674 -0.463802 -0.467925 -0.472043 -0.476139 -0.480235 -0.484316 --0.488384 -0.492452 -0.496495 -0.500535 -0.504568 -0.508579 -0.51259 --0.516583 -0.520564 -0.524546 -0.528498 -0.53245 -0.536391 -0.540312 --0.544233 -0.548132 -0.552022 -0.555909 -0.559767 -0.563625 -0.567469 --0.571294 -0.57512 -0.578919 -0.582712 -0.586499 -0.590258 -0.594018 --0.597758 -0.601484 -0.605209 -0.608903 -0.612593 -0.616274 -0.61993 --0.623585 -0.627217 -0.630837 -0.634456 -0.63804 -0.641623 -0.645193 --0.64874 -0.652286 -0.655805 -0.659315 -0.66282 -0.666291 -0.669763 --0.673216 -0.676649 -0.680082 -0.683482 -0.686876 -0.690262 -0.693617 --0.696971 -0.700303 -0.703618 -0.706933 -0.710209 -0.713484 -0.716745 --0.719979 -0.723212 -0.726418 -0.72961 -0.7328 -0.73595 -0.7391 -0.742233 --0.745341 -0.748448 -0.751523 -0.754588 -0.757647 -0.760668 -0.76369 --0.766689 -0.769667 -0.772645 -0.775584 -0.778518 -0.781441 -0.78433 --0.787219 -0.790081 -0.792925 -0.795769 -0.798568 -0.801367 -0.80415 --0.806902 -0.809655 -0.812375 -0.815081 -0.817784 -0.820443 -0.823103 --0.825741 -0.828354 -0.830966 -0.83354 -0.836105 -0.838661 -0.841178 --0.843695 -0.846186 -0.848654 -0.851123 -0.853547 -0.855967 -0.858374 --0.860745 -0.863116 -0.865455 -0.867776 -0.870098 -0.872369 -0.874641 --0.876894 -0.879116 -0.881337 -0.883522 -0.885693 -0.887859 -0.889979 --0.8921 -0.894196 -0.896265 -0.898335 -0.900361 -0.902379 -0.904387 --0.906353 -0.908319 -0.910256 -0.91217 -0.914084 -0.91595 -0.917812 --0.919658 -0.921467 -0.923277 -0.925051 -0.926808 -0.928563 -0.930266 --0.93197 -0.933652 -0.935302 -0.936952 -0.938561 -0.940158 -0.941748 --0.94329 -0.944833 -0.946349 -0.947838 -0.949326 -0.950768 -0.952202 --0.953624 -0.955004 -0.956384 -0.957731 -0.959056 -0.960382 -0.961654 --0.962924 -0.964176 -0.965391 -0.966606 -0.967783 -0.968943 -0.9701 --0.971204 -0.972308 -0.973389 -0.974438 -0.975486 -0.976491 -0.977484 --0.978468 -0.979405 -0.980342 -0.981249 -0.98213 -0.983011 -0.983842 --0.984667 -0.985477 -0.986245 -0.987014 -0.987747 -0.988459 -0.989171 --0.989826 -0.990482 -0.991117 -0.991716 -0.992314 -0.992872 -0.993414 --0.993951 -0.994436 -0.994921 -0.99538 -0.995808 -0.996237 -0.996618 --0.996989 -0.99735 -0.997664 -0.997978 -0.998261 -0.998518 -0.998775 --0.99898 -0.99918 -0.999364 -0.999506 -0.999649 -0.999755 -0.999841 --0.999925 -0.999954 -0.999982 -0.999989 -0.99996 -0.999932 -0.99986 --0.999774 -0.999682 -0.999539 -0.999396 -0.999225 -0.999025 -0.998825 --0.998576 -0.998319 -0.99805 -0.997735 -0.997421 -0.997074 -0.996702 --0.996331 -0.995906 -0.995477 -0.995031 -0.994546 -0.994061 -0.993537 --0.992995 -0.99245 -0.991852 -0.991253 -0.990631 -0.989975 -0.98932 --0.98862 -0.987908 -0.987188 -0.98642 -0.985651 -0.984854 -0.984029 --0.983204 -0.98233 -0.981449 -0.980555 -0.979618 -0.97868 -0.977709 --0.976716 -0.975723 -0.974676 -0.973627 -0.972559 -0.971455 -0.97035 --0.969206 -0.968047 -0.966882 -0.965667 -0.964452 -0.963213 -0.961942 --0.960672 -0.959357 -0.958032 -0.956697 -0.955317 -0.953938 -0.952528 --0.951094 -0.949659 -0.948176 -0.946687 -0.945183 -0.943641 -0.942098 --0.940521 -0.938924 -0.937327 -0.935677 -0.934027 -0.932357 -0.930653 --0.928949 -0.927207 -0.92545 -0.923688 -0.921878 -0.920069 -0.918235 --0.916373 -0.914511 -0.912605 -0.91069 -0.908766 -0.906799 -0.904833 --0.902837 -0.900819 -0.898801 -0.896735 -0.894666 -0.892581 -0.890461 --0.88834 -0.886186 -0.884015 -0.881842 -0.87962 -0.877398 -0.875157 --0.872885 -0.870613 -0.868303 -0.865982 -0.863654 -0.861283 -0.858912 --0.856517 -0.854097 -0.851677 -0.849215 -0.846746 -0.844267 -0.84175 --0.839233 -0.836687 -0.834122 -0.831558 -0.828947 -0.826335 -0.823707 --0.821047 -0.818388 -0.815695 -0.812989 -0.81028 -0.807527 -0.804775 --0.802002 -0.799204 -0.796405 -0.793571 -0.790727 -0.787875 -0.784986 --0.782097 -0.779184 -0.776251 -0.773317 -0.770343 -0.767366 -0.764376 --0.761355 -0.758333 -0.755284 -0.752219 -0.749154 -0.746046 -0.742939 --0.739816 -0.736665 -0.733515 -0.730335 -0.727142 -0.723947 -0.720713 --0.717479 -0.714227 -0.710953 -0.707678 -0.704371 -0.701056 -0.697733 --0.694378 -0.691024 -0.687647 -0.684253 -0.680858 -0.677428 -0.673995 --0.670551 -0.667079 -0.663608 -0.660111 -0.656602 -0.653092 -0.649545 --0.645998 -0.642438 -0.638854 -0.63527 -0.631659 -0.62804 -0.624415 --0.62076 -0.617104 -0.613432 -0.609741 -0.60605 -0.60233 -0.598604 --0.594872 -0.591112 -0.587353 -0.583574 -0.579781 -0.575988 -0.572163 --0.568338 -0.564501 -0.560643 -0.556785 -0.552905 -0.549015 -0.545124 --0.541202 -0.537281 -0.533347 -0.529396 -0.525444 -0.521469 -0.517487 --0.513501 -0.50949 -0.505479 -0.501453 -0.497413 -0.493373 -0.489308 --0.48524 -0.481165 -0.477069 -0.472974 -0.468861 -0.464739 -0.460616 --0.456468 -0.452319 -0.448161 -0.443986 -0.439811 -0.435619 -0.431419 --0.427217 -0.422993 -0.418769 -0.414534 -0.410286 -0.406038 -0.401771 --0.3975 -0.393225 -0.388931 -0.384638 -0.380332 -0.376016 -0.371701 --0.367366 -0.363029 -0.358687 -0.354329 -0.349972 -0.345602 -0.341224 --0.336847 -0.33245 -0.328054 -0.32365 -0.319235 -0.31482 -0.310391 --0.305958 -0.301523 -0.297073 -0.292622 -0.288164 -0.283697 -0.27923 --0.27475 -0.270267 -0.265781 -0.261283 -0.256784 -0.252278 -0.247765 --0.243252 -0.238727 -0.2342 -0.229669 -0.225129 -0.22059 -0.216041 --0.211489 -0.206936 -0.202372 -0.197808 -0.193239 -0.188664 -0.184088 --0.179505 -0.174919 -0.170332 -0.165736 -0.161141 -0.156541 -0.151936 --0.147331 -0.142719 -0.138106 -0.133491 -0.12887 -0.12425 -0.119625 --0.114997 -0.110369 -0.105735 -0.101101 -0.0964652 -0.0918256 -0.0871859 --0.0825427 -0.0778981 -0.0732533 -0.0686045 -0.0639557 -0.0593054 -0.0546531 --0.0500008 -0.0453463 -0.0406912 -0.0360357 -0.0313785 -0.0267213 -0.0220634 --0.0174047 -0.0127461 -0.0080869 -0.00342758 0.00123173 0.00589104 -0.0105504 0.0152092 0.0198678 0.0245264 0.0291837 0.0338409 0.0384973 -0.0431524 0.0478075 0.0524606 0.0571129 0.0617648 0.0664136 0.0710624 -0.0757093 0.0803538 0.0849984 0.0896389 0.0942786 0.0989172 0.103551 -0.108185 0.112816 0.117444 0.122071 0.126693 0.131314 0.135932 0.140545 -0.145158 0.149766 0.15437 0.158975 0.16357 0.168166 0.172758 0.177344 -0.181929 0.186507 0.191083 0.195657 0.200221 0.204785 0.209344 0.213896 -0.218448 0.22299 0.22753 0.232067 0.236593 0.24112 0.245638 0.250151 -0.254664 0.259163 0.263661 0.268154 0.272637 0.27712 0.281592 0.286059 -0.290525 0.294975 0.299426 0.303869 0.308302 0.312735 0.317154 0.321569 -0.325982 0.330378 0.334775 0.339161 0.343539 0.347916 0.352276 0.356633 -0.360985 0.365322 0.369659 0.373983 0.378298 0.382614 0.386908 0.391201 -0.395487 0.399758 0.40403 0.408284 0.412532 0.416778 0.421002 0.425227 -0.42944 0.43364 0.437839 0.442019 0.446193 0.450363 0.454512 0.458661 -0.462796 0.466918 0.471041 0.475139 0.479235 0.483323 0.487391; -#A 6000 0.491459 0.495509 0.499549 0.503588 0.507599 0.51161 0.51561 -0.519592 0.523574 0.527533 0.531485 0.535433 0.539355 0.543276 0.547182 -0.551072 0.554962 0.558825 0.562683 0.566535 0.57036 0.574186 0.577993 -0.581786 0.585579 0.58934 0.5931 0.596849 0.600574 0.604299 0.608001 -0.611692 0.615381 0.619037 0.622693 0.626334 0.629953 0.633573 0.637165 -0.640749 0.644327 0.647874 0.65142 0.654948 0.658458 0.661967 0.665444 -0.668915 0.672377 0.675811 0.679244 0.682653 0.686047 0.689442 0.692798 -0.696152 0.699494 0.702808 0.706123 0.70941 0.712684 0.715956 0.719189 -0.722423 0.725638 0.72883 0.732022 0.735181 0.738331 0.741474 0.744582 -0.74769 0.750775 0.75384 0.756905 0.759931 0.762952 0.765962 0.76894 -0.771918 0.774868 0.777802 0.780735 0.783625 0.786514 0.789386 0.79223 -0.795074 0.797885 0.800684 0.803478 0.80623 0.808983 0.811714 0.81442 -0.817126 0.819794 0.822453 0.825104 0.827716 0.830328 0.832914 0.835479 -0.838043 0.840564 0.843081 0.845583 0.848052 0.85052 0.852957 0.855377 -0.857795 0.860166 0.862537 0.864888 0.867209 0.869531 0.871815 0.874086 -0.876352 0.878573 0.880795 0.882992 0.885163 0.887334 0.889461 0.891582 -0.893691 0.89576 0.897829 0.899868 0.901886 0.903904 0.905873 0.907839 -0.909788 0.911703 0.913617 0.915495 0.917357 0.919216 0.921026 0.922835 -0.924622 0.926379 0.928135 0.92985 0.931554 0.933249 0.934899 0.936549 -0.938172 0.939768 0.941365 0.942914 0.944456 0.945985 0.947474 0.948963 -0.950418 0.951852 0.953287 0.954667 0.956047 0.957408 0.958733 0.960058 -0.961344 0.962614 0.96388 0.965095 0.96631 0.9675 0.96866 0.96982 0.970934 -0.972039 0.973133 0.974182 0.97523 0.976248 0.977241 0.978234 0.979176 -0.980113 0.981034 0.981915 0.982796 0.983641 0.984465 0.985289 0.986058 -0.986826 0.987573 0.988285 0.988997 0.989666 0.990322 0.990971 0.991569 -0.992168 0.99274 0.993282 0.993824 0.994318 0.994803 0.995276 0.995704 -0.996132 0.996527 0.996899 0.99727 0.997587 0.997902 0.998198 0.998455 -0.998712 0.998931 0.999131 0.999329 0.999472 0.999614 0.999734 0.99982 -0.999905 0.999947 0.999975 0.999996 0.999967 0.999939 0.999881 0.999796 -0.99971 0.999574 0.999431 0.999275 0.999075 0.998875 0.99864 0.998383 -0.998126 0.997813 0.997499 0.997165 0.996794 0.996423 0.996011 0.995583 -0.995151 0.994666 0.994181 0.993671 0.993129 0.992587 0.992 0.991401 -0.990793 0.990137 0.989482 0.988796 0.988084 0.987372 0.98661 0.985841 -0.985058 0.984233 0.983408 0.982548 0.981667 0.980786 0.979849 0.978912 -0.977955 0.976962 0.975969 0.974935 0.973886 0.972832 0.971728 0.970623 -0.969493 0.968333 0.967173 0.965968 0.964752 0.963526 0.962256 0.960986 -0.959685 0.95836 0.957035 0.955659 0.954279 0.952883 0.951448 0.950014 -0.948544 0.947055 0.945565 0.944022 0.942479 0.940915 0.939319 0.937722 -0.936085 0.934435 0.932778 0.931074 0.929371 0.927641 0.925884 0.924128 -0.922326 0.920516 0.918695 0.916833 0.914971 0.913078 0.911164 0.90925 -0.907286 0.905319 0.903336 0.901318 0.899301 0.897247 0.895178 0.893106 -0.890985 0.888865 0.886723 0.884552 0.882381 0.88017 0.877948 0.875719 -0.873447 0.871175 0.868878 0.866556 0.864235 0.86187 0.859499 0.857116 -0.854696 0.852276 0.849826 0.847357 0.844889 0.842373 0.839856 0.837322 -0.834757 0.832192 0.829593 0.826981 0.824365 0.821705 0.819046 0.816365 -0.813659 0.810953 0.808209 0.805456 0.802695 0.799897 0.797098 0.794275 -0.791431 0.788587 0.785701 0.782812 0.779911 0.776977 0.774043 0.771081 -0.768103 0.765124 0.762103 0.759081 0.756043 0.752978 0.749913 0.746816 -0.743708 0.740596 0.737445 0.734295 0.731125 0.727933 0.724741 0.721514 -0.71828 0.715038 0.711764 0.708489 0.705192 0.701877 0.698562 0.69521 -0.691855 0.688488 0.685094 0.681699 0.678279 0.674846 0.671411 0.667939 -0.664468 0.660981 0.657472 0.653962 0.650424 0.646877 0.643325 0.639742 -0.636158 0.632556 0.628936 0.625317 0.621665 0.61801 0.614346 0.610655 -0.606965 0.603253 0.599527 0.595802 0.592044 0.588284 0.584514 0.580721 -0.576928 0.573112 0.569286 0.565458 0.561599 0.557741 0.553869 0.549979 -0.546089 0.542174 0.538253 0.534327 0.530375 0.526423 0.522456 0.518474 -0.514492 0.510484 0.506473 0.502454 0.498414 0.494374 0.490316 0.486248 -0.48218 0.478084 0.473989 0.469883 0.465761 0.461638 0.457496 0.453347 -0.449196 0.445021 0.440846 0.43666 0.43246 0.42826 0.42404 0.419816 -0.415587 0.411339 0.407091 0.40283 0.398559 0.394288 0.389996 0.385702 -0.381402 0.377086 0.372771 0.368441 0.364104 0.359767 0.355409 0.351052 -0.346687 0.342309 0.337932 0.33354 0.329143 0.324744 0.320329 0.315914 -0.31149 0.307057 0.302624 0.298176 0.293725 0.289271 0.284804 0.280337 -0.275861 0.271378 0.266895 0.262397 0.257899 0.253396 0.248884 0.244371 -0.239849 0.235322 0.230795 0.226255 0.221715 0.21717 0.212617 0.208065 -0.203503 0.198939 0.194373 0.189798 0.185222 0.180642 0.176056 0.17147 -0.166875 0.16228 0.157682 0.153077 0.148473 0.143863 0.13925 0.134636 -0.130016 0.125395 0.120772 0.116144 0.111516 0.106884 0.10225 0.0976153 -0.0929756 0.0883359 0.083694 0.0790494 0.0744049 0.0697568 0.065108 -0.0604586 0.0558063 0.051154 0.0465002 0.041845 0.0371899 0.0325329 -0.0278757 0.0232181 0.0185595 0.0139009 0.00924181 0.0045825 -7.68168e-05 --0.00473613 -0.00939544 -0.0140545 -0.0187131 -0.0233717 -0.0280293 --0.0326865 -0.0373434 -0.0419985 -0.0466536 -0.0513074 -0.0559597 -0.060612 --0.0652613 -0.0699101 -0.074558 -0.0792026 -0.0838472 -0.0884889 -0.0931286 --0.0977683 -0.102403 -0.107037 -0.111669 -0.116297 -0.120924 -0.125547 --0.130168 -0.134789 -0.139402 -0.144015 -0.148624 -0.153229 -0.157834 --0.162431 -0.167027 -0.171621 -0.176207 -0.180793 -0.185373 -0.189949 --0.194524 -0.19909 -0.203654 -0.208215 -0.212768 -0.21732 -0.221865 --0.226404 -0.230944 -0.235471 -0.239998 -0.24452 -0.249032 -0.253545 --0.258048 -0.262546 -0.267043 -0.271526 -0.276009 -0.280485 -0.284952 --0.289419 -0.293872 -0.298323 -0.30277 -0.307203 -0.311636 -0.31606 --0.320475 -0.32489 -0.329288 -0.333685 -0.338076 -0.342454 -0.346831 --0.351196 -0.355553 -0.35991 -0.364247 -0.368584 -0.372913 -0.377228 --0.381544 -0.385843 -0.390137 -0.394429 -0.3987 -0.402971 -0.407231 --0.411479 -0.415727 -0.419955 -0.42418 -0.428399 -0.432599 -0.436798 --0.440984 -0.445159 -0.449333 -0.453484 -0.457633 -0.461774 -0.465897 --0.470019 -0.474124 -0.478219 -0.482314 -0.486382 -0.49045 -0.494507 --0.498547 -0.502587 -0.506605 -0.510616 -0.514623 -0.518605 -0.522587 --0.526554 -0.530505 -0.534457 -0.538383 -0.542304 -0.546218 -0.550108 --0.553998 -0.557869 -0.561727 -0.565585 -0.569412 -0.573238 -0.577053 --0.580846 -0.584639 -0.588409 -0.592168 -0.595925 -0.599651 -0.603376 --0.607087 -0.610777 -0.614468 -0.618131 -0.621786 -0.625436 -0.629056 --0.632676 -0.636277 -0.63986 -0.643444 -0.646995 -0.650541 -0.654078 --0.657588 -0.661097 -0.664583 -0.668055 -0.671526 -0.67496 -0.678393 --0.681812 -0.685206 -0.6886 -0.691966 -0.695321 -0.698672 -0.701987 --0.705302 -0.708598 -0.711873 -0.715147 -0.718388 -0.721621 -0.724847 --0.728039 -0.731231 -0.7344 -0.73755 -0.7407 -0.743812 -0.746919 -0.750015 --0.75308 -0.756145 -0.759182 -0.762203 -0.765224 -0.768202 -0.77118 --0.774141 -0.777075 -0.780008 -0.782909 -0.785798 -0.788682 -0.791525 --0.79437 -0.797192 -0.79999 -0.802788 -0.805548 -0.808301 -0.811043 --0.813749 -0.816456 -0.819135 -0.821794 -0.824454 -0.827068 -0.829681 --0.832278 -0.834843 -0.837408 -0.83994 -0.842457 -0.844971 -0.84744 --0.849908 -0.852357 -0.854777 -0.857197 -0.859578 -0.861949 -0.864313 --0.866634 -0.868956 -0.871251 -0.873523 -0.875795 -0.878023 -0.880244 --0.882453 -0.884625 -0.886796 -0.888936 -0.891056 -0.893177 -0.895247 --0.897317 -0.899368 -0.901386 -0.903404 -0.905385 -0.907352 -0.909314 --0.911228 -0.913143 -0.915034 -0.916896 -0.918758 -0.920577 -0.922387 --0.924187 -0.925943 -0.9277 -0.929428 -0.931132 -0.932835 -0.93449 --0.93614 -0.937776 -0.939373 -0.940969 -0.942531 -0.944074 -0.945616 --0.947105 -0.948594 -0.950062 -0.951497 -0.952931 -0.954325 -0.955705 --0.957079 -0.958404 -0.95973 -0.961029 -0.962299 -0.963569 -0.964794 --0.966009 -0.967213 -0.968372 -0.969532 -0.970661 -0.971765 -0.972869 --0.973922 -0.97497 -0.976002 -0.976995 -0.977988 -0.978944 -0.979881 --0.980816 -0.981697 -0.982578 -0.983436 -0.984261 -0.985086 -0.985867 --0.986636 -0.987396 -0.988108 -0.98882 -0.989504 -0.990159 -0.990815 --0.991421 -0.99202 -0.992605 -0.993147 -0.993689 -0.994197 -0.994682 --0.995168 -0.995598 -0.996026 -0.996435 -0.996807 -0.997178 -0.997509 --0.997824 -0.998134 -0.998392 -0.998649 -0.998881 -0.999081 -0.999281 --0.999436 -0.999579 -0.999713 -0.999798 -0.999884 -0.99994 -0.999968 --0.999997 -0.999974 -0.999946 -0.999902 -0.999817 -0.999731 -0.999609 --0.999466 -0.999323 -0.999124 -0.998924 -0.998703 -0.998446 -0.998189 --0.99789 -0.997576 -0.997256 -0.996885 -0.996514 -0.996116 -0.995688 --0.99526 -0.994785 -0.9943 -0.993804 -0.993262 -0.99272 -0.992146 -0.991547 --0.990949 -0.990298 -0.989642 -0.988971 -0.988259 -0.987547 -0.986798 --0.986029 -0.98526 -0.984435 -0.98361 -0.982764 -0.981883 -0.981002 --0.980079 -0.979142 -0.978198 -0.977205 -0.976212 -0.975192 -0.974143 --0.973094 -0.971998 -0.970894 -0.969777 -0.968617 -0.967457 -0.966265 --0.96505 -0.963835 -0.962567 -0.961297 -0.960009 -0.958684 -0.957359 --0.955996 -0.954617 -0.953234 -0.9518 -0.950365 -0.948908 -0.947419 --0.945931 -0.9444 -0.942857 -0.941306 -0.93971 -0.938113 -0.936489 --0.934839 -0.933188 -0.931491 -0.929788 -0.928071 -0.926314 -0.924558 --0.922769 -0.920959 -0.91915 -0.917289 -0.915427 -0.913547 -0.911632 --0.909718 -0.907767 -0.905801 -0.90383 -0.901812 -0.899794 -0.897753 -; -#A 7000 -0.895684 -0.893615 -0.891504 -0.889384 -0.887254 -0.885083 --0.882912 -0.880713 -0.878492 -0.87627 -0.874003 -0.871731 -0.869446 --0.867124 -0.864803 -0.86245 -0.860079 -0.857708 -0.855288 -0.852868 --0.85043 -0.847961 -0.845492 -0.842988 -0.840471 -0.837949 -0.835384 --0.83282 -0.830232 -0.82762 -0.825008 -0.822356 -0.819696 -0.817027 --0.814321 -0.811614 -0.808882 -0.806129 -0.803376 -0.800581 -0.797782 --0.79497 -0.792126 -0.789282 -0.786408 -0.783519 -0.780628 -0.777694 --0.77476 -0.771809 -0.768831 -0.765853 -0.762841 -0.75982 -0.756792 --0.753727 -0.750662 -0.747576 -0.744468 -0.74136 -0.738215 -0.735065 --0.731905 -0.728713 -0.725521 -0.722304 -0.71907 -0.715837 -0.712564 --0.709289 -0.706002 -0.702687 -0.699372 -0.696029 -0.692674 -0.689317 --0.685923 -0.682528 -0.679118 -0.675684 -0.672251 -0.668787 -0.665316 --0.661838 -0.658329 -0.654819 -0.65129 -0.647744 -0.644197 -0.640617 --0.637034 -0.63344 -0.629821 -0.626201 -0.622558 -0.618903 -0.615247 --0.611557 -0.607866 -0.604163 -0.600437 -0.596712 -0.592962 -0.589202 --0.58544 -0.581647 -0.577854 -0.574046 -0.57022 -0.566394 -0.562542 --0.558683 -0.554819 -0.550929 -0.547039 -0.543132 -0.539211 -0.535289 --0.53134 -0.527388 -0.523428 -0.519446 -0.515464 -0.511463 -0.507452 --0.50344 -0.4994 -0.49536 -0.49131 -0.487241 -0.483173 -0.479084 -0.474989 --0.47089 -0.466767 -0.462644 -0.458509 -0.45436 -0.450211 -0.44604 --0.441865 -0.437685 -0.433486 -0.429286 -0.425072 -0.420847 -0.416623 --0.412376 -0.408128 -0.403873 -0.399602 -0.39533 -0.391044 -0.38675 --0.382455 -0.37814 -0.373824 -0.3695 -0.365163 -0.360826 -0.356473 --0.352116 -0.347755 -0.343378 -0.339001 -0.334613 -0.330217 -0.32582 --0.321407 -0.316992 -0.312572 -0.308139 -0.303706 -0.299262 -0.294812 --0.290362 -0.285895 -0.281428 -0.276955 -0.272472 -0.26799 -0.263496 --0.258998 -0.254498 -0.249986 -0.245473 -0.240954 -0.236427 -0.231901 --0.227363 -0.222823 -0.218281 -0.213729 -0.209177 -0.204618 -0.200053 --0.195489 -0.190915 -0.186339 -0.181761 -0.177175 -0.17259 -0.167997 --0.163402 -0.158806 -0.154201 -0.149597 -0.144989 -0.140376 -0.135763 --0.131144 -0.126523 -0.121902 -0.117274 -0.112646 -0.108015 -0.103381 --0.0987472 -0.0941084 -0.0894687 -0.084828 -0.0801834 -0.0755388 -0.0708918 --0.066243 -0.0615942 -0.0569421 -0.0522899 -0.0476367 -0.0429816 -0.0383265 --0.03367 -0.0290128 -0.0243555 -0.0196969 -0.0150383 -0.0103794 -0.00572007 --0.00106075 0.00359856 0.00825787 0.0129171 0.0175757 0.0222343 0.0268922 -0.0315494 0.0362067 0.040862 0.0455171 0.0501715 0.0548238 0.0594761 -0.0641263 0.0687751 0.0734239 0.0780686 0.0827132 0.0873561 0.0919958 -0.0966355 0.101271 0.105905 0.110539 0.115167 0.119794 0.124419 0.12904 -0.133661 0.138275 0.142888 0.1475 0.152105 0.15671 0.161309 0.165905 -0.170501 0.175087 0.179673 0.184256 0.188832 0.193407 0.197975 0.202539 -0.207104 0.211656 0.216208 0.220756 0.225296 0.229836 0.234366 0.238893 -0.243418 0.247931 0.252443 0.256949 0.261448 0.265946 0.270431 0.274914 -0.279394 0.283861 0.288328 0.292786 0.297236 0.301686 0.306121 0.310554 -0.314982 0.319397 0.323812 0.328215 0.332612 0.337008 0.341385 0.345762 -0.350132 0.354489 0.358846 0.363188 0.367525 0.371859 0.376175 0.38049 -0.384795 0.389089 0.393383 0.397657 0.401928 0.406194 0.410442 0.41469 -0.418924 0.423148 0.427372 0.431573 0.435773 0.439965 0.444139 0.448314 -0.452471 0.45662 0.460767 0.46489 0.469013 0.473124 0.47722 0.481315 -0.485389 0.489457 0.493521 0.497561 0.501601 0.505626 0.509637 0.513648 -0.517633 0.521615 0.525589 0.529541 0.533492 0.537425 0.541346 0.545267 -0.549158 0.553048 0.556927 0.560785 0.564643 0.568478 0.572304 0.576127 -0.57992 0.583713 0.587491 0.59125 0.595009 0.598741 0.602466 0.606185 -0.609876 0.613567 0.617238 0.620894 0.62455 0.628172 0.631792 0.635402 -0.638985 0.642569 0.646129 0.649675 0.653222 0.656731 0.66024 0.663736 -0.667207 0.670678 0.674121 0.677554 0.680983 0.684377 0.687772 0.691147 -0.694502 0.697856 0.701178 0.704492 0.707799 0.711073 0.714347 0.717598 -0.720832 0.724065 0.72726 0.730452 0.733631 0.736781 0.739931 0.743053 -0.746161 0.749267 0.752332 0.755397 0.758444 0.761466 0.764487 0.767475 -0.770453 0.773425 0.776358 0.779292 0.782203 0.785092 0.787981 0.790831 -0.793675 0.796508 0.799307 0.802105 0.804876 0.807629 0.810381 0.813089 -0.815795 0.818485 0.821145 0.823804 0.826431 0.829043 0.831652 0.834217 -0.836781 0.839325 0.841842 0.844359 0.846837 0.849306 0.851766 0.854186 -0.856606 0.858999 0.86137 0.863741 0.866067 0.868389 0.870697 0.872969 -0.87524 0.87748 0.879702 0.881923 0.884094 0.886266 0.888418 0.890539 -0.892659 0.894742 0.896811 0.898876 0.900894 0.902911 0.904905 0.906872 -0.908838 0.910761 0.912675 0.914579 0.916441 0.918303 0.920135 0.921945 -0.923754 0.925515 0.927271 0.929012 0.930716 0.932419 0.934087 0.935737 -0.937386 0.938983 0.940579 0.942155 0.943697 0.94524 0.946742 0.94823 -0.949712 0.951146 0.952581 0.953988 0.955368 0.956748 0.958081 0.959406 -0.960719 0.961989 0.963259 0.964497 0.965712 0.966927 0.968089 0.969249 -0.970391 0.971495 0.9726 0.973666 0.974714 0.97576 0.976753 0.977746 -0.978715 0.979652 0.980589 0.981482 0.982363 0.983235 0.98406 0.984884 -0.98568 0.986448 0.987216 0.987935 0.988646 0.989344 0.989999 0.990655 -0.991275 0.991874 0.992472 0.993015 0.993557 0.994079 0.994564 0.995049 -0.995493 0.995921 0.996345 0.996716 0.997087 0.997433 0.997747 0.998061 -0.998329 0.998586 0.998833 0.999033 0.999233 0.999401 0.999544 0.999687 -0.999778 0.999863 0.999933 0.999961 0.99999 0.999981 0.999953 0.999924 -0.999838 0.999752 0.999645 0.999502 0.999359 0.999173 0.998973 0.998767 -0.998509 0.998252 0.997968 0.997653 0.997339 0.996977 0.996606 0.996222 -0.995794 0.995366 0.994905 0.99442 0.993934 0.993396 0.992854 0.992294 -0.991695 0.991097 0.99046 0.989804 0.989146 0.988434 0.987723 0.986988 -0.986219 0.985451 0.984639 0.983814 0.982981 0.9821 0.98122 0.98031 -0.979373 0.978436 0.97745 0.976457 0.975451 0.974402 0.973353 0.972271 -0.971167 0.970062 0.968904 0.967744 0.966565 0.96535 0.964135 0.962881 -0.961611 0.960337 0.959012 0.957687 0.956338 0.954958 0.953578 0.952154 -0.95072 0.949276 0.947787 0.946299 0.944781 0.943238 0.941696 0.940104 -0.938508 0.936897 0.935247 0.933596 0.931912 0.930209 0.928505 0.926749 -0.924992 0.923216 0.921407 0.919597 0.917749 0.915887 0.91402 0.912106 -0.910192 0.908253 0.906287 0.904321 0.902311 0.900293 0.898265 0.896196 -0.894127 0.892028 0.889908 0.887788 0.88562 0.883449 0.881263 0.879041 -0.87682 0.874565 0.872293 0.87002 0.867699 0.865377 0.863036 0.860665 -0.858295 0.855886 0.853467 0.85104 0.848572 0.846103 0.843611 0.841094 -0.838577 0.836019 0.833454 0.830879 0.828266 0.825654 0.823014 0.820354 -0.817695 0.814991 0.812284 0.809563 0.80681 0.804058 0.801274 0.798475 -0.795674 0.79283 0.789986 0.787123 0.784234 0.781345 0.77842 0.775487 -0.772546 0.769568 0.76659 0.763589 0.760568 0.757546 0.754486 0.751421 -0.748345 0.745237 0.74213 0.738995 0.735845 0.732695 0.729504 0.726311 -0.723105 0.719871 0.716638 0.713375 0.7101 0.706823 0.703508 0.700193 -0.69686 0.693505 0.690151 0.686764 0.683369 0.679968 0.676535 0.673102 -0.669648 0.666176 0.662705 0.659198 0.655689 0.652169 0.648622 0.645076 -0.641505 0.637921 0.634337 0.630717 0.627098 0.623464 0.619809 0.616153 -0.612471 0.60878 0.605086 0.60136 0.597635 0.593893 0.590134 0.586375 -0.582587 0.578794 0.574994 0.571168 0.567342 0.563498 0.55964 0.555781 -0.551893 0.548003 0.544104 0.540183 0.536261 0.53232 0.528368 0.524415 -0.520433 0.516451 0.512458 0.508446 0.504435 0.500402 0.496362 0.492318 -0.48825 0.484182 0.4801 0.476004 0.471908 0.467789 0.463666 0.459537 -0.455388 0.451239 0.447075 0.4429 0.438726 0.434527 0.430327 0.426119 -0.421894 0.41767 0.413429 0.409181 0.404932 0.40066 0.396389 0.392108 -0.387814 0.383521 0.379209 0.374894 0.370575 0.366238 0.361901 0.357553 -0.353196 0.348838 0.344463 0.340086 0.335703 0.331307 0.32691 0.322502 -0.318086 0.313671 0.309238 0.304805 0.300365 0.295915 0.291465 0.287002 -0.282535 0.278067 0.273584 0.269101 0.264611 0.260113 0.255614 0.251104 -0.246591 0.242076 0.237549 0.233023 0.228488 0.223949 0.219409 0.214857 -0.210305 0.205749 0.201185 0.196621 0.192049 0.187474 0.182898 0.178312 -0.173726 0.169137 0.164541 0.159945 0.155343 0.150738 0.146132 0.141519 -0.136906 0.132289 0.127669 0.123048 0.118421 0.113793 0.109164 0.10453 -0.0998958 0.0952584 0.0906187 0.0859791 0.0813347 0.0766901 0.0720441 -0.0673953 0.0627465 0.0580953 0.053443 0.0487906 0.0441355 0.0394804 -0.0348243 0.0301671 0.0255099 0.0208516 0.016193 0.0115343 0.00687498 -0.00221567 -0.00244365 -0.00710296 -0.0117623 -0.016421 -0.0210796 --0.0257378 -0.030395 -0.0350522 -0.0397081 -0.0443632 -0.0490183 -0.0536707 --0.058323 -0.062974 -0.0676228 -0.0722716 -0.0769174 -0.081562 -0.0862061 --0.0908458 -0.0954854 -0.100123 -0.104757 -0.109391 -0.11402 -0.118647 --0.123274 -0.127895 -0.132515 -0.137132 -0.141745 -0.146358 -0.150963 --0.155568 -0.16017 -0.164766 -0.169361 -0.173951 -0.178536 -0.183122 --0.187697 -0.192273 -0.196844 -0.201408 -0.205972 -0.210528 -0.21508 --0.219631 -0.224171 -0.228711 -0.233244 -0.237771 -0.242297 -0.246812 --0.251325 -0.255834 -0.260333 -0.264831 -0.26932 -0.273803 -0.278286 --0.282754 -0.287221 -0.291682 -0.296133 -0.300583 -0.305022 -0.309455 --0.313887 -0.318302 -0.322718 -0.327125 -0.331522 -0.335918 -0.3403 --0.344677 -0.349052 -0.353409 -0.357766 -0.362113 -0.36645 -0.370787 --0.375105 -0.379421 -0.383731 -0.388025 -0.392318; -#A 8000 -0.396598 -0.400869 -0.405141 -0.409389 -0.413637 -0.417877 --0.422101 -0.426325 -0.430532 -0.434732 -0.43893 -0.443105 -0.447279 --0.451443 -0.455591 -0.45974 -0.463868 -0.467991 -0.472109 -0.476204 --0.4803 -0.484381 -0.488449 -0.492517 -0.49656 -0.5006 -0.504632 -0.508643 --0.512654 -0.516646 -0.520628 -0.524609 -0.528561 -0.532513 -0.536453 --0.540374 -0.544295 -0.548194 -0.552084 -0.55597 -0.559829 -0.563687 --0.56753 -0.571356 -0.575181 -0.57898 -0.582773 -0.586559 -0.590318 --0.594078 -0.597818 -0.601543 -0.605268 -0.608961 -0.612652 -0.616332 --0.619988 -0.623643 -0.627275 -0.630895 -0.634514 -0.638097 -0.641681 --0.64525 -0.648796 -0.652343 -0.655861 -0.659371 -0.662875 -0.666346 --0.669818 -0.67327 -0.676704 -0.680137 -0.683536 -0.68693 -0.690315 --0.69367 -0.697025 -0.700356 -0.703671 -0.706986 -0.710261 -0.713536 --0.716797 -0.72003 -0.723264 -0.726469 -0.729661 -0.73285 -0.736 -0.73915 --0.742282 -0.74539 -0.748498 -0.751572 -0.754637 -0.757695 -0.760717 --0.763738 -0.766737 -0.769715 -0.772693 -0.775631 -0.778565 -0.781487 --0.784376 -0.787265 -0.790126 -0.79297 -0.795814 -0.798613 -0.801412 --0.804194 -0.806946 -0.809699 -0.812418 -0.815124 -0.817826 -0.820486 --0.823145 -0.825783 -0.828395 -0.831008 -0.833581 -0.836146 -0.838701 --0.841218 -0.843735 -0.846225 -0.848694 -0.851162 -0.853586 -0.856006 --0.858412 -0.860783 -0.863153 -0.865492 -0.867813 -0.870134 -0.872405 --0.874677 -0.876929 -0.879151 -0.881373 -0.883556 -0.885727 -0.887893 --0.890013 -0.892133 -0.894229 -0.896298 -0.898368 -0.900393 -0.902411 --0.904418 -0.906384 -0.90835 -0.910286 -0.912201 -0.914115 -0.91598 --0.917842 -0.919687 -0.921496 -0.923306 -0.925079 -0.926836 -0.92859 --0.930293 -0.931997 -0.933678 -0.935328 -0.936979 -0.938587 -0.940184 --0.941772 -0.943315 -0.944858 -0.946373 -0.947861 -0.94935 -0.950791 --0.952225 -0.953646 -0.955026 -0.956406 -0.957752 -0.959078 -0.960403 --0.961674 -0.962944 -0.964196 -0.965411 -0.966626 -0.967802 -0.968962 --0.970117 -0.971222 -0.972326 -0.973406 -0.974454 -0.975503 -0.976507 --0.9775 -0.978483 -0.97942 -0.980357 -0.981263 -0.982144 -0.983025 --0.983855 -0.98468 -0.985489 -0.986257 -0.987026 -0.987758 -0.98847 --0.989182 -0.989837 -0.990492 -0.991126 -0.991725 -0.992324 -0.992881 --0.993423 -0.993959 -0.994444 -0.994929 -0.995387 -0.995815 -0.996244 --0.996624 -0.996995 -0.997355 -0.997669 -0.997983 -0.998265 -0.998522 --0.998779 -0.998983 -0.999183 -0.999366 -0.999509 -0.999652 -0.999756 --0.999842 -0.999926 -0.999954 -0.999983 -0.999988 -0.99996 -0.999931 --0.999859 -0.999773 -0.99968 -0.999537 -0.999394 -0.999222 -0.999022 --0.998822 -0.998572 -0.998315 -0.998045 -0.99773 -0.997416 -0.997068 --0.996696 -0.996325 -0.995899 -0.995471 -0.995024 -0.994538 -0.994053 --0.993528 -0.992986 -0.992441 -0.991842 -0.991243 -0.99062 -0.989965 --0.989309 -0.988609 -0.987897 -0.987176 -0.986407 -0.985639 -0.984841 --0.984016 -0.983191 -0.982316 -0.981435 -0.98054 -0.979603 -0.978666 --0.977693 -0.9767 -0.975707 -0.974659 -0.97361 -0.972541 -0.971437 --0.970333 -0.969188 -0.968028 -0.966863 -0.965648 -0.964433 -0.963192 --0.961922 -0.960652 -0.959336 -0.958011 -0.956675 -0.955296 -0.953916 --0.952505 -0.951071 -0.949636 -0.948152 -0.946663 -0.945159 -0.943616 --0.942073 -0.940495 -0.938899 -0.937301 -0.935651 -0.934 -0.932329 --0.930626 -0.928922 -0.927179 -0.925422 -0.923659 -0.921849 -0.92004 --0.918205 -0.916343 -0.914481 -0.912574 -0.91066 -0.908734 -0.906768 --0.904802 -0.902805 -0.900787 -0.898769 -0.896702 -0.894633 -0.892547 --0.890427 -0.888306 -0.886151 -0.88398 -0.881806 -0.879585 -0.877363 --0.875121 -0.872849 -0.870577 -0.868266 -0.865945 -0.863616 -0.861245 --0.858874 -0.856478 -0.854058 -0.851638 -0.849176 -0.846707 -0.844226 --0.841709 -0.839193 -0.836646 -0.834081 -0.831517 -0.828905 -0.826293 --0.823664 -0.821005 -0.818345 -0.815652 -0.812946 -0.810236 -0.807483 --0.804731 -0.801958 -0.799159 -0.796361 -0.793525 -0.790681 -0.787829 --0.78494 -0.782051 -0.779138 -0.776204 -0.77327 -0.770296 -0.767318 --0.764328 -0.761306 -0.758285 -0.755235 -0.75217 -0.749105 -0.745997 --0.742889 -0.739765 -0.736615 -0.733465 -0.730284 -0.727091 -0.723895 --0.720661 -0.717428 -0.714175 -0.710901 -0.707626 -0.704318 -0.701003 --0.69768 -0.694325 -0.69097 -0.687593 -0.684199 -0.680804 -0.677374 --0.67394 -0.670496 -0.667024 -0.663552 -0.660056 -0.656546 -0.653035 --0.649489 -0.645942 -0.64238 -0.638797 -0.635213 -0.631602 -0.627982 --0.624357 -0.620701 -0.617046 -0.613373 -0.609682 -0.605991 -0.60227 --0.598545 -0.594812 -0.591052 -0.587293 -0.583513 -0.57972 -0.575927 --0.572102 -0.568277 -0.56444 -0.560582 -0.556723 -0.552843 -0.548953 --0.545061 -0.54114 -0.537219 -0.533284 -0.529333 -0.525381 -0.521405 --0.517423 -0.513437 -0.509426 -0.505415 -0.501388 -0.497348 -0.493308 --0.489243 -0.485175 -0.4811 -0.477004 -0.472908 -0.468796 -0.464673 --0.46055 -0.456401 -0.452252 -0.448094 -0.44392 -0.439745 -0.435552 --0.431352 -0.42715 -0.422926 -0.418702 -0.414466 -0.410218 -0.40597 --0.401703 -0.397432 -0.393156 -0.388863 -0.384569 -0.380263 -0.375948 --0.371632 -0.367297 -0.36296 -0.358617 -0.35426 -0.349902 -0.345532 --0.341154 -0.336777 -0.33238 -0.327983 -0.32358 -0.319164 -0.314749 --0.31032 -0.305887 -0.301452 -0.297002 -0.292551 -0.288093 -0.283626 --0.279159 -0.274678 -0.270195 -0.265709 -0.261211 -0.256713 -0.252206 --0.247693 -0.24318 -0.238654 -0.234128 -0.229597 -0.225057 -0.220517 --0.215969 -0.211416 -0.206863 -0.202299 -0.197735 -0.193166 -0.188591 --0.184015 -0.179432 -0.174846 -0.170259 -0.165663 -0.161067 -0.156467 --0.151862 -0.147258 -0.142646 -0.138032 -0.133417 -0.128797 -0.124176 --0.119551 -0.114923 -0.110295 -0.105661 -0.101027 -0.0963912 -0.0917515 --0.0871118 -0.0824686 -0.077824 -0.0731791 -0.0685303 -0.0638815 -0.0592312 --0.0545789 -0.0499266 -0.045272 -0.0406169 -0.0359614 -0.0313042 -0.026647 --0.021989 -0.0173304 -0.0126718 -0.00801255 -0.00335324 0.00130607 -0.00596539 0.0106247 0.0152836 0.0199422 0.0246008 0.029258 0.0339152 -0.0385716 0.0432267 0.0478818 0.0525348 0.0571871 0.061839 0.0664878 -0.0711366 0.0757834 0.080428 0.0850725 0.089713 0.0943527 0.0989912 -0.103625 0.108259 0.11289 0.117518 0.122145 0.126766 0.131387 0.136006 -0.140619 0.145232 0.149839 0.154444 0.159048 0.163644 0.168239 0.172831 -0.177417 0.182003 0.18658 0.191156 0.19573 0.200294 0.204858 0.209416 -0.213969 0.218521 0.223062 0.227602 0.232139 0.236666 0.241192 0.24571 -0.250223 0.254736 0.259234 0.263733 0.268226 0.272708 0.277191 0.281663 -0.28613 0.290596 0.295046 0.299497 0.30394 0.308373 0.312806 0.317224 -0.32164 0.326052 0.330448 0.334845 0.339231 0.343608 0.347986 0.352345 -0.356703 0.361054 0.365391 0.369728 0.374051 0.378367 0.382683 0.386976 -0.39127 0.395555 0.399827 0.404098 0.408352 0.4126 0.416846 0.42107 -0.425294 0.429507 0.433707 0.437906 0.442085 0.44626 0.45043 0.454579 -0.458727 0.462862 0.466984 0.471107 0.475204 0.4793 0.483388 0.487456 -0.491524 0.495573 0.499613 0.503652 0.507663 0.511674 0.515674 0.519656 -0.523637 0.527596 0.531548 0.535496 0.539417 0.543338 0.547244 0.551134 -0.555024 0.558887 0.562745 0.566596 0.570421 0.574247 0.578054 0.581847 -0.585639 0.5894 0.59316 0.596908 0.600634 0.604359 0.60806 0.611751 -0.61544 0.619095 0.622751 0.626391 0.630011 0.633631 0.637222 0.640806 -0.644384 0.64793 0.651477 0.655004 0.658514 0.662023 0.665499 0.66897 -0.672432 0.675865 0.679298 0.682707 0.686102 0.689496 0.692851 0.696206 -0.699547 0.702861 0.706176 0.709462 0.712736 0.716007 0.719241 0.722474 -0.725689 0.728881 0.732073 0.735231 0.738381 0.741524 0.744631 0.747739 -0.750824 0.753889 0.756953 0.759979 0.763 0.76601 0.768988 0.771966 -0.774915 0.777849 0.780782 0.783671 0.78656 0.789432 0.792276 0.79512 -0.79793 0.800728 0.803522 0.806274 0.809027 0.811757 0.814463 0.81717 -0.819836 0.822496 0.825145 0.827758 0.83037 0.832955 0.835519 0.838084 -0.840604 0.843121 0.845623 0.848091 0.85056 0.852995 0.855415 0.857833 -0.860204 0.862575 0.864925 0.867247 0.869568 0.871851 0.874123 0.876387 -0.878609 0.88083 0.883026; -#X array sine-2 8820 float 1; -#A 0 0.370518 0.365518 0.360518 0.355498 0.350474 0.345437 0.34039 -0.335337 0.330268 0.325199 0.320109 0.315019 0.309913 0.304802 0.299682 -0.294551 0.289417 0.284268 0.279118 0.273951 0.268783 0.263604 0.258418 -0.253227 0.248024 0.242821 0.237603 0.232384 0.227154 0.22192 0.216679 -0.211431 0.20618 0.200918 0.195656 0.190383 0.185108 0.179825 0.174539 -0.169248 0.16395 0.158651 0.153342 0.148034 0.142718 0.137399 0.132077 -0.12675 0.121421 0.116085 0.11075 0.105408 0.100066 0.0947191 0.0893701 -0.0840192 0.0786645 0.0733096 0.06795 0.0625905 0.0572278 0.0518643 -0.0464991 0.0411323 0.035765 0.0303957 0.0250265 0.0196558 0.0142849 -0.00891355 0.00354187 -0.0018298 -0.00720148 -0.0125731 -0.017944 -0.0233148 --0.0286845 -0.0340537 -0.0394218 -0.0447886 -0.0501548 -0.0555184 -0.0608819 --0.0662418 -0.0716014 -0.0769579 -0.0823126 -0.0876653 -0.0930143 -0.0983629 --0.103705 -0.109048 -0.114385 -0.11972 -0.125052 -0.130379 -0.135704 --0.141023 -0.146341 -0.15165 -0.156959 -0.162261 -0.167559 -0.172853 --0.17814 -0.183426 -0.188701 -0.193976 -0.199241 -0.204503 -0.209758 --0.215007 -0.220252 -0.225486 -0.23072 -0.235939 -0.241158 -0.246366 --0.251569 -0.256766 -0.261951 -0.267136 -0.272304 -0.277472 -0.282626 --0.287776 -0.292916 -0.298047 -0.303173 -0.308284 -0.313395 -0.318486 --0.323577 -0.328653 -0.333721 -0.338782 -0.343828 -0.348873 -0.353897 --0.35892 -0.363925 -0.368925 -0.373912 -0.378887 -0.383856 -0.388807 --0.393757 -0.398682 -0.403606 -0.408513 -0.41341 -0.418297 -0.423167 --0.428034 -0.432876 -0.437718 -0.442536 -0.447349 -0.452147 -0.45693 --0.461706 -0.466459 -0.471212 -0.475935 -0.480657 -0.485357 -0.490047 --0.494724 -0.499382 -0.504036 -0.50866 -0.513285 -0.517881 -0.522472 --0.527044 -0.531599 -0.536146 -0.540667 -0.545188 -0.549673 -0.554158 --0.558618 -0.563066 -0.567499 -0.57191 -0.576316 -0.580689 -0.585062 --0.589402 -0.593737 -0.598049 -0.602344 -0.606629 -0.610884 -0.615139 --0.619354 -0.623569 -0.627755 -0.631928 -0.636084 -0.640215 -0.644342 --0.648431 -0.65252 -0.656572 -0.660618 -0.66464 -0.668642 -0.672633 --0.676591 -0.680549 -0.684462 -0.688375 -0.692257 -0.696124 -0.699973 --0.703795 -0.70761 -0.711385 -0.71516 -0.718895 -0.722623 -0.726324 --0.730004 -0.733671 -0.737302 -0.740934 -0.744517 -0.7481 -0.751648 --0.755182 -0.758694 -0.762178 -0.765654 -0.769088 -0.772521 -0.77591 --0.779293 -0.782645 -0.785976 -0.789292 -0.792571 -0.79585 -0.799076 --0.802302 -0.805491 -0.808664 -0.811814 -0.814934 -0.818046 -0.821112 --0.824178 -0.827197 -0.830209 -0.833189 -0.836146 -0.839086 -0.841988 --0.844889 -0.847735 -0.850581 -0.853386 -0.856176 -0.858941 -0.861674 --0.864398 -0.867075 -0.869751 -0.872377 -0.874996 -0.877581 -0.880143 --0.882686 -0.885189 -0.887691 -0.890136 -0.89258 -0.894982 -0.897367 --0.899726 -0.902053 -0.904369 -0.906636 -0.908903 -0.911117 -0.913324 --0.915495 -0.917641 -0.919769 -0.921855 -0.92394 -0.925965 -0.92799 --0.92997 -0.931934 -0.933869 -0.935772 -0.937663 -0.939504 -0.941345 --0.94313 -0.944909 -0.946649 -0.948366 -0.950062 -0.951715 -0.953367 --0.954958 -0.956549 -0.958092 -0.95962 -0.961118 -0.962582 -0.964035 --0.965436 -0.966837 -0.96818 -0.969517 -0.970815 -0.972088 -0.973341 --0.97455 -0.975756 -0.9769 -0.978045 -0.979141 -0.980221 -0.981271 --0.982286 -0.983289 -0.98424 -0.985191 -0.986083 -0.986969 -0.987814 --0.988635 -0.989433 -0.990189 -0.990941 -0.991631 -0.992321 -0.992961 --0.993586 -0.994179 -0.994738 -0.995284 -0.995778 -0.996272 -0.996705 --0.997133 -0.99752 -0.997882 -0.998221 -0.998518 -0.99881 -0.999041 --0.999271 -0.999451 -0.999616 -0.999748 -0.999847 -0.999932 -0.999965 --0.999998 -0.999969 -0.999937 -0.999861 -0.999762 -0.99964 -0.999475 --0.999306 -0.999075 -0.998844 -0.998562 -0.998265 -0.997936 -0.997573 --0.997197 -0.996769 -0.996341 -0.995851 -0.995358 -0.994821 -0.994262 --0.993679 -0.993054 -0.992424 -0.991733 -0.991043 -0.990301 -0.989545 --0.988756 -0.987935 -0.9871 -0.986214 -0.985328 -0.984381 -0.98343 --0.982437 -0.981421 -0.980381 -0.979301 -0.978215 -0.97707 -0.975925 --0.974729 -0.97352 -0.972277 -0.971004 -0.969715 -0.968378 -0.967041 --0.965643 -0.964242 -0.962799 -0.961335 -0.959846 -0.958318 -0.956784 --0.955193 -0.953602 -0.95196 -0.950307 -0.94862 -0.946904 -0.945172 --0.943393 -0.941615 -0.939777 -0.937936 -0.936053 -0.934151 -0.932224 --0.93026 -0.92829 -0.926265 -0.924239 -0.922164 -0.920078 -0.917959 --0.915813 -0.913651 -0.911444 -0.909237 -0.906972 -0.904705 -0.902397 --0.900071 -0.897721 -0.895335 -0.892942 -0.890498 -0.888053 -0.88556 --0.883057 -0.880522 -0.877961 -0.875384 -0.872765 -0.870146 -0.867471 --0.864795 -0.862079 -0.859346 -0.856589 -0.853799 -0.851003 -0.848157 --0.845311 -0.842418 -0.839516 -0.836584 -0.833627 -0.830655 -0.827643 --0.824632 -0.821566 -0.8185 -0.815396 -0.812276 -0.809134 -0.805961 --0.80278 -0.799554 -0.796327 -0.793056 -0.789778 -0.78647 -0.783139 --0.779794 -0.776411 -0.773029 -0.769596 -0.766163 -0.762694 -0.75921 --0.755705 -0.752172 -0.748631 -0.745048 -0.741465 -0.73784 -0.734208 --0.730549 -0.726869 -0.723175 -0.719447 -0.715719 -0.711944 -0.708169 --0.704361 -0.700539 -0.696697 -0.69283 -0.688955 -0.685042 -0.681129 --0.677177 -0.673219 -0.669235 -0.665233 -0.661218 -0.657172 -0.653125 --0.649036 -0.644947 -0.640827 -0.636696 -0.632546 -0.628373 -0.624193 --0.619979 -0.615764 -0.611514 -0.607259 -0.602981 -0.598686 -0.594379 --0.590044 -0.58571 -0.581337 -0.576964 -0.572563 -0.568152 -0.563725 --0.559277 -0.554823 -0.550338 -0.545853 -0.541337 -0.536816 -0.532274 --0.527718 -0.523152 -0.518561 -0.51397 -0.509345 -0.504721 -0.500072 --0.495414 -0.490742 -0.486052 -0.481356 -0.476634 -0.471912 -0.467163 --0.46241 -0.457639 -0.452855 -0.448062 -0.443249 -0.438436 -0.433594 --0.428752 -0.423889 -0.419019 -0.414136 -0.409238 -0.404336 -0.399412 --0.394488 -0.38954 -0.38459 -0.379624 -0.374649 -0.369665 -0.364665 --0.359664 -0.354641 -0.349617 -0.344576 -0.33953 -0.334472 -0.329404 --0.324331 -0.319241 -0.31415 -0.309041 -0.30393 -0.298807 -0.293676 --0.288539 -0.283389 -0.278238 -0.27307 -0.267902 -0.26272 -0.257534 --0.25234 -0.247137 -0.241931 -0.236713 -0.231494 -0.226261 -0.221027 --0.215784 -0.210536 -0.205283 -0.200021 -0.194758 -0.189483 -0.184208 --0.178924 -0.173637 -0.168344 -0.163046 -0.157746 -0.152437 -0.147128 --0.141811 -0.136492 -0.131168 -0.125841 -0.120511 -0.115175 -0.10984 --0.104497 -0.0991544 -0.0938068 -0.0884577 -0.0831058 -0.0777511 -0.0723954 --0.0670358 -0.0616763 -0.056313 -0.0509494 -0.0455837 -0.0402169 -0.0348492 --0.0294799 -0.0241106 -0.0187397 -0.0133688 -0.00799731 -0.00262564 -0.00274604 0.00811771 0.0134892 0.0188601 0.0242309 0.0296003 0.0349696 -0.0403372 0.045704 0.0510696 0.0564332 0.0617964 0.067156 0.0725155 -0.0778712 0.0832259 0.0885776 0.0939267 0.0992742 0.104617 0.109959 -0.115295 0.12063 0.12596 0.131288 0.136611 0.14193 0.147247 0.152556 -0.157865 0.163165 0.168463 0.173755 0.179042 0.184326 0.189601 0.194876 -0.200139 0.205401 0.210653 0.215902 0.221145 0.226378 0.231611 0.236829 -0.242048 0.247254 0.252456 0.25765 0.262836 0.268017 0.273186 0.278354 -0.283505 0.288654 0.293791 0.298922 0.304045 0.309156 0.314264 0.319355 -0.324445 0.329517 0.334586 0.339643 0.344689 0.34973 0.354753 0.359777 -0.364778 0.369777 0.37476 0.379736 0.384701 0.389651 0.394598 0.399522 -0.404446 0.409348 0.414246 0.419128 0.423998 0.42886 0.433702 0.438544 -0.443357 0.44817 0.452963 0.457746 0.462516 0.467269 0.472018 0.47674 -0.481462 0.486157 0.490847 0.495519 0.500176 0.504825 0.509449 0.514073 -0.518664 0.523255 0.527821 0.532377 0.536917 0.541438 0.545954 0.550438 -0.554923 0.559376 0.563825 0.568251 0.572662 0.577062 0.581435 0.585808 -0.590142 0.594476 0.598782 0.603077 0.607355 0.61161 0.615859 0.620073 -0.624287 0.628466 0.63264 0.636789 0.64092 0.645039 0.649128 0.653217 -0.657263 0.661308 0.665323 0.669325 0.673308 0.677266 0.681217 0.68513 -0.689043 0.692916 0.696784 0.700625 0.704446 0.708254 0.712029 0.715803 -0.719531 0.723259 0.726952 0.730632 0.73429 0.737922 0.741546 0.745129 -0.748711 0.752251 0.755785 0.759288 0.762772 0.76624 0.769673 0.773105 -0.776487 0.779869 0.783213 0.786544 0.789851 0.79313 0.7964 0.799626 -0.802853 0.806032 0.809205 0.812346 0.815466 0.818569 0.821635 0.824699 -0.827711 0.830723 0.833693 0.83665 0.839581 0.842483 0.845375 0.848221 -0.851066 0.853862 0.856652 0.859407 0.86214 0.864855 0.867531 0.870205 -0.872824 0.875443 0.878018 0.880579 0.883113 0.885616 0.888108 0.890553 -0.892997 0.895388 0.897774 0.900123 0.902449 0.904756 0.907023 0.909286 -0.911493 0.9137 0.915861 0.918008 0.920125 0.922211 0.924285 0.92631 -0.928335 0.930305 0.932268 0.934194 0.936096 0.937977 0.939818 0.941655 -0.943433 0.945212 0.946942 0.948658 0.950344 0.951998 0.953638 0.955229 -0.95682 0.958352 0.95988 0.961367 0.962832 0.964274 0.965675 0.967071 -0.968408 0.969745 0.971032 0.972306 0.973547 0.974756 0.975951 0.977096 -0.97824 0.979325 0.980405 0.981444 0.982459 0.983451 0.984402 0.985348 -0.986234 0.98712 0.987954 0.988775 0.989562 0.990318 0.991059 0.991749 -0.992439 0.993068 0.993693 0.994274 0.994834 0.995369 0.995862 0.99635 -0.996778 0.997206 0.997582 0.997944 0.998272 0.998568 0.99885 0.99908 -0.999311 0.999479 0.999644 0.999765 0.999863 0.999937 0.99997 0.999997 -0.999964 0.999931 0.999845 0.999746 0.999612 0.999448 0.999267 0.999036 -0.998806 0.998512 0.998215 0.997875 0.997512 0.997125 0.996697 0.996262 -0.995768 0.995275 0.994727 0.994168 0.993574 0.992949 0.992308 0.991617 -0.990927 0.990174 0.989418 0.988618 0.987797 0.986951 0.986065 0.985172 -0.984221 0.98327 0.982266 0.98125 0.9802 0.979119 0.978022 0.976878 -0.975733 0.974526 0.973316 0.972063 0.97079 0.969491 0.968154 0.966809 -0.965408 0.964007 0.962553; -#A 1000 0.961089 0.959589 0.958062 0.956517 0.954926 0.953335 0.951683 -0.950029 0.948332 0.946615 0.944873 0.943095 0.941308 0.939467 0.937627 -0.935734 0.933832 0.931895 0.929931 0.92795 0.925925 0.9239 0.921814 -0.919728 0.917599 0.915452 0.91328 0.911073 0.908858 0.906591 0.904325 -0.902007 0.89968 0.89732 0.894935 0.892532 0.890088 0.887643 0.88514 -0.882637 0.880092 0.877531 0.874945 0.872326 0.869699 0.867022 0.864346 -0.861621 0.858887 0.856121 0.853332 0.850525 0.847679 0.844833 0.841931 -0.83903 0.836088 0.833131 0.83015 0.827138 0.824118 0.821052 0.817986 -0.814873 0.811753 0.808602 0.805429 0.802239 0.799013 0.795786 0.792507 -0.789228 0.785911 0.78258 0.779227 0.775844 0.772454 0.769021 0.765587 -0.76211 0.758626 0.755113 0.75158 0.748031 0.744448 0.740864 0.737232 -0.7336 0.729932 0.726252 0.722551 0.718823 0.715087 0.711312 0.707537 -0.70372 0.699899 0.69605 0.692182 0.6883 0.684387 0.680472 0.676514 -0.672556 0.668565 0.664563 0.66054 0.656494 0.652441 0.648352 0.644263 -0.640136 0.636004 0.631847 0.627674 0.623487 0.619273 0.615057 0.610802 -0.606547 0.602262 0.597967 0.593653 0.589319 0.584978 0.580605 0.576232 -0.571825 0.567414 0.56298 0.558532 0.554072 0.549587 0.545101 0.54058 -0.53606 0.531512 0.526956 0.522384 0.517793 0.513196 0.508572 0.503947 -0.499293 0.494635 0.489957 0.485267 0.480566 0.475844 0.47112 0.466367 -0.461615 0.456838 0.452055 0.447257 0.442444 0.437625 0.432783 0.427942 -0.423074 0.418204 0.413316 0.408419 0.403512 0.398588 0.393662 0.388712 -0.383761 0.378792 0.373816 0.368829 0.363829 0.358824 0.3538 0.348777 -0.343732 0.338685 0.333624 0.328555 0.323479 0.318389 0.313297 0.308186 -0.303075 0.297949 0.292818 0.287677 0.282527 0.277373 0.272205 0.267037 -0.261852 0.256666 0.251469 0.246266 0.241058 0.235839 0.230619 0.225385 -0.220151 0.214906 0.209658 0.204402 0.19914 0.193875 0.1886 0.183325 -0.178039 0.172752 0.167458 0.162159 0.156857 0.151549 0.146239 0.140921 -0.135602 0.130277 0.124949 0.119618 0.114283 0.108946 0.103603 0.0982604 -0.0929117 0.0875626 0.0822098 0.0768551 0.0714985 0.066139 0.060779 -0.0554155 0.0500519 0.0446856 0.0393188 0.0339507 0.0285814 0.0232118 -0.0178409 0.0124701 0.00709842 0.00172674 -0.00364493 -0.00901661 -0.014388 --0.0197588 -0.0251295 -0.0304988 -0.035868 -0.0412353 -0.0466021 -0.0519672 --0.0573307 -0.0626933 -0.0680528 -0.0734124 -0.0787672 -0.084122 -0.0894728 --0.0948218 -0.100168 -0.105511 -0.110853 -0.116188 -0.121523 -0.126852 --0.132179 -0.137501 -0.14282 -0.148136 -0.153444 -0.158753 -0.164051 --0.16935 -0.17464 -0.179927 -0.185209 -0.190484 -0.195757 -0.201019 --0.206281 -0.211532 -0.21678 -0.22202 -0.227254 -0.232484 -0.237703 --0.242921 -0.248124 -0.253327 -0.258518 -0.263704 -0.268882 -0.274051 --0.279216 -0.284366 -0.289516 -0.29465 -0.299781 -0.3049 -0.310011 --0.315116 -0.320206 -0.325297 -0.330366 -0.335434 -0.340487 -0.345534 --0.35057 -0.355594 -0.360614 -0.365614 -0.370614 -0.375593 -0.380568 --0.385529 -0.390479 -0.395422 -0.400346 -0.40527 -0.410168 -0.415065 --0.419943 -0.424813 -0.429671 -0.434512 -0.43935 -0.444163 -0.448976 --0.453763 -0.458546 -0.463312 -0.468065 -0.472808 -0.47753 -0.482252 --0.486942 -0.491632 -0.496298 -0.500956 -0.505599 -0.510223 -0.514842 --0.519432 -0.524023 -0.528583 -0.533139 -0.537674 -0.542195 -0.546704 --0.551189 -0.555673 -0.560121 -0.564569 -0.568989 -0.5734 -0.577794 --0.582167 -0.586533 -0.590867 -0.595201 -0.599501 -0.603796 -0.608067 --0.612322 -0.616564 -0.620778 -0.624991 -0.629165 -0.633338 -0.63748 --0.641611 -0.645723 -0.649812 -0.653894 -0.65794 -0.661985 -0.665992 --0.669995 -0.67397 -0.677928 -0.681871 -0.685785 -0.689696 -0.693564 --0.697431 -0.701264 -0.705086 -0.708886 -0.712661 -0.716427 -0.720155 --0.723883 -0.727567 -0.731247 -0.734898 -0.73853 -0.742145 -0.745728 --0.749309 -0.752842 -0.756376 -0.759871 -0.763355 -0.766814 -0.770248 --0.773671 -0.777053 -0.780435 -0.783771 -0.787102 -0.7904 -0.793679 --0.79694 -0.800166 -0.803389 -0.806563 -0.809736 -0.812868 -0.815988 --0.819082 -0.822148 -0.825203 -0.828215 -0.831227 -0.834188 -0.837145 --0.840067 -0.842969 -0.845851 -0.848697 -0.851539 -0.854329 -0.857119 --0.859864 -0.862598 -0.865303 -0.867979 -0.870643 -0.873262 -0.875881 --0.878447 -0.881008 -0.883532 -0.886035 -0.888517 -0.890962 -0.893402 --0.895788 -0.898173 -0.900512 -0.902839 -0.905135 -0.907402 -0.909656 --0.911863 -0.91407 -0.91622 -0.918367 -0.920474 -0.92256 -0.924624 --0.926649 -0.928669 -0.930633 -0.932597 -0.934512 -0.936415 -0.938285 --0.940126 -0.941952 -0.943731 -0.94551 -0.947229 -0.948946 -0.950621 --0.952274 -0.953904 -0.955495 -0.95708 -0.958608 -0.960136 -0.961613 --0.963077 -0.964508 -0.965909 -0.967295 -0.968632 -0.969969 -0.971245 --0.972519 -0.973749 -0.974958 -0.976143 -0.977287 -0.978426 -0.979506 --0.980586 -0.981614 -0.982629 -0.983611 -0.984561 -0.985496 -0.986382 --0.987268 -0.988091 -0.988912 -0.989689 -0.990444 -0.991174 -0.991864 --0.992548 -0.993172 -0.993797 -0.994368 -0.994927 -0.995451 -0.995945 --0.996422 -0.99685 -0.997278 -0.997642 -0.998004 -0.998322 -0.998618 --0.998888 -0.999119 -0.999342 -0.999506 -0.999671 -0.999781 -0.99988 --0.999943 -0.999976 -0.999991 -0.999958 -0.999925 -0.999828 -0.999729 --0.999584 -0.99942 -0.999228 -0.998997 -0.998758 -0.998462 -0.998165 --0.997813 -0.997451 -0.997052 -0.996624 -0.996178 -0.995684 -0.995191 --0.994632 -0.994073 -0.993467 -0.992843 -0.99219 -0.9915 -0.990801 --0.990045 -0.98929 -0.988479 -0.987658 -0.9868 -0.985915 -0.985011 --0.98406 -0.983109 -0.982093 -0.981078 -0.980016 -0.978936 -0.977828 --0.976683 -0.975529 -0.97432 -0.973111 -0.971847 -0.970574 -0.969264 --0.967926 -0.966571 -0.96517 -0.963769 -0.962304 -0.96084 -0.95933 --0.957802 -0.956247 -0.954656 -0.953055 -0.951402 -0.949748 -0.94804 --0.946324 -0.944571 -0.942792 -0.940995 -0.939155 -0.937313 -0.935411 --0.933508 -0.931561 -0.929597 -0.927606 -0.92558 -0.923545 -0.921459 --0.919373 -0.917234 -0.915087 -0.912905 -0.910698 -0.908473 -0.906206 --0.903938 -0.901611 -0.899285 -0.896914 -0.894529 -0.892116 -0.889672 --0.887217 -0.884714 -0.882211 -0.879656 -0.877095 -0.874499 -0.87188 --0.869243 -0.866567 -0.863889 -0.861155 -0.858422 -0.855647 -0.852857 --0.850041 -0.847195 -0.844339 -0.841437 -0.838536 -0.835585 -0.832628 --0.829637 -0.826626 -0.823596 -0.82053 -0.817462 -0.814342 -0.811222 --0.808062 -0.804888 -0.80169 -0.798464 -0.795227 -0.791949 -0.78867 --0.785344 -0.782013 -0.778651 -0.775268 -0.771869 -0.768436 -0.765 --0.761517 -0.758033 -0.754511 -0.750978 -0.74742 -0.743837 -0.740245 --0.736613 -0.732981 -0.729305 -0.725625 -0.721915 -0.718188 -0.714444 --0.710669 -0.706891 -0.703069 -0.699247 -0.69539 -0.691523 -0.687633 --0.68372 -0.679797 -0.675839 -0.671881 -0.667883 -0.66388 -0.65985 --0.655804 -0.651744 -0.647655 -0.643563 -0.639431 -0.6353 -0.631136 --0.626963 -0.622769 -0.618554 -0.614331 -0.610076 -0.605821 -0.601529 --0.597234 -0.592914 -0.58858 -0.584232 -0.579859 -0.575484 -0.571073 --0.566662 -0.562222 -0.557774 -0.553307 -0.548822 -0.54433 -0.539809 --0.535289 -0.530735 -0.526179 -0.521601 -0.51701 -0.512407 -0.507783 --0.503156 -0.498498 -0.49384 -0.489157 -0.484467 -0.479761 -0.475039 --0.47031 -0.465557 -0.460804 -0.456022 -0.451239 -0.446436 -0.441623 --0.436799 -0.431958 -0.427113 -0.422243 -0.417373 -0.412481 -0.407583 --0.402672 -0.397748 -0.392817 -0.387867 -0.382917 -0.377943 -0.372968 --0.367976 -0.362976 -0.357967 -0.352943 -0.347917 -0.342871 -0.337824 --0.33276 -0.327691 -0.322611 -0.317521 -0.312425 -0.307314 -0.302203 --0.297073 -0.291943 -0.286799 -0.281649 -0.276492 -0.271323 -0.266153 --0.260967 -0.255781 -0.250582 -0.245379 -0.240168 -0.234949 -0.229726 --0.224493 -0.219259 -0.214011 -0.208762 -0.203505 -0.198243 -0.192975 --0.1877 -0.182424 -0.177137 -0.17185 -0.166554 -0.161256 -0.155952 --0.150643 -0.145332 -0.140013 -0.134695 -0.129368 -0.124041 -0.118708 --0.113373 -0.108034 -0.102692 -0.0973483 -0.0919993 -0.0866503 -0.0812965 --0.0759417 -0.0705843 -0.0652248 -0.0598642 -0.0545006 -0.049137 -0.0437702 --0.0384034 -0.0330349 -0.0276656 -0.0222957 -0.0169248 -0.0115539 -0.00618219 --0.000810511 0.00456116 0.00993284 0.0153041 0.0206749 0.0260453 0.0314146 -0.0367839 0.0421507 0.0475175 0.052882 0.0582456 0.0636075 0.068967 -0.0743259 0.0796806 0.0850353 0.0903851 0.0957341 0.101079 0.106422 -0.111763 0.117098 0.122433 0.12776 0.133088 0.138408 0.143727 0.149041 -0.15435 0.159657 0.164955 0.170253 0.175542 0.180829 0.186109 0.191384 -0.196655 0.201917 0.207178 0.212427 0.217675 0.222913 0.228147 0.233374 -0.238593 0.243809 0.249012 0.254214 0.259402 0.264588 0.269764 0.274932 -0.280095 0.285245 0.290394 0.295525 0.300656 0.305772 0.310883 0.315984 -0.321075 0.326161 0.33123 0.336299 0.341348 0.346395 0.351427 0.356451 -0.361467 0.366467 0.371466 0.376442 0.381417 0.386373 0.391324 0.396262 -0.401186 0.406106 0.411003 0.4159 0.420773 0.425644 0.430496 0.435338 -0.440171 0.444984 0.449796 0.454579 0.459362 0.464123 0.468875 0.473614 -0.478336 0.483052 0.487742 0.492432 0.497093 0.50175 0.506387 0.511012 -0.515625 0.520215 0.524804 0.52936 0.533916 0.538445 0.542966 0.547469 -0.551954 0.556431 0.560879 0.565328 0.569742 0.574152 0.57854 0.582912 -0.587272 0.591606 0.595938 0.600233 0.604528 0.608792 0.613047 0.617283 -0.621497 0.625703 0.629876 0.63405 0.638185 0.642316 0.646421 0.65051 -0.654584 0.65863 0.662673 0.666675 0.670677 0.674645 0.678603 0.682539 -0.686452 0.690356 0.694223 0.698091 0.701916 0.705738 0.70953 0.713304 -0.717063 0.720791 0.724515 0.728195 0.731875 0.735517 0.739149 0.742756 -0.746339 0.749911 0.753445 0.756979 0.760466 0.763949 0.7674 0.770833 -0.774248 0.77763 0.781008 0.784339 0.78767 0.790959 0.794238 0.79749 -0.800716 0.803931; -#A 2000 0.807104 0.810278 0.813401 0.816521 0.819605 0.822671 0.825717 -0.828729 0.831736 0.834692 0.837649 0.840562 0.843463 0.846336 0.849182 -0.852015 0.854805 0.857595 0.860331 0.863064 0.865759 0.868436 0.87109 -0.873709 0.876322 0.878884 0.881445 0.883959 0.886462 0.888934 0.891379 -0.893809 0.896195 0.89858 0.900909 0.903236 0.905522 0.907789 0.910032 -0.912239 0.91444 0.916586 0.918733 0.92083 0.922916 0.924969 0.926994 -0.929004 0.930968 0.932932 0.934837 0.936739 0.938599 0.94044 0.942256 -0.944034 0.945806 0.947522 0.949238 0.950903 0.952556 0.954176 0.955767 -0.957341 0.958869 0.960396 0.961862 0.963327 0.964747 0.966148 0.967523 -0.96886 0.970189 0.971463 0.972736 0.973955 0.975164 0.976338 0.977482 -0.97861 0.97969 0.98077 0.981787 0.982803 0.983773 0.984724 0.985647 -0.986533 0.98741 0.988231 0.989052 0.989818 0.990573 0.991292 0.991982 -0.992654 0.993279 0.993904 0.994463 0.995023 0.995535 0.996029 0.996495 -0.996923 0.997342 0.997704 0.998066 0.998372 0.998669 0.998928 0.999158 -0.99937 0.999535 0.999699 0.999798 0.999897 0.999948 0.999981 0.999986 -0.999953 0.99991 0.999811 0.999712 0.999557 0.999392 0.999189 0.998958 -0.998708 0.998412 0.998115 0.997752 0.99739 0.99698 0.996552 0.996095 -0.995601 0.995097 0.994538 0.993979 0.993362 0.992738 0.992074 0.991384 -0.990674 0.989918 0.989162 0.988341 0.98752 0.986652 0.985766 0.984851 -0.9839 0.982938 0.981923 0.980907 0.979835 0.978754 0.977636 0.976491 -0.975326 0.974117 0.972906 0.971633 0.97036 0.969039 0.967702 0.966335 -0.964935 0.963523 0.962058 0.960594 0.959073 0.957545 0.955979 0.954389 -0.952778 0.951124 0.949468 0.947752 0.946035 0.944272 0.942494 0.940686 -0.938846 0.936994 0.935091 0.933189 0.931231 0.929267 0.927266 0.92524 -0.923195 0.921109 0.91902 0.916874 0.914727 0.912535 0.910328 0.908092 -0.905825 0.903547 0.901221 0.898894 0.896514 0.894128 0.891706 0.889262 -0.886797 0.884294 0.881788 0.879227 0.876666 0.87406 0.871441 0.868794 -0.866118 0.86343 0.860697 0.857964 0.855179 0.852389 0.849564 0.846718 -0.843852 0.840951 0.838046 0.835089 0.832132 0.829132 0.826121 0.823082 -0.820016 0.816939 0.813819 0.810699 0.80753 0.804356 0.801149 0.797923 -0.794678 0.791399 0.788117 0.784786 0.781455 0.778084 0.774702 0.771294 -0.767861 0.764417 0.760933 0.757449 0.753919 0.750386 0.74682 0.743237 -0.739636 0.736005 0.732369 0.728689 0.725009 0.721291 0.717563 0.713811 -0.710036 0.706251 0.702429 0.698608 0.694743 0.690875 0.686977 0.683064 -0.679135 0.675177 0.671215 0.667212 0.66321 0.659173 0.655127 0.651059 -0.64697 0.642871 0.63874 0.634608 0.630437 0.626264 0.622063 0.617849 -0.613619 0.609364 0.605105 0.60081 0.596515 0.592189 0.587855 0.5835 -0.579127 0.574745 0.570334 0.565924 0.561477 0.557029 0.552557 0.548072 -0.543573 0.539053 0.534528 0.529973 0.525417 0.520832 0.516242 0.511633 -0.507009 0.502376 0.497719 0.493061 0.488372 0.483682 0.47897 0.474249 -0.469514 0.464761 0.460005 0.455222 0.450438 0.445631 0.440818 0.435989 -0.431147 0.426298 0.421428 0.416558 0.411661 0.406764 0.401848 0.396924 -0.391989 0.387039 0.382086 0.37711 0.372135 0.367139 0.362139 0.357126 -0.352103 0.347073 0.342026 0.33698 0.331911 0.326843 0.321759 0.316669 -0.31157 0.306459 0.301346 0.296215 0.291084 0.285937 0.280787 0.275627 -0.270459 0.265285 0.2601 0.254914 0.249711 0.244508 0.239294 0.234076 -0.228851 0.223617 0.218381 0.213132 0.207884 0.202624 0.197362 0.192093 -0.186818 0.181539 0.176252 0.170966 0.165667 0.160369 0.155063 0.149755 -0.144442 0.139123 0.133804 0.128477 0.123149 0.117815 0.11248 0.10714 -0.101798 0.0964532 0.0911042 0.0857551 0.0804004 0.0750457 0.0696875 -0.064328 0.0589666 0.0536031 0.048239 0.0428721 0.0375053 0.0321364 -0.0267671 0.0213969 0.0160261 0.010655 0.00528329 -8.83821e-05 -0.00546006 --0.0108317 -0.0162028 -0.0215737 -0.0269438 -0.0323131 -0.0376819 -0.0430488 --0.0484156 -0.0537796 -0.0591431 -0.0645043 -0.0698639 -0.0752219 -0.0805766 --0.0859312 -0.0912802 -0.0966293 -0.101974 -0.107316 -0.112655 -0.117991 --0.123325 -0.128652 -0.133979 -0.139298 -0.144617 -0.149929 -0.155238 --0.160543 -0.165842 -0.17114 -0.176426 -0.181713 -0.186991 -0.192266 --0.197535 -0.202797 -0.208057 -0.213305 -0.218553 -0.223789 -0.229023 --0.234247 -0.239466 -0.24468 -0.249882 -0.255084 -0.26027 -0.265456 --0.270629 -0.275797 -0.280957 -0.286107 -0.291253 -0.296384 -0.301515 --0.306627 -0.311738 -0.316836 -0.321926 -0.327009 -0.332078 -0.337146 --0.342192 -0.347239 -0.352268 -0.357292 -0.362304 -0.367304 -0.372299 --0.377274 -0.382249 -0.387202 -0.392152 -0.397086 -0.40201 -0.406925 --0.411823 -0.416718 -0.421588 -0.426458 -0.431307 -0.436148 -0.440976 --0.445789 -0.450596 -0.455379 -0.460163 -0.464918 -0.469671 -0.474404 --0.479126 -0.483836 -0.488526 -0.493214 -0.497872 -0.50253 -0.507161 --0.511786 -0.516393 -0.520983 -0.525567 -0.530122 -0.534678 -0.539201 --0.543722 -0.54822 -0.552704 -0.557176 -0.561624 -0.566069 -0.57048 --0.574891 -0.579271 -0.583644 -0.587997 -0.592332 -0.596657 -0.600952 --0.605247 -0.609504 -0.613759 -0.617988 -0.622202 -0.626402 -0.630575 --0.634745 -0.638876 -0.643007 -0.647105 -0.651194 -0.655261 -0.659307 --0.663343 -0.667345 -0.671347 -0.675307 -0.679265 -0.683194 -0.687107 --0.691003 -0.694871 -0.698734 -0.702556 -0.706377 -0.710161 -0.713936 --0.717687 -0.721414 -0.725131 -0.728811 -0.732491 -0.736125 -0.739757 --0.743356 -0.746939 -0.750503 -0.754036 -0.757565 -0.761048 -0.764532 --0.767975 -0.771408 -0.774814 -0.778196 -0.781566 -0.784896 -0.788227 --0.791508 -0.794787 -0.79803 -0.801256 -0.804462 -0.807635 -0.810803 --0.813923 -0.817043 -0.820118 -0.823184 -0.826221 -0.829233 -0.83223 --0.835187 -0.838144 -0.841047 -0.843949 -0.846812 -0.849658 -0.852482 --0.855272 -0.858055 -0.860788 -0.863521 -0.866207 -0.868883 -0.871528 --0.874147 -0.876751 -0.879312 -0.881873 -0.884378 -0.886881 -0.889343 --0.891788 -0.894208 -0.896594 -0.898972 -0.901298 -0.903625 -0.905901 --0.908168 -0.910401 -0.912608 -0.914799 -0.916946 -0.919092 -0.921179 --0.923265 -0.925308 -0.927333 -0.929333 -0.931297 -0.933252 -0.935155 --0.937057 -0.938907 -0.940748 -0.942553 -0.944332 -0.946093 -0.947809 --0.949526 -0.951179 -0.952833 -0.954442 -0.956033 -0.957597 -0.959124 --0.960643 -0.962107 -0.963572 -0.964982 -0.966383 -0.967747 -0.969084 --0.970402 -0.971676 -0.972948 -0.974158 -0.975367 -0.976529 -0.977674 --0.978791 -0.979871 -0.980941 -0.981957 -0.982973 -0.983932 -0.984883 --0.985796 -0.986681 -0.987548 -0.988369 -0.989188 -0.989944 -0.990699 --0.991407 -0.992098 -0.992759 -0.993383 -0.993998 -0.994557 -0.995116 --0.995618 -0.996112 -0.996567 -0.996995 -0.997402 -0.997765 -0.998125 --0.998422 -0.998718 -0.998966 -0.999197 -0.999397 -0.999562 -0.999716 --0.999815 -0.999913 -0.999954 -0.999987 -0.99998 -0.999947 -0.999893 --0.999794 -0.999693 -0.999529 -0.999364 -0.99915 -0.998919 -0.998658 --0.998361 -0.998053 -0.997691 -0.997329 -0.996907 -0.996479 -0.996011 --0.995518 -0.995003 -0.994443 -0.993881 -0.993256 -0.992631 -0.991957 --0.991267 -0.990546 -0.98979 -0.989022 -0.988201 -0.987381 -0.986501 --0.985615 -0.984689 -0.983738 -0.982766 -0.98175 -0.980731 -0.979651 --0.978571 -0.977441 -0.976296 -0.975121 -0.973912 -0.97269 -0.971417 --0.970143 -0.968812 -0.967475 -0.966097 -0.964696 -0.963274 -0.961809 --0.960341 -0.958813 -0.957286 -0.955709 -0.954118 -0.952497 -0.950843 --0.949176 -0.94746 -0.945744 -0.94397 -0.942191 -0.940373 -0.938533 --0.93667 -0.934768 -0.932861 -0.930897 -0.928933 -0.926921 -0.924896 --0.92284 -0.920754 -0.918655 -0.916509 -0.914362 -0.912159 -0.909952 --0.907707 -0.90544 -0.903152 -0.900825 -0.898494 -0.896108 -0.893723 --0.89129 -0.888846 -0.886371 -0.883868 -0.881352 -0.878791 -0.87623 --0.873614 -0.870995 -0.868339 -0.865662 -0.862965 -0.860232 -0.857494 --0.854704 -0.851914 -0.849079 -0.846233 -0.843359 -0.840457 -0.837542 --0.834585 -0.831629 -0.82862 -0.825608 -0.82256 -0.819494 -0.816408 --0.813288 -0.810163 -0.806989 -0.803816 -0.8006 -0.797373 -0.794119 --0.790841 -0.787549 -0.784219 -0.780888 -0.777508 -0.774125 -0.770709 --0.767276 -0.763823 -0.760339 -0.756851 -0.753317 -0.749784 -0.74621 --0.742627 -0.739018 -0.735386 -0.731742 -0.728062 -0.724382 -0.720656 --0.716928 -0.713168 -0.709393 -0.705599 -0.701778 -0.697951 -0.694083 --0.690216 -0.686311 -0.682397 -0.67846 -0.674502 -0.670533 -0.66653 --0.662528 -0.658483 -0.654437 -0.650362 -0.646273 -0.642167 -0.638035 --0.633899 -0.629726 -0.625552 -0.621345 -0.61713 -0.612894 -0.608639 --0.604373 -0.600078 -0.595783 -0.59145 -0.587115 -0.582754 -0.578382 --0.573993 -0.569582 -0.565167 -0.560719 -0.556271 -0.551792 -0.547307 --0.542802 -0.538282 -0.533751 -0.529195 -0.524639 -0.520049 -0.515459 --0.510845 -0.50622 -0.501582 -0.496924 -0.492262 -0.487572 -0.482882 --0.478165 -0.473443 -0.468704 -0.463951 -0.459189 -0.454406 -0.449623 --0.44481 -0.439997 -0.435163 -0.430321 -0.425468 -0.420598 -0.415724 --0.410826 -0.405929 -0.401008 -0.396084 -0.391145 -0.386195 -0.381237 --0.376262 -0.371286 -0.366286 -0.361286 -0.356269 -0.351246 -0.346212 --0.341166 -0.336116 -0.331047 -0.325978 -0.320891 -0.315801 -0.310698 --0.305587 -0.30047 -0.29534 -0.290209 -0.285059 -0.279909 -0.274745 --0.269577 -0.264401 -0.259215 -0.254026 -0.248824 -0.243621 -0.238404 --0.233186 -0.227958 -0.222724 -0.217486 -0.212237 -0.206989 -0.201726 --0.196464 -0.191193 -0.185918 -0.180638 -0.175351 -0.170062 -0.164764 --0.159465 -0.154158 -0.148849 -0.143535 -0.138216 -0.132895 -0.127568 --0.12224 -0.116905 -0.11157 -0.106229 -0.100886 -0.0955409 -0.0901918 --0.0848418 -0.0794871 -0.0741323 -0.0687733 -0.0634138 -0.0580518 -0.0526882 --0.0473236 -0.0419567 -0.0365898 -0.0312206 -0.0258513 -0.0204809 -0.01511 --0.00973874 -0.00436706 0.00100462 0.00637629 0.011748 0.0171189 0.0224898 -; -#A 3000 0.0278597 0.0332289 0.0385974 0.0439642 0.0493308 0.0546944 -0.060058 0.0654185 0.070778 0.0761353 0.08149 0.0868435 0.0921926 0.0975416 -0.102885 0.108227 0.113565 0.118901 0.124233 0.12956 0.134887 0.140206 -0.145524 0.150835 0.156144 0.161447 0.166745 0.172041 0.177328 0.182615 -0.187891 0.193166 0.198433 0.203695 0.208952 0.2142 0.219448 0.224682 -0.229916 0.235138 0.240356 0.245567 0.25077 0.255969 0.261155 0.266341 -0.27151 0.276679 0.281835 0.286985 0.292128 0.297259 0.302388 0.307499 -0.31261 0.317704 0.322795 0.327874 0.332943 0.338007 0.343053 0.3481 -0.353125 0.358148 0.363157 0.368156 0.373147 0.378123 0.383096 0.388046 -0.392996 0.397926 0.40285 0.40776 0.412658 0.417549 0.422419 0.427289 -0.432133 0.436974 0.441797 0.44661 0.451412 0.456195 0.460976 0.465729 -0.470481 0.475209 0.479931 0.484636 0.489326 0.494009 0.498666 0.503324 -0.50795 0.512574 0.517176 0.521766 0.526344 0.5309 0.535452 0.539973 -0.544493 0.548985 0.553469 0.557934 0.562383 0.566821 0.571232 0.575643 -0.580017 0.58439 0.588737 0.593071 0.59739 0.601685 0.605975 0.61023 -0.614485 0.618707 0.622921 0.627113 0.631287 0.635449 0.639581 0.643712 -0.647802 0.651891 0.655951 0.659997 0.664025 0.668027 0.672025 0.675983 -0.679941 0.683861 0.687774 0.691663 0.69553 0.699386 0.703207 0.707029 -0.710805 0.71458 0.718322 0.72205 0.725759 0.729439 0.733113 0.736744 -0.740376 0.743967 0.74755 0.751105 0.754639 0.758159 0.761643 0.765126 -0.76856 0.771993 0.775391 0.778773 0.782134 0.785465 0.788788 0.792067 -0.795346 0.79858 0.801807 0.805003 0.808176 0.811335 0.814455 0.817575 -0.820641 0.823707 0.826735 0.829746 0.832735 0.835692 0.838641 0.841542 -0.844444 0.847298 0.850144 0.852958 0.855747 0.858521 0.861254 0.863987 -0.866664 0.86934 0.871975 0.874594 0.877188 0.879749 0.882302 0.884805 -0.887308 0.88976 0.892205 0.894615 0.897001 0.899369 0.901695 0.904021 -0.906288 0.908555 0.910778 0.912985 0.915165 0.917312 0.919449 0.921535 -0.923621 0.925654 0.927679 0.929668 0.931632 0.933577 0.935479 0.937381 -0.939221 0.941062 0.942857 0.944635 0.946386 0.948102 0.949808 0.951461 -0.953115 0.954713 0.956304 0.957857 0.959385 0.960893 0.962357 0.96382 -0.965221 0.966621 0.967975 0.969312 0.97062 0.971893 0.973155 0.974364 -0.975573 0.976725 0.977869 0.978975 0.980055 0.981115 0.98213 0.983143 -0.984094 0.985045 0.985947 0.986832 0.987688 0.988509 0.989317 0.990073 -0.990828 0.991525 0.992215 0.992865 0.99349 0.994093 0.994652 0.995209 -0.995702 0.996196 0.99664 0.997068 0.997464 0.997826 0.998176 0.998472 -0.998769 0.999005 0.999236 0.999426 0.99959 0.999733 0.999831 0.999927 -0.99996 0.999992 0.999975 0.999942 0.999877 0.999778 0.999666 0.999501 -0.999336 0.999111 0.99888 0.998608 0.998312 0.997992 0.99763 0.997263 -0.996835 0.996407 0.995928 0.995435 0.994908 0.994349 0.993776 0.993151 -0.992526 0.991841 0.991151 0.990419 0.989663 0.988884 0.988064 0.987238 -0.986352 0.985466 0.984529 0.983579 0.982595 0.98158 0.98055 0.97947 -0.978389 0.977249 0.976104 0.974917 0.973708 0.972476 0.971203 0.969924 -0.968587 0.96725 0.965862 0.964461 0.963028 0.961563 0.960085 0.958557 -0.957029 0.955442 0.953851 0.952219 0.950565 0.948888 0.947172 0.94545 -0.943671 0.941893 0.940064 0.938224 0.936351 0.934448 0.932531 0.930567 -0.928603 0.926581 0.924556 0.92249 0.920404 0.918295 0.916148 0.913996 -0.911789 0.909582 0.907326 0.905059 0.902761 0.900435 0.898094 0.895708 -0.893322 0.89088 0.888436 0.885951 0.883448 0.880923 0.878361 0.875794 -0.873175 0.870556 0.86789 0.865214 0.862507 0.859773 0.857026 0.854236 -0.851446 0.848602 0.845756 0.842872 0.83997 0.837047 0.83409 0.831126 -0.828115 0.825103 0.822046 0.81898 0.815885 0.812765 0.809631 0.806457 -0.803284 0.800059 0.796833 0.79357 0.790291 0.786991 0.78366 0.780323 -0.776941 0.773559 0.770134 0.766701 0.763239 0.759756 0.756259 0.752725 -0.749191 0.745609 0.742026 0.738409 0.734777 0.731126 0.727445 0.723759 -0.720031 0.716303 0.712536 0.708761 0.704959 0.701138 0.697303 0.693436 -0.689568 0.685655 0.681742 0.677797 0.673839 0.669862 0.66586 0.661852 -0.657806 0.65376 0.649677 0.645588 0.641475 0.637344 0.6332 0.629027 -0.624854 0.620639 0.616425 0.612181 0.607926 0.603654 0.599359 0.595058 -0.590724 0.58639 0.582022 0.57765 0.573255 0.568844 0.564422 0.559974 -0.555526 0.551041 0.546557 0.542046 0.537525 0.532989 0.528433 0.523872 -0.519281 0.514691 0.510071 0.505446 0.500802 0.496145 0.491477 0.486787 -0.482097 0.477375 0.472653 0.467908 0.463155 0.458389 0.453606 0.448817 -0.444004 0.439191 0.434353 0.429511 0.424653 0.419783 0.414904 0.410006 -0.405108 0.400184 0.39526 0.390316 0.385366 0.380405 0.375429 0.370449 -0.36545 0.36045 0.355429 0.350405 0.345368 0.340321 0.335267 0.330199 -0.325129 0.320039 0.314949 0.309843 0.304732 0.299612 0.294481 0.289347 -0.284197 0.279047 0.273881 0.268712 0.263533 0.258347 0.253156 0.247953 -0.24275 0.237531 0.232312 0.227082 0.221848 0.216607 0.211359 0.206108 -0.200846 0.195584 0.19031 0.185035 0.179753 0.174466 0.169175 0.163877 -0.158578 0.15327 0.147961 0.142645 0.137326 0.132004 0.126676 0.121348 -0.116012 0.110677 0.105335 0.0999924 0.0946458 0.0892967 0.0839457 -0.078591 0.073236 0.0678765 0.0625169 0.0571543 0.0517907 0.0464255 -0.0410587 0.0356913 0.0303221 0.0249528 0.0195821 0.0142112 0.00883984 -0.00346817 -0.00190351 -0.00727518 -0.0126468 -0.0180177 -0.0233885 --0.0287581 -0.0341274 -0.0394954 -0.0448622 -0.0502284 -0.0555919 -0.0609555 --0.0663154 -0.0716749 -0.0770313 -0.082386 -0.0877387 -0.0930877 -0.0984362 --0.103779 -0.109121 -0.114458 -0.119794 -0.125125 -0.130452 -0.135777 --0.141096 -0.146414 -0.151723 -0.157032 -0.162334 -0.167632 -0.172926 --0.178213 -0.183499 -0.188774 -0.194049 -0.199313 -0.204575 -0.20983 --0.215079 -0.220324 -0.225558 -0.230791 -0.236011 -0.24123 -0.246438 --0.25164 -0.256837 -0.262023 -0.267207 -0.272375 -0.277543 -0.282697 --0.287847 -0.292987 -0.298117 -0.303243 -0.308354 -0.313465 -0.318556 --0.323646 -0.328722 -0.333791 -0.338851 -0.343898 -0.348942 -0.353966 --0.358989 -0.363993 -0.368993 -0.37398 -0.378955 -0.383924 -0.388875 --0.393825 -0.39875 -0.403674 -0.40858 -0.413477 -0.418364 -0.423234 --0.428101 -0.432943 -0.437785 -0.442602 -0.447415 -0.452212 -0.456996 --0.461771 -0.466524 -0.471277 -0.475999 -0.480721 -0.485421 -0.490111 --0.494788 -0.499446 -0.504099 -0.508724 -0.513348 -0.517944 -0.522535 --0.527106 -0.531662 -0.536208 -0.540729 -0.54525 -0.549735 -0.55422 --0.558679 -0.563127 -0.567559 -0.57197 -0.576376 -0.580749 -0.585122 --0.589462 -0.593796 -0.598108 -0.602403 -0.606687 -0.610942 -0.615197 --0.619412 -0.623626 -0.627812 -0.631985 -0.636141 -0.640272 -0.644398 --0.648487 -0.652576 -0.656628 -0.660674 -0.664695 -0.668697 -0.672687 --0.676645 -0.680603 -0.684516 -0.688429 -0.69231 -0.696177 -0.700025 --0.703847 -0.707662 -0.711437 -0.715212 -0.718946 -0.722674 -0.726374 --0.730054 -0.73372 -0.737352 -0.740984 -0.744567 -0.748149 -0.751697 --0.75523 -0.758742 -0.762226 -0.765701 -0.769135 -0.772568 -0.775957 --0.779339 -0.782691 -0.786022 -0.789337 -0.792616 -0.795894 -0.79912 --0.802346 -0.805534 -0.808708 -0.811857 -0.814977 -0.818088 -0.821154 --0.82422 -0.827239 -0.83025 -0.83323 -0.836186 -0.839126 -0.842028 --0.844928 -0.847774 -0.85062 -0.853424 -0.856214 -0.858978 -0.861712 --0.864435 -0.867112 -0.869788 -0.872413 -0.875032 -0.877616 -0.880178 --0.88272 -0.885224 -0.887725 -0.890169 -0.892614 -0.895014 -0.8974 --0.899758 -0.902085 -0.9044 -0.906667 -0.908934 -0.911147 -0.913354 --0.915524 -0.917671 -0.919798 -0.921884 -0.923967 -0.925992 -0.928018 --0.929996 -0.93196 -0.933895 -0.935798 -0.937689 -0.939529 -0.94137 --0.943154 -0.944933 -0.946673 -0.948389 -0.950085 -0.951738 -0.953389 --0.954979 -0.95657 -0.958113 -0.959641 -0.961138 -0.962602 -0.964054 --0.965455 -0.966856 -0.968199 -0.969536 -0.970833 -0.972106 -0.973357 --0.974566 -0.975771 -0.976916 -0.978061 -0.979156 -0.980236 -0.981284 --0.9823 -0.983302 -0.984253 -0.985204 -0.986095 -0.986981 -0.987825 --0.988646 -0.989444 -0.990199 -0.99095 -0.991641 -0.992331 -0.99297 --0.993595 -0.994187 -0.994746 -0.995291 -0.995785 -0.996279 -0.996711 --0.997139 -0.997525 -0.997887 -0.998225 -0.998522 -0.998813 -0.999044 --0.999275 -0.999453 -0.999618 -0.999749 -0.999848 -0.999932 -0.999965 --0.999998 -0.999969 -0.999936 -0.99986 -0.999761 -0.999638 -0.999473 --0.999303 -0.999072 -0.998841 -0.998558 -0.998261 -0.997931 -0.997568 --0.997191 -0.996763 -0.996335 -0.995844 -0.995351 -0.994814 -0.994254 --0.99367 -0.993045 -0.992414 -0.991724 -0.991034 -0.99029 -0.989535 --0.988745 -0.987924 -0.987088 -0.986202 -0.985316 -0.984368 -0.983417 --0.982423 -0.981407 -0.980366 -0.979286 -0.978199 -0.977054 -0.975909 --0.974712 -0.973503 -0.97226 -0.970986 -0.969697 -0.96836 -0.967023 --0.965624 -0.964223 -0.962779 -0.961314 -0.959825 -0.958297 -0.956762 --0.955171 -0.953581 -0.951938 -0.950284 -0.948596 -0.94688 -0.945148 --0.943369 -0.94159 -0.939751 -0.937911 -0.936027 -0.934125 -0.932197 --0.930233 -0.928262 -0.926237 -0.924212 -0.922136 -0.920049 -0.91793 --0.915783 -0.91362 -0.911413 -0.909207 -0.906941 -0.904674 -0.902365 --0.900039 -0.897688 -0.895302 -0.892909 -0.890464 -0.88802 -0.885526 --0.883022 -0.880487 -0.877925 -0.875348 -0.872729 -0.87011 -0.867434 --0.864758 -0.862041 -0.859308 -0.856551 -0.853761 -0.850964 -0.848118 --0.845271 -0.842378 -0.839476 -0.836543 -0.833586 -0.830614 -0.827602 --0.82459 -0.821524 -0.818458 -0.815353 -0.812233 -0.80909 -0.805917 --0.802736 -0.799509 -0.796283 -0.793011 -0.789733 -0.786424 -0.783093 --0.779747 -0.776365; -#A 4000 -0.772982 -0.769549 -0.766116 -0.762646 -0.759162 -0.755657 --0.752123 -0.748582 -0.744999 -0.741416 -0.73779 -0.734159 -0.730498 --0.726818 -0.723124 -0.719396 -0.715667 -0.711892 -0.708117 -0.704308 --0.700486 -0.696644 -0.692777 -0.688901 -0.684988 -0.681075 -0.677122 --0.673164 -0.66918 -0.665178 -0.661162 -0.657116 -0.653069 -0.64898 --0.644891 -0.640771 -0.636639 -0.632489 -0.628316 -0.624135 -0.619921 --0.615706 -0.611456 -0.607201 -0.602922 -0.598627 -0.594319 -0.589985 --0.58565 -0.581277 -0.576904 -0.572503 -0.568092 -0.563664 -0.559216 --0.554761 -0.550276 -0.545792 -0.541275 -0.536754 -0.532212 -0.527656 --0.523089 -0.518498 -0.513906 -0.509282 -0.504658 -0.500008 -0.49535 --0.490677 -0.485987 -0.481291 -0.476569 -0.471848 -0.467098 -0.462345 --0.457573 -0.45279 -0.447996 -0.443183 -0.438369 -0.433527 -0.428685 --0.423822 -0.418952 -0.414069 -0.409171 -0.404268 -0.399344 -0.39442 --0.389472 -0.384522 -0.379556 -0.374581 -0.369597 -0.364597 -0.359596 --0.354572 -0.349548 -0.344507 -0.33946 -0.334403 -0.329334 -0.324261 --0.319171 -0.31408 -0.308971 -0.30386 -0.298737 -0.293606 -0.288468 --0.283318 -0.278167 -0.272999 -0.267831 -0.262649 -0.257463 -0.252268 --0.247066 -0.24186 -0.236641 -0.231422 -0.226189 -0.220955 -0.215712 --0.210464 -0.20521 -0.199948 -0.194685 -0.18941 -0.184136 -0.178851 --0.173564 -0.168272 -0.162973 -0.157673 -0.152364 -0.147055 -0.141738 --0.136419 -0.131095 -0.125768 -0.120438 -0.115102 -0.109766 -0.104424 --0.0990811 -0.0937334 -0.0883843 -0.0830324 -0.0776777 -0.0723218 -0.0669623 --0.0616028 -0.0562394 -0.0508758 -0.0455101 -0.0401433 -0.0347755 -0.0294063 --0.0240369 -0.018666 -0.0132951 -0.00792361 -0.00255193 0.00281974 -0.00819142 0.0135629 0.0189338 0.0243046 0.029674 0.0350432 0.0404109 -0.0457777 0.0511432 0.0565068 0.06187 0.0672295 0.0725891 0.0779446 -0.0832993 0.088651 0.0940001 0.0993475 0.10469 0.110033 0.115368 0.120704 -0.126033 0.131361 0.136684 0.142003 0.14732 0.152629 0.157937 0.163237 -0.168536 0.173828 0.179115 0.184399 0.189673 0.194948 0.200211 0.205473 -0.210725 0.215974 0.221216 0.22645 0.231682 0.236901 0.24212 0.247325 -0.252528 0.257721 0.262907 0.268088 0.273257 0.278425 0.283575 0.288725 -0.293862 0.298993 0.304115 0.309226 0.314334 0.319424 0.324515 0.329587 -0.334656 0.339712 0.344759 0.349799 0.354822 0.359846 0.364846 0.369846 -0.374829 0.379804 0.384769 0.389719 0.394666 0.39959 0.404514 0.409415 -0.414313 0.419195 0.424065 0.428927 0.433769 0.43861 0.443423 0.448236 -0.453028 0.457811 0.462582 0.467335 0.472083 0.476805 0.481527 0.486221 -0.490911 0.495583 0.50024 0.504888 0.509512 0.514137 0.518727 0.523318 -0.527883 0.532439 0.536979 0.5415 0.546015 0.5505 0.554985 0.559438 -0.563886 0.568312 0.572723 0.577122 0.581495 0.585867 0.590201 0.594535 -0.598841 0.603136 0.607413 0.611668 0.615916 0.620131 0.624345 0.628524 -0.632697 0.636845 0.640977 0.645095 0.649184 0.653272 0.657318 0.661364 -0.665378 0.66938 0.673362 0.67732 0.68127 0.685183 0.689097 0.69297 -0.696837 0.700677 0.704499 0.708306 0.712081 0.715854 0.719582 0.72331 -0.727002 0.730682 0.73434 0.737972 0.741595 0.745178 0.748761 0.752299 -0.755833 0.759336 0.76282 0.766287 0.76972 0.773151 0.776534 0.779916 -0.783259 0.78659 0.789896 0.793175 0.796444 0.79967 0.802897 0.806075 -0.809249 0.812389 0.815509 0.818611 0.821677 0.824741 0.827752 0.830764 -0.833734 0.836691 0.839621 0.842523 0.845414 0.84826 0.851106 0.8539 -0.85669 0.859445 0.862178 0.864892 0.867568 0.870241 0.87286 0.875479 -0.878053 0.880615 0.883147 0.88565 0.888142 0.890586 0.893031 0.895421 -0.897807 0.900155 0.902481 0.904787 0.907054 0.909317 0.911524 0.913731 -0.91589 0.918037 0.920154 0.92224 0.924313 0.926338 0.928363 0.930331 -0.932295 0.93422 0.936122 0.938003 0.939843 0.941679 0.943458 0.945236 -0.946966 0.948682 0.950367 0.95202 0.95366 0.955251 0.956842 0.958373 -0.959901 0.961388 0.962852 0.964293 0.965694 0.96709 0.968427 0.969764 -0.97105 0.972323 0.973563 0.974772 0.975967 0.977111 0.978256 0.97934 -0.98042 0.981458 0.982473 0.983465 0.984415 0.98536 0.986246 0.987132 -0.987965 0.988786 0.989573 0.990328 0.991068 0.991758 0.992449 0.993076 -0.993701 0.994282 0.994841 0.995375 0.995869 0.996356 0.996784 0.997212 -0.997587 0.997949 0.998276 0.998573 0.998853 0.999083 0.999314 0.999481 -0.999646 0.999766 0.999865 0.999938 0.999971 0.999996 0.999964 0.999931 -0.999843 0.999744 0.99961 0.999445 0.999264 0.999033 0.998802 0.998508 -0.998211 0.99787 0.997508 0.997119 0.996691 0.996255 0.995761 0.995268 -0.994719 0.99416 0.993565 0.99294 0.992298 0.991608 0.990918 0.990163 -0.989408 0.988607 0.987786 0.986939 0.986053 0.985159 0.984208 0.983257 -0.982252 0.981236 0.980185 0.979105 0.978007 0.976862 0.975717 0.974509 -0.9733 0.972046 0.970772 0.969473 0.968135 0.96679 0.965389 0.963988 -0.962533 0.961069 0.959568 0.958041 0.956495 0.954904 0.953313 0.95166 -0.950006 0.948308 0.946592 0.944849 0.94307 0.941283 0.939442 0.937602 -0.935708 0.933805 0.931868 0.929904 0.927922 0.925897 0.923872 0.921785 -0.919699 0.91757 0.915423 0.91325 0.911043 0.908827 0.90656 0.904293 -0.901975 0.899648 0.897288 0.894902 0.892499 0.890054 0.887609 0.885106 -0.882603 0.880057 0.877496 0.874909 0.87229 0.869662 0.866986 0.864309 -0.861583 0.85885 0.856083 0.853293 0.850486 0.84764 0.844793 0.841891 -0.83899 0.836047 0.83309 0.830109 0.827097 0.824076 0.82101 0.817944 -0.81483 0.81171 0.808558 0.805385 0.802195 0.798969 0.795741 0.792462 -0.789183 0.785866 0.782535 0.77918 0.775798 0.772407 0.768974 0.76554 -0.762062 0.758579 0.755065 0.751531 0.747982 0.744399 0.740814 0.737182 -0.73355 0.729882 0.726202 0.722499 0.718772 0.715035 0.71126 0.707485 -0.703668 0.699846 0.695996 0.692129 0.688246 0.684333 0.680418 0.67646 -0.672502 0.66851 0.664508 0.660485 0.656439 0.652384 0.648295 0.644206 -0.640079 0.635947 0.63179 0.627617 0.623429 0.619215 0.614998 0.610743 -0.606488 0.602203 0.597908 0.593594 0.58926 0.584918 0.580545 0.576172 -0.571764 0.567354 0.562919 0.558471 0.55401 0.549526 0.545039 0.540518 -0.535998 0.531449 0.526894 0.522321 0.51773 0.513133 0.508508 0.503884 -0.499229 0.494571 0.489893 0.485203 0.480501 0.475779 0.471055 0.466302 -0.461549 0.456772 0.451989 0.447191 0.442378 0.437559 0.432717 0.427875 -0.423007 0.418137 0.413249 0.408352 0.403444 0.39852 0.393594 0.388644 -0.383694 0.378723 0.373748 0.36876 0.36376 0.358755 0.353731 0.348708 -0.343662 0.338616 0.333555 0.328486 0.323409 0.318319 0.313227 0.308116 -0.303005 0.297878 0.292747 0.287607 0.282457 0.277302 0.272134 0.266966 -0.261781 0.256595 0.251398 0.246195 0.240986 0.235768 0.230547 0.225313 -0.22008 0.214834 0.209585 0.20433 0.199068 0.193803 0.188528 0.183253 -0.177966 0.172679 0.167385 0.162087 0.156784 0.151476 0.146166 0.140848 -0.135529 0.130204 0.124876 0.119545 0.114209 0.108872 0.10353 0.0981871 -0.0928383 0.0874892 0.0821363 0.0767816 0.071425 0.0660655 0.0607054 -0.0553419 0.0499783 0.044612 0.0392452 0.033877 0.0285077 0.0231381 -0.0177672 0.0123964 0.00702472 0.00165304 -0.00371863 -0.00909031 -0.0144617 --0.0198325 -0.0252032 -0.0305724 -0.0359417 -0.0413089 -0.0466757 -0.0520408 --0.0574043 -0.0627668 -0.0681264 -0.0734859 -0.0788407 -0.0841954 -0.0895462 --0.0948952 -0.100242 -0.105584 -0.110926 -0.116261 -0.121596 -0.126925 --0.132252 -0.137574 -0.142893 -0.148208 -0.153517 -0.158826 -0.164124 --0.169422 -0.174713 -0.179999 -0.185281 -0.190556 -0.195829 -0.201091 --0.206353 -0.211604 -0.216852 -0.222092 -0.227326 -0.232556 -0.237774 --0.242993 -0.248196 -0.253398 -0.258589 -0.263775 -0.268953 -0.274121 --0.279287 -0.284437 -0.289587 -0.29472 -0.299851 -0.30497 -0.310081 --0.315186 -0.320276 -0.325366 -0.330435 -0.335504 -0.340556 -0.345603 --0.350639 -0.355663 -0.360683 -0.365683 -0.370683 -0.375661 -0.380637 --0.385597 -0.390547 -0.39549 -0.400414 -0.405337 -0.410235 -0.415132 --0.42001 -0.42488 -0.429737 -0.434579 -0.439416 -0.444229 -0.449042 --0.453829 -0.458612 -0.463377 -0.46813 -0.472873 -0.477595 -0.482316 --0.487006 -0.491696 -0.496362 -0.50102 -0.505662 -0.510286 -0.514905 --0.519495 -0.524086 -0.528645 -0.533201 -0.537736 -0.542257 -0.546766 --0.55125 -0.555734 -0.560182 -0.56463 -0.56905 -0.573461 -0.577854 --0.582227 -0.586592 -0.590926 -0.595261 -0.59956 -0.603855 -0.608125 --0.61238 -0.616622 -0.620836 -0.625049 -0.629222 -0.633395 -0.637537 --0.641668 -0.645779 -0.649868 -0.653949 -0.657995 -0.662041 -0.666047 --0.67005 -0.674024 -0.677982 -0.681925 -0.685838 -0.689749 -0.693617 --0.697484 -0.701317 -0.705138 -0.708937 -0.712712 -0.716478 -0.720206 --0.723934 -0.727618 -0.731298 -0.734948 -0.738579 -0.742194 -0.745777 --0.749357 -0.752891 -0.756424 -0.759919 -0.763403 -0.766862 -0.770295 --0.773717 -0.7771 -0.780482 -0.783817 -0.787147 -0.790445 -0.793724 --0.796984 -0.80021 -0.803433 -0.806606 -0.80978 -0.812911 -0.816031 --0.819124 -0.82219 -0.825245 -0.828256 -0.831268 -0.834229 -0.837186 --0.840107 -0.843008 -0.84589 -0.848736 -0.851577 -0.854367 -0.857157 --0.859902 -0.862635 -0.86534 -0.868016 -0.870679 -0.873298 -0.875917 --0.878482 -0.881043 -0.883566 -0.886069 -0.888551 -0.890995 -0.893435 --0.89582 -0.898206 -0.900544 -0.902871 -0.905166 -0.907433 -0.909686 --0.911893 -0.9141 -0.91625 -0.918396 -0.920503 -0.922589 -0.924652 --0.926677 -0.928696 -0.93066 -0.932624 -0.934538 -0.936441 -0.938311 --0.940151 -0.941977 -0.943755 -0.945534 -0.947253 -0.948969 -0.950643 --0.952297 -0.953926 -0.955517 -0.957101 -0.958629 -0.960157 -0.961633 --0.963097 -0.964527 -0.965928 -0.967313 -0.96865 -0.969988 -0.971263 --0.972536 -0.973766; -#A 5000 -0.974975 -0.976158 -0.977303 -0.97844 -0.979521 -0.980601 --0.981628 -0.982643 -0.983624 -0.984574 -0.985508 -0.986394 -0.98728 --0.988102 -0.988923 -0.989699 -0.990454 -0.991184 -0.991874 -0.992556 --0.993181 -0.993806 -0.994376 -0.994935 -0.995458 -0.995952 -0.996428 --0.996856 -0.997284 -0.997647 -0.998009 -0.998326 -0.998622 -0.998891 --0.999122 -0.999344 -0.999509 -0.999674 -0.999783 -0.999881 -0.999943 --0.999976 -0.999991 -0.999958 -0.999925 -0.999826 -0.999728 -0.999582 --0.999417 -0.999225 -0.998994 -0.998754 -0.998458 -0.998161 -0.997808 --0.997446 -0.997046 -0.996618 -0.996171 -0.995678 -0.995184 -0.994624 --0.994065 -0.993459 -0.992834 -0.992181 -0.991491 -0.990791 -0.990035 --0.989279 -0.988468 -0.987647 -0.986788 -0.985902 -0.984997 -0.984047 --0.983095 -0.982079 -0.981064 -0.980001 -0.978921 -0.977812 -0.976667 --0.975513 -0.974303 -0.973094 -0.971829 -0.970556 -0.969245 -0.967908 --0.966552 -0.965151 -0.963749 -0.962284 -0.96082 -0.959309 -0.957781 --0.956225 -0.954634 -0.953033 -0.951379 -0.949725 -0.948016 -0.9463 --0.944547 -0.942768 -0.94097 -0.939129 -0.937287 -0.935384 -0.933482 --0.931534 -0.92957 -0.927578 -0.925552 -0.923517 -0.921431 -0.919344 --0.917205 -0.915058 -0.912875 -0.910668 -0.908442 -0.906175 -0.903906 --0.901579 -0.899253 -0.896882 -0.894496 -0.892083 -0.889638 -0.887183 --0.88468 -0.882177 -0.879621 -0.87706 -0.874463 -0.871844 -0.869206 --0.86653 -0.863851 -0.861118 -0.858385 -0.855608 -0.852818 -0.850002 --0.847156 -0.844299 -0.841398 -0.838496 -0.835544 -0.832587 -0.829596 --0.826584 -0.823554 -0.820488 -0.817419 -0.814299 -0.811179 -0.808018 --0.804845 -0.801646 -0.798419 -0.795182 -0.791904 -0.788625 -0.785298 --0.781968 -0.778604 -0.775222 -0.771822 -0.768389 -0.764952 -0.761469 --0.757985 -0.754463 -0.750929 -0.747371 -0.743788 -0.740195 -0.736563 --0.732931 -0.729255 -0.725575 -0.721864 -0.718136 -0.714392 -0.710617 --0.706838 -0.703017 -0.699195 -0.695337 -0.69147 -0.687579 -0.683666 --0.679743 -0.675785 -0.671827 -0.667828 -0.663825 -0.659795 -0.655749 --0.651687 -0.647598 -0.643506 -0.639375 -0.635243 -0.631079 -0.626905 --0.622711 -0.618497 -0.614273 -0.610018 -0.605763 -0.60147 -0.597175 --0.592855 -0.58852 -0.584172 -0.579799 -0.575423 -0.571012 -0.566601 --0.562161 -0.557713 -0.553246 -0.548761 -0.544268 -0.539747 -0.535226 --0.530672 -0.526116 -0.521538 -0.516947 -0.512344 -0.507719 -0.503092 --0.498434 -0.493777 -0.489093 -0.484403 -0.479696 -0.474974 -0.470245 --0.465492 -0.460739 -0.455957 -0.451173 -0.44637 -0.441557 -0.436733 --0.431891 -0.427046 -0.422176 -0.417306 -0.412414 -0.407516 -0.402604 --0.39768 -0.39275 -0.387799 -0.382849 -0.377875 -0.372899 -0.367907 --0.362907 -0.357898 -0.352874 -0.347848 -0.342802 -0.337755 -0.33269 --0.327621 -0.322541 -0.317451 -0.312355 -0.307244 -0.302133 -0.297003 --0.291872 -0.286728 -0.281578 -0.276421 -0.271253 -0.266082 -0.260896 --0.25571 -0.25051 -0.245308 -0.240096 -0.234877 -0.229655 -0.224421 --0.219187 -0.213939 -0.20869 -0.203432 -0.19817 -0.192903 -0.187628 --0.182352 -0.177065 -0.171778 -0.166481 -0.161183 -0.155879 -0.15057 --0.145259 -0.13994 -0.134622 -0.129295 -0.123968 -0.118635 -0.113299 --0.107961 -0.102618 -0.097275 -0.0919259 -0.0865769 -0.081223 -0.0758683 --0.0705108 -0.0651513 -0.0597906 -0.054427 -0.0490634 -0.0436966 -0.0383298 --0.0329612 -0.027592 -0.022222 -0.0168511 -0.0114802 -0.00610848 -0.000736807 -0.00463487 0.0100065 0.0153778 0.0207486 0.026119 0.0314883 0.0368575 -0.0422243 0.0475911 0.0529556 0.0583192 0.063681 0.0690405 0.0743993 -0.079754 0.0851087 0.0904585 0.0958075 0.101153 0.106495 0.111836 0.117171 -0.122506 0.127833 0.133161 0.138481 0.1438 0.149114 0.154423 0.15973 -0.165028 0.170326 0.175614 0.180901 0.186181 0.191456 0.196727 0.201989 -0.207251 0.212499 0.217747 0.222985 0.228219 0.233446 0.238665 0.24388 -0.249083 0.254286 0.259474 0.264659 0.269835 0.275003 0.280165 0.285315 -0.290465 0.295595 0.300726 0.305842 0.310953 0.316054 0.321144 0.326231 -0.3313 0.336368 0.341417 0.346464 0.351496 0.35652 0.361536 0.366536 -0.371534 0.37651 0.381485 0.386441 0.391392 0.396329 0.401254 0.406173 -0.41107 0.415968 0.42084 0.42571 0.430563 0.435405 0.440237 0.44505 -0.449861 0.454644 0.459428 0.464188 0.468941 0.473679 0.4784 0.483116 -0.487806 0.492496 0.497156 0.501814 0.506451 0.511075 0.515688 0.520278 -0.524867 0.529423 0.533978 0.538507 0.543028 0.547531 0.552015 0.556493 -0.560941 0.565389 0.569802 0.574213 0.5786 0.582972 0.587332 0.591666 -0.595997 0.600292 0.604587 0.608851 0.613106 0.61734 0.621555 0.625761 -0.629934 0.634107 0.638241 0.642373 0.646477 0.650566 0.654639 0.658685 -0.662728 0.66673 0.670732 0.674699 0.678657 0.682593 0.686506 0.690409 -0.694276 0.698144 0.701968 0.70579 0.709581 0.713356 0.717114 0.720842 -0.724566 0.728246 0.731926 0.735567 0.739199 0.742805 0.746388 0.74996 -0.753493 0.757027 0.760513 0.763997 0.767447 0.77088 0.774294 0.777677 -0.781054 0.784385 0.787715 0.791004 0.794283 0.797534 0.800761 0.803974 -0.807148 0.810321 0.813443 0.816563 0.819647 0.822713 0.825758 0.82877 -0.831776 0.834733 0.83769 0.840602 0.843503 0.846375 0.849221 0.852053 -0.854843 0.857633 0.860368 0.863101 0.865796 0.868472 0.871126 0.873745 -0.876358 0.878919 0.88148 0.883993 0.886496 0.888968 0.891412 0.893842 -0.896227 0.898613 0.900941 0.903268 0.905553 0.90782 0.910062 0.912269 -0.914469 0.916616 0.918762 0.920859 0.922945 0.924997 0.927022 0.929031 -0.930995 0.932959 0.934863 0.936765 0.938624 0.940465 0.94228 0.944059 -0.945829 0.947546 0.949262 0.950925 0.952579 0.954198 0.955788 0.957362 -0.95889 0.960417 0.961882 0.963347 0.964766 0.966167 0.967541 0.968879 -0.970207 0.97148 0.972753 0.973972 0.975181 0.976354 0.977498 0.978625 -0.979705 0.980785 0.981801 0.982816 0.983786 0.984737 0.98566 0.986545 -0.987422 0.988242 0.989063 0.989828 0.990583 0.991301 0.991992 0.992663 -0.993287 0.993912 0.994471 0.99503 0.995542 0.996036 0.996501 0.996929 -0.997347 0.997709 0.998071 0.998376 0.998673 0.998931 0.999161 0.999372 -0.999537 0.999701 0.999799 0.999898 0.999949 0.999982 0.999985 0.999952 -0.999909 0.99981 0.999711 0.999554 0.99939 0.999186 0.998955 0.998704 -0.998408 0.99811 0.997747 0.997385 0.996974 0.996546 0.996088 0.995595 -0.99509 0.99453 0.993971 0.993354 0.992729 0.992065 0.991375 0.990664 -0.989908 0.98915 0.98833 0.987509 0.986639 0.985754 0.984838 0.983887 -0.982924 0.981909 0.980893 0.97982 0.978739 0.97762 0.976475 0.975309 -0.9741 0.972889 0.971615 0.970342 0.969021 0.967683 0.966316 0.964915 -0.963503 0.962038 0.960574 0.959052 0.957524 0.955958 0.954367 0.952755 -0.951101 0.949444 0.947728 0.946012 0.944248 0.942469 0.940661 0.93882 -0.936967 0.935065 0.933163 0.931204 0.92924 0.927238 0.925213 0.923167 -0.921081 0.918991 0.916844 0.914698 0.912504 0.910297 0.908061 0.905794 -0.903515 0.901189 0.898862 0.896481 0.894096 0.891673 0.889228 0.886763 -0.88426 0.881753 0.879192 0.87663 0.874024 0.871405 0.868758 0.866081 -0.863393 0.860659 0.857926 0.85514 0.852351 0.849525 0.846679 0.843813 -0.840911 0.838005 0.835048 0.832091 0.829091 0.826079 0.82304 0.819974 -0.816896 0.813776 0.810656 0.807486 0.804313 0.801105 0.797878 0.794633 -0.791354 0.788071 0.78474 0.781409 0.778037 0.774655 0.771247 0.767814 -0.764369 0.760885 0.757401 0.753871 0.750337 0.746771 0.743188 0.739587 -0.735955 0.732319 0.728638 0.724958 0.72124 0.717512 0.713759 0.709984 -0.706198 0.702377 0.698555 0.69469 0.690822 0.686924 0.683011 0.67908 -0.675122 0.67116 0.667158 0.663155 0.659117 0.655072 0.651003 0.646914 -0.642814 0.638683 0.634551 0.63038 0.626207 0.622005 0.617791 0.613561 -0.609306 0.605046 0.600751 0.596456 0.592129 0.587795 0.58344 0.579067 -0.574685 0.570274 0.565863 0.561416 0.556968 0.552495 0.54801 0.543511 -0.538991 0.534466 0.52991 0.525354 0.520769 0.516179 0.51157 0.506945 -0.502312 0.497655 0.492997 0.488308 0.483618 0.478906 0.474184 0.469449 -0.464696 0.459939 0.455156 0.450373 0.445565 0.440752 0.435923 0.431081 -0.426231 0.421361 0.416491 0.411594 0.406697 0.40178 0.396856 0.391921 -0.386971 0.382017 0.377042 0.372067 0.367071 0.362071 0.357057 0.352034 -0.347004 0.341957 0.336911 0.331842 0.326773 0.321689 0.316599 0.3115 -0.306389 0.301275 0.296144 0.291014 0.285866 0.280716 0.275556 0.270388 -0.265214 0.260028 0.254842 0.24964 0.244437 0.239223 0.234004 0.228779 -0.223545 0.218309 0.21306 0.207812 0.202552 0.19729 0.19202 0.186745 -0.181467 0.17618 0.170893 0.165595 0.160296 0.154991 0.149682 0.144369 -0.13905 0.133731 0.128403 0.123076 0.117742 0.112407 0.107067 0.101724 -0.0963798 0.0910308 0.0856816 0.0803269 0.0749722 0.069614 0.0642544 -0.0588931 0.0535295 0.0481653 0.0427985 0.0374317 0.0320627 0.0266934 -0.0213232 0.0159524 0.0105813 0.00520959 -0.000162085 -0.00553376 -0.0109054 --0.0162765 -0.0216474 -0.0270175 -0.0323867 -0.0377556 -0.0431224 -0.0484892 --0.0538531 -0.0592167 -0.0645779 -0.0699374 -0.0752954 -0.0806501 -0.0860046 --0.0913536 -0.0967027 -0.102047 -0.107389 -0.112729 -0.118064 -0.123398 --0.128725 -0.134052 -0.139371 -0.14469 -0.150002 -0.155311 -0.160616 --0.165914 -0.171212 -0.176499 -0.181786 -0.187064 -0.192339 -0.197607 --0.202869 -0.208129 -0.213377 -0.218626 -0.223861 -0.229095 -0.234319 --0.239538 -0.244751 -0.249954 -0.255155 -0.260341 -0.265527 -0.2707 --0.275868 -0.281027 -0.286177 -0.291323 -0.296454 -0.301585 -0.306697 --0.311808 -0.316906 -0.321996 -0.327079 -0.332148 -0.337215 -0.342262 --0.347308 -0.352337 -0.357361 -0.362372 -0.367372 -0.372367 -0.377342 --0.382318 -0.38727 -0.39222 -0.397153 -0.402078 -0.406992 -0.41189 --0.416785; -#A 6000 -0.421655 -0.426525 -0.431373 -0.436215 -0.441042 -0.445855 --0.450662 -0.455445 -0.460228 -0.464983 -0.469736 -0.474469 -0.479191 --0.483901 -0.488591 -0.493278 -0.497936 -0.502593 -0.507225 -0.511849 --0.516456 -0.521046 -0.525629 -0.530185 -0.534741 -0.539263 -0.543784 --0.548281 -0.552766 -0.557237 -0.561685 -0.56613 -0.57054 -0.574951 --0.579331 -0.583704 -0.588057 -0.592391 -0.596716 -0.601011 -0.605306 --0.609563 -0.613818 -0.618046 -0.62226 -0.626459 -0.630632 -0.634801 --0.638933 -0.643064 -0.647161 -0.65125 -0.655316 -0.659362 -0.663397 --0.6674 -0.671402 -0.675362 -0.67932 -0.683247 -0.687161 -0.691056 --0.694924 -0.698786 -0.702608 -0.70643 -0.710213 -0.713988 -0.717738 --0.721466 -0.725181 -0.728861 -0.732542 -0.736175 -0.739807 -0.743405 --0.746988 -0.750551 -0.754085 -0.757613 -0.761096 -0.76458 -0.768022 --0.771455 -0.77486 -0.778243 -0.781611 -0.784942 -0.788273 -0.791553 --0.794832 -0.798074 -0.801301 -0.804505 -0.807679 -0.810846 -0.813965 --0.817086 -0.82016 -0.823226 -0.826262 -0.829274 -0.832271 -0.835228 --0.838185 -0.841087 -0.843989 -0.846851 -0.849697 -0.85252 -0.85531 --0.858092 -0.860826 -0.863559 -0.866244 -0.86892 -0.871564 -0.874183 --0.876786 -0.879347 -0.881909 -0.884412 -0.886915 -0.889377 -0.891821 --0.894241 -0.896627 -0.899004 -0.90133 -0.903657 -0.905932 -0.908199 --0.910432 -0.912639 -0.914828 -0.916975 -0.919122 -0.921208 -0.923294 --0.925336 -0.927361 -0.92936 -0.931324 -0.933279 -0.935181 -0.937083 --0.938932 -0.940773 -0.942578 -0.944356 -0.946117 -0.947833 -0.949548 --0.951202 -0.952856 -0.954464 -0.956055 -0.957618 -0.959145 -0.960663 --0.962127 -0.963592 -0.965001 -0.966402 -0.967765 -0.969102 -0.97042 --0.971693 -0.972965 -0.974174 -0.975383 -0.976545 -0.97769 -0.978805 --0.979886 -0.980955 -0.981971 -0.982986 -0.983945 -0.984896 -0.985808 --0.986694 -0.987559 -0.98838 -0.989199 -0.989954 -0.99071 -0.991417 --0.992107 -0.992767 -0.993392 -0.994005 -0.994565 -0.995124 -0.995625 --0.996119 -0.996572 -0.997 -0.997407 -0.99777 -0.998129 -0.998426 -0.998722 --0.998969 -0.9992 -0.9994 -0.999564 -0.999717 -0.999816 -0.999915 -0.999954 --0.999987 -0.99998 -0.999947 -0.999892 -0.999793 -0.999691 -0.999526 --0.999362 -0.999147 -0.998916 -0.998654 -0.998357 -0.998048 -0.997686 --0.997324 -0.996902 -0.996473 -0.996005 -0.995511 -0.994995 -0.994435 --0.993873 -0.993248 -0.992623 -0.991948 -0.991257 -0.990535 -0.98978 --0.989011 -0.98819 -0.987369 -0.986489 -0.985603 -0.984676 -0.983725 --0.982752 -0.981736 -0.980717 -0.979636 -0.978556 -0.977425 -0.976281 --0.975104 -0.973895 -0.972672 -0.971399 -0.970126 -0.968793 -0.967456 --0.966078 -0.964677 -0.963254 -0.961789 -0.96032 -0.958792 -0.957265 --0.955687 -0.954096 -0.952474 -0.95082 -0.949153 -0.947436 -0.94572 --0.943946 -0.942167 -0.940348 -0.938507 -0.936644 -0.934742 -0.932834 --0.93087 -0.928906 -0.926893 -0.924868 -0.922812 -0.920726 -0.918626 --0.916479 -0.914332 -0.912129 -0.909922 -0.907676 -0.905409 -0.90312 --0.900793 -0.898461 -0.896076 -0.89369 -0.891257 -0.888812 -0.886337 --0.883834 -0.881317 -0.878756 -0.876195 -0.873578 -0.870959 -0.868302 --0.865626 -0.862928 -0.860194 -0.857455 -0.854666 -0.851876 -0.84904 --0.846194 -0.843319 -0.840417 -0.837502 -0.834545 -0.831588 -0.828578 --0.825567 -0.822518 -0.819452 -0.816365 -0.813245 -0.810119 -0.806946 --0.803772 -0.800555 -0.797329 -0.794074 -0.790796 -0.787504 -0.784173 --0.780842 -0.777461 -0.774079 -0.770662 -0.767229 -0.763775 -0.760292 --0.756802 -0.753269 -0.749735 -0.74616 -0.742577 -0.738968 -0.735336 --0.731692 -0.728011 -0.724331 -0.720605 -0.716877 -0.713116 -0.709341 --0.705547 -0.701725 -0.697898 -0.69403 -0.690163 -0.686257 -0.682344 --0.678406 -0.674448 -0.670478 -0.666475 -0.662473 -0.658428 -0.654382 --0.650306 -0.646217 -0.64211 -0.637979 -0.633842 -0.629668 -0.625495 --0.621287 -0.617073 -0.612835 -0.60858 -0.604314 -0.600019 -0.595724 --0.59139 -0.587056 -0.582694 -0.578322 -0.573933 -0.569522 -0.565106 --0.560658 -0.55621 -0.55173 -0.547246 -0.54274 -0.53822 -0.533689 -0.529133 --0.524577 -0.519986 -0.515396 -0.510781 -0.506157 -0.501518 -0.49686 --0.492198 -0.487508 -0.482818 -0.4781 -0.473378 -0.468638 -0.463886 --0.459124 -0.45434 -0.449557 -0.444744 -0.439931 -0.435097 -0.430255 --0.425401 -0.420531 -0.415656 -0.410759 -0.405861 -0.400941 -0.396016 --0.391077 -0.386127 -0.381169 -0.376193 -0.371218 -0.366218 -0.361218 --0.356201 -0.351177 -0.346143 -0.341096 -0.336046 -0.330977 -0.325909 --0.320821 -0.315731 -0.310628 -0.305517 -0.3004 -0.295269 -0.290138 --0.284988 -0.279838 -0.274674 -0.269506 -0.26433 -0.259144 -0.253955 --0.248752 -0.24355 -0.238333 -0.233114 -0.227886 -0.222652 -0.217414 --0.212165 -0.206916 -0.201654 -0.196392 -0.191121 -0.185846 -0.180565 --0.175278 -0.169989 -0.164691 -0.159393 -0.154085 -0.148776 -0.143462 --0.138143 -0.132822 -0.127495 -0.122167 -0.116832 -0.111497 -0.106156 --0.100813 -0.0954675 -0.0901184 -0.0847683 -0.0794136 -0.0740589 -0.0686998 --0.0633403 -0.0579782 -0.0526146 -0.0472499 -0.0418831 -0.0365162 -0.0311469 --0.0257777 -0.0204072 -0.0150363 -0.00966503 -0.00429336 0.00107832 -0.00644999 0.0118217 0.0171926 0.0225635 0.0279333 0.0333026 0.038671 -0.0440378 0.0494044 0.054768 0.0601316 0.065492 0.0708516 0.0762087 -0.0815634 0.0869169 0.092266 0.097615 0.102958 0.108301 0.113639 0.118974 -0.124306 0.129634 0.13496 0.140279 0.145597 0.150908 0.156216 0.16152 -0.166818 0.172114 0.177401 0.182688 0.187963 0.193238 0.198505 0.203767 -0.209024 0.214272 0.21952 0.224753 0.229987 0.235209 0.240428 0.245638 -0.250841 0.25604 0.261226 0.266412 0.271581 0.276749 0.281906 0.287056 -0.292198 0.297329 0.302458 0.307569 0.31268 0.317774 0.322865 0.327944 -0.333012 0.338076 0.343123 0.348169 0.353194 0.358217 0.363225 0.368225 -0.373216 0.378191 0.383164 0.388114 0.393064 0.397993 0.402918 0.407828 -0.412725 0.417616 0.422486 0.427356 0.432199 0.437041 0.441863 0.446676 -0.451477 0.456261 0.461041 0.465794 0.470547 0.475274 0.479996 0.484701 -0.489391 0.494073 0.49873 0.503388 0.508013 0.512638 0.517239 0.521829 -0.526406 0.530962 0.535514 0.540035 0.544555 0.549046 0.553531 0.557995 -0.562444 0.566882 0.571293 0.575703 0.580077 0.58445 0.588796 0.59313 -0.597449 0.601743 0.606034 0.610289 0.614543 0.618765 0.622979 0.627171 -0.631344 0.635506 0.639637 0.643769 0.647859 0.651947 0.656006 0.660052 -0.66408 0.668082 0.672079 0.676037 0.679995 0.683915 0.687828 0.691716 -0.695583 0.699438 0.70326 0.707081 0.710857 0.714632 0.718374 0.722101 -0.725809 0.729489 0.733162 0.736794 0.740426 0.744016 0.747599 0.751154 -0.754687 0.758207 0.76169 0.765174 0.768607 0.77204 0.775437 0.778819 -0.782179 0.78551 0.788833 0.792112 0.795391 0.798625 0.801851 0.805047 -0.80822 0.811378 0.814498 0.817617 0.820683 0.823749 0.826776 0.829788 -0.832775 0.835732 0.838681 0.841582 0.844484 0.847337 0.850183 0.852996 -0.855786 0.858559 0.861292 0.864024 0.8667 0.869377 0.872011 0.87463 -0.877223 0.879784 0.882336 0.884839 0.887342 0.889794 0.892238 0.894648 -0.897033 0.899401 0.901727 0.904052 0.906319 0.908586 0.910808 0.913015 -0.915195 0.917341 0.919477 0.921563 0.923649 0.925681 0.927707 0.929695 -0.931659 0.933603 0.935505 0.937406 0.939246 0.941087 0.942881 0.94466 -0.946409 0.948126 0.949831 0.951484 0.953138 0.954735 0.956326 0.957878 -0.959406 0.960913 0.962377 0.963839 0.96524 0.966641 0.967993 0.96933 -0.970637 0.97191 0.973171 0.97438 0.975589 0.97674 0.977885 0.97899 -0.98007 0.981129 0.982144 0.983156 0.984107 0.985058 0.985959 0.986845 -0.987699 0.98852 0.989328 0.990083 0.990839 0.991535 0.992225 0.992874 -0.993499 0.994101 0.99466 0.995215 0.995709 0.996203 0.996645 0.997073 -0.997469 0.997831 0.99818 0.998476 0.998773 0.999009 0.999239 0.999428 -0.999592 0.999734 0.999833 0.999927 0.99996 0.999993 0.999974 0.999941 -0.999875 0.999776 0.999663 0.999499 0.999334 0.999108 0.998877 0.998604 -0.998308 0.997987 0.997625 0.997258 0.99683 0.996402 0.995921 0.995428 -0.994901 0.994341 0.993768 0.993143 0.992518 0.991832 0.991141 0.990408 -0.989653 0.988873 0.988052 0.987226 0.98634 0.985454 0.984516 0.983566 -0.982581 0.981566 0.980535 0.979455 0.978374 0.977233 0.976088 0.974901 -0.973692 0.972458 0.971185 0.969906 0.968569 0.967232 0.965843 0.964442 -0.963008 0.961543 0.960064 0.958536 0.957008 0.95542 0.953829 0.952196 -0.950542 0.948865 0.947148 0.945426 0.943647 0.941868 0.940039 0.938198 -0.936325 0.934422 0.932504 0.93054 0.928576 0.926553 0.924528 0.922462 -0.920376 0.918266 0.916119 0.913966 0.911759 0.909552 0.907295 0.905028 -0.902729 0.900403 0.898061 0.895675 0.89329 0.890847 0.888402 0.885917 -0.883414 0.880887 0.878326 0.875758 0.873139 0.87052 0.867853 0.865177 -0.862469 0.859736 0.856987 0.854198 0.851408 0.848563 0.845717 0.842832 -0.83993 0.837006 0.834049 0.831085 0.828073 0.825062 0.822004 0.818938 -0.815842 0.812722 0.809587 0.806414 0.80324 0.800015 0.796788 0.793525 -0.790246 0.786945 0.783615 0.780277 0.776895 0.773512 0.770087 0.766653 -0.763192 0.759708 0.75621 0.752677 0.749143 0.74556 0.741977 0.738359 -0.734728 0.731075 0.727395 0.723708 0.71998 0.716252 0.712484 0.708709 -0.704907 0.701085 0.69725 0.693383 0.689515 0.685602 0.681688 0.677743 -0.673785 0.669807 0.665805 0.661796 0.65775 0.653704 0.649621 0.645532 -0.641418 0.637287 0.633143 0.62897 0.624796 0.620581 0.616367 0.612123 -0.607868 0.603595 0.5993 0.594999 0.590665 0.58633 0.581962 0.57759 -0.573194 0.568784 0.564361 0.559913 0.555464 0.55098 0.546495 0.541984 -0.537463 0.532926 0.528371 0.523809 0.519218 0.514628 0.510007 0.505383 -0.500739 0.496081 0.491413 0.486723 0.482032 0.47731 0.472588 0.467843 -0.46309; -#A 7000 0.458323 0.45354 0.448751 0.443938 0.439125 0.434287 0.429445 -0.424586 0.419716 0.414837 0.409939 0.405041 0.400117 0.395192 0.390249 -0.385298 0.380336 0.375361 0.370381 0.365381 0.360381 0.35536 0.350336 -0.345298 0.340252 0.335198 0.330129 0.325059 0.319969 0.314879 0.309773 -0.304662 0.299542 0.294411 0.289276 0.284126 0.278976 0.27381 0.268641 -0.263462 0.258276 0.253084 0.247882 0.242678 0.237459 0.232241 0.22701 -0.221776 0.216535 0.211287 0.206036 0.200774 0.195512 0.190238 0.184963 -0.17968 0.174393 0.169103 0.163804 0.158505 0.153197 0.147888 0.142572 -0.137253 0.131931 0.126603 0.121274 0.115939 0.110604 0.105262 0.0999191 -0.0945724 0.0892233 0.0838723 0.0785176 0.0731625 0.067803 0.0624434 -0.0570807 0.0517171 0.0463518 0.040985 0.0356177 0.0302484 0.0248791 -0.0195084 0.0141375 0.00876614 0.00339446 -0.00197721 -0.00734889 -0.0127205 --0.0180914 -0.0234622 -0.0288318 -0.0342011 -0.0395691 -0.0449359 -0.050302 --0.0556655 -0.0610291 -0.0663889 -0.0717484 -0.0771048 -0.0824595 -0.0878121 --0.0931611 -0.0985095 -0.103852 -0.109195 -0.114531 -0.119867 -0.125198 --0.130525 -0.13585 -0.141169 -0.146487 -0.151796 -0.157105 -0.162406 --0.167705 -0.172999 -0.178285 -0.183571 -0.188846 -0.194121 -0.199385 --0.204647 -0.209902 -0.215151 -0.220395 -0.225629 -0.230863 -0.236083 --0.241301 -0.246509 -0.251712 -0.256908 -0.262094 -0.267278 -0.272446 --0.277614 -0.282767 -0.287917 -0.293057 -0.298188 -0.303314 -0.308424 --0.313535 -0.318626 -0.323716 -0.328792 -0.333861 -0.33892 -0.343967 --0.349011 -0.354034 -0.359058 -0.364062 -0.369062 -0.374048 -0.379024 --0.383992 -0.388942 -0.393893 -0.398817 -0.403742 -0.408647 -0.413545 --0.418431 -0.423301 -0.428167 -0.433009 -0.437851 -0.442669 -0.447481 --0.452278 -0.457061 -0.461836 -0.466589 -0.471342 -0.476064 -0.480786 --0.485486 -0.490176 -0.494852 -0.49951 -0.504163 -0.508787 -0.513412 --0.518007 -0.522598 -0.527169 -0.531724 -0.53627 -0.540791 -0.545312 --0.549796 -0.554281 -0.55874 -0.563188 -0.56762 -0.572031 -0.576436 --0.580809 -0.585182 -0.589521 -0.593856 -0.598167 -0.602462 -0.606746 --0.611001 -0.615255 -0.61947 -0.623684 -0.627869 -0.632042 -0.636197 --0.640329 -0.644454 -0.648543 -0.652632 -0.656683 -0.660729 -0.66475 --0.668752 -0.672741 -0.676699 -0.680657 -0.68457 -0.688483 -0.692363 --0.696231 -0.700078 -0.703899 -0.707714 -0.711489 -0.715264 -0.718997 --0.722725 -0.726425 -0.730105 -0.73377 -0.737402 -0.741033 -0.744616 --0.748199 -0.751745 -0.755279 -0.75879 -0.762273 -0.765749 -0.769182 --0.772615 -0.776003 -0.779385 -0.782737 -0.786068 -0.789382 -0.792661 --0.795938 -0.799164 -0.802391 -0.805578 -0.808751 -0.8119 -0.81502 --0.81813 -0.821196 -0.824262 -0.82728 -0.830292 -0.83327 -0.836227 --0.839166 -0.842068 -0.844967 -0.847813 -0.850659 -0.853463 -0.856253 --0.859016 -0.861749 -0.864472 -0.867148 -0.869825 -0.872449 -0.875068 --0.877652 -0.880213 -0.882755 -0.885258 -0.887758 -0.890203 -0.892647 --0.895047 -0.897433 -0.89979 -0.902117 -0.904431 -0.906698 -0.908965 --0.911177 -0.913384 -0.915554 -0.9177 -0.919826 -0.921912 -0.923995 --0.92602 -0.928046 -0.930023 -0.931987 -0.933921 -0.935824 -0.937714 --0.939554 -0.941395 -0.943179 -0.944957 -0.946697 -0.948413 -0.950107 --0.951761 -0.95341 -0.955001 -0.956592 -0.958134 -0.959662 -0.961158 --0.962622 -0.964073 -0.965474 -0.966875 -0.968217 -0.969554 -0.97085 --0.972123 -0.973374 -0.974583 -0.975787 -0.976932 -0.978077 -0.979171 --0.980251 -0.981298 -0.982314 -0.983315 -0.984266 -0.985217 -0.986107 --0.986993 -0.987836 -0.988657 -0.989454 -0.99021 -0.99096 -0.99165 --0.99234 -0.992978 -0.993603 -0.994194 -0.994754 -0.995298 -0.995792 --0.996285 -0.996717 -0.997145 -0.99753 -0.997892 -0.99823 -0.998526 --0.998817 -0.999047 -0.999278 -0.999455 -0.99962 -0.99975 -0.999849 --0.999933 -0.999965 -0.999998 -0.999969 -0.999936 -0.999859 -0.99976 --0.999635 -0.999471 -0.999299 -0.999069 -0.998838 -0.998554 -0.998257 --0.997926 -0.997563 -0.997185 -0.996757 -0.996329 -0.995838 -0.995344 --0.994806 -0.994246 -0.993661 -0.993037 -0.992405 -0.991714 -0.991024 --0.99028 -0.989524 -0.988734 -0.987913 -0.987076 -0.98619 -0.985304 --0.984355 -0.983404 -0.982409 -0.981393 -0.980352 -0.979271 -0.978183 --0.977039 -0.975894 -0.974695 -0.973486 -0.972242 -0.970969 -0.969679 --0.968342 -0.967004 -0.965605 -0.964204 -0.962759 -0.961294 -0.959804 --0.958276 -0.95674 -0.95515 -0.953559 -0.951915 -0.950261 -0.948573 --0.946856 -0.945123 -0.943345 -0.941566 -0.939726 -0.937885 -0.936001 --0.934099 -0.932171 -0.930206 -0.928234 -0.926209 -0.924184 -0.922107 --0.920021 -0.917901 -0.915754 -0.91359 -0.911383 -0.909176 -0.90691 --0.904643 -0.902333 -0.900007 -0.897655 -0.895269 -0.892875 -0.890431 --0.887986 -0.885491 -0.882988 -0.880452 -0.87789 -0.875312 -0.872693 --0.870074 -0.867398 -0.864721 -0.862004 -0.859271 -0.856513 -0.853723 --0.850924 -0.848078 -0.845232 -0.842338 -0.839437 -0.836503 -0.833546 --0.830572 -0.827561 -0.824548 -0.821482 -0.818416 -0.815311 -0.812191 --0.809047 -0.805873 -0.802692 -0.799465 -0.796239 -0.792967 -0.789688 --0.786378 -0.783047 -0.779701 -0.776318 -0.772935 -0.769502 -0.766069 --0.762598 -0.759115 -0.755608 -0.752075 -0.748533 -0.74495 -0.741367 --0.737741 -0.734109 -0.730448 -0.726768 -0.723073 -0.719345 -0.715616 --0.711841 -0.708065 -0.704256 -0.700434 -0.696591 -0.692723 -0.688848 --0.684935 -0.681021 -0.677068 -0.67311 -0.669125 -0.665123 -0.661107 --0.657061 -0.653013 -0.648924 -0.644835 -0.640714 -0.636583 -0.632432 --0.628258 -0.624077 -0.619863 -0.615648 -0.611397 -0.607142 -0.602863 --0.598568 -0.59426 -0.589926 -0.58559 -0.581217 -0.576844 -0.572442 --0.568031 -0.563603 -0.559155 -0.5547 -0.550215 -0.54573 -0.541213 --0.536692 -0.532149 -0.527593 -0.523026 -0.518435 -0.513843 -0.509218 --0.504594 -0.499944 -0.495286 -0.490613 -0.485923 -0.481227 -0.476505 --0.471783 -0.467032 -0.462279 -0.457507 -0.452724 -0.44793 -0.443117 --0.438303 -0.433461 -0.428619 -0.423755 -0.418885 -0.414001 -0.409104 --0.404201 -0.399277 -0.394352 -0.389404 -0.384454 -0.379488 -0.374512 --0.369528 -0.364528 -0.359527 -0.354503 -0.349479 -0.344438 -0.339391 --0.334333 -0.329265 -0.324191 -0.319101 -0.314011 -0.308901 -0.30379 --0.298666 -0.293536 -0.288398 -0.283248 -0.278096 -0.272928 -0.26776 --0.262577 -0.257392 -0.252197 -0.246994 -0.241788 -0.236569 -0.231351 --0.226118 -0.220884 -0.21564 -0.210392 -0.205138 -0.199876 -0.194613 --0.189338 -0.184063 -0.178779 -0.173492 -0.168199 -0.162901 -0.1576 --0.152291 -0.146983 -0.141665 -0.136346 -0.131022 -0.125695 -0.120364 --0.115029 -0.109693 -0.10435 -0.0990078 -0.09366 -0.0883109 -0.0829589 --0.0776042 -0.0722483 -0.0668888 -0.0615292 -0.0561658 -0.0508022 -0.0454364 --0.0400696 -0.0347018 -0.0293326 -0.0239632 -0.0185923 -0.0132214 -0.00784991 --0.00247823 0.00289345 0.00826512 0.0136366 0.0190075 0.0243783 0.0297476 -0.0351169 0.0404845 0.0458513 0.0512168 0.0565804 0.0619435 0.0673031 -0.0726626 0.0780181 0.0833728 0.0887244 0.0940735 0.0994208 0.104763 -0.110106 0.115441 0.120777 0.126106 0.131434 0.136757 0.142076 0.147393 -0.152702 0.15801 0.16331 0.168608 0.1739 0.179187 0.184471 0.189746 -0.195021 0.200283 0.205545 0.210797 0.216046 0.221288 0.226522 0.231754 -0.236973 0.242191 0.247397 0.252599 0.257792 0.262978 0.268159 0.273328 -0.278496 0.283646 0.288796 0.293932 0.299063 0.304185 0.309296 0.314404 -0.319494 0.324585 0.329656 0.334725 0.339781 0.344828 0.349868 0.354891 -0.359915 0.364915 0.369915 0.374897 0.379872 0.384837 0.389787 0.394733 -0.399657 0.404581 0.409483 0.41438 0.419262 0.424132 0.428993 0.433835 -0.438677 0.443489 0.448302 0.453094 0.457877 0.462647 0.4674 0.472148 -0.47687 0.481591 0.486286 0.490976 0.495647 0.500304 0.504952 0.509576 -0.5142 0.51879 0.523381 0.527946 0.532502 0.537042 0.541562 0.546077 -0.550561 0.555046 0.559499 0.563947 0.568372 0.572783 0.577182 0.581555 -0.585927 0.590261 0.594595 0.5989 0.603195 0.607471 0.611726 0.615974 -0.620189 0.624403 0.628581 0.632754 0.636902 0.641033 0.645151 0.64924 -0.653328 0.657373 0.661419 0.665433 0.669435 0.673416 0.677374 0.681324 -0.685237 0.68915 0.693023 0.69689 0.70073 0.704551 0.708358 0.712132 -0.715905 0.719633 0.723361 0.727053 0.730733 0.73439 0.738021 0.741644 -0.745227 0.74881 0.752348 0.755881 0.759384 0.762868 0.766334 0.769767 -0.773198 0.77658 0.779962 0.783305 0.786636 0.789941 0.79322 0.796488 -0.799715 0.802941 0.806119 0.809292 0.812432 0.815552 0.818653 0.821719 -0.824782 0.827794 0.830805 0.833774 0.836731 0.839661 0.842563 0.845453 -0.848299 0.851145 0.853939 0.856728 0.859482 0.862215 0.864928 0.867605 -0.870277 0.872896 0.875515 0.878088 0.88065 0.883182 0.885685 0.888175 -0.89062 0.893064 0.895454 0.89784 0.900187 0.902513 0.904818 0.907085 -0.909347 0.911554 0.913761 0.91592 0.918067 0.920182 0.922268 0.924341 -0.926366 0.928391 0.930358 0.932322 0.934246 0.936148 0.938028 0.939868 -0.941704 0.943482 0.945261 0.946989 0.948705 0.950389 0.952043 0.953682 -0.955273 0.956863 0.958394 0.959922 0.961408 0.962872 0.964312 0.965713 -0.967108 0.968445 0.969782 0.971067 0.972341 0.97358 0.974789 0.975982 -0.977127 0.978272 0.979355 0.980435 0.981472 0.982487 0.983478 0.984428 -0.985372 0.986258 0.987144 0.987976 0.988797 0.989583 0.990338 0.991078 -0.991768 0.992458 0.993085 0.99371 0.99429 0.994849 0.995382 0.995876 -0.996362 0.99679 0.997218 0.997591 0.997954 0.99828 0.998577 0.998856 -0.999086 0.999317 0.999483 0.999648 0.999767 0.999866 0.999938 0.999971 -0.999996 0.999963 0.99993 0.999842 0.999743 0.999608 0.999443 0.999261 -0.99903 0.998799 0.998504 0.998207 0.997865 0.997503 0.997113 0.996685 -0.996248 0.995755 0.995261 0.994712 0.994152 0.993556 0.992932 0.992289 -0.991598 0.990908 0.990153 0.989397 0.988596 0.987775 0.986927 0.986041 -0.985146 0.984195; -#A 8000 0.983244 0.982238 0.981222 0.98017 0.97909 0.977991 0.976846 -0.975701 0.974492 0.973283 0.972028 0.970755 0.969454 0.968117 0.96677 -0.96537 0.963969 0.962513 0.961048 0.959547 0.95802 0.956473 0.954882 -0.953291 0.951637 0.949984 0.948285 0.946568 0.944825 0.943046 0.941258 -0.939417 0.937576 0.935682 0.933779 0.931841 0.929877 0.927894 0.925869 -0.923843 0.921757 0.919671 0.91754 0.915394 0.91322 0.911013 0.908796 -0.906529 0.904262 0.901943 0.899617 0.897255 0.894869 0.892465 0.890021 -0.887574 0.885071 0.882568 0.880022 0.877461 0.874873 0.872254 0.869625 -0.866949 0.864272 0.861546 0.858812 0.856045 0.853255 0.850447 0.847601 -0.844753 0.841852 0.83895 0.836007 0.83305 0.830067 0.827056 0.824034 -0.820968 0.817902 0.814788 0.811668 0.808515 0.805342 0.802151 0.798924 -0.795696 0.792417 0.789138 0.78582 0.782489 0.779134 0.775752 0.77236 -0.768927 0.765493 0.762014 0.758531 0.755016 0.751483 0.747932 0.744349 -0.740764 0.737132 0.7335 0.729832 0.726151 0.722448 0.71872 0.714983 -0.711208 0.707433 0.703616 0.699794 0.695943 0.692076 0.688192 0.684279 -0.680363 0.676405 0.672447 0.668455 0.664453 0.660429 0.656383 0.652328 -0.648239 0.64415 0.640022 0.635891 0.631733 0.627559 0.623372 0.619157 -0.61494 0.610685 0.60643 0.602144 0.597849 0.593534 0.5892 0.584858 -0.580485 0.576112 0.571704 0.567293 0.562858 0.55841 0.553949 0.549464 -0.544977 0.540456 0.535936 0.531387 0.526831 0.522258 0.517667 0.513069 -0.508445 0.50382 0.499165 0.494507 0.489828 0.485138 0.480436 0.475715 -0.47099 0.466237 0.461484 0.456707 0.451924 0.447125 0.442312 0.437492 -0.432651 0.427809 0.42294 0.41807 0.413182 0.408284 0.403377 0.398453 -0.393526 0.388576 0.383626 0.378655 0.37368 0.368691 0.363692 0.358686 -0.353662 0.348639 0.343593 0.338547 0.333485 0.328416 0.323339 0.318249 -0.313157 0.308046 0.302935 0.297808 0.292677 0.287536 0.282386 0.277231 -0.272063 0.266895 0.26171 0.256524 0.251326 0.246124 0.240915 0.235696 -0.230476 0.225242 0.220008 0.214762 0.209513 0.204258 0.198996 0.19373 -0.188455 0.183181 0.177894 0.172607 0.167312 0.162014 0.156712 0.151403 -0.146093 0.140775 0.135456 0.13013 0.124803 0.119472 0.114136 0.108799 -0.103456 0.0981138 0.0927649 0.0874158 0.0820629 0.0767082 0.0713515 -0.0659919 0.0606319 0.0552683 0.0499047 0.0445384 0.0391715 0.0338033 -0.0284341 0.0230644 0.0176935 0.0123227 0.00695101 0.00157934 -0.00379234 --0.00916401 -0.0145353 -0.0199062 -0.0252769 -0.0306461 -0.0360154 --0.0413825 -0.0467494 -0.0521143 -0.0574779 -0.0628404 -0.0681999 -0.0735595 --0.0789142 -0.0842689 -0.0896195 -0.0949686 -0.100315 -0.105657 -0.110999 --0.116334 -0.12167 -0.126998 -0.132325 -0.137647 -0.142966 -0.148281 --0.15359 -0.158899 -0.164197 -0.169495 -0.174785 -0.180072 -0.185354 --0.190629 -0.195902 -0.201164 -0.206426 -0.211676 -0.216924 -0.222164 --0.227398 -0.232627 -0.237846 -0.243064 -0.248267 -0.25347 -0.25866 --0.263846 -0.269024 -0.274192 -0.279358 -0.284508 -0.289658 -0.294791 --0.299922 -0.305041 -0.310151 -0.315256 -0.320346 -0.325436 -0.330505 --0.335573 -0.340626 -0.345672 -0.350708 -0.355732 -0.360751 -0.365751 --0.370751 -0.375729 -0.380705 -0.385665 -0.390615 -0.395557 -0.400481 --0.405405 -0.410302 -0.4152 -0.420076 -0.424946 -0.429803 -0.434645 --0.439482 -0.444295 -0.449108 -0.453894 -0.458677 -0.463442 -0.468195 --0.472938 -0.47766 -0.48238 -0.48707 -0.49176 -0.496426 -0.501084 -0.505725 --0.51035 -0.514968 -0.519558 -0.524149 -0.528708 -0.533264 -0.537798 --0.542319 -0.546827 -0.551312 -0.555795 -0.560243 -0.564691 -0.56911 --0.573521 -0.577914 -0.582287 -0.586652 -0.590986 -0.59532 -0.599619 --0.603913 -0.608183 -0.612438 -0.616679 -0.620894 -0.625106 -0.629279 --0.633452 -0.637593 -0.641725 -0.645835 -0.649924 -0.654005 -0.658051 --0.662097 -0.666102 -0.670105 -0.674079 -0.678037 -0.681979 -0.685892 --0.689802 -0.69367 -0.697537 -0.701369 -0.705191 -0.708989 -0.712764 --0.716529 -0.720257 -0.723985 -0.727668 -0.731348 -0.734997 -0.738629 --0.742243 -0.745826 -0.749406 -0.752939 -0.756473 -0.759967 -0.763451 --0.766909 -0.770342 -0.773764 -0.777146 -0.780528 -0.783862 -0.787193 --0.79049 -0.793769 -0.797028 -0.800255 -0.803477 -0.80665 -0.809823 --0.812954 -0.816074 -0.819166 -0.822232 -0.825286 -0.828298 -0.831309 --0.834269 -0.837226 -0.840147 -0.843048 -0.845929 -0.848775 -0.851616 --0.854405 -0.857195 -0.859939 -0.862673 -0.865376 -0.868053 -0.870715 --0.873334 -0.875953 -0.878517 -0.881078 -0.883601 -0.886104 -0.888584 --0.891029 -0.893467 -0.895853 -0.898239 -0.900576 -0.902903 -0.905197 --0.907464 -0.909716 -0.911923 -0.91413 -0.916279 -0.918426 -0.920531 --0.922617 -0.924679 -0.926705 -0.928723 -0.930687 -0.932651 -0.934564 --0.936467 -0.938336 -0.940176 -0.942001 -0.94378 -0.945558 -0.947276 --0.948993 -0.950666 -0.95232 -0.953948 -0.955539 -0.957122 -0.95865 --0.960178 -0.961653 -0.963117 -0.964547 -0.965948 -0.967332 -0.968669 --0.970006 -0.97128 -0.972554 -0.973782 -0.974991 -0.976174 -0.977319 --0.978455 -0.979536 -0.980616 -0.981642 -0.982657 -0.983637 -0.984587 --0.985521 -0.986406 -0.987292 -0.988114 -0.988935 -0.989709 -0.990465 --0.991193 -0.991883 -0.992565 -0.993189 -0.993814 -0.994383 -0.994943 --0.995465 -0.995959 -0.996434 -0.996862 -0.99729 -0.997652 -0.998014 --0.99833 -0.998626 -0.998895 -0.999125 -0.999346 -0.999511 -0.999676 --0.999784 -0.999883 -0.999944 -0.999977 -0.99999 -0.999957 -0.999924 --0.999825 -0.999726 -0.99958 -0.999415 -0.999221 -0.998991 -0.99875 --0.998453 -0.998157 -0.997803 -0.997441 -0.99704 -0.996612 -0.996165 --0.995671 -0.995176 -0.994617 -0.994057 -0.99345 -0.992825 -0.992171 --0.991481 -0.99078 -0.990025 -0.989269 -0.988456 -0.987635 -0.986776 --0.98589 -0.984984 -0.984034 -0.983081 -0.982065 -0.98105 -0.979986 --0.978906 -0.977797 -0.976652 -0.975496 -0.974287 -0.973078 -0.971812 --0.970539 -0.969227 -0.96789 -0.966532 -0.965131 -0.963728 -0.962264 --0.960799 -0.959288 -0.95776 -0.956203 -0.954612 -0.95301 -0.951356 --0.949703 -0.947993 -0.946277 -0.944522 -0.942744 -0.940945 -0.939104 --0.937261 -0.935358 -0.933456 -0.931507 -0.929543 -0.92755 -0.925525 --0.923488 -0.921402 -0.919316 -0.917175 -0.915028 -0.912844 -0.910637 --0.908411 -0.906144 -0.903874 -0.901547 -0.899221 -0.896849 -0.894463 --0.892049 -0.889605 -0.887149 -0.884645 -0.882142 -0.879586 -0.877025 --0.874427 -0.871808 -0.86917 -0.866493 -0.863814 -0.86108 -0.858347 --0.85557 -0.85278 -0.849963 -0.847117 -0.844259 -0.841358 -0.838456 --0.835504 -0.832547 -0.829555 -0.826543 -0.823512 -0.820446 -0.817376 --0.814256 -0.811136 -0.807975 -0.804801 -0.801601 -0.798375 -0.795137 --0.791859 -0.78858 -0.785253 -0.781922 -0.778558 -0.775176 -0.771775 --0.768342 -0.764905 -0.761421 -0.757937 -0.754414 -0.750881 -0.747322 --0.743739 -0.740145 -0.736513 -0.732882 -0.729204 -0.725524 -0.721813 --0.718085 -0.71434 -0.710565 -0.706786 -0.702964 -0.699143 -0.695284 --0.691417 -0.687525 -0.683612 -0.679689 -0.675731 -0.671773 -0.667773 --0.663771 -0.659739 -0.655693 -0.651631 -0.647542 -0.64345 -0.639318 --0.635187 -0.631021 -0.626848 -0.622653 -0.618439 -0.614215 -0.60996 --0.605705 -0.601411 -0.597117 -0.592795 -0.588461 -0.584112 -0.579739 --0.575363 -0.570952 -0.566541 -0.5621 -0.557652 -0.553184 -0.548699 --0.544206 -0.539685 -0.535164 -0.53061 -0.526054 -0.521475 -0.516884 --0.51228 -0.507656 -0.503028 -0.49837 -0.493713 -0.489028 -0.484338 --0.479631 -0.474909 -0.470179 -0.465426 -0.460673 -0.455891 -0.451108 --0.446304 -0.441491 -0.436667 -0.431825 -0.42698 -0.422109 -0.417239 --0.412347 -0.407449 -0.402537 -0.397613 -0.392682 -0.387731 -0.382781 --0.377806 -0.372831 -0.367839 -0.362839 -0.357829 -0.352805 -0.347779 --0.342732 -0.337686 -0.332621 -0.327552 -0.322471 -0.317381 -0.312285 --0.307174 -0.302063 -0.296933 -0.291802 -0.286657 -0.281508 -0.27635 --0.271182 -0.266011 -0.260825 -0.255639 -0.250439 -0.245236 -0.240025 --0.234806 -0.229583 -0.224349 -0.219115 -0.213867 -0.208618 -0.20336 --0.198098 -0.192831 -0.187556 -0.182279 -0.176992 -0.171705 -0.166409 --0.16111 -0.155806 -0.150497 -0.145186 -0.139867 -0.134549 -0.129222 -; -#X coords 0 1 8819 -1 300 100 1; -#X restore 358 381 graph; -#X obj 82 728 tabwrite~ sine-1; -#X obj 96 756 tabwrite~ sine-2; -#X obj 248 238 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 -1; -#X msg 248 253 \; pd dsp \$1; -#X obj 185 399 tgl 15 0 empty empty graph 0 -6 0 8 -262144 -1 -1 1 -1; -#X msg 185 414 \; metro \$1; -#X obj 268 506 bng 15 250 50 0 empty empty graph 0 -6 0 8 -262144 -1 --1; -#X floatatom 170 460 5 0 0 0 - - -; -#X obj 170 474 mtof; -#X floatatom 188 690 5 0 0 0 - - -; -#X obj 221 713 / 64; -#X floatatom 233 745 5 0 0 0 - - -; -#N canvas 0 0 450 300 graph2 0; -#X array score 8820 float 1; -#A 0 0.438094 0.141779 0.0824044 0.0618505 0.0561296 0.0623698 0.0988021 -0.341186 0.087642 0.0391706 0.0256266 0.0199546 0.0175753 0.0173033 -0.0193058 0.0258883 0.0550873 0.206265 0.0345814 0.0181811 0.0130089 -0.0108634 0.0101729 0.0106202 0.0126238 0.0184985 0.0557492 0.139727 -0.0198486 0.0116546 0.00881971 0.00768469 0.00747754 0.00812176 0.0101377 -0.0161939 0.114474 0.0480225 0.0135807 0.00866756 0.0068585 0.00618433 -0.00621255 0.00698724 0.00914576 0.0161779 0.118073 0.0252478 0.0103867 -0.0070867 0.00582783 0.00541827 0.00560583 0.00652297 0.00898176 0.018192 -0.111213 0.0173375 0.00863059 0.00622654 0.00530144 0.00507253 0.00540131 -0.00650872 0.00948843 0.0236469 0.106404 0.0136003 0.007686 0.00581943 -0.00511737 0.00503483 0.00551928 0.00690336 0.0107625 0.0423041 0.0892688 -0.0117464 0.00729592 0.00576753 0.00523058 0.00529138 0.00597835 0.00778939 -0.0131889 0.104283 0.0326117 0.0110298 0.00738869 0.006078 0.00568209 -0.00591495 0.00690218 0.00941745 0.0177493 0.125778 0.0248148 0.0112689 -0.00804969 0.00688022 0.00663557 0.00712222 0.0086139 0.0124027 0.0271648 -0.143412 0.0235951 0.0127219 0.00963648 0.00856779 0.00855167 0.00950704 -0.0119938 0.0184456 0.0513868 0.167258 0.0270748 0.0166088 0.0133695 -0.0124586 0.0129984 0.0151498 0.0202387 0.0340128 0.165141 0.157521 -0.0416773 0.0291957 0.0257374 0.0261551 0.0299701 0.0389428 0.0594591 -0.11928 0.473708 0.318043 0.248033 0.528526 0.292467 0.119172 0.0792814 -0.0674951 0.0718823 0.10938 0.362242 0.0978064 0.0429756 0.0277971 -0.0214479 0.0187438 0.018324 0.0203025 0.026997 0.0562448 0.212606 -0.0365943 0.0190367 0.0135481 0.0112672 0.0105125 0.0109347 0.0129425 -0.0188387 0.0546079 0.144518 0.0205971 0.012002 0.00904665 0.00785873 -0.00762587 0.00825869 0.0102696 0.0162854 0.113228 0.0519538 0.0139381 -0.00884269 0.00697393 0.00627218 0.00628543 0.00704988 0.00919202 0.0161124 -0.117643 0.0262347 0.0105783 0.00718226 0.00588917 0.00546235 0.00563835 -0.00654284 0.00897091 0.0179406 0.111763 0.0177669 0.00873668 0.00627693 -0.00533005 0.00508838 0.0054057 0.00649534 0.00942281 0.0229913 0.108093 -0.0138141 0.00773918 0.00583834 0.00512108 0.00502728 0.00549801 0.00685548 -0.0106255 0.0391971 0.0914894 0.0118468 0.00730887 0.00575868 0.00520982 -0.00525856 0.00592654 0.00769537 0.0129343 0.102627 0.0338744 0.0110507 -0.00736171 0.00603701 0.00562998 0.00584694 0.00680443 0.00924758 0.0172589 -0.124505 0.0251125 0.0112095 0.00796842 0.00678991 0.00653166 0.00699266 -0.00843144 0.0120833 0.0260878 0.141423 0.0235277 0.0125393 0.00945411 -0.0083778 0.00833712 0.00923974 0.0116129 0.0177545 0.0482392 0.165561 -0.0265466 0.0161272 0.0129131 0.0119802 0.0124451 0.0144366 0.0191763 -0.0319528 0.143342 0.166257 0.0394954 0.0273098 0.023816 0.0239255 -0.0270481 0.0345652 0.0516645 0.100987 0.425921 0.26449 0.16862 0.210628 -0.530316 0.22012 0.110867 0.0848931 0.0851156 0.123205 0.386729 0.110169 -0.0475448 0.0303604 0.0231858 0.0200868 0.019485 0.0214268 0.0282412 -0.0576204 0.219459 0.0388143 0.0199724 0.0141351 0.0117055 0.0108801 -0.0112745 0.013287 0.0192109 0.0537307 0.149345 0.021399 0.0123719 -0.0092879 0.00804358 0.00778341 0.00840437 0.0104111 0.0163912 0.111433 -0.0567166 0.0143151 0.00902689 0.0070954 0.00636483 0.00636265 0.00711699 -0.0092438 0.0160595 0.117432 0.027304 0.0107794 0.00728264 0.00595388 -0.00550922 0.00567349 0.00656561 0.00896429 0.017708 0.112522 0.0182226 -0.00884805 0.00633028 0.00536089 0.00510624 0.0054122 0.0064846 0.00936197 -0.022388 0.108897 0.0140402 0.00779598 0.00585957 0.0051267 0.00502162 -0.00547891 0.00681068 0.0104954 0.0366686 0.0933889 0.0119545 0.00732494 -0.00575215 0.0051912 0.00522802 0.00587757 0.00760581 0.012692 0.101031 -0.0353309 0.0110776 0.00733819 0.00599899 0.0055809 0.00578246 0.00671145 -0.00908581 0.0167955 0.122126 0.0254488 0.0111576 0.00789273 0.00670482 -0.00643332 0.00686981 0.00825833 0.0117808 0.0250842 0.139576 0.0234873 -0.0123699 0.00928328 0.00819955 0.00813589 0.00898938 0.0112568 0.0171111 -0.0454035 0.163991 0.0260728 0.0156855 0.0124942 0.0115423 0.0119406 -0.0137892 0.018217 0.0301057 0.126269 0.171472 0.0375941 0.0256796 -0.0221777 0.0220564 0.0246493 0.0310644 0.0456302 0.0872901 0.387165 -0.22955 0.128816 0.131519 0.213054 0.521384 0.187294 0.114951 0.104782 -0.141959 0.415701 0.125471 0.0531269 0.0334309 0.0252324 0.0216461 -0.0208171 0.0227044 0.0296467 0.059247 0.226972 0.0412751 0.0210005 -0.0147769 0.0121827 0.011279 0.0116423 0.0136597 0.0196171 0.0530767 -0.154315 0.0222584 0.0127661 0.00954449 0.00824004 0.0079509 0.0085596 -0.0105631 0.0165125 0.107867 0.0626964 0.0147136 0.00922101 0.00722341 -0.00646261 0.00644442 0.00718864 0.00930104 0.0160187 0.117354 0.0284654 -0.0109904 0.00738793 0.00602201 0.00555895 0.00571137 0.00659142 0.00896205 -0.0174934 0.113482 0.0187066 0.00896501 0.00638673 0.00539404 0.00512614 -0.00542079 0.00647644 0.00930577 0.0218315 0.108366 0.014279 0.00785648 -0.00588312 0.00513424 0.00501783 0.00546194 0.00676887 0.010372 0.0345509 -0.0951095 0.0120698 0.00734409 0.00574787 0.00517466 0.00519971 0.0058314 -0.00752063 0.0124615 0.0994575 0.0370331 0.0111106 0.00731818 0.00596393 -0.00553477 0.00572133 0.00662288 0.00893149 0.016357 0.11998 0.025826 -0.0111127 0.00782216 0.00662459 0.00634023 0.00675334 0.00809417 0.0114944 -0.0241484 0.137967 0.0234744 0.0122135 0.00912343 0.00803225 0.00794693 -0.00875441 0.0109231 0.0165102 0.0428355 0.162563 0.0256474 0.0152788 -0.0121086 0.0111402 0.0114789 0.0131993 0.0173476 0.0284431 0.112504 -0.174378 0.0359282 0.0242584 0.0207654 0.0204676 0.0226454 0.0282014 -0.0408212 0.0766578 0.354699 0.205194 0.104756 0.0963527 0.121538 0.248073 -0.502753 0.180315 0.137153 0.16881 0.450636 0.144856 0.0600993 0.0371754 -0.0276772 0.0234774 0.0223598 0.0241672 0.0312429 0.0611534 0.23506 -0.0440112 0.0221336 0.0154807 0.0127038 0.0117131 0.0120416 0.0140643 -0.0200615 0.0526242 0.159415 0.0231822 0.0131872 0.00981797 0.00844917 -0.00812912 0.00872495 0.0107259 0.0166493 0.101492 0.0706358 0.0151349 -0.00942541 0.00735823 0.00656576 0.00653101 0.0072652 0.00936419 0.0159902 -0.117454 0.0297317 0.011212 0.00749851 0.0060938 0.00561168 0.00575205 -0.00662026 0.00896408 0.0172958 0.114667 0.0192212 0.0090877 0.00644631 -0.00542953 0.00514813 0.00543152 0.00647093 0.0092542 0.0213173 0.108094 -0.0145313 0.00792079 0.00590904 0.00514371 0.00501591 0.00544708 0.00673 -0.0102551 0.0327401 0.0967647 0.012193 0.00736638 0.00574587 0.00516018 -0.00517358 0.0057879 0.00743958 0.0122421 0.0978602 0.0390555 0.0111496 -0.00730151 0.00593167 0.00549146 0.00566344 0.00653865 0.00878446 0.015942 -0.11801 0.0262484 0.0110748 0.00775669 0.00654906 0.00625212 0.00664281 -0.00793824 0.0112226 0.0232737 0.136526 0.023488 0.0120687 0.00897353 -0.00787498 0.00776927 0.0085337 0.0106102 0.0159488 0.0405046 0.160734 -0.0252679 0.0149045 0.0117529 0.0107699 0.011055 0.0126597 0.0165558 -0.0269381 0.101147 0.175868 0.0344578 0.0230088 0.0195355 0.019101 -0.0209469 0.0258179 0.0369018 0.0681788 0.32696 0.187553 0.0886244 -0.0763065 0.0857806 0.126439 0.333636 0.460576 0.200981 0.210399 0.494164 -0.170105 0.069044 0.0418392 0.0306474 0.0256578 0.0241667 0.025858 -0.0330705 0.0633904 0.243962 0.0470712 0.023389 0.0162558 0.0132749 -0.012187 0.0124762 0.0145037 0.0205472 0.0523512 0.164715 0.0241758 -0.0136373 0.0101097 0.00867199 0.00831898 0.00890135 0.0109008 0.0168031 -0.091693 0.0822961 0.015581 0.00964111 0.00750043 0.00667467 0.00662266 -0.00734676 0.00943324 0.0159736 0.117636 0.031117 0.0114446 0.00761449 -0.00616933 0.00566749 0.00579567 0.00665232 0.00897058 0.0171145 0.116093 -0.0197689 0.00921647 0.00650921 0.00546746 0.00517224 0.0054444 0.006468 -0.00920711 0.0208413 0.10806 0.0147978 0.00798898 0.00593736 0.00515513 -0.00501586 0.00543431 0.00669402 0.0101443 0.0311672 0.0984162 0.0123241 -0.00739178 0.0057461 0.00514771 0.00514958 0.00574704 0.00736261 0.0120334 -0.0951374 0.0415148 0.0111947 0.00728819 0.00590219 0.00545089 0.00560864 -0.00645845 0.00864417 0.0155488 0.116256 0.0267193 0.0110435 0.00769591 -0.00647791 0.0061687 0.00653795 0.00779021 0.010965 0.0224557 0.135326 -0.023529 0.0119354 0.00883317 0.00772712 0.00760207 0.00832602 0.0103162 -0.0154227 0.0383791 0.158085 0.0249296 0.0145587 0.0114239 0.010428 -0.0106647 0.0121647 0.0158326 0.0255719 0.0916269 0.176277 0.0331558 -0.0219031 0.0184558 0.0179136 0.0194896 0.0238031 0.0336463 0.0612625 -0.302694 0.174489 0.0770523 0.0633241 0.0664816 0.0858537 0.145906 -0.479795 0.398828 0.283862 0.55105 0.204241 0.0809329 0.0478075 0.0343317 -0.0282963 0.0263104 0.0278323 0.035179 0.0660086 0.253566 0.0505076 -0.0247855 0.0171129 0.0139033 0.0127062 0.0129507 0.0149829 0.0210796 -0.0522499 0.170215 0.0252479 0.0141197 0.0104215 0.00890981 0.00852144 -0.00908956 0.0110882 0.0169741 0.0788581 0.0973278 0.0160533 0.00986856 -0.00765036 0.00678962 0.0067197 0.00743374 0.00950871 0.0159696 0.117957 -0.0326396 0.0116891 0.0077363 0.00624886 0.00572656 0.00584227 0.00668756 -0.00898144 0.0169486 0.116805 0.0203525 0.00935146 0.00657546 0.00550786 -0.00519853 0.00545948 0.00646774 0.00916452 0.0204005 0.108232 0.0150795 -0.00806119 0.00596812 0.00516852 0.00501768 0.00542362 0.00666087 0.0100396 -0.0297843 0.10013 0.0124637 0.00742035 0.00574857 0.00513726 0.00512766 -0.00570871 0.00728949 0.0118347 0.0904518 0.0446038 0.011246 0.00727811 -0.00587536 0.00541294 0.00555684 0.00638223 0.00851048 0.0151762 0.114644 -0.0272445 0.0110189 0.00763981 0.00641103 0.00608975 0.00643838 0.00764944 -0.0107202 0.0216889 0.134327 0.0235966 0.0118124 0.00870149 0.00758792 -0.00744456 0.00813048 0.0100397 0.0149297 0.0364375 0.155617 0.0246308 -0.0142394 0.0111192 0.0101116 0.0103042 0.0117089 0.0151692 0.0243254 -0.0835295 0.17611 0.031996 0.020918 0.0175007 0.0168727 0.018226 0.0220786 -0.0309017 0.055523 0.281154 0.164784 0.0683546 0.0542276 0.0543684 -0.065167 0.0950192 0.18705 0.596781 0.454157 0.630533 0.25273 0.0974881 -0.0557115 0.0390202 0.0315529 0.028894 0.0301673 0.0376373 0.0690897 -0.264165 0.0543927 0.0263489 0.0180658 0.0145977 0.013277 0.0134703 -0.0155062 0.0216631 0.0523087 0.175459 0.0264058 0.0146373 0.0107552 -0.00916393 0.00873764 0.0092907 0.0112894 0.0171641 0.0715792 0.107054 -0.0165545 0.0101089 0.00780869; -#A 1000 0.00691108 0.00682241 0.00752628 0.00959059 0.0159775 0.11833 -0.0343208 0.0119459 0.00786409 0.00633249 0.00578899 0.00589204 0.0067262 -0.00899691 0.0167978 0.116189 0.0209753 0.00949309 0.00664526 0.00555085 -0.00522703 0.00547677 0.0064701 0.00912628 0.0199915 0.108616 0.0153772 -0.00813752 0.00600136 0.00518388 0.00502136 0.00541499 0.00663051 0.00994064 -0.0285564 0.101955 0.012612 0.0074521 0.00575326 0.00512876 0.0051078 -0.00567289 0.00722017 0.0116457 0.0850786 0.0486819 0.0113036 0.00727128 -0.00585118 0.00537757 0.0055079 0.0063097 0.00838289 0.0148226 0.113238 -0.0278294 0.0110006 0.00758803 0.00634813 0.00601502 0.00634387 0.0075157 -0.0104878 0.0209699 0.133597 0.0236922 0.0116996 0.00857817 0.0074569 -0.00729606 0.00794607 0.00977913 0.0144664 0.0346566 0.153258 0.024368 -0.0139438 0.0108363 0.00981809 0.00997063 0.0112882 0.0145593 0.0231859 -0.0765734 0.175424 0.0309613 0.0200364 0.0166506 0.0159533 0.0171204 -0.0205862 0.0285566 0.0506849 0.261443 0.157678 0.0615817 0.0474981 -0.0460497 0.0525768 0.0706184 0.116658 0.269638 0.729726 0.755311 0.326761 -0.122126 0.0666754 0.0451875 0.0356721 0.0320664 0.0329688 0.0405345 -0.0727241 0.275716 0.0588089 0.0281082 0.0191302 0.0153686 0.0139072 -0.0140415 0.01608 0.0223048 0.0525289 0.180191 0.0276606 0.0151943 -0.0111132 0.009436 0.00896881 0.00950573 0.0115052 0.0173733 0.0666923 -0.114733 0.0170863 0.0103629 0.00797584 0.0070394 0.00693119 0.00762485 -0.00967949 0.0159981 0.118796 0.0361886 0.0122161 0.00799835 0.00642053 -0.00585496 0.00594504 0.00676824 0.00901688 0.0166612 0.115824 0.0216408 -0.00964154 0.00671866 0.00559645 0.00525782 0.00549635 0.00647516 0.00909246 -0.0196122 0.109187 0.0156919 0.00821812 0.00603715 0.00520125 0.00502693 -0.00540842 0.0066029 0.00984731 0.0274575 0.10395 0.0127692 0.0074871 -0.00576018 0.00512223 0.00508995 0.00563948 0.00715447 0.0114657 0.0781843 -0.054536 0.0113675 0.0072676 0.00582952 0.00534466 0.00546174 0.00624083 -0.0082613 0.0144872 0.111969 0.0284818 0.0109887 0.00754059 0.00628912 -0.00594434 0.00625411 0.00738841 0.0102667 0.0202942 0.132366 0.0238156 -0.0115962 0.00846247 0.00733342 0.00715593 0.00777209 0.00953358 0.014031 -0.0330207 0.151111 0.0241401 0.0136705 0.0105733 0.00954534 0.00966109 -0.0108989 0.0139965 0.0221394 0.0705339 0.174532 0.0300337 0.0192428 -0.0158892 0.0151357 0.0161452 0.0192828 0.0265317 0.0465584 0.242855 -0.152736 0.0561672 0.0423211 0.0399835 0.0440981 0.0562236 0.0849135 -0.162733 0.442768 0.917936 0.453278 0.162677 0.0829013 0.0536618 0.0410471 -0.0360532 0.0363911 0.043998 0.0770512 0.288525 0.0638697 0.0301033 -0.0203272 0.016229 0.0146063 0.0146717 0.0167107 0.023011 0.0529061 -0.185249 0.0290222 0.0157943 0.0114978 0.0097277 0.00921639 0.00973606 -0.0117371 0.017604 0.0631457 0.121299 0.0176519 0.0106317 0.00815261 -0.00717511 0.00704637 0.00772966 0.00977545 0.0160311 0.119279 0.0382767 -0.0125002 0.00813927 0.00651308 0.0059246 0.00600145 0.00681391 0.00904163 -0.0165387 0.115701 0.0223531 0.00979725 0.0067959 0.00564481 0.00529095 -0.00551822 0.00648289 0.00906291 0.0192601 0.109972 0.0160246 0.00830309 -0.00607552 0.00522065 0.00503439 0.00540391 0.00657801 0.00975944 0.0264676 -0.105209 0.0129359 0.00752535 0.00576933 0.00511763 0.00507409 0.00560845 -0.00709233 0.0112946 0.0674204 0.0645193 0.0114379 0.00726711 0.00581038 -0.00531418 0.00541825 0.00617537 0.00814529 0.0141686 0.110897 0.0292102 -0.010983 0.00749718 0.00623375 0.00587749 0.00616891 0.0072674 0.0100565 -0.0196591 0.129975 0.0239681 0.011502 0.00835418 0.00721709 0.00702362 -0.0076077 0.00930167 0.0136209 0.0315127 0.149077 0.0239442 0.0134169 -0.0103284 0.00929133 0.00937331 0.0105377 0.0134762 0.0211769 0.0652546 -0.173436 0.0292021 0.0185263 0.0152041 0.0144043 0.0152791 0.0181349 -0.0247655 0.0429977 0.225238 0.149719 0.0517425 0.0382155 0.035364 -0.0379977 0.0467142 0.0667378 0.11651 0.276642 0.784896 0.710927 0.242173 -0.10941 0.0660394 0.0483544 0.0412119 0.0406624 0.0482043 0.0822422 -0.302668 0.0697108 0.0323815 0.0216815 0.017195 0.0153858 0.0153704 -0.0174071 0.0237914 0.0534488 0.190719 0.030505 0.016443 0.0119121 -0.0100411 0.00948195 0.00998294 0.0119862 0.0178568 0.060454 0.127361 -0.0182534 0.0109162 0.00833953 0.00731866 0.00716843 0.00784122 0.00987914 -0.0160771 0.119064 0.0406311 0.0127994 0.0082874 0.00661051 0.00599814 -0.00606138 0.00686321 0.00907106 0.0164296 0.115762 0.0231166 0.00996046 -0.00687704 0.00569597 0.00532648 0.00554247 0.00649338 0.00903771 0.0189333 -0.110955 0.0163768 0.00839263 0.00611655 0.00524212 0.00504376 0.00540144 -0.00655581 0.00967687 0.025571 0.104876 0.0131125 0.00756693 0.00578071 -0.00511497 0.00506018 0.00557974 0.0070336 0.0111317 0.0555133 0.0758726 -0.0115148 0.0072697 0.00579367 0.00528603 0.00537736 0.00611328 0.00803474 -0.0138661 0.109984 0.0300263 0.0109835 0.00745782 0.00618196 0.00581431 -0.00608799 0.00715218 0.00985646 0.0190609 0.1278 0.0241503 0.0114163 -0.00825265 0.00710737 0.0068986 0.00745234 0.00908266 0.0132345 0.030121 -0.147284 0.02378 0.0131822 0.0101002 0.00905448 0.00910521 0.0102019 -0.0129936 0.0202881 0.0606015 0.172327 0.0284536 0.017876 0.0145846 -0.0137463 0.0145052 0.017117 0.023213 0.0398992 0.208103 0.148592 0.0480667 -0.0348829 0.0317304 0.0333983 0.0399611 0.0549438 0.0905811 0.199704 -0.648894 0.736137 0.473922 0.160766 0.0858463 0.058866 0.0481473 0.0461419 -0.0534185 0.0885577 0.31835 0.0765209 0.0350081 0.0232266 0.0182868 -0.0162598 0.0161487 0.0181788 0.0246551 0.0541591 0.196545 0.0321227 -0.0171452 0.0123592 0.0103785 0.00976734 0.0102481 0.0122545 0.0181342 -0.0583663 0.133056 0.0188946 0.011218 0.00853754 0.00747069 0.00729778 -0.00795983 0.00999068 0.0161361 0.117377 0.0433109 0.0131144 0.00844297 -0.00671295 0.00607571 0.00612504 0.00691643 0.0091055 0.0163338 0.11603 -0.023937 0.0101317 0.00696233 0.00575009 0.0053645 0.00556912 0.0065066 -0.00901674 0.01863 0.112174 0.0167494 0.00848684 0.00616028 0.00526567 -0.00505505 0.00540103 0.00653628 0.00959947 0.0247551 0.10477 0.0132993 -0.00761188 0.00579432 0.00511422 0.00504821 0.00555331 0.00697823 0.0109769 -0.0488034 0.0822757 0.0115984 0.00727544 0.00577939 0.00526018 0.00533897 -0.00605437 0.0079293 0.0135785 0.109276 0.0309435 0.0109901 0.00742223 -0.00613353 0.00575462 0.00601119 0.00704258 0.00966611 0.0184976 0.125824 -0.0243641 0.011339 0.00815773 0.00700398 0.00678043 0.00730531 0.00887541 -0.0128697 0.0288322 0.145621 0.0236452 0.0129643 0.00988704 0.00883319 -0.00885503 0.00988919 0.0125454 0.0194664 0.0564797 0.170784 0.027781 -0.0172847 0.0140222 0.0131517 0.0138096 0.0162082 0.0218375 0.0371784 -0.190925 0.149516 0.0449666 0.0321242 0.0287981 0.0298072 0.0349178 -0.0466698 0.0739677 0.155349 0.558092 0.452284 0.628627 0.307583 0.122815 -0.075298 0.0579678 0.0534224 0.0600427 0.0963519 0.335694 0.0845381 -0.0380652 0.025004 0.0195298 0.0172462 0.0170206 0.0190384 0.0256158 -0.0550527 0.202842 0.0338946 0.0179084 0.012843 0.0107427 0.0100746 -0.0105333 0.0125432 0.0184371 0.0567254 0.138647 0.0195784 0.0115382 -0.00874732 0.00763174 0.00743499 0.00808608 0.0101108 0.0162089 0.115602 -0.0463995 0.0134465 0.00860663 0.0068208 0.00615758 0.00619254 0.00697357 -0.00914487 0.0162507 0.116446 0.0248199 0.0103111 0.00705185 0.00580721 -0.00540508 0.00559827 0.00652267 0.00900011 0.0183488 0.113634 0.0171442 -0.00858595 0.00620682 0.00529138 0.00506828 0.00540268 0.00651938 0.00952709 -0.0240098 0.104869 0.0134968 0.00766028 0.0058102 0.00511539 0.00503815 -0.00552912 0.00692608 0.0108297 0.0441768 0.0868227 0.0116889 0.00728424 -0.00576745 0.00523655 0.00530303 0.00599859 0.00782889 0.0133053 0.107963 -0.0319802 0.0110028 0.00739045 0.00608841 0.00569829 0.00593828 0.00693819 -0.00948472 0.0179659 0.124055 0.0246103 0.0112695 0.00806887 0.00690643 -0.00666867 0.00716616 0.00867935 0.0125253 0.0276379 0.144215 0.0235396 -0.0127626 0.00968803 0.00862625 0.00862115 0.00959721 0.0121279 0.018704 -0.0528038 0.16837 0.0271748 0.0167446 0.0135096 0.012612 0.0131815 -0.0153925 0.0206118 0.0347744 0.172859 0.152999 0.0423236 0.0298056 -0.0263834 0.0269265 0.0310084 0.0405438 0.0624102 0.126515 0.491801 -0.339382 0.291479 0.577644 0.218768 0.104723 0.0729586 0.0635669 0.0687352 -0.10618 0.35565 0.0941016 0.0416682 0.0270702 0.0209576 0.0183676 0.0180031 -0.0200003 0.0266872 0.0561394 0.209537 0.0358397 0.0187394 0.0133679 -0.0111364 0.0104062 0.0108406 0.0128547 0.0187688 0.0554393 0.144162 -0.0203094 0.0118786 0.00897001 0.00780259 0.00758057 0.00822035 0.0102398 -0.0162953 0.113585 0.0500144 0.0137966 0.00877865 0.00693426 0.00624393 -0.00626413 0.00703494 0.00918954 0.0161804 0.117058 0.0257726 0.0104995 -0.0071459 0.00586753 0.0054483 0.00562994 0.00654157 0.0089877 0.0180883 -0.114569 0.0175626 0.00869008 0.0062562 0.00531925 0.00508349 0.00540641 -0.00650513 0.00945965 0.0233266 0.105157 0.0137057 0.00771218 0.00582835 -0.00511847 0.00503 0.00550713 0.00687713 0.0106899 0.0406767 0.0905022 -0.0117864 0.00729616 0.00575787 0.00521511 0.00526945 0.00594577 0.00773316 -0.0130453 0.105042 0.0331593 0.0110214 0.00736225 0.0060464 0.00564517 -0.00586911 0.00683889 0.00931203 0.0174642 0.122465 0.0248915 0.0112078 -0.00798594 0.0068145 0.00656294 0.0070343 0.00849351 0.0121994 0.0265277 -0.142985 0.0234616 0.0125755 0.0095018 0.00843239 0.0084022 0.0093243 -0.0117385 0.0179961 0.0495131 0.165978 0.0266299 0.0162506 0.0130411 -0.0121202 0.0126117 0.0146564 0.0195125 0.0326346 0.152532 0.160237 -0.0400453 0.02783 0.0243608 0.0245652 0.0278901 0.0358271 0.0539086 -0.106299 0.440737 0.277176 0.186465 0.260681 0.532331 0.173873 0.0987334 -0.078683 0.080632 0.118889 0.378812 0.105667 0.0459716 0.0294996 0.0226134 -0.0196529 0.0191185 0.0210839 0.0278892 0.0574438 0.216801 0.0379847 -0.0196481 0.0139392 0.0115635 0.0107648 0.0111723 0.0131911 0.0191307 -0.0544392 0.149272 0.0210911 0.0122407 0.00920645 0.00798391 0.00773519 -0.00836334 0.0103784 0.0163965 0.111134 0.0543352 0.0141664 0.00895979 -0.00705376 0.00633504 0.00633996 0.00710059 0.00923944 0.0161224 0.117803 -0.0268029 0.010697 0.00724457 0.00593109 0.00549426 0.00566425 0.00656343 -0.00897964 0.0178473 0.113928 0.0180064 0.0087995 0.00630855 0.00534936 -0.0051007 0.00541221 0.00649348 0.00939699 0.0226987 0.10563 0.0139264 -0.00776766 0.0058488 0.00512346 0.00502372; -#A 2000 0.00548732 0.00683125 0.0105571 0.0378833 0.0937359 0.0118912 -0.00731114 0.00575057 0.0051958 0.00523818 0.00589588 0.00764207 0.0127981 -0.102225 0.0345124 0.0110461 0.00733765 0.00600748 0.00559515 0.00580349 -0.00674429 0.00914736 0.0169899 0.121084 0.0252093 0.0111534 0.00790848 -0.00672779 0.00646288 0.00690937 0.00831744 0.0118913 0.0254951 0.142023 -0.0234114 0.0124023 0.00932765 0.00825066 0.00819693 0.00906866 0.0113745 -0.0173365 0.0465504 0.163665 0.0261394 0.0157972 0.0126112 0.0116704 -0.0120927 0.0139893 0.0185221 0.0307211 0.133405 0.167494 0.038067 -0.0261286 0.0226433 0.0225951 0.0253456 0.032084 0.0473931 0.0913501 -0.399611 0.237705 0.138563 0.148321 0.282271 0.479743 0.154153 0.103667 -0.0979102 0.135919 0.40615 0.119908 0.0512013 0.032397 0.0402417 0.0261814 -0.0203087 0.01783 0.0175006 0.0194585 0.0259573 0.0542636 0.207762 -0.0354776 0.0184735 0.0131663 0.0109656 0.0102452 0.0106702 0.0126444 -0.018425 0.0534511 0.142661 0.0202232 0.0117892 0.00889218 0.00772985 -0.00750585 0.00813391 0.0101204 0.0160565 0.11249 0.0514979 0.0137784 -0.00874367 0.00689857 0.00620702 0.00622273 0.00698234 0.00910713 0.0159663 -0.11665 0.0260692 0.0105054 0.00713415 0.0058514 0.00542899 0.00560563 -0.00650673 0.0089234 0.017844 0.111539 0.0177124 0.00870812 0.00625753 -0.00531486 0.00507519 0.00539308 0.00648167 0.00940438 0.022935 0.108715 -0.0138142 0.007739 0.00583931 0.00512313 0.00503056 0.00550293 0.00686308 -0.0106383 0.039157 0.0915454 0.0118838 0.00733236 0.00577848 0.00522911 -0.00527947 0.00595168 0.00772975 0.0129927 0.103207 0.0341309 0.0111236 -0.00741177 0.00607989 0.00567184 0.00589241 0.00685963 0.00932518 0.0174035 -0.12481 0.0253867 0.0113316 0.00805828 0.00686954 0.00661142 0.00708154 -0.00854273 0.0122478 0.0264391 0.142886 0.023916 0.012753 0.00962205 -0.00853322 0.00849875 0.00942695 0.0118584 0.0181436 0.0492582 0.168533 -0.0272464 0.016577 0.0132943 0.0123552 0.0128589 0.014947 0.019897 -0.03322 0.147428 0.171819 0.0415109 0.028859 0.0253189 0.0256178 0.0292156 -0.0377446 0.0571889 0.113404 0.457747 0.308568 0.224637 0.424408 0.4004 -0.133036 0.0847362 0.0706326 0.074135 0.110844 0.367009 0.102075 0.0442333 -0.0284427 0.0218564 0.0190361 0.0185502 0.0204799 0.0270896 0.0554818 -0.214268 0.0375702 0.0193523 0.0137179 0.0113777 0.0105911 0.01099 -0.0129683 0.0187721 0.0525537 0.14743 0.0209954 0.0121441 0.00912324 -0.00790667 0.00765632 0.00827268 0.0102543 0.0161526 0.110756 0.0562294 -0.0141448 0.00892191 0.00701576 0.00629614 0.0062967 0.00704611 0.00915505 -0.0159084 0.116504 0.0271244 0.0107016 0.00723151 0.0059138 0.00547386 -0.00563883 0.00652741 0.00891421 0.0176079 0.112374 0.018162 0.0088167 -0.00630897 0.00534415 0.00509162 0.00539811 0.00646923 0.00934123 0.0223284 -0.108208 0.0140368 0.00779378 0.005859 0.00512741 0.00502357 0.00548237 -0.00681644 0.0105054 0.0366346 0.0935206 0.0119888 0.0073465 0.00577034 -0.00520898 0.00524733 0.00590082 0.0076376 0.0127457 0.101676 0.0355935 -0.0111473 0.00738578 0.00603965 0.00562055 0.00582547 0.00676356 0.00915883 -0.0169304 0.122508 0.0257177 0.0112747 0.00797844 0.00678055 0.00650899 -0.00695391 0.00836331 0.0119353 0.0254097 0.141074 0.0238618 0.0125732 -0.00944213 0.00834598 0.00828764 0.00916447 0.0114854 0.0174711 0.0463277 -0.166906 0.0267317 0.0161039 0.0128464 0.0118866 0.012318 0.0142516 -0.0188649 0.0312327 0.129967 0.176573 0.0393851 0.0270303 0.0234657 -0.0234794 0.0264315 0.0336075 0.0498998 0.0965231 0.412389 0.260229 -0.158298 0.185141 0.488492 0.277619 0.122093 0.0900662 0.088471 0.125496 -0.392238 0.115262 0.049042 0.0311206 0.0236621 0.0204253 0.0197465 -0.0216343 0.0283634 0.0569245 0.221371 0.039883 0.0203152 0.0143193 -0.0118254 0.0109657 0.0113356 0.0133181 0.0191506 0.0518726 0.152284 -0.0218219 0.0125218 0.00936873 0.00809444 0.00781619 0.00842049 0.0103982 -0.0162636 0.106179 0.062188 0.0145319 0.00910966 0.00713922 0.00639017 -0.00637502 0.00711426 0.00920826 0.0158623 0.116504 0.0282705 0.0109074 -0.00733363 0.00597953 0.00552151 0.00567472 0.00655108 0.00890934 0.0173898 -0.113437 0.0186396 0.00893075 0.00636346 0.00537572 0.00511008 0.00540521 -0.00645937 0.00928272 0.0217686 0.107805 0.014272 0.00785223 0.00588102 -0.00513362 0.00501847 0.00546396 0.00677283 0.0103792 0.0345192 0.0953241 -0.0121013 0.00736373 0.00576449 0.00519095 0.00521747 0.00585283 0.00754993 -0.0125108 0.100194 0.0373049 0.0111771 0.00736337 0.00600246 0.00557229 -0.00576198 0.00667205 0.00900018 0.0164828 0.120432 0.0260902 0.011225 -0.00790394 0.00669662 0.00641203 0.00683295 0.00819326 0.0116395 0.0244505 -0.13946 0.023836 0.012407 0.00927384 0.00817037 0.00808957 0.00891841 -0.0111363 0.0168438 0.0436758 0.165418 0.0262694 0.0156691 0.0124348 -0.0114572 0.0118244 0.0136199 0.0179326 0.0294505 0.115799 0.179158 -0.0375323 0.0254471 0.0218816 0.0216807 0.0241359 0.0302801 0.0442145 -0.0837665 0.375223 0.228105 0.12311 0.121643 0.181191 0.514682 0.224154 -0.124991 0.110204 0.145606 0.421909 0.131665 0.0549464 0.0343415 0.0257953 -0.0220423 0.0211217 0.0229479 0.0298026 0.0586148 0.229029 0.0424466 -0.0213731 0.0149769 0.0123131 0.0113725 0.0117101 0.0136972 0.0195646 -0.0513862 0.15732 0.0227094 0.0129248 0.00963013 0.00829414 0.00798617 -0.00857785 0.0105524 0.0163894 0.0998069 0.0701385 0.0149408 0.00930727 -0.0072692 0.00648935 0.00645798 0.00718712 0.00926719 0.0158283 0.11665 -0.0295201 0.0111235 0.00744088 0.00604882 0.00557208 0.00571333 0.00657771 -0.00890867 0.0171885 0.11472 0.0191473 0.00905043 0.00642103 0.00540958 -0.00513058 0.00541444 0.00645213 0.00922884 0.0212511 0.107642 0.0145205 -0.00791445 0.00590539 0.00514175 0.00501524 0.00544768 0.00673219 0.0102595 -0.0327086 0.0970592 0.0122216 0.00738411 0.00576093 0.00517501 0.00518981 -0.00580755 0.00746648 0.0122871 0.0986968 0.0393409 0.0112131 0.00734436 -0.00596813 0.00552692 0.00570183 0.00658501 0.00884905 0.0160593 0.118527 -0.0265083 0.0111825 0.00783472 0.00661759 0.00632027 0.00671819 0.0080318 -0.0113591 0.0235542 0.13806 0.0238377 0.0122531 0.00911611 0.00800541 -0.00790353 0.00868752 0.0108094 0.0162585 0.0412704 0.162761 0.0258564 -0.0152693 0.0120559 0.0110628 0.0113724 0.0130437 0.0170862 0.0278427 -0.104062 0.180374 0.0359045 0.0240633 0.0205122 0.0201472 0.0222115 -0.0275473 0.0396593 0.073803 0.343909 0.205528 0.101216 0.0911423 0.110992 -0.201857 0.527419 0.207979 0.147145 0.174842 0.458187 0.152539 0.0623595 -0.0382859 0.0283527 0.023947 0.0227185 0.0244554 0.0314412 0.0605953 -0.237368 0.0453037 0.0225412 0.0156991 0.0128461 0.0118155 0.0121168 -0.0141083 0.0200165 0.0510725 0.162495 0.0236627 0.013355 0.00990859 -0.00850669 0.0081671 0.00874564 0.0107178 0.0165314 0.0898707 0.0819314 -0.0153737 0.00951568 0.00740625 0.00659404 0.00654579 0.0072648 0.00933181 -0.015806 0.116911 0.0308873 0.0113503 0.00755337 0.00612172 0.00562565 -0.00575479 0.00660747 0.00891241 0.0170035 0.116272 0.0196878 0.00917605 -0.00648183 0.00544584 0.00515318 0.00542579 0.00644747 0.00917945 0.0207719 -0.107704 0.0147832 0.00798051 0.00593214 0.00515181 0.00501388 0.00543349 -0.00669445 0.0101461 0.0311345 0.0988015 0.0123499 0.00740761 0.00575961 -0.00516111 0.00516433 0.00576497 0.00738718 0.0120743 0.0946915 0.0418206 -0.0112553 0.00732878 0.00593667 0.00548438 0.00564486 0.00650214 0.00870485 -0.0156581 0.116827 0.0269755 0.0111469 0.00777037 0.00654312 0.00623339 -0.00660935 0.00787858 0.0110933 0.0227165 0.136864 0.0238675 0.0121113 -0.00896844 0.00785043 0.00772858 0.00847048 0.0105025 0.0157107 0.0390784 -0.160075 0.0254877 0.0149006 0.011706 0.0106992 0.010957 0.0125164 -0.0163152 0.0263876 0.0942055 0.180607 0.0344687 0.0228454 0.0193177 -0.018825 0.0205754 0.0252633 0.0359283 0.0658101 0.316951 0.189123 -0.0862613 0.0731125 0.0805157 0.113964 0.253922 0.531348 0.224912 0.221287 -0.504 0.179916 0.071942 0.0432279 0.0314736 0.0262226 0.0245937 0.0262012 -0.0333191 0.062907 0.246409 0.0484998 0.0238357 0.0164948 0.0134308 -0.0122995 0.0125598 0.0145557 0.0205114 0.0509232 0.167898 0.0246899 -0.0138156 0.0102059 0.00873331 0.00835986 0.00892451 0.0108951 0.0166897 -0.0773975 0.0965909 0.0158317 0.00973533 0.00755067 0.00670451 0.00663876 -0.00734767 0.00940261 0.0157958 0.11728 0.0323902 0.0115887 0.0076715 -0.00619851 0.00568237 0.00579917 0.00664035 0.00892043 0.0168338 0.115746 -0.0202636 0.00930778 0.00654593 0.00548452 0.00517792 0.00543931 0.00644545 -0.00913454 0.0203278 0.107966 0.0150609 0.00805054 0.00596131 0.00516383 -0.00501438 0.00542138 0.00665957 0.0100388 0.0297496 0.100612 0.0124866 -0.00743429 0.00576056 0.00514924 0.00514096 0.00572495 0.00731181 0.0118717 -0.0900878 0.0449418 0.0113036 0.00731648 0.0059079 0.00544453 0.00559098 -0.00642334 0.00856744 0.015278 0.115286 0.0274975 0.0111181 0.00771086 -0.00647308 0.00615117 0.00650602 0.00773294 0.0108409 0.0219314 0.135923 -0.0239249 0.0119803 0.00882994 0.0077046 0.00756389 0.0082663 0.0102141 -0.0151978 0.0370775 0.157581 0.0251612 0.0145605 0.0113825 0.0103634 -0.0105743 0.0120321 0.0156099 0.0250638 0.0858127 0.180219 0.0331941 -0.0217653 0.0182669 0.0176736 0.0191681 0.023327 0.032819 0.0592665 -0.293228 0.177051 0.0754037 0.0611855 0.0633359 0.0800065 0.129638 -0.36166 0.519574 0.307113 0.564787 0.21722 0.0847942 0.0495957 0.0353653 -0.028988 0.0268262 0.028246 0.0354919 0.0656168 0.256278 0.0520979 -0.0252788 0.0173761 0.0140748 0.0128301 0.0130436 0.0150432 0.0210528 -0.0509262 0.172283 0.0257977 0.0143089 0.0105237 0.00897517 0.00856549 -0.00911554 0.0110855 0.016866 0.0702691 0.106148 0.0163173 0.00996732 -0.00770311 0.00682119 0.00673715 0.00743587 0.00947959 0.0157974 0.117741 -0.0340499 0.011839 0.00779542 0.00627926 0.00574234 0.00584661 0.00667655 -0.00893296 0.0166791 0.115243 0.0208782 0.00944599 0.00661349 0.00552574 -0.00520484 0.00545501 0.00644603 0.00909398 0.0199156 0.108432 0.0153543 -0.00812463 0.00599294 0.00517782 0.00501675 0.00541135 0.00662749 0.00993731 -0.0285192 0.102552 0.0126319 0.00746414 0.00576373 0.00513935 0.00511966 -0.00568749 0.00724031 0.011679 0.0847597 0.0490747 0.0113583 0.0073075 -0.00588183 0.00540731 0.00554003 0.00634836 0.00843632 0.0149173 0.113928 -0.0280798 0.0110957 0.00765583 0.00640717 0.00607334 0.00640796 0.00759461 -0.0106014 0.0211957 0.135226 0.0240109 0.01186 0.00870025 0.0075674 -0.00740873; -#A 3000 0.0080739 0.00994272 0.0147164 0.0352434 0.155186 0.0248731 -0.0142459 0.0110825 0.0100524 0.0102208 0.0115861 0.0149629 0.0238565 -0.0786009 0.179397 0.0320601 0.0208027 0.0173362 0.0166625 0.017945 -0.0216649 0.0301882 0.0538127 0.271543 0.16821 0.0671649 0.0527064 -0.0522839 0.0617722 0.0879059 0.163675 0.532894 0.531525 0.651666 0.270844 -0.10293 0.0581101 0.0403524 0.032419 0.0295273 0.0306712 0.0380295 -0.0687966 0.267052 0.0561679 0.026895 0.0183565 0.014787 0.0134141 -0.013574 0.0155765 0.0216474 0.0510819 0.176861 0.0269963 0.014839 -0.0108642 0.00923379 0.00878512 0.00931958 0.0112895 0.0170606 0.0654619 -0.1137 0.0168322 0.0102122 0.00786395 0.00694442 0.00684133 0.00752984 -0.0095633 0.0158113 0.118266 0.0358942 0.0121022 0.00792559 0.00636426 -0.00580575 0.00589719 0.00671604 0.00894991 0.0165385 0.114968 0.0215348 -0.00959086 0.00668458 0.00556952 0.00523399 0.00547297 0.00644928 0.00905781 -0.019533 0.109091 0.0156646 0.00820294 0.00602708 0.0051938 0.00502099 -0.00540337 0.00659818 0.00984149 0.0274175 0.104681 0.0127862 0.00749723 -0.00576914 0.00513144 0.00510041 0.00565246 0.00717248 0.0114955 0.0778421 -0.0550377 0.0114193 0.0073017 0.00585834 0.00537262 0.00549193 0.00627712 -0.00831136 0.0145753 0.112736 0.0287302 0.01108 0.00760527 0.00634529 -0.00599971 0.00631484 0.007463 0.0103736 0.0205044 0.132957 0.0241254 -0.0117495 0.00857858 0.00743815 0.0072624 0.00789252 0.00968714 0.0142644 -0.0335599 0.153016 0.0246221 0.0139552 0.010804 0.00976383 0.00989329 -0.011174 0.0143673 0.0227505 0.0723391 0.178327 0.0310461 0.0199394 -0.0165063 0.015768 0.0168729 0.0202236 0.0279353 0.0492051 0.251523 -0.161964 0.0607088 0.0463712 0.0445729 0.0503606 0.0666124 0.107125 -0.233076 0.697492 0.794858 0.354114 0.13043 0.0700713 0.0469708 0.0367869 -0.0328606 0.0335929 0.0410309 0.0725575 0.278869 0.0608066 0.0287181 -0.0194537 0.0155787 0.0140596 0.0141575 0.0161611 0.0223003 0.051385 -0.181731 0.0282946 0.0154091 0.0112293 0.00951069 0.00902006 0.00953792 -0.0115086 0.0172754 0.0619598 0.120197 0.0173795 0.0104713 0.00803395 -0.00707468 0.00695162 0.00762976 0.00965379 0.0158372 0.118857 0.0379568 -0.0123789 0.00806218 0.00645363 0.00587271 0.00595108 0.00675907 0.00897152 -0.0164118 0.114931 0.0222377 0.00974284 0.00675941 0.005616 0.00526544 -0.00549317 0.00645516 0.0090259 0.0191775 0.10996 0.0159928 0.00828556 -0.00606378 0.00521179 0.00502712 0.00539744 0.0065716 0.00975118 0.0264246 -0.104627 0.0129499 0.00753358 0.00577678 0.00512548 0.00508316 0.00561986 -0.00710828 0.0113209 0.0668588 0.0653231 0.0114869 0.00729913 0.00583742 -0.00534041 0.00544657 0.0062094 0.00819211 0.0142505 0.111728 0.0294574 -0.0110705 0.00755887 0.00628718 0.00593005 0.00622645 0.00733791 0.0101573 -0.0198551 0.130619 0.0242698 0.0116487 0.00846468 0.00731642 0.00712431 -0.00772126 0.00944596 0.013839 0.0320088 0.15097 0.0244051 0.0136857 -0.0105449 0.00949548 0.00958933 0.0107925 0.0138177 0.0217354 0.066867 -0.177126 0.0301388 0.0191624 0.0157625 0.0149713 0.0159257 0.0189621 -0.0259845 0.0452617 0.232727 0.157951 0.0555164 0.0414583 0.0388859 -0.0425392 0.0536494 0.0796972 0.148437 0.386752 0.897957 0.500731 0.177115 -0.088113 0.0561771 0.0425348 0.0370751 0.0371775 0.0446294 0.0770318 -0.29192 0.0661271 0.0307873 0.0206887 0.0164635 0.0147764 0.0148021 -0.0168048 0.0230203 0.0518425 0.187013 0.029706 0.0160243 0.011622 -0.00980779 0.00927174 0.00977169 0.0117439 0.0175109 0.0592925 0.126164 -0.0179609 0.0107453 0.00821359 0.0072124 0.00706845 0.00773614 0.00975168 -0.0158758 0.117565 0.0402833 0.0126702 0.00820573 0.0065477 0.00594342 -0.00600837 0.00680562 0.00899771 0.0162984 0.115064 0.0229911 0.00990212 -0.00683805 0.00566521 0.00529925 0.00551572 0.00646377 0.00899831 0.0188474 -0.111043 0.0163401 0.00837268 0.0061031 0.00523183 0.00503514 0.00539355 -0.0065477 0.00966619 0.0255248 0.104424 0.0131234 0.00757324 0.00578665 -0.00512146 0.00506788 0.0055896 0.00704753 0.0111547 0.0553051 0.0764009 -0.0115609 0.00729969 0.00581897 0.00531058 0.00540387 0.00614513 0.00807849 -0.0139421 0.110908 0.030273 0.0110675 0.00751662 0.00623276 0.0058642 -0.0061425 0.00721882 0.0099513 0.0192436 0.128512 0.0244443 0.0115567 -0.00835787 0.00720165 0.0069939 0.0075595 0.00921836 0.0134386 0.0305782 -0.149157 0.0242213 0.0134364 0.0103038 0.00924559 0.00930659 0.0104384 -0.0133089 0.0207998 0.0620457 0.175866 0.0293237 0.0184593 0.0150922 -0.0142576 0.0150832 0.0178494 0.0242804 0.0418543 0.214551 0.156051 -0.0512581 0.0375403 0.0345196 0.0368429 0.0449185 0.0634317 0.108798 -0.252091 0.743588 0.773213 0.274222 0.118496 0.0698622 0.0504384 0.042572 -0.0416783 0.0490206 0.0824197 0.305874 0.0722862 0.0331565 0.0220892 -0.0174583 0.0155765 0.0155173 0.0175156 0.0238152 0.0524551 0.19259 -0.0312427 0.016689 0.0120449 0.0101271 0.00954183 0.0100225 0.0119969 -0.0177695 0.0572146 0.131808 0.0185804 0.0110357 0.00840376 0.00735816 -0.00719222 0.00784922 0.00985707 0.0159268 0.115966 0.0429329 0.0129768 -0.00835644 0.0066466 0.00601803 0.00606925 0.00685597 0.00902879 0.0161981 -0.115407 0.0238006 0.0100692 0.00692073 0.0057173 0.00533549 0.00554062 -0.00647506 0.00897491 0.0185408 0.112367 0.0167077 0.00846439 0.00614508 -0.00525394 0.00504507 0.00539172 0.00652649 0.00958641 0.0247057 0.10443 -0.013307 0.00761625 0.00579877 0.00511936 0.00505456 0.00556166 0.0069902 -0.0109967 0.0486956 0.0827833 0.0116418 0.00730342 0.00580298 0.00528309 -0.00536373 0.00608411 0.00797009 0.0136489 0.110293 0.0311907 0.0110705 -0.00747827 0.00618181 0.00580195 0.00606282 0.00710556 0.00975542 0.0186679 -0.126573 0.024651 0.0114735 0.00825798 0.00709351 0.00687068 0.00740652 -0.00900314 0.0130607 0.0292543 0.147502 0.0240685 0.0132051 0.0100788 -0.00901239 0.0090431 0.0101091 0.0128372 0.0199365 0.0577773 0.173581 -0.028592 0.0178216 0.0144857 0.013615 0.0143292 0.0168608 0.0227791 -0.0388806 0.196525 0.156375 0.0477051 0.0343433 0.0310625 0.0325095 -0.0386365 0.0526547 0.0857212 0.185728 0.62108 0.642894 0.579486 0.180933 -0.0923835 0.0619937 0.0500399 0.0474936 0.0544906 0.0889837 0.32156 -0.079477 0.0358921 0.0236892 0.0185844 0.016475 0.016315 0.0183046 -0.0246968 0.0532363 0.198651 0.0329224 0.0174098 0.0125019 0.0104711 -0.00983218 0.0102918 0.012269 0.0180521 0.0555729 0.137328 0.0192402 -0.0113435 0.00860508 0.00751249 0.00732344 0.00796957 0.00997068 0.0159912 -0.114233 0.0459891 0.0132999 0.00851494 0.00675071 0.00609677 0.00613385 -0.00691011 0.00906466 0.0161104 0.115892 0.0246717 0.0102444 0.00700753 -0.00577233 0.00537422 0.00556797 0.00648917 0.00895581 0.0182563 0.113959 -0.0170972 0.00856093 0.00618983 0.00527817 0.00505693 0.00539194 0.0065079 -0.00951168 0.0239572 0.104628 0.0135013 0.00766269 0.00581314 0.00511919 -0.00504316 0.00553597 0.00693614 0.0108464 0.04411 0.087375 0.0117295 -0.00731024 0.00578937 0.00525786 0.00532609 0.0060263 0.00786684 0.0133703 -0.107759 0.032229 0.0110798 0.00744382 0.00613428 0.00574319 0.00598716 -0.0069977 0.00956881 0.0181247 0.124868 0.0248907 0.0113984 0.00816441 -0.00699149 0.00675419 0.0072618 0.00879967 0.0127044 0.028028 0.146092 -0.0239463 0.012991 0.00986885 0.00879454 0.00879709 0.00980211 0.0123984 -0.0191369 0.0539729 0.171061 0.0279332 0.0172406 0.0139344 0.0130336 -0.0136509 0.0159774 0.0214477 0.0362673 0.177654 0.159389 0.0447028 -0.0316879 0.0282589 0.029103 0.0338999 0.0449864 0.0706047 0.146223 -0.537188 0.424139 0.551841 0.395795 0.136666 0.0805168 0.0607726 0.0552968 -0.0614893 0.0971278 0.339381 0.0879717 0.0390864 0.0255346 0.0198692 -0.0174907 0.0172098 0.0191839 0.0256768 0.0541931 0.205039 0.034762 -0.0181929 0.0129965 0.0108424 0.010145 0.0105817 0.0125624 0.0183615 -0.0542768 0.142793 0.019945 0.0116705 0.0088186 0.00767608 0.0074626 -0.00809752 0.0100927 0.0160687 0.112286 0.0495698 0.0136404 0.00868148 -0.0068602 0.00617983 0.00620239 0.00696834 0.00910568 0.0160354 0.116572 -0.0256118 0.0104281 0.00709873 0.00583046 0.00541554 0.00559779 0.00650605 -0.00894089 0.0179923 0.11362 0.0175099 0.00866239 0.00623738 0.00530453 -0.00507074 0.00539422 0.00649196 0.0094419 0.0232708 0.105005 0.0137068 -0.00771261 0.00582978 0.00512093 0.00503368 0.00551251 0.0068853 0.0107036 -0.0406291 0.0911282 0.0118242 0.00732021 0.00577816 0.00523486 0.00529085 -0.00597151 0.00776839 0.0131053 0.104935 0.0334111 0.0110951 0.00741303 -0.00608995 0.00568773 0.00591538 0.0068951 0.0093912 0.0176124 0.123311 -0.0251659 0.0113314 0.00807704 0.00689536 0.00664402 0.00712474 0.00860692 -0.0123674 0.0268887 0.14488 0.023853 0.0127923 0.00967255 0.00859067 -0.00856706 0.00951554 0.0119898 0.0183955 0.0505697 0.168628 0.0273413 -0.0167103 0.0134318 0.0125054 0.0130376 0.0151832 0.0202588 0.0339524 -0.156674 0.166253 0.0421345 0.0294476 0.02594 0.0263555 0.0302018 0.0392522 -0.0599365 0.120048 0.475155 0.327329 0.258701 0.548586 0.269614 0.11521 -0.0775264 0.0663147 0.0707508 0.107441 0.35992 0.0981258 0.0428599 -0.0276845 0.0213477 0.0186474 0.0182198 0.0201698 0.0267722 0.0553468 -0.211964 0.0367854 0.0190471 0.0135336 0.0112443 0.0104826 0.0108941 -0.0128786 0.018699 0.0532592 0.146988 0.0206979 0.0120179 0.00904511 -0.00784957 0.00761031 0.00823375 0.0102239 0.0161604 0.109858 0.0538565 -0.0139997 0.00885679 0.0069755 0.00626746 0.00627501 0.0070307 0.00915177 -0.0159724 0.117395 0.0266284 0.0106208 0.00719443 0.00589175 0.00545953 -0.00563018 0.00652584 0.00893028 0.0177479 0.113104 0.0179478 0.00876905 -0.00628784 0.00533311 0.00508653 0.00539856 0.00647862 0.00937692 0.0226396 -0.105565 0.0139241 0.00776609 0.0058487 0.00512459 0.00502608 0.00549123 -0.00683757 0.0105679 0.037845 0.0944604 0.0119262 0.00733325 0.00576925 -0.00521403 0.00525797 0.00591972 0.00767468 0.0128534 0.102219 0.0347692 -0.0111166 0.00738594 0.00604879 0.00563546 0.00584726 0.00679737 0.00922186 -0.0171281 0.121991 0.0254782 0.0112719 0.00799537 0.00680467 0.00653978 -0.00699493 0.0084244 0.012049 0.0258295 0.143939 0.0237886 0.0126084 -0.0094891 0.00839973 0.00835163 0.00924744 0.0116084 0.0177058 0.0475077 -0.166217 0.0268086 0.0162244 0.0129717 0.0120236 0.0124808 0.014466 -0.0191919 0.0318912 0.137223 0.172937 0.0399187 0.0275346 0.0239915 -0.0240935 0.027235 0.0348028 0.052005 0.101444 0.42657 0.271611 0.173617 -0.221653 0.536388 0.20627 0.107461 0.0830631; -#A 4000 0.0835827 0.120885 0.383783 0.110457 0.0473857 0.0302209 0.023067 -0.019976 0.0193682 0.0212813 0.0280008 0.0567132 0.219315 0.0390167 -0.0199811 0.0141184 0.0116803 0.0108481 0.0112316 0.0132205 0.0190681 -0.0524803 0.151043 0.0215045 0.0123879 0.00928589 0.00803382 0.00776719 -0.00837868 0.0103645 0.0162661 0.106742 0.0591432 0.0143789 0.00904116 -0.00709683 0.00635989 0.00635196 0.00709752 0.00920335 0.0159218 0.118411 -0.0277314 0.0108231 0.00729493 0.0059564 0.00550628 0.0056652 0.00654851 -0.00892385 0.0175217 0.112839 0.0184127 0.00888103 0.00634126 0.00536391 -0.00510433 0.005405 0.00646791 0.00931669 0.0220579 0.106304 0.0141538 -0.0078232 0.00586994 0.00513016 0.00502037 0.00547211 0.00679292 0.0104391 -0.035541 0.0976352 0.0120356 0.00734943 0.00576267 0.00519534 0.00522737 -0.00587076 0.00758541 0.0126136 0.0995194 0.0363463 0.0111441 0.00736234 -0.00601062 0.00558624 0.00578268 0.0067044 0.0090606 0.0166705 0.120831 -0.025831 0.0112199 0.00791931 0.00671923 0.00644114 0.00687185 0.00825125 -0.0117473 0.0248421 0.141685 0.0237518 0.012438 0.00931728 0.0082206 -0.00814961 0.00899635 0.0112518 0.0170638 0.0447451 0.163964 0.026331 -0.0157788 0.0125497 0.0115827 0.0119731 0.0138152 0.018229 0.0300437 -0.121636 0.177069 0.0379891 0.0258823 0.0223316 0.0221995 0.0248031 -0.0312514 0.0458806 0.0875632 0.387094 0.235498 0.131832 0.135707 0.226948 -0.516916 0.177524 0.111661 0.102539 0.139065 0.412116 0.125691 0.0529063 -0.0332554 0.0250896 0.0215173 0.0206848 0.0225436 0.0293882 0.0583245 -0.227263 0.0414894 0.0210069 0.0147575 0.012155 0.0112445 0.0115969 -0.0135903 0.0194707 0.0519055 0.155249 0.022369 0.0127821 0.00954193 -0.00822963 0.00793396 0.0085331 0.0105156 0.0163872 0.102297 0.0659647 -0.0147798 0.00923544 0.00722469 0.00645742 0.00643344 0.00716884 0.00926034 -0.0158829 0.119586 0.0289314 0.0110352 0.00740036 0.00602447 0.0055559 -0.00570295 0.00657422 0.00892177 0.017313 0.112813 0.0189067 0.00899862 -0.00639779 0.00539703 0.00512417 0.00541352 0.00645977 0.00926107 0.0215205 -0.107241 0.0143965 0.00788403 0.00589351 0.00513766 0.00501653 0.00545512 -0.00675124 0.0103169 0.0335879 0.0986007 0.0121527 0.0073687 0.00575835 -0.00517872 0.00519901 0.0058246 0.00750051 0.0123855 0.0967932 0.0382056 -0.0111778 0.00734226 0.00597542 0.00553998 0.00572146 0.00661585 0.00890677 -0.0162373 0.11991 0.0262268 0.0111749 0.00784841 0.00663867 0.00634776 -0.00675516 0.00808706 0.0114618 0.023921 0.139257 0.0237432 0.0122806 -0.0091565 0.00805249 0.00795991 0.00876073 0.0109177 0.0164642 0.0422399 -0.161773 0.0259026 0.0153687 0.0121611 0.011178 0.0115087 0.0132224 -0.0173565 0.0283812 0.108873 0.179439 0.0362996 0.0244428 0.0209017 -0.0205911 0.022774 0.0283516 0.0410096 0.076816 0.354052 0.210449 0.106829 -0.0986205 0.125765 0.269323 0.485634 0.172316 0.133444 0.164977 0.446326 -0.144942 0.0597888 0.0369505 0.0275031 0.0233257 0.0222084 0.023988 -0.0309628 0.060209 0.23576 0.0442384 0.0221371 0.015458 0.0126731 0.0116759 -0.0119934 0.0139916 0.0199112 0.0515173 0.159684 0.0232981 0.0132031 -0.00981482 0.00843804 0.00811139 0.00869756 0.0106774 0.0165236 0.0954874 -0.0754591 0.0152035 0.00944002 0.00735934 0.00656031 0.00651971 0.00724505 -0.00932322 0.0158563 0.11911 0.0302422 0.0112581 0.00751107 0.0060962 -0.0056085 0.00574348 0.00660293 0.00892394 0.0171208 0.112986 0.0194322 -0.00912197 0.00645745 0.00543248 0.00514608 0.0054242 0.00645427 0.00921004 -0.0210235 0.10838 0.014653 0.00794869 0.00591946 0.0051471 0.00501456 -0.00544024 0.00671251 0.0102011 0.0319027 0.0990435 0.0122777 0.00739113 -0.00575631 0.00516418 0.00517282 0.00578111 0.00741972 0.0121684 0.0939093 -0.0404405 0.0112176 0.00732553 0.00594303 0.00549654 0.00566348 0.00653164 -0.00876021 0.0158273 0.119192 0.0266701 0.0111371 0.00778262 0.00656284 -0.00625939 0.00664443 0.0079311 0.0111908 0.0230596 0.137027 0.0237617 -0.012135 0.00900576 0.00789448 0.00778159 0.00853943 0.0106045 0.0159041 -0.0399633 0.15979 0.0255207 0.0149912 0.0118029 0.0108053 0.0110824 -0.0126802 0.0165622 0.0268768 0.0982244 0.180725 0.0348092 0.0231778 -0.0196575 0.0192087 0.0210561 0.0259405 0.0370459 0.0682629 0.325707 -0.19239 0.0901671 0.0777533 0.0878672 0.131296 0.375017 0.418715 0.193265 -0.204834 0.489044 0.169936 0.0685969 0.0415442 0.0304309 0.0254763 -0.0239913 0.0256562 0.0327646 0.0624163 0.244305 0.0473119 0.0233889 -0.0162295 0.013241 0.0121467 0.0124248 0.0144275 0.0203924 0.0512965 -0.164307 0.0242975 0.0136531 0.0101058 0.00866007 0.00830039 0.00887301 -0.0108512 0.0166769 0.0829742 0.0908759 0.0156522 0.00965588 0.00750136 -0.00666892 0.00661103 0.00732624 0.00939195 0.0158414 0.1183 0.0316793 -0.011492 0.00762719 0.00617166 0.00566419 0.00578694 0.00663485 0.00893055 -0.0169446 0.113374 0.0199919 0.00925144 0.00652043 0.00547038 0.00517013 -0.005437 0.00645135 0.00916345 0.020563 0.109758 0.014924 0.00801725 -0.00594781 0.00515848 0.00501446 0.00542746 0.00667664 0.0100914 0.0304286 -0.0995646 0.0124109 0.00741668 0.0057565 0.00515165 0.00514877 0.00574026 -0.007343 0.0119618 0.090751 0.0432023 0.0112636 0.00731219 0.00591343 -0.00545585 0.0056086 0.00645146 0.00862037 0.0154386 0.11874 0.0271647 -0.0111059 0.00772156 0.00649141 0.00617572 0.00653938 0.00778305 0.0109339 -0.0222538 0.134987 0.0238082 0.0120008 0.00886462 0.00774594 0.00761377 -0.00833122 0.0103102 0.0153793 0.0378852 0.157908 0.0251807 0.0146426 -0.0114716 0.0104613 0.01069 0.0121829 0.0158368 0.0255115 0.0892261 -0.180436 0.0334901 0.0220591 0.0185659 0.0180086 0.0195833 0.0239045 -0.0337582 0.0612976 0.300889 0.179094 0.0782647 0.0643406 0.0677387 -0.0880362 0.152151 0.50511 0.367905 0.274384 0.544554 0.20358 0.0802674 -0.0474093 0.0340562 0.0280753 0.0261043 0.0276025 0.0348419 0.064996 -0.253445 0.0507625 0.0247809 0.0170821 0.0138655 0.0126622 0.0128957 -0.0149026 0.0209198 0.0512375 0.169211 0.0253758 0.0141354 0.0104169 -0.00889701 0.00850192 0.00906018 0.0110373 0.0168471 0.073771 0.103282 -0.0161272 0.0098835 0.00765109 0.00678358 0.00670771 0.00741281 0.00946705 -0.0158387 0.117646 0.0332629 0.0117378 0.00774915 0.00625113 0.00572312 -0.00583339 0.00666994 0.00894149 0.0167833 0.113936 0.0205886 0.00938717 -0.00658677 0.00551074 0.00519633 0.00545201 0.00645108 0.00912132 0.020136 -0.111399 0.0152104 0.00808986 0.00597861 0.00517182 0.00501622 0.00541674 -0.0066436 0.00998766 0.0291253 0.100177 0.0125526 0.00744543 0.00575895 -0.00514113 0.00512681 0.00570194 0.00727012 0.0117651 0.0870265 0.0467551 -0.0113159 0.00730208 0.00588649 0.0054178 0.00555672 0.00637525 0.0084871 -0.0150704 0.116682 0.0277169 0.0110815 0.00766519 0.00642426 0.00609654 -0.00643963 0.00764228 0.0106898 0.0214982 0.133154 0.0238822 0.0118772 -0.00873221 0.00760611 0.0074557 0.00813519 0.0100335 0.0148875 0.035985 -0.156267 0.0248808 0.0143208 0.0111648 0.010143 0.0103277 0.0117252 -0.0151716 0.0242662 0.0815237 0.179366 0.0323157 0.0210629 0.0176007 -0.0169572 0.0183072 0.0221635 0.0309893 0.0555251 0.278698 0.169295 -0.0693458 0.054989 0.0552152 0.0664127 0.0975529 0.19595 0.607447 0.430868 -0.621664 0.251072 0.0964483 0.0551529 0.0386596 0.0312778 0.0286475 -0.0299019 0.0372618 0.0680276 0.263547 0.0546622 0.0263385 0.0180297 -0.0145554 0.013229 0.0134112 0.0154213 0.0214975 0.0513303 0.174323 -0.0265404 0.0146527 0.0107498 0.00915017 0.0087171 0.00926018 0.0112372 -0.017036 0.0679694 0.112541 0.0166314 0.010124 0.00780919 0.0069047 -0.00681003 0.00750492 0.00954853 0.0158479 0.117091 0.0350163 0.0119961 -0.00787709 0.00633468 0.0057854 0.00588298 0.00670841 0.008957 0.0166368 -0.114714 0.0212259 0.00952957 0.00665667 0.00555368 0.00522477 0.00546923 -0.00645342 0.00908352 0.0197397 0.111271 0.0155133 0.0081666 0.00601189 -0.00518715 0.00501986 0.00540809 0.00661334 0.00988966 0.0279627 0.100896 -0.0127031 0.00747736 0.00576361 0.00513257 0.00510689 0.00566612 0.00720103 -0.011578 0.0822521 0.05163 0.0113745 0.00729525 0.0058622 0.00538232 -0.0055077 0.00630275 0.00835993 0.0147208 0.114263 0.0283327 0.0110634 -0.00761319 0.00636111 0.00602159 0.00634497 0.00750853 0.0104581 0.0207894 -0.131502 0.0239849 0.0117638 0.00860822 0.0074745 0.00730667 0.00795035 -0.00977272 0.0144254 0.0342407 0.154785 0.0246174 0.014023 0.0108799 -0.00984771 0.00999242 0.0113029 0.0145602 0.0231279 0.0748738 0.177902 -0.0312685 0.0201717 0.0167421 0.0160291 0.0171914 0.020658 0.0286258 -0.0506645 0.258537 0.162214 0.0624166 0.0480949 0.0466627 0.0533845 -0.0719871 0.119899 0.283322 0.730407 0.741664 0.322914 0.120378 0.0658499 -0.0446974 0.03532 0.0317653 0.0326574 0.0401109 0.0715993 0.274686 -0.059093 0.0280905 0.0190877 0.0153209 0.0138545 0.0139778 0.01599 -0.0221327 0.0515773 0.179782 0.0278023 0.0152093 0.0111068 0.00942117 -0.00894714 0.00947398 0.0114515 0.017244 0.0638793 0.119047 0.0171663 -0.0103781 0.0079761 0.00703266 0.00691839 0.00760303 0.00963697 0.0158696 -0.116589 0.0369711 0.0122678 0.00801151 0.00642263 0.00585122 0.0059358 -0.00675027 0.00897698 0.0165041 0.115668 0.0219073 0.00967882 0.00673017 -0.00559925 0.00525547 0.00548872 0.00645845 0.00905009 0.0193718 0.110748 -0.0158335 0.00824763 0.00604772 0.00520448 0.00502537 0.00540148 0.00658581 -0.00979723 0.0269184 0.101732 0.0128628 0.00751256 0.00577052 0.00512599 -0.00508899 0.0056327 0.00713554 0.0113998 0.0750892 0.0591614 0.0114394 -0.00729158 0.00584044 0.00534931 0.00546147 0.00623389 0.00823873 0.0143892 -0.112023 0.0290208 0.0110518 0.00756554 0.00630187 0.00595071 0.00625506 -0.00738125 0.0102377 0.0201231 0.130069 0.0241162 0.0116599 0.00849191 -0.00735047 0.00716606 0.00777596 0.009527 0.0139912 0.0326373 0.153558 -0.0243896 0.0137475 0.0106152 0.00957341 0.00968138 0.010912 0.0139961 -0.0220828 0.0690766 0.176211 0.0303301 0.0193698 0.0159734 0.015204 -0.0162079 0.0193441 0.0265865 0.0465227 0.239756 0.157421 0.0568872 -0.0428052 0.0404503 0.0446656 0.0570778 0.0865667 0.167283 0.462 0.919639 -0.44384 0.159371 0.0815859 0.0529615 0.0405803 0.0356758 0.0360185 -0.0435131 0.0758463 0.28704 0.064168 0.0300762 0.0202769 0.0161751 -0.0145481 0.0146027 0.0166149 0.0228315 0.051975 0.185483 0.0291715 -0.0158089 0.0114903 0.00971168 0.00919349 0.00970296 0.0116819 0.0174733 -0.0608285 0.124365 0.0177351 0.0106471 0.00815259 0.00716799 0.00703313 -0.00770733 0.00973242 0.0159035; -#A 5000 0.116103 0.0391655 0.0125535 0.00815258 0.0065151 0.0059207 -0.00599201 0.00679574 0.00900171 0.0163853 0.11685 0.0226373 0.00983539 -0.00680752 0.00564757 0.00528851 0.0055105 0.00646613 0.00902091 0.0190301 -0.110493 0.0161722 0.00833306 0.00608613 0.00522384 0.00503278 0.00539693 -0.00656101 0.00971021 0.0259746 0.102703 0.013032 0.00755103 0.00577965 -0.00512133 0.00507308 0.00560168 0.00707361 0.0112304 0.060151 0.0747905 -0.0115109 0.00729111 0.00582122 0.00531873 0.00541791 0.00616845 0.00812308 -0.0140742 0.109958 0.0297907 0.0110464 0.00752194 0.00624629 0.00588366 -0.00616972 0.00726024 0.0100282 0.0194968 0.128815 0.0242777 0.0115652 -0.00838305 0.00723363 0.0070333 0.0076112 0.00929495 0.0135821 0.031158 -0.151278 0.0241944 0.0134921 0.0103687 0.009318 0.00939226 0.0105496 -0.0134747 0.0211217 0.0639922 0.174383 0.0294893 0.018646 0.015282 -0.0144663 0.0153347 0.0181876 0.0248091 0.0429515 0.221962 0.154698 -0.0523753 0.0386187 0.0357331 0.038419 0.0472965 0.0677285 0.118703 -0.283221 0.795418 0.688711 0.234394 0.107051 0.0649653 0.047706 0.0407232 -0.0402057 0.0476392 0.0809348 0.3008 0.0700216 0.0323421 0.0216217 -0.0171335 0.0153211 0.0152953 0.0173046 0.0236035 0.0525323 0.191561 -0.0306626 0.0164569 0.0119033 0.0100238 0.00945768 0.00994835 0.0119293 -0.0177243 0.0584742 0.129349 0.0183401 0.0109317 0.00833921 0.00731113 -0.00715471 0.00781835 0.00983555 0.0159503 0.115562 0.0416522 0.0128544 -0.00830088 0.00661243 0.00599406 0.00605174 0.00684483 0.00903109 0.0162795 -0.118244 0.0234206 0.00999949 0.00688876 0.00569868 0.00532396 0.00553465 -0.00647658 0.00899605 0.0187128 0.110464 0.0165308 0.00842308 0.00612722 -0.00524527 0.00504209 0.00539443 0.00653887 0.00962844 0.0251173 0.103826 -0.0132113 0.00759284 0.00579102 0.00511862 0.00505912 0.00557296 0.00701507 -0.0110692 0.0516841 0.0823212 0.0115891 0.00729375 0.00580443 0.00529049 -0.00537696 0.00610638 0.0080129 0.013775 0.108031 0.0306555 0.0110474 -0.0074824 0.0061943 0.0058203 0.00608867 0.00714503 0.00982876 0.0189066 -0.127805 0.0244699 0.0114791 0.008281 0.00712345 0.00690787 0.00745551 -0.00907583 0.0131968 0.029792 0.14873 0.0240313 0.0132557 0.0101391 -0.00907986 0.00912295 0.0102126 0.0129912 0.0202343 0.0594979 0.172492 -0.0287329 0.0179893 0.014657 0.013803 0.0145549 0.0171625 0.0232476 -0.039846 0.204521 0.154062 0.0486315 0.035226 0.0320307 0.0337239 0.0403825 -0.0555971 0.091835 0.20272 0.654431 0.765638 0.442171 0.155515 0.084008 -0.0579041 0.0474863 0.0455649 0.0527456 0.0871169 0.316227 0.0768413 -0.0349527 0.0231549 0.0182162 0.0161875 0.0160663 0.0180686 0.0244576 -0.0532518 0.197953 0.032289 0.0171583 0.0123489 0.0103597 0.00974156 -0.0102119 0.0121956 0.0179997 0.0566289 0.134118 0.0189851 0.0112337 -0.00853689 0.0074627 0.00728355 0.00793637 0.00994647 0.0160098 0.114923 -0.0445003 0.0131711 0.00845661 0.00671477 0.00607145 0.00611517 0.00689781 -0.00906545 0.0161867 0.118119 0.024263 0.0101716 0.00697416 0.00575276 -0.00536189 0.0055612 0.00648974 0.00897538 0.0184182 0.110654 0.0169103 -0.0085178 0.006171 0.00526879 0.00505332 0.00539398 0.0065194 0.0095518 -0.0243355 0.105126 0.013401 0.00763805 0.00580464 0.00511782 0.00504711 -0.00554653 0.00695988 0.0109159 0.046246 0.0863759 0.011674 0.00729955 -0.00579007 0.00526455 0.0053385 0.00604749 0.0079078 0.0134906 0.106227 -0.0316305 0.0110544 0.00744666 0.00614567 0.00576044 0.00601175 0.00703544 -0.00963901 0.0183507 0.127003 0.0246947 0.0114016 0.0081856 0.00701961 -0.00678932 0.00730817 0.00886849 0.0128329 0.0285263 0.146328 0.0238981 -0.0130363 0.0099246 0.00885741 0.00887167 0.00989885 0.0125422 0.0194141 -0.0555073 0.170614 0.0280535 0.0173923 0.0140898 0.0132037 0.0138543 -0.0162478 0.021865 0.0371207 0.186834 0.155783 0.0454774 0.0324213 -0.0290482 0.0300669 0.0352362 0.0471288 0.0747599 0.156939 0.561095 -0.469127 0.643939 0.287431 0.118998 0.0737224 0.0570185 0.0526638 0.0592191 -0.0947346 0.333671 0.0848623 0.0379886 0.0249173 0.0194482 0.0171647 -0.0169298 0.0189193 0.0254073 0.0541492 0.203977 0.0340705 0.0179205 -0.0128311 0.0107222 0.0100472 0.0104952 0.0124822 0.0183003 0.0551698 -0.138845 0.0196729 0.0115539 0.0087463 0.00762327 0.0074202 0.008062 -0.0100659 0.016083 0.114051 0.0478092 0.0135052 0.00862043 0.00682251 -0.00615312 0.00618244 0.0069547 0.0091047 0.0161064 0.117513 0.0251705 -0.0103521 0.0070638 0.00580983 0.00540236 0.00559023 0.00650574 0.00895902 -0.018145 0.111047 0.0173126 0.00861744 0.0062176 0.00529446 0.0050665 -0.00539558 0.00650255 0.00948013 0.0236197 0.106635 0.0136017 0.00768671 -0.00582052 0.00511894 0.005037 0.00552233 0.00690791 0.0107701 0.0422765 -0.0892429 0.0117659 0.00730842 0.00577807 0.00524084 0.0053025 0.00599172 -0.00780771 0.0132202 0.104527 0.0327369 0.0110675 0.00741476 0.00610037 -0.00570396 0.00593872 0.00693107 0.00945818 0.0178259 0.12648 0.0249534 -0.0113319 0.00809628 0.00692166 0.0066772 0.00716874 0.00867235 0.0124895 -0.0273527 0.144151 0.0237948 0.0128332 0.00972438 0.0086494 0.0086368 -0.00960595 0.012124 0.0186532 0.0519409 0.168769 0.0274415 0.0168472 -0.013573 0.0126599 0.0132218 0.0154272 0.0206334 0.0347139 0.167251 -0.160616 0.0427908 0.0300666 0.0265956 0.0271387 0.031257 0.0408815 -0.0629442 0.12742 0.493279 0.349672 0.306376 0.580332 0.206306 0.101668 -0.0714685 0.062514 0.0676907 0.104323 0.353551 0.0944194 0.041563 0.0269645 -0.0208623 0.018275 0.0179023 0.019871 0.026466 0.0552343 0.210122 0.0360257 -0.0187501 0.013354 0.0111141 0.0103769 0.0108006 0.0127915 0.0186294 -0.0540238 0.143571 0.0204081 0.0118944 0.00896857 0.00779358 0.00756519 -0.00819558 0.0101941 0.0161696 0.112858 0.0517234 0.0138573 0.00879262 -0.00693584 0.00623926 0.00625377 0.00701581 0.00914921 0.0160388 0.117148 -0.0261512 0.0105415 0.00715798 0.0058701 0.00544549 0.00562179 0.00652455 -0.00894684 0.0178917 0.111641 0.0177391 0.00872213 0.00626704 0.0053223 -0.00508165 0.00539925 0.00648835 0.00941336 0.0229626 0.10839 0.0138139 -0.0077389 0.00583868 0.00512197 0.00502879 0.00550033 0.00685911 0.0106316 -0.0391761 0.0915108 0.011865 0.00732043 0.00576843 0.00521932 0.00526886 -0.00593892 0.0077123 0.0129631 0.102905 0.0340014 0.0110867 0.00738644 -0.0060582 0.00565068 0.00586945 0.00683178 0.00928603 0.0173305 0.124638 -0.0252485 0.01127 0.00801295 0.00682935 0.00657114 0.00703662 0.00848645 -0.0121646 0.0262612 0.142127 0.0237196 0.0126448 0.00953704 0.00845456 -0.00841695 0.0093322 0.0117341 0.0179467 0.0487427 0.167047 0.0268918 -0.0163488 0.0131007 0.0121645 0.0126483 0.0146869 0.0195293 0.0325725 -0.145335 0.169008 0.0404767 0.0280621 0.0245438 0.0247421 0.0280893 -0.0360841 0.0542852 0.106833 0.441136 0.28477 0.192538 0.278205 0.524192 -0.165349 0.0960272 0.0771021 0.0792428 0.116693 0.376564 0.105961 0.0458271 -0.0293692 0.0225008 0.0195468 0.0190057 0.0209423 0.0276532 0.0565316 -0.216854 0.0381816 0.0196572 0.0139231 0.011539 0.0107334 0.0111301 -0.0131253 0.0189883 0.0531342 0.148373 0.0211944 0.0122565 0.00920455 -0.00797432 0.00771916 0.00833784 0.010332 0.0162708 0.111074 0.0564712 -0.0142292 0.00897393 0.00705521 0.00633015 0.00632933 0.00708116 0.00919893 -0.0159831 0.116947 0.0272131 0.01074 0.00725677 0.0059336 0.00549134 -0.00565598 0.00654631 0.00893899 0.0176575 0.112439 0.0181918 0.00883214 -0.00631946 0.00535238 0.00509879 0.005405 0.00647673 0.00935134 0.0223576 -0.108541 0.0140381 0.00779468 0.00585914 0.00512693 0.00502247 0.0054805 -0.00681338 0.0105001 0.0366507 0.0934434 0.0119713 0.00733551 0.00576108 -0.00519994 0.00523753 0.00588904 0.0076215 0.0127185 0.101349 0.0354612 -0.0111121 0.00736176 0.00601912 0.00560052 0.00580373 0.0067372 0.00912188 -0.0168621 0.122315 0.0255818 0.0112155 0.00793511 0.00674228 0.00647076 -0.00691145 0.00831033 0.0118573 0.0252455 0.140322 0.0236728 0.0124705 -0.00936187 0.00827194 0.00821085 0.00907582 0.0113696 0.0172885 0.0458586 -0.165416 0.0263973 0.0158914 0.0126675 0.0117116 0.0121261 0.0140163 -0.018535 0.0306584 0.128088 0.173944 0.0384687 0.0263373 0.0228031 -0.0227451 0.0255086 0.0322848 0.0476676 0.0916693 0.399253 0.243897 -0.14202 0.153661 0.308794 0.457105 0.14757 0.100976 0.0959326 0.133219 -0.403543 0.120147 0.0510017 0.0322337 0.0244214 0.0210175 0.0202671 -0.0221558 0.0289898 0.0580603 0.224094 0.0405651 0.0206513 0.014544 -0.0120011 0.0111199 0.0114867 0.0134866 0.0193809 0.0524683 0.153285 -0.0220377 0.0126426 0.00945561 0.00816641 0.00788277 0.00848923 0.0104797 -0.0163865 0.107018 0.0624409 0.0146217 0.00916469 0.00718085 0.00642601 -0.00640938 0.00715111 0.00925425 0.0159398 0.116932 0.028367 0.0109485 -0.00736053 0.00600056 0.00554004 0.00569283 0.006571 0.00893536 0.017441 -0.113445 0.0186725 0.0089476 0.0063749 0.00538472 0.00511797 0.00541286 -0.00646774 0.00929402 0.0217995 0.108073 0.0142751 0.00785416 0.00588192 -0.0051338 0.00501803 0.00546281 0.00677068 0.0103754 0.0345342 0.0952094 -0.0120852 0.00735372 0.00575603 0.00518267 0.00520844 0.00584193 0.00753503 -0.0124857 0.0998115 0.0371676 0.0111434 0.0073405 0.00598296 0.00555332 -0.00574144 0.00664723 0.00896553 0.0164193 0.120183 0.025957 0.0111683 -0.00786269 0.00666027 0.00637577 0.00679272 0.00814316 0.0115661 0.0242976 -0.138694 0.0236531 0.0123091 0.00919773 0.00810049 0.00801741 0.00883545 -0.0110285 0.0166751 0.043251 0.163981 0.0259545 0.0154713 0.0122693 -0.0112962 0.0116488 0.0134059 0.0176346 0.0289367 0.114119 0.176753 -0.0367114 0.0248377 0.0213082 0.0210561 0.0233663 0.0292032 0.0424492 -0.0800532 0.364611 0.216039 0.113189 0.107511 0.14529 0.414725 0.345125 -0.147488 0.122189 0.156339 0.435695 0.137936 0.0574046 0.0357009 0.0267024 -0.0227367 0.0217227 0.0235414 0.0305055 0.059858 0.232031 0.0432141 -0.0217463 0.0152243 0.0125051 0.01154 0.0118732 0.0138779 0.0198092 -0.0519963 0.158342 0.0229424 0.0130542 0.00972284 0.00837071 0.00805682 -0.0086506 0.0106383 0.0165181 0.100623 0.070387 0.015037 0.0093658 -0.00731329 0.00652718 0.00649412 0.00722573 0.00931515 0.0159083 0.117032 -0.0296246 0.0111673 0.00746936 0.00607105 0.00559166 0.00573249 0.00659878 -0.00893611 0.0172416 0.114685 0.0191837 0.00906882 0.0064335 0.00541941 -0.00513921 0.00542282 0.00646134 0.00924126 0.0212836 0.107861 0.0145255 -0.00791741 0.00590706 0.0051426 0.00501545 0.00544724 0.00673092 0.0102571 -0.0327235 0.096902; -#A 6000 0.0122069 0.00737504 0.00575324 0.00516745 0.00518156 0.00579757 -0.00745284 0.0122643 0.0982692 0.039197 0.011181 0.00732271 0.00594972 -0.005509 0.00568242 0.00656155 0.00881636 0.016 0.118272 0.0263769 -0.0111281 0.00779527 0.00658296 0.00628584 0.00668014 0.00798459 0.0112902 -0.0234127 0.137285 0.0236612 0.01216 0.0090441 0.00793949 0.00783563 -0.00860968 0.0107085 0.0161015 0.040882 0.161713 0.0255579 0.0150842 -0.0119021 0.0109141 0.0112112 0.0128486 0.0168165 0.0273826 0.102585 -0.178043 0.0351663 0.0235239 0.0200116 0.0196097 0.0215601 0.0266538 -0.0382294 0.0708757 0.335154 0.196122 0.094498 0.0830599 0.0967453 -0.155125 0.497301 0.284785 0.169794 0.190955 0.47532 0.160837 0.0655302 -0.0399829 0.0294547 0.0247722 0.0234196 0.0251364 0.0322342 0.061959 -0.24058 0.0461682 0.0229563 0.0159721 0.0130566 0.0119981 0.0122936 -0.0143031 0.0202782 0.0517045 0.163591 0.0239161 0.0134945 0.0100079 -0.00858835 0.00824212 0.00882255 0.0108082 0.0166656 0.0907822 0.0821166 -0.0154761 0.00957766 0.00745282 0.00663393 0.00658385 0.0073054 0.00938209 -0.0158891 0.117273 0.031001 0.011397 0.00758365 0.0061453 0.00564636 -0.005775 0.00662962 0.00894114 0.0170583 0.116166 0.0197277 0.00919595 -0.00649531 0.00545648 0.00516256 0.00543495 0.00645757 0.00919305 0.0208061 -0.107869 0.0147902 0.00798455 0.0059346 0.00515334 0.00501474 0.00543376 -0.00669407 0.010145 0.0311501 0.0985999 0.0123367 0.00739951 0.00575271 -0.00515428 0.00515681 0.00575583 0.00737466 0.0120535 0.0948985 0.0416661 -0.0112246 0.00730823 0.00591921 0.00546744 0.00562656 0.00648008 0.00867423 -0.0156029 0.116516 0.0268463 0.0110947 0.00773281 0.00651021 0.00620073 -0.00657327 0.0078339 0.0110284 0.0225845 0.136083 0.0236963 0.0120223 -0.00890001 0.00778807 0.00766461 0.00839744 0.0104083 0.0155651 0.0387252 -0.15908 0.0252053 0.0147274 0.011563 0.0105616 0.0108086 0.0123377 -0.0160697 0.0259722 0.0928937 0.178429 0.0337983 0.0223636 0.0188764 -0.0183575 0.0200173 0.0245109 0.0347492 0.063454 0.309613 0.181515 -0.0813964 0.0678649 0.0728221 0.0978969 0.18457 0.555665 0.285777 0.248575 -0.526204 0.191291 0.0761688 0.0454006 0.0328395 0.0272193 0.0254225 -0.0269917 0.0342235 0.0644214 0.249948 0.0494826 0.024301 0.0167979 -0.0136626 0.0124992 0.0127519 0.0147657 0.0207909 0.0515763 0.169028 -0.0249648 0.0139655 0.0103123 0.00882043 0.00843967 0.0090061 0.0109906 -0.0168305 0.0781251 0.0969237 0.0159414 0.00980132 0.00760003 0.00674664 -0.0066788 0.00739023 0.00945506 0.0158817 0.117601 0.0325133 0.0116383 -0.00770353 0.0062234 0.00570423 0.00582051 0.00666373 0.00895065 0.0168907 -0.116269 0.0203075 0.00932936 0.00656051 0.00549604 0.00518807 0.00544923 -0.0064564 0.00914925 0.0203635 0.108094 0.0150698 0.00805565 0.00596456 -0.00516604 0.0050159 0.00542236 0.00666005 0.0100389 0.0297661 0.100361 -0.0124748 0.00742712 0.00575441 0.00514311 0.00513418 0.00571669 0.00730046 -0.0118529 0.0902642 0.0447712 0.0112745 0.00729708 0.00589145 0.00542856 -0.00557371 0.00640253 0.0085386 0.0152264 0.114966 0.0273697 0.0110679 -0.00767494 0.00644172 0.00612015 0.00647187 0.00769081 0.01078 0.0218091 -0.135113 0.0237593 0.0118956 0.00876509 0.00764565 0.00750357 0.00819759 -0.0101258 0.015062 0.0367531 0.156556 0.0248924 0.0143977 0.011249 -0.0102357 0.0104373 0.011868 0.0153861 0.0246888 0.0846567 0.178105 -0.032584 0.021333 0.0178753 0.0172635 0.0186847 0.0226849 0.0318303 -0.0573308 0.287027 0.170696 0.0717037 0.0574944 0.0585073 0.0718198 -0.109609 0.244872 0.613804 0.365446 0.595248 0.233618 0.0906962 0.0524745 -0.0371019 0.0302153 0.027821 0.0291742 0.036532 0.0673058 0.260125 -0.0532177 0.0258017 0.0177136 0.014331 0.0130494 0.0132532 0.015271 -0.0213534 0.0516087 0.17387 0.0260978 0.014471 0.010638 0.00906836 -0.00865049 0.00920202 0.0111861 0.0170132 0.0709167 0.106619 0.0164345 -0.0100373 0.0077553 0.00686565 0.00677935 0.00748065 0.00953461 0.0158867 -0.11803 0.034184 0.0118919 0.00782944 0.00630563 0.00576543 0.00586908 -0.00670108 0.00896456 0.0167377 0.115699 0.020926 0.00946921 0.00662915 -0.00553811 0.00521578 0.00546574 0.0064579 0.0091099 0.0199531 0.108511 -0.0153654 0.00813087 0.005997 0.00518072 0.00501893 0.00541303 0.00662883 -0.00993872 0.0285371 0.102242 0.0126216 0.00745794 0.00575835 0.00513393 -0.00511359 0.00568003 0.00723002 0.011662 0.0849037 0.0488759 0.0113306 -0.00728914 0.0058663 0.00539226 0.00552378 0.00632883 0.00840935 0.0148695 -0.113562 0.0279535 0.0110477 0.00762163 0.00637737 0.0060439 0.00637558 -0.00755471 0.0105439 0.0210814 0.134404 0.0238498 0.0117789 0.0086385 -0.00751153 0.00735177 0.0080093 0.00986006 0.0145901 0.0349471 0.154235 -0.0246177 0.0140931 0.0109578 0.00993364 0.0100939 0.0114349 0.0147579 -0.0235154 0.0775698 0.177397 0.0315 0.0204117 0.016986 0.0162998 0.0175226 -0.0211113 0.0293492 0.0522013 0.266347 0.162778 0.064252 0.0499661 -0.0489676 0.0568014 0.0783082 0.136139 0.36214 0.695961 0.698198 0.296147 -0.111701 0.0620954 0.0426317 0.0339668 0.0307438 0.031778 0.0392418 -0.0707069 0.271313 0.0574572 0.0274878 0.018735 0.0150718 0.0136559 -0.0138034 0.0158237 0.0219704 0.0517935 0.178485 0.0273232 0.015014 -0.0109869 0.00933354 0.0088758 0.00941154 0.0113961 0.0172154 0.0660719 -0.114182 0.016958 0.0102868 0.00791934 0.00699142 0.00688578 0.00757682 -0.00962074 0.0159036 0.118516 0.0360394 0.0121585 0.00796156 0.00639208 -0.00583009 0.00592088 0.0067419 0.00898309 0.0165993 0.115396 0.0215872 -0.00961592 0.00670143 0.00558283 0.00524575 0.00548449 0.00646201 0.00907485 -0.019572 0.109135 0.0156778 0.0082103 0.00603196 0.00519739 0.00502383 -0.00540576 0.00660037 0.00984415 0.0274368 0.104303 0.0127774 0.00749197 -0.00576451 0.0051267 0.00509505 0.00564583 0.0071633 0.0114803 0.0780132 -0.0547834 0.0113931 0.00728445 0.00584376 0.00535848 0.00547665 0.00625874 -0.008286 0.0145307 0.11235 0.0286047 0.0110339 0.00757257 0.0063169 -0.00597174 0.00628418 0.00742537 0.0103197 0.0203984 0.132643 0.0239691 -0.0116722 0.00851998 0.00738525 0.00720859 0.00783162 0.00960943 0.0141462 -0.0332867 0.152016 0.0243779 0.0138109 0.0106871 0.00965308 0.00977557 -0.0110345 0.0141792 0.0224405 0.0714248 0.176385 0.0305314 0.0195847 -0.0161916 0.015445 0.0165006 0.0197414 0.0272144 0.0478428 0.247093 -0.157214 0.0583477 0.0442522 0.0421522 0.0470199 0.0609747 0.0947195 -0.191533 0.571875 0.883511 0.397533 0.144766 0.0759439 0.0500918 0.0387992 -0.0343819 0.034935 0.0424613 0.0747339 0.283579 0.0622972 0.0293932 -0.0198802 0.0158968 0.0143274 0.0144097 0.0164311 0.0226499 0.0521349 -0.183493 0.0286533 0.0155991 0.0113618 0.00961775 0.00911693 0.00963569 -0.0116214 0.0174375 0.0625447 0.120765 0.017514 0.0105505 0.0080926 -0.00712434 0.00699851 0.00767923 0.00971408 0.0159333 0.119054 0.038115 -0.012439 0.00810038 0.00648308 0.0058984 0.005976 0.00678618 0.00900616 -0.0164746 0.115294 0.0222946 0.00976968 0.00677742 0.00563021 0.00527803 -0.00550554 0.00646885 0.00904417 0.0192183 0.109952 0.0160083 0.00829412 -0.0060695 0.00521609 0.00503062 0.00540053 0.00657463 0.00975506 0.0264454 -0.104905 0.0129426 0.00752927 0.00577291 0.00512143 0.00507849 0.005614 -0.0071001 0.0113074 0.0671305 0.0649132 0.011462 0.00728288 0.00582371 -0.00532712 0.00543224 0.0061922 0.00816846 0.0142091 0.111295 0.0293327 -0.0110264 0.00752775 0.00626022 0.00590351 0.00619738 0.00730226 0.0101063 -0.0197559 0.130293 0.0241173 0.0115745 0.0084088 0.00726621 0.00707343 -0.00766389 0.00937308 0.0137288 0.0317584 0.150039 0.0241722 0.0135498 -0.0104354 0.00939209 0.00947985 0.0106633 0.0136443 0.0214516 0.0660472 -0.175265 0.029662 0.0188383 0.0154778 0.0146819 0.0155953 0.0185389 -0.0253599 0.0441001 0.228876 0.153727 0.0535629 0.0397704 0.0370406 -0.0401391 0.0499399 0.072638 0.130526 0.32249 0.846371 0.590172 0.204529 -0.0976 0.0607064 0.0452565 0.0390331 0.0388412 0.0463476 0.0795529 -0.297176 0.0678708 0.0315638 0.0211731 0.0168209 0.0150746 0.0150805 -0.0171001 0.0233987 0.0526313 0.188806 0.0300989 0.0162303 0.0117649 -0.00992282 0.00937544 0.00987598 0.0118636 0.017682 0.0598674 0.126731 -0.0181057 0.0108299 0.00827591 0.00726497 0.0071179 0.0077881 0.00981468 -0.0159753 0.118305 0.0404548 0.0127341 0.0082461 0.00657876 0.00597049 -0.00603462 0.00683416 0.00903407 0.0163634 0.115417 0.0230532 0.00993098 -0.00685734 0.00568042 0.0053127 0.00552891 0.00647836 0.00901771 0.0188898 -0.110993 0.016358 0.00838241 0.00610965 0.00523683 0.00503932 0.00539736 -0.00655159 0.00967129 0.0255473 0.104639 0.0131176 0.00756989 0.00578353 -0.00511808 0.0050639 0.00558453 0.00704039 0.011143 0.0554063 0.0761368 -0.0115376 0.0072845 0.00580616 0.00529815 0.00539044 0.00612899 0.00805632 -0.0139035 0.110439 0.0301483 0.011025 0.00748688 0.00620708 0.00583899 -0.00611498 0.0071852 0.00990346 0.0191515 0.128134 0.0242961 0.0114859 -0.00830478 0.00715405 0.00694575 0.00750532 0.00914971 0.0133353 0.0303466 -0.148177 0.0239979 0.0133076 0.0102007 0.00914878 0.00920457 0.0103186 -0.0131491 0.0205405 0.0613143 0.174068 0.028882 0.0181628 0.0148338 -0.013997 0.0147881 0.017475 0.0237338 0.0408514 0.211285 0.152229 0.0496093 -0.0361616 0.0330653 0.0350351 0.0422936 0.0588808 0.0988502 0.222845 -0.69215 0.810756 0.346639 0.136378 0.0770252 0.0543244 0.0451866 0.0437953 -0.0511235 0.0853751 0.311959 0.0743392 0.0340557 0.0226428 0.0178624 -0.0159105 0.0158264 0.0178408 0.0242277 0.0532938 0.194574 0.0316761 -0.0169138 0.0121998 0.010251 0.00965302 0.0101338 0.0121239 0.0179494 -0.0577822 0.132438 0.0187355 0.0111257 0.00846986 0.0074138 0.00724445 -0.00790398 0.00992326 0.0160306 0.116655 0.0431196 0.0130449 0.00839932 -0.00667947 0.00604659 0.00609685 0.00688586 0.00906671 0.0162652 0.115692 -0.0238678 0.0101 0.00694126 0.00573349 0.00534982 0.0055547 0.00649065 -0.00899559 0.0185849 0.112256 0.0167281 0.0084754 0.00615253 0.00525967 -0.00504993 0.00539623 0.00653121 0.00959269 0.0247298 0.10459 0.0133028 -0.00761388 0.0057964 0.00511666 0.00505125 0.00555734 0.00698402 0.0109865 -0.0487477 0.082515 0.0116198 0.00728921 0.005791 0.00527147 0.00535119 -0.00606907 0.00794948 0.0136133 0.109771 0.031066 0.0110299 0.00744999 -0.00615744 0.00577805 0.00603673 0.00707372 0.00971025 0.0185817 0.126202 -0.024506 0.0114055 0.00820729 0.00704826 0.00682508 0.0073554 0.00893865 -0.0129643 0.0290413 0.146573 0.0238547 0.0130834; -#A 7000 0.00998181 0.0089217 0.00894784 0.00999764 0.0126892 0.0196979 -0.0571178 0.172154 0.0281797 0.0175485 0.0142498 0.013379 0.0140643 -0.0165277 0.022298 0.03801 0.193641 0.152865 0.0462953 0.0331963 0.0298869 -0.0310989 0.036682 0.0494797 0.079407 0.169172 0.587408 0.52868 0.656099 -0.227161 0.105411 0.0679945 0.0537104 0.0502826 0.0571314 0.0925224 -0.32844 0.0819285 0.0369462 0.0243284 0.019045 0.0168514 0.0166599 -0.0186637 0.025147 0.054127 0.200667 0.0334 0.0176549 0.0126697 0.0106048 -0.00995168 0.0104109 0.0124044 0.0182424 0.0561429 0.137959 0.0194075 -0.0114398 0.00867544 0.00757147 0.0073786 0.00802717 0.0100399 0.0160988 -0.114915 0.0461912 0.0133724 0.00856026 0.00678537 0.00612686 0.00616292 -0.00694155 0.00910442 0.01618 0.116175 0.024745 0.0102774 0.00702947 -0.00578959 0.00538947 0.00558292 0.0065057 0.00897765 0.018302 0.113785 -0.0171202 0.00857318 0.00619815 0.00528462 0.00506247 0.00539717 0.00651348 -0.00951915 0.0239829 0.104738 0.0134987 0.00766129 0.00581152 0.00511716 -0.00504053 0.0055324 0.00693094 0.0108378 0.0441421 0.0870949 0.0117089 -0.00729705 0.00577826 0.00524706 0.00531439 0.00601224 0.00784759 0.0133373 -0.107848 0.0321033 0.0110408 0.00741682 0.00611108 0.0057205 0.00596248 -0.00696768 0.0095264 0.0180446 0.124437 0.0247493 0.0113334 0.00811621 -0.00694855 0.00671099 0.00721346 0.00873881 0.0126137 0.0278304 0.145123 -0.0237405 0.0128754 0.0097773 0.00870934 0.00870802 0.00969837 0.0122614 -0.0189177 0.053381 0.1697 0.0275486 0.0169888 0.0137185 0.012819 0.0134117 -0.015679 0.0210207 0.0355035 0.175257 0.15612 0.0434791 0.030717 0.0272882 -0.0279717 0.0323889 0.0426485 0.0662529 0.135653 0.513282 0.376712 -0.378899 0.550469 0.167872 0.0910139 0.0663048 0.0591414 0.0649082 -0.101448 0.347289 0.0909283 0.0403342 0.026279 0.0203983 0.017918 0.0175971 -0.0195833 0.026172 0.0551494 0.207294 0.0352921 0.0184618 0.0131793 -0.0109872 0.0102737 0.0107093 0.0127065 0.0185623 0.0548496 0.143469 -0.0201248 0.0117732 0.00889338 0.0077386 0.00752095 0.00815831 0.0101655 -0.016181 0.112913 0.0497892 0.0137178 0.00872963 0.00689688 0.00621157 -0.00623294 0.00700127 0.00914713 0.0161071 0.11679 0.0256911 0.0104634 -0.00712203 0.00584877 0.00543173 0.00561369 0.00652362 0.00896404 0.0180398 -0.114082 0.0175358 0.00867601 0.00624663 0.00531175 0.00507698 0.00540016 -0.00649837 0.00945051 0.0232981 0.105073 0.0137059 0.0077122 0.00582892 -0.00511957 0.00503171 0.00550968 0.00688103 0.0106965 0.0406518 0.0908022 -0.011805 0.00730797 0.00576784 0.00522483 0.00528 0.00595848 0.00775057 -0.013075 0.104978 0.0332841 0.0110579 0.0073874 0.00606796 0.00566623 -0.005892 0.00686667 0.00935115 0.0175374 0.122897 0.0250272 0.0112689 -0.00803099 0.00685449 0.00660306 0.00707907 0.00854968 0.0122826 0.0267065 -0.143935 0.0236554 0.0126828 0.00958625 0.00851061 0.00848361 0.00941867 -0.0118625 0.0181929 0.050033 0.167271 0.02698 0.0164767 0.0132331 0.0123094 -0.0128208 0.0149148 0.0198783 0.03328 0.154545 0.163169 0.0410632 0.0286156 -0.0251252 0.0254282 0.0289991 0.0374602 0.0567603 0.112748 0.457116 -0.300063 0.216524 0.381461 0.44072 0.138395 0.0868365 0.0719669 0.075367 -0.112876 0.369059 0.101755 0.0443605 0.0285627 0.0219618 0.0191365 -0.0186578 0.0206161 0.0273183 0.0563735 0.214304 0.0373737 0.0193422 -0.0137329 0.0114013 0.0106216 0.0110312 0.0130328 0.0189122 0.0538427 -0.148114 0.0208924 0.0121281 0.00912488 0.00791599 0.00767205 0.00829779 -0.0103002 0.016277 0.110499 0.0540922 0.0140821 0.0089077 0.0070142 -0.0063009 0.00630717 0.00706533 0.00919523 0.0160468 0.1176 0.0267147 -0.0106585 0.00721926 0.00591122 0.00547671 0.00564701 0.00654439 0.00895463 -0.017797 0.113506 0.0179766 0.008784 0.006298 0.00534108 0.00509348 -0.00540524 0.00648589 0.00938672 0.0226686 0.105586 0.0139249 0.00776668 -0.0058486 0.00512389 0.00502478 0.00548913 0.00683424 0.0105623 0.0378632 -0.0940896 0.0119084 0.00732201 0.00575976 0.00520477 0.00524792 0.00590761 -0.00765812 0.0128253 0.10221 0.0346395 0.0110809 0.00736151 0.00602789 -0.00561509 0.00582516 0.00677058 0.00918428 0.0170584 0.121512 0.0253427 -0.0112121 0.00795154 0.00676587 0.00650094 0.00695169 0.00837031 0.0119692 -0.0256602 0.142962 0.0235978 0.0125041 0.00940739 0.0083243 0.00827335 -0.00915698 0.01149 0.017519 0.0470234 0.164936 0.0264696 0.0160077 -0.0127887 0.0118441 0.0122833 0.0142233 0.0188504 0.0312938 0.13526 -0.170215 0.0389694 0.0268123 0.0232972 0.0233197 0.0262557 0.0333873 -0.0495909 0.0961308 0.412561 0.253495 0.154092 0.177449 0.462974 0.305205 -0.126526 0.0922132 0.0901749 0.127955 0.394587 0.114981 0.0492174 0.03127 -0.0237876 0.0205412 0.0198677 0.021784 0.0286083 0.0578276 0.221907 -0.0396748 0.020307 0.0143368 0.0118513 0.0109984 0.0113792 0.0133853 -0.019294 0.0530739 0.152208 0.0217141 0.0125057 0.00937087 0.00810437 -0.0078326 0.00844638 0.010445 0.0163881 0.107324 0.0593937 0.014467 -0.00909527 0.0071378 0.00639517 0.00638578 0.00713379 0.00924865 0.0159985 -0.118551 0.0278248 0.0108632 0.00732125 0.00597701 0.00552447 0.00568303 -0.00656817 0.00894958 0.0175727 0.113195 0.0184446 0.00889745 0.00635242 -0.00537268 0.00511199 0.00541241 0.006476 0.00932762 0.0220885 0.106287 -0.0141564 0.00782481 0.0058706 0.00513014 0.00501972 0.00547074 0.00679049 -0.0104349 0.0355572 0.0971976 0.0120192 0.00733912 0.00575395 0.00518682 -0.00521812 0.00585961 0.00757016 0.0125879 0.0994838 0.0362132 0.0111101 -0.00733918 0.00599085 0.00556697 0.00576176 0.00667906 0.00902513 0.0166052 -0.120357 0.0256977 0.0111625 0.0078774 0.00668228 0.00640428 0.00683096 -0.00820031 0.0116726 0.0246856 0.141211 0.0235681 0.012339 0.00924007 -0.00814954 0.00807606 0.00891162 0.0111414 0.0168903 0.0443037 0.162672 -0.0260107 0.0155767 0.0123802 0.0114176 0.0117927 0.0135949 0.0179216 -0.0295119 0.11989 0.174468 0.0371434 0.02525 0.0217333 0.0215441 0.0239905 -0.0301056 0.0439855 0.0835329 0.375806 0.222363 0.120447 0.118255 0.172418 -0.505228 0.240512 0.129124 0.112776 0.148726 0.425038 0.131467 0.0551907 -0.0345305 0.0259468 0.0221775 0.0212593 0.0231137 0.0300666 0.0595354 -0.230016 0.0422259 0.0213673 0.0149973 0.0123416 0.0114078 0.0117563 -0.0137674 0.0197116 0.0525165 0.156473 0.0225963 0.0129087 0.00963282 -0.00830474 0.00800332 0.00860457 0.0106001 0.0165142 0.102918 0.0662205 -0.0148736 0.00929271 0.00726794 0.0064946 0.00646904 0.00720698 0.00930784 -0.0159626 0.119691 0.0290331 0.0110781 0.00742836 0.00604635 0.00557515 -0.00572177 0.00659491 0.00894876 0.0173657 0.113119 0.0189419 0.00901647 -0.0064099 0.00540658 0.00513256 0.0054217 0.00646875 0.00927319 0.0215528 -0.107172 0.0144009 0.00788668 0.00589495 0.00513831 0.00501654 0.00545447 -0.00674971 0.010314 0.0336036 0.0988207 0.0121377 0.00735937 0.00575044 -0.00517095 0.00519051 0.00581432 0.00748644 0.0123619 0.0967144 0.0380668 -0.0111453 0.00732023 0.00595666 0.00552173 0.00570171 0.00659201 0.00887351 -0.0161766 0.119377 0.026096 0.01112 0.00780851 0.00660357 0.00631279 -0.00671641 0.00803887 0.0113913 0.0237752 0.138746 0.0235652 0.0121861 -0.00908323 0.00798537 0.00789073 0.00868136 0.0108148 0.0163037 0.0418397 -0.160561 0.0256006 0.0151803 0.0120041 0.0110257 0.0113433 0.0130215 -0.0170781 0.0279038 0.107318 0.177026 0.0355382 0.0238835 0.0203804 -0.0200289 0.0220893 0.0274065 0.039486 0.0736696 0.344807 0.200377 -0.0993326 0.0891912 0.107691 0.190213 0.528712 0.219925 0.151636 0.179077 -0.462308 0.152502 0.0627056 0.0385298 0.0285385 0.024107 0.0228765 -0.0246408 0.0317279 0.0615405 0.23879 0.0450698 0.0225385 0.0157227 -0.0128777 0.0118536 0.0121659 0.0141819 0.0201676 0.0521449 0.160944 -0.0235441 0.013339 0.00991191 0.00851804 0.00818505 0.00877326 0.0107666 -0.0166566 0.0960914 0.0756902 0.0153039 0.00950095 0.00740516 0.00659956 -0.00655716 0.00728501 0.00937275 0.0159385 0.119767 0.0303523 0.0113037 -0.00754071 0.00611932 0.00562885 0.00576339 0.0066248 0.00895237 0.0171754 -0.113262 0.019471 0.00914141 0.00647063 0.00544288 0.00515523 0.00543311 -0.00646408 0.00922327 0.0210574 0.108268 0.0146593 0.00795238 0.00592167 -0.00514842 0.00501523 0.0054403 0.00671185 0.0101995 0.0319187 0.0991985 -0.0122641 0.00738273 0.00574916 0.00515712 0.00516508 0.00577173 0.00740688 -0.012147 0.0938149 0.0402937 0.0111866 0.0073047 0.00592531 0.00547931 -0.00564483 0.00650911 0.00872886 0.0157706 0.118641 0.026541 0.0110843 -0.00774446 0.00652939 0.00622618 0.00660777 0.00788568 0.0111247 0.0229246 -0.136507 0.0235899 0.012045 0.0089364 0.00783111 0.00771644 0.00846489 -0.0105082 0.0157546 0.0395968 0.158551 0.025234 0.0148145 0.0116567 -0.0106645 0.0109302 0.0124966 0.0163095 0.026448 0.0968556 0.178395 -0.0341214 0.0226802 0.0191995 0.0187213 0.0204714 0.0251478 0.0357951 -0.0657419 0.317991 0.18432 0.0848325 0.0718238 0.0787571 0.110309 0.23596 -0.544372 0.235454 0.227684 0.509386 0.180189 0.0724451 0.0435503 0.0317061 -0.026415 0.0247775 0.0264107 0.0336331 0.0638846 0.2478 0.0482519 0.0238368 -0.0165224 0.0134658 0.0123409 0.0126122 0.014633 0.0206671 0.0519485 -0.165652 0.0245653 0.0137997 0.01021 0.00874547 0.00837869 0.00895311 -0.010945 0.0168156 0.0837796 0.090951 0.0157592 0.00972042 0.00754977 -0.00671033 0.00665047 0.00736827 0.00944389 0.0159268 0.11893 0.0317992 -0.0115407 0.00765869 0.00619617 0.0056857 0.00580792 0.00665782 0.00896029 -0.0170009 0.113599 0.0200343 0.00927243 0.00653463 0.0054816 0.00518004 -0.00544671 0.00646206 0.00917788 0.0205986 0.109584 0.0149323 0.00802204 -0.00595082 0.00516048 0.00501578 0.00542822 0.00667686 0.0100912 0.0304455 -0.0996663 0.0123987 0.00740925 0.00575013 0.00514531 0.00514176 0.00573171 -0.00733126 0.0119423 0.0906185 0.0430425 0.0112341 0.00729243 0.00589666 -0.00543958 0.00559102 0.0064303 0.00859101 0.015386 0.11813 0.0270376 -0.0110553 0.00768523 0.00645963 0.00614421 0.00650462 0.00774006 0.0108716 -0.0221279 0.134449 0.0236414 0.0119148 0.00879866 0.00768595 0.00755235 -0.00826123 0.0102201 0.0152406 0.0375513 0.156747 0.024909 0.0144771 -0.0113354 0.0103307 0.0105496 0.0120144 0.0156062 0.0251233 0.0880096 -0.178497 0.0328631 0.0216126 0.01816 0.017582 0.0190785 0.023231 0.0327152 -0.0592418 0.294371 0.172428 0.0742655 0.0602596 0.0622326 0.0782025 -0.125128 0.329614 0.551505 0.318891 0.571973 0.218101 0.0855532 0.0500357 -0.0356635; -#A 8000 0.0292238 0.0270435 0.0284856 0.0358391 0.0666361 0.25731 0.0518354 -0.0252848 0.0174084 0.0141138 0.0128752 0.0130997 0.0151247 0.0212138 -0.0519132 0.170592 0.0256667 0.0142932 0.0105285 0.00898823 0.00858529 -0.0091452 0.0111366 0.0169928 0.0744628 0.103445 0.016242 0.00995225 -0.00770242 0.00682732 0.00674923 0.00745688 0.00952124 0.015927 0.118227 -0.0333927 0.0117895 0.00778246 0.00627699 0.00574581 0.00585552 0.00669417 -0.00897276 0.0168418 0.114138 0.0206351 0.00940989 0.00660211 0.00552286 -0.00520703 0.00546248 0.00646265 0.00913687 0.0201731 0.111161 0.0152208 -0.00809573 0.00598241 0.00517451 0.0050182 0.00541821 0.00664468 0.00998869 -0.0291432 0.100231 0.0125418 0.00743893 0.00575333 0.00513548 0.00512052 -0.00569424 0.00725953 0.0117476 0.08689 0.0465746 0.0112878 0.00728345 -0.00587071 0.00540248 0.00554015 0.00635529 0.00845947 0.0150212 0.11667 -0.027591 0.0110328 0.00763045 0.00639398 0.00606661 0.00640673 0.00760173 -0.0106314 0.0213814 0.132597 0.0237207 0.0117952 0.00866967 0.00754937 -0.00739773 0.0080693 0.00994894 0.0147579 0.0356781 0.15507 0.0246218 -0.014165 0.0110374 0.0100215 0.0101978 0.0115702 0.014961 0.0239149 -0.0804503 0.177484 0.0317431 0.0206606 0.0172388 0.0165809 0.0178672 -0.0215843 0.0301066 0.0538174 0.27315 0.163631 0.0662248 0.052002 0.0515217 -0.0606932 0.0858532 0.157524 0.50081 0.568672 0.66183 0.272981 0.104139 -0.0587363 0.040747 0.0327148 0.0297887 0.0309491 0.0384177 0.0698689 -0.267753 0.0558904 0.0269072 0.0183944 0.0148308 0.0134635 0.0136344 -0.0156627 0.0218143 0.0520383 0.17582 0.0268584 0.0148236 0.0108699 -0.00924784 0.00880597 0.00935041 0.0113419 0.0171884 0.0686021 0.112788 -0.016754 0.010197 0.00786349 0.00695088 0.0068538 0.0075513 0.00960538 -0.0159398 0.117649 0.0351578 0.0120513 0.00791248 0.00636207 0.00580936 -0.00590628 0.00673384 0.00898967 0.016697 0.114856 0.0212766 0.00955397 -0.0066731 0.00556667 0.00523627 0.00548052 0.00646592 0.00910028 0.0197785 -0.111678 0.0155258 0.00817362 0.00601651 0.00519053 0.0050225 0.00541026 -0.00661527 0.00989195 0.027982 0.100904 0.0126938 0.00747183 0.00575876 -0.00512763 0.00510131 0.00565921 0.00719148 0.0115622 0.0820958 0.0514115 -0.0113478 0.00727765 0.00584732 0.00536789 0.00549213 0.00628404 0.00833411 -0.0146752 0.114191 0.0282082 0.0110169 0.00758012 0.00633234 0.00599319 -0.00631377 0.00747013 0.0104029 0.0206803 0.130937 0.0238276 0.0116853 -0.00854865 0.00742069 0.00725192 0.00788835 0.00969355 0.0143048 0.03396 -0.153636 0.0243711 0.0138765 0.0107609 0.00973466 0.00987196 0.0111598 -0.0143667 0.0228076 0.073916 0.17612 0.030741 0.0198065 0.0164171 0.0156946 -0.0168046 0.0201552 0.0278708 0.0492299 0.253748 0.157307 0.0599105 -0.0458126 0.0440114 0.049641 0.0654426 0.104554 0.223945 0.681188 0.811426 -0.359114 0.132526 0.0710154 0.0475145 0.0371692 0.0331821 0.0339208 -0.0414708 0.0736973 0.27937 0.0605142 0.0287382 0.0194984 0.0156281 -0.0141139 0.0142226 0.0162527 0.022474 0.0523176 0.181311 0.0281494 -0.015394 0.011236 0.00952584 0.00904207 0.00957002 0.0115626 0.0174045 -0.0644839 0.119791 0.017298 0.0104559 0.00803374 0.0070815 0.00696451 -0.0076517 0.00969633 0.0159646 0.117114 0.0371244 0.0123264 0.00804891 -0.00645153 0.00587648 0.00596035 0.00677705 0.00901129 0.0165666 0.115787 -0.0219627 0.00970512 0.00674783 0.00561319 0.0052678 0.00550081 0.00647183 -0.00906798 0.0194122 0.111097 0.0158482 0.00825579 0.00605316 0.00520855 -0.00502868 0.00540437 0.0065886 0.00980076 0.0269391 0.101698 0.012855 -0.00750796 0.00576641 0.00512172 0.00508412 0.00562661 0.00712707 0.0113859 -0.0749761 0.0588577 0.0114142 0.00727507 0.0058265 0.00533577 0.00544684 -0.00621629 0.00821448 0.0143467 0.111924 0.0288968 0.0110071 0.00753392 -0.00627446 0.00592373 0.00622552 0.00734503 0.0101859 0.0200218 0.129473 -0.0239635 0.0115849 0.00843535 0.0072995 0.0071143 0.00771748 0.00945252 -0.0138783 0.0323783 0.152389 0.0241537 0.0136091 0.0105035 0.00946782 -0.00956945 0.0107797 0.0138184 0.0217911 0.0682264 0.174471 0.029844 -0.0190375 0.0156803 0.014905 0.0158653 0.0189036 0.0259333 0.0453002 -0.235656 0.153081 0.0548235 0.0410012 0.0384528 0.0420239 0.052896 -0.0783037 0.144895 0.373586 0.888351 0.513547 0.181291 0.0896639 0.0569689 -0.0430482 0.0374818 0.0375726 0.0451355 0.0782575 0.292229 0.0658204 -0.0308176 0.0207417 0.0165195 0.0148364 0.0148728 0.0169024 0.0232017 -0.0527573 0.187155 0.0295529 0.0160098 0.0116299 0.00982417 0.00929501 -0.00980518 0.0117994 0.0176416 0.0614137 0.125166 0.0178761 0.0107297 -0.00821366 0.00721962 0.0070818 0.00775859 0.00979475 0.0160024 0.116601 -0.0393326 0.0126161 0.0081923 0.00654568 0.00594735 0.00601784 0.00682381 -0.00903751 0.0164497 0.116905 0.0226974 0.00986353 0.00682635 0.00566244 -0.00530169 0.00552345 0.00648049 0.00904004 0.0190722 0.110781 0.0161893 -0.00834244 0.00609243 0.00522863 0.00503675 0.00540052 0.00656463 0.00971494 -0.0259968 0.102625 0.0130258 0.0075474 0.0057763 0.00511775 0.00506889 -0.00559635 0.00706613 0.0112181 0.0603102 0.0741465 0.0114871 0.00727559 -0.00580812 0.00530604 0.00540421 0.00615201 0.00810049 0.0140348 0.109808 -0.0296674 0.0110036 0.00749186 0.00622026 0.00585806 0.00614171 0.00722593 -0.00997929 0.019402 0.128218 0.0241287 0.0114934 0.00832909 0.00718522 -0.00698433 0.00755608 0.00922506 0.0134768 0.0309204 0.150583 0.0239692 -0.0133616 0.0102638 0.00921929 0.009288 0.0104269 0.0133106 0.0208542 -0.0632288 0.172719 0.0290377 0.0183414 0.015016 0.0141973 0.0150294 -0.017799 0.0242397 0.0419021 0.218373 0.150802 0.0506459 0.0371568 -0.0341739 0.036455 0.0443942 0.0625675 0.106977 0.247025 0.735121 0.785901 -0.285192 0.121425 0.0711118 0.0511644 0.0431051 0.0421667 0.0496141 -0.0837563 0.306632 0.071967 0.0332001 0.0221524 0.0175223 0.0156434 -0.0155945 0.0176202 0.0240052 0.0533577 0.193296 0.0310811 0.0166751 -0.0120541 0.0101448 0.00956651 0.0100575 0.0120543 0.0179021 0.0590532 -0.130149 0.0184919 0.0110201 0.00840414 0.00736581 0.00720606 0.00787222 -0.00990072 0.0160528 0.116037 0.0418334 0.0129209 0.00834285 0.00664468 -0.00602214 0.00607894 0.00687437 0.00906865 0.0163462 0.118256 0.0234861 -0.0100297 0.00690893 0.00571458 0.00533802 0.00554845 0.00649184 0.00901632 -0.0187565 0.110715 0.0165503 0.00843366 0.00613437 0.00525077 0.00504674 -0.00539873 0.00654335 0.00963438 0.0251412 0.103703 0.0132066 0.00759017 -0.00578842 0.00511571 0.00505562 0.00556841 0.00700861 0.0110585 0.0517564 -0.0824143 0.0115667 0.00727928 0.00579222 0.00527864 0.00536414 0.00609097 -0.00799174 0.0137384 0.107856 0.0305319 0.0110062 0.00745366 0.00616951 -0.00579599 0.00606216 0.00711267 0.00978281 0.0188186 0.127164 0.0243248 -0.0114105 0.00822971 0.00707754 0.00686151 0.00740342 0.00900995 0.0130979 -0.029572 0.148002 0.023815 0.0131319 0.0100402 0.00898734 0.00902568 -0.0100987 0.0128397 0.0199895 0.0588157 0.170878 0.0283136 0.0177099 -0.0144147 0.0135598 0.0142811 0.0168171 0.0227467 0.0389345 0.201443 -0.150501 0.0471562 0.0340151 0.030779 0.0322065 0.0382515 0.052072 -0.0846422 0.183278 0.616544 0.612187 0.603043 0.188199 0.094625 0.063099 -0.0507729 0.0481176 0.0552029 0.0904649 0.322808 0.0791491 0.0359532 -0.0237651 0.018658 0.01655 0.0163998 0.0184172 0.0248969 0.0541321 -0.19984 0.0327517 0.0173968 0.0125126 0.0104904 0.00985842 0.0103285 -0.0123283 0.0181867 0.0572036 0.134993 0.0191479 0.0113277 0.0086058 -0.0075206 0.00733781 0.00799316 0.010015 0.0161167 0.115359 0.0446975 -0.0132422 0.00850119 0.00674889 0.00610107 0.00614377 0.00692875 0.00910461 -0.0162556 0.118715 0.0243339 0.0102039 0.00699561 0.00576965 0.00537685 -0.0055759 0.00650601 0.00899694 0.0184636 0.110856 0.0169325 0.00852967 -0.00617906 0.00527504 0.00505865 0.00539898 0.00652471 0.00955891 0.024361 -0.104953 0.013398 0.00763635 0.00580279 0.00511558 0.00504427 0.00554273 -0.00695436 0.0109067 0.0462873 0.086433 0.011653 0.00728604 0.00577868 -0.00525349 0.00532656 0.00603315 0.00788816 0.0134568 0.106014 0.0315067 -0.0110151 0.00741935 0.00612216 0.0057374 0.00598662 0.0070048 0.00959561 -0.0182683 0.126354 0.0245528 0.0113357 0.00813662 0.00697596 0.00674539 -0.007259 0.00880657 0.0127406 0.0283239 0.145637 0.0236909 0.0129192 -0.0098316 0.00877063 0.00878074 0.00979271 0.0124017 0.0191884 0.0548909 -0.16905 0.0276612 0.0171343 0.013868 0.0129829 0.0136076 0.0159393 -0.0214221 0.0363253 0.184143 0.152485 0.0442045 0.0314024 0.0280213 -0.0288594 0.0336058 0.0445705 0.0699074 0.144894 0.534604 0.410064 -0.507428; -#X coords 0 1 8819 -1 300 100 1; -#X restore 365 698 graph; -#X obj 232 768 t f b; -#X obj 246 823 count 8820; -#X obj 209 848 tabwrite score; -#X text 56 47 if the two signals are of identical values then the output -is a 1 If they differ by the window value set by the third inlet then -the output is 0.5.; -#X text 56 138 the third outlet is an overall score for each signal -vector block. divide by the blocksize to get the average for each block. -; -#X text 253 708 divide by; -#X text 254 719 blocksize; -#X connect 0 0 13 0; -#X connect 0 1 17 0; -#X connect 1 0 0 0; -#X connect 2 0 0 1; -#X connect 3 0 4 0; -#X connect 4 0 1 0; -#X connect 4 0 9 0; -#X connect 5 0 6 0; -#X connect 6 0 2 0; -#X connect 6 0 10 0; -#X connect 7 0 8 0; -#X connect 8 0 0 2; -#X connect 8 0 11 0; -#X connect 10 0 19 0; -#X connect 13 0 14 0; -#X connect 17 0 15 0; -#X connect 18 0 17 0; -#X connect 19 0 18 0; -#X connect 21 0 31 0; -#X connect 21 0 36 0; -#X connect 21 0 46 0; -#X connect 22 0 24 0; -#X connect 22 0 21 0; -#X connect 23 0 22 0; -#X connect 24 0 25 0; -#X connect 25 0 36 0; -#X connect 25 0 47 0; -#X connect 25 0 31 1; -#X connect 26 0 27 0; -#X connect 27 0 28 0; -#X connect 28 0 24 1; -#X connect 29 0 25 1; -#X connect 29 0 21 1; -#X connect 31 0 36 1; -#X connect 31 1 36 2; -#X connect 31 2 55 0; -#X connect 32 0 33 0; -#X connect 33 0 34 0; -#X connect 34 0 31 2; -#X connect 36 0 41 0; -#X connect 36 0 41 1; -#X connect 36 1 46 0; -#X connect 36 1 47 0; -#X connect 37 0 36 3; -#X connect 39 0 36 5; -#X connect 40 0 36 4; -#X connect 48 0 49 0; -#X connect 50 0 51 0; -#X connect 52 0 29 0; -#X connect 52 0 36 6; -#X connect 53 0 54 0; -#X connect 54 0 28 0; -#X connect 55 0 56 0; -#X connect 56 0 57 0; -#X connect 57 0 59 0; -#X connect 59 0 61 0; -#X connect 59 1 60 0; -#X connect 60 0 61 1; diff --git a/simile~/simile~.c b/simile~/simile~.c deleted file mode 100644 index 4bf456a..0000000 --- a/simile~/simile~.c +++ /dev/null @@ -1,84 +0,0 @@ -/* - * simile~ : windowed similarity comparison for signals - * Copyright (C) 2005 edward kelly - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "m_pd.h" - -static t_class *simile_tilde_class; - -typedef struct _simile_tilde { - t_object x_obj; - t_sample f_win; - t_float x_dummy; - t_outlet *f_frame; -} t_simile_tilde; - -t_int *simile_tilde_perform(t_int *w) { - t_simile_tilde *x = (t_simile_tilde *)(w[1]); - t_sample *in1 = (t_sample *)(w[2]); - t_sample *in2 = (t_sample *)(w[3]); - t_sample *out = (t_sample *)(w[4]); - t_sample *sign = (t_sample *)(w[5]); - int n = (int)(w[6]); - - t_sample f_win = x->f_win > 0 ? x->f_win : 0.01; - t_float f_accum = 0; - while (n--) { - float i1=(*in1++); - float i2=(*in2++); - float win = x->f_win > 0 ? x->f_win : 0.001; - float min = i1 > i2 ? i1 - i2 : i2 - i1; - f_accum += *out++ = 1/((min/win)+1); - *sign++ = i1 >= i2 ? 1 : -1; - } - outlet_float(x->f_frame, f_accum); - return (w+7); -} - -void simile_tilde_dsp(t_simile_tilde *x, t_signal **sp) { - dsp_add(simile_tilde_perform, 6, x, - sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[3]->s_vec, sp[0]->s_n); -} - -void *simile_tilde_new(t_floatarg f) { - t_simile_tilde *x = (t_simile_tilde *)pd_new(simile_tilde_class); - - x->f_win = f > 0 ? f : 0.01; /* window defaults to 0.01 if no argument given */ - - inlet_new (&x->x_obj, &x->x_obj.ob_pd, &s_signal, &s_signal); - floatinlet_new (&x->x_obj, &x->f_win); - outlet_new(&x->x_obj, &s_signal); - outlet_new(&x->x_obj, &s_signal); - x->f_frame = outlet_new(&x->x_obj, gensym("float")); - return (void *)x; -} - -void simile_tilde_setup(void) { - simile_tilde_class = class_new(gensym("simile~"), - (t_newmethod)simile_tilde_new, - 0, sizeof(t_simile_tilde), - CLASS_DEFAULT, A_DEFFLOAT, 0); - - post("|~~~~~~~~~~~~&simile~&~~~~~~~~~~~~~~|"); - post("|~&weighted similarity measurement&~|"); - post("|~~&edward&~~~~~&kelly&~~~~~&2005&~~|"); - - - class_addmethod(simile_tilde_class, - (t_method)simile_tilde_dsp, gensym("dsp"), 0); - CLASS_MAINSIGNALIN(simile_tilde_class, t_simile_tilde, x_dummy); -} diff --git a/steady-help.pd b/steady-help.pd new file mode 100644 index 0000000..260409f --- /dev/null +++ b/steady-help.pd @@ -0,0 +1,110 @@ +#N canvas 455 323 616 303 10; +#N canvas 0 22 696 311 fiddle-example 0; +#X obj 139 187 steady; +#X floatatom 98 223 5 0 0 3 max - -; +#X floatatom 148 223 5 0 0 3 min - -; +#X floatatom 199 224 5 0 0 3 through - -; +#X floatatom 197 159 5 0 0 0 - - -; +#X msg 197 127 5; +#X obj 197 103 loadbang; +#X text 202 172 maximum; +#X text 209 183 jump; +#N canvas 0 22 359 329 bad-fm 0; +#X obj 43 170 osc~ 380; +#X obj 43 243 osc~ 550; +#X obj 43 223 +~ 550; +#X obj 43 198 *~ 440; +#X obj 43 144 +~ 280; +#X obj 43 120 line~; +#X obj 43 97 pack f 1000; +#X obj 43 31 metro 1000; +#X obj 43 50 t b b; +#X msg 72 69 0; +#X obj 43 264 outlet~; +#X obj 122 7 inlet; +#X msg 43 71 850; +#X connect 0 0 3 0; +#X connect 1 0 10 0; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 4 0 0 0; +#X connect 5 0 4 0; +#X connect 6 0 5 0; +#X connect 7 0 8 0; +#X connect 8 0 12 0; +#X connect 8 1 9 0; +#X connect 9 0 5 0; +#X connect 11 0 7 0; +#X connect 12 0 6 0; +#X restore 87 102 pd bad-fm; +#X obj 87 124 fiddle~; +#X obj 117 145 unpack; +#X floatatom 123 168 5 0 0 0 - - -; +#X obj 109 79 switch~; +#X obj 87 50 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X text 271 84 steady can be useful for eliminating errors from the +raw pitch output of fiddle~; +#X obj 36 244 dac~; +#X obj 70 167 bng 15 250 50 0 empty empty reset 0 -6 0 8 -262144 -1 +-1; +#X text 272 115 or for just keeping the values within range of a specific +pitch from changing too quickly - so that a sort of 'closest pitch' +output is given from the rightmost outlet; +#X obj 32 216 *~ 0.4; +#X connect 0 0 1 0; +#X connect 0 1 2 0; +#X connect 0 2 3 0; +#X connect 4 0 0 1; +#X connect 5 0 4 0; +#X connect 6 0 5 0; +#X connect 9 0 10 0; +#X connect 9 0 19 0; +#X connect 10 2 11 0; +#X connect 11 0 12 0; +#X connect 12 0 0 0; +#X connect 14 0 9 0; +#X connect 14 0 13 0; +#X connect 17 0 0 0; +#X connect 19 0 16 0; +#X connect 19 0 16 1; +#X restore 42 52 pd fiddle-example; +#X obj 45 187 steady; +#X obj 44 107 random 100; +#X obj 44 88 metro 100; +#X floatatom 45 132 5 0 0 0 - - -; +#X msg 102 147 8; +#X obj 102 129 loadbang; +#X floatatom 102 165 5 0 0 0 - - -; +#X text 106 178 maximum; +#X text 114 190 jump; +#X floatatom 27 217 5 0 0 3 max - -; +#X floatatom 77 217 5 0 0 3 min - -; +#X floatatom 128 218 5 0 0 3 through - -; +#X obj 53 162 bng 15 250 50 0 empty empty set-value 0 -6 0 8 -262144 +-1 -1; +#X text 40 269 (c) 2005 Edward Kelly ; +#X text 194 28 steady takes a stream of numbers as its input.; +#X text 193 49 its output is the maximum and minimum and a through +outlet; +#X text 194 95 the right inlet sets the maximum jump between consecutive +numbers in the right inlet \, and any value that is different from +the previous value by +/- more than this number will be filtered out. +; +#X text 194 144 banging the left inlet causes steady to re-initialise +\, so that the first number after the bang is let through \, and filtering +occurs from then onwards.; +#X text 194 188 ...sometimes useful to filter out erroneous results +from fiddle~ and other externs...; +#X text 194 73 but...; +#X connect 1 0 10 0; +#X connect 1 1 11 0; +#X connect 1 2 12 0; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 4 0 1 0; +#X connect 5 0 7 0; +#X connect 6 0 5 0; +#X connect 6 0 3 0; +#X connect 7 0 1 1; +#X connect 13 0 1 0; diff --git a/steady.c b/steady.c new file mode 100644 index 0000000..b438895 --- /dev/null +++ b/steady.c @@ -0,0 +1,80 @@ +#include "m_pd.h" +#include + +typedef struct _steady +{ + t_object x_obj; + t_float f_min; + t_float f_max; + t_float f_prev; + t_int resetflag; + t_float f_in, f_maxjump; + t_outlet *max, *min, *smooth; +} t_steady; + +t_class *steady_class; + +void steady_float (t_steady *x, t_floatarg fin) +{ + if (x->resetflag == 0) + { + x->f_max = fin > x->f_max ? fin : x->f_max; + x->f_min = fin < x->f_min ? fin : x->f_min; + outlet_float(x->smooth, fin); + outlet_float(x->min, x->f_min); + outlet_float(x->max, x->f_max); + x->f_prev = fin; + x->resetflag=1; + } + else + { + float min = fin >= x->f_prev ? x->f_prev : fin; + float max = fin <= x->f_prev ? x->f_prev : fin; + fin = (max - min) > x->f_maxjump ? x->f_prev : fin; + x->f_max = fin > x->f_max ? fin : x->f_max; + x->f_min = fin < x->f_min ? fin : x->f_min; + float sm_fin = fabs(fin - x->f_prev) > x->f_maxjump ? x->f_prev : fin; + outlet_float(x->smooth, sm_fin); + outlet_float(x->min, x->f_min); + outlet_float(x->max, x->f_max); + x->f_prev = fin; + } +} + +void steady_bang (t_steady *x) +{ + outlet_float(x->min, x->f_min); + outlet_float(x->max, x->f_max); + x->f_min = 1e08; + x->f_max = -1e08; + x->resetflag=0; +} + +void *steady_new(t_floatarg f) +{ + t_steady *x = (t_steady *)pd_new(steady_class); + x->f_min = 1e08; + x->f_max = -1e08; + x->f_maxjump = f; + x->resetflag = 0; + x->f_prev = 0; + floatinlet_new(&x->x_obj, &x->f_maxjump); + x->max = outlet_new(&x->x_obj, gensym("float")); + x->min = outlet_new(&x->x_obj, gensym("float")); + x->smooth = outlet_new(&x->x_obj, gensym("float")); + return (void *)x; +} + +void steady_setup(void) { + steady_class = class_new(gensym("steady"), + (t_newmethod)steady_new, + 0, sizeof(t_steady), + 0, A_DEFFLOAT, 0); + post("|+++++++++++++++++>steady<------------------|"); + post("|+>max, min and through must not jump more<-|"); + post("|+++++++++>than a specified amount<---------|"); + post("|+++>edward<------->kelly<++++++++>2005<----|"); + + class_addbang(steady_class, steady_bang); + class_addfloat(steady_class, steady_float); +} diff --git a/steady/makefile b/steady/makefile deleted file mode 100644 index 19b93ca..0000000 --- a/steady/makefile +++ /dev/null @@ -1,105 +0,0 @@ -current: - echo make pd_linux, pd_nt, pd_irix5, pd_irix6 or pd_darwin - -clean: ; rm -f *.pd_* *.o - -# ----------------------- NT ----------------------- - -pd_nt: steady.dll - -.SUFFIXES: .obj .dll - -PDNTCFLAGS = /W3 /WX /DNT /DPD /nologo -VC="D:\Program Files\Microsoft Visual Studio\Vc98" - -PDNTINCLUDE = /I. /I\tcl\include /I..\..\src /I$(VC)\include - -PDNTLDIR = $(VC)\lib -PDNTLIB = $(PDNTLDIR)\libc.lib \ - $(PDNTLDIR)\oldnames.lib \ - $(PDNTLDIR)\kernel32.lib \ - ..\..\bin\pd.lib - -.c.dll: - cl $(PDNTCFLAGS) $(PDNTINCLUDE) /c $*.c - link /dll /export:$*_setup $*.obj $(PDNTLIB) - -# ----------------------- IRIX 5.x ----------------------- - -pd_irix5: steady.pd_irix5 - -INSTALL_PREFIX=/usr/local -EXT=pd_irix5 -.SUFFIXES: .pd_irix5 - -SGICFLAGS5 = -o32 -DPD -DUNIX -DIRIX -O2 - - -SGIINCLUDE = -I/usr/local/include - -.c.pd_irix5: - cc $(SGICFLAGS5) $(SGIINCLUDE) -o $*.o -c $*.c - ld -elf -shared -rdata_shared -o $*.pd_irix5 $*.o - rm $*.o - -# ----------------------- IRIX 6.x ----------------------- - -pd_irix6: steady.pd_irix6 - -INSTALL_PREFIX=/usr/local -EXT=pd_irix6 -.SUFFIXES: .pd_irix6 - -SGICFLAGS5 = -o32 -DPD -DUNIX -DIRIX -O2 - - -SGIINCLUDE = -I/usr/local/include - -.c.pd_irix6: - cc $(SGICFLAGS5) $(SGIINCLUDE) -o $*.o -c $*.c - ld -elf -shared -rdata_shared -o $*.pd_irix6 $*.o - rm $*.o - -# ----------------------- LINUX i386 ----------------------- - -pd_linux: steady.pd_linux - -INSTALL_PREFIX=/usr/local -EXT=pd_linux -.SUFFIXES: .pd_linux - -LINUXCFLAGS = -DPD -O2 -funroll-loops -fomit-frame-pointer \ - -Wall -W -Wshadow -Wstrict-prototypes -Werror \ - -Wno-unused -Wno-parentheses -Wno-switch - -LINUXINCLUDE = -I/usr/local/include - -.c.pd_linux: - cc $(LINUXCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c - ld --export-dynamic -shared -o $*.pd_linux $*.o -lc -lm - strip --strip-unneeded $*.pd_linux - rm $*.o - -# ----------------------- Mac OSX ----------------------- - -pd_darwin: steady.pd_darwin - -INSTALL_PREFIX=/usr/local -EXT=pd_darwin -.SUFFIXES: .pd_darwin - -DARWINCFLAGS = -DPD -O2 -Wall -W -Wshadow -Wstrict-prototypes \ - -Wno-unused -Wno-parentheses -Wno-switch - -.c.pd_darwin: - cc $(DARWINCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c - cc -bundle -undefined suppress -flat_namespace -o $*.pd_darwin $*.o - rm -f $*.o - -# ---------------------------------------------- - -install:: - install -d $(INSTALL_PREFIX)/lib/pd/extra -# install -m 644 *.$(EXT) $(INSTALL_PREFIX)/lib/pd/externs - -install -m 644 steady.$(EXT) $(INSTALL_PREFIX)/lib/pd/extra - install -m 644 *.pd $(INSTALL_PREFIX)/lib/pd/doc/5.reference diff --git a/steady/steady-help.pd b/steady/steady-help.pd deleted file mode 100644 index 260409f..0000000 --- a/steady/steady-help.pd +++ /dev/null @@ -1,110 +0,0 @@ -#N canvas 455 323 616 303 10; -#N canvas 0 22 696 311 fiddle-example 0; -#X obj 139 187 steady; -#X floatatom 98 223 5 0 0 3 max - -; -#X floatatom 148 223 5 0 0 3 min - -; -#X floatatom 199 224 5 0 0 3 through - -; -#X floatatom 197 159 5 0 0 0 - - -; -#X msg 197 127 5; -#X obj 197 103 loadbang; -#X text 202 172 maximum; -#X text 209 183 jump; -#N canvas 0 22 359 329 bad-fm 0; -#X obj 43 170 osc~ 380; -#X obj 43 243 osc~ 550; -#X obj 43 223 +~ 550; -#X obj 43 198 *~ 440; -#X obj 43 144 +~ 280; -#X obj 43 120 line~; -#X obj 43 97 pack f 1000; -#X obj 43 31 metro 1000; -#X obj 43 50 t b b; -#X msg 72 69 0; -#X obj 43 264 outlet~; -#X obj 122 7 inlet; -#X msg 43 71 850; -#X connect 0 0 3 0; -#X connect 1 0 10 0; -#X connect 2 0 1 0; -#X connect 3 0 2 0; -#X connect 4 0 0 0; -#X connect 5 0 4 0; -#X connect 6 0 5 0; -#X connect 7 0 8 0; -#X connect 8 0 12 0; -#X connect 8 1 9 0; -#X connect 9 0 5 0; -#X connect 11 0 7 0; -#X connect 12 0 6 0; -#X restore 87 102 pd bad-fm; -#X obj 87 124 fiddle~; -#X obj 117 145 unpack; -#X floatatom 123 168 5 0 0 0 - - -; -#X obj 109 79 switch~; -#X obj 87 50 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 -; -#X text 271 84 steady can be useful for eliminating errors from the -raw pitch output of fiddle~; -#X obj 36 244 dac~; -#X obj 70 167 bng 15 250 50 0 empty empty reset 0 -6 0 8 -262144 -1 --1; -#X text 272 115 or for just keeping the values within range of a specific -pitch from changing too quickly - so that a sort of 'closest pitch' -output is given from the rightmost outlet; -#X obj 32 216 *~ 0.4; -#X connect 0 0 1 0; -#X connect 0 1 2 0; -#X connect 0 2 3 0; -#X connect 4 0 0 1; -#X connect 5 0 4 0; -#X connect 6 0 5 0; -#X connect 9 0 10 0; -#X connect 9 0 19 0; -#X connect 10 2 11 0; -#X connect 11 0 12 0; -#X connect 12 0 0 0; -#X connect 14 0 9 0; -#X connect 14 0 13 0; -#X connect 17 0 0 0; -#X connect 19 0 16 0; -#X connect 19 0 16 1; -#X restore 42 52 pd fiddle-example; -#X obj 45 187 steady; -#X obj 44 107 random 100; -#X obj 44 88 metro 100; -#X floatatom 45 132 5 0 0 0 - - -; -#X msg 102 147 8; -#X obj 102 129 loadbang; -#X floatatom 102 165 5 0 0 0 - - -; -#X text 106 178 maximum; -#X text 114 190 jump; -#X floatatom 27 217 5 0 0 3 max - -; -#X floatatom 77 217 5 0 0 3 min - -; -#X floatatom 128 218 5 0 0 3 through - -; -#X obj 53 162 bng 15 250 50 0 empty empty set-value 0 -6 0 8 -262144 --1 -1; -#X text 40 269 (c) 2005 Edward Kelly ; -#X text 194 28 steady takes a stream of numbers as its input.; -#X text 193 49 its output is the maximum and minimum and a through -outlet; -#X text 194 95 the right inlet sets the maximum jump between consecutive -numbers in the right inlet \, and any value that is different from -the previous value by +/- more than this number will be filtered out. -; -#X text 194 144 banging the left inlet causes steady to re-initialise -\, so that the first number after the bang is let through \, and filtering -occurs from then onwards.; -#X text 194 188 ...sometimes useful to filter out erroneous results -from fiddle~ and other externs...; -#X text 194 73 but...; -#X connect 1 0 10 0; -#X connect 1 1 11 0; -#X connect 1 2 12 0; -#X connect 2 0 4 0; -#X connect 3 0 2 0; -#X connect 4 0 1 0; -#X connect 5 0 7 0; -#X connect 6 0 5 0; -#X connect 6 0 3 0; -#X connect 7 0 1 1; -#X connect 13 0 1 0; diff --git a/steady/steady.c b/steady/steady.c deleted file mode 100644 index b438895..0000000 --- a/steady/steady.c +++ /dev/null @@ -1,80 +0,0 @@ -#include "m_pd.h" -#include - -typedef struct _steady -{ - t_object x_obj; - t_float f_min; - t_float f_max; - t_float f_prev; - t_int resetflag; - t_float f_in, f_maxjump; - t_outlet *max, *min, *smooth; -} t_steady; - -t_class *steady_class; - -void steady_float (t_steady *x, t_floatarg fin) -{ - if (x->resetflag == 0) - { - x->f_max = fin > x->f_max ? fin : x->f_max; - x->f_min = fin < x->f_min ? fin : x->f_min; - outlet_float(x->smooth, fin); - outlet_float(x->min, x->f_min); - outlet_float(x->max, x->f_max); - x->f_prev = fin; - x->resetflag=1; - } - else - { - float min = fin >= x->f_prev ? x->f_prev : fin; - float max = fin <= x->f_prev ? x->f_prev : fin; - fin = (max - min) > x->f_maxjump ? x->f_prev : fin; - x->f_max = fin > x->f_max ? fin : x->f_max; - x->f_min = fin < x->f_min ? fin : x->f_min; - float sm_fin = fabs(fin - x->f_prev) > x->f_maxjump ? x->f_prev : fin; - outlet_float(x->smooth, sm_fin); - outlet_float(x->min, x->f_min); - outlet_float(x->max, x->f_max); - x->f_prev = fin; - } -} - -void steady_bang (t_steady *x) -{ - outlet_float(x->min, x->f_min); - outlet_float(x->max, x->f_max); - x->f_min = 1e08; - x->f_max = -1e08; - x->resetflag=0; -} - -void *steady_new(t_floatarg f) -{ - t_steady *x = (t_steady *)pd_new(steady_class); - x->f_min = 1e08; - x->f_max = -1e08; - x->f_maxjump = f; - x->resetflag = 0; - x->f_prev = 0; - floatinlet_new(&x->x_obj, &x->f_maxjump); - x->max = outlet_new(&x->x_obj, gensym("float")); - x->min = outlet_new(&x->x_obj, gensym("float")); - x->smooth = outlet_new(&x->x_obj, gensym("float")); - return (void *)x; -} - -void steady_setup(void) { - steady_class = class_new(gensym("steady"), - (t_newmethod)steady_new, - 0, sizeof(t_steady), - 0, A_DEFFLOAT, 0); - post("|+++++++++++++++++>steady<------------------|"); - post("|+>max, min and through must not jump more<-|"); - post("|+++++++++>than a specified amount<---------|"); - post("|+++>edward<------->kelly<++++++++>2005<----|"); - - class_addbang(steady_class, steady_bang); - class_addfloat(steady_class, steady_float); -} diff --git a/stink.wav b/stink.wav new file mode 100755 index 0000000..aec9986 Binary files /dev/null and b/stink.wav differ diff --git a/valve-help.pd b/valve-help.pd new file mode 100644 index 0000000..d5c7cef --- /dev/null +++ b/valve-help.pd @@ -0,0 +1,34 @@ +#N canvas 0 0 450 300 10; +#X obj 126 189 valve; +#X msg 60 46 map 0 0 1 1 1 1 0 0; +#X obj 21 82 loadbang; +#X text 116 66 ^; +#X text 116 68 |; +#X text 116 78 |; +#X text 116 88 |; +#X text 116 98 |; +#X msg 115 114 2; +#X floatatom 103 233 5 0 0 0 - - -; +#X floatatom 166 233 5 0 0 0 - - -; +#X msg 194 104 4; +#X text 145 66 ^; +#X text 145 68 |; +#X text 145 78 |; +#X text 145 88 |; +#X text 145 98 |; +#X text 171 66 ^; +#X text 171 68 |; +#X text 171 68 |; +#X text 171 78 |; +#X text 171 78 |; +#X text 175 78 _________; +#X msg 240 82 6; +#X text 149 98 ______; +#X connect 0 0 9 0; +#X connect 0 1 10 0; +#X connect 1 0 0 0; +#X connect 2 0 1 0; +#X connect 2 0 8 0; +#X connect 8 0 0 1; +#X connect 11 0 0 0; +#X connect 23 0 0 0; diff --git a/valve.c b/valve.c new file mode 100644 index 0000000..a83808c --- /dev/null +++ b/valve.c @@ -0,0 +1,123 @@ +/* takes a map like 0 1 3 4 7 and a route. if the route and the input are */ +/* non-zero in the map, then the route is output from the object */ +#include "m_pd.h" +#include +#include +#define MAXENTRIES 512 +#define LASTENTRY 511 + +static t_class *valve_class; + +typedef struct _valve +{ + t_object x_obj; + + t_atom *map; + int bufsize; + + t_float input, router, max; + t_outlet *routed, *notrouted; + + int flush; +} t_valve; + +static void valve_map(t_valve *x, t_symbol *s, int n, t_atom *map) +{ + if (x->map) { + freebytes(x->map, x->bufsize * sizeof(t_atom)); + x->map = 0; + x->bufsize = 0; + } + + x->map = copybytes(map, n * sizeof(t_atom)); + x->bufsize = n; +} + +void valve_float(t_valve *x, t_floatarg fin) +{ + if (x->map) { + int arg, arga, argb; + arga = argb = 0; + float testa, testb; + testa = testb = 0; + x->input = fin; + arg = (int)x->input; + testa = fin < 0 ? 0 : atom_getfloatarg(arg, x->bufsize, x->map); + testb = x->router < 0 ? 0 : atom_getfloatarg(x->router, x->bufsize, x->map); + arga = (int)testa; + argb = (int)testb; + if(arga && argb) + { + outlet_float(x->routed, x->router); + } + else if (!argb) + { + outlet_float(x->notrouted, argb); + } + else if (!arga && argb) + { + outlet_float(x->notrouted, arga); + } + } +} + +void valve_set(t_valve *x, t_floatarg fmap, t_floatarg fval) +{ + if(fmap < x->bufsize && fmap >= 0) + { + int imap = (int)fmap; + SETFLOAT(&x->map[imap], fval); + x->max = fmap > x->max ? fmap : x->max; + } +} + +void valve_clear(t_valve *x) +{ + if (x->map) { + freebytes(x->map, x->bufsize * sizeof(t_atom)); + x->map = 0; + x->bufsize = 0; + } +} + +void valve_debug(t_valve *x) +{ + int i; + for(i=0;ibufsize;i++) { + float element = atom_getfloatarg(i, x->bufsize, x->map); + post("element %d = %d", i, element); + } + post("max = %d", x->max); +} + +void *valve_new(t_floatarg f) +{ + t_valve *x = (t_valve *)pd_new(valve_class); + x->max = 0; + int i; + x->map = 0; + x->bufsize = 0; + + floatinlet_new(&x->x_obj, &x->router); + + x->routed = outlet_new(&x->x_obj, &s_float); + x->notrouted = outlet_new(&x->x_obj, &s_float); + return (void *)x; +} + +void valve_setup(void) +{ + valve_class = class_new(gensym("valve"), + (t_newmethod)valve_new, + 0, sizeof(t_valve), + 0, A_DEFFLOAT, 0); + post("|¬~¬~¬~¬~¬~¬valve~¬~¬~¬~¬~¬~¬|"); + post("|~>^^^integer map router^^^<¬|"); + post("|¬~¬~¬Edward Kelly 2007~¬~¬~¬|"); + + class_addfloat(valve_class, valve_float); + class_addmethod(valve_class, (t_method)valve_set, gensym("set"), A_DEFFLOAT, A_DEFFLOAT, 0); + class_addmethod(valve_class, (t_method)valve_map, gensym("map"), A_GIMME, 0); + class_addmethod(valve_class, (t_method)valve_clear, gensym("clear"), A_DEFFLOAT, 0); + class_addmethod(valve_class, (t_method)valve_debug, gensym("debug"), A_DEFFLOAT, 0); +} diff --git a/valve/makefile b/valve/makefile deleted file mode 100644 index 65ef6af..0000000 --- a/valve/makefile +++ /dev/null @@ -1,105 +0,0 @@ -current: - echo make pd_linux, pd_nt, pd_irix5, pd_irix6 or pd_darwin, then make install - -clean: ; rm -f *.pd_* *.o - -# ----------------------- NT ----------------------- - -pd_nt: valve.dll - -INSTALL_PREFIX="C:\pd\extra" -EXT=dll -.SUFFIXES: .obj .dll - -PDNTCFLAGS = /W3 /WX /DNT /DPD /nologo -VC="D:\Program Files\Microsoft Visual Studio\Vc98" - -PDNTINCLUDE = /I. /I\tcl\include /I..\..\src /I$(VC)\include - -PDNTLDIR = $(VC)\lib -PDNTLIB = $(PDNTLDIR)\libc.lib \ - $(PDNTLDIR)\oldnames.lib \ - $(PDNTLDIR)\kernel32.lib \ - ..\..\bin\pd.lib - -.c.dll: - cl $(PDNTCFLAGS) $(PDNTINCLUDE) /c $*.c - link /dll /export:$*_setup $*.obj $(PDNTLIB) - -# ----------------------- IRIX 5.x ----------------------- - -pd_irix5: valve.pd_irix5 - -INSTALL_PREFIX=/usr/local -EXT=pd_irix5 -.SUFFIXES: .pd_irix5 - -SGICFLAGS5 = -o32 -DPD -DUNIX -DIRIX -O2 - -SGIINCLUDE = -I/usr/local/include - -.c.pd_irix5: - cc $(SGICFLAGS5) $(SGIINCLUDE) -o $*.o -c $*.c - ld -elf -shared -rdata_shared -o $*.pd_irix5 $*.o - rm $*.o - -# ----------------------- IRIX 5.x ----------------------- - -pd_irix6: valve.pd_irix6 - -INSTALL_PREFIX=/usr/local -EXT=pd_irix6 -.SUFFIXES: .pd_irix6 - -SGICFLAGS5 = -o32 -DPD -DUNIX -DIRIX -O2 - -SGIINCLUDE = -I/usr/local/include - -.c.pd_irix6: - cc $(SGICFLAGS5) $(SGIINCLUDE) -o $*.o -c $*.c - ld -elf -shared -rdata_shared -o $*.pd_irix6 $*.o - rm $*.o - -# ----------------------- LINUX i386 ----------------------- - -pd_linux: valve.pd_linux - -INSTALL_PREFIX=/usr/local -EXT=pd_linux -.SUFFIXES: .pd_linux - -LINUXCFLAGS = -DPD -O2 -funroll-loops -fomit-frame-pointer \ - -Wall -W -Wshadow -Wstrict-prototypes -Werror \ - -Wno-unused -Wno-parentheses -Wno-switch - -LINUXINCLUDE = -I/usr/local/include - -.c.pd_linux: - cc $(LINUXCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c - ld --export-dynamic -shared -o $*.pd_linux $*.o -lc -lm - strip --strip-unneeded $*.pd_linux - rm $*.o - -# ----------------------- Mac OSX ----------------------- - -pd_darwin: valve.pd_darwin - -INSTALL_PREFIX=/usr/local -EXT=pd_darwin -.SUFFIXES: .pd_darwin - -DARWINCFLAGS = -DPD -O2 -Wall -W -Wshadow -Wstrict-prototypes \ - -Wno-unused -Wno-parentheses -Wno-switch - -.c.pd_darwin: - cc $(DARWINCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c - cc -bundle -undefined suppress -flat_namespace -o $*.pd_darwin $*.o - rm -f $*.o - -# ---------------------------------------------- - -install:: - install -d $(INSTALL_PREFIX)/lib/pd/extra -# install -m 644 *.$(EXT) $(INSTALL_PREFIX)/lib/pd/externs - -install -m 644 valve.$(EXT) $(INSTALL_PREFIX)/lib/pd/extra - install -m 644 *.pd $(INSTALL_PREFIX)/lib/pd/doc/5.reference diff --git a/valve/valve-help.pd b/valve/valve-help.pd deleted file mode 100644 index d5c7cef..0000000 --- a/valve/valve-help.pd +++ /dev/null @@ -1,34 +0,0 @@ -#N canvas 0 0 450 300 10; -#X obj 126 189 valve; -#X msg 60 46 map 0 0 1 1 1 1 0 0; -#X obj 21 82 loadbang; -#X text 116 66 ^; -#X text 116 68 |; -#X text 116 78 |; -#X text 116 88 |; -#X text 116 98 |; -#X msg 115 114 2; -#X floatatom 103 233 5 0 0 0 - - -; -#X floatatom 166 233 5 0 0 0 - - -; -#X msg 194 104 4; -#X text 145 66 ^; -#X text 145 68 |; -#X text 145 78 |; -#X text 145 88 |; -#X text 145 98 |; -#X text 171 66 ^; -#X text 171 68 |; -#X text 171 68 |; -#X text 171 78 |; -#X text 171 78 |; -#X text 175 78 _________; -#X msg 240 82 6; -#X text 149 98 ______; -#X connect 0 0 9 0; -#X connect 0 1 10 0; -#X connect 1 0 0 0; -#X connect 2 0 1 0; -#X connect 2 0 8 0; -#X connect 8 0 0 1; -#X connect 11 0 0 0; -#X connect 23 0 0 0; diff --git a/valve/valve.c b/valve/valve.c deleted file mode 100644 index a83808c..0000000 --- a/valve/valve.c +++ /dev/null @@ -1,123 +0,0 @@ -/* takes a map like 0 1 3 4 7 and a route. if the route and the input are */ -/* non-zero in the map, then the route is output from the object */ -#include "m_pd.h" -#include -#include -#define MAXENTRIES 512 -#define LASTENTRY 511 - -static t_class *valve_class; - -typedef struct _valve -{ - t_object x_obj; - - t_atom *map; - int bufsize; - - t_float input, router, max; - t_outlet *routed, *notrouted; - - int flush; -} t_valve; - -static void valve_map(t_valve *x, t_symbol *s, int n, t_atom *map) -{ - if (x->map) { - freebytes(x->map, x->bufsize * sizeof(t_atom)); - x->map = 0; - x->bufsize = 0; - } - - x->map = copybytes(map, n * sizeof(t_atom)); - x->bufsize = n; -} - -void valve_float(t_valve *x, t_floatarg fin) -{ - if (x->map) { - int arg, arga, argb; - arga = argb = 0; - float testa, testb; - testa = testb = 0; - x->input = fin; - arg = (int)x->input; - testa = fin < 0 ? 0 : atom_getfloatarg(arg, x->bufsize, x->map); - testb = x->router < 0 ? 0 : atom_getfloatarg(x->router, x->bufsize, x->map); - arga = (int)testa; - argb = (int)testb; - if(arga && argb) - { - outlet_float(x->routed, x->router); - } - else if (!argb) - { - outlet_float(x->notrouted, argb); - } - else if (!arga && argb) - { - outlet_float(x->notrouted, arga); - } - } -} - -void valve_set(t_valve *x, t_floatarg fmap, t_floatarg fval) -{ - if(fmap < x->bufsize && fmap >= 0) - { - int imap = (int)fmap; - SETFLOAT(&x->map[imap], fval); - x->max = fmap > x->max ? fmap : x->max; - } -} - -void valve_clear(t_valve *x) -{ - if (x->map) { - freebytes(x->map, x->bufsize * sizeof(t_atom)); - x->map = 0; - x->bufsize = 0; - } -} - -void valve_debug(t_valve *x) -{ - int i; - for(i=0;ibufsize;i++) { - float element = atom_getfloatarg(i, x->bufsize, x->map); - post("element %d = %d", i, element); - } - post("max = %d", x->max); -} - -void *valve_new(t_floatarg f) -{ - t_valve *x = (t_valve *)pd_new(valve_class); - x->max = 0; - int i; - x->map = 0; - x->bufsize = 0; - - floatinlet_new(&x->x_obj, &x->router); - - x->routed = outlet_new(&x->x_obj, &s_float); - x->notrouted = outlet_new(&x->x_obj, &s_float); - return (void *)x; -} - -void valve_setup(void) -{ - valve_class = class_new(gensym("valve"), - (t_newmethod)valve_new, - 0, sizeof(t_valve), - 0, A_DEFFLOAT, 0); - post("|¬~¬~¬~¬~¬~¬valve~¬~¬~¬~¬~¬~¬|"); - post("|~>^^^integer map router^^^<¬|"); - post("|¬~¬~¬Edward Kelly 2007~¬~¬~¬|"); - - class_addfloat(valve_class, valve_float); - class_addmethod(valve_class, (t_method)valve_set, gensym("set"), A_DEFFLOAT, A_DEFFLOAT, 0); - class_addmethod(valve_class, (t_method)valve_map, gensym("map"), A_GIMME, 0); - class_addmethod(valve_class, (t_method)valve_clear, gensym("clear"), A_DEFFLOAT, 0); - class_addmethod(valve_class, (t_method)valve_debug, gensym("debug"), A_DEFFLOAT, 0); -} diff --git a/voicing_detector~-help.pd b/voicing_detector~-help.pd new file mode 100644 index 0000000..6faed88 --- /dev/null +++ b/voicing_detector~-help.pd @@ -0,0 +1,85 @@ +#N canvas 0 0 510 323 10; +#N canvas 119 189 450 300 voxdetect 0; +#X obj 150 156 voicing_detector~; +#X obj 150 99 inlet~; +#X obj 307 124 block~ 1024; +#X obj 264 95 inlet; +#X obj 220 209 outlet~; +#X obj 150 238 outlet; +#X text 81 195 1=voiced; +#X text 81 214 0=unvoiced; +#X text 262 76 threshold (0-100); +#X connect 0 0 5 0; +#X connect 1 0 0 0; +#X connect 1 0 4 0; +#X connect 3 0 0 1; +#X restore 96 199 pd voxdetect; +#X obj 139 71 bng 15 250 50 0 empty empty load-voice -38 -6 0 8 -262144 +-1 -1; +#N canvas 0 0 450 300 play 0; +#X obj 82 157 tabplay~ voice; +#X obj 190 66 inlet; +#X obj 53 67 inlet; +#X obj 111 66 inlet; +#X obj 48 140 metro; +#X obj 84 196 outlet~; +#X connect 0 0 5 0; +#X connect 1 0 4 1; +#X connect 2 0 0 0; +#X connect 3 0 4 0; +#X connect 4 0 0 0; +#X restore 95 139 pd play; +#X obj 95 115 bng 15 250 50 0 empty empty play 0 -6 0 8 -262144 -1 +-1; +#X obj 117 102 tgl 15 0 empty empty loop 0 -6 0 8 -262144 -1 -1 0 1 +; +#N canvas 0 0 450 300 load 0; +#X obj 77 135 soundfiler; +#X obj 77 169 outlet; +#X obj 161 101 loadbang; +#X obj 80 84 openpanel; +#X obj 80 27 inlet; +#X msg 8 101 read -resize \$1 voice; +#X obj 77 152 / 44.1; +#X obj 114 47 samplerate~; +#X obj 114 64 / 1000; +#X msg 77 118 read -resize beauty.wav voice; +#X connect 0 0 6 0; +#X connect 2 0 9 0; +#X connect 3 0 5 0; +#X connect 4 0 3 0; +#X connect 4 0 7 0; +#X connect 5 0 0 0; +#X connect 6 0 1 0; +#X connect 7 0 8 0; +#X connect 8 0 6 1; +#X connect 9 0 0 0; +#X restore 139 86 pd load; +#N canvas 0 0 450 300 graph2 0; +#X array voice 1.31596e+06 float 0; +#X coords 0 1 1.31596e+06 -1 100 70 1; +#X restore 281 55 graph; +#X floatatom 96 234 5 0 0 0 - - -; +#X obj 166 233 dac~; +#X obj 217 44 vsl 15 101 0 100 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 3700 1; +#X floatatom 193 168 5 0 0 0 - - -; +#X text 79 253 The voicing detector estimates whether a frame of speech +is voiced (uses the vocal chords) or unvoiced (does not).; +#X text 128 288 (Gnu) Edward Kelly and Nicolas Chetry 2005; +#X msg 15 131 \; pd dsp \$1; +#X obj 15 102 tgl 15 0 empty empty audio_on 0 -6 0 8 -262144 -1 -1 +0 1; +#X obj 124 162 adc~; +#X connect 0 0 7 0; +#X connect 0 1 8 0; +#X connect 0 1 8 1; +#X connect 1 0 5 0; +#X connect 2 0 0 0; +#X connect 3 0 2 0; +#X connect 4 0 2 1; +#X connect 5 0 2 2; +#X connect 9 0 10 0; +#X connect 10 0 0 1; +#X connect 14 0 13 0; +#X connect 15 0 0 0; diff --git a/voicing_detector~.c b/voicing_detector~.c new file mode 100644 index 0000000..9c14308 --- /dev/null +++ b/voicing_detector~.c @@ -0,0 +1,132 @@ +#include "m_pd.h" +#include + +static t_class *voicing_detector_tilde_class; + +typedef struct _voicing_control +{ + t_float *c_input; + t_float f_sum_abs; + t_atom otemp[4096]; + t_int method; +} t_voicing_control; + +typedef struct _voicing_detector_tilde +{ + t_object x_obj; + t_float f_dummy, f_thresh, f_low, f_high; + t_voicing_control x_ctl; + t_outlet *voiced, *prob; +} t_voicing_detector_tilde; + +static t_int *voicing_detector_tilde_perform(t_int *w) +{ + t_voicing_detector_tilde *x = (t_voicing_detector_tilde *)(w[1]); + t_voicing_control *ctl = (t_voicing_control *)(w[2]); + t_int n = (int)(w[3]); + t_float *in = ctl->c_input; + if (x->f_high < x->f_low) + { + float tmp = x->f_low; + x->f_low = x->f_high; + x->f_high = tmp; + } + t_float current, previous, next, temp0, temp1, avg, max, peak0; + current = previous = next = temp0 = temp1 = avg = max = peak0 = 0; + t_float min = 1000; + t_float samplerate = sys_getsr(); + t_float start = samplerate / x->f_high; + start = start > 1 ? start : 1; + t_float end = samplerate / x->f_low; + end = end < (n-1) ? end : n-1; + t_float result, prob, diff, diff2; + t_int i = 0; + int j; + int l = n; + int maxp = 0; + int maxi = 0; + float temp[n]; + ctl->f_sum_abs = 0.0; + for (i=0;if_sum_abs += fabs(in[i]); /* I have to calculate f_sum_abs for the whole block before I can calculate amdf */ + temp[i] = 0.0; + SETFLOAT(&ctl->otemp[i], 0.0); + } + for (i=1;iotemp); + temp1 += fabs(in[j] - temp[j]); + } + temp1 += ((float)i / (float)l) * ctl->f_sum_abs; + SETFLOAT(&ctl->otemp[i], temp1); + } + + for (i=start+1;iotemp); + current = atom_getfloatarg(i, 2048, ctl->otemp); + next = atom_getfloatarg(i+1, 2048, ctl->otemp); + max = current > max ? current : max; + min = current < min ? current : min; + avg += current; + } + avg = avg / (end-start); + diff = avg - min; + diff2 = max - min; + result = ctl->method == 0 ? ((avg - min) > (x->f_thresh) ? 1 : 0) : ((max - min) > x->f_thresh ? 1 : 0); + prob = diff2 / max; + outlet_float(x->prob, prob); + outlet_float(x->voiced, result); + return(w+4); +} + +void voicing_detector_tilde_bound(t_voicing_detector_tilde *x, t_floatarg f1, t_floatarg f2) +{ + x->f_low = f1; + x->f_high = f2; +} + +void voicing_detector_tilde_method(t_voicing_detector_tilde *x, t_floatarg f) +{ + x->x_ctl.method = f > 0 ? 1 : 0; +} + +void *voicing_detector_tilde_dsp(t_voicing_detector_tilde *x, t_signal **sp) +{ + x->x_ctl.c_input = sp[0]->s_vec; + dsp_add(voicing_detector_tilde_perform, 3, x, &x->x_ctl, sp[0]->s_n); + return (void *)x; +} + +void *voicing_detector_tilde_new(t_floatarg f) +{ + t_voicing_detector_tilde *x = (t_voicing_detector_tilde *)pd_new(voicing_detector_tilde_class); + x->f_thresh = f < 0 ? f : 25; + x->f_low = 60; + x->f_high = 500; + + floatinlet_new (&x->x_obj, &x->f_thresh); + x->voiced = outlet_new(&x->x_obj, gensym("float")); + x->prob = outlet_new(&x->x_obj, gensym("float")); + return (void *)x; +} + +void voicing_detector_tilde_setup(void) +{ + voicing_detector_tilde_class = class_new(gensym("voicing_detector~"), (t_newmethod)voicing_detector_tilde_new, 0, sizeof(t_voicing_detector_tilde), CLASS_DEFAULT, A_DEFFLOAT, 0); + + post("\n-->AMDF voicing detector v0.2"); + post("-->by Nicolas Chetry "); + post("-->& Edward Kelly "); + + class_addmethod(voicing_detector_tilde_class, (t_method)voicing_detector_tilde_bound, gensym("bound"), A_DEFFLOAT, A_DEFFLOAT, 0); + class_addmethod(voicing_detector_tilde_class, (t_method)voicing_detector_tilde_method, gensym("method"), A_DEFFLOAT, 0); + class_addmethod(voicing_detector_tilde_class, (t_method)voicing_detector_tilde_dsp, gensym("dsp"), 0); + + CLASS_MAINSIGNALIN(voicing_detector_tilde_class, t_voicing_detector_tilde, f_dummy); +} diff --git a/voicing_detector~/count.pd b/voicing_detector~/count.pd deleted file mode 100644 index 9be4cf8..0000000 --- a/voicing_detector~/count.pd +++ /dev/null @@ -1,43 +0,0 @@ -#N canvas 529 241 271 210 10; -#X obj 69 42 inlet; -#X obj 180 76 inlet; -#X obj 69 59 f; -#X obj 92 59 + 1; -#X msg 172 148 0; -#X obj 92 76 t f f; -#X obj 106 103 f; -#X obj 150 93 >= \$1; -#X obj 150 131 sel 0 1; -#X obj 172 114 inlet; -#X obj 25 139 outlet; -#X obj 69 139 outlet; -#X obj 69 122 sel 0; -#X text 16 25 INLETS: bang/set reset limit; -#X obj 25 76 t f f; -#X obj 139 59 loadbang; -#X msg 25 93 1; -#X obj 55 99 spigot; -#X msg 139 76 0; -#X text 20 170 OUTLETS: count bang-when-done; -#X connect 0 0 2 0; -#X connect 1 0 7 1; -#X connect 2 0 3 0; -#X connect 2 0 14 0; -#X connect 3 0 5 0; -#X connect 4 0 2 1; -#X connect 4 0 17 1; -#X connect 5 0 7 0; -#X connect 5 1 6 1; -#X connect 6 0 2 1; -#X connect 7 0 8 0; -#X connect 8 0 6 0; -#X connect 8 1 4 0; -#X connect 9 0 4 0; -#X connect 12 0 11 0; -#X connect 14 0 10 0; -#X connect 14 0 16 0; -#X connect 14 1 17 0; -#X connect 15 0 18 0; -#X connect 16 0 17 1; -#X connect 17 0 12 0; -#X connect 18 0 17 1; diff --git a/voicing_detector~/makefile b/voicing_detector~/makefile deleted file mode 100644 index 08f4c8f..0000000 --- a/voicing_detector~/makefile +++ /dev/null @@ -1,106 +0,0 @@ -current: - echo make pd_linux, pd_nt, pd_irix5, pd_irix6 or pd_darwin - -clean: ; rm -f *.pd_* *.o - -# ----------------------- NT ----------------------- - -pd_nt: voicing_detector~.dll - -INSTALL_PREFIX = "C:\pd\extra" -EXT = dll -.SUFFIXES: .obj .dll - -PDNTCFLAGS = /W3 /WX /DNT /DPD /nologo -VC="D:\Program Files\Microsoft Visual Studio\Vc98" - -PDNTINCLUDE = /I. /I\tcl\include /I..\..\src /I$(VC)\include - -PDNTLDIR = $(VC)\lib -PDNTLIB = $(PDNTLDIR)\libc.lib \ - $(PDNTLDIR)\oldnames.lib \ - $(PDNTLDIR)\kernel32.lib \ - ..\..\bin\pd.lib - -.c.dll: - cl $(PDNTCFLAGS) $(PDNTINCLUDE) /c $*.c - link /dll /export:$*_setup $*.obj $(PDNTLIB) - -# ----------------------- IRIX 5.x ----------------------- - -pd_irix5: voicing_detector~.pd_irix5 - -INSTALL_PREFIX = /usr/local -EXT = pd_irix5 -.SUFFIXES: .pd_irix5 - -SGICFLAGS5 = -o32 -DPD -DUNIX -DIRIX -O2 - -SGIINCLUDE = -I/usr/local/include - -.c.pd_irix5: - cc $(SGICFLAGS5) $(SGIINCLUDE) -o $*.o -c $*.c - ld -elf -shared -rdata_shared -o $*.pd_irix5 $*.o - rm $*.o - -# ----------------------- IRIX 5.x ----------------------- - -pd_irix6: voicing_detector~.pd_irix6 - -INSTALL_PREFIX = /usr/local -EXT = pd_irix6 -.SUFFIXES: .pd_irix6 - -SGICFLAGS5 = -o32 -DPD -DUNIX -DIRIX -O2 - -SGIINCLUDE = -I/usr/local/include - -.c.pd_irix6: - cc $(SGICFLAGS5) $(SGIINCLUDE) -o $*.o -c $*.c - ld -elf -shared -rdata_shared -o $*.pd_irix6 $*.o - rm $*.o - -# ----------------------- LINUX i386 ----------------------- - -pd_linux: voicing_detector~.pd_linux - -INSTALL_PREFIX = /usr -EXT = pd_linux -.SUFFIXES: .pd_linux - -LINUXCFLAGS = -DPD -O2 -funroll-loops -fomit-frame-pointer \ - -Wall -W -Wshadow -Wstrict-prototypes -Werror \ - -Wno-unused -Wno-parentheses -Wno-switch - -LINUXINCLUDE = -I/usr/local/include - -.c.pd_linux: - cc $(LINUXCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c - ld --export-dynamic -shared -o $*.pd_linux $*.o -lc -lm - strip --strip-unneeded $*.pd_linux - rm $*.o - -# ----------------------- Mac OSX ----------------------- - -pd_darwin: voicing_detector~.pd_darwin - -INSTALL_PREFIX = /usr/local -EXT = pd_darwin -.SUFFIXES: .pd_darwin - -DARWINCFLAGS = -DPD -O2 -Wall -W -Wshadow -Wstrict-prototypes \ - -Wno-unused -Wno-parentheses -Wno-switch - -.c.pd_darwin: - cc $(DARWINCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c - cc -bundle -undefined suppress -flat_namespace -o $*.pd_darwin $*.o - rm -f $*.o - -# ---------------------------------------------- - -install:: - install -d $(INSTALL_PREFIX)/lib/pd/extra -# install -m 644 *.$(EXT) $(INSTALL_PREFIX)/lib/pd/externs - -install -m 644 voicing_detector~.$(EXT) $(INSTALL_PREFIX)/lib/pd/extra - install -m 644 *.pd $(INSTALL_PREFIX)/lib/pd/doc/5.reference - diff --git a/voicing_detector~/voicing_detector~-help.pd b/voicing_detector~/voicing_detector~-help.pd deleted file mode 100644 index 6faed88..0000000 --- a/voicing_detector~/voicing_detector~-help.pd +++ /dev/null @@ -1,85 +0,0 @@ -#N canvas 0 0 510 323 10; -#N canvas 119 189 450 300 voxdetect 0; -#X obj 150 156 voicing_detector~; -#X obj 150 99 inlet~; -#X obj 307 124 block~ 1024; -#X obj 264 95 inlet; -#X obj 220 209 outlet~; -#X obj 150 238 outlet; -#X text 81 195 1=voiced; -#X text 81 214 0=unvoiced; -#X text 262 76 threshold (0-100); -#X connect 0 0 5 0; -#X connect 1 0 0 0; -#X connect 1 0 4 0; -#X connect 3 0 0 1; -#X restore 96 199 pd voxdetect; -#X obj 139 71 bng 15 250 50 0 empty empty load-voice -38 -6 0 8 -262144 --1 -1; -#N canvas 0 0 450 300 play 0; -#X obj 82 157 tabplay~ voice; -#X obj 190 66 inlet; -#X obj 53 67 inlet; -#X obj 111 66 inlet; -#X obj 48 140 metro; -#X obj 84 196 outlet~; -#X connect 0 0 5 0; -#X connect 1 0 4 1; -#X connect 2 0 0 0; -#X connect 3 0 4 0; -#X connect 4 0 0 0; -#X restore 95 139 pd play; -#X obj 95 115 bng 15 250 50 0 empty empty play 0 -6 0 8 -262144 -1 --1; -#X obj 117 102 tgl 15 0 empty empty loop 0 -6 0 8 -262144 -1 -1 0 1 -; -#N canvas 0 0 450 300 load 0; -#X obj 77 135 soundfiler; -#X obj 77 169 outlet; -#X obj 161 101 loadbang; -#X obj 80 84 openpanel; -#X obj 80 27 inlet; -#X msg 8 101 read -resize \$1 voice; -#X obj 77 152 / 44.1; -#X obj 114 47 samplerate~; -#X obj 114 64 / 1000; -#X msg 77 118 read -resize beauty.wav voice; -#X connect 0 0 6 0; -#X connect 2 0 9 0; -#X connect 3 0 5 0; -#X connect 4 0 3 0; -#X connect 4 0 7 0; -#X connect 5 0 0 0; -#X connect 6 0 1 0; -#X connect 7 0 8 0; -#X connect 8 0 6 1; -#X connect 9 0 0 0; -#X restore 139 86 pd load; -#N canvas 0 0 450 300 graph2 0; -#X array voice 1.31596e+06 float 0; -#X coords 0 1 1.31596e+06 -1 100 70 1; -#X restore 281 55 graph; -#X floatatom 96 234 5 0 0 0 - - -; -#X obj 166 233 dac~; -#X obj 217 44 vsl 15 101 0 100 0 0 empty empty empty 0 -8 0 8 -262144 --1 -1 3700 1; -#X floatatom 193 168 5 0 0 0 - - -; -#X text 79 253 The voicing detector estimates whether a frame of speech -is voiced (uses the vocal chords) or unvoiced (does not).; -#X text 128 288 (Gnu) Edward Kelly and Nicolas Chetry 2005; -#X msg 15 131 \; pd dsp \$1; -#X obj 15 102 tgl 15 0 empty empty audio_on 0 -6 0 8 -262144 -1 -1 -0 1; -#X obj 124 162 adc~; -#X connect 0 0 7 0; -#X connect 0 1 8 0; -#X connect 0 1 8 1; -#X connect 1 0 5 0; -#X connect 2 0 0 0; -#X connect 3 0 2 0; -#X connect 4 0 2 1; -#X connect 5 0 2 2; -#X connect 9 0 10 0; -#X connect 10 0 0 1; -#X connect 14 0 13 0; -#X connect 15 0 0 0; diff --git a/voicing_detector~/voicing_detector~.c b/voicing_detector~/voicing_detector~.c deleted file mode 100644 index 9c14308..0000000 --- a/voicing_detector~/voicing_detector~.c +++ /dev/null @@ -1,132 +0,0 @@ -#include "m_pd.h" -#include - -static t_class *voicing_detector_tilde_class; - -typedef struct _voicing_control -{ - t_float *c_input; - t_float f_sum_abs; - t_atom otemp[4096]; - t_int method; -} t_voicing_control; - -typedef struct _voicing_detector_tilde -{ - t_object x_obj; - t_float f_dummy, f_thresh, f_low, f_high; - t_voicing_control x_ctl; - t_outlet *voiced, *prob; -} t_voicing_detector_tilde; - -static t_int *voicing_detector_tilde_perform(t_int *w) -{ - t_voicing_detector_tilde *x = (t_voicing_detector_tilde *)(w[1]); - t_voicing_control *ctl = (t_voicing_control *)(w[2]); - t_int n = (int)(w[3]); - t_float *in = ctl->c_input; - if (x->f_high < x->f_low) - { - float tmp = x->f_low; - x->f_low = x->f_high; - x->f_high = tmp; - } - t_float current, previous, next, temp0, temp1, avg, max, peak0; - current = previous = next = temp0 = temp1 = avg = max = peak0 = 0; - t_float min = 1000; - t_float samplerate = sys_getsr(); - t_float start = samplerate / x->f_high; - start = start > 1 ? start : 1; - t_float end = samplerate / x->f_low; - end = end < (n-1) ? end : n-1; - t_float result, prob, diff, diff2; - t_int i = 0; - int j; - int l = n; - int maxp = 0; - int maxi = 0; - float temp[n]; - ctl->f_sum_abs = 0.0; - for (i=0;if_sum_abs += fabs(in[i]); /* I have to calculate f_sum_abs for the whole block before I can calculate amdf */ - temp[i] = 0.0; - SETFLOAT(&ctl->otemp[i], 0.0); - } - for (i=1;iotemp); - temp1 += fabs(in[j] - temp[j]); - } - temp1 += ((float)i / (float)l) * ctl->f_sum_abs; - SETFLOAT(&ctl->otemp[i], temp1); - } - - for (i=start+1;iotemp); - current = atom_getfloatarg(i, 2048, ctl->otemp); - next = atom_getfloatarg(i+1, 2048, ctl->otemp); - max = current > max ? current : max; - min = current < min ? current : min; - avg += current; - } - avg = avg / (end-start); - diff = avg - min; - diff2 = max - min; - result = ctl->method == 0 ? ((avg - min) > (x->f_thresh) ? 1 : 0) : ((max - min) > x->f_thresh ? 1 : 0); - prob = diff2 / max; - outlet_float(x->prob, prob); - outlet_float(x->voiced, result); - return(w+4); -} - -void voicing_detector_tilde_bound(t_voicing_detector_tilde *x, t_floatarg f1, t_floatarg f2) -{ - x->f_low = f1; - x->f_high = f2; -} - -void voicing_detector_tilde_method(t_voicing_detector_tilde *x, t_floatarg f) -{ - x->x_ctl.method = f > 0 ? 1 : 0; -} - -void *voicing_detector_tilde_dsp(t_voicing_detector_tilde *x, t_signal **sp) -{ - x->x_ctl.c_input = sp[0]->s_vec; - dsp_add(voicing_detector_tilde_perform, 3, x, &x->x_ctl, sp[0]->s_n); - return (void *)x; -} - -void *voicing_detector_tilde_new(t_floatarg f) -{ - t_voicing_detector_tilde *x = (t_voicing_detector_tilde *)pd_new(voicing_detector_tilde_class); - x->f_thresh = f < 0 ? f : 25; - x->f_low = 60; - x->f_high = 500; - - floatinlet_new (&x->x_obj, &x->f_thresh); - x->voiced = outlet_new(&x->x_obj, gensym("float")); - x->prob = outlet_new(&x->x_obj, gensym("float")); - return (void *)x; -} - -void voicing_detector_tilde_setup(void) -{ - voicing_detector_tilde_class = class_new(gensym("voicing_detector~"), (t_newmethod)voicing_detector_tilde_new, 0, sizeof(t_voicing_detector_tilde), CLASS_DEFAULT, A_DEFFLOAT, 0); - - post("\n-->AMDF voicing detector v0.2"); - post("-->by Nicolas Chetry "); - post("-->& Edward Kelly "); - - class_addmethod(voicing_detector_tilde_class, (t_method)voicing_detector_tilde_bound, gensym("bound"), A_DEFFLOAT, A_DEFFLOAT, 0); - class_addmethod(voicing_detector_tilde_class, (t_method)voicing_detector_tilde_method, gensym("method"), A_DEFFLOAT, 0); - class_addmethod(voicing_detector_tilde_class, (t_method)voicing_detector_tilde_dsp, gensym("dsp"), 0); - - CLASS_MAINSIGNALIN(voicing_detector_tilde_class, t_voicing_detector_tilde, f_dummy); -} diff --git a/voicing_detector~/voicing_detector~test3-help.pd b/voicing_detector~/voicing_detector~test3-help.pd deleted file mode 100644 index f4dedc4..0000000 --- a/voicing_detector~/voicing_detector~test3-help.pd +++ /dev/null @@ -1,275 +0,0 @@ -#N canvas 0 0 728 435 10; -#X floatatom 128 105 5 0 100 2 thresh - -; -#N canvas 0 0 450 300 graph1 0; -#X array testinput 1.31596e+06 float 2; -#X coords 0 1 1.31596e+06 -1 300 60 1; -#X restore 255 18 graph; -#X obj 115 71 tabplay~ testinput; -#X obj 575 252 soundfiler; -#X obj 575 218 openpanel; -#X msg 575 235 read -resize \$1 testinput; -#X obj 575 203 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X obj 115 41 bng 15 250 50 0 empty empty play 0 -6 0 8 -262144 -1 --1; -#X obj 199 54 spigot; -#X obj 228 39 tgl 15 0 empty empty loop 0 -6 0 8 -262144 -1 -1 1 1 -; -#X obj 235 121 tgl 15 0 empty empty on 0 -6 0 8 -262144 -1 -1 1 1; -#N canvas 0 0 450 300 testload 0; -#X floatatom 118 256 0 0 0 0 - - -; -#X obj 118 168 cputime; -#X obj 118 28 loadbang; -#X obj 118 112 metro 1000; -#X msg 118 56 1; -#X floatatom 118 84 0 0 0 0 - - -; -#X obj 118 140 t b b; -#X obj 118 228 * 0.1; -#X text 163 84 <-- on/off; -#X text 51 284 CPU load in percent; -#X connect 1 0 7 0; -#X connect 2 0 4 0; -#X connect 3 0 6 0; -#X connect 4 0 5 0; -#X connect 5 0 3 0; -#X connect 6 0 1 0; -#X connect 6 1 1 1; -#X connect 7 0 0 0; -#X restore 62 240 pd testload; -#N canvas 0 0 450 300 voicingdet~ 0; -#X obj 95 74 inlet; -#X obj 51 74 inlet~; -#X obj 259 117 inlet; -#X obj 259 137 switch~ 1024 1 1; -#X obj 51 126 voicing_detector~; -#X text 83 59 threshold; -#X obj 151 73 inlet; -#X text 148 58 search; -#X obj 206 73 inlet; -#X obj 165 220 outlet; -#X obj 51 218 outlet; -#X text 149 27 peaks; -#X text 204 40 samples; -#X text 207 57 window; -#X connect 0 0 4 1; -#X connect 1 0 4 0; -#X connect 2 0 3 0; -#X connect 4 0 10 0; -#X connect 4 2 9 0; -#X connect 6 0 4 2; -#X connect 8 0 4 3; -#X restore 116 136 pd voicingdet~; -#N canvas 0 0 450 300 graph2 0; -#X array voicing 300 float 3; -#A 0 0 0 0 1 0 0 0 0 1 1 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 0 1 1 1 1 1 1 1 -0 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 1 1 1 -1 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 -0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 -0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 -1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1 1 1 1 1 1 0 0 0 1 0; -#X coords 0 2 299 -1 300 50 1; -#X restore 254 223 graph; -#N canvas 0 0 450 300 graph2 0; -#X array amdf_pitch 300 float 3; -#A 0 inf 52.6308 inf inf inf inf inf inf inf 61.6769 inf inf 79.9839 -81.0009 81.3891 80.4557 68.64 64.1892 inf 66.4698 50.6665 inf inf inf -inf inf inf inf 50.6665 50.6665 50.6665 72.3208 80.0773 72.0166 68.0305 -50.6665 inf inf inf inf inf inf inf 50.6665 inf inf inf inf 50.6665 -inf inf 50.6665 50.6665 inf inf inf 50.6665 77.8829 50.6665 inf 61.011 -63.8438 60.475 54.3953 52.2985 inf 58.8633 51.3383 63.4215 71.0568 -62.7265 70.8633 66.6197 inf 50.6665 inf 55.7069 50.6665 50.6665 50.6665 -inf inf inf inf inf inf inf inf inf 70.4828 68.3603 inf 72.7731 50.6665 -inf 62.1356 inf inf 50.6665 inf inf inf inf inf 50.6665 50.6665 50.6665 -71.1217 75.6314 inf inf inf inf inf inf inf inf 50.6665 inf inf inf -50.6665 inf inf inf inf inf 78.0763 55.3107 50.6665 inf inf inf 50.6665 -inf 50.6665 inf 50.6665 58.9598 76.4972 76.5862 inf 50.6665 50.6665 -inf inf inf 56.3603 50.6665 inf inf 50.6665 inf inf 50.6665 inf 73.5356 -70.5499 76.0095 inf 50.6665 inf inf 50.9078 inf inf inf inf inf inf -inf inf inf 63.716 79.2014 76.856 inf inf 80.648 50.6665 50.6665 inf -50.6665 inf inf inf inf 50.6665 inf inf inf inf inf inf 50.6665 inf -inf inf inf inf inf inf inf 68.4159 inf 50.6665 81.3498 63.4605 81.0393 -inf inf inf inf inf inf 54.5446 60.9024 50.6665 inf 50.6665 inf inf -inf inf inf inf inf inf inf 57.4776 63.716 55.3107 inf inf inf inf -inf inf inf 50.6665 inf 50.6665 inf inf inf 50.6665 50.6665 50.6665 -50.6665 50.6665 inf inf inf inf inf inf inf 69.3891 64.6309 inf 50.6665 -inf inf inf 50.6665 inf inf inf 50.6665 inf inf inf 70.4077 80.6965 -79.0156 80.7342 78.1348 76.2328 78.4102 78.9541 inf inf 50.6665 inf -inf 50.6665 inf 50.6665 inf 50.6665 inf 67.0773 56.6965 inf inf 50.6665 -50.6665 inf inf inf; -#X coords 0 128 299 0 300 50 1; -#X restore 253 159 graph; -#N canvas 0 0 450 300 graph2 0; -#X array fiddle_pitch 300 float 3; -#A 0 42.759 42.5032 42.473 54.6862 54.2724 88.0229 88.184 69.9998 46.2469 -46.1609 36.5253 51.6493 56.2251 57.3686 56.4619 54.6808 0 0 54.0894 -93.1511 68.6615 52.7942 81.0395 66.0331 51.7957 0 68.5582 61.4413 52.6465 -71.037 58.4423 91.8432 92.069 40.0203 0 0 36.8793 58.0122 47.6222 46.0941 -91.8441 91.9697 55.7681 56.0344 55.7733 0 80.8823 81.7433 84.8554 57.472 -55.8532 0 115.991 115.665 77.5622 0 92.1532 95.0497 50.2136 50.1965 -49.5168 48.9704 0 110.374 80.4211 81.7533 120.147 96.2099 77.1305 105.556 -105.273 56.8668 57.1058 58.1518 58.2318 58.253 57.9551 57.9389 57.2086 -58.607 58.7608 58.5285 57.4834 56.6055 44.5336 43.9182 0 55.8955 55.8118 -56.3424 55.9227 0 58.3825 73.8235 73.4276 0 55.4181 54.9552 53.5732 -54.7674 0 70.8503 75.9806 82.2004 80.4199 79.4119 68.8766 77.895 104.482 -105.457 0 42.9514 44.0048 0 43.5638 42.7844 43.0441 43.5913 45.0992 -55.9686 55.7438 0 56.3861 0 118.578 119.062 91.5953 84.6976 82.4846 -116.179 80.4236 0 70.9708 52.6736 36.9783 34.1847 42.4984 73.9364 38.2027 -37.8997 74.0349 40.0425 42.1891 0 0 46.7969 0 42.5967 57.7423 55.0562 -55.214 42.5583 0 0 107.128 66.2461 0 70.8881 62.0142 93.8698 70.2977 -69.6271 65.6152 54.8576 82.2464 46.7154 57.0915 52.4897 0 58.2819 0 -0 48.8379 48.3517 86.5587 57.4985 41.8914 100.744 77.1489 88.6531 101.163 -78.1291 0 58.1589 57.7381 56.8702 54.7868 37.3185 55.048 44.2793 43.7839 -43.6901 44.3304 45.5636 46.8364 47.4256 46.8557 0 66.0394 0 0 37.3535 -53.0011 52.3631 50.8664 52.4876 53.4121 53.9883 42.9063 43.671 56.3301 -0 0 0 0 85.7498 92.9351 92.7796 51.8324 51.7119 50.8787 50.212 49.7494 -49.4586 48.6298 57.9294 44.3071 42.9568 42.047 39.9829 40.5865 40.5722 -42.9498 47.521 48.1418 38.3092 52.8257 53.4445 51.6414 50.1592 47.5694 -44.9923 43.6918 42.54 42.1952 42.3799 88.6103 92.9605 90.0537 82.4926 -0 80.5717 41.5044 53.2398 42.4218 38.5483 38.9727 45.9362 46.204 40.1976 -0 102.734 103.735 103.027 42.8539 44.4726 46.0255 46.6465 58.2084 40.4422 -0 70.0279 73.9915 61.9472 70.0716 81.9317 81.5628 94.0509 53.7554 66.0479 -0 46.3012 44.9257 46.9063 47.3438 65.9144 46.9733 104.83 88.2914 79.6901 -0 74.9976 0 71.7403 45.991 44.0293 44.2378 44.1106 43.711 43.0768; -#X coords 0 128 300 0 300 50 1; -#X restore 254 94 graph; -#N canvas 0 0 450 300 voxwrite 0; -#X obj 87 73 inlet; -#X obj 87 103 t f b; -#X obj 117 132 count 300; -#X obj 87 174 tabwrite voicing; -#X obj 146 88 r \$0-reset-counters; -#X connect 0 0 1 0; -#X connect 1 0 3 0; -#X connect 1 1 2 0; -#X connect 2 0 3 1; -#X connect 4 0 2 1; -#X restore 116 159 pd voxwrite; -#N canvas 0 0 450 300 amdfwrite 0; -#X obj 87 48 inlet; -#X obj 87 103 t f b; -#X obj 117 132 count 300; -#X obj 146 88 r \$0-reset-counters; -#X obj 87 174 tabwrite amdf_pitch; -#X obj 87 75 ftom; -#X connect 0 0 5 0; -#X connect 1 0 4 0; -#X connect 1 1 2 0; -#X connect 2 0 4 1; -#X connect 3 0 2 1; -#X connect 5 0 1 0; -#X restore 146 185 pd amdfwrite; -#X obj 21 170 unpack f f; -#N canvas 0 0 450 300 fidwrite 0; -#X obj 87 73 inlet; -#X obj 87 103 t f b; -#X obj 117 132 count 300; -#X obj 146 88 r \$0-reset-counters; -#X obj 87 174 tabwrite fiddle_pitch; -#X connect 0 0 1 0; -#X connect 1 0 4 0; -#X connect 1 1 2 0; -#X connect 2 0 4 1; -#X connect 3 0 2 1; -#X restore 21 196 pd fidwrite; -#X floatatom 173 105 3 3 50 2 peaks - -; -#N canvas 0 0 450 300 amgatewrite 0; -#X obj 161 28 inlet; -#X obj 87 121 t f b; -#X obj 117 150 count 300; -#X obj 146 106 r \$0-reset-counters; -#X obj 59 25 inlet; -#X obj 59 45 swap; -#X obj 59 83 spigot; -#X msg 106 83 0; -#X obj 87 174 tabwrite amdf_gated_pitch; -#X connect 0 0 5 1; -#X connect 1 0 8 0; -#X connect 1 1 2 0; -#X connect 2 0 8 1; -#X connect 3 0 2 1; -#X connect 4 0 5 0; -#X connect 5 0 6 0; -#X connect 5 1 6 1; -#X connect 5 1 7 0; -#X connect 6 0 1 0; -#X connect 7 0 1 0; -#X restore 107 298 pd amgatewrite; -#N canvas 0 0 450 300 graph2 0; -#X array amdf_gated_pitch 300 float 3; -#A 0 0 0 0 280.892 0 152.595 0 0 0 0 0 0 0 745.652 0 715.135 0 867.135 -0 450 0 807.692 0 295.973 0 210.054 0 0 0 0 0 0 0 0 0 152.595 0 0 0 -0 0 0 0 613.636 0 907.12 0 869.577 0 842.675 0 439.925 0 755.137 0 -658.209 0 550.791 0 0 0 0 0 152.595 0 152.595 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 190.909 0 152.595 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 152.595 0 152.595 0 152.595 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 152.595 0 152.595 0 0 0 0 0 0 0 0 0 0 0 0 152.595 -0 0 0 0 0 152.595 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 152.595 0 0 0 0 0 0 0 0 0 0 0 0 0 152.595 0 -0 0 0 0 0 0 0 0 0 882 0 486.04 0 825.401 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 152.595 0 152.595 0 0 0 -0 0 781.159 0 827.614 0 494.395 0 484.869 0 832.076 0 152.595 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0; -#X coords 0 128 299 0 300 50 1; -#X restore 254 288 graph; -#X floatatom 163 260 5 0 0 0 - - -; -#X floatatom 177 220 5 0 0 0 - - -; -#X floatatom 6 237 5 0 0 0 - - -; -#X obj 106 322 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X obj 105 378 s \$0-reset_counters; -#X obj 593 56 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 -; -#X msg 594 99 \; pd dsp \$1; -#X msg 104 352 0; -#X obj 575 326 soundfiler; -#X obj 575 277 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X obj 575 292 savepanel; -#X msg 575 309 write \$1 testinput; -#X obj 16 136 fiddle~ 2048 1; -#X obj 204 255 print; -#X floatatom 210 105 3 2 50 2 win - -; -#X obj 160 203 moses 20000; -#X msg 218 223 0; -#X obj 176 238 ftom; -#X floatatom 36 265 5 0 0 0 - - -; -#X obj 17 314 -; -#X floatatom 16 339 5 0 0 0 - - -; -#X connect 0 0 12 1; -#X connect 2 0 12 0; -#X connect 2 0 35 0; -#X connect 2 1 8 0; -#X connect 4 0 5 0; -#X connect 5 0 3 0; -#X connect 6 0 4 0; -#X connect 7 0 2 0; -#X connect 8 0 2 0; -#X connect 9 0 8 1; -#X connect 10 0 12 4; -#X connect 12 0 16 0; -#X connect 12 0 23 0; -#X connect 12 1 38 0; -#X connect 18 0 19 0; -#X connect 18 0 25 0; -#X connect 20 0 12 2; -#X connect 23 0 21 0; -#X connect 24 0 40 0; -#X connect 25 0 42 0; -#X connect 26 0 30 0; -#X connect 28 0 29 0; -#X connect 30 0 27 0; -#X connect 32 0 33 0; -#X connect 33 0 34 0; -#X connect 34 0 31 0; -#X connect 35 2 18 0; -#X connect 37 0 12 3; -#X connect 38 0 24 0; -#X connect 38 0 21 1; -#X connect 38 1 39 0; -#X connect 39 0 21 1; -#X connect 40 0 41 0; -#X connect 41 0 42 1; -#X connect 42 0 43 0; diff --git a/voicing_detector~test3-help.pd b/voicing_detector~test3-help.pd new file mode 100644 index 0000000..f4dedc4 --- /dev/null +++ b/voicing_detector~test3-help.pd @@ -0,0 +1,275 @@ +#N canvas 0 0 728 435 10; +#X floatatom 128 105 5 0 100 2 thresh - -; +#N canvas 0 0 450 300 graph1 0; +#X array testinput 1.31596e+06 float 2; +#X coords 0 1 1.31596e+06 -1 300 60 1; +#X restore 255 18 graph; +#X obj 115 71 tabplay~ testinput; +#X obj 575 252 soundfiler; +#X obj 575 218 openpanel; +#X msg 575 235 read -resize \$1 testinput; +#X obj 575 203 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 115 41 bng 15 250 50 0 empty empty play 0 -6 0 8 -262144 -1 +-1; +#X obj 199 54 spigot; +#X obj 228 39 tgl 15 0 empty empty loop 0 -6 0 8 -262144 -1 -1 1 1 +; +#X obj 235 121 tgl 15 0 empty empty on 0 -6 0 8 -262144 -1 -1 1 1; +#N canvas 0 0 450 300 testload 0; +#X floatatom 118 256 0 0 0 0 - - -; +#X obj 118 168 cputime; +#X obj 118 28 loadbang; +#X obj 118 112 metro 1000; +#X msg 118 56 1; +#X floatatom 118 84 0 0 0 0 - - -; +#X obj 118 140 t b b; +#X obj 118 228 * 0.1; +#X text 163 84 <-- on/off; +#X text 51 284 CPU load in percent; +#X connect 1 0 7 0; +#X connect 2 0 4 0; +#X connect 3 0 6 0; +#X connect 4 0 5 0; +#X connect 5 0 3 0; +#X connect 6 0 1 0; +#X connect 6 1 1 1; +#X connect 7 0 0 0; +#X restore 62 240 pd testload; +#N canvas 0 0 450 300 voicingdet~ 0; +#X obj 95 74 inlet; +#X obj 51 74 inlet~; +#X obj 259 117 inlet; +#X obj 259 137 switch~ 1024 1 1; +#X obj 51 126 voicing_detector~; +#X text 83 59 threshold; +#X obj 151 73 inlet; +#X text 148 58 search; +#X obj 206 73 inlet; +#X obj 165 220 outlet; +#X obj 51 218 outlet; +#X text 149 27 peaks; +#X text 204 40 samples; +#X text 207 57 window; +#X connect 0 0 4 1; +#X connect 1 0 4 0; +#X connect 2 0 3 0; +#X connect 4 0 10 0; +#X connect 4 2 9 0; +#X connect 6 0 4 2; +#X connect 8 0 4 3; +#X restore 116 136 pd voicingdet~; +#N canvas 0 0 450 300 graph2 0; +#X array voicing 300 float 3; +#A 0 0 0 0 1 0 0 0 0 1 1 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 0 1 1 1 1 1 1 1 +0 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 1 1 1 +1 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 +0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 +0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 +1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1 1 1 1 1 1 0 0 0 1 0; +#X coords 0 2 299 -1 300 50 1; +#X restore 254 223 graph; +#N canvas 0 0 450 300 graph2 0; +#X array amdf_pitch 300 float 3; +#A 0 inf 52.6308 inf inf inf inf inf inf inf 61.6769 inf inf 79.9839 +81.0009 81.3891 80.4557 68.64 64.1892 inf 66.4698 50.6665 inf inf inf +inf inf inf inf 50.6665 50.6665 50.6665 72.3208 80.0773 72.0166 68.0305 +50.6665 inf inf inf inf inf inf inf 50.6665 inf inf inf inf 50.6665 +inf inf 50.6665 50.6665 inf inf inf 50.6665 77.8829 50.6665 inf 61.011 +63.8438 60.475 54.3953 52.2985 inf 58.8633 51.3383 63.4215 71.0568 +62.7265 70.8633 66.6197 inf 50.6665 inf 55.7069 50.6665 50.6665 50.6665 +inf inf inf inf inf inf inf inf inf 70.4828 68.3603 inf 72.7731 50.6665 +inf 62.1356 inf inf 50.6665 inf inf inf inf inf 50.6665 50.6665 50.6665 +71.1217 75.6314 inf inf inf inf inf inf inf inf 50.6665 inf inf inf +50.6665 inf inf inf inf inf 78.0763 55.3107 50.6665 inf inf inf 50.6665 +inf 50.6665 inf 50.6665 58.9598 76.4972 76.5862 inf 50.6665 50.6665 +inf inf inf 56.3603 50.6665 inf inf 50.6665 inf inf 50.6665 inf 73.5356 +70.5499 76.0095 inf 50.6665 inf inf 50.9078 inf inf inf inf inf inf +inf inf inf 63.716 79.2014 76.856 inf inf 80.648 50.6665 50.6665 inf +50.6665 inf inf inf inf 50.6665 inf inf inf inf inf inf 50.6665 inf +inf inf inf inf inf inf inf 68.4159 inf 50.6665 81.3498 63.4605 81.0393 +inf inf inf inf inf inf 54.5446 60.9024 50.6665 inf 50.6665 inf inf +inf inf inf inf inf inf inf 57.4776 63.716 55.3107 inf inf inf inf +inf inf inf 50.6665 inf 50.6665 inf inf inf 50.6665 50.6665 50.6665 +50.6665 50.6665 inf inf inf inf inf inf inf 69.3891 64.6309 inf 50.6665 +inf inf inf 50.6665 inf inf inf 50.6665 inf inf inf 70.4077 80.6965 +79.0156 80.7342 78.1348 76.2328 78.4102 78.9541 inf inf 50.6665 inf +inf 50.6665 inf 50.6665 inf 50.6665 inf 67.0773 56.6965 inf inf 50.6665 +50.6665 inf inf inf; +#X coords 0 128 299 0 300 50 1; +#X restore 253 159 graph; +#N canvas 0 0 450 300 graph2 0; +#X array fiddle_pitch 300 float 3; +#A 0 42.759 42.5032 42.473 54.6862 54.2724 88.0229 88.184 69.9998 46.2469 +46.1609 36.5253 51.6493 56.2251 57.3686 56.4619 54.6808 0 0 54.0894 +93.1511 68.6615 52.7942 81.0395 66.0331 51.7957 0 68.5582 61.4413 52.6465 +71.037 58.4423 91.8432 92.069 40.0203 0 0 36.8793 58.0122 47.6222 46.0941 +91.8441 91.9697 55.7681 56.0344 55.7733 0 80.8823 81.7433 84.8554 57.472 +55.8532 0 115.991 115.665 77.5622 0 92.1532 95.0497 50.2136 50.1965 +49.5168 48.9704 0 110.374 80.4211 81.7533 120.147 96.2099 77.1305 105.556 +105.273 56.8668 57.1058 58.1518 58.2318 58.253 57.9551 57.9389 57.2086 +58.607 58.7608 58.5285 57.4834 56.6055 44.5336 43.9182 0 55.8955 55.8118 +56.3424 55.9227 0 58.3825 73.8235 73.4276 0 55.4181 54.9552 53.5732 +54.7674 0 70.8503 75.9806 82.2004 80.4199 79.4119 68.8766 77.895 104.482 +105.457 0 42.9514 44.0048 0 43.5638 42.7844 43.0441 43.5913 45.0992 +55.9686 55.7438 0 56.3861 0 118.578 119.062 91.5953 84.6976 82.4846 +116.179 80.4236 0 70.9708 52.6736 36.9783 34.1847 42.4984 73.9364 38.2027 +37.8997 74.0349 40.0425 42.1891 0 0 46.7969 0 42.5967 57.7423 55.0562 +55.214 42.5583 0 0 107.128 66.2461 0 70.8881 62.0142 93.8698 70.2977 +69.6271 65.6152 54.8576 82.2464 46.7154 57.0915 52.4897 0 58.2819 0 +0 48.8379 48.3517 86.5587 57.4985 41.8914 100.744 77.1489 88.6531 101.163 +78.1291 0 58.1589 57.7381 56.8702 54.7868 37.3185 55.048 44.2793 43.7839 +43.6901 44.3304 45.5636 46.8364 47.4256 46.8557 0 66.0394 0 0 37.3535 +53.0011 52.3631 50.8664 52.4876 53.4121 53.9883 42.9063 43.671 56.3301 +0 0 0 0 85.7498 92.9351 92.7796 51.8324 51.7119 50.8787 50.212 49.7494 +49.4586 48.6298 57.9294 44.3071 42.9568 42.047 39.9829 40.5865 40.5722 +42.9498 47.521 48.1418 38.3092 52.8257 53.4445 51.6414 50.1592 47.5694 +44.9923 43.6918 42.54 42.1952 42.3799 88.6103 92.9605 90.0537 82.4926 +0 80.5717 41.5044 53.2398 42.4218 38.5483 38.9727 45.9362 46.204 40.1976 +0 102.734 103.735 103.027 42.8539 44.4726 46.0255 46.6465 58.2084 40.4422 +0 70.0279 73.9915 61.9472 70.0716 81.9317 81.5628 94.0509 53.7554 66.0479 +0 46.3012 44.9257 46.9063 47.3438 65.9144 46.9733 104.83 88.2914 79.6901 +0 74.9976 0 71.7403 45.991 44.0293 44.2378 44.1106 43.711 43.0768; +#X coords 0 128 300 0 300 50 1; +#X restore 254 94 graph; +#N canvas 0 0 450 300 voxwrite 0; +#X obj 87 73 inlet; +#X obj 87 103 t f b; +#X obj 117 132 count 300; +#X obj 87 174 tabwrite voicing; +#X obj 146 88 r \$0-reset-counters; +#X connect 0 0 1 0; +#X connect 1 0 3 0; +#X connect 1 1 2 0; +#X connect 2 0 3 1; +#X connect 4 0 2 1; +#X restore 116 159 pd voxwrite; +#N canvas 0 0 450 300 amdfwrite 0; +#X obj 87 48 inlet; +#X obj 87 103 t f b; +#X obj 117 132 count 300; +#X obj 146 88 r \$0-reset-counters; +#X obj 87 174 tabwrite amdf_pitch; +#X obj 87 75 ftom; +#X connect 0 0 5 0; +#X connect 1 0 4 0; +#X connect 1 1 2 0; +#X connect 2 0 4 1; +#X connect 3 0 2 1; +#X connect 5 0 1 0; +#X restore 146 185 pd amdfwrite; +#X obj 21 170 unpack f f; +#N canvas 0 0 450 300 fidwrite 0; +#X obj 87 73 inlet; +#X obj 87 103 t f b; +#X obj 117 132 count 300; +#X obj 146 88 r \$0-reset-counters; +#X obj 87 174 tabwrite fiddle_pitch; +#X connect 0 0 1 0; +#X connect 1 0 4 0; +#X connect 1 1 2 0; +#X connect 2 0 4 1; +#X connect 3 0 2 1; +#X restore 21 196 pd fidwrite; +#X floatatom 173 105 3 3 50 2 peaks - -; +#N canvas 0 0 450 300 amgatewrite 0; +#X obj 161 28 inlet; +#X obj 87 121 t f b; +#X obj 117 150 count 300; +#X obj 146 106 r \$0-reset-counters; +#X obj 59 25 inlet; +#X obj 59 45 swap; +#X obj 59 83 spigot; +#X msg 106 83 0; +#X obj 87 174 tabwrite amdf_gated_pitch; +#X connect 0 0 5 1; +#X connect 1 0 8 0; +#X connect 1 1 2 0; +#X connect 2 0 8 1; +#X connect 3 0 2 1; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 5 1 6 1; +#X connect 5 1 7 0; +#X connect 6 0 1 0; +#X connect 7 0 1 0; +#X restore 107 298 pd amgatewrite; +#N canvas 0 0 450 300 graph2 0; +#X array amdf_gated_pitch 300 float 3; +#A 0 0 0 0 280.892 0 152.595 0 0 0 0 0 0 0 745.652 0 715.135 0 867.135 +0 450 0 807.692 0 295.973 0 210.054 0 0 0 0 0 0 0 0 0 152.595 0 0 0 +0 0 0 0 613.636 0 907.12 0 869.577 0 842.675 0 439.925 0 755.137 0 +658.209 0 550.791 0 0 0 0 0 152.595 0 152.595 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 190.909 0 152.595 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 152.595 0 152.595 0 152.595 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 152.595 0 152.595 0 0 0 0 0 0 0 0 0 0 0 0 152.595 +0 0 0 0 0 152.595 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 152.595 0 0 0 0 0 0 0 0 0 0 0 0 0 152.595 0 +0 0 0 0 0 0 0 0 0 882 0 486.04 0 825.401 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 152.595 0 152.595 0 0 0 +0 0 781.159 0 827.614 0 494.395 0 484.869 0 832.076 0 152.595 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0; +#X coords 0 128 299 0 300 50 1; +#X restore 254 288 graph; +#X floatatom 163 260 5 0 0 0 - - -; +#X floatatom 177 220 5 0 0 0 - - -; +#X floatatom 6 237 5 0 0 0 - - -; +#X obj 106 322 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 105 378 s \$0-reset_counters; +#X obj 593 56 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X msg 594 99 \; pd dsp \$1; +#X msg 104 352 0; +#X obj 575 326 soundfiler; +#X obj 575 277 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 575 292 savepanel; +#X msg 575 309 write \$1 testinput; +#X obj 16 136 fiddle~ 2048 1; +#X obj 204 255 print; +#X floatatom 210 105 3 2 50 2 win - -; +#X obj 160 203 moses 20000; +#X msg 218 223 0; +#X obj 176 238 ftom; +#X floatatom 36 265 5 0 0 0 - - -; +#X obj 17 314 -; +#X floatatom 16 339 5 0 0 0 - - -; +#X connect 0 0 12 1; +#X connect 2 0 12 0; +#X connect 2 0 35 0; +#X connect 2 1 8 0; +#X connect 4 0 5 0; +#X connect 5 0 3 0; +#X connect 6 0 4 0; +#X connect 7 0 2 0; +#X connect 8 0 2 0; +#X connect 9 0 8 1; +#X connect 10 0 12 4; +#X connect 12 0 16 0; +#X connect 12 0 23 0; +#X connect 12 1 38 0; +#X connect 18 0 19 0; +#X connect 18 0 25 0; +#X connect 20 0 12 2; +#X connect 23 0 21 0; +#X connect 24 0 40 0; +#X connect 25 0 42 0; +#X connect 26 0 30 0; +#X connect 28 0 29 0; +#X connect 30 0 27 0; +#X connect 32 0 33 0; +#X connect 33 0 34 0; +#X connect 34 0 31 0; +#X connect 35 2 18 0; +#X connect 37 0 12 3; +#X connect 38 0 24 0; +#X connect 38 0 21 1; +#X connect 38 1 39 0; +#X connect 39 0 21 1; +#X connect 40 0 41 0; +#X connect 41 0 42 1; +#X connect 42 0 43 0; diff --git a/weightonset-help.pd b/weightonset-help.pd new file mode 100644 index 0000000..99985ac --- /dev/null +++ b/weightonset-help.pd @@ -0,0 +1,261 @@ +#N canvas 31 64 901 594 10; +#N canvas 1901 230 450 300 hasc 0; +#X obj 65 62 inlet~; +#X obj 196 184 block~ 1024; +#X obj 55 106 rfft~; +#X obj 56 150 hasc~; +#X obj 56 188 outlet; +#X obj 179 60 inlet; +#X text 153 42 threshold (0-10+); +#X text 43 -1 ...get a "highest apparent spectral component" value +from the FFT; +#X connect 0 0 2 0; +#X connect 2 0 3 0; +#X connect 2 1 3 1; +#X connect 3 0 4 0; +#X connect 5 0 3 2; +#X restore 44 446 pd hasc; +#X obj 128 374 bonk~; +#N canvas 0 0 450 300 (subpatch) 0; +#X array \$0-input 106595 float 0; +#X coords 0 1 106594 -1 200 51 1; +#X restore 287 337 graph; +#X obj 128 398 t b b; +#X obj 81 534 f; +#X floatatom 96 515 5 0 0 0 - - -; +#X floatatom 168 376 5 0 99 0 - - -; +#X obj 81 554 print end-value; +#X obj 43 352 tabplay~ \$0-input; +#X floatatom 75 382 5 0 100 0 - - -; +#X floatatom 75 424 5 0 0 0 - - -; +#X obj 75 402 * 0.1; +#N canvas 0 0 450 300 tw 0; +#X obj 274 70 inlet; +#X msg 274 91 0; +#X obj 191 158 cup; +#X obj 110 55 inlet; +#X obj 110 80 t f b; +#X obj 115 207 tabwrite \$0-hasc; +#X obj 301 158 cup; +#X obj 220 55 inlet; +#X obj 220 80 t f b; +#X obj 225 207 tabwrite \$0-weightonset; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 1 0 6 0; +#X connect 2 0 5 1; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 4 1 2 0; +#X connect 6 0 9 1; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 8 1 6 0; +#X restore 39 547 pd tw; +#N canvas 0 0 450 300 (subpatch) 0; +#X array \$0-hasc 1 float 3; +#A 0 0; +#X coords 0 511 1 -1 200 51 1; +#X restore 287 408 graph; +#N canvas 0 0 450 300 adapt 0; +#X obj 128 44 inlet; +#X obj 127 74 / 100; +#X obj 129 108 t b f; +#X msg 126 139 1; +#X obj 132 170 -; +#X obj 134 205 outlet; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 2 1 4 1; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X restore 168 395 pd adapt; +#X floatatom 168 429 5 0 0 1 influence - -; +#X obj 168 336 loadbang; +#X obj 88 304 bng 15 250 50 0 empty empty load 17 7 0 10 -262144 -1 +-1; +#N canvas 211 176 325 300 loadfile 0; +#X obj 44 28 openpanel; +#X obj 44 47 t a b; +#X obj 44 90 pack s s; +#X msg 44 109 read -resize \$1 \$2; +#X obj 44 128 soundfiler; +#X obj 71 66 symbol \$0-input; +#X floatatom 44 186 0 0 0 0 - - -; +#X obj 44 166 i; +#X msg 44 206 resize \$1; +#X obj 44 226 s \$0-hasc; +#X obj 44 147 / 1024; +#X obj 44 5 inlet; +#X obj 113 227 s \$0-weightonset; +#X obj 243 27 loadbang; +#X msg 119 27 ../sound/stink.wav; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 1 1 5 0; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 4 0 10 0; +#X connect 5 0 2 1; +#X connect 6 0 8 0; +#X connect 7 0 6 0; +#X connect 8 0 9 0; +#X connect 8 0 12 0; +#X connect 10 0 7 0; +#X connect 11 0 0 0; +#X connect 13 0 14 0; +#X connect 14 0 1 0; +#X restore 88 323 pd loadfile; +#X obj 43 304 bng 12 250 50 0 empty empty play 15 6 0 10 -262144 -1 +-1; +#X obj 43 319 t b b; +#N canvas 0 0 450 300 (subpatch) 0; +#X array \$0-weightonset 1 float 3; +#A 0 0; +#X coords 0 511 1 -1 200 51 1; +#X restore 287 478 graph; +#X obj 116 435 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-257985 -1; +#X text 56 49 The second value is multipled by the value in the second +inlet (range 0-1) and added to the first value. Then \, the divider +value (in order to work out the weighted average) is also multiplied +by this value \, and added to it.; +#X text 46 8 This object makes a moving average with successively less +important values. The calculation initiates when the object is banged +\, and the first value is the most influential.; +#X msg 65 472 1; +#X obj 130 473 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 195 528 print data; +#X text 78 161 When the object is banged the right outlet sends a list +of all the values that influenced the result since the last bang \, +up to a limit of 1024 values.; +#X obj 477 73 weightonset; +#X text 476 58 V; +#X text 476 54 |; +#X text 476 44 |; +#X text 476 34 |; +#X text 452 20 floats in; +#X text 506 58 V; +#X text 506 54 |; +#X text 506 44 |; +#X text 685 338 ^; +#X text 684 342 |; +#X text 684 351 |; +#X text 738 338 ^; +#X text 737 342 |; +#X text 737 351 |; +#X text 801 338 ^; +#X text 800 342 |; +#X text 800 351 |; +#X text 671 377 of successive inputs; +#X text 475 89 |; +#X text 475 99 |; +#X text 475 109 |; +#X text 475 119 V; +#X text 452 141 influenced; +#X text 464 130 onset-; +#X text 465 153 value; +#X text 538 89 |; +#X text 538 99 |; +#X text 538 109 |; +#X text 538 119 V; +#X text 531 132 data dump; +#X text 537 143 on bang; +#X msg 49 382 5; +#X text 212 439 factor; +#X text 202 415 successive; +#X text 64 101 The influence of successive values is lessened by the +inverse of the factor on the right inlet. So \, a value of 0.2 in the +second inlet means that the second value after the bang is 20% as influential +as the first \, and the third value is 20% of 20% (4%) as influential +as the first.; +#X floatatom 195 465 5 0 10 1 attack - -; +#X text 509 200 influence factor = 0 : 1st float output only; +#X text 510 188 attack length = 0 \,; +#X text 535 166 EXAMPLES:; +#X text 520 226 attack length = 0 \,; +#X text 519 238 influence factor = 1: successive values are; +#X text 232 475 phase; +#X text 232 489 0-100; +#X text 508 252 equally influential to the total \, but the list; +#X text 492 31 successive influence factor (0-1); +#X text 538 58 V; +#X text 538 54 |; +#X text 514 265 grows longer as the numbers are added. Therefore; +#X text 506 278 the output responds less and less to input values. +; +#X text 513 291 This is an accumulating average between bangs.; +#X text 511 313 attack length = 0 \,; +#X text 634 366 (w) = weightings (influence values); +#X text 509 393 the output is onset-weighted e.g. the most influential +values are at the start of the series.; +#X text 699 462 ^; +#X text 698 466 |; +#X text 698 475 |; +#X text 769 462 ^; +#X text 768 466 |; +#X text 768 475 |; +#X text 832 462 ^; +#X text 831 466 |; +#X text 831 475 |; +#X text 680 501 of successive inputs; +#X text 656 490 (w) = weightings (influence values); +#X text 517 437 attack length = 3 \,; +#X text 509 327 influence factor = 0.5: v1 w 1 \, v2 w 0.5 \, v3 w +0.25 \, v4 w 0.125; +#X text 86 200 If the attack phase is greater than 0 \, the values +become successively more influential to the weighted average \, until +the number of values is equal to the attack+1. The next value after +the attack phase is the most influential \, then the influence factor +kicks in and successive values become less influential.; +#X text 557 71 creation args: influence factor \, attack; +#X obj 96 495 weightonset 0.8 0; +#X obj 10 381 dac~; +#X msg 168 356 80; +#X text 513 451 influence factor = 0.5: v1 w 0.125 \, v2 w 0.25 \, +v3 w 0.5 \, v4 w 1 \, v5 w 0.5 \, v6 w 0.25...; +#X text 525 43 attack phase (0-100+); +#X obj 664 183 weightonset 0 0; +#X obj 666 222 weightonset 1 0; +#X obj 674 312 weightonset 0.5 0; +#X obj 676 434 weightonset 0.5 3; +#X text 509 517 the output is onset-weighted e.g. the most influential +values are at the start of the series \, after the attack phase in +which the values become successively more influential.; +#X text 99 269 The weightings of values during the attack phase is +the reverse of successive weightings after the attack:; +#X text 226 294 weighting = influence pow(attack - index); +#X connect 0 0 12 0; +#X connect 0 0 98 0; +#X connect 1 0 3 0; +#X connect 3 0 22 0; +#X connect 3 0 98 0; +#X connect 3 1 4 0; +#X connect 4 0 7 0; +#X connect 5 0 4 1; +#X connect 5 0 12 1; +#X connect 6 0 14 0; +#X connect 8 0 0 0; +#X connect 8 0 1 0; +#X connect 8 0 99 0; +#X connect 8 0 99 1; +#X connect 9 0 11 0; +#X connect 10 0 0 1; +#X connect 11 0 10 0; +#X connect 14 0 15 0; +#X connect 14 0 98 1; +#X connect 16 0 100 0; +#X connect 16 0 61 0; +#X connect 17 0 18 0; +#X connect 19 0 20 0; +#X connect 20 0 8 0; +#X connect 20 1 12 2; +#X connect 25 0 98 0; +#X connect 26 0 98 0; +#X connect 61 0 9 0; +#X connect 65 0 98 2; +#X connect 98 0 5 0; +#X connect 98 1 27 0; +#X connect 100 0 6 0; diff --git a/weightonset.c b/weightonset.c new file mode 100644 index 0000000..44265a2 --- /dev/null +++ b/weightonset.c @@ -0,0 +1,106 @@ +#include "m_pd.h" +#include + +typedef struct _datachunk +{ + t_atom data[1024]; +} t_datachunk; + +typedef struct _weightonset +{ + t_object x_obj; + t_float multiplier, accumulator, divider, divaccum, weighted, increment; + t_float length, attack; + t_datachunk x_datachunk; + t_outlet *waverage, *datachunk; +} t_weightonset; + +t_class *weightonset_class; + +void weightonset_float (t_weightonset *x, t_floatarg fin) +{ + if(x->length < 1024) + { + int len = (int)x->length; + SETFLOAT(&x->x_datachunk.data[len], fin); + if(x->length < x->attack) + { + int i; + float weight = 1; + x->increment = x->length - x->attack; + for(i=0;iincrement;i++) + { + weight = weight*x->multiplier; + } + x->accumulator += fin*weight; + x->divaccum += weight; + x->weighted = x->accumulator / x->divaccum; + outlet_float(x->waverage, x->weighted); + } + else if(x->length == x->attack) + { + x->divider = 1; + x->divaccum += 1; + x->accumulator += fin*x->divider; + x->weighted = x->accumulator / x->divaccum; + x->divider *= x->multiplier; + x->divaccum += x->divider; + outlet_float(x->waverage, x->weighted); + } + else + { + x->accumulator += fin*x->divider; + x->weighted = x->accumulator / x->divaccum; + x->divider *= x->multiplier; + x->divaccum += x->divider; + outlet_float(x->waverage, x->weighted); + } + x->length += 1; + } +} + +void weightonset_bang (t_weightonset *x) +{ + int (len) = (int)x->length; + outlet_list(x->datachunk, gensym("list"), len, x->x_datachunk.data); + x->accumulator = 0; + x->length = 0; + if(x->attack > 0) + { + x->divider = 1; + x->divaccum = 1; + } + else if (x->attack == 0) + { + x->divider = 0; + x->divaccum = 0; + } +} + +void *weightonset_new(t_floatarg f1, t_floatarg f2) +{ + t_weightonset *x = (t_weightonset *)pd_new(weightonset_class); + x->multiplier = f1 != 0 ? f1 : 0.5; + x->accumulator = 0; + x->divider = f2 > 0 ? 1 : 0; + x->divaccum = f2 > 0 ? 1 : 0; + x->length = 0; + x->attack = f2; + floatinlet_new(&x->x_obj, &x->multiplier); + floatinlet_new(&x->x_obj, &x->attack); + x->waverage = outlet_new(&x->x_obj, &s_float); + x->datachunk = outlet_new(&x->x_obj, &s_list); + return (void *)x; +} + +void weightonset_setup(void) { + weightonset_class = class_new(gensym("weightonset"), + (t_newmethod)weightonset_new, + 0, sizeof(t_weightonset), + 0, A_DEFFLOAT, A_DEFFLOAT, 0); + post("input values become less and less important"); + post("as entropy brings alternative rewards"); + class_sethelpsymbol(weightonset_class, gensym("help-weightonset")); + class_addbang(weightonset_class, weightonset_bang); + class_addfloat(weightonset_class, weightonset_float); +} diff --git a/weightonset/help-weightonset.pd b/weightonset/help-weightonset.pd deleted file mode 100644 index 99985ac..0000000 --- a/weightonset/help-weightonset.pd +++ /dev/null @@ -1,261 +0,0 @@ -#N canvas 31 64 901 594 10; -#N canvas 1901 230 450 300 hasc 0; -#X obj 65 62 inlet~; -#X obj 196 184 block~ 1024; -#X obj 55 106 rfft~; -#X obj 56 150 hasc~; -#X obj 56 188 outlet; -#X obj 179 60 inlet; -#X text 153 42 threshold (0-10+); -#X text 43 -1 ...get a "highest apparent spectral component" value -from the FFT; -#X connect 0 0 2 0; -#X connect 2 0 3 0; -#X connect 2 1 3 1; -#X connect 3 0 4 0; -#X connect 5 0 3 2; -#X restore 44 446 pd hasc; -#X obj 128 374 bonk~; -#N canvas 0 0 450 300 (subpatch) 0; -#X array \$0-input 106595 float 0; -#X coords 0 1 106594 -1 200 51 1; -#X restore 287 337 graph; -#X obj 128 398 t b b; -#X obj 81 534 f; -#X floatatom 96 515 5 0 0 0 - - -; -#X floatatom 168 376 5 0 99 0 - - -; -#X obj 81 554 print end-value; -#X obj 43 352 tabplay~ \$0-input; -#X floatatom 75 382 5 0 100 0 - - -; -#X floatatom 75 424 5 0 0 0 - - -; -#X obj 75 402 * 0.1; -#N canvas 0 0 450 300 tw 0; -#X obj 274 70 inlet; -#X msg 274 91 0; -#X obj 191 158 cup; -#X obj 110 55 inlet; -#X obj 110 80 t f b; -#X obj 115 207 tabwrite \$0-hasc; -#X obj 301 158 cup; -#X obj 220 55 inlet; -#X obj 220 80 t f b; -#X obj 225 207 tabwrite \$0-weightonset; -#X connect 0 0 1 0; -#X connect 1 0 2 0; -#X connect 1 0 6 0; -#X connect 2 0 5 1; -#X connect 3 0 4 0; -#X connect 4 0 5 0; -#X connect 4 1 2 0; -#X connect 6 0 9 1; -#X connect 7 0 8 0; -#X connect 8 0 9 0; -#X connect 8 1 6 0; -#X restore 39 547 pd tw; -#N canvas 0 0 450 300 (subpatch) 0; -#X array \$0-hasc 1 float 3; -#A 0 0; -#X coords 0 511 1 -1 200 51 1; -#X restore 287 408 graph; -#N canvas 0 0 450 300 adapt 0; -#X obj 128 44 inlet; -#X obj 127 74 / 100; -#X obj 129 108 t b f; -#X msg 126 139 1; -#X obj 132 170 -; -#X obj 134 205 outlet; -#X connect 0 0 1 0; -#X connect 1 0 2 0; -#X connect 2 0 3 0; -#X connect 2 1 4 1; -#X connect 3 0 4 0; -#X connect 4 0 5 0; -#X restore 168 395 pd adapt; -#X floatatom 168 429 5 0 0 1 influence - -; -#X obj 168 336 loadbang; -#X obj 88 304 bng 15 250 50 0 empty empty load 17 7 0 10 -262144 -1 --1; -#N canvas 211 176 325 300 loadfile 0; -#X obj 44 28 openpanel; -#X obj 44 47 t a b; -#X obj 44 90 pack s s; -#X msg 44 109 read -resize \$1 \$2; -#X obj 44 128 soundfiler; -#X obj 71 66 symbol \$0-input; -#X floatatom 44 186 0 0 0 0 - - -; -#X obj 44 166 i; -#X msg 44 206 resize \$1; -#X obj 44 226 s \$0-hasc; -#X obj 44 147 / 1024; -#X obj 44 5 inlet; -#X obj 113 227 s \$0-weightonset; -#X obj 243 27 loadbang; -#X msg 119 27 ../sound/stink.wav; -#X connect 0 0 1 0; -#X connect 1 0 2 0; -#X connect 1 1 5 0; -#X connect 2 0 3 0; -#X connect 3 0 4 0; -#X connect 4 0 10 0; -#X connect 5 0 2 1; -#X connect 6 0 8 0; -#X connect 7 0 6 0; -#X connect 8 0 9 0; -#X connect 8 0 12 0; -#X connect 10 0 7 0; -#X connect 11 0 0 0; -#X connect 13 0 14 0; -#X connect 14 0 1 0; -#X restore 88 323 pd loadfile; -#X obj 43 304 bng 12 250 50 0 empty empty play 15 6 0 10 -262144 -1 --1; -#X obj 43 319 t b b; -#N canvas 0 0 450 300 (subpatch) 0; -#X array \$0-weightonset 1 float 3; -#A 0 0; -#X coords 0 511 1 -1 200 51 1; -#X restore 287 478 graph; -#X obj 116 435 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 --257985 -1; -#X text 56 49 The second value is multipled by the value in the second -inlet (range 0-1) and added to the first value. Then \, the divider -value (in order to work out the weighted average) is also multiplied -by this value \, and added to it.; -#X text 46 8 This object makes a moving average with successively less -important values. The calculation initiates when the object is banged -\, and the first value is the most influential.; -#X msg 65 472 1; -#X obj 130 473 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 --1 -1; -#X obj 195 528 print data; -#X text 78 161 When the object is banged the right outlet sends a list -of all the values that influenced the result since the last bang \, -up to a limit of 1024 values.; -#X obj 477 73 weightonset; -#X text 476 58 V; -#X text 476 54 |; -#X text 476 44 |; -#X text 476 34 |; -#X text 452 20 floats in; -#X text 506 58 V; -#X text 506 54 |; -#X text 506 44 |; -#X text 685 338 ^; -#X text 684 342 |; -#X text 684 351 |; -#X text 738 338 ^; -#X text 737 342 |; -#X text 737 351 |; -#X text 801 338 ^; -#X text 800 342 |; -#X text 800 351 |; -#X text 671 377 of successive inputs; -#X text 475 89 |; -#X text 475 99 |; -#X text 475 109 |; -#X text 475 119 V; -#X text 452 141 influenced; -#X text 464 130 onset-; -#X text 465 153 value; -#X text 538 89 |; -#X text 538 99 |; -#X text 538 109 |; -#X text 538 119 V; -#X text 531 132 data dump; -#X text 537 143 on bang; -#X msg 49 382 5; -#X text 212 439 factor; -#X text 202 415 successive; -#X text 64 101 The influence of successive values is lessened by the -inverse of the factor on the right inlet. So \, a value of 0.2 in the -second inlet means that the second value after the bang is 20% as influential -as the first \, and the third value is 20% of 20% (4%) as influential -as the first.; -#X floatatom 195 465 5 0 10 1 attack - -; -#X text 509 200 influence factor = 0 : 1st float output only; -#X text 510 188 attack length = 0 \,; -#X text 535 166 EXAMPLES:; -#X text 520 226 attack length = 0 \,; -#X text 519 238 influence factor = 1: successive values are; -#X text 232 475 phase; -#X text 232 489 0-100; -#X text 508 252 equally influential to the total \, but the list; -#X text 492 31 successive influence factor (0-1); -#X text 538 58 V; -#X text 538 54 |; -#X text 514 265 grows longer as the numbers are added. Therefore; -#X text 506 278 the output responds less and less to input values. -; -#X text 513 291 This is an accumulating average between bangs.; -#X text 511 313 attack length = 0 \,; -#X text 634 366 (w) = weightings (influence values); -#X text 509 393 the output is onset-weighted e.g. the most influential -values are at the start of the series.; -#X text 699 462 ^; -#X text 698 466 |; -#X text 698 475 |; -#X text 769 462 ^; -#X text 768 466 |; -#X text 768 475 |; -#X text 832 462 ^; -#X text 831 466 |; -#X text 831 475 |; -#X text 680 501 of successive inputs; -#X text 656 490 (w) = weightings (influence values); -#X text 517 437 attack length = 3 \,; -#X text 509 327 influence factor = 0.5: v1 w 1 \, v2 w 0.5 \, v3 w -0.25 \, v4 w 0.125; -#X text 86 200 If the attack phase is greater than 0 \, the values -become successively more influential to the weighted average \, until -the number of values is equal to the attack+1. The next value after -the attack phase is the most influential \, then the influence factor -kicks in and successive values become less influential.; -#X text 557 71 creation args: influence factor \, attack; -#X obj 96 495 weightonset 0.8 0; -#X obj 10 381 dac~; -#X msg 168 356 80; -#X text 513 451 influence factor = 0.5: v1 w 0.125 \, v2 w 0.25 \, -v3 w 0.5 \, v4 w 1 \, v5 w 0.5 \, v6 w 0.25...; -#X text 525 43 attack phase (0-100+); -#X obj 664 183 weightonset 0 0; -#X obj 666 222 weightonset 1 0; -#X obj 674 312 weightonset 0.5 0; -#X obj 676 434 weightonset 0.5 3; -#X text 509 517 the output is onset-weighted e.g. the most influential -values are at the start of the series \, after the attack phase in -which the values become successively more influential.; -#X text 99 269 The weightings of values during the attack phase is -the reverse of successive weightings after the attack:; -#X text 226 294 weighting = influence pow(attack - index); -#X connect 0 0 12 0; -#X connect 0 0 98 0; -#X connect 1 0 3 0; -#X connect 3 0 22 0; -#X connect 3 0 98 0; -#X connect 3 1 4 0; -#X connect 4 0 7 0; -#X connect 5 0 4 1; -#X connect 5 0 12 1; -#X connect 6 0 14 0; -#X connect 8 0 0 0; -#X connect 8 0 1 0; -#X connect 8 0 99 0; -#X connect 8 0 99 1; -#X connect 9 0 11 0; -#X connect 10 0 0 1; -#X connect 11 0 10 0; -#X connect 14 0 15 0; -#X connect 14 0 98 1; -#X connect 16 0 100 0; -#X connect 16 0 61 0; -#X connect 17 0 18 0; -#X connect 19 0 20 0; -#X connect 20 0 8 0; -#X connect 20 1 12 2; -#X connect 25 0 98 0; -#X connect 26 0 98 0; -#X connect 61 0 9 0; -#X connect 65 0 98 2; -#X connect 98 0 5 0; -#X connect 98 1 27 0; -#X connect 100 0 6 0; diff --git a/weightonset/makefile b/weightonset/makefile deleted file mode 100755 index a530dea..0000000 --- a/weightonset/makefile +++ /dev/null @@ -1,106 +0,0 @@ -current: - echo make pd_linux, pd_nt, pd_irix5, pd_irix6 or pd_darwin - -clean: ; rm -f *.pd_* *.o - -# ----------------------- NT ----------------------- - -pd_nt: weightonset.dll - -.SUFFIXES: .obj .dll - -PDNTCFLAGS = /W3 /WX /DNT /DPD /nologo -VC="D:\Program Files\Microsoft Visual Studio\Vc98" - -PDNTINCLUDE = /I. /I\tcl\include /I..\..\src /I$(VC)\include - -PDNTLDIR = $(VC)\lib -PDNTLIB = $(PDNTLDIR)\libc.lib \ - $(PDNTLDIR)\oldnames.lib \ - $(PDNTLDIR)\kernel32.lib \ - ..\..\bin\pd.lib - -.c.dll: - cl $(PDNTCFLAGS) $(PDNTINCLUDE) /c $*.c - link /dll /export:$*_setup $*.obj $(PDNTLIB) - -# ----------------------- IRIX 5.x ----------------------- - -pd_irix5: weightonset.pd_irix5 - -INSTALL_PREFIX=/usr/local -EXT=pd_irix5 -.SUFFIXES: .pd_irix5 - -SGICFLAGS5 = -o32 -DPD -DUNIX -DIRIX -O2 - - -SGIINCLUDE = -I/usr/local/include - -.c.pd_irix5: - cc $(SGICFLAGS5) $(SGIINCLUDE) -o $*.o -c $*.c - ld -elf -shared -rdata_shared -o $*.pd_irix5 $*.o - rm $*.o - -# ----------------------- IRIX 6.x ----------------------- - -pd_irix6: weightonset.pd_irix6 - -INSTALL_PREFIX=/usr/local -EXT=pd_irix6 -.SUFFIXES: .pd_irix6 - -SGICFLAGS5 = -o32 -DPD -DUNIX -DIRIX -O2 - - -SGIINCLUDE = -I/usr/local/include - -.c.pd_irix6: - cc $(SGICFLAGS5) $(SGIINCLUDE) -o $*.o -c $*.c - ld -elf -shared -rdata_shared -o $*.pd_irix6 $*.o - rm $*.o - -# ----------------------- LINUX i386 ----------------------- - -pd_linux: weightonset.pd_linux - -INSTALL_PREFIX=/usr/local -EXT=pd_linux -.SUFFIXES: .pd_linux - -LINUXCFLAGS = -DPD -O2 -funroll-loops -fomit-frame-pointer \ - -Wall -W -Wshadow -Wstrict-prototypes -Werror \ - -Wno-unused -Wno-parentheses -Wno-switch - -LINUXINCLUDE = -I/usr/local/include - -.c.pd_linux: - cc $(LINUXCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c - ld --export-dynamic -shared -o $*.pd_linux $*.o -lc -lm - strip --strip-unneeded $*.pd_linux - rm $*.o - -# ----------------------- Mac OSX ----------------------- - -pd_darwin: weightonset.pd_darwin - -INSTALL_PREFIX=/usr/local -EXT=pd_darwin -.SUFFIXES: .pd_darwin - -DARWINCFLAGS = -DPD -O2 -Wall -W -Wshadow -Wstrict-prototypes \ - -Wno-unused -Wno-parentheses -Wno-switch - -.c.pd_darwin: - cc $(DARWINCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c - cc -bundle -undefined suppress -flat_namespace -o $*.pd_darwin $*.o - rm -f $*.o - -# ---------------------------------------------- - -install:: - install -d $(INSTALL_PREFIX)/lib/pd/extra -# install -m 644 *.$(EXT) $(INSTALL_PREFIX)/lib/pd/externs - -install -m 644 weightonset.$(EXT) $(INSTALL_PREFIX)/lib/pd/extra - install -m 644 *.pd $(INSTALL_PREFIX)/lib/pd/doc/5.reference - install -m 644 *.wav $(INSTALL_PREFIX)/lib/pd/doc/sound diff --git a/weightonset/stink.wav b/weightonset/stink.wav deleted file mode 100755 index aec9986..0000000 Binary files a/weightonset/stink.wav and /dev/null differ diff --git a/weightonset/weightonset.c b/weightonset/weightonset.c deleted file mode 100644 index 44265a2..0000000 --- a/weightonset/weightonset.c +++ /dev/null @@ -1,106 +0,0 @@ -#include "m_pd.h" -#include - -typedef struct _datachunk -{ - t_atom data[1024]; -} t_datachunk; - -typedef struct _weightonset -{ - t_object x_obj; - t_float multiplier, accumulator, divider, divaccum, weighted, increment; - t_float length, attack; - t_datachunk x_datachunk; - t_outlet *waverage, *datachunk; -} t_weightonset; - -t_class *weightonset_class; - -void weightonset_float (t_weightonset *x, t_floatarg fin) -{ - if(x->length < 1024) - { - int len = (int)x->length; - SETFLOAT(&x->x_datachunk.data[len], fin); - if(x->length < x->attack) - { - int i; - float weight = 1; - x->increment = x->length - x->attack; - for(i=0;iincrement;i++) - { - weight = weight*x->multiplier; - } - x->accumulator += fin*weight; - x->divaccum += weight; - x->weighted = x->accumulator / x->divaccum; - outlet_float(x->waverage, x->weighted); - } - else if(x->length == x->attack) - { - x->divider = 1; - x->divaccum += 1; - x->accumulator += fin*x->divider; - x->weighted = x->accumulator / x->divaccum; - x->divider *= x->multiplier; - x->divaccum += x->divider; - outlet_float(x->waverage, x->weighted); - } - else - { - x->accumulator += fin*x->divider; - x->weighted = x->accumulator / x->divaccum; - x->divider *= x->multiplier; - x->divaccum += x->divider; - outlet_float(x->waverage, x->weighted); - } - x->length += 1; - } -} - -void weightonset_bang (t_weightonset *x) -{ - int (len) = (int)x->length; - outlet_list(x->datachunk, gensym("list"), len, x->x_datachunk.data); - x->accumulator = 0; - x->length = 0; - if(x->attack > 0) - { - x->divider = 1; - x->divaccum = 1; - } - else if (x->attack == 0) - { - x->divider = 0; - x->divaccum = 0; - } -} - -void *weightonset_new(t_floatarg f1, t_floatarg f2) -{ - t_weightonset *x = (t_weightonset *)pd_new(weightonset_class); - x->multiplier = f1 != 0 ? f1 : 0.5; - x->accumulator = 0; - x->divider = f2 > 0 ? 1 : 0; - x->divaccum = f2 > 0 ? 1 : 0; - x->length = 0; - x->attack = f2; - floatinlet_new(&x->x_obj, &x->multiplier); - floatinlet_new(&x->x_obj, &x->attack); - x->waverage = outlet_new(&x->x_obj, &s_float); - x->datachunk = outlet_new(&x->x_obj, &s_list); - return (void *)x; -} - -void weightonset_setup(void) { - weightonset_class = class_new(gensym("weightonset"), - (t_newmethod)weightonset_new, - 0, sizeof(t_weightonset), - 0, A_DEFFLOAT, A_DEFFLOAT, 0); - post("input values become less and less important"); - post("as entropy brings alternative rewards"); - class_sethelpsymbol(weightonset_class, gensym("help-weightonset")); - class_addbang(weightonset_class, weightonset_bang); - class_addfloat(weightonset_class, weightonset_float); -} diff --git a/zeroxpos~-help.pd b/zeroxpos~-help.pd new file mode 100644 index 0000000..7bb2f23 --- /dev/null +++ b/zeroxpos~-help.pd @@ -0,0 +1,96 @@ +#N canvas 0 0 603 357 10; +#X obj 251 132 block~ 256; +#X obj 144 150 zeroxpos~ 3; +#X obj 40 150 zeroxpos~ -3; +#X text 30 30 Zeroxpos~ finds a zero-crossing point within a dsp-block +; +#X obj 31 96 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X floatatom 40 167 5 0 0 0 - - -; +#X floatatom 144 167 5 0 0 0 - - -; +#X text 228 156 <-- creation argument sets the; +#X text 252 167 zero-crossing point to find; +#X text 251 178 1st \, 2nd \, 3rd etc.; +#X text 249 220 a positive argument finds; +#X text 247 233 the n-th zero crossing from; +#X text 247 245 the start of the block.; +#X text 35 222 a negative argument finds; +#X text 33 233 the n-th zero crossing from; +#X text 33 244 the end of the block.; +#X floatatom 177 107 5 0 0 0 - - -; +#N canvas 0 0 450 300 (subpatch) 0; +#X array block 256 float 3; +#A 0 0.253416 0.130458 0.00545404 -0.119636 -0.242851 -0.362248 -0.475957 +-0.582198 -0.679303 -0.765742 -0.840147 -0.901368 -0.948445 -0.980638 +-0.997421 -0.998542 -0.983994 -0.954005 -0.909041 -0.849786 -0.777197 +-0.692413 -0.596762 -0.491735 -0.378986 -0.26029 -0.137509 -0.012569 +0.112569 0.235939 0.355605 0.469692 0.576406 0.67406 0.761136 0.836267 +0.898277 0.946171 0.979207 0.996877 0.998904 0.985256 0.956116 0.911974 +0.853521 0.781673 0.697548 0.602464 0.497928 0.385577 0.267174 0.144571 +0.0197003 -0.105479 -0.229003 -0.348935 -0.463381 -0.570554 -0.668774 +-0.7565 -0.832341 -0.895109 -0.94383 -0.977741 -0.996308 -0.99921 -0.986431 +-0.958173 -0.914879 -0.857217 -0.786086 -0.70262 -0.608129 -0.504093 +-0.392134 -0.27402 -0.151607 -0.0268136 0.0984023 0.222071 0.342253 +0.457064 0.564703 0.663473 0.75182 0.828368 0.891918 0.941472 0.976224 +0.995654 0.999461 0.987585 0.960201 0.917728 0.860855 0.790474 0.707687 +0.613778 0.510233 0.398682 0.280874 0.158655 0.0339427 -0.0913004 -0.21511 +-0.335546 -0.450712 -0.558797 -0.658112 -0.7471 -0.824365 -0.888672 +-0.939028 -0.974648 -0.994974 -0.999679 -0.988672 -0.962151 -0.920532 +-0.864466 -0.794818 -0.712687 -0.619375 -0.516342 -0.405204 -0.287695 +-0.165673 -0.0410526 0.0842137 0.208159 0.328832 0.444344 0.552884 +0.652749 0.742354 0.820304 0.885381 0.936565 0.973047 0.994233 0.999818 +0.989715 0.964081 0.923301 0.868019 0.799117 0.717675 0.624969 0.522437 +0.411707 0.294517 0.172705 0.0481785 -0.0771039 -0.201175 -0.322089 +-0.43795 -0.546929 -0.647319 -0.737551 -0.816209 -0.882057 -0.934039 +-0.971362 -0.993442 -0.999933 -0.990717 -0.965937 -0.926001 -0.871533 +-0.803388 -0.722613 -0.630497 -0.528488 -0.418184 -0.301313 -0.179707 +-0.0552834 0.0700081 0.194203 0.315346 0.431537 0.540954 0.641883 0.732741 +0.812077 0.878668 0.931471 0.969657 0.992614 0.999977 0.991649 0.967759 +0.928683 0.87501 0.807601 0.72752 0.636021 0.534537 0.42465 0.308102 +0.186719 0.0624042 -0.0628919 -0.187199 -0.308567 -0.425094 -0.534951 +-0.636398 -0.727855 -0.807891 -0.875249 -0.928863 -0.967882 -0.991712 +-0.99998 -0.992555 -0.969531 -0.931286 -0.878427 -0.811782 -0.732395 +-0.641494 -0.540528 -0.43108 -0.314867 -0.193706 -0.0695031 0.0557888 +0.180206 0.301797 0.418643 0.528917 0.63089 0.722964 0.803687 0.87178 +0.926192 0.966069 0.990788 0.999936 0.993385 0.971245 0.933864 0.881826 +0.815924 0.73722 0.646947 0.546521 0.437509 0.321625 0.200696 0.0766166 +-0.0486669 -0.173186 -0.294984; +#X coords 0 1 255 -1 100 50 1; +#X restore 207 268 graph; +#X obj 220 87 tabwrite~ block; +#X obj 107 75 osc~ 880; +#X obj 79 284 tabread block; +#X floatatom 79 270 5 0 0 0 - - -; +#X floatatom 79 301 5 0 0 0 - - -; +#X floatatom 119 167 2 0 0 0 - - -; +#X floatatom 216 167 2 0 0 0 - - -; +#X text 36 193 output is in samples \, right output is direction (polarity) +of zero crossing.; +#X msg 320 94 mode \$1; +#X obj 320 79 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X text 349 77 <--- if the mode is zero \,; +#X text 389 89 zeroxpos will not look; +#X text 395 102 for zero-crossing points; +#X text 404 114 until after it receives a; +#X text 412 126 bang. But if it is set to 1 \,; +#X text 418 138 zeroxpos will continuously; +#X text 424 150 look for zero-crossings \,; +#X text 431 163 and output those stored; +#X text 437 175 in memory when banged.; +#X connect 1 0 6 0; +#X connect 1 1 24 0; +#X connect 2 0 5 0; +#X connect 2 1 23 0; +#X connect 4 0 2 0; +#X connect 4 0 1 0; +#X connect 4 0 18 0; +#X connect 16 0 2 1; +#X connect 19 0 2 0; +#X connect 19 0 1 0; +#X connect 19 0 18 0; +#X connect 20 0 22 0; +#X connect 21 0 20 0; +#X connect 26 0 1 0; +#X connect 26 0 2 0; +#X connect 27 0 26 0; diff --git a/zeroxpos~.c b/zeroxpos~.c new file mode 100644 index 0000000..d650537 --- /dev/null +++ b/zeroxpos~.c @@ -0,0 +1,194 @@ +#include "m_pd.h" +#include + +static t_class *zeroxpos_tilde_class; + +typedef struct _zeroxpos_control +{ + t_float *c_input; + t_int final_pol; +} t_zeroxpos_control; + +typedef struct _zeroxpos_tilde +{ + t_object x_obj; + t_zeroxpos_control x_ctl; + t_float f_num, f_dummy, f_dir; + t_int i_bang, i_pol, i_count, i_ndx, i_mode; + t_outlet *f_pos, *f_pol; +} t_zeroxpos_tilde; + +t_int *zeroxpos_tilde_perform(t_int *w) +{ + t_zeroxpos_tilde *x = (t_zeroxpos_tilde *)(w[1]); + t_zeroxpos_control *ctl = (t_zeroxpos_control *)(w[2]); + int n = (int)(w[3]); + t_float *in = ctl->c_input; + x->f_dir = x->f_num >= 0 ? 1 : -1; + int number = x->f_num >= 1 || x->f_num <= -1 ? (int)fabs(x->f_num) : 1; + int count = x->i_count; + int polarity = 1; + int i = 0; + x->i_pol = 0; + x->i_ndx = -1; + int prev = ctl->final_pol == 0 ? in[0] : ctl->final_pol; + + if(x->i_mode == 0) + { + if(x->f_dir > 0) + { + for(i=0;i= 0 ? 1 : -1; + if((polarity < prev || polarity > prev) && count == number && x->i_bang == 1) + { + x->i_ndx = i; + x->i_pol = polarity; + count += 1e+06; + x->i_bang = 0; + outlet_float(x->f_pol, (float)x->i_pol); + outlet_float(x->f_pos, (float)x->i_ndx); + } + if((polarity < prev || polarity > prev) && count < number) count++; + if(i==n-1&&countfinal_pol = polarity; + x->i_count = count; + } + prev = polarity; + } + } + else if(x->f_dir < 0) + { + for(i=n-1;i>=0;i--) + { + polarity = in[i] >= 0 ? 1 : -1; + if((polarity < prev || polarity > prev) && count == number && x->i_bang == 1) + { + x->i_ndx = i; + x->i_pol = polarity; + count += 1e+06; + x->i_bang = 0; + outlet_float(x->f_pol, (float)(x->i_pol*-1)); + outlet_float(x->f_pos, (float)x->i_ndx+1); + } + if((polarity < prev || polarity > prev) && count < number) count++; + if(i==0&&countfinal_pol = polarity; + x->i_count = count; + } + prev = polarity; + } + } + } + else if(x->i_mode != 0) + { + if(x->f_dir > 0) + { + for(i=0;i= 0 ? 1 : -1; + if((polarity < prev || polarity > prev) && count == number) + { + x->i_ndx = i; + x->i_pol = polarity; + count += 1e+06; + x->i_bang = 0; + } + if((polarity < prev || polarity > prev) && count < number) count++; + if(i==n-1&&countfinal_pol = polarity; + x->i_count = count; + } + prev = polarity; + } + } + else if(x->f_dir < 0) + { + for(i=n-1;i>=0;i--) + { + polarity = in[i] >= 0 ? 1 : -1; + if((polarity < prev || polarity > prev) && count == number) + { + x->i_ndx = i; + x->i_pol = polarity; + count += 1e+06; + x->i_bang = 0; + } + if((polarity < prev || polarity > prev) && count < number) count++; + if(i==0&&countfinal_pol = polarity; + x->i_count = count; + } + prev = polarity; + } + } + } + return(w+4); +} + +void zeroxpos_tilde_bang(t_zeroxpos_tilde *x) +{ + if(x->i_mode == 0) + { + x->i_bang = 1; + x->i_count = 0; + } + else if(x->i_mode != 0 && x->f_dir > 0) + { + outlet_float(x->f_pol, (float)x->i_pol); + outlet_float(x->f_pos, (float)x->i_ndx); + } + else if(x->i_mode != 0 && x->f_dir < 0) + { + outlet_float(x->f_pol, (float)(x->i_pol*-1)); + outlet_float(x->f_pos, (float)x->i_ndx+1); + } +} + +void zeroxpos_tilde_mode(t_zeroxpos_tilde *x, t_floatarg fmode) +{ + x->i_mode = (int)fmode; +} + +void *zeroxpos_tilde_dsp(t_zeroxpos_tilde *x, t_signal **sp) +{ + x->x_ctl.c_input = sp[0]->s_vec; + dsp_add(zeroxpos_tilde_perform, 3, x, &x->x_ctl, sp[0]->s_n); + return (void *)x; +} + +void *zeroxpos_tilde_new(t_floatarg f) +{ + t_zeroxpos_tilde *x = (t_zeroxpos_tilde *)pd_new(zeroxpos_tilde_class); + x->f_dir = f >= 0 ? 1 : -1; + x->f_num = f >= 1 || f <= -1 ? (int)fabs(f) : 1; + x->x_ctl.final_pol = 0; + x->i_count = 0; + floatinlet_new (&x->x_obj, &x->f_num); + x->f_pos = outlet_new(&x->x_obj, gensym("float")); + x->f_pol = outlet_new(&x->x_obj, gensym("float")); + return (void *)x; +} + +void zeroxpos_tilde_setup(void) +{ + zeroxpos_tilde_class = class_new(gensym("zeroxpos~"), + (t_newmethod)zeroxpos_tilde_new, + 0, sizeof(t_zeroxpos_tilde), + CLASS_DEFAULT, A_DEFFLOAT, 0); + + post("|¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬zeroxpos~``````````````````````|"); + post("|find 1st, 2nd or 3rd etc zero crossing point in frame|"); + post("|````edward¬¬¬¬¬¬¬¬¬¬¬¬kelly``````````````````2005¬¬¬¬|"); + + + class_addbang(zeroxpos_tilde_class, zeroxpos_tilde_bang); + class_addmethod(zeroxpos_tilde_class, (t_method)zeroxpos_tilde_dsp, gensym("dsp"), 0); + class_addmethod(zeroxpos_tilde_class, (t_method)zeroxpos_tilde_mode, gensym("mode"), A_DEFFLOAT, 0); + CLASS_MAINSIGNALIN(zeroxpos_tilde_class, t_zeroxpos_tilde, f_dummy); +} + diff --git a/zeroxpos~/makefile b/zeroxpos~/makefile deleted file mode 100644 index 10c4cd9..0000000 --- a/zeroxpos~/makefile +++ /dev/null @@ -1,106 +0,0 @@ -current: - echo make pd_linux, pd_nt, pd_irix5, pd_irix6 or pd_darwin - -clean: ; rm -f *.pd_* *.o - -# ----------------------- NT ----------------------- - -pd_nt: zeroxpos~.dll - -INSTALL_PREFIX = "C:\pd\extra" -EXT = dll -.SUFFIXES: .obj .dll - -PDNTCFLAGS = /W3 /WX /DNT /DPD /nologo -VC="D:\Program Files\Microsoft Visual Studio\Vc98" - -PDNTINCLUDE = /I. /I\tcl\include /I..\..\src /I$(VC)\include - -PDNTLDIR = $(VC)\lib -PDNTLIB = $(PDNTLDIR)\libc.lib \ - $(PDNTLDIR)\oldnames.lib \ - $(PDNTLDIR)\kernel32.lib \ - ..\..\bin\pd.lib - -.c.dll: - cl $(PDNTCFLAGS) $(PDNTINCLUDE) /c $*.c - link /dll /export:$*_setup $*.obj $(PDNTLIB) - -# ----------------------- IRIX 5.x ----------------------- - -pd_irix5: zeroxpos~.pd_irix5 - -INSTALL_PREFIX = /usr/local -EXT = pd_irix5 -.SUFFIXES: .pd_irix5 - -SGICFLAGS5 = -o32 -DPD -DUNIX -DIRIX -O2 - -SGIINCLUDE = -I/usr/local/include - -.c.pd_irix5: - cc $(SGICFLAGS5) $(SGIINCLUDE) -o $*.o -c $*.c - ld -elf -shared -rdata_shared -o $*.pd_irix5 $*.o - rm $*.o - -# ----------------------- IRIX 5.x ----------------------- - -pd_irix6: zeroxpos~.pd_irix6 - -INSTALL_PREFIX = /usr/local -EXT = pd_irix6 -.SUFFIXES: .pd_irix6 - -SGICFLAGS5 = -o32 -DPD -DUNIX -DIRIX -O2 - -SGIINCLUDE = -I/usr/local/include - -.c.pd_irix6: - cc $(SGICFLAGS5) $(SGIINCLUDE) -o $*.o -c $*.c - ld -elf -shared -rdata_shared -o $*.pd_irix6 $*.o - rm $*.o - -# ----------------------- LINUX i386 ----------------------- - -pd_linux: zeroxpos~.pd_linux - -INSTALL_PREFIX = /usr -EXT = pd_linux -.SUFFIXES: .pd_linux - -LINUXCFLAGS = -DPD -O2 -funroll-loops -fomit-frame-pointer \ - -Wall -W -Wshadow -Wstrict-prototypes -Werror \ - -Wno-unused -Wno-parentheses -Wno-switch - -LINUXINCLUDE = -I/usr/local/include - -.c.pd_linux: - cc $(LINUXCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c - ld --export-dynamic -shared -o $*.pd_linux $*.o -lc -lm - strip --strip-unneeded $*.pd_linux - rm $*.o - -# ----------------------- Mac OSX ----------------------- - -pd_darwin: zeroxpos~.pd_darwin - -INSTALL_PREFIX = /usr/local -EXT = pd_darwin -.SUFFIXES: .pd_darwin - -DARWINCFLAGS = -DPD -O2 -Wall -W -Wshadow -Wstrict-prototypes \ - -Wno-unused -Wno-parentheses -Wno-switch - -.c.pd_darwin: - cc $(DARWINCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c - cc -bundle -undefined suppress -flat_namespace -o $*.pd_darwin $*.o - rm -f $*.o - -# ---------------------------------------------- - -install:: - install -d $(INSTALL_PREFIX)/lib/pd/extra -# install -m 644 *.$(EXT) $(INSTALL_PREFIX)/lib/pd/externs - -install -m 644 zeroxpos~.$(EXT) $(INSTALL_PREFIX)/lib/pd/extra - install -m 644 *.pd $(INSTALL_PREFIX)/lib/pd/doc/5.reference - diff --git a/zeroxpos~/zeroxpos~-help.pd b/zeroxpos~/zeroxpos~-help.pd deleted file mode 100644 index 7bb2f23..0000000 --- a/zeroxpos~/zeroxpos~-help.pd +++ /dev/null @@ -1,96 +0,0 @@ -#N canvas 0 0 603 357 10; -#X obj 251 132 block~ 256; -#X obj 144 150 zeroxpos~ 3; -#X obj 40 150 zeroxpos~ -3; -#X text 30 30 Zeroxpos~ finds a zero-crossing point within a dsp-block -; -#X obj 31 96 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X floatatom 40 167 5 0 0 0 - - -; -#X floatatom 144 167 5 0 0 0 - - -; -#X text 228 156 <-- creation argument sets the; -#X text 252 167 zero-crossing point to find; -#X text 251 178 1st \, 2nd \, 3rd etc.; -#X text 249 220 a positive argument finds; -#X text 247 233 the n-th zero crossing from; -#X text 247 245 the start of the block.; -#X text 35 222 a negative argument finds; -#X text 33 233 the n-th zero crossing from; -#X text 33 244 the end of the block.; -#X floatatom 177 107 5 0 0 0 - - -; -#N canvas 0 0 450 300 (subpatch) 0; -#X array block 256 float 3; -#A 0 0.253416 0.130458 0.00545404 -0.119636 -0.242851 -0.362248 -0.475957 --0.582198 -0.679303 -0.765742 -0.840147 -0.901368 -0.948445 -0.980638 --0.997421 -0.998542 -0.983994 -0.954005 -0.909041 -0.849786 -0.777197 --0.692413 -0.596762 -0.491735 -0.378986 -0.26029 -0.137509 -0.012569 -0.112569 0.235939 0.355605 0.469692 0.576406 0.67406 0.761136 0.836267 -0.898277 0.946171 0.979207 0.996877 0.998904 0.985256 0.956116 0.911974 -0.853521 0.781673 0.697548 0.602464 0.497928 0.385577 0.267174 0.144571 -0.0197003 -0.105479 -0.229003 -0.348935 -0.463381 -0.570554 -0.668774 --0.7565 -0.832341 -0.895109 -0.94383 -0.977741 -0.996308 -0.99921 -0.986431 --0.958173 -0.914879 -0.857217 -0.786086 -0.70262 -0.608129 -0.504093 --0.392134 -0.27402 -0.151607 -0.0268136 0.0984023 0.222071 0.342253 -0.457064 0.564703 0.663473 0.75182 0.828368 0.891918 0.941472 0.976224 -0.995654 0.999461 0.987585 0.960201 0.917728 0.860855 0.790474 0.707687 -0.613778 0.510233 0.398682 0.280874 0.158655 0.0339427 -0.0913004 -0.21511 --0.335546 -0.450712 -0.558797 -0.658112 -0.7471 -0.824365 -0.888672 --0.939028 -0.974648 -0.994974 -0.999679 -0.988672 -0.962151 -0.920532 --0.864466 -0.794818 -0.712687 -0.619375 -0.516342 -0.405204 -0.287695 --0.165673 -0.0410526 0.0842137 0.208159 0.328832 0.444344 0.552884 -0.652749 0.742354 0.820304 0.885381 0.936565 0.973047 0.994233 0.999818 -0.989715 0.964081 0.923301 0.868019 0.799117 0.717675 0.624969 0.522437 -0.411707 0.294517 0.172705 0.0481785 -0.0771039 -0.201175 -0.322089 --0.43795 -0.546929 -0.647319 -0.737551 -0.816209 -0.882057 -0.934039 --0.971362 -0.993442 -0.999933 -0.990717 -0.965937 -0.926001 -0.871533 --0.803388 -0.722613 -0.630497 -0.528488 -0.418184 -0.301313 -0.179707 --0.0552834 0.0700081 0.194203 0.315346 0.431537 0.540954 0.641883 0.732741 -0.812077 0.878668 0.931471 0.969657 0.992614 0.999977 0.991649 0.967759 -0.928683 0.87501 0.807601 0.72752 0.636021 0.534537 0.42465 0.308102 -0.186719 0.0624042 -0.0628919 -0.187199 -0.308567 -0.425094 -0.534951 --0.636398 -0.727855 -0.807891 -0.875249 -0.928863 -0.967882 -0.991712 --0.99998 -0.992555 -0.969531 -0.931286 -0.878427 -0.811782 -0.732395 --0.641494 -0.540528 -0.43108 -0.314867 -0.193706 -0.0695031 0.0557888 -0.180206 0.301797 0.418643 0.528917 0.63089 0.722964 0.803687 0.87178 -0.926192 0.966069 0.990788 0.999936 0.993385 0.971245 0.933864 0.881826 -0.815924 0.73722 0.646947 0.546521 0.437509 0.321625 0.200696 0.0766166 --0.0486669 -0.173186 -0.294984; -#X coords 0 1 255 -1 100 50 1; -#X restore 207 268 graph; -#X obj 220 87 tabwrite~ block; -#X obj 107 75 osc~ 880; -#X obj 79 284 tabread block; -#X floatatom 79 270 5 0 0 0 - - -; -#X floatatom 79 301 5 0 0 0 - - -; -#X floatatom 119 167 2 0 0 0 - - -; -#X floatatom 216 167 2 0 0 0 - - -; -#X text 36 193 output is in samples \, right output is direction (polarity) -of zero crossing.; -#X msg 320 94 mode \$1; -#X obj 320 79 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 -1; -#X text 349 77 <--- if the mode is zero \,; -#X text 389 89 zeroxpos will not look; -#X text 395 102 for zero-crossing points; -#X text 404 114 until after it receives a; -#X text 412 126 bang. But if it is set to 1 \,; -#X text 418 138 zeroxpos will continuously; -#X text 424 150 look for zero-crossings \,; -#X text 431 163 and output those stored; -#X text 437 175 in memory when banged.; -#X connect 1 0 6 0; -#X connect 1 1 24 0; -#X connect 2 0 5 0; -#X connect 2 1 23 0; -#X connect 4 0 2 0; -#X connect 4 0 1 0; -#X connect 4 0 18 0; -#X connect 16 0 2 1; -#X connect 19 0 2 0; -#X connect 19 0 1 0; -#X connect 19 0 18 0; -#X connect 20 0 22 0; -#X connect 21 0 20 0; -#X connect 26 0 1 0; -#X connect 26 0 2 0; -#X connect 27 0 26 0; diff --git a/zeroxpos~/zeroxpos~.c b/zeroxpos~/zeroxpos~.c deleted file mode 100644 index d650537..0000000 --- a/zeroxpos~/zeroxpos~.c +++ /dev/null @@ -1,194 +0,0 @@ -#include "m_pd.h" -#include - -static t_class *zeroxpos_tilde_class; - -typedef struct _zeroxpos_control -{ - t_float *c_input; - t_int final_pol; -} t_zeroxpos_control; - -typedef struct _zeroxpos_tilde -{ - t_object x_obj; - t_zeroxpos_control x_ctl; - t_float f_num, f_dummy, f_dir; - t_int i_bang, i_pol, i_count, i_ndx, i_mode; - t_outlet *f_pos, *f_pol; -} t_zeroxpos_tilde; - -t_int *zeroxpos_tilde_perform(t_int *w) -{ - t_zeroxpos_tilde *x = (t_zeroxpos_tilde *)(w[1]); - t_zeroxpos_control *ctl = (t_zeroxpos_control *)(w[2]); - int n = (int)(w[3]); - t_float *in = ctl->c_input; - x->f_dir = x->f_num >= 0 ? 1 : -1; - int number = x->f_num >= 1 || x->f_num <= -1 ? (int)fabs(x->f_num) : 1; - int count = x->i_count; - int polarity = 1; - int i = 0; - x->i_pol = 0; - x->i_ndx = -1; - int prev = ctl->final_pol == 0 ? in[0] : ctl->final_pol; - - if(x->i_mode == 0) - { - if(x->f_dir > 0) - { - for(i=0;i= 0 ? 1 : -1; - if((polarity < prev || polarity > prev) && count == number && x->i_bang == 1) - { - x->i_ndx = i; - x->i_pol = polarity; - count += 1e+06; - x->i_bang = 0; - outlet_float(x->f_pol, (float)x->i_pol); - outlet_float(x->f_pos, (float)x->i_ndx); - } - if((polarity < prev || polarity > prev) && count < number) count++; - if(i==n-1&&countfinal_pol = polarity; - x->i_count = count; - } - prev = polarity; - } - } - else if(x->f_dir < 0) - { - for(i=n-1;i>=0;i--) - { - polarity = in[i] >= 0 ? 1 : -1; - if((polarity < prev || polarity > prev) && count == number && x->i_bang == 1) - { - x->i_ndx = i; - x->i_pol = polarity; - count += 1e+06; - x->i_bang = 0; - outlet_float(x->f_pol, (float)(x->i_pol*-1)); - outlet_float(x->f_pos, (float)x->i_ndx+1); - } - if((polarity < prev || polarity > prev) && count < number) count++; - if(i==0&&countfinal_pol = polarity; - x->i_count = count; - } - prev = polarity; - } - } - } - else if(x->i_mode != 0) - { - if(x->f_dir > 0) - { - for(i=0;i= 0 ? 1 : -1; - if((polarity < prev || polarity > prev) && count == number) - { - x->i_ndx = i; - x->i_pol = polarity; - count += 1e+06; - x->i_bang = 0; - } - if((polarity < prev || polarity > prev) && count < number) count++; - if(i==n-1&&countfinal_pol = polarity; - x->i_count = count; - } - prev = polarity; - } - } - else if(x->f_dir < 0) - { - for(i=n-1;i>=0;i--) - { - polarity = in[i] >= 0 ? 1 : -1; - if((polarity < prev || polarity > prev) && count == number) - { - x->i_ndx = i; - x->i_pol = polarity; - count += 1e+06; - x->i_bang = 0; - } - if((polarity < prev || polarity > prev) && count < number) count++; - if(i==0&&countfinal_pol = polarity; - x->i_count = count; - } - prev = polarity; - } - } - } - return(w+4); -} - -void zeroxpos_tilde_bang(t_zeroxpos_tilde *x) -{ - if(x->i_mode == 0) - { - x->i_bang = 1; - x->i_count = 0; - } - else if(x->i_mode != 0 && x->f_dir > 0) - { - outlet_float(x->f_pol, (float)x->i_pol); - outlet_float(x->f_pos, (float)x->i_ndx); - } - else if(x->i_mode != 0 && x->f_dir < 0) - { - outlet_float(x->f_pol, (float)(x->i_pol*-1)); - outlet_float(x->f_pos, (float)x->i_ndx+1); - } -} - -void zeroxpos_tilde_mode(t_zeroxpos_tilde *x, t_floatarg fmode) -{ - x->i_mode = (int)fmode; -} - -void *zeroxpos_tilde_dsp(t_zeroxpos_tilde *x, t_signal **sp) -{ - x->x_ctl.c_input = sp[0]->s_vec; - dsp_add(zeroxpos_tilde_perform, 3, x, &x->x_ctl, sp[0]->s_n); - return (void *)x; -} - -void *zeroxpos_tilde_new(t_floatarg f) -{ - t_zeroxpos_tilde *x = (t_zeroxpos_tilde *)pd_new(zeroxpos_tilde_class); - x->f_dir = f >= 0 ? 1 : -1; - x->f_num = f >= 1 || f <= -1 ? (int)fabs(f) : 1; - x->x_ctl.final_pol = 0; - x->i_count = 0; - floatinlet_new (&x->x_obj, &x->f_num); - x->f_pos = outlet_new(&x->x_obj, gensym("float")); - x->f_pol = outlet_new(&x->x_obj, gensym("float")); - return (void *)x; -} - -void zeroxpos_tilde_setup(void) -{ - zeroxpos_tilde_class = class_new(gensym("zeroxpos~"), - (t_newmethod)zeroxpos_tilde_new, - 0, sizeof(t_zeroxpos_tilde), - CLASS_DEFAULT, A_DEFFLOAT, 0); - - post("|¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬zeroxpos~``````````````````````|"); - post("|find 1st, 2nd or 3rd etc zero crossing point in frame|"); - post("|````edward¬¬¬¬¬¬¬¬¬¬¬¬kelly``````````````````2005¬¬¬¬|"); - - - class_addbang(zeroxpos_tilde_class, zeroxpos_tilde_bang); - class_addmethod(zeroxpos_tilde_class, (t_method)zeroxpos_tilde_dsp, gensym("dsp"), 0); - class_addmethod(zeroxpos_tilde_class, (t_method)zeroxpos_tilde_mode, gensym("mode"), A_DEFFLOAT, 0); - CLASS_MAINSIGNALIN(zeroxpos_tilde_class, t_zeroxpos_tilde, f_dummy); -} - -- cgit v1.2.1