From a4bb2e741f9800d4015ada4bea6e35af23dfffa5 Mon Sep 17 00:00:00 2001 From: Spencer Smith <smiths@mcmaster.ca> Date: Mon, 26 Mar 2018 08:42:28 -0400 Subject: [PATCH] A2 Solution --- Assignments/A2/A2Soln/Makefile | 19 + Assignments/A2/A2Soln/doxConfig | 2496 ++++++++++++++++++ Assignments/A2/A2Soln/partner/CurveADT.py | 1 + Assignments/A2/A2Soln/partner/Data.py | 0 Assignments/A2/A2Soln/partner/SeqServices.py | 0 Assignments/A2/A2Soln/report/report.pdf | Bin 0 -> 158917 bytes Assignments/A2/A2Soln/report/report.tex | 137 + Assignments/A2/A2Soln/src/A2Examples.py | 33 + Assignments/A2/A2Soln/src/CurveADT.py | 87 + Assignments/A2/A2Soln/src/CurveADTscipy.py | 68 + Assignments/A2/A2Soln/src/CurveADTseq.py | 51 + Assignments/A2/A2Soln/src/Data.py | 74 + Assignments/A2/A2Soln/src/Exceptions.py | 23 + Assignments/A2/A2Soln/src/Load.py | 35 + Assignments/A2/A2Soln/src/Plot.py | 39 + Assignments/A2/A2Soln/src/SeqServices.py | 57 + Assignments/A2/A2Soln/src/glass.csv | 440 +++ Assignments/A2/A2Soln/src/input | 7 + Assignments/A2/A2Soln/src/test_All.py | 228 ++ 19 files changed, 3795 insertions(+) create mode 100644 Assignments/A2/A2Soln/Makefile create mode 100644 Assignments/A2/A2Soln/doxConfig create mode 100644 Assignments/A2/A2Soln/partner/CurveADT.py create mode 100644 Assignments/A2/A2Soln/partner/Data.py create mode 100644 Assignments/A2/A2Soln/partner/SeqServices.py create mode 100644 Assignments/A2/A2Soln/report/report.pdf create mode 100644 Assignments/A2/A2Soln/report/report.tex create mode 100644 Assignments/A2/A2Soln/src/A2Examples.py create mode 100644 Assignments/A2/A2Soln/src/CurveADT.py create mode 100644 Assignments/A2/A2Soln/src/CurveADTscipy.py create mode 100644 Assignments/A2/A2Soln/src/CurveADTseq.py create mode 100644 Assignments/A2/A2Soln/src/Data.py create mode 100644 Assignments/A2/A2Soln/src/Exceptions.py create mode 100644 Assignments/A2/A2Soln/src/Load.py create mode 100644 Assignments/A2/A2Soln/src/Plot.py create mode 100644 Assignments/A2/A2Soln/src/SeqServices.py create mode 100644 Assignments/A2/A2Soln/src/glass.csv create mode 100644 Assignments/A2/A2Soln/src/input create mode 100644 Assignments/A2/A2Soln/src/test_All.py diff --git a/Assignments/A2/A2Soln/Makefile b/Assignments/A2/A2Soln/Makefile new file mode 100644 index 00000000..04778e59 --- /dev/null +++ b/Assignments/A2/A2Soln/Makefile @@ -0,0 +1,19 @@ +PY = pytest +PYFLAGS = --cov +DOXY = doxygen +DOXYCFG = doxConfig + +RMDIR = rm -rf + +.PHONY: test doc clean + +test: + $(PY) $(PYFLAGS) src + +doc: + $(DOXY) $(DOXYCFG) + cd latex && $(MAKE) + +clean: + @- $(RMDIR) html + @- $(RMDIR) latex diff --git a/Assignments/A2/A2Soln/doxConfig b/Assignments/A2/A2Soln/doxConfig new file mode 100644 index 00000000..a2ac78f2 --- /dev/null +++ b/Assignments/A2/A2Soln/doxConfig @@ -0,0 +1,2496 @@ +# Doxyfile 1.8.13 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project. +# +# All text after a double hash (##) is considered a comment and is placed in +# front of the TAG it is preceding. +# +# All text after a single hash (#) is considered a comment and will be ignored. +# The format is: +# TAG = value [value, ...] +# For lists, items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (\" \"). + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- + +# This tag specifies the encoding used for all characters in the config file +# that follow. The default is UTF-8 which is also the encoding used for all text +# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv +# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv +# for the list of possible encodings. +# The default value is: UTF-8. + +DOXYFILE_ENCODING = UTF-8 + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by +# double-quotes, unless you are using Doxywizard) that should identify the +# project for which the documentation is generated. This name is used in the +# title of most generated pages and in a few other places. +# The default value is: My Project. + +PROJECT_NAME = "Assignment 2" + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. This +# could be handy for archiving the generated documentation or if some version +# control system is used. + +PROJECT_NUMBER = + +# Using the PROJECT_BRIEF tag one can provide an optional one line description +# for a project that appears at the top of each page and should give viewer a +# quick idea about the purpose of the project. Keep the description short. + +PROJECT_BRIEF = + +# With the PROJECT_LOGO tag one can specify a logo or an icon that is included +# in the documentation. The maximum height of the logo should not exceed 55 +# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy +# the logo to the output directory. + +PROJECT_LOGO = + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path +# into which the generated documentation will be written. If a relative path is +# entered, it will be relative to the location where doxygen was started. If +# left blank the current directory will be used. + +OUTPUT_DIRECTORY = + +# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub- +# directories (in 2 levels) under the output directory of each output format and +# will distribute the generated files over these directories. Enabling this +# option can be useful when feeding doxygen a huge amount of source files, where +# putting all generated files in the same directory would otherwise causes +# performance problems for the file system. +# The default value is: NO. + +CREATE_SUBDIRS = NO + +# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII +# characters to appear in the names of generated files. If set to NO, non-ASCII +# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode +# U+3044. +# The default value is: NO. + +ALLOW_UNICODE_NAMES = NO + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese, +# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States), +# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian, +# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages), +# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian, +# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian, +# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish, +# Ukrainian and Vietnamese. +# The default value is: English. + +OUTPUT_LANGUAGE = English + +# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member +# descriptions after the members that are listed in the file and class +# documentation (similar to Javadoc). Set to NO to disable this. +# The default value is: YES. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief +# description of a member or function before the detailed description +# +# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. +# The default value is: YES. + +REPEAT_BRIEF = YES + +# This tag implements a quasi-intelligent brief description abbreviator that is +# used to form the text in various listings. Each string in this list, if found +# as the leading text of the brief description, will be stripped from the text +# and the result, after processing the whole list, is used as the annotated +# text. Otherwise, the brief description is used as-is. If left blank, the +# following values are used ($name is automatically replaced with the name of +# the entity):The $name class, The $name widget, The $name file, is, provides, +# specifies, contains, represents, a, an and the. + +ABBREVIATE_BRIEF = "The $name class" \ + "The $name widget" \ + "The $name file" \ + is \ + provides \ + specifies \ + contains \ + represents \ + a \ + an \ + the + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# doxygen will generate a detailed section even if there is only a brief +# description. +# The default value is: NO. + +ALWAYS_DETAILED_SEC = NO + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all +# inherited members of a class in the documentation of that class as if those +# members were ordinary class members. Constructors, destructors and assignment +# operators of the base classes will not be shown. +# The default value is: NO. + +INLINE_INHERITED_MEMB = NO + +# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path +# before files name in the file list and in the header files. If set to NO the +# shortest path that makes the file name unique will be used +# The default value is: YES. + +FULL_PATH_NAMES = YES + +# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path. +# Stripping is only done if one of the specified strings matches the left-hand +# part of the path. The tag can be used to show relative paths in the file list. +# If left blank the directory from which doxygen is run is used as the path to +# strip. +# +# Note that you can specify absolute paths here, but also relative paths, which +# will be relative from the directory where doxygen is started. +# This tag requires that the tag FULL_PATH_NAMES is set to YES. + +STRIP_FROM_PATH = + +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the +# path mentioned in the documentation of a class, which tells the reader which +# header file to include in order to use a class. If left blank only the name of +# the header file containing the class definition is used. Otherwise one should +# specify the list of include paths that are normally passed to the compiler +# using the -I flag. + +STRIP_FROM_INC_PATH = + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but +# less readable) file names. This can be useful is your file systems doesn't +# support long names like on DOS, Mac, or CD-ROM. +# The default value is: NO. + +SHORT_NAMES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the +# first line (until the first dot) of a Javadoc-style comment as the brief +# description. If set to NO, the Javadoc-style will behave just like regular Qt- +# style comments (thus requiring an explicit @brief command for a brief +# description.) +# The default value is: NO. + +JAVADOC_AUTOBRIEF = NO + +# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first +# line (until the first dot) of a Qt-style comment as the brief description. If +# set to NO, the Qt-style will behave just like regular Qt-style comments (thus +# requiring an explicit \brief command for a brief description.) +# The default value is: NO. + +QT_AUTOBRIEF = NO + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a +# multi-line C++ special comment block (i.e. a block of //! or /// comments) as +# a brief description. This used to be the default behavior. The new default is +# to treat a multi-line C++ comment block as a detailed description. Set this +# tag to YES if you prefer the old behavior instead. +# +# Note that setting this tag to YES also means that rational rose comments are +# not recognized any more. +# The default value is: NO. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the +# documentation from any documented member that it re-implements. +# The default value is: YES. + +INHERIT_DOCS = YES + +# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new +# page for each member. If set to NO, the documentation of a member will be part +# of the file/class/namespace that contains it. +# The default value is: NO. + +SEPARATE_MEMBER_PAGES = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen +# uses this value to replace tabs by spaces in code fragments. +# Minimum value: 1, maximum value: 16, default value: 4. + +TAB_SIZE = 4 + +# This tag can be used to specify a number of aliases that act as commands in +# the documentation. An alias has the form: +# name=value +# For example adding +# "sideeffect=@par Side Effects:\n" +# will allow you to put the command \sideeffect (or @sideeffect) in the +# documentation, which will result in a user-defined paragraph with heading +# "Side Effects:". You can put \n's in the value part of an alias to insert +# newlines. + +ALIASES = + +# This tag can be used to specify a number of word-keyword mappings (TCL only). +# A mapping has the form "name=value". For example adding "class=itcl::class" +# will allow you to use the command class in the itcl::class meaning. + +TCL_SUBST = + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources +# only. Doxygen will then generate output that is more tailored for C. For +# instance, some of the names that are used will be different. The list of all +# members will be omitted, etc. +# The default value is: NO. + +OPTIMIZE_OUTPUT_FOR_C = NO + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or +# Python sources only. Doxygen will then generate output that is more tailored +# for that language. For instance, namespaces will be presented as packages, +# qualified scopes will look different, etc. +# The default value is: NO. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran +# sources. Doxygen will then generate output that is tailored for Fortran. +# The default value is: NO. + +OPTIMIZE_FOR_FORTRAN = NO + +# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL +# sources. Doxygen will then generate output that is tailored for VHDL. +# The default value is: NO. + +OPTIMIZE_OUTPUT_VHDL = NO + +# Doxygen selects the parser to use depending on the extension of the files it +# parses. With this tag you can assign which parser to use for a given +# extension. Doxygen has a built-in mapping, but you can override or extend it +# using this tag. The format is ext=language, where ext is a file extension, and +# language is one of the parsers supported by doxygen: IDL, Java, Javascript, +# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran: +# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran: +# Fortran. In the later case the parser tries to guess whether the code is fixed +# or free formatted code, this is the default for Fortran type files), VHDL. For +# instance to make doxygen treat .inc files as Fortran files (default is PHP), +# and .f files as C (default is Fortran), use: inc=Fortran f=C. +# +# Note: For files without extension you can use no_extension as a placeholder. +# +# Note that for custom extensions you also need to set FILE_PATTERNS otherwise +# the files are not read by doxygen. + +EXTENSION_MAPPING = + +# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments +# according to the Markdown format, which allows for more readable +# documentation. See http://daringfireball.net/projects/markdown/ for details. +# The output of markdown processing is further processed by doxygen, so you can +# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in +# case of backward compatibilities issues. +# The default value is: YES. + +MARKDOWN_SUPPORT = YES + +# When the TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings up +# to that level are automatically included in the table of contents, even if +# they do not have an id attribute. +# Note: This feature currently applies only to Markdown headings. +# Minimum value: 0, maximum value: 99, default value: 0. +# This tag requires that the tag MARKDOWN_SUPPORT is set to YES. + +TOC_INCLUDE_HEADINGS = 0 + +# When enabled doxygen tries to link words that correspond to documented +# classes, or namespaces to their corresponding documentation. Such a link can +# be prevented in individual cases by putting a % sign in front of the word or +# globally by setting AUTOLINK_SUPPORT to NO. +# The default value is: YES. + +AUTOLINK_SUPPORT = YES + +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want +# to include (a tag file for) the STL sources as input, then you should set this +# tag to YES in order to let doxygen match functions declarations and +# definitions whose arguments contain STL classes (e.g. func(std::string); +# versus func(std::string) {}). This also make the inheritance and collaboration +# diagrams that involve STL classes more complete and accurate. +# The default value is: NO. + +BUILTIN_STL_SUPPORT = NO + +# If you use Microsoft's C++/CLI language, you should set this option to YES to +# enable parsing support. +# The default value is: NO. + +CPP_CLI_SUPPORT = NO + +# Set the SIP_SUPPORT tag to YES if your project consists of sip (see: +# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen +# will parse them like normal C++ but will assume all classes use public instead +# of private inheritance when no explicit protection keyword is present. +# The default value is: NO. + +SIP_SUPPORT = NO + +# For Microsoft's IDL there are propget and propput attributes to indicate +# getter and setter methods for a property. Setting this option to YES will make +# doxygen to replace the get and set methods by a property in the documentation. +# This will only work if the methods are indeed getting or setting a simple +# type. If this is not the case, or you want to show the methods anyway, you +# should set this option to NO. +# The default value is: YES. + +IDL_PROPERTY_SUPPORT = YES + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. +# The default value is: NO. + +DISTRIBUTE_GROUP_DOC = NO + +# If one adds a struct or class to a group and this option is enabled, then also +# any nested class or struct is added to the same group. By default this option +# is disabled and one has to add nested compounds explicitly via \ingroup. +# The default value is: NO. + +GROUP_NESTED_COMPOUNDS = NO + +# Set the SUBGROUPING tag to YES to allow class member groups of the same type +# (for instance a group of public functions) to be put as a subgroup of that +# type (e.g. under the Public Functions section). Set it to NO to prevent +# subgrouping. Alternatively, this can be done per class using the +# \nosubgrouping command. +# The default value is: YES. + +SUBGROUPING = YES + +# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions +# are shown inside the group in which they are included (e.g. using \ingroup) +# instead of on a separate page (for HTML and Man pages) or section (for LaTeX +# and RTF). +# +# Note that this feature does not work in combination with +# SEPARATE_MEMBER_PAGES. +# The default value is: NO. + +INLINE_GROUPED_CLASSES = NO + +# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions +# with only public data fields or simple typedef fields will be shown inline in +# the documentation of the scope in which they are defined (i.e. file, +# namespace, or group documentation), provided this scope is documented. If set +# to NO, structs, classes, and unions are shown on a separate page (for HTML and +# Man pages) or section (for LaTeX and RTF). +# The default value is: NO. + +INLINE_SIMPLE_STRUCTS = NO + +# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or +# enum is documented as struct, union, or enum with the name of the typedef. So +# typedef struct TypeS {} TypeT, will appear in the documentation as a struct +# with name TypeT. When disabled the typedef will appear as a member of a file, +# namespace, or class. And the struct will be named TypeS. This can typically be +# useful for C code in case the coding convention dictates that all compound +# types are typedef'ed and only the typedef is referenced, never the tag name. +# The default value is: NO. + +TYPEDEF_HIDES_STRUCT = NO + +# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This +# cache is used to resolve symbols given their name and scope. Since this can be +# an expensive process and often the same symbol appears multiple times in the +# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small +# doxygen will become slower. If the cache is too large, memory is wasted. The +# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range +# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536 +# symbols. At the end of a run doxygen will report the cache usage and suggest +# the optimal cache size from a speed point of view. +# Minimum value: 0, maximum value: 9, default value: 0. + +LOOKUP_CACHE_SIZE = 0 + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in +# documentation are documented, even if no documentation was available. Private +# class members and static file members will be hidden unless the +# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES. +# Note: This will also disable the warnings about undocumented members that are +# normally produced when WARNINGS is set to YES. +# The default value is: NO. + +EXTRACT_ALL = NO + +# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will +# be included in the documentation. +# The default value is: NO. + +EXTRACT_PRIVATE = NO + +# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal +# scope will be included in the documentation. +# The default value is: NO. + +EXTRACT_PACKAGE = NO + +# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be +# included in the documentation. +# The default value is: NO. + +EXTRACT_STATIC = NO + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined +# locally in source files will be included in the documentation. If set to NO, +# only classes defined in header files are included. Does not have any effect +# for Java sources. +# The default value is: YES. + +EXTRACT_LOCAL_CLASSES = YES + +# This flag is only useful for Objective-C code. If set to YES, local methods, +# which are defined in the implementation section but not in the interface are +# included in the documentation. If set to NO, only methods in the interface are +# included. +# The default value is: NO. + +EXTRACT_LOCAL_METHODS = NO + +# If this flag is set to YES, the members of anonymous namespaces will be +# extracted and appear in the documentation as a namespace called +# 'anonymous_namespace{file}', where file will be replaced with the base name of +# the file that contains the anonymous namespace. By default anonymous namespace +# are hidden. +# The default value is: NO. + +EXTRACT_ANON_NSPACES = NO + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all +# undocumented members inside documented classes or files. If set to NO these +# members will be included in the various overviews, but no documentation +# section is generated. This option has no effect if EXTRACT_ALL is enabled. +# The default value is: NO. + +HIDE_UNDOC_MEMBERS = NO + +# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. If set +# to NO, these classes will be included in the various overviews. This option +# has no effect if EXTRACT_ALL is enabled. +# The default value is: NO. + +HIDE_UNDOC_CLASSES = NO + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend +# (class|struct|union) declarations. If set to NO, these declarations will be +# included in the documentation. +# The default value is: NO. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any +# documentation blocks found inside the body of a function. If set to NO, these +# blocks will be appended to the function's detailed documentation block. +# The default value is: NO. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation that is typed after a +# \internal command is included. If the tag is set to NO then the documentation +# will be excluded. Set it to YES to include the internal documentation. +# The default value is: NO. + +INTERNAL_DOCS = NO + +# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file +# names in lower-case letters. If set to YES, upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# and Mac users are advised to set this option to NO. +# The default value is: system dependent. + +CASE_SENSE_NAMES = NO + +# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with +# their full class and namespace scopes in the documentation. If set to YES, the +# scope will be hidden. +# The default value is: NO. + +HIDE_SCOPE_NAMES = NO + +# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will +# append additional text to a page's title, such as Class Reference. If set to +# YES the compound reference will be hidden. +# The default value is: NO. + +HIDE_COMPOUND_REFERENCE= NO + +# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of +# the files that are included by a file in the documentation of that file. +# The default value is: YES. + +SHOW_INCLUDE_FILES = YES + +# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each +# grouped member an include statement to the documentation, telling the reader +# which file to include in order to use the member. +# The default value is: NO. + +SHOW_GROUPED_MEMB_INC = NO + +# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include +# files with double quotes in the documentation rather than with sharp brackets. +# The default value is: NO. + +FORCE_LOCAL_INCLUDES = NO + +# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the +# documentation for inline members. +# The default value is: YES. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the +# (detailed) documentation of file and class members alphabetically by member +# name. If set to NO, the members will appear in declaration order. +# The default value is: YES. + +SORT_MEMBER_DOCS = YES + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief +# descriptions of file, namespace and class members alphabetically by member +# name. If set to NO, the members will appear in declaration order. Note that +# this will also influence the order of the classes in the class list. +# The default value is: NO. + +SORT_BRIEF_DOCS = NO + +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the +# (brief and detailed) documentation of class members so that constructors and +# destructors are listed first. If set to NO the constructors will appear in the +# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS. +# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief +# member documentation. +# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting +# detailed member documentation. +# The default value is: NO. + +SORT_MEMBERS_CTORS_1ST = NO + +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy +# of group names into alphabetical order. If set to NO the group names will +# appear in their defined order. +# The default value is: NO. + +SORT_GROUP_NAMES = NO + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by +# fully-qualified names, including namespaces. If set to NO, the class list will +# be sorted only by class name, not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the alphabetical +# list. +# The default value is: NO. + +SORT_BY_SCOPE_NAME = NO + +# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper +# type resolution of all parameters of a function it will reject a match between +# the prototype and the implementation of a member function even if there is +# only one candidate or it is obvious which candidate to choose by doing a +# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still +# accept a match between prototype and implementation in such cases. +# The default value is: NO. + +STRICT_PROTO_MATCHING = NO + +# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo +# list. This list is created by putting \todo commands in the documentation. +# The default value is: YES. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test +# list. This list is created by putting \test commands in the documentation. +# The default value is: YES. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug +# list. This list is created by putting \bug commands in the documentation. +# The default value is: YES. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO) +# the deprecated list. This list is created by putting \deprecated commands in +# the documentation. +# The default value is: YES. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional documentation +# sections, marked by \if <section_label> ... \endif and \cond <section_label> +# ... \endcond blocks. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the +# initial value of a variable or macro / define can have for it to appear in the +# documentation. If the initializer consists of more lines than specified here +# it will be hidden. Use a value of 0 to hide initializers completely. The +# appearance of the value of individual variables and macros / defines can be +# controlled using \showinitializer or \hideinitializer command in the +# documentation regardless of this setting. +# Minimum value: 0, maximum value: 10000, default value: 30. + +MAX_INITIALIZER_LINES = 30 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at +# the bottom of the documentation of classes and structs. If set to YES, the +# list will mention the files that were used to generate the documentation. +# The default value is: YES. + +SHOW_USED_FILES = YES + +# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This +# will remove the Files entry from the Quick Index and from the Folder Tree View +# (if specified). +# The default value is: YES. + +SHOW_FILES = YES + +# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces +# page. This will remove the Namespaces entry from the Quick Index and from the +# Folder Tree View (if specified). +# The default value is: YES. + +SHOW_NAMESPACES = YES + +# The FILE_VERSION_FILTER tag can be used to specify a program or script that +# doxygen should invoke to get the current version for each file (typically from +# the version control system). Doxygen will invoke the program by executing (via +# popen()) the command command input-file, where command is the value of the +# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided +# by doxygen. Whatever the program writes to standard output is used as the file +# version. For an example see the documentation. + +FILE_VERSION_FILTER = + +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed +# by doxygen. The layout file controls the global structure of the generated +# output files in an output format independent way. To create the layout file +# that represents doxygen's defaults, run doxygen with the -l option. You can +# optionally specify a file name after the option, if omitted DoxygenLayout.xml +# will be used as the name of the layout file. +# +# Note that if you run doxygen from a directory containing a file called +# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE +# tag is left empty. + +LAYOUT_FILE = + +# The CITE_BIB_FILES tag can be used to specify one or more bib files containing +# the reference definitions. This must be a list of .bib files. The .bib +# extension is automatically appended if omitted. This requires the bibtex tool +# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info. +# For LaTeX the style of the bibliography can be controlled using +# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the +# search path. See also \cite for info how to create references. + +CITE_BIB_FILES = + +#--------------------------------------------------------------------------- +# Configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated to +# standard output by doxygen. If QUIET is set to YES this implies that the +# messages are off. +# The default value is: NO. + +QUIET = NO + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES +# this implies that the warnings are on. +# +# Tip: Turn warnings on while writing the documentation. +# The default value is: YES. + +WARNINGS = YES + +# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate +# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag +# will automatically be disabled. +# The default value is: YES. + +WARN_IF_UNDOCUMENTED = YES + +# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some parameters +# in a documented function, or documenting parameters that don't exist or using +# markup commands wrongly. +# The default value is: YES. + +WARN_IF_DOC_ERROR = YES + +# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that +# are documented, but have no documentation for their parameters or return +# value. If set to NO, doxygen will only warn about wrong or incomplete +# parameter documentation, but not about the absence of documentation. +# The default value is: NO. + +WARN_NO_PARAMDOC = NO + +# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when +# a warning is encountered. +# The default value is: NO. + +WARN_AS_ERROR = NO + +# The WARN_FORMAT tag determines the format of the warning messages that doxygen +# can produce. The string should contain the $file, $line, and $text tags, which +# will be replaced by the file and line number from which the warning originated +# and the warning text. Optionally the format may contain $version, which will +# be replaced by the version of the file (if it could be obtained via +# FILE_VERSION_FILTER) +# The default value is: $file:$line: $text. + +WARN_FORMAT = "$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning and error +# messages should be written. If left blank the output is written to standard +# error (stderr). + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# Configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag is used to specify the files and/or directories that contain +# documented source files. You may enter file names like myfile.cpp or +# directories like /usr/src/myproject. Separate the files or directories with +# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING +# Note: If this tag is empty the current directory is searched. + +INPUT = src/CurveADT.py \ + src/Data.py \ + src/Load.py \ + src/Plot.py \ + src/SeqServices.py + +# This tag can be used to specify the character encoding of the source files +# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses +# libiconv (or the iconv built into libc) for the transcoding. See the libiconv +# documentation (see: http://www.gnu.org/software/libiconv) for the list of +# possible encodings. +# The default value is: UTF-8. + +INPUT_ENCODING = UTF-8 + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and +# *.h) to filter out the source-files in the directories. +# +# Note that for custom extensions or not directly supported extensions you also +# need to set EXTENSION_MAPPING for the extension otherwise the files are not +# read by doxygen. +# +# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp, +# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, +# *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, +# *.m, *.markdown, *.md, *.mm, *.dox, *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, +# *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf and *.qsf. + +FILE_PATTERNS = *.c \ + *.cc \ + *.cxx \ + *.cpp \ + *.c++ \ + *.java \ + *.ii \ + *.ixx \ + *.ipp \ + *.i++ \ + *.inl \ + *.idl \ + *.ddl \ + *.odl \ + *.h \ + *.hh \ + *.hxx \ + *.hpp \ + *.h++ \ + *.cs \ + *.d \ + *.php \ + *.php4 \ + *.php5 \ + *.phtml \ + *.inc \ + *.m \ + *.markdown \ + *.md \ + *.mm \ + *.dox \ + *.py \ + *.pyw \ + *.f90 \ + *.f95 \ + *.f03 \ + *.f08 \ + *.f \ + *.for \ + *.tcl \ + *.vhd \ + *.vhdl \ + *.ucf \ + *.qsf + +# The RECURSIVE tag can be used to specify whether or not subdirectories should +# be searched for input files as well. +# The default value is: NO. + +RECURSIVE = NO + +# The EXCLUDE tag can be used to specify files and/or directories that should be +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. +# +# Note that relative paths are relative to the directory from which doxygen is +# run. + +EXCLUDE = + +# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or +# directories that are symbolic links (a Unix file system feature) are excluded +# from the input. +# The default value is: NO. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. +# +# Note that the wildcards are matched against the file with absolute path, so to +# exclude all test directories for example use the pattern */test/* + +EXCLUDE_PATTERNS = + +# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names +# (namespaces, classes, functions, etc.) that should be excluded from the +# output. The symbol name can be a fully qualified name, a word, or if the +# wildcard * is used, a substring. Examples: ANamespace, AClass, +# AClass::ANamespace, ANamespace::*Test +# +# Note that the wildcards are matched against the file with absolute path, so to +# exclude all test directories use the pattern */test/* + +EXCLUDE_SYMBOLS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or directories +# that contain example code fragments that are included (see the \include +# command). + +EXAMPLE_PATH = + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and +# *.h) to filter out the source-files in the directories. If left blank all +# files are included. + +EXAMPLE_PATTERNS = * + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude commands +# irrespective of the value of the RECURSIVE tag. +# The default value is: NO. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or directories +# that contain images that are to be included in the documentation (see the +# \image command). + +IMAGE_PATH = + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command: +# +# <filter> <input-file> +# +# where <filter> is the value of the INPUT_FILTER tag, and <input-file> is the +# name of an input file. Doxygen will then use the output that the filter +# program writes to standard output. If FILTER_PATTERNS is specified, this tag +# will be ignored. +# +# Note that the filter must not add or remove lines; it is applied before the +# code is scanned, but not when the output code is generated. If lines are added +# or removed, the anchors will not be placed correctly. +# +# Note that for custom extensions or not directly supported extensions you also +# need to set EXTENSION_MAPPING for the extension otherwise the files are not +# properly processed by doxygen. + +INPUT_FILTER = + +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern +# basis. Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. The filters are a list of the form: pattern=filter +# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how +# filters are used. If the FILTER_PATTERNS tag is empty or if none of the +# patterns match the file name, INPUT_FILTER is applied. +# +# Note that for custom extensions or not directly supported extensions you also +# need to set EXTENSION_MAPPING for the extension otherwise the files are not +# properly processed by doxygen. + +FILTER_PATTERNS = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will also be used to filter the input files that are used for +# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES). +# The default value is: NO. + +FILTER_SOURCE_FILES = NO + +# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file +# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and +# it is also possible to disable source filtering for a specific pattern using +# *.ext= (so without naming a filter). +# This tag requires that the tag FILTER_SOURCE_FILES is set to YES. + +FILTER_SOURCE_PATTERNS = + +# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that +# is part of the input, its contents will be placed on the main page +# (index.html). This can be useful if you have a project on for instance GitHub +# and want to reuse the introduction page also for the doxygen output. + +USE_MDFILE_AS_MAINPAGE = + +#--------------------------------------------------------------------------- +# Configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will be +# generated. Documented entities will be cross-referenced with these sources. +# +# Note: To get rid of all source code in the generated output, make sure that +# also VERBATIM_HEADERS is set to NO. +# The default value is: NO. + +SOURCE_BROWSER = NO + +# Setting the INLINE_SOURCES tag to YES will include the body of functions, +# classes and enums directly into the documentation. +# The default value is: NO. + +INLINE_SOURCES = NO + +# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any +# special comment blocks from generated source code fragments. Normal C, C++ and +# Fortran comments will always remain visible. +# The default value is: YES. + +STRIP_CODE_COMMENTS = YES + +# If the REFERENCED_BY_RELATION tag is set to YES then for each documented +# function all documented functions referencing it will be listed. +# The default value is: NO. + +REFERENCED_BY_RELATION = NO + +# If the REFERENCES_RELATION tag is set to YES then for each documented function +# all documented entities called/used by that function will be listed. +# The default value is: NO. + +REFERENCES_RELATION = NO + +# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set +# to YES then the hyperlinks from functions in REFERENCES_RELATION and +# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will +# link to the documentation. +# The default value is: YES. + +REFERENCES_LINK_SOURCE = YES + +# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the +# source code will show a tooltip with additional information such as prototype, +# brief description and links to the definition and documentation. Since this +# will make the HTML file larger and loading of large files a bit slower, you +# can opt to disable this feature. +# The default value is: YES. +# This tag requires that the tag SOURCE_BROWSER is set to YES. + +SOURCE_TOOLTIPS = YES + +# If the USE_HTAGS tag is set to YES then the references to source code will +# point to the HTML generated by the htags(1) tool instead of doxygen built-in +# source browser. The htags tool is part of GNU's global source tagging system +# (see http://www.gnu.org/software/global/global.html). You will need version +# 4.8.6 or higher. +# +# To use it do the following: +# - Install the latest version of global +# - Enable SOURCE_BROWSER and USE_HTAGS in the config file +# - Make sure the INPUT points to the root of the source tree +# - Run doxygen as normal +# +# Doxygen will invoke htags (and that will in turn invoke gtags), so these +# tools must be available from the command line (i.e. in the search path). +# +# The result: instead of the source browser generated by doxygen, the links to +# source code will now point to the output of htags. +# The default value is: NO. +# This tag requires that the tag SOURCE_BROWSER is set to YES. + +USE_HTAGS = NO + +# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a +# verbatim copy of the header file for each class for which an include is +# specified. Set to NO to disable this. +# See also: Section \class. +# The default value is: YES. + +VERBATIM_HEADERS = YES + +# If the CLANG_ASSISTED_PARSING tag is set to YES then doxygen will use the +# clang parser (see: http://clang.llvm.org/) for more accurate parsing at the +# cost of reduced performance. This can be particularly helpful with template +# rich C++ code for which doxygen's built-in parser lacks the necessary type +# information. +# Note: The availability of this option depends on whether or not doxygen was +# generated with the -Duse-libclang=ON option for CMake. +# The default value is: NO. + +CLANG_ASSISTED_PARSING = NO + +# If clang assisted parsing is enabled you can provide the compiler with command +# line options that you would normally use when invoking the compiler. Note that +# the include paths will already be set by doxygen for the files and directories +# specified with INPUT and INCLUDE_PATH. +# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES. + +CLANG_OPTIONS = + +#--------------------------------------------------------------------------- +# Configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all +# compounds will be generated. Enable this if the project contains a lot of +# classes, structs, unions or interfaces. +# The default value is: YES. + +ALPHABETICAL_INDEX = YES + +# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in +# which the alphabetical index list will be split. +# Minimum value: 1, maximum value: 20, default value: 5. +# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all classes will +# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag +# can be used to specify a prefix (or a list of prefixes) that should be ignored +# while generating the index headers. +# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output +# The default value is: YES. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a +# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of +# it. +# The default directory is: html. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_OUTPUT = html + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each +# generated HTML page (for example: .htm, .php, .asp). +# The default value is: .html. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a user-defined HTML header file for +# each generated HTML page. If the tag is left blank doxygen will generate a +# standard header. +# +# To get valid HTML the header file that includes any scripts and style sheets +# that doxygen needs, which is dependent on the configuration options used (e.g. +# the setting GENERATE_TREEVIEW). It is highly recommended to start with a +# default header using +# doxygen -w html new_header.html new_footer.html new_stylesheet.css +# YourConfigFile +# and then modify the file new_header.html. See also section "Doxygen usage" +# for information on how to generate the default header that doxygen normally +# uses. +# Note: The header is subject to change so you typically have to regenerate the +# default header when upgrading to a newer version of doxygen. For a description +# of the possible markers and block names see the documentation. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_HEADER = + +# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each +# generated HTML page. If the tag is left blank doxygen will generate a standard +# footer. See HTML_HEADER for more information on how to generate a default +# footer and what special commands can be used inside the footer. See also +# section "Doxygen usage" for information on how to generate the default footer +# that doxygen normally uses. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_FOOTER = + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style +# sheet that is used by each HTML page. It can be used to fine-tune the look of +# the HTML output. If left blank doxygen will generate a default style sheet. +# See also section "Doxygen usage" for information on how to generate the style +# sheet that doxygen normally uses. +# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as +# it is more robust and this tag (HTML_STYLESHEET) will in the future become +# obsolete. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_STYLESHEET = + +# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined +# cascading style sheets that are included after the standard style sheets +# created by doxygen. Using this option one can overrule certain style aspects. +# This is preferred over using HTML_STYLESHEET since it does not replace the +# standard style sheet and is therefore more robust against future updates. +# Doxygen will copy the style sheet files to the output directory. +# Note: The order of the extra style sheet files is of importance (e.g. the last +# style sheet in the list overrules the setting of the previous ones in the +# list). For an example see the documentation. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_EXTRA_STYLESHEET = + +# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or +# other source files which should be copied to the HTML output directory. Note +# that these files will be copied to the base HTML output directory. Use the +# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these +# files. In the HTML_STYLESHEET file, use the file name only. Also note that the +# files will be copied as-is; there are no commands or markers available. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_EXTRA_FILES = + +# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen +# will adjust the colors in the style sheet and background images according to +# this color. Hue is specified as an angle on a colorwheel, see +# http://en.wikipedia.org/wiki/Hue for more information. For instance the value +# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 +# purple, and 360 is red again. +# Minimum value: 0, maximum value: 359, default value: 220. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE_HUE = 220 + +# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors +# in the HTML output. For a value of 0 the output will use grayscales only. A +# value of 255 will produce the most vivid colors. +# Minimum value: 0, maximum value: 255, default value: 100. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE_SAT = 100 + +# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the +# luminance component of the colors in the HTML output. Values below 100 +# gradually make the output lighter, whereas values above 100 make the output +# darker. The value divided by 100 is the actual gamma applied, so 80 represents +# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not +# change the gamma. +# Minimum value: 40, maximum value: 240, default value: 80. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE_GAMMA = 80 + +# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML +# page will contain the date and time when the page was generated. Setting this +# to YES can help to show when doxygen was last run and thus if the +# documentation is up to date. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_TIMESTAMP = NO + +# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML +# documentation will contain sections that can be hidden and shown after the +# page has loaded. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_DYNAMIC_SECTIONS = NO + +# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries +# shown in the various tree structured indices initially; the user can expand +# and collapse entries dynamically later on. Doxygen will expand the tree to +# such a level that at most the specified number of entries are visible (unless +# a fully collapsed tree already exceeds this amount). So setting the number of +# entries 1 will produce a full collapsed tree by default. 0 is a special value +# representing an infinite number of entries and will result in a full expanded +# tree by default. +# Minimum value: 0, maximum value: 9999, default value: 100. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_INDEX_NUM_ENTRIES = 100 + +# If the GENERATE_DOCSET tag is set to YES, additional index files will be +# generated that can be used as input for Apple's Xcode 3 integrated development +# environment (see: http://developer.apple.com/tools/xcode/), introduced with +# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a +# Makefile in the HTML output directory. Running make will produce the docset in +# that directory and running make install will install the docset in +# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at +# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html +# for more information. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_DOCSET = NO + +# This tag determines the name of the docset feed. A documentation feed provides +# an umbrella under which multiple documentation sets from a single provider +# (such as a company or product suite) can be grouped. +# The default value is: Doxygen generated docs. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_FEEDNAME = "Doxygen generated docs" + +# This tag specifies a string that should uniquely identify the documentation +# set bundle. This should be a reverse domain-name style string, e.g. +# com.mycompany.MyDocSet. Doxygen will append .docset to the name. +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_BUNDLE_ID = org.doxygen.Project + +# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify +# the documentation publisher. This should be a reverse domain-name style +# string, e.g. com.mycompany.MyDocSet.documentation. +# The default value is: org.doxygen.Publisher. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_PUBLISHER_ID = org.doxygen.Publisher + +# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher. +# The default value is: Publisher. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_PUBLISHER_NAME = Publisher + +# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three +# additional HTML index files: index.hhp, index.hhc, and index.hhk. The +# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop +# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on +# Windows. +# +# The HTML Help Workshop contains a compiler that can convert all HTML output +# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML +# files are now used as the Windows 98 help format, and will replace the old +# Windows help format (.hlp) on all Windows platforms in the future. Compressed +# HTML files also contain an index, a table of contents, and you can search for +# words in the documentation. The HTML workshop also contains a viewer for +# compressed HTML files. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_HTMLHELP = NO + +# The CHM_FILE tag can be used to specify the file name of the resulting .chm +# file. You can add a path in front of the file if the result should not be +# written to the html output directory. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +CHM_FILE = + +# The HHC_LOCATION tag can be used to specify the location (absolute path +# including file name) of the HTML help compiler (hhc.exe). If non-empty, +# doxygen will try to run the HTML help compiler on the generated index.hhp. +# The file has to be specified with full path. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +HHC_LOCATION = + +# The GENERATE_CHI flag controls if a separate .chi index file is generated +# (YES) or that it should be included in the master .chm file (NO). +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +GENERATE_CHI = NO + +# The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc) +# and project file content. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +CHM_INDEX_ENCODING = + +# The BINARY_TOC flag controls whether a binary table of contents is generated +# (YES) or a normal table of contents (NO) in the .chm file. Furthermore it +# enables the Previous and Next buttons. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members to +# the table of contents of the HTML help documentation and to the tree view. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +TOC_EXPAND = NO + +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and +# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that +# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help +# (.qch) of the generated HTML documentation. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_QHP = NO + +# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify +# the file name of the resulting .qch file. The path specified is relative to +# the HTML output folder. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QCH_FILE = + +# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help +# Project output. For more information please see Qt Help Project / Namespace +# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace). +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_NAMESPACE = org.doxygen.Project + +# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt +# Help Project output. For more information please see Qt Help Project / Virtual +# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual- +# folders). +# The default value is: doc. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_VIRTUAL_FOLDER = doc + +# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom +# filter to add. For more information please see Qt Help Project / Custom +# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- +# filters). +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_CUST_FILTER_NAME = + +# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the +# custom filter to add. For more information please see Qt Help Project / Custom +# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- +# filters). +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_CUST_FILTER_ATTRS = + +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this +# project's filter section matches. Qt Help Project / Filter Attributes (see: +# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes). +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_SECT_FILTER_ATTRS = + +# The QHG_LOCATION tag can be used to specify the location of Qt's +# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the +# generated .qhp file. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHG_LOCATION = + +# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be +# generated, together with the HTML files, they form an Eclipse help plugin. To +# install this plugin and make it available under the help contents menu in +# Eclipse, the contents of the directory containing the HTML and XML files needs +# to be copied into the plugins directory of eclipse. The name of the directory +# within the plugins directory should be the same as the ECLIPSE_DOC_ID value. +# After copying Eclipse needs to be restarted before the help appears. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_ECLIPSEHELP = NO + +# A unique identifier for the Eclipse help plugin. When installing the plugin +# the directory name containing the HTML and XML files should also have this +# name. Each documentation set should have its own identifier. +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES. + +ECLIPSE_DOC_ID = org.doxygen.Project + +# If you want full control over the layout of the generated HTML pages it might +# be necessary to disable the index and replace it with your own. The +# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top +# of each HTML page. A value of NO enables the index and the value YES disables +# it. Since the tabs in the index contain the same information as the navigation +# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +DISABLE_INDEX = NO + +# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index +# structure should be generated to display hierarchical information. If the tag +# value is set to YES, a side panel will be generated containing a tree-like +# index structure (just like the one that is generated for HTML Help). For this +# to work a browser that supports JavaScript, DHTML, CSS and frames is required +# (i.e. any modern browser). Windows users are probably better off using the +# HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can +# further fine-tune the look of the index. As an example, the default style +# sheet generated by doxygen has an example that shows how to put an image at +# the root of the tree instead of the PROJECT_NAME. Since the tree basically has +# the same information as the tab index, you could consider setting +# DISABLE_INDEX to YES when enabling this option. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_TREEVIEW = NO + +# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that +# doxygen will group on one line in the generated HTML documentation. +# +# Note that a value of 0 will completely suppress the enum values from appearing +# in the overview section. +# Minimum value: 0, maximum value: 20, default value: 4. +# This tag requires that the tag GENERATE_HTML is set to YES. + +ENUM_VALUES_PER_LINE = 4 + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used +# to set the initial width (in pixels) of the frame in which the tree is shown. +# Minimum value: 0, maximum value: 1500, default value: 250. +# This tag requires that the tag GENERATE_HTML is set to YES. + +TREEVIEW_WIDTH = 250 + +# If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to +# external symbols imported via tag files in a separate window. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +EXT_LINKS_IN_WINDOW = NO + +# Use this tag to change the font size of LaTeX formulas included as images in +# the HTML documentation. When you change the font size after a successful +# doxygen run you need to manually remove any form_*.png images from the HTML +# output directory to force them to be regenerated. +# Minimum value: 8, maximum value: 50, default value: 10. +# This tag requires that the tag GENERATE_HTML is set to YES. + +FORMULA_FONTSIZE = 10 + +# Use the FORMULA_TRANPARENT tag to determine whether or not the images +# generated for formulas are transparent PNGs. Transparent PNGs are not +# supported properly for IE 6.0, but are supported on all modern browsers. +# +# Note that when changing this option you need to delete any form_*.png files in +# the HTML output directory before the changes have effect. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. + +FORMULA_TRANSPARENT = YES + +# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see +# http://www.mathjax.org) which uses client side Javascript for the rendering +# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX +# installed or if you want to formulas look prettier in the HTML output. When +# enabled you may also need to install MathJax separately and configure the path +# to it using the MATHJAX_RELPATH option. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +USE_MATHJAX = NO + +# When MathJax is enabled you can set the default output format to be used for +# the MathJax output. See the MathJax site (see: +# http://docs.mathjax.org/en/latest/output.html) for more details. +# Possible values are: HTML-CSS (which is slower, but has the best +# compatibility), NativeMML (i.e. MathML) and SVG. +# The default value is: HTML-CSS. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_FORMAT = HTML-CSS + +# When MathJax is enabled you need to specify the location relative to the HTML +# output directory using the MATHJAX_RELPATH option. The destination directory +# should contain the MathJax.js script. For instance, if the mathjax directory +# is located at the same level as the HTML output directory, then +# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax +# Content Delivery Network so you can quickly see the result without installing +# MathJax. However, it is strongly recommended to install a local copy of +# MathJax from http://www.mathjax.org before deployment. +# The default value is: http://cdn.mathjax.org/mathjax/latest. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest + +# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax +# extension names that should be enabled during MathJax rendering. For example +# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_EXTENSIONS = + +# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces +# of code that will be used on startup of the MathJax code. See the MathJax site +# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an +# example see the documentation. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_CODEFILE = + +# When the SEARCHENGINE tag is enabled doxygen will generate a search box for +# the HTML output. The underlying search engine uses javascript and DHTML and +# should work on any modern browser. Note that when using HTML help +# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) +# there is already a search function so this one should typically be disabled. +# For large projects the javascript based search engine can be slow, then +# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to +# search using the keyboard; to jump to the search box use <access key> + S +# (what the <access key> is depends on the OS and browser, but it is typically +# <CTRL>, <ALT>/<option>, or both). Inside the search box use the <cursor down +# key> to jump into the search results window, the results can be navigated +# using the <cursor keys>. Press <Enter> to select an item or <escape> to cancel +# the search. The filter options can be selected when the cursor is inside the +# search box by pressing <Shift>+<cursor down>. Also here use the <cursor keys> +# to select a filter and <Enter> or <escape> to activate or cancel the filter +# option. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. + +SEARCHENGINE = YES + +# When the SERVER_BASED_SEARCH tag is enabled the search engine will be +# implemented using a web server instead of a web client using Javascript. There +# are two flavors of web server based searching depending on the EXTERNAL_SEARCH +# setting. When disabled, doxygen will generate a PHP script for searching and +# an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing +# and searching needs to be provided by external tools. See the section +# "External Indexing and Searching" for details. +# The default value is: NO. +# This tag requires that the tag SEARCHENGINE is set to YES. + +SERVER_BASED_SEARCH = NO + +# When EXTERNAL_SEARCH tag is enabled doxygen will no longer generate the PHP +# script for searching. Instead the search results are written to an XML file +# which needs to be processed by an external indexer. Doxygen will invoke an +# external search engine pointed to by the SEARCHENGINE_URL option to obtain the +# search results. +# +# Doxygen ships with an example indexer (doxyindexer) and search engine +# (doxysearch.cgi) which are based on the open source search engine library +# Xapian (see: http://xapian.org/). +# +# See the section "External Indexing and Searching" for details. +# The default value is: NO. +# This tag requires that the tag SEARCHENGINE is set to YES. + +EXTERNAL_SEARCH = NO + +# The SEARCHENGINE_URL should point to a search engine hosted by a web server +# which will return the search results when EXTERNAL_SEARCH is enabled. +# +# Doxygen ships with an example indexer (doxyindexer) and search engine +# (doxysearch.cgi) which are based on the open source search engine library +# Xapian (see: http://xapian.org/). See the section "External Indexing and +# Searching" for details. +# This tag requires that the tag SEARCHENGINE is set to YES. + +SEARCHENGINE_URL = + +# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed +# search data is written to a file for indexing by an external tool. With the +# SEARCHDATA_FILE tag the name of this file can be specified. +# The default file is: searchdata.xml. +# This tag requires that the tag SEARCHENGINE is set to YES. + +SEARCHDATA_FILE = searchdata.xml + +# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the +# EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is +# useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple +# projects and redirect the results back to the right project. +# This tag requires that the tag SEARCHENGINE is set to YES. + +EXTERNAL_SEARCH_ID = + +# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen +# projects other than the one defined by this configuration file, but that are +# all added to the same external search index. Each project needs to have a +# unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id of +# to a relative location where the documentation can be found. The format is: +# EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ... +# This tag requires that the tag SEARCHENGINE is set to YES. + +EXTRA_SEARCH_MAPPINGS = + +#--------------------------------------------------------------------------- +# Configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +# If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output. +# The default value is: YES. + +GENERATE_LATEX = YES + +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a +# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of +# it. +# The default directory is: latex. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_OUTPUT = latex + +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be +# invoked. +# +# Note that when enabling USE_PDFLATEX this option is only used for generating +# bitmaps for formulas in the HTML output, but not in the Makefile that is +# written to the output directory. +# The default file is: latex. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_CMD_NAME = latex + +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate +# index for LaTeX. +# The default file is: makeindex. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +MAKEINDEX_CMD_NAME = makeindex + +# If the COMPACT_LATEX tag is set to YES, doxygen generates more compact LaTeX +# documents. This may be useful for small projects and may help to save some +# trees in general. +# The default value is: NO. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +COMPACT_LATEX = NO + +# The PAPER_TYPE tag can be used to set the paper type that is used by the +# printer. +# Possible values are: a4 (210 x 297 mm), letter (8.5 x 11 inches), legal (8.5 x +# 14 inches) and executive (7.25 x 10.5 inches). +# The default value is: a4. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +PAPER_TYPE = a4 + +# The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names +# that should be included in the LaTeX output. The package can be specified just +# by its name or with the correct syntax as to be used with the LaTeX +# \usepackage command. To get the times font for instance you can specify : +# EXTRA_PACKAGES=times or EXTRA_PACKAGES={times} +# To use the option intlimits with the amsmath package you can specify: +# EXTRA_PACKAGES=[intlimits]{amsmath} +# If left blank no extra packages will be included. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +EXTRA_PACKAGES = + +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for the +# generated LaTeX document. The header should contain everything until the first +# chapter. If it is left blank doxygen will generate a standard header. See +# section "Doxygen usage" for information on how to let doxygen write the +# default header to a separate file. +# +# Note: Only use a user-defined header if you know what you are doing! The +# following commands have a special meaning inside the header: $title, +# $datetime, $date, $doxygenversion, $projectname, $projectnumber, +# $projectbrief, $projectlogo. Doxygen will replace $title with the empty +# string, for the replacement values of the other commands the user is referred +# to HTML_HEADER. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_HEADER = + +# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the +# generated LaTeX document. The footer should contain everything after the last +# chapter. If it is left blank doxygen will generate a standard footer. See +# LATEX_HEADER for more information on how to generate a default footer and what +# special commands can be used inside the footer. +# +# Note: Only use a user-defined footer if you know what you are doing! +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_FOOTER = + +# The LATEX_EXTRA_STYLESHEET tag can be used to specify additional user-defined +# LaTeX style sheets that are included after the standard style sheets created +# by doxygen. Using this option one can overrule certain style aspects. Doxygen +# will copy the style sheet files to the output directory. +# Note: The order of the extra style sheet files is of importance (e.g. the last +# style sheet in the list overrules the setting of the previous ones in the +# list). +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_EXTRA_STYLESHEET = + +# The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or +# other source files which should be copied to the LATEX_OUTPUT output +# directory. Note that the files will be copied as-is; there are no commands or +# markers available. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_EXTRA_FILES = + +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated is +# prepared for conversion to PDF (using ps2pdf or pdflatex). The PDF file will +# contain links (just like the HTML output) instead of page references. This +# makes the output suitable for online browsing using a PDF viewer. +# The default value is: YES. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +PDF_HYPERLINKS = YES + +# If the USE_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate +# the PDF file directly from the LaTeX files. Set this option to YES, to get a +# higher quality PDF documentation. +# The default value is: YES. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +USE_PDFLATEX = YES + +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode +# command to the generated LaTeX files. This will instruct LaTeX to keep running +# if errors occur, instead of asking the user for help. This option is also used +# when generating formulas in HTML. +# The default value is: NO. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_BATCHMODE = NO + +# If the LATEX_HIDE_INDICES tag is set to YES then doxygen will not include the +# index chapters (such as File Index, Compound Index, etc.) in the output. +# The default value is: NO. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_HIDE_INDICES = NO + +# If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source +# code with syntax highlighting in the LaTeX output. +# +# Note that which sources are shown also depends on other settings such as +# SOURCE_BROWSER. +# The default value is: NO. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_SOURCE_CODE = NO + +# The LATEX_BIB_STYLE tag can be used to specify the style to use for the +# bibliography, e.g. plainnat, or ieeetr. See +# http://en.wikipedia.org/wiki/BibTeX and \cite for more info. +# The default value is: plain. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_BIB_STYLE = plain + +# If the LATEX_TIMESTAMP tag is set to YES then the footer of each generated +# page will contain the date and time when the page was generated. Setting this +# to NO can help when comparing the output of multiple runs. +# The default value is: NO. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_TIMESTAMP = NO + +#--------------------------------------------------------------------------- +# Configuration options related to the RTF output +#--------------------------------------------------------------------------- + +# If the GENERATE_RTF tag is set to YES, doxygen will generate RTF output. The +# RTF output is optimized for Word 97 and may not look too pretty with other RTF +# readers/editors. +# The default value is: NO. + +GENERATE_RTF = NO + +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. If a +# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of +# it. +# The default directory is: rtf. +# This tag requires that the tag GENERATE_RTF is set to YES. + +RTF_OUTPUT = rtf + +# If the COMPACT_RTF tag is set to YES, doxygen generates more compact RTF +# documents. This may be useful for small projects and may help to save some +# trees in general. +# The default value is: NO. +# This tag requires that the tag GENERATE_RTF is set to YES. + +COMPACT_RTF = NO + +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated will +# contain hyperlink fields. The RTF file will contain links (just like the HTML +# output) instead of page references. This makes the output suitable for online +# browsing using Word or some other Word compatible readers that support those +# fields. +# +# Note: WordPad (write) and others do not support links. +# The default value is: NO. +# This tag requires that the tag GENERATE_RTF is set to YES. + +RTF_HYPERLINKS = NO + +# Load stylesheet definitions from file. Syntax is similar to doxygen's config +# file, i.e. a series of assignments. You only have to provide replacements, +# missing definitions are set to their default value. +# +# See also section "Doxygen usage" for information on how to generate the +# default style sheet that doxygen normally uses. +# This tag requires that the tag GENERATE_RTF is set to YES. + +RTF_STYLESHEET_FILE = + +# Set optional variables used in the generation of an RTF document. Syntax is +# similar to doxygen's config file. A template extensions file can be generated +# using doxygen -e rtf extensionFile. +# This tag requires that the tag GENERATE_RTF is set to YES. + +RTF_EXTENSIONS_FILE = + +# If the RTF_SOURCE_CODE tag is set to YES then doxygen will include source code +# with syntax highlighting in the RTF output. +# +# Note that which sources are shown also depends on other settings such as +# SOURCE_BROWSER. +# The default value is: NO. +# This tag requires that the tag GENERATE_RTF is set to YES. + +RTF_SOURCE_CODE = NO + +#--------------------------------------------------------------------------- +# Configuration options related to the man page output +#--------------------------------------------------------------------------- + +# If the GENERATE_MAN tag is set to YES, doxygen will generate man pages for +# classes and files. +# The default value is: NO. + +GENERATE_MAN = NO + +# The MAN_OUTPUT tag is used to specify where the man pages will be put. If a +# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of +# it. A directory man3 will be created inside the directory specified by +# MAN_OUTPUT. +# The default directory is: man. +# This tag requires that the tag GENERATE_MAN is set to YES. + +MAN_OUTPUT = man + +# The MAN_EXTENSION tag determines the extension that is added to the generated +# man pages. In case the manual section does not start with a number, the number +# 3 is prepended. The dot (.) at the beginning of the MAN_EXTENSION tag is +# optional. +# The default value is: .3. +# This tag requires that the tag GENERATE_MAN is set to YES. + +MAN_EXTENSION = .3 + +# The MAN_SUBDIR tag determines the name of the directory created within +# MAN_OUTPUT in which the man pages are placed. If defaults to man followed by +# MAN_EXTENSION with the initial . removed. +# This tag requires that the tag GENERATE_MAN is set to YES. + +MAN_SUBDIR = + +# If the MAN_LINKS tag is set to YES and doxygen generates man output, then it +# will generate one additional man file for each entity documented in the real +# man page(s). These additional files only source the real man page, but without +# them the man command would be unable to find the correct page. +# The default value is: NO. +# This tag requires that the tag GENERATE_MAN is set to YES. + +MAN_LINKS = NO + +#--------------------------------------------------------------------------- +# Configuration options related to the XML output +#--------------------------------------------------------------------------- + +# If the GENERATE_XML tag is set to YES, doxygen will generate an XML file that +# captures the structure of the code including all documentation. +# The default value is: NO. + +GENERATE_XML = NO + +# The XML_OUTPUT tag is used to specify where the XML pages will be put. If a +# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of +# it. +# The default directory is: xml. +# This tag requires that the tag GENERATE_XML is set to YES. + +XML_OUTPUT = xml + +# If the XML_PROGRAMLISTING tag is set to YES, doxygen will dump the program +# listings (including syntax highlighting and cross-referencing information) to +# the XML output. Note that enabling this will significantly increase the size +# of the XML output. +# The default value is: YES. +# This tag requires that the tag GENERATE_XML is set to YES. + +XML_PROGRAMLISTING = YES + +#--------------------------------------------------------------------------- +# Configuration options related to the DOCBOOK output +#--------------------------------------------------------------------------- + +# If the GENERATE_DOCBOOK tag is set to YES, doxygen will generate Docbook files +# that can be used to generate PDF. +# The default value is: NO. + +GENERATE_DOCBOOK = NO + +# The DOCBOOK_OUTPUT tag is used to specify where the Docbook pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be put in +# front of it. +# The default directory is: docbook. +# This tag requires that the tag GENERATE_DOCBOOK is set to YES. + +DOCBOOK_OUTPUT = docbook + +# If the DOCBOOK_PROGRAMLISTING tag is set to YES, doxygen will include the +# program listings (including syntax highlighting and cross-referencing +# information) to the DOCBOOK output. Note that enabling this will significantly +# increase the size of the DOCBOOK output. +# The default value is: NO. +# This tag requires that the tag GENERATE_DOCBOOK is set to YES. + +DOCBOOK_PROGRAMLISTING = NO + +#--------------------------------------------------------------------------- +# Configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- + +# If the GENERATE_AUTOGEN_DEF tag is set to YES, doxygen will generate an +# AutoGen Definitions (see http://autogen.sf.net) file that captures the +# structure of the code including all documentation. Note that this feature is +# still experimental and incomplete at the moment. +# The default value is: NO. + +GENERATE_AUTOGEN_DEF = NO + +#--------------------------------------------------------------------------- +# Configuration options related to the Perl module output +#--------------------------------------------------------------------------- + +# If the GENERATE_PERLMOD tag is set to YES, doxygen will generate a Perl module +# file that captures the structure of the code including all documentation. +# +# Note that this feature is still experimental and incomplete at the moment. +# The default value is: NO. + +GENERATE_PERLMOD = NO + +# If the PERLMOD_LATEX tag is set to YES, doxygen will generate the necessary +# Makefile rules, Perl scripts and LaTeX code to be able to generate PDF and DVI +# output from the Perl module output. +# The default value is: NO. +# This tag requires that the tag GENERATE_PERLMOD is set to YES. + +PERLMOD_LATEX = NO + +# If the PERLMOD_PRETTY tag is set to YES, the Perl module output will be nicely +# formatted so it can be parsed by a human reader. This is useful if you want to +# understand what is going on. On the other hand, if this tag is set to NO, the +# size of the Perl module output will be much smaller and Perl will parse it +# just the same. +# The default value is: YES. +# This tag requires that the tag GENERATE_PERLMOD is set to YES. + +PERLMOD_PRETTY = YES + +# The names of the make variables in the generated doxyrules.make file are +# prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. This is useful +# so different doxyrules.make files included by the same Makefile don't +# overwrite each other's variables. +# This tag requires that the tag GENERATE_PERLMOD is set to YES. + +PERLMOD_MAKEVAR_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +# If the ENABLE_PREPROCESSING tag is set to YES, doxygen will evaluate all +# C-preprocessor directives found in the sources and include files. +# The default value is: YES. + +ENABLE_PREPROCESSING = YES + +# If the MACRO_EXPANSION tag is set to YES, doxygen will expand all macro names +# in the source code. If set to NO, only conditional compilation will be +# performed. Macro expansion can be done in a controlled way by setting +# EXPAND_ONLY_PREDEF to YES. +# The default value is: NO. +# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. + +MACRO_EXPANSION = NO + +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES then +# the macro expansion is limited to the macros specified with the PREDEFINED and +# EXPAND_AS_DEFINED tags. +# The default value is: NO. +# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. + +EXPAND_ONLY_PREDEF = NO + +# If the SEARCH_INCLUDES tag is set to YES, the include files in the +# INCLUDE_PATH will be searched if a #include is found. +# The default value is: YES. +# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. + +SEARCH_INCLUDES = YES + +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by the +# preprocessor. +# This tag requires that the tag SEARCH_INCLUDES is set to YES. + +INCLUDE_PATH = + +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will be +# used. +# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. + +INCLUDE_FILE_PATTERNS = + +# The PREDEFINED tag can be used to specify one or more macro names that are +# defined before the preprocessor is started (similar to the -D option of e.g. +# gcc). The argument of the tag is a list of macros of the form: name or +# name=definition (no spaces). If the definition and the "=" are omitted, "=1" +# is assumed. To prevent a macro definition from being undefined via #undef or +# recursively expanded use the := operator instead of the = operator. +# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. + +PREDEFINED = + +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this +# tag can be used to specify a list of macro names that should be expanded. The +# macro definition that is found in the sources will be used. Use the PREDEFINED +# tag if you want to use a different macro definition that overrules the +# definition found in the source code. +# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. + +EXPAND_AS_DEFINED = + +# If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will +# remove all references to function-like macros that are alone on a line, have +# an all uppercase name, and do not end with a semicolon. Such function macros +# are typically used for boiler-plate code, and will confuse the parser if not +# removed. +# The default value is: YES. +# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. + +SKIP_FUNCTION_MACROS = YES + +#--------------------------------------------------------------------------- +# Configuration options related to external references +#--------------------------------------------------------------------------- + +# The TAGFILES tag can be used to specify one or more tag files. For each tag +# file the location of the external documentation should be added. The format of +# a tag file without this location is as follows: +# TAGFILES = file1 file2 ... +# Adding location for the tag files is done as follows: +# TAGFILES = file1=loc1 "file2 = loc2" ... +# where loc1 and loc2 can be relative or absolute paths or URLs. See the +# section "Linking to external documentation" for more information about the use +# of tag files. +# Note: Each tag file must have a unique name (where the name does NOT include +# the path). If a tag file is not located in the directory in which doxygen is +# run, you must also specify the path to the tagfile here. + +TAGFILES = + +# When a file name is specified after GENERATE_TAGFILE, doxygen will create a +# tag file that is based on the input files it reads. See section "Linking to +# external documentation" for more information about the usage of tag files. + +GENERATE_TAGFILE = + +# If the ALLEXTERNALS tag is set to YES, all external class will be listed in +# the class index. If set to NO, only the inherited external classes will be +# listed. +# The default value is: NO. + +ALLEXTERNALS = NO + +# If the EXTERNAL_GROUPS tag is set to YES, all external groups will be listed +# in the modules index. If set to NO, only the current project's groups will be +# listed. +# The default value is: YES. + +EXTERNAL_GROUPS = YES + +# If the EXTERNAL_PAGES tag is set to YES, all external pages will be listed in +# the related pages index. If set to NO, only the current project's pages will +# be listed. +# The default value is: YES. + +EXTERNAL_PAGES = YES + +# The PERL_PATH should be the absolute path and name of the perl script +# interpreter (i.e. the result of 'which perl'). +# The default file (with absolute path) is: /usr/bin/perl. + +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If the CLASS_DIAGRAMS tag is set to YES, doxygen will generate a class diagram +# (in HTML and LaTeX) for classes with base or super classes. Setting the tag to +# NO turns the diagrams off. Note that this option also works with HAVE_DOT +# disabled, but it is recommended to install and use dot, since it yields more +# powerful graphs. +# The default value is: YES. + +CLASS_DIAGRAMS = YES + +# You can define message sequence charts within doxygen comments using the \msc +# command. Doxygen will then run the mscgen tool (see: +# http://www.mcternan.me.uk/mscgen/)) to produce the chart and insert it in the +# documentation. The MSCGEN_PATH tag allows you to specify the directory where +# the mscgen tool resides. If left empty the tool is assumed to be found in the +# default search path. + +MSCGEN_PATH = + +# You can include diagrams made with dia in doxygen documentation. Doxygen will +# then run dia to produce the diagram and insert it in the documentation. The +# DIA_PATH tag allows you to specify the directory where the dia binary resides. +# If left empty dia is assumed to be found in the default search path. + +DIA_PATH = + +# If set to YES the inheritance and collaboration graphs will hide inheritance +# and usage relations if the target is undocumented or is not a class. +# The default value is: YES. + +HIDE_UNDOC_RELATIONS = YES + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz (see: +# http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent +# Bell Labs. The other options in this section have no effect if this option is +# set to NO +# The default value is: NO. + +HAVE_DOT = NO + +# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is allowed +# to run in parallel. When set to 0 doxygen will base this on the number of +# processors available in the system. You can set it explicitly to a value +# larger than 0 to get control over the balance between CPU load and processing +# speed. +# Minimum value: 0, maximum value: 32, default value: 0. +# This tag requires that the tag HAVE_DOT is set to YES. + +DOT_NUM_THREADS = 0 + +# When you want a differently looking font in the dot files that doxygen +# generates you can specify the font name using DOT_FONTNAME. You need to make +# sure dot is able to find the font, which can be done by putting it in a +# standard location or by setting the DOTFONTPATH environment variable or by +# setting DOT_FONTPATH to the directory containing the font. +# The default value is: Helvetica. +# This tag requires that the tag HAVE_DOT is set to YES. + +DOT_FONTNAME = Helvetica + +# The DOT_FONTSIZE tag can be used to set the size (in points) of the font of +# dot graphs. +# Minimum value: 4, maximum value: 24, default value: 10. +# This tag requires that the tag HAVE_DOT is set to YES. + +DOT_FONTSIZE = 10 + +# By default doxygen will tell dot to use the default font as specified with +# DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set +# the path where dot can find it using this tag. +# This tag requires that the tag HAVE_DOT is set to YES. + +DOT_FONTPATH = + +# If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for +# each documented class showing the direct and indirect inheritance relations. +# Setting this tag to YES will force the CLASS_DIAGRAMS tag to NO. +# The default value is: YES. +# This tag requires that the tag HAVE_DOT is set to YES. + +CLASS_GRAPH = YES + +# If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a +# graph for each documented class showing the direct and indirect implementation +# dependencies (inheritance, containment, and class references variables) of the +# class with other documented classes. +# The default value is: YES. +# This tag requires that the tag HAVE_DOT is set to YES. + +COLLABORATION_GRAPH = YES + +# If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for +# groups, showing the direct groups dependencies. +# The default value is: YES. +# This tag requires that the tag HAVE_DOT is set to YES. + +GROUP_GRAPHS = YES + +# If the UML_LOOK tag is set to YES, doxygen will generate inheritance and +# collaboration diagrams in a style similar to the OMG's Unified Modeling +# Language. +# The default value is: NO. +# This tag requires that the tag HAVE_DOT is set to YES. + +UML_LOOK = NO + +# If the UML_LOOK tag is enabled, the fields and methods are shown inside the +# class node. If there are many fields or methods and many nodes the graph may +# become too big to be useful. The UML_LIMIT_NUM_FIELDS threshold limits the +# number of items for each type to make the size more manageable. Set this to 0 +# for no limit. Note that the threshold may be exceeded by 50% before the limit +# is enforced. So when you set the threshold to 10, up to 15 fields may appear, +# but if the number exceeds 15, the total amount of fields shown is limited to +# 10. +# Minimum value: 0, maximum value: 100, default value: 10. +# This tag requires that the tag HAVE_DOT is set to YES. + +UML_LIMIT_NUM_FIELDS = 10 + +# If the TEMPLATE_RELATIONS tag is set to YES then the inheritance and +# collaboration graphs will show the relations between templates and their +# instances. +# The default value is: NO. +# This tag requires that the tag HAVE_DOT is set to YES. + +TEMPLATE_RELATIONS = NO + +# If the INCLUDE_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are set to +# YES then doxygen will generate a graph for each documented file showing the +# direct and indirect include dependencies of the file with other documented +# files. +# The default value is: YES. +# This tag requires that the tag HAVE_DOT is set to YES. + +INCLUDE_GRAPH = YES + +# If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are +# set to YES then doxygen will generate a graph for each documented file showing +# the direct and indirect include dependencies of the file with other documented +# files. +# The default value is: YES. +# This tag requires that the tag HAVE_DOT is set to YES. + +INCLUDED_BY_GRAPH = YES + +# If the CALL_GRAPH tag is set to YES then doxygen will generate a call +# dependency graph for every global function or class method. +# +# Note that enabling this option will significantly increase the time of a run. +# So in most cases it will be better to enable call graphs for selected +# functions only using the \callgraph command. Disabling a call graph can be +# accomplished by means of the command \hidecallgraph. +# The default value is: NO. +# This tag requires that the tag HAVE_DOT is set to YES. + +CALL_GRAPH = NO + +# If the CALLER_GRAPH tag is set to YES then doxygen will generate a caller +# dependency graph for every global function or class method. +# +# Note that enabling this option will significantly increase the time of a run. +# So in most cases it will be better to enable caller graphs for selected +# functions only using the \callergraph command. Disabling a caller graph can be +# accomplished by means of the command \hidecallergraph. +# The default value is: NO. +# This tag requires that the tag HAVE_DOT is set to YES. + +CALLER_GRAPH = NO + +# If the GRAPHICAL_HIERARCHY tag is set to YES then doxygen will graphical +# hierarchy of all classes instead of a textual one. +# The default value is: YES. +# This tag requires that the tag HAVE_DOT is set to YES. + +GRAPHICAL_HIERARCHY = YES + +# If the DIRECTORY_GRAPH tag is set to YES then doxygen will show the +# dependencies a directory has on other directories in a graphical way. The +# dependency relations are determined by the #include relations between the +# files in the directories. +# The default value is: YES. +# This tag requires that the tag HAVE_DOT is set to YES. + +DIRECTORY_GRAPH = YES + +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images +# generated by dot. For an explanation of the image formats see the section +# output formats in the documentation of the dot tool (Graphviz (see: +# http://www.graphviz.org/)). +# Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order +# to make the SVG files visible in IE 9+ (other browsers do not have this +# requirement). +# Possible values are: png, jpg, gif, svg, png:gd, png:gd:gd, png:cairo, +# png:cairo:gd, png:cairo:cairo, png:cairo:gdiplus, png:gdiplus and +# png:gdiplus:gdiplus. +# The default value is: png. +# This tag requires that the tag HAVE_DOT is set to YES. + +DOT_IMAGE_FORMAT = png + +# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to +# enable generation of interactive SVG images that allow zooming and panning. +# +# Note that this requires a modern browser other than Internet Explorer. Tested +# and working are Firefox, Chrome, Safari, and Opera. +# Note: For IE 9+ you need to set HTML_FILE_EXTENSION to xhtml in order to make +# the SVG files visible. Older versions of IE do not have SVG support. +# The default value is: NO. +# This tag requires that the tag HAVE_DOT is set to YES. + +INTERACTIVE_SVG = NO + +# The DOT_PATH tag can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found in the path. +# This tag requires that the tag HAVE_DOT is set to YES. + +DOT_PATH = + +# The DOTFILE_DIRS tag can be used to specify one or more directories that +# contain dot files that are included in the documentation (see the \dotfile +# command). +# This tag requires that the tag HAVE_DOT is set to YES. + +DOTFILE_DIRS = + +# The MSCFILE_DIRS tag can be used to specify one or more directories that +# contain msc files that are included in the documentation (see the \mscfile +# command). + +MSCFILE_DIRS = + +# The DIAFILE_DIRS tag can be used to specify one or more directories that +# contain dia files that are included in the documentation (see the \diafile +# command). + +DIAFILE_DIRS = + +# When using plantuml, the PLANTUML_JAR_PATH tag should be used to specify the +# path where java can find the plantuml.jar file. If left blank, it is assumed +# PlantUML is not used or called during a preprocessing step. Doxygen will +# generate a warning when it encounters a \startuml command in this case and +# will not generate output for the diagram. + +PLANTUML_JAR_PATH = + +# When using plantuml, the PLANTUML_CFG_FILE tag can be used to specify a +# configuration file for plantuml. + +PLANTUML_CFG_FILE = + +# When using plantuml, the specified paths are searched for files specified by +# the !include statement in a plantuml block. + +PLANTUML_INCLUDE_PATH = + +# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes +# that will be shown in the graph. If the number of nodes in a graph becomes +# larger than this value, doxygen will truncate the graph, which is visualized +# by representing a node as a red box. Note that doxygen if the number of direct +# children of the root node in a graph is already larger than +# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note that +# the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. +# Minimum value: 0, maximum value: 10000, default value: 50. +# This tag requires that the tag HAVE_DOT is set to YES. + +DOT_GRAPH_MAX_NODES = 50 + +# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the graphs +# generated by dot. A depth value of 3 means that only nodes reachable from the +# root by following a path via at most 3 edges will be shown. Nodes that lay +# further from the root node will be omitted. Note that setting this option to 1 +# or 2 may greatly reduce the computation time needed for large code bases. Also +# note that the size of a graph can be further restricted by +# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. +# Minimum value: 0, maximum value: 1000, default value: 0. +# This tag requires that the tag HAVE_DOT is set to YES. + +MAX_DOT_GRAPH_DEPTH = 0 + +# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent +# background. This is disabled by default, because dot on Windows does not seem +# to support this out of the box. +# +# Warning: Depending on the platform used, enabling this option may lead to +# badly anti-aliased labels on the edges of a graph (i.e. they become hard to +# read). +# The default value is: NO. +# This tag requires that the tag HAVE_DOT is set to YES. + +DOT_TRANSPARENT = NO + +# Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output +# files in one run (i.e. multiple -o and -T options on the command line). This +# makes dot run faster, but since only newer versions of dot (>1.8.10) support +# this, this feature is disabled by default. +# The default value is: NO. +# This tag requires that the tag HAVE_DOT is set to YES. + +DOT_MULTI_TARGETS = NO + +# If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page +# explaining the meaning of the various boxes and arrows in the dot generated +# graphs. +# The default value is: YES. +# This tag requires that the tag HAVE_DOT is set to YES. + +GENERATE_LEGEND = YES + +# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate dot +# files that are used to generate the various graphs. +# The default value is: YES. +# This tag requires that the tag HAVE_DOT is set to YES. + +DOT_CLEANUP = YES diff --git a/Assignments/A2/A2Soln/partner/CurveADT.py b/Assignments/A2/A2Soln/partner/CurveADT.py new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/Assignments/A2/A2Soln/partner/CurveADT.py @@ -0,0 +1 @@ + diff --git a/Assignments/A2/A2Soln/partner/Data.py b/Assignments/A2/A2Soln/partner/Data.py new file mode 100644 index 00000000..e69de29b diff --git a/Assignments/A2/A2Soln/partner/SeqServices.py b/Assignments/A2/A2Soln/partner/SeqServices.py new file mode 100644 index 00000000..e69de29b diff --git a/Assignments/A2/A2Soln/report/report.pdf b/Assignments/A2/A2Soln/report/report.pdf new file mode 100644 index 0000000000000000000000000000000000000000..2a51abb916e7fdba4bfbd0e929c78623c55635c0 GIT binary patch literal 158917 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 ArT_o{ literal 0 HcmV?d00001 diff --git a/Assignments/A2/A2Soln/report/report.tex b/Assignments/A2/A2Soln/report/report.tex new file mode 100644 index 00000000..5d2fb5d5 --- /dev/null +++ b/Assignments/A2/A2Soln/report/report.tex @@ -0,0 +1,137 @@ +\documentclass[12pt]{article} + +\usepackage{graphicx} +\usepackage{paralist} +\usepackage{listings} +\usepackage{booktabs} + +\oddsidemargin 0mm +\evensidemargin 0mm +\textwidth 160mm +\textheight 200mm + +\pagestyle {plain} +\pagenumbering{arabic} + +\newcounter{stepnum} + +\title{Assignment 2 Solution} +\author{Henry M. 000000000} +\date{\today} + +\begin {document} + +\maketitle + +Introductory blurb. + +\section{Testing of the Original Program} + +Description of approach to testing. Rationale for test case selection. Summary +of results. Any problems uncovered through testing. + +\section{Results of Testing Partner's Code} + +Summary of results. + +\section{Discussion of Test Results} + +\subsection{Problems with Original Code} + +\subsection{Problems with Partner's Code} + +\subsection{Problems with Assignment Specification} + +\section{Answers} + +\begin{enumerate} + +\item What is the mathematical specification of the \texttt{SeqServices} access + program isInBounds(X, x) if the assumption that X is ascending is removed? + +output: $:= \exists\,( i, j \,|\, i, j \in [0..|X| - 1] : X_i \leq x \leq X_j )$ +\\exception: none + +\item How would you modify \texttt{CurveADT.py} to support cubic interpolation? +\begin{enumerate} + \item modify MAX\_ORDER constant in curveADT from 2 to 3 + \item Add an access program, interpCubic that calls scipy with interp1d with kind=3 +\end{enumerate} + + +\item What is your critique of the CurveADT module's interface. In particular, + comment on whether the exported access programs provide an interface that is + consistent, essential, general, minimal and opaque. + +- exceptions should be in SeqServices + +\item What is your critique of the Data abstract object's interface. In + particular, comment on whether the exported access programs provide an + interface that is consistent, essential, general, minimal and opaque. + +- no size method + +\end{enumerate} + +\newpage + +\lstset{language=Python, basicstyle=\tiny, breaklines=true, showspaces=false, + showstringspaces=false, breakatwhitespace=true} +%\lstset{language=C,linewidth=.94\textwidth,xleftmargin=1.1cm} + +\def\thesection{\Alph{section}} + +\section{Code for CurveADT.py} + +\noindent \lstinputlisting{../src/CurveADT.py} + +\newpage + +\section{Code for Data.py} + +\noindent \lstinputlisting{../src/Data.py} + +\newpage + +\section{Code for SeqServices.py} + +\noindent \lstinputlisting{../src/SeqServices.py} + +\newpage + +\section{Code for Plot.py} + +\noindent \lstinputlisting{../src/Plot.py} + +\newpage + +\section{Code for Load.py} + +\noindent \lstinputlisting{../src/Load.py} + +\newpage + +\section{Code for Partner's CurveADT.py} + +\noindent \lstinputlisting{../partner/CurveADT.py} + +\newpage + +\section{Code for Partner's Data.py} + +\noindent \lstinputlisting{../partner/Data.py} + +\newpage + +\section{Code for Partner's SeqServices.py} + +\noindent \lstinputlisting{../partner/SeqServices.py} + +\newpage + +\section{Makefile} + +\lstset{language=make} +\noindent \lstinputlisting{../Makefile} + +\end {document} diff --git a/Assignments/A2/A2Soln/src/A2Examples.py b/Assignments/A2/A2Soln/src/A2Examples.py new file mode 100644 index 00000000..fb5f217e --- /dev/null +++ b/Assignments/A2/A2Soln/src/A2Examples.py @@ -0,0 +1,33 @@ +#from CurveADT import * +from CurveADTscipy import * +from Data import * +from Load import * +from Plot import * + +X = range(11) +Y = list(map(lambda x: x**2, X)) + +c1 = CurveT(X, Y, 1) + +print(c1.eval(6.5)) + +PlotCurve(c1, 50) + +c2 = CurveT(X, Y, 2) + +print(c2.eval(6.5)) + +PlotCurve(c2, 5) +#PlotCurve(c2, 50) will look strange because of edge effects +#scipy and lambda version for A2 have same behaviour + +Load('glass.csv') + +c3 = Data.getC(9) +PlotCurve(c3, 50) +print(Data.eval(18, 34)) + +c4 = Data.slice(18, 1) +PlotCurve(c4, 50) +print(c4.eval(34)) + diff --git a/Assignments/A2/A2Soln/src/CurveADT.py b/Assignments/A2/A2Soln/src/CurveADT.py new file mode 100644 index 00000000..99345858 --- /dev/null +++ b/Assignments/A2/A2Soln/src/CurveADT.py @@ -0,0 +1,87 @@ +## @file CurveT.py +# @author Steven Palmer and Henry Madej +# @brief CurveT +# @date 20/02/2018 + +from Exceptions import * +from SeqServices import * + + + + +## @brief An abstract data type that represents a Curve +class CurveT: + + MAX_ORDER = 2 + DX = 1E-3 + + ## @brief CurveT constructor + # @details takes two lists of of x's and y's where the values are sorted in + # ascending order, and order i of the function representing the curve + # @param X list of x values sorted in ascending order + # @param Y list of corresponding y values to the the x's in the X list + # @param i order of the function represented by the data points (x,y) pairs + def __init__(self, X, Y, i): + if not isAscending(X): + raise IndepVarNotAscending + if i < 1 or i > CurveT.MAX_ORDER: + raise InvalidInterpOrder + if len(X) != len(Y): + raise SeqSizeMismatch + + self.__minx = X[0] + self.__maxx = X[-1] + self.__o = i + + if self.__o == 1: + self.__f = lambda v: interpLin(X[index(X, v)], Y[index(X, v)], X[index(X, v) + 1], Y[index(X, v) + 1], v) + elif self.__o == 2: + self.__f = lambda v: interpQuad(X[index(X, v) - 1], Y[index(X, v) - 1], X[index(X, v)], Y[index(X, v)], X[index(X, v) + 1], Y[index(X, v) + 1], v) + + ## @brief minD returns the minimal x value + # @return value representing the minimal x value + def minD(self): + return self.__minx + + ## @brief maxD returns the maximal x value + # @return value representing the maximal x value + def maxD(self): + return self.__maxx + + + ## @brief order returns the order of the function represented by the curve + # @return the value of the order of the curve + def order(self): + return self.__o + + + ## @brief eval evaluates the function at a given x value + # @details if x is within the range of x values for the curve it will return + # a y value for the curve + # @param x value of x to evaluate the curve at + # @exception OutOfDomain - if x value is not within the range of the curve's + # x values + # @return the value of the curve at x + def eval(self, x): + if x < self.__minx or x > self.__maxx: + raise OutOfDomain + return self.__f(x) + + + ## @brief approximates the first derivate of the curve + # @details uses forward divided difference + # @param x value of x for the first derivate to be evaluated at + # @return the value of the first derivate at evaluated x + def dfdx(self, x): + if x < self.__minx or x > self.__maxx: + raise OutOfDomain + return self.__f(x + self.DX) - self.__f(x) / self.DX + + ## @brief approximates the second derivate of the curve + # @details uses forward divided difference + # @param x value of x for the second derivate to be evaluated at + # @return the value of the second derivate at evaluated x + def d2fdx2(self, x): + if x < self.__minx or x > self.__maxx: + raise OutOfDomain + return self.__f(x + 2*self.DX) - 2*self.__f(x + self.DX) + self.__f(x) / self.DX**2 \ No newline at end of file diff --git a/Assignments/A2/A2Soln/src/CurveADTscipy.py b/Assignments/A2/A2Soln/src/CurveADTscipy.py new file mode 100644 index 00000000..2cb2e0a5 --- /dev/null +++ b/Assignments/A2/A2Soln/src/CurveADTscipy.py @@ -0,0 +1,68 @@ +## @file CurveT.py +# @author Steven Palmer and Henry Madej +# @brief CurveT +# @date 20/02/2018 + +from Exceptions import * +from SeqServices import * +from scipy.interpolate import interp1d + + + +## @brief An abstract data type that represents a Curve +class CurveT: + + MAX_ORDER = 2 + + ## @brief + # @details + def __init__(self, X, Y, i): + if not isAscending(X): + raise IndepVarNotAscending + if i < 1 or i > CurveT.MAX_ORDER: + raise InvalidInterpOrder + + self.__minx = X[0] + self.__maxx = X[-1] + self.__o = i + + if self.__o == 1: + self.__f = interp1d(X, Y, 'linear') + elif self.__o == 2: + self.__f = interp1d(X, Y, 'quadratic') + + ## @brief + # @details + def minD(self): + return self.__minx + + ## @brief + # @details + def maxD(self): + return self.__maxx + + ## @brief + # @details + def order(self): + return self.__o + + ## @brief + # @details + def eval(self, x): + if x < self.__minx or x > self.__maxx: + raise OutOfDomain + return float(self.__f(x)) + + ## @brief + # @details + def dfdx(self, x): + if x < self.__minx or x > self.__maxx: + raise OutOfDomain + return self.__f(x + DX) - self.__f(x) / DX + + ## @brief + # @details + def d2fdx2(self, x): + if x < self.__minx or x > self.__maxx: + raise OutOfDomain + return self.__f(x + 2*DX) - 2*self.__f(x + DX) + self.__f(x) / DX**2 \ No newline at end of file diff --git a/Assignments/A2/A2Soln/src/CurveADTseq.py b/Assignments/A2/A2Soln/src/CurveADTseq.py new file mode 100644 index 00000000..854b07dd --- /dev/null +++ b/Assignments/A2/A2Soln/src/CurveADTseq.py @@ -0,0 +1,51 @@ +from Exceptions import * +from SeqServices import * + +class CurveT: + + MAX_ORDER = 2 + DX = 1E-3 + + def __init__(self, X, Y, i): + if not isAscending(X): + raise IndepVarNotAscending + if i < 1 or i > CurveT.MAX_ORDER: + raise InvalidInterpOrder + + self.__minx = X[0] + self.__maxx = X[-1] + self.__o = i + + self.X = X + self.Y = Y + + + def minD(self): + return self.__minx + + + def maxD(self): + return self.__maxx + + + def order(self): + return self.__o + + + def eval(self, x): + if x < self.__minx or x > self.__maxx: + raise OutOfDomain + if self.__o == 1: + return (lambda v: interpLin(self.X[index(self.X, v)], self.Y[index(self.X, v)], self.X[index(self.X, v) + 1], self.Y[index(self.X, v) + 1], v))(x) + elif self.__o == 2: + return (lambda v: interpQuad(self.X[index(self.X, v) - 1], self.Y[index(self.X, v) - 1], self.X[index(X, v)], self.Y[index(self.X, v)], self.X[index(self.X, v) + 1], self.Y[index(self.X, v) + 1], v))(x) + + def dfdx(self, x): + if x < self.__minx or x > self.__maxx: + raise OutOfDomain + return self.__f(x + DX) - self.__f(x) / DX + + def d2fdx2(self, x): + if x < self.__minx or x > self.__maxx: + raise OutOfDomain + return self.__f(x + 2*DX) - 2*self.__f(x + DX) + self.__f(x) / DX**2 diff --git a/Assignments/A2/A2Soln/src/Data.py b/Assignments/A2/A2Soln/src/Data.py new file mode 100644 index 00000000..9ae1620c --- /dev/null +++ b/Assignments/A2/A2Soln/src/Data.py @@ -0,0 +1,74 @@ +## @file Data.py +# @author Steven Palmer and Henry Madej +# @brief Data +# @date 20/02/2018 + +from CurveADT import * +import SeqServices +from Exceptions import * + + +## @brief An abstract data type for storing data +class Data: + + MAX_SIZE = 10 + + S = [] + Z = [] + + ## @brief init initial data structure + @staticmethod + def init(): + Data.S = [] + Data.Z = [] + + ## @brief add adds a pair to the data structure + # @exception throws Full exception is structure is full + # @exception throws IndepVarNotAscending if z is less than or equal the last + # value in the structure + # @param s dependant variable value added to the structure + # @param z independent variable value aded to the structure + @staticmethod + def add(s, z): + if len(Data.S) == Data.MAX_SIZE: + raise Full + + if Data.Z: + if z <= Data.Z[-1]: + raise IndepVarNotAscending + + Data.S.append(s) + Data.Z.append(z) + + ## @brief getC gets value of the dependant variable at index i + # @param i index of dependant variable value + # @return value of dependant variable at index i + @staticmethod + def getC(i): + if not (0 <= i < len(Data.S)): + raise InvalidIndex + + return Data.S[i] + + ## @brief eval evaluates the a curve at a particular value of x + # @details Uses linear interplation to find the value of the curve at x + # @param x the value to evaluate the curve at + # @param z value adjacent to the x value + # @return value of the curve at the specified value of x + @staticmethod + def eval(x, z): + if not isInBounds(Data.Z, z): + raise OutOfDomain + + j = SeqServices.index(Data.Z, z) + return interpLin(Data.Z[j], Data.S[j].eval(x), Data.Z[j+1], Data.S[j+1].eval(x), z) + + ## @brief slice slices a curve returning a subset of the original curve + # @param x the x to slice at + # @param i the order of the curve that is being sliced + # @return CurveT + @staticmethod + def slice(x, i): + Y = [s.eval(x) for s in Data.S] + + return CurveT(Data.Z, Y, i) diff --git a/Assignments/A2/A2Soln/src/Exceptions.py b/Assignments/A2/A2Soln/src/Exceptions.py new file mode 100644 index 00000000..58ae06db --- /dev/null +++ b/Assignments/A2/A2Soln/src/Exceptions.py @@ -0,0 +1,23 @@ +## @brief exception when independent variable is not ascending +class IndepVarNotAscending(Exception): + pass + +## @brief exception when the order of interplation is incorrect +class InvalidInterpOrder(Exception): + pass + +## @brief exception when given value is not within bounds +class OutOfDomain(Exception): + pass + +## @brief exception when data structure is full +class Full(Exception): + pass + +## @brief exception when two sequences are of different size +class SeqSizeMismatch(Exception): + pass + +## @brief exception when given index is not in bounds +class InvalidIndex(Exception): + pass diff --git a/Assignments/A2/A2Soln/src/Load.py b/Assignments/A2/A2Soln/src/Load.py new file mode 100644 index 00000000..666f6b63 --- /dev/null +++ b/Assignments/A2/A2Soln/src/Load.py @@ -0,0 +1,35 @@ +## @file Load.py +# @author Steven Palmer and Henry Madej +# @brief function for retrieving data from file +# @date 20/02/2018 + +from Data import * +from CurveADT import * + +## @brief Load reads in data from a file, storing it in Data +# @param s the name of the file to be read +def Load(s): + with open(s, 'r') as infile: + contents = infile.readlines() + + contents = [x.strip().split(',') for x in contents] + + zs = contents[0] + os = contents[1] + pts = contents[2:] + + Data.init() + + for i in range(len(zs)): + X = [] + Y = [] + for j in range(0, len(pts)): + if pts[j][i*2] == '': + break + X.append(float(pts[j][i*2])) + Y.append(float(pts[j][i*2+1])) + + Data.add(CurveT(X,Y,int(os[i])), float(zs[i])) + + + diff --git a/Assignments/A2/A2Soln/src/Plot.py b/Assignments/A2/A2Soln/src/Plot.py new file mode 100644 index 00000000..d5bb1c60 --- /dev/null +++ b/Assignments/A2/A2Soln/src/Plot.py @@ -0,0 +1,39 @@ +## @file Plot.py +# @author Steven Palmer and Henry Madej +# @brief Plotting functions +# @date 20/02/2018 + +from matplotlib.pyplot import * +from Exceptions import * +from CurveADT import * + +## @brief PlotSeq plots a sequence of (x, y) pairs +# @param X corresponding x values of the sequence +# @param Y corresponding y values of the sequence +def PlotSeq(X, Y): + if len(X) != len(Y): + raise SeqSizeMismatch + + figure(dpi=100) + plot(X, Y) + + show() + + +## @brief PlotCurve plots a curve +# @param c the curve to be plotted +# @param n number of equally spaced points +def PlotCurve(c, n): + d = (c.maxD() - c.minD())/(n+1) + + curX = c.minD() + + X = [] + Y = [] + + for i in range(n): + curX = curX + d + X.append(curX) + Y.append(c.eval(curX)) + + PlotSeq(X, Y) diff --git a/Assignments/A2/A2Soln/src/SeqServices.py b/Assignments/A2/A2Soln/src/SeqServices.py new file mode 100644 index 00000000..17dac9b8 --- /dev/null +++ b/Assignments/A2/A2Soln/src/SeqServices.py @@ -0,0 +1,57 @@ +## @file SeqServices.py +# @author Steven Palmer and Henry Madej +# @brief Provides the services for working with sequences +# @date 20/02/2018 + + +## @brief isAscending checks if a sequence is in ascending order +# @param X sequence to be checked for ascending order +# @return boolean False if not in ascending order True otherwise +def isAscending(X): + for i in range(0, len(X) - 1): + if X[i + 1] < X[i]: + return False + + return True + +## @brief isInBounds checks if value (x) is within bounds of sequence (X) +# @param X sequence to be checked against +# @param x value to be checked for in bounds +# @return boolean False if not in bounds True otherwise +def isInBounds(X, x): + return X[0] <= x and x <= X[len(X) - 1] + +## @brief interpLin given two points interpolates the y value for a given x +# @details linear interpolation +# @param x1 x value of the first point +# @param y1 y value of the first point +# @param x2 x value of the second point +# @param y2 y value of the second point +# @param x value for which we want to interpolate a y value +# @return y value for given x value +def interpLin(x1, y1, x2, y2, x): + return (y2 - y1) / (x2 - x1) * (x - x1) + y1 + +## @brief interpQuad given three points interpolates the y value for given x +# @details quadratic interpolation +# @param x0 x value of the first point +# @param y0 y value of the first point +# @param x1 x value of the second point +# @param y1 y value of the second point +# @param x2 x value of the third point +# @param y2 y value of the third point +# @param x value for which we want to interpolate a y value +# @return y value for given x value +def interpQuad(x0, y0, x1, y1, x2, y2, x): + return y1 + (y2 - y0) / (x2 - x0) * (x - x1) + (y2 - 2*y1 + y0) / (2*(x2 - x1)**2) * (x - x1)**2 + +## @brief index given a sequence and value, returns index of that value if in +# sequence +# @details Seq[i] <= x <= Seq[i+1] +# @param X sequence to be searched +# @param x value to look for +# @return index of closest value to given x in sequence +def index(X, x): + for i in range(0, len(X) - 1): + if X[i] <= x and x < X[i+1]: + return i diff --git a/Assignments/A2/A2Soln/src/glass.csv b/Assignments/A2/A2Soln/src/glass.csv new file mode 100644 index 00000000..33dcc575 --- /dev/null +++ b/Assignments/A2/A2Soln/src/glass.csv @@ -0,0 +1,440 @@ +4.5,9.1,14,18,23,27,32,36,41,45 +1,1,1,1,1,1,1,1,1,1 +6.143397364,4.411877631,6.128184215,7.627031257,6.34463941,9.952136904,7.199850837,9.992650492,7.970252895,9.923747653,9.112111846,9.922695591,9.815736637,9.975357212,10.67908231,9.974691345,11.70510613,9.988805921,12.89348645,9.973203096 +6.15864828,4.388319476,6.15864828,7.575020192,6.34463941,10.00554409,7.217724387,9.92452703,8.009874141,9.806380586,9.157409434,9.86969188,9.864532042,9.869110571,10.73216953,9.894895413,11.73416392,9.920708668,12.95758178,9.866979399 +6.189263785,4.364878545,6.189263785,7.494339327,6.376179503,9.898975927,7.253604708,9.871513535,8.009874141,9.870738322,9.202932202,9.764570671,9.864532042,9.9220722,10.78552065,9.815737836,11.7924961,9.86771557,12.95758178,9.919929591 +6.189263785,4.341579876,6.189263785,7.534556975,6.407876387,9.793542816,7.271611701,9.833410793,8.04969235,9.765605967,9.202932202,9.816971296,9.924500406,9.816384527,10.83913698,9.763305457,11.85111825,9.76261541,13.02199574,9.814273304 +6.204628563,4.318397091,6.220031484,7.434385814,6.407876387,9.846098918,7.289663395,9.766372924,8.089708501,9.661593368,9.24868127,9.712411609,9.980983057,9.774400185,10.89301986,9.659317361,11.85111825,9.815005543,13.0867299,9.761848748 +6.235472643,4.318380134,6.250952134,7.37491192,6.43973084,9.689232664,7.307759903,9.728676011,8.089708501,9.713441376,9.294657763,9.608965579,9.987584432,9.726269624,10.89301986,9.711153155,11.92316345,9.71045832,13.15178588,9.657876167 +6.250952134,4.295321229,6.282026495,7.29636239,6.43973084,9.741228995,7.325901336,9.662352156,8.129923578,9.609984377,9.294657763,9.660531165,10.0123785,9.659962175,10.94717059,9.607720528,11.96923827,9.607041477,13.15178588,9.709704227 +6.250952134,4.27239384,6.282026495,7.335517614,6.471743646,9.611720356,7.36231942,9.610739112,8.150106023,9.572891103,9.340862812,9.557637708,10.04276596,9.604377714,11.00159051,9.556399307,11.96923827,9.658596737,13.21716525,9.606287032 +6.282026495,4.249572145,6.313255331,7.237992661,6.503915592,9.534828134,7.380596296,9.573642925,8.17033857,9.507629289,9.387297553,9.45584016,10.08713062,9.557056015,11.02890184,9.519512864,12.02873903,9.54436558,13.28286964,9.529438276 +6.313255331,4.226872357,6.34463941,7.18008988,6.53624747,9.433273529,7.398918544,9.508375986,8.21095447,9.456842723,9.387297553,9.506584013,10.11217181,9.506024091,11.05628096,9.45461495,12.08853558,9.504680412,13.34890065,9.453204298 +6.313255331,4.204310331,6.376179503,7.122650312,6.53624747,9.483896281,7.417286276,9.471674907,8.231338073,9.420340555,9.433963127,9.405330234,10.16244083,9.455246099,11.11124329,9.378979546,12.14862939,9.403446908,13.4152599,9.402708451 +6.34463941,4.181852316,6.407876387,7.065670252,6.568740074,9.332800573,7.435699607,9.40710312,8.251772278,9.356118734,9.480860682,9.355090114,10.18766898,9.418750094,11.16647884,9.303949213,12.14862939,9.453909597,13.48194905,9.302561041 +6.376179503,4.159514263,6.43973084,7.009146023,6.568740074,9.382884146,7.472663513,9.356853531,8.292792996,9.256467547,9.504396813,9.318980699,10.21295975,9.354539115,11.22198897,9.254250638,12.20902193,9.353216849,13.48194905,9.352482337 +6.392008297,4.137303656,6.471743646,6.934492233,6.601394203,9.282947883,7.491214317,9.320737309,8.292792996,9.306141486,9.527991372,9.255449883,10.26372981,9.304570305,11.27777505,9.155684438,12.2697147,9.253596569,13.54896971,9.252869881 +6.407876387,4.115211647,6.471743646,6.971705516,6.634210661,9.184076032,7.509811173,9.257194518,8.334017635,9.207022602,9.575356355,9.206010374,10.2892094,9.268655889,11.27777505,9.204817535,12.2697147,9.303255101,13.61632354,9.203444153 +6.43973084,4.093229567,6.503915592,6.879017407,6.634210661,9.233361489,7.528454195,9.221462966,8.375447207,9.108959424,9.622956796,9.107957978,10.34035851,9.205450082,11.33383846,9.106777843,12.33070917,9.20416696,13.68401219,9.154282442 +6.4557174,4.071372901,6.53624747,6.82398637,6.667190254,9.110604897,7.547143499,9.158596963,8.375447207,9.157841775,9.622956796,9.156834955,10.36602833,9.156295632,11.39018056,9.033925081,12.39200686,9.155001388,13.7179826,9.118948117 +6.471743646,4.049632944,6.568740074,6.769395574,6.700333792,9.037721518,7.565879198,9.123245985,8.417082731,9.036089209,9.670793865,9.059306322,10.41755932,9.058772743,11.44680275,8.961655129,12.45360926,9.057492284,13.75203734,9.056780995 +6.503915592,4.028001163,6.601394203,6.715241494,6.733642093,8.941461552,7.603490246,9.061031773,8.458925231,8.963801945,9.718868739,8.962816457,10.41755932,9.107385772,11.50370641,8.913784973,12.45360926,9.106098441,13.82040065,9.008402709 +6.52006149,4.006492798,6.634210661,6.661520639,6.733642093,8.989445041,7.622365826,9.012648476,8.500975736,8.868329289,9.718868739,9.010914546,10.46934647,9.010383818,11.53226423,8.879378937,12.5155179,9.009110198,13.8891038,8.960282844 +6.53624747,3.985099281,6.667190254,6.590569376,6.767115973,8.846226841,7.641288264,8.97786084,8.500975736,8.915920321,9.767182601,8.914940098,10.52139106,8.96225337,11.56089295,8.818845043,12.5777343,8.960986553,13.95814849,8.864847669 +6.568740074,3.963812218,6.667190254,6.62593703,6.767115973,8.893699263,7.660257677,8.91665556,8.54323528,8.820957648,9.815736637,8.867319478,10.54751029,8.927660252,11.61836377,8.771737731,12.64025998,8.865543884,13.95814849,8.912420018 +6.568740074,3.942654344,6.700333792,6.537845878,6.800756257,8.775458445,7.679274181,8.882238444,8.585704902,8.727006414,9.840104093,8.833092793,10.57369437,8.866797208,11.67612029,8.678310734,12.64025998,8.913119969,14.0275364,8.817494627 +6.601394203,3.921594007,6.733642093,6.485544159,6.834563771,8.705256184,7.717448931,8.821667736,8.585704902,8.773839051,9.864532042,8.772874449,10.62625769,8.819433751,11.67612029,8.724882051,12.70309649,8.818187122,14.09726926,8.770394528 +6.634210661,3.900646167,6.767115973,6.433660846,6.868539347,8.612537276,7.736607412,8.774562573,8.628385647,8.680389673,9.913570016,8.70269286,10.65263725,8.785391898,11.73416392,8.631954109,12.76624537,8.724265397,14.16734876,8.676981837 +6.667190254,3.879810224,6.800756257,6.382192591,6.868539347,8.658755626,7.755813453,8.740693917,8.671278563,8.587935616,9.962851764,8.633072712,10.67908231,8.725498748,11.7924961,8.585845106,12.76624537,8.771083324,14.16734876,8.723546022 +6.667190254,3.859100732,6.834563771,6.314216426,6.902683821,8.543638359,7.794368691,8.681088445,8.671278563,8.634021943,10.0123785,8.586957733,10.73216953,8.678890061,11.85111825,8.494398034,12.82970816,8.677663297,14.23777664,8.630632311 +6.700333792,3.838486711,6.834563771,6.348101059,6.936998031,8.475290622,7.813718124,8.634733935,8.714384707,8.542061745,10.06215144,8.495498812,10.78552065,8.586451976,11.85111825,8.539982401,12.89348645,8.631310131,14.30855463,8.584530368 +6.716967296,3.817990298,6.868539347,6.280488,6.971482822,8.385021057,7.833115592,8.601405,8.757705137,8.451081006,10.06215144,8.541089086,10.78552065,8.632530341,11.91003183,8.449023809,12.95758178,8.585204567,14.37968446,8.538674686 +6.750358284,3.797595875,6.902683821,6.213595082,6.971482822,8.430018462,7.852561214,8.542766154,8.757705137,8.496432916,10.11217181,8.450118707,10.83913698,8.540586029,11.96923827,8.35903401,12.98974883,8.552066808,14.41538187,8.505716526 +6.767115973,3.777317808,6.902683821,6.24693974,7.006139042,8.295712944,7.891597398,8.497133562,8.801240919,8.405938166,10.16244083,8.404981007,10.89301986,8.494965084,11.96923827,8.403891958,13.02199574,8.493764318,14.45116789,8.447730023 +6.800756257,3.757140643,6.936998031,6.163887317,7.006139042,8.340231087,7.911188201,8.464335746,8.844993123,8.316407268,10.18766898,8.372538887,10.92006166,8.462175637,12.02873903,8.314382854,13.0867299,8.448393478,14.52300668,8.402605083 +6.834563771,3.737071258,6.971482822,6.114577207,7.040967543,8.251400028,7.930827637,8.40663135,8.844993123,8.361036464,10.21295975,8.315460303,10.94717059,8.404485967,12.08853558,8.225827103,13.15178588,8.403264994,14.59520258,8.357721185 +6.851530499,3.717116375,7.006139042,6.04945139,7.075969182,8.185390151,7.950515828,8.37418286,8.888962826,8.249877343,10.26372981,8.271041903,11.00159051,8.359592022,12.08853558,8.269970209,13.18443504,8.370829498,14.66775738,8.313077042 +6.868539347,3.697268045,7.006139042,6.081915187,7.111144818,8.119908343,7.970252895,8.317093068,8.933151108,8.183879647,10.31475225,8.226860772,11.05628096,8.270554753,12.14862939,8.181887494,13.21716525,8.313762567,14.70416993,8.280989659 +6.902683821,3.677518479,7.040967543,6.01713725,7.146495317,8.033423922,8.009874141,8.272665947,8.977559057,8.140164107,10.34035851,8.195106173,11.05628096,8.314937886,12.20902193,8.116433705,13.28286964,8.269353237,14.74067287,8.224535199 +6.919819656,3.657881591,7.075969182,5.984995721,7.146495317,8.076534516,8.029758564,8.240734546,9.022187763,8.053463944,10.36602833,8.139237211,11.11124329,8.226376223,12.2697147,8.073078439,13.34890065,8.203199737,14.81395082,8.18060249 +6.954219051,3.638342414,7.093535196,5.953037569,7.182021549,7.969157819,8.04969235,8.184554519,9.022187763,8.096682081,10.41755932,8.095760136,11.16647884,8.138757823,12.33070917,8.008495106,13.4152599,8.137575454,14.88759305,8.136904456 +6.971482822,3.618914714,7.111144818,5.921250065,7.217724387,7.905405834,8.089708501,8.140835374,9.067038325,8.010445041,10.46934647,8.009532916,11.16647884,8.182433681,12.39200686,7.965716411,13.48194905,8.094107255,14.96160136,8.071810525 +7.006139042,3.599583686,7.146495317,5.889620733,7.253604708,7.842163855,8.109791112,8.109412821,9.112111846,7.925126505,10.46934647,8.052515301,11.22198897,8.095283309,12.45360926,7.880874276,13.54896971,8.05087125,15.03597759,8.007237335 +7.023531704,3.580362947,7.164236412,5.858171856,7.289663395,7.758637666,8.129923578,8.054128062,9.112111846,7.967655931,10.52139106,7.966748678,11.27777505,8.052041021,12.45360926,7.923166226,13.58260487,8.019795947,15.11072354,7.964465359 +7.040967543,3.561244841,7.182021549,5.826890907,7.289663395,7.800273646,8.17033857,8.011105611,9.1801426,7.861711328,10.57369437,7.881895547,11.305772,8.020961203,12.5155179,7.838777289,13.65012591,7.965106499,15.18584107,7.921921857 +7.075969182,3.542221865,7.217724387,5.795765611,7.325901336,7.696569809,8.190621344,7.980183798,9.225778378,7.777976941,10.57369437,7.924192979,11.33383846,7.966279449,12.5777343,7.75528717,13.68401219,7.922575126,15.26133202,7.879605607 +7.111144818,3.523300504,7.235642307,5.764817893,7.36231942,7.655457315,8.21095447,7.925780039,9.225778378,7.819716704,10.62625769,7.839793105,11.39018056,7.923726257,12.5777343,7.79690517,13.75203734,7.880255388,15.2992181,7.849191368 +7.128798156,3.504487095,7.253604708,5.734035428,7.398918544,7.573919721,8.231338073,7.895187572,9.271641018,7.736429598,10.67908231,7.79791556,11.44680275,7.839331354,12.64025998,7.713861028,13.82040065,7.838161707,15.33719824,7.79568063 +7.146495317,3.485774145,7.289663395,5.672962727,7.398918544,7.61456443,8.27225721,7.841347867,9.294657763,7.695119294,10.73216953,7.714860656,11.44680275,7.881400369,12.70309649,7.672656169,13.85470964,7.807907435,15.41344161,7.754038719 +7.182021549,3.467154308,7.289663395,5.703406134,7.435699607,7.493250577,8.292792996,7.79947733,9.317731647,7.654029575,10.73216953,7.756261711,11.50370641,7.797456276,12.76624537,7.631671414,13.8891038,7.754678145,15.49006399,7.712619245 +7.217724387,3.448633933,7.325901336,5.642659663,7.435699607,7.533462382,8.334017635,7.716405791,9.3640514,7.613144317,10.78552065,7.673650458,11.56089295,7.75580488,12.79793743,7.602214167,13.95814849,7.713255255,15.56706727,7.67142102 +7.235642307,3.430219222,7.36231942,5.582560198,7.472663513,7.433305774,8.334017635,7.757815138,9.387297553,7.572492321,10.83913698,7.632660392,11.58959274,7.725868494,12.82970816,7.550387161,14.0275364,7.672053633,15.64445335,7.610050882 +7.253604708,3.41190284,7.36231942,5.612518468,7.509811173,7.373840519,8.375447207,7.67518734,9.410601414,7.532057395,10.86604502,7.603199328,11.61836377,7.673198493,12.89348645,7.510055526,14.09726926,7.631072096,15.72222413,7.549171695 +7.289663395,3.3936776,7.398918544,5.552740034,7.547143499,7.295302401,8.396239161,7.645562128,9.457382835,7.491823671,10.89301986,7.551365606,11.67612029,7.63221084,12.95758178,7.469939328,14.13226557,7.601617162,15.80038151,7.508846552 +7.325901336,3.375549712,7.435699607,5.493598294,7.547143499,7.334451937,8.437978045,7.593424695,9.504396813,7.412028924,10.94717059,7.511028744,11.73416392,7.59144213,13.02199574,7.39037767,14.16734876,7.549794227,15.87892742,7.468736813 +7.344087804,3.35752525,7.435699607,5.523079159,7.584661409,7.256333343,8.458925231,7.552877996,9.504396813,7.451804862,11.00159051,7.431029446,11.76329385,7.562140163,13.02199574,7.430037418,14.23777664,7.509465758,15.9578638,7.428841326 +7.36231942,3.339597033,7.472663513,5.464253335,7.622365826,7.179046783,8.479924418,7.523724882,9.551644504,7.372436352,11.00159051,7.470907347,11.7924961,7.510586356,13.0867299,7.350900752,14.30855463,7.469352711,16.03719258,7.389158947 +7.398918544,3.321758026,7.491214317,5.435075797,7.622365826,7.217572444,8.522079313,7.472418295,9.59912707,7.33305527,11.05628096,7.391335379,11.85111825,7.470467323,13.15178588,7.302943814,14.37968446,7.409599087,16.07700474,7.360637767 +7.435699607,3.304014309,7.509811173,5.406054059,7.660257677,7.140698723,8.54323528,7.432517735,9.622956796,7.293898869,11.11124329,7.332205881,11.88053852,7.441632303,13.21716525,7.2531428,14.45116789,7.350323483,16.11691572,7.310457674 +7.454158648,3.286371825,7.547143499,5.377176732,7.698337893,7.083574278,8.585704902,7.392815718,9.646845679,7.254951552,11.16647884,7.27354941,11.91003183,7.390900041,13.28286964,7.195118821,14.52300668,7.31106052,16.19703517,7.271407661 +7.472663513,3.268823547,7.565879198,5.348464158,7.736607412,7.026906819,8.607018819,7.364280423,9.694801503,7.216198034,11.22198897,7.234696548,11.96923827,7.351420332,13.34890065,7.15668491,14.59520258,7.272007287,16.27755291,7.23256624 +7.509811173,3.251362588,7.584661409,5.319904902,7.775067173,6.952063861,8.628385647,7.314075497,9.718868739,7.177665617,11.27777505,7.15764044,12.02873903,7.312151511,13.4152599,7.118456299,14.66775738,7.233162663,16.35847091,7.193932298 +7.547143499,3.2339949,7.622365826,5.291487754,7.775067173,6.98937144,8.671278563,7.275006159,9.742995723,7.139338951,11.27777505,7.196051226,12.05860024,7.283927569,13.48194905,7.042638255,14.70416993,7.205243608,16.43979116,7.136381993 +7.584661409,3.216719984,7.660257677,5.23512859,7.813718124,6.896448465,8.692804915,7.246925593,9.791429522,7.101202998,11.33383846,7.119406726,12.08853558,7.234270437,13.48194905,7.080431894,14.74067287,7.156122892,16.52151567,7.079292081 +7.584661409,3.199549908,7.660257677,5.263222402,7.852561214,6.85960995,8.714384707,7.197520716,9.815736637,7.063284621,11.39018056,7.081377243,12.14862939,7.195627391,13.54896971,7.005018844,14.81395082,7.117897284,16.60364645,7.041476877 +7.622365826,3.182458986,7.698337893,5.207164289,7.891597398,6.804734171,8.757705137,7.159073975,9.840104093,7.025568717,11.41845656,7.054044059,12.20902193,7.157190763,13.61632354,6.967600383,14.88759305,7.079875865,16.68618551,7.00386367 +7.660257677,3.165459357,7.736607412,5.151703246,7.930827637,6.750297388,8.779446042,7.131440892,9.889020632,6.988040486,11.44680275,7.005954125,12.23933069,7.129564949,13.68401219,6.893389092,14.96160136,7.023237993,16.76913488,6.966451379 +7.698337893,3.148550535,7.736607412,5.179349364,7.970252895,6.696296092,8.801240919,7.082823316,9.913570016,6.950726364,11.50370641,6.968530668,12.2697147,7.080960162,13.68401219,6.930381799,15.03597759,6.967053215,16.8524966,6.910720885 +7.736607412,3.123362636,7.775067173,5.124184575,8.009874141,6.642726797,8.844993123,7.04498925,9.962851764,6.913597915,11.56089295,6.894309469,12.33070917,7.043136048,13.75203734,6.85656692,15.11072354,6.929837554,16.93627273,6.855436226 +7.775067173,3.098376235,7.813718124,5.069607342,8.04969235,6.589586047,8.86695072,7.017796519,9.987584432,6.876681295,11.56089295,6.931307115,12.39200686,6.968120233,13.82040065,6.819941439,15.18584107,6.892820686,17.02046532,6.818816786 +7.813718124,3.081825749,7.813718124,5.0968129,8.089708501,6.554386689,8.888962826,6.969953697,10.03723412,6.839948371,11.61836377,6.85748238,12.39200686,7.005513977,13.8891038,6.7835116,15.26133202,6.85600155,17.10507644,6.782392954 +7.852561214,3.065363669,7.852561214,5.0425272,8.129923578,6.4845765,8.933151108,6.932722542,10.06215144,6.803425018,11.67612029,6.820852009,12.45360926,6.930898872,13.95814849,6.711261022,15.33719824,6.819379089,17.19010818,6.746163685 +7.852561214,3.049001497,7.891597398,5.015591711,8.129923578,6.519375354,8.955327556,6.905963146,10.08713062,6.76709669,11.73416392,6.766286287,12.5155179,6.893876335,13.95814849,6.747276356,15.41344161,6.74674649,17.27556262,6.710127942 +7.891597398,3.032714754,7.911188201,4.988809897,8.17033857,6.449938068,8.977559057,6.858882732,10.13727516,6.730949129,11.76329385,6.730156269,12.5777343,6.820450272,14.0275364,6.675411717,15.41344161,6.782952254,17.36144187,6.674284689 +7.930827637,3.016515009,7.930827637,4.96217109,8.21095447,6.398339597,9.022187763,6.822244881,10.18766898,6.65925839,11.82177084,6.694206032,12.5777343,6.85705156,14.09726926,6.639753907,15.49006399,6.710707634,17.44774803,6.603197478 +7.970252895,3.000401798,7.970252895,4.935664837,8.251772278,6.347153906,9.044585244,6.795911914,10.18766898,6.694994657,11.85111825,6.658460901,12.64025998,6.784017715,14.16734876,6.604286569,15.56706727,6.674861284,17.44774803,6.638632899 +8.009874141,2.976399065,8.009874141,4.88309551,8.292792996,6.313249539,9.067038325,6.749581759,10.23831331,6.623686865,11.91003183,6.622893637,12.70309649,6.747779768,14.23777664,6.533944901,15.64445335,6.639206414,17.53448324,6.567925412 +8.04969235,2.952588349,8.009874141,4.909300171,8.313379762,6.279538607,9.112111846,6.713527757,10.2892094,6.588305352,11.93959835,6.587529294,12.76624537,6.711735392,14.23777664,6.569008685,15.72222413,6.603742001,17.62164962,6.532841757 +8.089708501,2.936816613,8.04969235,4.857011652,8.334017635,6.246007681,9.134732562,6.687614424,10.34035851,6.518133898,11.99895177,6.552340922,12.79793743,6.685828977,14.30855463,6.499042759,15.80038151,6.550913124,17.70924931,6.497945508 +8.129923578,2.921129123,8.089708501,4.831067125,8.375447207,6.212643603,9.1801426,6.64200953,10.34035851,6.553112834,12.05860024,6.482552523,12.86155777,6.640236259,14.37968446,6.464327052,15.87892742,6.498506869,17.79728448,6.463235663 +8.17033857,2.897760559,8.129923578,4.77961186,8.396239161,6.179469877,9.202932202,6.606543114,10.39176188,6.483316213,12.05860024,6.517340515,12.89348645,6.604779312,14.45116789,6.429796786,15.9578638,6.463794025,17.88575728,6.428711226 +8.21095447,2.874578939,8.129923578,4.805261185,8.417082731,6.14647329,9.24868127,6.571253177,10.44342079,6.448684513,12.11854524,6.447924901,12.95758178,6.569498796,14.52300668,6.361313593,16.03719258,6.429266606,17.93015847,6.403897247 +8.251772278,2.859223902,8.17033857,4.754080776,8.458925231,6.113640891,9.271641018,6.545889005,10.46934647,6.414250397,12.17878823,6.413482249,12.98974883,6.544141396,14.52300668,6.395450968,16.11691572,6.39492362,18.0192918,6.360227108 +8.292792996,2.843950887,8.190621344,4.728695355,8.500975736,6.048525046,9.294657763,6.501263345,10.4953365,6.380000149,12.20902193,6.379236103,13.02199574,6.49952765,14.59520258,6.327333589,16.19703517,6.360764083,18.10886823,6.326252908 +8.334017635,2.821199736,8.231338073,4.703436251,8.500975736,6.080983872,9.340862812,6.466535777,10.54751029,6.345920328,12.2697147,6.345160364,13.0867299,6.464809353,14.66775738,6.293535096,16.27755291,6.293016151,18.1538233,6.292472541 +8.375447207,2.798630591,8.251772278,4.678321257,8.54323528,6.016215855,9.3640514,6.4415758,10.57369437,6.312034943,12.30017412,6.311279037,13.15178588,6.43027651,14.74067287,6.259917142,16.27755291,6.326787015,18.2440685,6.258860264 +8.417082731,2.783681245,8.292792996,4.653331234,8.585704902,5.952137675,9.387297553,6.39766128,10.59994345,6.278330496,12.36132002,6.277566301,13.21716525,6.378835329,14.81395082,6.226478765,16.35847091,6.25940097,18.33476233,6.225427532 +8.458925231,2.761412241,8.313379762,4.628483787,8.585704902,5.984079247,9.433963127,6.36348712,10.65263725,6.24479376,12.42276987,6.244033647,13.28286964,6.327805669,14.85072629,6.202445377,16.43979116,6.22596535,18.42590701,6.192173386 +8.500975736,2.739321386,8.334017635,4.603769018,8.628385647,5.920343353,9.457382835,6.338924897,10.70559301,6.178281018,12.45360926,6.210692308,13.34890065,6.294004654,14.88759305,6.160161094,16.52151567,6.192708331,18.56347428,6.109837081 +8.54323528,2.72468885,8.375447207,4.579177228,8.671278563,5.888718864,9.504396813,6.295697825,10.70559301,6.211436167,12.48452521,6.177529001,13.4152599,6.260384192,14.96160136,6.12725558,16.60364645,6.15962896,18.56347428,6.142624932 +8.585704902,2.702891776,8.417082731,4.530404819,8.692804915,5.857274803,9.527991372,6.262080613,10.75881202,6.145278714,12.54658754,6.144530714,13.48194905,6.193705398,15.07330423,6.078226584,16.68618551,6.094023301,18.65575591,6.077200381 +8.628385647,2.688453835,8.417082731,4.554716799,8.714384707,5.825998644,9.575356355,6.228630679,10.81229558,6.112452696,12.60895838,6.111708692,13.48194905,6.22694332,15.11072354,6.045770606,16.68618551,6.126726289,18.7484963,6.044738015 +8.671278563,2.666946635,8.458925231,4.506204917,8.757705137,5.794878114,9.59912707,6.204588985,10.86604502,6.047349507,12.67163929,6.046613427,13.54896971,6.160620701,15.18584107,6.013476128,16.76913488,6.061471073,18.8416977,6.012449052 +8.714384707,2.652700701,8.500975736,4.482134281,8.801240919,5.733157383,9.646845679,6.16227799,10.86604502,6.079802024,12.67163929,6.079061994,13.61632354,6.127712732,15.22353975,5.981365899,16.8524966,6.029092728,18.93536243,5.980332566 +8.757705137,2.638530864,8.522079313,4.458200976,8.801240919,5.763923819,9.670793865,6.129373202,10.92006166,6.015046594,12.73463179,6.014314446,13.68401219,6.094980546,15.2992181,5.949415449,16.93627273,5.996887337,19.02949277,5.948387635 +8.801240919,2.61742304,8.54323528,4.434395469,8.844993123,5.702532779,9.694801503,6.105714629,10.97434682,5.982916233,12.79793743,5.982187996,13.7179826,6.071454724,15.37527267,5.917635667,17.02046532,5.964853976,19.12409105,5.916613344 +8.844993123,2.596484075,8.585704902,4.410708415,8.86695072,5.672082898,9.742995723,6.064077888,11.00159051,5.950969185,12.86155777,5.950233154,13.75203734,6.030063451,15.45170531,5.886025642,17.10507644,5.932991727,19.1715664,5.885020334 +8.888962826,2.582614528,8.628385647,4.363730353,8.888962826,5.641795611,9.767182601,6.031697461,11.05628096,5.919181104,12.92549438,5.918449004,13.82040065,5.997852875,15.5285179,5.823334107,17.19010818,5.885528744,19.26687094,5.85358453 +8.933151108,2.561954026,8.628385647,4.38714789,8.933151108,5.611659031,9.815736637,5.999478156,11.08372806,5.887574383,12.98974883,5.855412131,13.8891038,5.965814357,15.5285179,5.854584467,17.23278243,5.854101718,19.31470074,5.822328076 +8.977559057,2.548268927,8.671278563,4.340420769,8.977559057,5.581683431,9.840104093,5.97632096,11.13882682,5.856124936,12.98974883,5.886834635,13.95814849,5.933946977,15.60571235,5.79222781,17.31844901,5.82283107,19.41071683,5.791227152 +9.022187763,2.527883184,8.714384707,4.294191334,8.999845747,5.551878851,9.864532042,5.935578249,11.1941995,5.824843481,13.05432269,5.824134484,14.0275364,5.870745037,15.68329053,5.761287672,17.40454145,5.791727459,19.50721023,5.760292359 +9.067038325,2.51438008,8.714384707,4.317235697,9.022187763,5.522233418,9.913570016,5.903872381,11.22198897,5.793740496,13.11921757,5.793023911,14.0275364,5.902249823,15.76125437,5.730512806,17.49106187,5.760789994,19.60418331,5.72952281 +9.112111846,2.500949105,8.757705137,4.271253205,9.067038325,5.492735499,9.962851764,5.872335875,11.24984743,5.762803592,13.18443504,5.762079521,14.09726926,5.839385486,15.83960578,5.699902328,17.5780124,5.730017786,19.70163845,5.698917621 +9.157409434,2.480941913,8.801240919,4.248437603,9.089547147,5.463405875,9.987584432,5.849669432,11.305772,5.732020628,13.21716525,5.731311677,14.16734876,5.808193448,15.87892742,5.669466493,17.62164962,5.699421143,19.79957807,5.668475914 +9.202932202,2.467689554,8.823089901,4.225752171,9.134732562,5.434222194,10.0123785,5.809790148,11.33383846,5.70141329,13.28286964,5.700696932,14.23777664,5.777168026,15.91834668,5.639193176,17.70924931,5.668976747,19.8487303,5.638207887 +9.24868127,2.447948433,8.86695072,4.20317962,9.157409434,5.405205014,10.06215144,5.778756198,11.36197458,5.670969387,13.31584421,5.670256854,14.30855463,5.746308333,15.99747902,5.609070498,17.75321233,5.638706046,19.94740112,5.608090472 +9.294657763,2.434872314,8.888962826,4.180735852,9.202932202,5.376332222,10.11217181,5.747888021,11.41845656,5.640676971,13.38203914,5.639968244,14.34407545,5.724128339,16.07700474,5.579108725,17.84146604,5.608585969,19.99692032,5.578144885 +9.340862812,2.421866043,8.933151108,4.158403764,9.225778378,5.347624158,10.13727516,5.72570193,11.47521931,5.610546366,13.44856314,5.609841426,14.37968446,5.685104915,16.15692578,5.549306998,17.93015847,5.578626784,20.09632782,5.548348307 +9.340862812,2.408938706,8.977559057,4.114112976,9.24868127,5.319069386,10.16244083,5.686667778,11.50370641,5.580587666,13.51541783,5.550091504,14.45116789,5.654736991,16.23724413,5.519664461,18.0192918,5.548827631,20.19622949,5.518710891 +9.387297553,2.396070963,8.977559057,4.136190966,9.294657763,5.290656702,10.21295975,5.656291506,11.53226423,5.550788937,13.51541783,5.579875534,14.52300668,5.624531283,16.31796175,5.490180265,18.10886823,5.519187655,20.29662778,5.489231789 +9.433963127,2.383271956,9.022187763,4.092136764,9.317731647,5.26240612,10.23831331,5.634458966,11.58959274,5.521138484,13.58260487,5.520444777,14.59520258,5.594486923,16.35847091,5.460864285,18.19888996,5.460403279,20.39752517,5.459910154 +9.480860682,2.370541316,9.067038325,4.070277942,9.340862812,5.234306389,10.26372981,5.596046849,11.64720623,5.491646414,13.65012591,5.490956413,14.66775738,5.564603051,16.39908063,5.431704844,18.19888996,5.489706006,20.4481618,5.430755807 +9.527991372,2.35787868,9.089547147,4.048543832,9.387297553,5.20634648,10.31475225,5.566154644,11.70510613,5.462311881,13.7179826,5.461625566,14.70416993,5.543124416,16.48060276,5.402690499,18.2893592,5.431235637,20.54981248,5.401746532 +9.575356355,2.345283683,9.112111846,4.026925775,9.433963127,5.150894147,10.34035851,5.54467002,11.73416392,5.433144711,13.75203734,5.43246206,14.74067287,5.505334959,16.56253015,5.373831138,18.38027817,5.402223798,20.60082716,5.372902762 +9.622956796,2.326521789,9.157409434,4.005415288,9.433963127,5.178535923,10.39176188,5.506859215,11.76329385,5.404133284,13.82040065,5.40344367,14.81395082,5.475927307,16.64486482,5.345125935,18.47164911,5.37336693,20.70323676,5.344202518 +9.670793865,2.31409429,9.202932202,3.984019703,9.480860682,5.123379798,10.41755932,5.477454174,11.82177084,5.375266217,13.85470964,5.374590838,14.88759305,5.44667674,16.68618551,5.316584503,18.56347428,5.344664207,20.80615546,5.315655581 +9.718868739,2.295581907,9.225778378,3.962746186,9.504396813,5.096022427,10.46934647,5.448195451,11.88053852,5.346553348,13.92358335,5.345881577,14.96160136,5.388664671,16.76913488,5.288185092,18.65575591,5.316114803,20.90958578,5.287261132 +9.767182601,2.283319679,9.271641018,3.941578525,9.527991372,5.068811136,10.52139106,5.390167207,11.91003183,5.318004294,13.99279943,5.31732567,14.96160136,5.41758242,16.8524966,5.259937381,18.70206862,5.287728283,21.01353027,5.259018356 +9.815736637,2.265053487,9.294657763,3.920531632,9.575356355,5.041735248,10.52139106,5.419093019,11.93959835,5.289607684,14.0275364,5.288932684,15.03597759,5.359880232,16.89433274,5.231850832,18.79503923,5.259483012,21.11799148,5.230926444 +9.864532042,2.252954331,9.340862812,3.899589468,9.622956796,4.988036175,10.57369437,5.361374742,11.99895177,5.261352374,14.09726926,5.26068098,15.11072354,5.33124955,16.97831684,5.20390404,18.8416977,5.231398889,21.17041666,5.202994805 +9.913570016,2.234931058,9.387297553,3.858055288,9.622956796,5.014803989,10.62625769,5.332736076,12.05860024,5.233247995,14.16734876,5.232580187,15.18584107,5.302771803,17.06271843,5.17610653,18.93536243,5.203454511,21.27565777,5.175202152 +9.962851764,2.222992806,9.387297553,3.878759169,9.670793865,4.961391759,10.65263725,5.312152417,12.11854524,5.177509137,14.20251905,5.204639717,15.26133202,5.274446175,17.1475396,5.148457505,19.02949277,5.175659402,21.38142205,5.147557958 +10.0123785,2.211118324,9.433963127,3.83744685,9.718868739,4.934889668,10.67908231,5.275937579,12.11854524,5.20529374,14.27312176,5.176838277,15.2992181,5.254087507,17.20432117,5.116396965,19.12409105,5.148012766,21.43450119,5.120071483 +10.06215144,2.199307272,9.480860682,3.816948496,9.742995723,4.90853878,10.73216953,5.247755291,12.17878823,5.14985262,14.34407545,5.121700234,15.37527267,5.218258273,17.23278243,5.093621743,19.2191596,5.120513808,21.54105511,5.092721778 +10.11217181,2.181713166,9.504396813,3.796567092,9.767182601,4.882328598,10.78552065,5.219723542,12.23933069,5.122343834,14.34407545,5.149185344,15.45170531,5.176513044,17.31844901,5.066413324,19.26687094,5.093171741,21.64813872,5.065518167 +10.16244083,2.170059186,9.551644504,3.776287104,9.815736637,4.856248836,10.81229558,5.199576097,12.30017412,5.067786207,14.41538187,5.094341829,15.5285179,5.148861847,17.40454145,5.039350244,19.36264927,5.065965726,21.75575466,5.038459868 +10.21295975,2.152699061,9.59912707,3.756115445,9.864532042,4.804525362,10.86604502,5.164118593,12.30017412,5.094981992,14.48704275,5.067129564,15.60571235,5.121358354,17.49106187,5.012431725,19.41071683,5.038914929,21.86390557,5.011546105 +10.26372981,2.141200064,9.622956796,3.736058871,9.864532042,4.830308384,10.92006166,5.122806472,12.36132002,5.040715793,14.55905988,5.040062658,15.68329053,5.094001776,17.5780124,4.985656996,19.50721023,5.011998736,21.97259411,4.984776107 +10.31475225,2.129762492,9.670793865,3.716102098,9.913570016,4.7788612,10.97434682,5.095442158,12.42276987,5.01378998,14.63143501,5.013140334,15.72222413,5.066801275,17.66539517,4.959025289,19.60418331,4.98522632,22.08182296,4.958149105 +10.36602833,2.112724733,9.718868739,3.696251927,9.938180343,4.753343458,11.01068676,5.063711756,12.48452521,4.987007995,14.66775738,4.98637161,15.83960578,5.012825384,17.70924931,4.932545523,19.70163845,4.958596913,22.1915948,4.931664336 +10.41755932,2.101439266,9.742995723,3.676515007,9.962851764,4.727961975,11.02890184,5.041171058,12.54658754,4.960369071,14.74067287,4.959736085,15.83960578,5.039726227,17.79728448,4.90619752,19.75054755,4.932119435,22.24668519,4.90533067 +10.46934647,2.090214083,9.767182601,3.656883477,10.0123785,4.702706788,11.08372806,5.014242813,12.5777343,4.933882131,14.77726642,4.933252524,15.91834668,4.986048552,17.84146604,4.879999839,19.89800455,4.905764076,22.35727659,4.879128039 +10.52139106,2.073492705,9.815736637,3.637349632,10.03723412,4.677595689,11.13882682,4.98745841,12.60895838,4.907536622,14.85072629,4.906900744,15.99747902,4.959414754,17.93015847,4.853932517,19.94740112,4.87956871,22.41277828,4.853074902 +10.57369437,2.062416803,9.864532042,3.617920131,10.06215144,4.652618677,11.1941995,4.947559542,12.67163929,4.881322208,14.92455133,4.880689726,16.07700474,4.932923223,18.0192918,4.828004438,19.99692032,4.853513219,22.52419534,4.827151403 +10.62625769,2.045917799,9.913570016,3.598594415,10.11217181,4.627765948,11.24984743,4.907979859,12.73463179,4.855247822,14.96160136,4.85462825,16.15692578,4.906573202,18.10886823,4.802214858,20.09632782,4.82758738,22.63616628,4.80136638 +10.67908231,2.034989192,9.938180343,3.579378958,10.16244083,4.603045975,11.305772,4.881763077,12.79793743,4.829312717,14.99874337,4.828705935,16.21042708,4.876018927,18.1538233,4.776572415,20.19622949,4.801800027,22.74869384,4.775719091 +10.73216953,2.024118963,9.962851764,3.560266106,10.18766898,4.578467036,11.36197458,4.855686336,12.86155777,4.777876137,15.07330423,4.802912607,16.23724413,4.854313728,18.2440685,4.751057567,20.29662778,4.776150422,22.86178079,4.750208802 +10.78552065,2.013306798,10.0123785,3.541248359,10.21295975,4.554019342,11.3995981,4.825448945,12.86155777,4.803516148,15.14823574,4.777257059,16.31796175,4.828383613,18.2893592,4.725688289,20.34701393,4.750647156,22.97542992,4.72483478 +10.83913698,1.997200667,10.06215144,3.522332198,10.26372981,4.529693299,11.41845656,4.803968854,12.92549438,4.752354326,15.22353975,4.751738554,16.39908063,4.802592007,18.38027817,4.700445248,20.4481618,4.725270792,23.089644,4.699596297 +10.89301986,1.986532291,10.08713062,3.50352396,10.31475225,4.505497196,11.47521931,4.778307663,12.98974883,4.726968843,15.26133202,4.72636564,16.48060276,4.776938171,18.47164911,4.675337046,20.49892413,4.700039209,23.20442587,4.67449263 +10.94717059,1.970640351,10.11217181,3.484816152,10.34035851,4.48143914,11.53226423,4.752783547,13.05432269,4.701718961,15.33719824,4.70111898,16.56253015,4.75142137,18.56347428,4.650362963,20.60082716,4.674933176,23.31977833,4.649523058 +11.00159051,1.960113851,10.16244083,3.466201433,10.36602833,4.457509547,11.58959274,4.71476204,13.0867299,4.676613137,15.37527267,4.67601636,16.64486482,4.726040871,18.65575591,4.625522284,20.70323676,4.649961251,23.43570422,4.624686866 +11.05628096,1.944433255,10.21295975,3.447686147,10.41755932,4.41003301,11.64720623,4.6770447,13.15178588,4.651632238,15.45170531,4.651038649,16.72760878,4.675704231,18.70206862,4.600823329,20.80615546,4.625122718,23.55220639,4.59998334 +11.11124329,1.934046744,10.26372981,3.429269764,10.41755932,4.433699026,11.70510613,4.652061496,13.18443504,4.626793863,15.5285179,4.626194361,16.72760878,4.700795946,18.8416977,4.551811433,20.90958578,4.600416863,23.61067448,4.575420755 +11.16647884,1.923715715,10.31475225,3.410951756,10.46934647,4.386476093,11.76329385,4.602512803,13.24997672,4.602079082,15.56706727,4.601491817,16.81076407,4.650728187,18.8416977,4.576238289,21.01353027,4.57584298,23.72804646,4.550980392 +11.22198897,1.913439871,10.34035851,3.392738256,10.52139106,4.363045009,11.76329385,4.627211744,13.31584421,4.57749632,15.64445335,4.576912191,16.89433274,4.625885557,18.93536243,4.527497183,21.11799148,4.527106084,23.78695107,4.526679469 +11.27777505,1.898132659,10.36602833,3.374622012,10.54751029,4.339747607,11.82177084,4.577927724,13.34890065,4.553053809,15.68329053,4.552472799,16.97831684,4.601175628,19.02949277,4.503312812,21.11799148,4.551400361,23.90519935,4.502499465 +11.33383846,1.887993471,10.41755932,3.356595913,10.57369437,4.316574605,11.88053852,4.55347397,13.4152599,4.528732923,15.76125437,4.528155017,17.06271843,4.576597691,19.12409105,4.479257625,21.22297198,4.502923802,24.02403545,4.478448623 +11.39018056,1.872889826,10.46934647,3.338666104,10.62625769,4.293516912,11.93959835,4.529150839,13.44856314,4.504550794,15.83960578,4.503967132,17.11921913,4.548098244,19.2191596,4.455330933,21.32847435,4.478870693,24.1434623,4.454526253 +11.44680275,1.862885477,10.4953365,3.320838589,10.67908231,4.270582385,11.99895177,4.480911257,13.51541783,4.480488995,15.91834668,4.47990845,17.1475396,4.527852757,19.31470074,4.43153205,21.43450119,4.454946068,24.26348284,4.430731668 +11.50370641,1.852934568,10.52139106,3.303106269,10.70559301,4.247778706,11.99895177,4.504957634,13.58260487,4.456555726,15.99747902,4.455978282,17.23278243,4.503666486,19.41071683,4.407860292,21.54105511,4.431149241,24.32371667,4.407072838 +11.56089295,1.838111388,10.57369437,3.285462183,10.73216953,4.225096792,12.05860024,4.456975732,13.65012591,4.4327503,16.03719258,4.432184642,17.31844901,4.479609411,19.50721023,4.384314981,21.64813872,4.407479528,24.44463328,4.383531733 +11.61836377,1.828292814,10.62625769,3.267912346,10.78552065,4.202527742,12.11854524,4.433168063,13.68401219,4.409080691,16.07700474,4.408518054,17.40454145,4.45568084,19.55563666,4.360904003,21.75575466,4.38393625,24.56615098,4.360116377 +11.67612029,1.813666764,10.67908231,3.250456255,10.83913698,4.180079249,12.17878823,4.409487566,13.7179826,4.385537471,16.15692578,4.384969229,17.49106187,4.431880087,19.60418331,4.337618033,21.86390557,4.360518734,24.62713618,4.336834613 +11.73416392,1.803978765,10.70559301,3.233099755,10.86604502,4.157758831,12.2191165,4.382028749,13.78617662,4.362111401,16.23724413,4.361546195,17.5780124,4.40820647,19.70163845,4.314447932,21.91818247,4.337234821,24.74956113,4.313668697 +11.7924961,1.794342515,10.73216953,3.215835935,10.89301986,4.135557597,12.23933069,4.362522507,13.85470964,4.338810465,16.31796175,4.338248278,17.62164962,4.384667919,19.79957807,4.291401599,21.97259411,4.314075237,24.87259468,4.290626526 +11.85111825,1.784757739,10.78552065,3.198658018,10.94717059,4.113466836,12.30017412,4.339219375,13.92358335,4.315633995,16.39908063,4.315074811,17.70924931,4.361246493,19.89800455,4.268478371,22.08182296,4.291030894,24.99623984,4.267707438 +11.91003183,1.770479964,10.83913698,3.181571859,11.00159051,4.091494076,12.36132002,4.31604072,13.95814849,4.292589754,16.48060276,4.292025128,17.75321233,4.337958694,19.99692032,4.245677591,22.1915948,4.268109646,25.12049965,4.244910777 +11.96923827,1.756316408,10.89301986,3.16457697,11.05628096,4.069638687,12.42276987,4.292985879,13.99279943,4.269668562,16.52151567,4.269106952,17.84146604,4.314786774,20.09632782,4.222998606,22.30191234,4.245310836,25.18286101,4.222244177 +12.02873903,1.746934755,10.92006166,3.147679041,11.11124329,4.026293327,12.46390606,4.266252542,14.0623596,4.246861425,16.56253015,4.246311151,17.93015847,4.291738631,20.19622949,4.200440764,22.41277828,4.22263381,25.30804855,4.199690365 +12.08853558,1.737603215,10.97434682,3.130865195,11.11124329,4.047900042,12.48452521,4.247261668,14.13226557,4.224176116,16.64486482,4.223628781,18.0192918,4.268813602,20.29662778,4.178003418,22.52419534,4.200077917,25.3708755,4.177265229 +12.14862939,1.728321522,11.02890184,3.114141164,11.16647884,4.004786219,12.54658754,4.224574221,14.20251905,4.201611984,16.72760878,4.201067573,18.10886823,4.246011032,20.34701393,4.155694084,22.63616628,4.177642509,25.49699768,4.154951679 +12.20902193,1.719089408,11.05628096,3.097512548,11.22198897,3.983393994,12.60895838,4.202007963,14.23777664,4.179176587,16.81076407,4.178626879,18.19888996,4.200787147,20.39752517,4.133503876,22.74869384,4.155326944,25.62374684,4.132757321 +12.2697147,1.705336968,11.11124329,3.080966675,11.27777505,3.94096722,12.67163929,4.179562246,14.27312176,4.156860989,16.89433274,4.156306056,18.19888996,4.223330265,20.49892413,4.111424085,22.86178079,4.133130581,25.75112608,4.110681518 +12.33070917,1.69622763,11.16647884,3.064509184,11.27777505,3.96211604,12.71359957,4.153535223,14.34407545,4.134656432,16.93627273,4.13411258,18.2893592,4.178347951,20.60082716,4.089462236,22.91853491,4.111060856,25.81505297,4.088731663 +12.39200686,1.682658081,11.1941995,3.048145589,11.36197458,3.919908199,12.73463179,4.135046101,14.41538187,4.112570484,17.02046532,4.112029537,18.38027817,4.156028618,20.70323676,4.067617701,22.97542992,4.089108976,25.87913855,4.066899015 +12.45360926,1.673669886,11.22198897,3.03186937,11.39018056,3.898977019,12.79793743,4.112958071,14.48704275,4.090602512,17.10507644,4.090064455,18.47164911,4.133828507,20.80615546,4.045889851,23.14696379,4.067258342,26.00778738,4.045175005 +12.5155179,1.664729703,11.27777505,3.015674141,11.44680275,3.878149992,12.86155777,4.090988029,14.55905988,4.068751885,17.19010818,4.068216703,18.56347428,4.111746982,20.90958578,4.024278065,23.26203059,4.045532412,26.13707574,4.023567037 +12.5777343,1.655837275,11.33383846,2.999565421,11.50370641,3.857434215,12.92549438,4.069135343,14.59520258,4.047025923,17.23278243,4.046493598,18.65575591,4.089783408,21.01353027,4.002781721,23.31977833,4.023930435,26.26700681,4.002074491 +12.64025998,1.642590843,11.39018056,2.983542749,11.56089295,3.836829096,12.98974883,4.036582913,14.63143501,4.025415972,17.31844901,4.024878587,18.7484963,4.04622349,21.11799148,3.981400204,23.43570422,4.002435949,26.33221437,3.980704567 +12.70309649,1.629450379,11.44680275,2.951765301,11.58959274,3.816341534,13.05432269,4.004290897,14.70416993,4.00391355,17.40454145,4.003379035,18.7484963,4.067937157,21.22297198,3.9601329,23.55220639,3.981056278,26.52880989,3.938298705 +12.76624537,1.620746402,11.44680275,2.967605664,11.61836377,3.795963371,13.11921757,3.982901318,14.77726642,3.982525987,17.49106187,3.981994327,18.8416977,4.024609921,21.27565777,3.938986932,23.66928772,3.959790811,26.52880989,3.959433205 +12.82970816,1.612088918,11.53226423,2.935992196,11.67612029,3.775686608,13.18443504,3.961625995,14.85072629,3.961252669,17.5780124,3.960723849,18.93536243,4.003111805,21.38142205,3.917946185,23.78695107,3.938638937,26.66068833,3.917261634 +12.89348645,1.60347768,11.56089295,2.920314844,11.73416392,3.755518156,13.24997672,3.940464318,14.92455133,3.919061719,17.66539517,3.939566991,19.02949277,3.981728524,21.43450119,3.897025482,23.90519935,3.917600049,26.79322235,3.896336937 +12.95758178,1.59491244,11.61836377,2.904715502,11.7924961,3.715518467,13.31584421,3.898494784,14.92455133,3.940092986,17.70924931,3.918530839,19.12409105,3.960459466,21.54105511,3.876208879,24.02403545,3.896673543,26.92641522,3.875524012 +13.02199574,1.586392953,11.67612029,2.889199486,11.7924961,3.735457438,13.31584421,3.919415679,14.99874337,3.898127406,17.75321233,3.897607014,19.2191596,3.93930402,21.64813872,3.855503471,24.1434623,3.87585882,27.06027022,3.854822263 +13.0867299,1.577918974,11.70510613,2.873771994,11.85111825,3.695671414,13.38203914,3.877670332,15.07330423,3.877304917,17.84146604,3.876787305,19.31470074,3.91826158,21.75575466,3.834908665,24.26348284,3.855155283,27.19479062,3.834231095 +13.15178588,1.565295875,11.73416392,2.85842688,11.91003183,3.675930377,13.44856314,3.856957118,15.14823574,3.856593655,17.93015847,3.856078807,19.41071683,3.89733154,21.86390557,3.814423869,24.32371667,3.834569865,27.32997974,3.813749919 +13.21716525,1.55693459,11.7924961,2.843158122,11.96923827,3.65629479,13.51541783,3.836354547,15.22353975,3.835993025,18.0192918,3.835480928,19.50721023,3.876513303,21.97259411,3.794048496,24.44463328,3.814086879,27.46584091,3.793378146 +13.28286964,1.544479362,11.85111825,2.827970925,12.02873903,3.636764089,13.58260487,3.815862028,15.2992181,3.815502437,18.10886823,3.814993075,19.5718055,3.85237343,22.08182296,3.773781962,24.56615098,3.793713306,27.60237746,3.773115192 +13.34890065,1.536229272,11.91003183,2.812864853,12.05860024,3.617344817,13.62758168,3.792099843,15.37527267,3.774863861,18.19888996,3.794614662,19.60418331,3.835224905,22.1915948,3.753623684,24.74956113,3.773441154,27.73959275,3.752960477 +13.4152599,1.52802325,11.93959835,2.797844966,12.11854524,3.598022175,13.65012591,3.775219621,15.37527267,3.795121303,18.2893592,3.774345103,19.70163845,3.81473842,22.30191234,3.733573086,24.81100164,3.753292066,27.87749016,3.732913421 +13.48194905,1.519861063,11.99895177,2.782899816,12.14862939,3.578809774,13.7179826,3.755053664,15.45170531,3.754699804,18.38027817,3.754183818,19.79957807,3.794361367,22.41277828,3.713629591,24.87259468,3.733250568,28.01607308,3.712973449 +13.54896971,1.511742475,12.05860024,2.768034499,12.20902193,3.559692972,13.78617662,3.734995427,15.5285179,3.734643457,18.47164911,3.724150949,19.89800455,3.774093161,22.52419534,3.683921149,24.99623984,3.713308796,28.15534492,3.69313999 +13.61632354,1.503667253,12.08853558,2.753253993,12.2697147,3.540678286,13.85470964,3.715044334,15.60571235,3.714694245,18.56347428,3.694358339,19.99692032,3.753933221,22.63616628,3.654450371,25.12049965,3.693473546,28.29530909,3.673412475 +13.68401219,1.491638157,12.14862939,2.738547033,12.33070917,3.521765171,13.92358335,3.695199814,15.68329053,3.694851594,18.65575591,3.674624316,20.09632782,3.733880969,22.74869384,3.634929523,25.24537718,3.673744249,28.43596904,3.653790338 +13.75203734,1.47970529,12.20902193,2.723918634,12.36132002,3.50295996,13.99279943,3.65584257,15.76125437,3.675114936,18.7484963,3.654995705,20.19622949,3.71393583,22.86178079,3.615512949,25.3708755,3.65412034,28.57732824,3.634273016 +13.82040065,1.471801201,12.2697147,2.709368374,12.42276987,3.484248323,13.99279943,3.675461296,15.80038151,3.655490882,18.8416977,3.635471944,20.26310635,3.690808361,22.97542992,3.596200091,25.49699768,3.634601254,28.71939015,3.614859948 +13.8891038,1.463939333,12.30017412,2.694901128,12.45360926,3.465643441,14.0623596,3.636314285,15.83960578,3.635971614,18.93536243,3.616052472,20.29662778,3.67437903,23.089644,3.576990397,25.62374684,3.615186434,28.86215827,3.595550579 +13.95814849,1.45611946,12.36132002,2.68050587,12.5155179,3.447131137,14.13226557,3.616890314,15.91834668,3.616549474,19.02949277,3.596736733,20.39752517,3.65475173,23.20442587,3.557883314,25.75112608,3.59587532,29.00563611,3.576344354 +14.0275364,1.448341358,12.39200686,2.666192742,12.54658754,3.42872445,14.20251905,3.597570099,15.99747902,3.597231079,19.12409105,3.577524172,20.49892413,3.635229272,23.31977833,3.538878294,25.87913855,3.576667361,29.1498272,3.557240722 +14.09726926,1.440604804,12.45360926,2.651950834,12.60895838,3.410409354,14.27312176,3.578353086,16.07700474,3.578015878,19.1715664,3.558421224,20.60082716,3.615811097,23.43570422,3.519974794,26.00778738,3.557562003,29.29473509,3.538239135 +14.16734876,1.432909577,12.5155179,2.637785003,12.67163929,3.392192091,14.34407545,3.549726835,16.15692578,3.558903317,19.2191596,3.539420281,20.70323676,3.596496647,23.55220639,3.501172269,26.13707574,3.5385587,29.44036333,3.519339049 +14.23777664,1.425255455,12.5777343,2.62369484,12.70309649,3.374078763,14.41538187,3.52132959,16.23724413,3.539892849,19.31470074,3.520513885,20.80615546,3.577285368,23.61067448,3.482477018,26.26700681,3.519656907,29.58671551,3.50053992 +14.30855463,1.417642218,12.60895838,2.609685066,12.76624537,3.356055566,14.48704275,3.502519828,16.27755291,3.520990842,19.41071683,3.50170848,20.90958578,3.558176709,23.72804646,3.463874794,26.35398617,3.497739255,29.73379522,3.48184121 +14.37968446,1.410069649,12.67163929,2.595745003,12.82970816,3.338128643,14.55905988,3.483810542,16.35847091,3.50218289,19.50721023,3.483003528,21.01353027,3.539170123,23.84600191,3.445371937,26.39758379,3.482169355,29.88160609,3.481827538 +14.45116789,1.40253753,12.73463179,2.581879404,12.89348645,3.32029748,14.63143501,3.465201195,16.39908063,3.483482243,19.60418331,3.464398492,21.11799148,3.520265063,23.96454374,3.426967916,26.52880989,3.463568774,30.03015175,3.463228783 +14.52300668,1.395045645,12.76624537,2.568092913,12.92549438,3.302568049,14.70416993,3.446691252,16.48060276,3.464874649,19.70163845,3.445892837,21.22297198,3.482771034,24.02403545,3.408668895,26.66068833,3.445067551,30.17943586,3.444729377 +14.59520258,1.387593779,12.82970816,2.554375022,12.95758178,3.284933287,14.77726642,3.419118275,16.56253015,3.446366451,19.79957807,3.427486034,21.22297198,3.501460988,24.1434623,3.390460929,26.79322235,3.426665156,30.32946207,3.426328788 +14.66775738,1.380181718,12.89348645,2.540730407,13.02199574,3.267386275,14.85072629,3.391765877,16.64486482,3.427957117,19.8487303,3.409184246,21.32847435,3.464167239,24.26348284,3.372350224,26.92641522,3.40836106,30.48023408,3.408026489 +14.74067287,1.37280925,12.95758178,2.527158678,13.0867299,3.249932994,14.92455133,3.373648202,16.72760878,3.40964612,19.99692032,3.39096687,21.43450119,3.44566282,24.38410002,3.354336261,27.06027022,3.390154739,30.55590092,3.38982861 +14.81395082,1.361826997,12.98974883,2.513664379,13.11921757,3.232579289,14.99874337,3.355627304,16.81076407,3.391432935,20.04656245,3.372860084,21.54105511,3.427257245,24.50531681,3.336418521,27.19479062,3.372045669,30.7077986,3.371721282 +14.88759305,1.354552574,13.05432269,2.500237227,13.18443504,3.215311934,15.07330423,3.337702669,16.8524966,3.37332366,20.09632782,3.354849984,21.64813872,3.408949986,24.62713618,3.318596493,27.32997974,3.354033332,30.9370621,3.353704094 +14.96160136,1.347317008,13.11921757,2.486881798,13.21716525,3.198143096,15.14823574,3.311001583,16.93627273,3.355304497,20.22406798,3.345867526,21.75575466,3.390740519,24.74956113,3.300869664,27.46584091,3.336117211,31.09085458,3.335789731 +15.03597759,1.340120093,13.15178588,2.473602566,13.28286964,3.181059688,15.22353975,3.284514101,16.97831684,3.337388138,20.29662778,3.336916398,21.86390557,3.37262832,24.87259468,3.283237525,27.60237746,3.318296792,31.24541159,3.317971062 +15.11072354,1.329399347,13.21716525,2.460389411,13.34890065,3.164067534,15.2992181,3.266969328,17.06271843,3.31956093,20.34701393,3.319098226,21.97259411,3.354612871,24.99623984,3.265699571,27.73959275,3.300571564,31.40073691,3.300247573 +15.18584107,1.322298141,13.28286964,2.447246836,13.4152599,3.147166147,15.37527267,3.249518274,17.1475396,3.301828949,20.39752517,3.301375198,22.08182296,3.336693654,25.12049965,3.2482553,27.87749016,3.282941018,31.55683439,3.282618758 +15.26133202,1.315234868,13.34890065,2.434174465,13.44856314,3.130361187,15.45170531,3.232160437,17.23278243,3.284191687,20.49892413,3.283740359,22.1915948,3.318870156,25.24537718,3.213658422,28.01607308,3.265404648,31.71370784,3.265084109 +15.33719824,1.308209325,13.4152599,2.421171921,13.51541783,3.113639847,15.5285179,3.214895321,17.31844901,3.266648636,20.60082716,3.26619972,22.30191234,3.301141865,25.24537718,3.23090421,28.08562267,3.247968329,31.87136114,3.230307989 +15.41344161,1.301221309,13.44856314,2.408243561,13.58260487,3.097007828,15.60571235,3.197722428,17.40454145,3.249199295,20.70323676,3.248752777,22.41277828,3.283508272,25.3708755,3.196492137,28.15534492,3.230625114,31.87136114,3.247643125 +15.49006399,1.294270622,13.51541783,2.395379532,13.61632354,3.080470699,15.68329053,3.163663771,17.49106187,3.231843162,20.80615546,3.231399029,22.52419534,3.265968873,25.49699768,3.179417548,28.29530909,3.213368198,32.02979815,3.213052768 +15.56706727,1.283916664,13.54896971,2.382588896,13.68401219,3.064015858,15.68329053,3.180641268,17.5780124,3.21457974,20.90958578,3.214137979,22.63616628,3.248523162,25.62374684,3.162434166,28.43596904,3.196203463,32.26893166,3.195883443 +15.64445335,1.277058412,13.61632354,2.369861905,13.75203734,3.047648913,15.76125437,3.146764541,17.62164962,3.197414811,21.01353027,3.196969132,22.74869384,3.213923432,25.75112608,3.145541503,28.57732824,3.179130417,32.42934505,3.178812106 +15.72222413,1.270236794,13.68401219,2.357202898,13.82040065,3.031369394,15.83960578,3.12995558,17.70924931,3.180335294,21.11799148,3.179891996,22.74869384,3.231170641,25.87913855,3.128739076,28.71939015,3.162148568,32.59055588,3.161831958 +15.80038151,1.260075104,13.75203734,2.34461151,13.8891038,3.015176836,15.91834668,3.113236407,17.75321233,3.16335322,21.22297198,3.162906079,22.86178079,3.196755731,26.00778738,3.112026401,28.86215827,3.145257431,32.67146157,3.144948686 +15.87892742,1.253344205,13.82040065,2.332087382,13.95814849,2.999070773,15.99747902,3.096606543,17.84146604,3.146455648,21.32847435,3.129218248,22.97542992,3.179679734,26.13707574,3.095403,29.00563611,3.128456521,32.83387599,3.128149426 +15.9578638,1.246649261,13.8891038,2.319630154,13.99279943,2.983056599,16.07700474,3.080065509,17.93015847,3.129648337,21.32847435,3.146010896,23.089644,3.162694951,26.26700681,3.078868395,29.1498272,3.111745356,32.9970978,3.111439901 +16.03719258,1.239990079,13.92358335,2.307243997,14.0623596,2.967122112,16.15692578,3.055425479,18.0192918,3.112930806,21.43450119,3.112503014,23.20442587,3.145800896,26.39758379,3.062422113,29.29473509,3.095123456,33.16113101,3.094819632 +16.11691572,1.233366467,13.99279943,2.294919474,14.09726926,2.951278535,16.23724413,3.030982565,18.10886823,3.096302574,21.54105511,3.095877067,23.31977833,3.128997083,26.52880989,3.046063681,29.44036333,3.078590345,33.32597965,3.078288144 +16.19703517,1.226778237,14.0275364,2.282665265,14.20251905,2.935508031,16.31796175,3.014792073,18.19888996,3.079763164,21.64813872,3.07933993,23.43570422,3.11228303,26.66068833,3.029792631,29.58671551,3.062145548,33.49164777,3.061844961 +16.27755291,1.2202252,14.09726926,2.270472033,14.23777664,2.919833265,16.39908063,2.998688065,18.2440685,3.063318116,21.75575466,3.062891129,23.55220639,3.095658258,26.79322235,3.013608495,29.73379522,3.045788593,33.65813945,3.045489612 +16.35847091,1.213707166,14.16734876,2.258343933,14.34407545,2.904230793,16.48060276,2.982670079,18.2893592,3.046960881,21.86390557,3.046530192,23.66928772,3.07912229,26.92641522,2.997510809,29.88160609,3.029519012,33.82545879,3.029221629 +16.43979116,1.207223949,14.23777664,2.246280617,14.37968446,2.888723038,16.56253015,2.966737656,18.38027817,3.030685038,21.97259411,3.03025665,23.78695107,3.062674651,27.06027022,2.981499112,29.95578685,3.013342254,33.9936099,3.013040543 +16.43979116,1.200780079,14.30855463,2.23428174,14.45116789,2.873292448,16.64486482,2.943004231,18.47164911,3.014496135,22.08182296,3.014070035,23.90519935,3.046314871,27.19479062,2.949743431,30.17943586,2.997240106,34.1625969,2.996945891 +16.52151567,1.194365915,14.37968446,2.222346956,14.52300668,2.857944284,16.72760878,2.927283689,18.56347428,2.998393708,22.1915948,2.997969884,24.02403545,3.030042478,27.19479062,2.965572944,30.32946207,2.981229855,34.33242397,2.980937211 +16.60364645,1.187986013,14.41538187,2.210480264,14.59520258,2.842678104,16.81076407,2.903865889,18.65575591,2.982377294,22.24668519,2.981961589,24.1434623,3.013857008,27.32997974,2.933986891,30.48023408,2.957380494,34.50309527,2.965014044 +16.68618551,1.184806526,14.48704275,2.19867262,14.66775738,2.827493471,16.89433274,2.888354411,18.7484963,2.966446435,22.41277828,2.966027127,24.26348284,2.997757995,27.46584091,2.918314517,30.63175561,2.941583159,34.674615,2.949175934 +16.76913488,1.175328264,14.55905988,2.186928048,14.74067287,2.812389949,16.97831684,2.872925791,18.8416977,2.950600673,22.46841775,2.950189397,24.38410002,2.981744977,27.60237746,2.90272586,30.78403037,2.925870209,34.84698738,2.933422425 +16.8524966,1.169050055,14.59520258,2.175250483,14.81395082,2.797367106,17.06271843,2.857579585,18.93536243,2.919174088,22.52419534,2.934436237,24.50531681,2.949986677,27.73959275,2.887220472,30.9370621,2.902463716,35.02021665,2.917753067 +16.93627273,1.162805382,14.66775738,2.163631025,14.88759305,2.782424509,17.1475396,2.842315354,18.93536243,2.934839554,22.63616628,2.918761462,24.50531681,2.965817496,27.87749016,2.871797908,31.09085458,2.886959729,35.19430706,2.902167409 +17.02046532,1.156594065,14.74067287,2.152073633,14.96160136,2.767561731,17.23278243,2.827132658,19.02949277,2.90358084,22.74869384,2.903170418,24.62713618,2.934228838,28.01607308,2.856457727,31.24541159,2.886948392,35.36926291,2.886665004 +17.10507644,1.150415928,14.81395082,2.140577978,15.03597759,2.752778344,17.31844901,2.80451605,19.12409105,2.888070885,22.86178079,2.887662655,24.74956113,2.918555171,28.15534492,2.841199488,31.40073691,2.871527282,35.54508848,2.871245408 +17.19010818,1.144270792,14.88759305,2.129143728,15.11072354,2.738073926,17.40454145,2.782080372,19.2191596,2.872643779,22.97542992,2.87223773,24.87259468,2.902965229,28.29530909,2.826022754,31.55683439,2.856188547,35.7217881,2.855908178 +17.27556262,1.138158481,14.92455133,2.117774715,15.14823574,2.7234534,17.49106187,2.767219431,19.31470074,2.857299079,23.089644,2.856895199,24.99623984,2.887458562,28.43596904,2.810927088,31.71370784,2.840931746,35.89936613,2.840652874 +17.36144187,1.13207882,14.99874337,2.106462273,15.22353975,2.708905626,17.5780124,2.752437873,19.41071683,2.842036346,23.20442587,2.841634624,25.12049965,2.872034727,28.57732824,2.795912058,31.87136114,2.825756441,36.07782692,2.825479059 +17.44774803,1.126031635,15.07330423,2.095210258,15.2992181,2.69443556,17.66539517,2.737735274,19.50721023,2.826855141,23.31977833,2.826455565,25.24537718,2.856693281,28.71939015,2.780977234,32.02979815,2.810662198,36.25717486,2.810386298 +17.53448324,1.120016752,15.14823574,2.084018347,15.33719824,2.680048051,17.75321233,2.72311121,19.60418331,2.811755029,23.43570422,2.811357587,25.3708755,2.841433784,28.86215827,2.766122186,32.18902277,2.795648584,36.43741437,2.795374157 +17.62164962,1.114033998,15.18584107,2.07289029,15.41344161,2.665732134,17.84146604,2.708565263,19.65285047,2.796741068,23.55220639,2.796340258,25.49699768,2.826255797,29.00563611,2.75134649,32.34903892,2.780715167,36.61854987,2.780442206 +17.70924931,1.108083202,15.26133202,2.061817605,15.49006399,2.651492687,17.93015847,2.694097016,19.75054755,2.781801815,23.66928772,2.781403146,25.62374684,2.811158887,29.07764228,2.736655093,32.50985054,2.765861519,36.80058583,2.765590016 +17.79728448,1.102164193,15.33719824,2.050804067,15.56706727,2.637329302,17.98953157,2.677320301,19.8487303,2.766942363,23.78695107,2.766545824,25.70859613,2.793653203,29.29473509,2.707501907,32.67146157,2.751087214,36.9835267,2.750817162 +17.88575728,1.096276802,15.41344161,2.03984936,15.64445335,2.623241574,18.0192918,2.665402429,19.89800455,2.752167689,23.84600191,2.751773266,25.75112608,2.781217484,29.29473509,2.722031455,32.91538572,2.736386457,37.16737701,2.73612322 +17.97466989,1.090420859,15.49006399,2.028953169,15.72222413,2.609229097,18.10886823,2.651164743,19.99692032,2.737466532,23.96454374,2.737074217,25.87913855,2.766361153,29.44036333,2.69303934,33.07901273,2.721769598,37.35214126,2.721507767 +18.0640245,1.084596196,15.56706727,2.018115182,15.80038151,2.595291471,18.19888996,2.637003111,20.09632782,2.722843904,24.08367485,2.722453684,26.00778738,2.75158418,29.58671551,2.678654027,33.32597965,2.707225503,37.537824,2.706970386 +18.1538233,1.078802647,15.60571235,2.007339028,15.87892742,2.581428294,18.2893592,2.622917124,20.19622949,2.708299385,24.20339818,2.70791125,26.13707574,2.73688614,29.73379522,2.664345556,33.49164777,2.692764412,37.63101123,2.692515944 +18.2440685,1.073040045,15.68329053,1.996616497,15.91834668,2.567644211,18.38027817,2.608906381,20.29662778,2.693832558,24.26348284,2.693451784,26.26700681,2.722266612,29.88160609,2.650113516,33.57479041,2.678385827,37.81808027,2.678133427 +18.33476233,1.067308225,15.72222413,1.98595514,15.99747902,2.553928717,18.47164911,2.594970478,20.39752517,2.679443008,24.38410002,2.679064269,26.39758379,2.707725177,30.03015175,2.635957498,33.74169541,2.664078788,37.91196323,2.663832967 +18.42590701,1.061607023,15.80038151,1.975346834,16.03719258,2.540291474,18.56347428,2.581109016,20.49892413,2.665130323,24.50531681,2.664753606,26.52880989,2.693261418,30.17943586,2.621877098,33.82545879,2.649853375,38.10042892,2.649603664 +18.51750478,1.055936274,15.87892742,1.964795194,16.11691572,2.526722089,18.65575591,2.567321598,20.60082716,2.65089409,24.62713618,2.650519386,26.66068833,2.678874919,30.32946207,2.60787191,33.9936099,2.635698747,38.2898315,2.63545037 +18.60955789,1.050295817,15.9578638,1.954299917,16.19703517,2.513225187,18.7484963,2.553607827,20.70323676,2.636733903,24.74956113,2.6363612,26.79322235,2.664565267,30.48023408,2.593941533,34.1625969,2.621619729,38.48017563,2.621372679 +18.70206862,1.041893619,16.03719258,1.943860702,16.27755291,2.499800381,18.8416977,2.539967311,20.80615546,2.622649355,24.87259468,2.622278643,26.92641522,2.650332054,30.63175561,2.580085567,34.33242397,2.607615916,38.67146599,2.607370185 +18.79503923,1.036328172,16.11691572,1.93347725,16.35847091,2.486447286,18.93536243,2.526399657,20.90958578,2.594715751,24.99623984,2.60827131,27.06027022,2.636174869,30.78403037,2.566303615,34.50309527,2.593686906,38.86370728,2.593442488 +18.88847201,1.030792455,16.19703517,1.923149264,16.43979116,2.473165519,19.02949277,2.512904478,20.90958578,2.608640042,25.12049965,2.5943388,27.19479062,2.622093307,30.9370621,2.552595282,34.674615,2.579832301,39.05690422,2.579589188 +18.98236925,1.025286307,16.23724413,1.912880201,16.52151567,2.459954698,19.12409105,2.492801645,21.06569612,2.580850582,25.24537718,2.580480712,27.32997974,2.608086964,31.09085458,2.538960174,34.84698738,2.566051702,39.25106158,2.565809888 +19.07673328,1.019809572,16.31796175,1.902662236,16.56253015,2.446819249,19.2191596,2.472859631,21.17041666,2.567064544,25.3708755,2.56669665,27.46584091,2.594155438,31.24541159,2.525397901,35.02021665,2.552344714,39.44618412,2.552104192 +19.1715664,1.014362091,16.35847091,1.892502569,16.60364645,2.43375394,19.31470074,2.459650445,21.22297198,2.55335716,25.43385841,2.55299123,27.60237746,2.573402611,31.40073691,2.511908072,35.13618098,2.536450721,39.64227664,2.538471708 +19.26687094,1.006247357,16.48060276,1.882389759,16.68618551,2.420753643,19.41071683,2.446511817,21.32847435,2.539717982,25.5602937,2.539354007,27.73959275,2.559656357,31.55683439,2.498490302,35.19430706,2.525159918,39.83934396,2.524912043 +19.36264927,1.000872321,16.56253015,1.872334664,16.76913488,2.407822789,19.50721023,2.433443371,21.43450119,2.526151661,25.68735751,2.52578963,27.87749016,2.539179517,31.71370784,2.485144205,35.36926291,2.511671361,40.03739093,2.51142481 +19.45890371,0.995525997,16.64486482,1.862333281,16.8524966,2.394961007,19.60418331,2.420444733,21.54105511,2.512657806,25.75112608,2.512302641,28.01607308,2.525616071,31.87136114,2.471869398,35.54508848,2.498254855,40.23642242,2.498009621 +19.55563666,0.990208231,16.68618551,1.852388958,16.93627273,2.382167929,19.70163845,2.407515529,21.64813872,2.499236031,25.87913855,2.498882763,28.15534492,2.512125078,32.02979815,2.458665501,35.7217881,2.484910016,40.43644333,2.484666092 +19.65285047,0.984918871,16.76913488,1.842494117,17.02046532,2.369443187,19.79957807,2.394655389,21.75575466,2.48588595,26.00778738,2.48553457,28.29530909,2.498706148,32.18902277,2.445532135,35.89936613,2.47163646,40.63745857,2.471393839 +19.75054755,0.979657765,16.8524966,1.832652132,17.06271843,2.356791043,19.89800455,2.381863943,21.86390557,2.472607181,26.13707574,2.472257678,28.43596904,2.485358898,32.34903892,2.432468922,36.07782692,2.458433807,40.83947308,2.458192482 +19.8487303,0.974424762,16.93627273,1.822862719,17.1475396,2.344201856,19.99692032,2.369140825,21.91818247,2.459404172,26.26700681,2.459051706,28.57732824,2.472082944,32.50985054,2.419475489,36.16738972,2.445306479,41.04249183,2.445061642 +19.94740112,0.969219711,17.02046532,1.813125598,17.23278243,2.331679916,20.09632782,2.356485669,22.02714083,2.44626686,26.39758379,2.445916277,28.71939015,2.458877906,32.67146157,2.406551463,36.34718289,2.432244472,41.24651982,2.432000943 +,,17.10507644,1.803440489,17.31844901,2.319224864,20.14621673,2.343902715,22.13664084,2.433199723,26.52880989,2.432851013,28.86215827,2.445743405,32.83387599,2.393696472,36.43741437,2.419256988,41.45156207,2.41901001 +,,17.19010818,1.793807115,17.40454145,2.306836343,20.29662778,2.331377796,22.24668519,2.420202386,26.66068833,2.419855539,29.00563611,2.432679065,32.9970978,2.380910148,36.61854987,2.406334129,41.6576236,2.40608847 +,,17.27556262,1.784225199,17.44774803,2.294518502,20.3638371,2.31685981,22.35727659,2.407274477,26.72687319,2.406934208,29.1498272,2.419684509,33.16113101,2.368192125,36.80058583,2.393480299,41.8647095,2.393235952 +,,17.31844901,1.774697951,17.53448324,2.282261953,20.39752517,2.306546499,22.41277828,2.394420325,26.85973623,2.394077173,29.29473509,2.406759366,33.37191619,2.349244405,36.9835267,2.38069513,41.96863817,2.380456762 +,,17.40454145,1.765218109,17.62164962,2.270070876,20.49892413,2.294225701,22.52419534,2.381630135,26.99325975,2.381288815,29.44036333,2.393903265,33.49164777,2.342959522,37.16737701,2.367978255,42.28197477,2.367736512 +,,17.49106187,1.755788906,17.70924931,2.257944918,20.60082716,2.281970717,22.63616628,2.368908265,27.12744703,2.368568769,29.58671551,2.381115837,33.57479041,2.330448793,37.35214126,2.355329309,42.55073562,2.348792438 +,,17.5780124,1.746410071,17.79728448,2.245883734,20.70323676,2.269781195,22.74869384,2.356254352,27.26230138,2.355916669,29.73379522,2.368396714,33.74169541,2.318000318,37.537824,2.34274793,42.70339892,2.342508763 +,,17.62164962,1.737084745,17.88575728,2.233886976,20.80615546,2.257656785,22.86178079,2.343668032,27.39782611,2.343332153,29.88160609,2.355745534,33.82545879,2.305622864,37.72442979,2.330233757,42.91568351,2.329995867 +,,17.70924931,1.727805821,17.97466989,2.221954302,20.90958578,2.24559714,22.97542992,2.331148943,27.53402455,2.330814858,30.03015175,2.343161931,33.9936099,2.293307,37.91196323,2.31778643,43.1290234,2.311356274 +,,17.79728448,1.718576461,18.0192918,2.210089706,21.01353027,2.233601913,23.089644,2.318696727,27.67090005,2.318364427,30.17943586,2.330645546,34.1625969,2.281056923,38.10042892,2.305405592,43.34342383,2.299009784 +,,17.88575728,1.709396403,18.10886823,2.198284148,21.11799148,2.221670761,23.20442587,2.306311027,27.80845598,2.305980502,30.32946207,2.318196019,34.33242397,2.268872282,38.2898315,2.293090889,43.66702453,2.280613597 +,,17.97466989,1.70026538,18.19888996,2.186541652,21.18792062,2.207835944,23.31977833,2.293991487,27.94669572,2.293662728,30.48023408,2.305812994,34.50309527,2.256752728,38.48017563,2.280841966,43.88409944,2.268431324 +,,18.0640245,1.691183133,18.2440685,2.17486615,21.22297198,2.198007943,23.43570422,2.269558388,28.08562267,2.281410751,30.63175561,2.293496114,34.674615,2.244697912,38.67146599,2.268658474,43.99304123,2.256318554 +,,18.1538233,1.6821494,18.33476233,2.163248744,21.32847435,2.186266922,23.43570422,2.281737754,28.22524024,2.26922422,30.78403037,2.281245027,34.84698738,2.232707488,38.86370728,2.256540061,44.21173681,2.244266058 +,,18.2440685,1.673163922,18.42590701,2.151693395,21.43450119,2.174588618,23.55220639,2.257435169,28.36555188,2.257102785,30.9370621,2.269059382,35.02021665,2.220781114,39.05690422,2.244486381,44.43151957,2.232277941 +,,18.2893592,1.664229709,18.51750478,2.140199771,21.54105511,2.162972695,23.72804646,2.245372299,28.50656102,2.245046099,31.09085458,2.25090727,35.19430706,2.208918446,39.25106158,2.232497088,44.65239489,2.220353861 +,,18.38027817,1.655339952,18.60955789,2.128767541,21.64813872,2.15141882,23.84600191,2.233378273,28.64827114,2.233053816,31.24541159,2.238883679,35.36926291,2.197119145,39.44618412,2.220571837,44.87436821,2.208493476 +,,18.47164911,1.646497681,18.70206862,2.117396379,21.75575466,2.139926662,23.90519935,2.221452677,28.79068571,2.221125592,31.40073691,2.226924313,35.54508848,2.185382871,39.64227664,2.208710287,45.097445,2.196696444 +,,18.56347428,1.637702643,18.79503923,2.106085958,21.86390557,2.128495892,24.02403545,2.209586422,28.93380826,2.209261084,31.55683439,2.209109276,35.7217881,2.173709289,39.83934396,2.196912098,45.32163073,2.184962429 +,,18.65575591,1.628954585,18.88847201,2.094835953,21.97259411,2.117126181,24.1434623,2.197783553,29.07764228,2.197459952,31.71370784,2.197308955,35.89936613,2.162098063,40.03739093,2.18517693,45.54693092,2.173291092 +,,18.70206862,1.620256437,18.93536243,2.083650133,22.08182296,2.105817203,24.26348284,2.18604373,29.1498272,2.18572615,31.87136114,2.185571668,36.07782692,2.15054886,40.23642242,2.173504448,45.77335111,2.1616821 +,,18.79503923,1.611601571,18.98236925,2.072524042,22.1915948,2.094568634,24.38410002,2.174366618,29.29473509,2.174050734,32.02979815,2.173897077,36.25717486,2.13906135,40.43644333,2.161894316,46.11509358,2.150130898 +,,18.88847201,1.602992936,19.07673328,2.061453314,22.30191234,2.083380151,24.50531681,2.162751881,29.44036333,2.162437684,32.18902277,2.162284848,36.43741437,2.127635202,40.63745857,2.150346202,46.34433818,2.13864562 +,,18.98236925,1.594430285,19.1715664,2.050441722,22.41277828,2.072251433,24.62713618,2.151199185,29.58671551,2.150886667,32.34903892,2.150734648,36.61854987,2.116270088,40.83947308,2.138859774,46.45938749,2.127225869 +,,19.07673328,1.585913373,19.26687094,2.03948895,22.52419534,2.055673754,24.74956113,2.139708201,29.73379522,2.139397352,32.50985054,2.139246144,36.80058583,2.104965683,41.04249183,2.127434702,46.69034362,2.115862942 +,,19.1715664,1.577441956,19.36264927,2.028594684,22.63616628,2.044693034,24.87259468,2.128278598,29.88160609,2.127969409,32.67146157,2.127819009,36.9835267,2.093721662,41.24651982,2.11607066,46.92244788,2.104560712 +,,19.26687094,1.56901579,19.45890371,2.017758612,22.74869384,2.03377097,24.99623984,2.116910047,30.03015175,2.11660251,32.83387599,2.116452914,37.16737701,2.082537704,41.45156207,2.10476732,47.15570596,2.104552448 +,,19.36264927,1.560634634,19.55563666,2.006980422,22.86178079,2.017501128,25.12049965,2.105602224,30.17943586,2.10529633,32.9970978,2.105147532,37.35214126,2.071413486,41.6576236,2.093524359,47.39012359,2.093310635 +,,19.45890371,1.552298247,19.65285047,1.996259806,22.97542992,2.006724314,25.24537718,2.094354803,30.32946207,2.094050543,33.16113101,2.09390254,37.537824,2.06034869,41.8647095,2.082341454,47.50776904,2.082132959 +,,19.50721023,1.544009422,19.75054755,1.985596456,23.089644,1.996005066,25.3708755,2.083167462,30.48023408,2.082864827,33.32597965,2.082717615,37.72442979,2.049342998,42.07282485,2.071218285,47.74393683,2.071010904 +,,19.60418331,1.535761842,19.8487303,1.974990065,23.20442587,1.985343076,25.49699768,2.07203988,30.55590092,2.071742929,33.49164777,2.071592436,37.91196323,2.038396095,42.28197477,2.060154531,48.10039164,2.059944214 +,,19.65285047,1.527561316,19.94740112,1.964440331,23.31977833,1.974738039,25.62374684,2.060971738,30.63175561,2.060680419,33.65813945,2.060526684,38.10042892,2.027507667,42.4921644,2.049149877,48.33950544,2.038003931 +,,19.79957807,1.519398613,19.99692032,1.953950786,23.43570422,1.964189651,25.75112608,2.049962719,30.78403037,2.049672956,33.82545879,2.049520042,38.2898315,2.016677401,42.59765072,2.038208007,48.33950544,2.048940683 +,,19.89800455,1.511282495,20.14621673,1.94350962,23.55220639,1.953697609,25.87913855,2.039012505,30.9370621,2.03872429,33.9936099,2.038572193,38.48017563,2.005904987,42.80940963,2.027320584,48.57980791,2.027117598 +,,19.99692032,1.503209731,20.2463664,1.933128044,23.66928772,1.943261612,26.00778738,2.028120784,31.09085458,2.027834109,34.1625969,2.027682825,38.67146599,1.995190115,43.02222121,2.016491317,48.82130495,2.021692288 +,,20.09632782,1.495180089,20.29662778,1.922805697,23.78695107,1.93288136,26.13707574,2.017287244,31.24541159,2.0170021,34.33242397,2.016851623,38.86370728,1.984532479,43.1290234,2.005723835,49.18580335,2.005515136 +,,20.2463664,1.487190419,20.34701393,1.912538469,23.90519935,1.922556556,26.20196074,2.006515511,31.40073691,2.006227951,34.50309527,2.006078278,39.05690422,1.973931772,43.34342383,1.995009931,49.43031289,1.994802347 +,,20.34701393,1.479246346,20.49892413,1.902318595,24.02403545,1.912286904,26.33221437,1.995797378,31.55683439,1.995511354,34.674615,1.995362481,39.25106158,1.963387691,43.55889007,1.984353257,49.55302309,1.984150678 +,,20.4481618,1.471344709,20.60082716,1.892157048,24.1434623,1.902072109,26.4631155,1.985136498,31.71370784,1.984852002,34.84698738,1.984703924,39.44618412,1.952899932,43.77542743,1.973753508,49.79935812,1.973552011 +,,20.60082716,1.463482405,20.65196848,1.882053474,24.26348284,1.891911877,26.52880989,1.974536442,31.87136114,1.974249588,35.02021665,1.974102301,39.64227664,1.942468196,43.99304123,1.963210378,50.04691772,1.963009958 +,,20.70323676,1.455664973,20.75463232,1.872000176,24.38410002,1.881805919,26.66068833,1.96398913,32.02979815,1.963703809,35.19430706,1.963557309,39.83934396,1.932092182,44.21173681,1.952723567,50.29570798,1.952524217 +,,20.80615546,1.447889299,20.85780651,1.862000579,24.50531681,1.871753943,26.79322235,1.953498159,32.18902277,1.953214362,35.36926291,1.953068644,40.03739093,1.921771594,44.43151957,1.942292773,50.54573501,1.942094488 +,,20.90958578,1.44015516,20.96149359,1.852054397,24.62713618,1.861755661,26.92641522,1.943063227,32.34903892,1.942780946,35.54508848,1.942636007,40.23642242,1.911506135,44.65239489,1.931917696,50.79700495,1.93172047 +,,21.01353027,1.432462335,21.06569612,1.842161343,24.74956113,1.851810787,27.06027022,1.932684035,32.50985054,1.932403262,35.7217881,1.932259097,40.43644333,1.90129551,44.87436821,1.92159804,51.049524,1.921401867 +,,21.06569612,1.424813399,21.17041666,1.832321135,24.87259468,1.841919035,27.19479062,1.922360285,32.75256811,1.922077238,35.89936613,1.921937617,40.63745857,1.891139427,45.097445,1.911333508,51.30329835,1.911138383 +,,21.22297198,1.417199741,21.27565777,1.82253349,24.99623984,1.832080121,27.32997974,1.912091682,32.91538572,1.911810146,36.07782692,1.911671271,40.83947308,1.881037595,45.2093989,1.901127538,51.55833425,1.900929723 +,,21.32847435,1.409629535,21.38142205,1.812798128,25.12049965,1.822293764,27.46584091,1.901877929,32.9970978,1.901601631,36.25717486,1.901459764,41.04249183,1.870989723,45.43414117,1.890972352,51.81463797,1.890775594 +,,21.43450119,1.402099767,21.4877121,1.803114768,25.24537718,1.812559682,27.60237746,1.891718735,33.16113101,1.891443913,36.43741437,1.891302804,41.24651982,1.860995524,45.66000067,1.880871412,52.07221581,1.880675705 +,,21.54105511,1.39461022,21.59453054,1.793483134,25.3708755,1.802877596,27.73959275,1.881613808,33.32597965,1.881340454,36.61854987,1.881200099,41.45156207,1.85105471,45.88698294,1.870824428,52.46098541,1.870626094 +,,21.64813872,1.38716068,21.64813872,1.783906451,25.49699768,1.793247228,27.87749016,1.871562859,33.49164777,1.871290965,36.80058583,1.8661508,41.6576236,1.841166996,46.11509358,1.860831112,52.85265756,1.860630183 +,,21.75575466,1.379750933,21.75575466,1.774377421,25.62374684,1.783668303,28.01607308,1.861565598,33.65813945,1.861295156,36.9835267,1.856182448,41.8647095,1.8313321,46.34433818,1.850891176,53.11539554,1.850691321 +,,21.80976307,1.372383461,21.86390557,1.764899292,25.75112608,1.774140545,28.15534492,1.851621739,33.82545879,1.851352742,37.16737701,1.846267344,42.07282485,1.821549738,46.5747224,1.841004336,53.37943963,1.840805549 +,,21.91818247,1.365052649,21.97259411,1.755471792,25.87913855,1.759947705,28.29530909,1.841730996,33.9936099,1.841463436,37.35214126,1.836405203,42.17727017,1.811823188,46.92244788,1.831166713,53.64479632,1.830972583 +,,22.02714083,1.357760996,22.08182296,1.746094651,26.00778738,1.750546655,28.43596904,1.831893087,34.1625969,1.831626956,37.537824,1.821714256,42.4921644,1.802141498,47.15570596,1.821385235,53.91147213,1.821192142 +,,22.08182296,1.350510943,22.1915948,1.736767599,26.13707574,1.741195822,28.57732824,1.822107729,34.33242397,1.82184302,37.72442979,1.81198327,42.59765072,1.792518582,47.39012359,1.811656006,54.17947363,1.82118499 +,,22.1915948,1.343296967,22.24668519,1.72749376,26.26700681,1.731894938,28.71939015,1.81237464,34.50309527,1.812111345,37.91196323,1.811976154,42.80940963,1.782943549,47.62570655,1.801978747,54.4488074,1.811456831 +,,22.24668519,1.336124148,22.35727659,1.718266068,26.39758379,1.722643736,28.86215827,1.797875934,34.674615,1.802431654,38.10042892,1.802297186,42.91568351,1.773423144,47.86246062,1.792353181,54.71948007,1.801780636 +,,22.35727659,1.328987021,22.46841775,1.709087667,26.52880989,1.708862863,29.00563611,1.788272284,34.84698738,1.792803669,38.2898315,1.792669919,43.1290234,1.763950112,48.10039164,1.782779032,54.99149829,1.792156129 +,,22.46841775,1.321888019,22.58011141,1.699958294,26.66068833,1.69973469,29.1498272,1.773966392,35.02021665,1.783227113,38.48017563,1.778328847,43.45102339,1.754524238,48.33950544,1.773256024,55.26486875,1.782583032 +,,22.58011141,1.314826936,22.69236031,1.690877687,26.79322235,1.690655278,29.29473509,1.764490459,35.19430706,1.773701712,38.67146599,1.764102501,43.77542743,1.745148732,48.57980791,1.763783885,55.40206317,1.773064552 +,,22.63616628,1.307806139,22.80516722,1.681845586,26.92641522,1.681624364,29.5134487,1.755061697,35.36926291,1.764227192,38.86370728,1.754679257,43.88409944,1.735830141,48.82130495,1.754362343,55.6774746,1.763593436 +,,22.74869384,1.300820278,22.86178079,1.672865015,27.06027022,1.672641691,29.73379522,1.736365282,35.54508848,1.754803283,39.05690422,1.745306349,44.10225346,1.726557918,49.06400251,1.744991128,55.81569331,1.754176356 +,,22.80516722,1.293874272,22.97542992,1.663929131,27.19479062,1.663707,29.73379522,1.745683319,35.7217881,1.745429712,39.25106158,1.735983508,44.21173681,1.717338597,49.30790656,1.735669971,56.09316096,1.744806134 +,,22.91853491,1.28696283,23.14696379,1.655037731,27.32997974,1.654820036,29.88160609,1.727090201,35.89936613,1.736106212,39.44618412,1.726710467,44.54182032,1.708161796,49.55302309,1.726398604,56.37200794,1.735485965 +,,23.03246616,1.280088306,23.26203059,1.646197074,27.46584091,1.645980542,30.03015175,1.717864665,36.07782692,1.726832515,39.64227664,1.717486958,44.87436821,1.699034033,49.79935812,1.717176762,56.65224111,1.726215581 +,,23.14696379,1.273250504,23.31977833,1.637406857,27.60237746,1.637188266,30.17943586,1.708688408,36.25717486,1.717608355,39.83934396,1.708312719,45.097445,1.689958363,50.17115864,1.708000826,56.93386735,1.707829813 +,,23.20442587,1.266451713,23.43570422,1.628660378,27.73959275,1.628442956,30.32946207,1.699561167,36.43741437,1.708433467,40.03739093,1.699187486,45.32163073,1.680931172,50.54573501,1.698873923,56.93386735,1.716994716 +,,23.31977833,1.259686753,23.55220639,1.619960621,27.87749016,1.615415673,30.48023408,1.690482682,36.61854987,1.699307589,40.23642242,1.690110996,45.54693092,1.671952202,50.79700495,1.689799109,57.2168936,1.698707159 +,,23.43570422,1.252957929,23.61067448,1.611310498,28.01607308,1.606786664,30.63175561,1.68145269,36.80058583,1.690230458,40.43644333,1.68108299,45.77335111,1.663021194,51.049524,1.680772769,57.50132681,1.689633235 +,,23.49388309,1.246267495,23.72804646,1.602703418,28.22524024,1.593929499,30.78403037,1.672470934,36.9835267,1.681201813,40.63745857,1.672103209,46.00089687,1.654137893,51.30329835,1.671794644,57.78717398,1.680607781 +,,23.61067448,1.239610352,23.84600191,1.594142314,28.36555188,1.585415263,30.9370621,1.663537155,37.16737701,1.672221397,40.83947308,1.663171394,46.22957378,1.645302043,51.55833425,1.662864478,58.07444214,1.671630538 +,,23.72804646,1.232988769,23.96454374,1.58562694,28.43596904,1.576949602,31.09085458,1.654651098,37.35214126,1.663288951,41.04249183,1.65428729,46.45938749,1.636513391,51.81463797,1.653982014,58.36313834,1.662701248 +,,23.84600191,1.226402557,24.08367485,1.577157053,28.57732824,1.568526066,31.24541159,1.645812507,37.537824,1.65440422,41.24651982,1.645450643,46.69034362,1.627771686,52.07221581,1.645146997,58.6532697,1.653819656 +,,23.96454374,1.219851526,24.20339818,1.568732409,28.71939015,1.560147526,31.40073691,1.637021128,37.72442979,1.645566947,41.45156207,1.641046814,46.92244788,1.619076675,52.3310741,1.636359173,58.94484334,1.644985506 +,,24.08367485,1.213335488,24.32371667,1.560352767,28.86215827,1.551813741,31.55683439,1.628276711,37.91196323,1.636776881,41.6576236,1.632280892,47.15570596,1.610428111,52.59121922,1.627618292,59.23786643,1.636198545 +,,24.1434623,1.206856626,24.44463328,1.552017886,29.00563611,1.547660519,31.71370784,1.619579003,38.10042892,1.628033768,41.8647095,1.623561795,47.39012359,1.601825744,52.85265756,1.618924101,59.53234618,1.627458521 +,,24.32371667,1.200407646,24.56615098,1.543727527,29.1498272,1.535279483,31.87136114,1.610927755,38.2898315,1.619337357,42.07282485,1.610573561,47.62570655,1.593269328,53.11539554,1.610276351,59.68013457,1.618768362 +,,24.44463328,1.193995471,24.68827277,1.535481452,29.29473509,1.527078535,32.02979815,1.602322719,38.48017563,1.6106874,42.28197477,1.601970417,47.86246062,1.584758618,53.37943963,1.601674795,59.9768129,1.610121444 +,,24.56615098,1.187617548,24.81100164,1.527279425,29.44036333,1.518921394,32.18902277,1.593763649,38.67146599,1.602083649,42.4921644,1.593413229,48.10039164,1.576293369,53.64479632,1.593119185,60.27496606,1.601520716 +,,24.62713618,1.181276013,24.99623984,1.519118229,29.58671551,1.510807825,32.34903892,1.585250298,38.86370728,1.593525855,42.70339892,1.58490175,48.33950544,1.567873339,53.91147213,1.584609277,60.57460138,1.592965929 +,,24.74956113,1.174966032,25.12049965,1.511003608,29.73379522,1.502737596,32.50985054,1.576782422,39.05690422,1.585013775,42.91568351,1.576435736,48.57980791,1.559498285,54.17947363,1.576144826,61.02684954,1.584453729 +,,24.87259468,1.168689758,25.24537718,1.502932334,29.88160609,1.49871572,32.67146157,1.56835978,39.25106158,1.576547163,43.1290234,1.568014945,48.82130495,1.551167968,54.4488074,1.567725589,61.33022257,1.575990108 +,,24.99623984,1.162447009,25.3708755,1.494904174,30.03015175,1.486726234,32.83387599,1.559982128,39.44618412,1.568125777,43.34342383,1.559639135,49.06400251,1.542882149,54.71948007,1.559351325,61.63510372,1.567571698 +,,25.12049965,1.156237607,25.5602937,1.486915978,30.17943586,1.478784641,32.9970978,1.551649227,39.64227664,1.559749375,43.55889007,1.551308066,49.30790656,1.534640591,54.99149829,1.551021793,61.94150048,1.559198256 +,,25.18286101,1.150063632,25.68735751,1.478973371,30.32946207,1.47088547,33.16113101,1.543360837,39.83934396,1.551417717,43.77542743,1.543021499,49.55302309,1.526443055,55.26486875,1.542736755,62.24942037,1.550869542 +,,25.30804855,1.143920378,25.81505297,1.471073192,30.48023408,1.463028493,33.32597965,1.535116721,39.93824469,1.543133593,43.99304123,1.534779196,49.79935812,1.518289309,55.53959817,1.534495973,62.55887098,1.542585317 +,,25.43385841,1.137809939,26.00778738,1.463212339,30.63175561,1.455213486,33.49164777,1.526916642,40.13678331,1.534890691,44.21173681,1.52658092,50.04691772,1.510179116,55.81569331,1.52629921,62.86985991,1.534345343 +,,25.62374684,1.131729918,26.07235142,1.455399207,30.78403037,1.447440223,33.65813945,1.518760366,40.33630889,1.52669182,44.43151957,1.518426437,50.29570798,1.502112246,56.09316096,1.518146231,63.18239482,1.526149385 +,,25.75112608,1.125684596,26.26700681,1.447622111,30.9370621,1.439708483,33.74169541,1.510650623,40.53682635,1.518536744,44.65239489,1.510315512,50.54573501,1.494088466,56.37200794,1.510036803,63.49648337,1.517997207 +,,25.81505297,1.119673765,26.39758379,1.439889399,31.09085458,1.435855295,33.90943011,1.502581234,40.7383406,1.510425231,44.87436821,1.502247913,50.67121423,1.486110465,56.65224111,1.501970693,63.81213331,1.509888575 +,,25.94338322,1.113692843,26.52880989,1.432197993,31.24541159,1.424368683,34.1625969,1.494552015,40.94085662,1.502357046,45.097445,1.494223409,50.92310795,1.478172161,56.93386735,1.49394767,64.12935238,1.501823257 +,,26.13707574,1.107741695,26.66068833,1.424547672,31.40073691,1.416760184,34.33242397,1.48656862,41.14437936,1.494331958,45.32163073,1.486241768,51.049524,1.470279148,57.2168936,1.485967502,64.4481484,1.493801021 +,,26.26700681,1.10182451,26.79322235,1.416938216,31.55683439,1.409192326,34.50309527,1.478627869,41.34891385,1.486349738,45.54693092,1.478302763,51.30329835,1.46242541,57.50132681,1.478029962,64.76852919,1.485821637 +,,26.39758379,1.095938933,26.92641522,1.409369407,31.71370784,1.401664893,34.58874882,1.470732422,41.55446511,1.478410156,45.77335111,1.470406166,51.68632724,1.454610768,57.78717398,1.470134822,65.09050264,1.477884876 +,,26.52880989,1.090084795,27.06027022,1.401841028,31.87136114,1.394177669,34.84698738,1.462873391,41.76103819,1.470512985,46.00089687,1.462551749,52.07221581,1.446837884,58.07444214,1.462281855,65.41407667,1.469990511 +,,26.66068833,1.084261928,27.19479062,1.394352864,32.02979815,1.38673044,35.02021665,1.455059212,41.96863817,1.462657998,46.22957378,1.454739289,52.2014845,1.439112187,58.36313834,1.454470836,65.73925923,1.462138315 +,,26.79322235,1.078470164,27.32997974,1.386904699,32.18902277,1.379322991,35.19430706,1.447286774,42.17727017,1.45484497,46.45938749,1.446968559,52.59121922,1.431422122,58.6532697,1.446701541,66.06605832,1.454328062 +,,26.92641522,1.072709338,27.46584091,1.379496319,32.34903892,1.37195511,35.36926291,1.439555853,42.3869393,1.447073676,46.69034362,1.439239339,52.92550969,1.419969426,58.94484334,1.438973746,66.39448197,1.446559529 +,,27.12744703,1.06697719,27.60237746,1.372127512,32.50985054,1.364626586,35.54508848,1.431866229,42.59765072,1.439343894,46.92244788,1.431551405,53.11539554,1.416170612,59.23786643,1.431287231,66.72453827,1.442688006 +,,27.26230138,1.061277756,27.80845598,1.364795388,32.67146157,1.357337209,35.63332876,1.424220476,42.70339892,1.431658212,47.15570596,1.423904537,53.37943963,1.408605904,59.53234618,1.423641775,67.05623531,1.43498165 +,,27.39782611,1.055608766,27.94669572,1.357505109,32.83387599,1.350086769,35.81046704,1.416612768,42.91568351,1.424010774,47.39012359,1.416298517,53.64479632,1.401081603,59.82828984,1.416037158,67.55687516,1.423499233 +,,27.53402455,1.049970058,28.08562267,1.350253772,32.9970978,1.342875058,35.9884859,1.409045697,43.1290234,1.416404186,47.62570655,1.408733125,53.91147213,1.393597495,60.12570467,1.408473163,67.89270987,1.415895377 +,,27.67090005,1.04436147,28.22524024,1.343041169,33.16113101,1.33570187,36.25717486,1.401516296,43.34342383,1.40883823,47.86246062,1.401208146,54.17947363,1.386153365,60.42459799,1.400949571,68.06125277,1.408334904 +,,27.73959275,1.038784881,28.29530909,1.335869716,33.32597965,1.328566999,36.43741437,1.394029866,43.55889007,1.401312689,48.10039164,1.393723362,54.4488074,1.378748999,60.72497715,1.393466169,68.39959481,1.400812051 +,,27.94669572,1.033234012,28.43596904,1.328733948,33.49164777,1.321470239,36.61854987,1.386583426,43.77542743,1.393827347,48.33950544,1.386278559,54.71948007,1.371384184,61.02684954,1.38602274,68.7396188,1.400806551 +,,28.08562267,1.027714823,28.57732824,1.321636297,33.65813945,1.314411389,36.70945501,1.379179471,43.99304123,1.386381989,48.57980791,1.378873524,54.99149829,1.36405871,61.33022257,1.378619071,69.0813331,1.393323912 +,,28.22524024,1.022225115,28.71939015,1.31457656,33.82545879,1.307390244,36.80058583,1.37181505,44.21173681,1.378976401,48.82130495,1.371508044,55.26486875,1.356772366,61.63510372,1.371254951,69.25282673,1.385883964 +,,28.36555188,1.016764731,28.86215827,1.307554533,33.9936099,1.300406604,36.9835267,1.364487274,44.43151957,1.371610372,49.06400251,1.364181908,55.40206317,1.349527592,61.94150048,1.363930167,69.4247461,1.378483743 +,,28.50656102,1.011333515,29.00563611,1.300570015,34.1625969,1.29000356,37.16737701,1.357198641,44.65239489,1.364283689,49.30790656,1.356894906,55.6774746,1.342318869,62.24942037,1.356644509,69.76986626,1.371120345 +,,28.57732824,1.005933285,29.07764228,1.293625346,34.3797478,1.283111394,37.35214126,1.349948941,44.98576833,1.356993479,49.55302309,1.349646829,55.81569331,1.335151273,62.55887098,1.349397769,70.11670207,1.363796281 +,,28.71939015,1.000559927,29.22219132,1.286715233,34.50309527,1.279678713,37.537824,1.342737966,45.32163073,1.349742225,49.79935812,1.342437468,56.09316096,1.328019343,62.86985991,1.342189739,70.56239139,1.360144778 +,,28.86215827,0.995215272,29.36745894,1.279842032,34.674615,1.272843099,37.72442979,1.335565511,45.54693092,1.342532355,50.04691772,1.335266617,56.37200794,1.320925509,63.18239482,1.335020212,70.81555475,1.356506012 +,,29.00563611,0.989899166,29.5134487,1.273005545,34.84698738,1.266043998,37.91196323,1.328431368,45.77335111,1.335360997,50.29570798,1.328134071,56.65224111,1.313869568,63.49648337,1.327888982,70.99135357,1.349262661 +,,29.1498272,0.984611456,29.6601642,1.266205577,35.02021665,1.255915849,38.10042892,1.321335333,46.00089687,1.328227947,50.54573501,1.321039624,56.93386735,1.306851317,63.81213331,1.320795844,71.34426156,1.342055352 +,,29.29473509,0.979351992,29.80760904,1.259441931,35.24281892,1.249205805,38.2898315,1.314277203,46.22957378,1.321132999,50.79700495,1.313983074,57.2168936,1.299870556,64.12935238,1.313740596,71.6989239,1.334886543 +,,29.36745894,0.974122535,29.88160609,1.252716874,35.36926291,1.245863831,38.48017563,1.307256775,46.45938749,1.314075949,51.049524,1.306964217,57.50132681,1.292927083,64.4481484,1.306723034,72.23422592,1.32775342 +,,29.5134487,0.968919099,30.03015175,1.246025281,35.54508848,1.239208844,38.67146599,1.300273848,46.69034362,1.307056596,51.30329835,1.299982852,57.78717398,1.286020701,64.76852919,1.299742958,72.5933124,1.317131605 +,,,,30.17943586,1.239369432,35.7217881,1.232589406,38.86370728,1.293328221,46.80625188,1.300077291,51.55833425,1.289583198,58.07444214,1.279151209,65.09050264,1.292800167,72.95418395,1.31009593 +,,,,30.32946207,1.232749136,35.89936613,1.226005327,38.960186,1.286422221,47.03893233,1.293132714,51.88605929,1.282693278,58.36313834,1.272318413,65.41407667,1.285894462,73.41790943,1.303096416 +,,,,30.40475462,1.226166611,36.07782692,1.219456418,39.05690422,1.279553097,47.15570596,1.286227758,52.07221581,1.279261716,58.6532697,1.265522114,65.73925923,1.279025645,73.68131779,1.299610269 +,,,,30.55590092,1.21961684,36.25717486,1.212942491,39.25106158,1.276128544,47.50776904,1.279354649,52.3310741,1.272428329,58.94484334,1.25876212,66.06605832,1.272193519,73.86423084,1.292670725 +,,,,30.7077986,1.213102056,36.43741437,1.206463359,39.50055676,1.269310509,47.74393683,1.272520766,52.59121922,1.265631444,59.23786643,1.252038235,66.39448197,1.265397888,74.04759797,1.285768236 +,,,,30.86045138,1.206622072,36.61854987,1.200018836,39.64227664,1.265914749,47.98127865,1.265723387,52.85265756,1.255506595,59.53234618,1.245350267,66.72453827,1.258638557,74.41569898,1.285763187 +,,,,31.01386301,1.200176702,36.80058583,1.193608738,39.83934396,1.252431604,48.21980032,1.258962317,53.18860983,1.248798738,59.82828984,1.238698023,67.05623531,1.251915332,74.78562987,1.278895072 +,,,,31.09085458,1.193768104,36.9835267,1.187232881,39.83934396,1.259152657,48.57980791,1.252234904,53.37943963,1.245457853,60.12570467,1.232081314,67.38958128,1.24522802,75.15739973,1.272063643 +,,,,31.16803728,1.187393726,37.16737701,1.180891081,40.03739093,1.245741535,48.82130495,1.245545885,53.64479632,1.238805035,60.42459799,1.225499949,67.72458435,1.23857643,75.53101772,1.261887338 +,,,,31.32297797,1.181051067,37.35214126,1.174583157,40.23642242,1.239087201,48.9425033,1.238895029,53.91147213,1.232187754,60.72497715,1.218953739,68.06125277,1.23196037,76.01112257,1.25514539 +,,,,31.47868889,1.174742289,37.537824,1.168308928,40.43644333,1.23577095,49.18580335,1.232277268,54.17947363,1.22560582,61.02684954,1.212442497,68.39959481,1.225379651,76.28383485,1.251787526 +,,,,31.63517388,1.16846721,37.72442979,1.162068213,40.69347326,1.229168535,49.43031289,1.225694856,54.4488074,1.219059045,61.33022257,1.205966036,68.7396188,1.218834084,76.66305251,1.245100897 +,,,,31.79243677,1.16222565,37.91196323,1.155860835,40.83947308,1.225880167,49.79935812,1.219145211,54.71948007,1.212547241,61.63510372,1.19952417,69.0813331,1.212323481,76.85336768,1.238452417 +,,,,31.87136114,1.1560197,38.03750315,1.148663044,41.04249183,1.219331926,49.92298447,1.212635327,54.99149829,1.20607022,61.94150048,1.193116714,69.4247461,1.205847656,77.0441553,1.231839438 +,,,,32.02979815,1.14984463,38.10042892,1.143549864,41.24651982,1.212818664,50.17115864,1.206157836,55.26486875,1.199627797,62.24942037,1.186743485,69.76986626,1.199406422,77.42715262,1.231834601 +,,,,32.18902277,1.143702546,38.2898315,1.137441404,41.45156207,1.206340193,50.42056651,1.199714946,55.53959817,1.196417154,62.55887098,1.180404299,70.11670207,1.192999595,77.81205387,1.225254554 +,,,,32.34903892,1.137593271,38.48017563,1.131365574,41.6576236,1.199896329,50.67121423,1.193306471,55.81569331,1.186846008,62.86985991,1.174098975,70.46526204,1.186626992,78.19886851,1.218709655 +,,,,32.59055588,1.131514407,38.67146599,1.125322198,41.8647095,1.193486885,50.92310795,1.186932228,56.09316096,1.180506275,63.18239482,1.167827332,70.81555475,1.180288428,78.58760607,1.212199717 +,,,,32.75256811,1.125470237,38.86370728,1.113336492,42.07282485,1.187111678,51.17625387,1.180592034,56.37200794,1.174200406,63.49648337,1.164701798,71.16758882,1.173983723,78.97827609,1.205724553 +,,,,32.91538572,1.119458353,38.86370728,1.119311105,42.28197477,1.180770526,51.43065821,1.174285708,56.73033059,1.171056538,63.81213331,1.155384371,71.52137289,1.167712696,79.37088819,1.199283977 +,,,,32.9970978,1.113480768,39.05690422,1.107389422,42.4921644,1.174463246,51.68632724,1.168013067,56.93386735,1.167923636,64.12935238,1.149212695,71.87691568,1.161475167,79.76545202,1.192877804 +,,,,33.24345314,1.107530752,39.25106158,1.101474119,42.70339892,1.168189657,51.94326723,1.161773933,57.2168936,1.161684979,64.4481484,1.143073986,72.23422592,1.155270956,80.16197728,1.186505851 +,,,,33.40871102,1.101614695,39.44618412,1.095590414,42.91568351,1.16194958,52.2014845,1.155568126,57.50132681,1.155479648,64.76852919,1.136968068,72.5933124,1.149099886,80.56047373,1.180167935 +,,,,33.57479041,1.095730238,39.64227664,1.089738137,43.1290234,1.155742835,52.46098541,1.149395469,57.86682785,1.146234746,65.09050264,1.130894766,72.95418395,1.14296178,80.96095115,1.173863873 +,,,,33.74169541,1.089877215,39.83934396,1.083917122,43.34342383,1.149569244,52.72177634,1.143255784,58.07444214,1.143168248,65.41407667,1.124853906,73.31684944,1.136856461,81.36341941,1.167593486 +,,,,33.90943011,1.084055457,40.03739093,1.0781272,43.55889007,1.143428631,52.98386369,1.137148895,58.36313834,1.137061827,65.73925923,1.118845314,73.68131779,1.130783756,81.76788839,1.161356594 +,,,,34.07799865,1.078264796,40.23642242,1.072368206,43.77542743,1.137320819,53.24725392,1.131074627,58.6532697,1.130988024,66.06605832,1.112868817,74.04759797,1.124743488,82.17436805,1.155153016 +,,,,34.24740517,1.072505067,40.43644333,1.069498156,43.99304123,1.131245633,53.37943963,1.125035015,58.94484334,1.124946665,66.39448197,1.106924245,74.41569898,1.118735486,82.58286837,1.148982576 +,,,,34.41765383,1.066776105,40.69347326,1.063784095,44.21173681,1.125202898,53.64479632,1.119025455,59.23786643,1.115947272,66.89018119,1.101009266,74.78562987,1.112759576,82.9933994,1.142845097 +,,,,34.58874882,1.061077745,40.83947308,1.060938176,44.43151957,1.119192441,53.91147213,1.113047997,59.53234618,1.107019873,67.22270167,1.095128044,75.15739973,1.106815587,83.19942959,1.136742633 +,,,,34.76069435,1.0497763,41.04249183,1.055271,44.65239489,1.113214091,54.17947363,1.107102467,59.82828984,1.101106544,67.55687516,1.089278237,75.53101772,1.10090335,83.82059404,1.130668316 +,,,,34.76069435,1.055409823,41.24651982,1.049634096,44.87436821,1.107267675,54.4488074,1.101188697,60.12570467,1.101102221,67.89270987,1.083459678,75.90649302,1.095022693,84.23727798,1.124628665 +,,,,34.93349464,1.044168747,41.45156207,1.044027303,45.097445,1.101353022,54.71948007,1.095306517,60.42459799,1.095220502,68.23021407,1.0776722,76.28383485,1.08917345,84.65603332,1.118621276 +,,,,35.10715395,1.038591148,41.6576236,1.041233103,45.32163073,1.095469964,54.99149829,1.089455757,60.57460138,1.08937234,68.7396188,1.071913532,76.66305251,1.08335545,85.07687035,1.112645976 +,,,,35.36926291,1.033041314,41.8647095,1.035671185,45.54693092,1.089618331,55.26486875,1.08363625,61.02684954,1.083551151,69.0813331,1.066187729,77.0441553,1.077568529,85.49979942,1.106702595 +,,,,35.54508848,1.027523154,42.07282485,1.030138977,45.77335111,1.083797955,55.53959817,1.077847828,61.33022257,1.074882916,69.4247461,1.060492512,77.42715262,1.071812519,85.92483093,1.100790961 +,,,,35.7217881,1.02203447,42.28197477,1.02463632,46.00089687,1.07800867,55.81569331,1.072090327,61.63510372,1.069141252,69.76986626,1.054827717,77.81205387,1.066087256,86.35197532,1.094910904 +,,,,35.89936613,1.016575105,42.4921644,1.019163057,46.22957378,1.072250309,56.09316096,1.06636358,61.94150048,1.060588293,70.11670207,1.049193181,78.19886851,1.060392576,86.78124312,1.089062258 +,,,,35.9884859,1.011146887,42.70339892,1.01371903,46.45938749,1.066522708,56.37200794,1.060667423,62.24942037,1.054922986,70.46526204,1.043588743,78.58760607,1.054728314,87.21264486,1.083244852 +,,,,36.25717486,1.005743705,42.91568351,1.008304083,46.69034362,1.060825701,56.65224111,1.055001694,62.55887098,1.052099626,70.81555475,1.038014242,78.97827609,1.049094309,87.64619117,1.077458522 +,,,,36.34718289,1.000373323,43.1290234,1.00291806,46.92244788,1.055159126,56.93386735,1.049366228,62.86985991,1.046479662,71.16758882,1.032469518,79.37088819,1.0434904,88.08189269,1.0717031 +,,,,36.61854987,0.995027711,43.34342383,0.997560809,47.15570596,1.04952282,57.2168936,1.043760866,63.18239482,1.038107993,71.52137289,1.026954412,79.76545202,1.037916424,88.51976015,1.065978421 +,,,,36.80058583,0.989712607,43.55889007,0.989580482,47.39012359,1.043916621,57.50132681,1.038185446,63.49648337,1.032562768,71.87691568,1.021468766,80.16197728,1.032372222,88.9598043,1.060284322 +,,,,36.9835267,0.984425894,43.77542743,0.984294475,47.62570655,1.038340369,57.78717398,1.032639807,63.81213331,1.027047164,72.23422592,1.016012423,80.56047373,1.026857636,89.40203598,1.054620639 +,,,,37.16737701,0.979167421,43.99304123,0.979036704,47.86246062,1.032793903,58.07444214,1.027123792,64.12935238,1.021561023,72.5933124,1.010585225,80.96095115,1.021372507,89.84646606,1.048987209 +,,,,37.35214126,0.973937037,44.21173681,0.973807018,48.10039164,1.027277064,58.36313834,1.021637241,64.4481484,1.018826951,72.95418395,1.005187018,81.36341941,1.015916678,90.29310546,1.043383871 +,,,,37.44486753,0.968736494,44.43151957,0.968605268,48.33950544,1.021789694,58.79887579,1.016178002,64.76852919,1.013384719,73.31684944,0.999817646,81.76788839,1.010489992,90.74196516,1.037810465 +,,,,37.63101123,0.963561829,44.65239489,0.963431304,48.57980791,1.016331637,59.09117325,1.01074992,65.09050264,1.007971558,73.68131779,0.994476955,82.17436805,1.005092293,91.19305621,1.032266829 +,,,,,,,,48.82130495,1.010902734,59.38492377,1.005350833,65.41407667,0.999907947,74.04759797,0.989164793,82.58286837,0.999723427,91.6463897,1.026752806 +,,,,,,,,49.06400251,1.005502831,59.68013457,0.999980586,65.73925923,0.994566774,74.41569898,0.983881007,82.9933994,0.99438324,92.10197677,1.021268237 +,,,,,,,,49.30790656,1.000131772,59.9768129,0.994639026,66.06605832,0.989254132,74.78562987,0.978625444,83.40597125,0.989071578,92.55982863,1.015812965 +,,,,,,,,49.55302309,0.994789403,60.42459799,0.989324055,66.39448197,0.983969868,75.15739973,0.973397955,83.82059404,0.98378829,93.01995653,1.010386833 +,,,,,,,,49.79935812,0.989475572,60.72497715,0.984039418,66.72453827,0.978713831,75.53101772,0.96819839,84.23727798,0.978533223,93.4823718,1.004989685 +,,,,,,,,50.04691772,0.984190125,60.87572622,0.978784931,67.05623531,0.97348587,,,84.65603332,0.973306227,93.9470858,0.999621367 +,,,,,,,,50.29570798,0.978932912,61.02684954,0.973558502,67.38958128,0.968285835,,,85.07687035,0.968107151,94.41410995,0.994281725 +,,,,,,,,50.54573501,0.973703781,61.38093117,0.96641588,67.72458435,0.963113577,,,85.49979942,0.962935848,94.88345575,0.988970606 +,,,,,,,,50.79700495,0.968502582,,,67.89270987,0.957970828,,,,,95.35513473,0.983687857 +,,,,,,,,51.049524,0.963329166,,,,,,,,,95.82915849,0.978433326 +,,,,,,,,,,,,,,,,,,96.3055387,0.973206863 +,,,,,,,,,,,,,,,,,,96.78428705,0.968008319 +,,,,,,,,,,,,,,,,,,97.26541533,0.962837543 \ No newline at end of file diff --git a/Assignments/A2/A2Soln/src/input b/Assignments/A2/A2Soln/src/input new file mode 100644 index 00000000..aba70b22 --- /dev/null +++ b/Assignments/A2/A2Soln/src/input @@ -0,0 +1,7 @@ +1,2,3 +1,2,2 +1,1,1,5,1,10 +2,2,1.5,7,2,40 +3,3,2,20,3,100 +,,2.5,40,, +,,3,78,, \ No newline at end of file diff --git a/Assignments/A2/A2Soln/src/test_All.py b/Assignments/A2/A2Soln/src/test_All.py new file mode 100644 index 00000000..e4d87189 --- /dev/null +++ b/Assignments/A2/A2Soln/src/test_All.py @@ -0,0 +1,228 @@ +from CurveADT import * +import Data +import Load +import Plot +import Exceptions +import SeqServices + +from pytest import * + +class TestCurveADT: + def test_minD(self): + curve = CurveT([0, 50, 99], [1, 2, 3], 1) + assert curve.minD() == 0 + + def test_maxD(self): + curve = CurveT([0, 50, 99], [1, 2, 3], 1) + assert curve.maxD() == 99 + + def test_order(self): + curve = CurveT([0, 50, 99], [1, 2, 3], 1) + assert curve.order() == 1 + + def test_raises_indepVarNotAscending(self): + with raises(Exceptions.IndepVarNotAscending): + CurveT([ 0, -1 ], [ 0, 0 ], 1) + + def test_raises_SeqSizeMismatch(self): + with raises(Exceptions.SeqSizeMismatch): + CurveT([ 0 ], [ 0, 0 ], 1) + + def test_raises_OutOfDomain_eval_below(self): + curve = CurveT([ 0, 1, 2 ], [ 0, 0, 0 ], 1) + with raises(Exceptions.OutOfDomain): + curve.eval(-1) + + def test_raises_OutOfDomain_eval_above(self): + curve = CurveT([ 0, 1, 2 ], [ 0, 0, 0 ], 1) + with raises(Exceptions.OutOfDomain): + curve.eval(3) + + def test_raises_OutOfDomain_dfdx_below(self): + curve = CurveT([ 0, 1, 2 ], [ 0, 0, 0 ], 1) + with raises(Exceptions.OutOfDomain): + curve.dfdx(-1) + + def test_raises_OutOfDomain_dfdx_above(self): + curve = CurveT([ 0, 1, 2 ], [ 0, 0, 0 ], 1) + with raises(Exceptions.OutOfDomain): + curve.dfdx(3) + + def test_raises_OutOfDomain_d2fdx2_below(self): + curve = CurveT([ 0, 1, 2 ], [ 0, 0, 0 ], 1) + with raises(Exceptions.OutOfDomain): + curve.d2fdx2(-1) + + def test_raises_OutOfDomain_d2fdx2_above(self): + curve = CurveT([ 0, 1, 2 ], [ 0, 0, 0 ], 1) + with raises(Exceptions.OutOfDomain): + curve.d2fdx2(3) + + def test_eval_linear(self): + curve = CurveT([0, 1, 3], [0, 1, 3], 1) + assert curve.eval(2) == approx(2, 0.1) + + def test_eval_quadratic(self): + curve = CurveT([0, 1, 2], [1, 0, 1], 2) + assert curve.eval(0.5) == approx(1.25, 0.1) + + def test_dfdx(self): + curve = CurveT([0, 1], [0, 1000], 1) + assert curve.dfdx(0) == approx(1, 0.0001) + + def test_dfdx_2(self): + curve = CurveT([0, 1], [0, 1], 1) + assert curve.dfdx(0) == approx(0.001, 0.0001) + + def test_d2fdx2(self): + curve = CurveT([0, 1], [0, 1], 1) + assert curve.d2fdx2(0) == approx(0, 0.0001) + + def test_d2fdx2_2(self): + curve = CurveT([0, 1], [0, 1000], 1) + assert curve.d2fdx2(0) == approx(0, 0.0001) + +class TestData: + def test_constructor_S(self): + Data.Data.init() + assert Data.Data.S == [] + + def test_constructor_Z(self): + Data.Data.init() + assert Data.Data.Z == [] + + def test_constructor_MAX(self): + Data.Data.init() + assert Data.Data.MAX_SIZE == 10 + + def test_add(self): + Data.Data.init() + test_curve_a = CurveT([0,1,2], [0,1,2], 1) + test_curve_b = CurveT([0,1,2], [0,1,2], 1) + Data.Data.add(test_curve_a, 0) + Data.Data.add(test_curve_b, 1) + assert Data.Data.S[0] == test_curve_a + assert Data.Data.S[1] == test_curve_b + + def test_add_full_exception(self): + Data.Data.init() + test_curve_a = CurveT([0,1,2], [0,1,2], 1) + with raises(Full): + for x in range(11): + Data.Data.add(test_curve_a, x) + + def test_getC(self): + Data.Data.init() + test_curve_a = CurveT([0,1,2], [0,1,2], 1) + test_curve_b = CurveT([0,1,2], [0,1,2], 1) + Data.Data.add(test_curve_a, 0) + Data.Data.add(test_curve_b, 1) + assert Data.Data.getC(0) == test_curve_a + assert Data.Data.getC(1) == test_curve_b + + def test_getC_empty(self): + Data.Data.init() + with raises(InvalidIndex): + Data.Data.getC(0) + + def test_getC_invalid_index_below(self): + Data.Data.init() + test_curve_a = CurveT([0,1,2], [0,1,2], 1) + test_curve_b = CurveT([0,1,2], [0,1,2], 1) + Data.Data.add(test_curve_a, 0) + Data.Data.add(test_curve_b, 1) + with raises(InvalidIndex): + Data.Data.getC(-1) + + def test_getC_invalid_index_above(self): + Data.Data.init() + test_curve_a = CurveT([0,1,2], [0,1,2], 1) + test_curve_b = CurveT([0,1,2], [0,1,2], 1) + Data.Data.add(test_curve_a, 0) + Data.Data.add(test_curve_b, 1) + with raises(InvalidIndex): + Data.Data.getC(2) + + def test_add_IndepVarNotAscending_exception(self): + Data.Data.init() + test_curve_a = CurveT([-1], [-1], 1) + Data.Data.add(test_curve_a, 3) + with raises(IndepVarNotAscending): + Data.Data.add(test_curve_a, 1) + + def test_eval(self): + Data.Data.init() + test_curve_a = CurveT([0,1,2,3], [0,1,2,3], 1) + test_curve_b = CurveT([0,1,2,3], [1,2,3,4], 1) + Data.Data.add(test_curve_a, 0) + Data.Data.add(test_curve_b, 1) + assert Data.Data.eval(1, 0) == approx(1, 0.005) + + def test_eval_OutOfDomain_exception(self): + Data.Data.init() + test_curve_a = CurveT([0,1,2,3], [0,1,2,3], 1) + test_curve_b = CurveT([0,1,2,3], [1,2,3,4], 1) + Data.Data.add(test_curve_a, 0) + Data.Data.add(test_curve_b, 1) + with raises(OutOfDomain): + Data.Data.eval(0, 4) + + def test_slice(self): + Data.Data.init() + test_curve_a = CurveT([0,1,2,3], [0,1,2,3], 1) + test_curve_b = CurveT([0,1,2,3], [1,2,3,4], 1) + Data.Data.add(test_curve_a, 0) + Data.Data.add(test_curve_b, 1) + new_curve = Data.Data.slice(1, 1) + assert new_curve.minD() == 0 + assert new_curve.maxD() == 1 + assert new_curve.order() == 1 + +class TestSeqServices: + def test_index(self): + assert SeqServices.index([1,2,3,4,5,6], 3.5) == 2 + assert SeqServices.index([1,2], 1.5) == 0 + + def test_is_ascending_empty(self): + assert SeqServices.isAscending([]) + + def test_isAscending_unit(self): + assert SeqServices.isAscending([ 1 ]) + + def test_isAscending_two(self): + assert SeqServices.isAscending([ 1, 2 ]) + + def test_isAscending_repeat(self): + assert SeqServices.isAscending([ 0, 0, 0 ]) + + def test_isAscending_descending(self): + assert not SeqServices.isAscending([ 2, 1, 0 ]) + + def test_isInBounds(self): + assert SeqServices.isInBounds([ 1, 2 ], 1.5) + assert SeqServices.isInBounds([ 1, 2 ], 2) + assert SeqServices.isInBounds([ 1 ], 1) + + def test_isInBounds_below(self): + assert not SeqServices.isInBounds([ 1, 2 ], 0.9999) + + def test_isInBounds_In(self): + assert SeqServices.isInBounds([ 1, 2 ], 1.000) + assert SeqServices.isInBounds([ 1, 2 ], 1.00001) + assert SeqServices.isInBounds([ 1, 2 ], 1.9999) + assert SeqServices.isInBounds([ 1, 2 ], 1.5) + + def test_isInBounds_above(self): + assert not SeqServices.isInBounds([ 1, 2 ], 2.0001) + + def test_isInBounds_negative(self): + assert not SeqServices.isInBounds([ 1, 2 ], -1) + assert not SeqServices.isInBounds([ 1, 2 ], -2) + + def test_interpLin(self): + assert SeqServices.interpLin(0, 1, 1, 2, 0.5) == 1.5 + + def test_interpQuad(self): + # -3.5 + 2.875x + 1.01786x^2 + assert SeqServices.interpQuad(0, -3.5, 1, 0.39286, 2, 6.32144, 3) == approx(14.2857, 0.0001) + \ No newline at end of file -- GitLab