From bcd71290ac07f20eb17b788f96cc2c14b275cb23 Mon Sep 17 00:00:00 2001 From: Etienne Rebetez Date: Thu, 23 Dec 2010 18:17:11 +0000 Subject: [PATCH] moving libscience to kalzium. kalzium can be build alone. kalzium is git ready;) svn path=/trunk/KDE/kdeedu/libkdeedu/; revision=1208940 --- CMakeLists.txt | 1 - libscience/CMakeLists.txt | 40 - libscience/Mainpage.dox | 21 - libscience/chemicaldataobject.cpp | 345 - libscience/chemicaldataobject.h | 255 - libscience/data/CMakeLists.txt | 9 - libscience/data/elements.xml | 2640 ---- libscience/data/isotopes.xml | 16373 -------------------- libscience/data/spectra.xml | 977 -- libscience/data/symbols.csv | 3 - libscience/data/symbols2.csv | 2 - libscience/element.cpp | 59 - libscience/element.h | 86 - libscience/elementparser.cpp | 375 - libscience/elementparser.h | 47 - libscience/isotope.cpp | 188 - libscience/isotope.h | 232 - libscience/isotopeparser.cpp | 286 - libscience/isotopeparser.h | 48 - libscience/libkdeedu_science_export.h | 40 - libscience/moleculeparser.cpp | 494 - libscience/moleculeparser.h | 256 - libscience/parser.cpp | 219 - libscience/parser.h | 136 - libscience/psetables.cpp | 413 - libscience/psetables.h | 230 - libscience/spectrum.cpp | 115 - libscience/spectrum.h | 141 - libscience/spectrumparser.cpp | 129 - libscience/spectrumparser.h | 54 - libscience/tempunit.cpp | 134 - libscience/tempunit.h | 103 - libscience/tests/CMakeLists.txt | 28 - libscience/tests/isotopereadingtest.cpp | 65 - libscience/tests/spectrumreadingtests.cpp | 59 - libscience/tests/xmlreadingtest.cpp | 64 - 36 files changed, 24667 deletions(-) delete mode 100644 libscience/CMakeLists.txt delete mode 100644 libscience/Mainpage.dox delete mode 100644 libscience/chemicaldataobject.cpp delete mode 100644 libscience/chemicaldataobject.h delete mode 100644 libscience/data/CMakeLists.txt delete mode 100644 libscience/data/elements.xml delete mode 100644 libscience/data/isotopes.xml delete mode 100644 libscience/data/spectra.xml delete mode 100644 libscience/data/symbols.csv delete mode 100644 libscience/data/symbols2.csv delete mode 100644 libscience/element.cpp delete mode 100644 libscience/element.h delete mode 100644 libscience/elementparser.cpp delete mode 100644 libscience/elementparser.h delete mode 100644 libscience/isotope.cpp delete mode 100644 libscience/isotope.h delete mode 100644 libscience/isotopeparser.cpp delete mode 100644 libscience/isotopeparser.h delete mode 100644 libscience/libkdeedu_science_export.h delete mode 100644 libscience/moleculeparser.cpp delete mode 100644 libscience/moleculeparser.h delete mode 100644 libscience/parser.cpp delete mode 100644 libscience/parser.h delete mode 100644 libscience/psetables.cpp delete mode 100644 libscience/psetables.h delete mode 100644 libscience/spectrum.cpp delete mode 100644 libscience/spectrum.h delete mode 100644 libscience/spectrumparser.cpp delete mode 100644 libscience/spectrumparser.h delete mode 100644 libscience/tempunit.cpp delete mode 100644 libscience/tempunit.h delete mode 100644 libscience/tests/CMakeLists.txt delete mode 100644 libscience/tests/isotopereadingtest.cpp delete mode 100644 libscience/tests/spectrumreadingtests.cpp delete mode 100644 libscience/tests/xmlreadingtest.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 340cc17..c150f88 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,7 +4,6 @@ project(libkdeedu) add_subdirectory(keduvocdocument) add_subdirectory(kdeeduui) -add_subdirectory(libscience) #add_subdirectory(widgets) add_subdirectory(qtmmlwidget) add_subdirectory(icons) diff --git a/libscience/CMakeLists.txt b/libscience/CMakeLists.txt deleted file mode 100644 index 885b2e0..0000000 --- a/libscience/CMakeLists.txt +++ /dev/null @@ -1,40 +0,0 @@ -add_subdirectory(data) -add_subdirectory(tests) - -set(science_LIB_SRCS - element.cpp - spectrum.cpp - isotope.cpp - spectrumparser.cpp - elementparser.cpp - isotopeparser.cpp - tempunit.cpp - chemicaldataobject.cpp - moleculeparser.cpp - parser.cpp - psetables.cpp -) - - -kde4_add_library(science SHARED ${science_LIB_SRCS}) - -target_link_libraries(science ${KDE4_KDECORE_LIBS} ${QT_QTXML_LIBRARY} ) - -set_target_properties(science PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} ) -install(TARGETS science ${INSTALL_TARGETS_DEFAULT_ARGS}) - -install(FILES - chemicaldataobject.h - element.h - elementparser.h - isotope.h - isotopeparser.h - libkdeedu_science_export.h - moleculeparser.h - parser.h - spectrum.h - spectrumparser.h - tempunit.h - psetables.h - DESTINATION ${INCLUDE_INSTALL_DIR}/libkdeedu COMPONENT Devel -) diff --git a/libscience/Mainpage.dox b/libscience/Mainpage.dox deleted file mode 100644 index 1cd7bee..0000000 --- a/libscience/Mainpage.dox +++ /dev/null @@ -1,21 +0,0 @@ -/** @mainpage libscience - -libscience is a library that provides classes for chemical data. - -This library is mainly used by kalzium. - -Element classes: - - Element - - Isotope - - Spectrum - -Molecule classes: - - MoleculeParser - -Others: - - ChemicalDataObject is used to store date from the BODB - - pseTables porvides the scheme of periodic systems of elements - - TempUnit to work with different temperature units - - -*/ diff --git a/libscience/chemicaldataobject.cpp b/libscience/chemicaldataobject.cpp deleted file mode 100644 index 799debf..0000000 --- a/libscience/chemicaldataobject.cpp +++ /dev/null @@ -1,345 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2005 by Carsten Niehaus * - * cniehaus@kde.org * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * - ***************************************************************************/ - -#include "chemicaldataobject.h" -#include - -#include - -class ChemicalDataObjectPrivate : public QSharedData -{ - public: - ChemicalDataObjectPrivate(); - ~ChemicalDataObjectPrivate(); - - QVariant m_value; - QVariant m_errorValue; - ChemicalDataObject::BlueObelisk m_type; - ChemicalDataObject::BlueObeliskUnit m_unit; -}; - -//######################## -ChemicalDataObjectPrivate::ChemicalDataObjectPrivate() -: QSharedData() -{ -} - -ChemicalDataObjectPrivate::~ChemicalDataObjectPrivate() -{ -} -//############## - -ChemicalDataObject::ChemicalDataObject( const QVariant& v, BlueObelisk type, const QVariant& errorValue ) - : d(new ChemicalDataObjectPrivate) -{ - d->m_value = v; - d->m_errorValue = errorValue; - d->m_type = type; - d->m_unit = ChemicalDataObject::noUnit; -} - -ChemicalDataObject::ChemicalDataObject() - : d(new ChemicalDataObjectPrivate) -{ - d->m_errorValue = QVariant(); - d->m_unit = ChemicalDataObject::noUnit; -} - -ChemicalDataObject::ChemicalDataObject(const ChemicalDataObject &other) - : d(other.d) -{ -} - -ChemicalDataObject::~ChemicalDataObject() -{ -} - -ChemicalDataObject& ChemicalDataObject::operator=(const ChemicalDataObject &other) -{ - d = other.d; - return *this; -} - -bool ChemicalDataObject::operator==( const int v ) const -{ - if ( d->m_value.type() != QVariant::Int ) - return false; - - return d->m_value.toInt() == v; -} - -bool ChemicalDataObject::operator==( const bool v ) const -{ - if ( d->m_value.type() != QVariant::Bool ) - return false; - - return d->m_value.toBool() == v; -} - -bool ChemicalDataObject::operator==( const double v ) const -{ - if ( d->m_value.type() != QVariant::Double ) - return false; - - return d->m_value.toDouble() == v; -} - -bool ChemicalDataObject::operator==( const QString& v ) const -{ - if ( d->m_value.type() != QVariant::String ) - return false; - - return d->m_value.toString() == v; -} - -bool ChemicalDataObject::operator==(const ChemicalDataObject &other) const -{ - return d == other.d; -} - -bool ChemicalDataObject::operator!=(const ChemicalDataObject &other) const -{ - return d != other.d; -} - -QString ChemicalDataObject::valueAsString() const -{ - return d->m_value.toString(); -} - -ChemicalDataObject::BlueObelisk ChemicalDataObject::type() const -{ - return d->m_type; -} - -QVariant ChemicalDataObject::value() const -{ - return d->m_value; -} - -QVariant ChemicalDataObject::errorValue() const -{ - return d->m_errorValue; -} - -void ChemicalDataObject::setUnit( ChemicalDataObject::BlueObeliskUnit unit ) -{ - d->m_unit = unit; -} - -ChemicalDataObject::BlueObeliskUnit ChemicalDataObject::unit() const -{ - return d->m_unit; -} - -void ChemicalDataObject::setData( const QVariant& v ) -{ - d->m_value = v; -} - -void ChemicalDataObject::setErrorValue( const QVariant& v ) -{ - d->m_errorValue = v; -} - -void ChemicalDataObject::setType( BlueObelisk type ) -{ - d->m_type = type; -} - -void ChemicalDataObject::setType( int type ) -{ - d->m_type = ( ChemicalDataObject::BlueObelisk ) type; -} - -QString ChemicalDataObject::dictRef() const -{ - QString botype; - switch ( d->m_type ){ - case atomicNumber: - botype = "atomicNumber"; - break; - case symbol: - botype = "symbol"; - break; - case name: - botype = "name"; - break; - case mass: - botype = "mass"; - break; - case exactMass: - botype = "exactMass"; - break; - case spin: - botype = "spin"; - break; - case magneticMoment: - botype = "magneticMoment"; - break; - case halfLife: - botype = "halfLife"; - break; - case alphaDecay: - botype = "alphaDecay"; - break; - case alphaDecayLikeliness: - botype = "alphaDecayLikeliness"; - break; - case betaminusDecayLikeliness: - botype = "betaminusDecayLikeliness"; - break; - case betaminusDecay: - botype = "betaminusDecay"; - break; - case betaplusDecayLikeliness: - botype = "betaplusDecayLikeliness"; - break; - case betaplusDecay: - botype = "betaplusDecay"; - break; - case ecDecayLikeliness: - botype = "ecDecayLikeliness"; - break; - case ecDecay: - botype = "ecDecay"; - break; - case ionization: - botype = "ionization"; - break; - case electronAffinity: - botype = "electronAffinity"; - break; - case electronegativityPauling: - botype = "electronegativityPauling"; - break; - case radiusCovalent: - botype = "radiusCovalent"; - break; - case radiusVDW: - botype = "radiusVDW"; - break; - case meltingpoint: - botype = "meltingpoint"; - break; - case boilingpoint: - botype = "boilingpoint"; - break; - case periodTableBlock: - botype = "periodTableBlock"; - break; - case nameOrigin: - botype = "nameOrigin"; - break; - case orbit: - botype = "orbit"; - break; - case date: - botype = "date"; - break; - case discoverers: - botype = "discoverers"; - break; - case period: - botype = "period"; - break; - case relativeAbundance: - botype = "relativeAbundance"; - break; - case family: - botype ="family"; - break; - case group: - botype ="group"; - break; - case acidicbehaviour: - botype ="acidicbehaviour"; - break; - case electronicConfiguration: - botype ="electronicConfiguration"; - break; - case crystalstructure: - botype ="crystalstructure"; - break; - case dangerSymbol: - botype ="dangerSymbol"; - break; - case RPhrase: - botype ="RPhrase"; - break; - case SPhrase: - botype ="SPhrase"; - break; - case discoveryCountry: - botype ="discoveryCountry"; - break; - } - - botype = botype.prepend( QLatin1String("bo:") ); - - return botype; -} - -QString ChemicalDataObject::unitAsString() const -{ - QString bounit; - switch ( d->m_unit ){ - case kelvin: - bounit = "kelvin"; - break; - case nm: - bounit = "nm"; - break; - case pm: - bounit = "pm"; - break; - case ev: - bounit = "ev"; - break; - case ang: - bounit = "degree"; - break; - case noUnit: - return "noUnit"; - case y: - return "y"; - case s: - return "s"; - } - -// bounit = bounit.prepend( "bo:" ); - - return bounit; -} - - -ChemicalDataObject::BlueObeliskUnit ChemicalDataObject::unit( const QString& unit ) -{ - if ( unit == "siUnits:kelvin" ) - return ChemicalDataObject::kelvin; - else if ( unit == "units:ev" ) - return ChemicalDataObject::ev; - else if ( unit == "units:ang" ) - return ChemicalDataObject::ang; - else if ( unit == "bo:noUnit" ) - return ChemicalDataObject::noUnit; - else - return ChemicalDataObject::noUnit; -} diff --git a/libscience/chemicaldataobject.h b/libscience/chemicaldataobject.h deleted file mode 100644 index 59733fe..0000000 --- a/libscience/chemicaldataobject.h +++ /dev/null @@ -1,255 +0,0 @@ -#ifndef CHEMICALDATAOBJECT_H -#define CHEMICALDATAOBJECT_H -/*************************************************************************** - * Copyright (C) 2005 by Carsten Niehaus * - * cniehaus@kde.org * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * - ***************************************************************************/ - -#include -#include -#include - -#include "libkdeedu_science_export.h" - -class ChemicalDataObjectPrivate; -/** - * A ChemicalDataObject is an object which contains information about - * a chemical element. This can for example be a boiling point. The information - * is stored in a QVariant. - * This class supports the CML-format defined by the BlueObelisk-Project. - * - * @author Carsten Niehaus - */ -class SCIENCE_EXPORT ChemicalDataObject -{ - public: - /** - * The BlueObelisk-project defines in their XML file the dataset - * with the names of the enum plus "bo:". So for symbol - * it is "bo:symbol". To avoid confusion I will choose the very - * same naming - */ - enum BlueObelisk - { - atomicNumber = 0 /**< The atomic number of the element */, - symbol/**< the symbol of the element */, - name/**< The IUPAC name of the element */, - mass/**< # IUPAC Official Masses */, - exactMass/**< exact masses of the most common isotopes for each element */, - ionization/**< First inizationenergy */, - electronAffinity/**< the electron affinity of the element */, - electronegativityPauling/**< the electronegativity in the definition of Pauling*/, - radiusCovalent/**< the covalent radius */, - radiusVDW/**< the van der Waals radius */, - meltingpoint/**< the meltingpoint */, - boilingpoint/**< the boilingpoint */, - periodTableBlock/**< the block of the element */, - family/**< "Noblegas" "Non-Metal" "Rare_Earth" "Alkaline_Earth" "Alkali_Earth" "Transition" "Other_Metal" "Metalloids" "Halogene" */, - acidicbehaviour/**< 0 means acidic, 1 means basic, 2 means neutral, 3 means amphoteric*/, - crystalstructure/**< own, bcc, hdp, ccp, hcp, fcc, d, sc, tet, rh, or, mono*/, - electronicConfiguration/**< the electronic configuration, for example 1s2 for He*/, - group/**< This is a value between 1 and 8*/, - nameOrigin/**< the origin of the name */, - orbit/**< the quantumorbit of the element */, - period/**< the period of the element */, - date/**< date of discovery of the element. When 0, the element has been known in ancient times. When the value is -1 the element has not yet been officially recognized by the IUPAC */, - discoverers/** The name of the discoverers, separated by semicolomns */, - relativeAbundance/** The abundance, relative to 100 */, - spin/**< The spin */, - magneticMoment/**< The magnetic dipole moment */, - halfLife/**< The halflife */, - alphaDecayLikeliness/**< The percentage of alphadecay */, - alphaDecay/**< The decayenergy of alphadecay in MeV */, - betaplusDecayLikeliness/**< The percentage of betaplusdecay */, - betaplusDecay/**< The decayenergy of betaplusdecay in MeV */, - betaminusDecayLikeliness/**< The percentage of betaminusdecay */, - betaminusDecay/**< The decayenergy of betaminusdecay in MeV */, - ecDecayLikeliness/**< The percentage of ecdecay */, - ecDecay/**< The decayenergy of ecminusdecay in MeV */, - dangerSymbol/**< the danger symbols are the dangers associated with an element, for example Xn,T+ */, - RPhrase/**< */, - SPhrase/**< */, - discoveryCountry - }; - - enum BlueObeliskUnit - { - kelvin = 0/**< Degree Kelvin */, - ev/**< electron volt */, - nm/**< nanometer */, - pm/**< picometer */, - y/**< years */, - s/**< seconds */, - ang/**< angstrom */, - noUnit/**< no unit */ - }; - - /** - * Constructor. - */ - ChemicalDataObject(); - - /** - * Constructor. - * @param v the data of the object - * @param type the type of the data - * @param errorValue the error margin of the value @p v - * - * @see errorValue() - */ - ChemicalDataObject( const QVariant& v, - BlueObelisk type, - const QVariant& errorValue = QVariant(0) ); - - /** - * Copy constructor. - */ - ChemicalDataObject(const ChemicalDataObject &other); - - /** - * Destructor. - */ - ~ChemicalDataObject(); - - /** - * Set the data of this object to @p v - * @param v the value of the object - */ - void setData( const QVariant& v ); - - /** - * Set the error value of this object to @p v. - * The error has to have the same unit as the value. - * @param v the value of the object - */ - void setErrorValue( const QVariant& v ); - - /** - * Every ChemicalDataObject contains one data. For example a - * integer value which represents the boiling point. This method - * returns the value as a QString. - * - * For bool, the returned string will be "false" or "true" - * For a QString, the QString will be returned - * For a int or double, the value will be returned as a QString - * - * @return the value as a QString - */ - QString valueAsString() const; - - /** - * Every ChemicalDataObject contains one data. For example a - * integer value which represents the boiling point. This method - * returns the value as a QVariant. - * - * @return the value as a QVariant - */ - QVariant value() const; - - /** - * @return the error margin of the object - */ - QVariant errorValue() const; - - /** - * @return the type of dataset of this object - */ - BlueObelisk type() const; - - /** - * @param type the type of this object - */ - void setType( BlueObelisk type ); - - /** - * @overload - */ - void setType( int type ); - - /** - * Compare the value @p v with the data of this object - */ - bool operator== ( const int v ) const; - - /** - * Compare the value @p v with the data of this object - */ - bool operator== ( const double v ) const; - - /** - * Compare the value @p v with the data of this object - */ - bool operator== ( const bool v ) const; - - /** - * Compare the value @p v with the data of this object - */ - bool operator== ( const QString& v ) const; - - /** - * @return the dictRef attribute of the XML. This is an - * identifier. For example, for the mass it is "bo:mass" - */ - QString dictRef() const; - - /** - * @return the unit of the object as a QString. For example kelvin - * will be returned as "bo:kelvin" - */ - QString unitAsString() const; - - /** - * @return the unit of the object - */ - BlueObeliskUnit unit() const; - - /** - * set the unit of this object to @p unit - * @param unit the BlueObeliskUnit for this object - */ - void setUnit( BlueObeliskUnit unit ); - - /** - * Looks up a name @p unitname. The valid names are - * hard-coded in the C++ code, currently - * - bo:kelvin - * - bo:ev - * - bo:nm - * - bo:pm - * - bo:y - * - bo:s - * - bo:noUnit - * - * @return the BlueObeliskUnit of a ChemicalDataObject - * corresponding to @p unitname, or noUnit if the name - * doesn't match any of the known values. - * @param unitname the attribute-text of the XML parsed - */ - static BlueObeliskUnit unit( const QString& unitname ); - - ChemicalDataObject& operator=(const ChemicalDataObject &other); - - bool operator==(const ChemicalDataObject &other) const; - - bool operator!=(const ChemicalDataObject &other) const; - - private: - QSharedDataPointer d; -}; - -#endif // CHEMICALDATAOBJECT_H diff --git a/libscience/data/CMakeLists.txt b/libscience/data/CMakeLists.txt deleted file mode 100644 index 00a769e..0000000 --- a/libscience/data/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ - -install(FILES - elements.xml - isotopes.xml - symbols.csv - symbols2.csv - spectra.xml DESTINATION ${DATA_INSTALL_DIR}/libkdeedu/data/ -) - diff --git a/libscience/data/elements.xml b/libscience/data/elements.xml deleted file mode 100644 index 91b14de..0000000 --- a/libscience/data/elements.xml +++ /dev/null @@ -1,2640 +0,0 @@ - - - - - - - - - - - - - - - - - 0 - - - 1 - - - 2 - - - 3 - - - 4 - - - 5 - - - 6 - - - 7 - - - 8 - - - 9 - - - 10 - - - 11 - - - 12 - - - 13 - - - 14 - - - 15 - - - 16 - - - 17 - - - 18 - - - 19 - - - 20 - - - 21 - - - 22 - - - 23 - - - 24 - - - 25 - - - 26 - - - 27 - - - 28 - - - 29 - - - 30 - - - 31 - - - 32 - - - 33 - - - 34 - - - 35 - - - 36 - - - 37 - - - 38 - - - 39 - - - 40 - - - 41 - - - 42 - - - 43 - - - 44 - - - 45 - - - 46 - - - 47 - - - 48 - - - 49 - - - 50 - - - 51 - - - 52 - - - 53 - - - 54 - - - 55 - - - 56 - - - 57 - - - 58 - - - 59 - - - 60 - - - 61 - - - 62 - - - 63 - - - 64 - - - 65 - - - 66 - - - 67 - - - 68 - - - 69 - - - 70 - - - 71 - - - 72 - - - 73 - - - 74 - - - 75 - - - 76 - - - 77 - - - 78 - - - 79 - - - 80 - - - 81 - - - 82 - - - 83 - - - 84 - - - 85 - - - 86 - - - 87 - - - 88 - - - 89 - - - 90 - - - 91 - - - 92 - - - 93 - - - 94 - - - 95 - - - 96 - - - 97 - - - 98 - - - 99 - - - 100 - - - 101 - - - 102 - - - 103 - - - 104 - - - 105 - - - 106 - - - 107 - - - 108 - - - 109 - - - 110 - - - 111 - - - 112 - - - 113 - - - 114 - - - 115 - - - 116 - - - 117 - - - 118 - - diff --git a/libscience/data/isotopes.xml b/libscience/data/isotopes.xml deleted file mode 100644 index c73bec1..0000000 --- a/libscience/data/isotopes.xml +++ /dev/null @@ -1,16373 +0,0 @@ - - - - - - - - - - - - - - - - - - - - 99.9885 - 1.007825032 - 1/2+ - +2.792846 - 1 - - - 0.0115 - 2.014101778 - 1+ - +0.857438 - 1 - - - 3.016049278 - 1/2+ - +2.978960 - 3.88839e+08 - 0.01861 - 100.0 - 1 - - - 4.02781 - 1 - - - 5.03531 - 1 - - - 6.04494 - 1 - - - 7.05275 - 1 - - - - - 0.000137 - 3.016029319 - 1/2+ - -2.127624 - 2 - - - 99.999863 - 4.002603254 - 0+ - 2 - - - 5.01222 - 2 - - - 6.0188891 - 0.8067 - 2 - - - 7.028021 - 2 - - - 8.033922 - 0.119 - 2 - - - 9.04395 - 2 - - - 10.0524 - 2 - - - - - 3.03078 - 3 - - - 4.02719 - 3 - - - 5.01254 - 3 - - - 7.59 - 6.015122795 - 1+ - +0.822056 - 3 - - - 92.41 - 7.01600455 - 3/2- - +3.25644 - 3 - - - 8.02248736 - 0.838 - 3 - - - 9.0267895 - 0.1783 - 3 - - - 10.035481 - 3 - - - 11.043798 - 0.0085 - 3 - - - 12.05378 - 3 - - - - - 5.04079 - 4 - - - 6.019726 - 4 - - - 7.01692983 - 3/2- - 4.58957e+06 - 0.862 - 100.0 - 4 - - - 8.0053051 - 4 - - - 100 - 9.0121822 - 3/2- - -1.1776 - 4 - - - 10.0135338 - 0+ - 4.76194e+13 - 0.555 - 100.0 - 4 - - - 11.021658 - 13.81 - 4 - - - 12.026921 - 0.0236 - 4 - - - 13.03569 - 4 - - - 14.04289 - 0.00435 - 4 - - - 15.05346 - 4 - - - 16.06192 - 4 - - - - - 6.04681 - 5 - - - 7.02992 - 5 - - - 8.0246072 - 0.77 - 5 - - - 9.0133288 - 5 - - - 19.9 - 10.012937 - 3+ - +1.80065 - 5 - - - 80.1 - 11.0093054 - 3/2- - +2.688637 - 5 - - - 12.0143521 - 0.0202 - 5 - - - 13.0177802 - 0.01736 - 5 - - - 14.025404 - 0.0138 - 5 - - - 15.031103 - 0.0105 - 5 - - - 16.03981 - 5 - - - 17.04699 - 0.00508 - 5 - - - 18.05617 - 5 - - - 19.06373 - 5 - - - - - 8.037675 - 6 - - - 9.0310367 - 0.126 - 6 - - - 10.0168532 - 19.255 - 6 - - - 11.0114336 - 3/2- - 1223.4 - 0.96 - 100.0 - 6 - - - 98.93 - 12 - 0+ - 6 - - - 1.07 - 13.00335484 - 1/2- - +0.702411 - 6 - - - 14.00324199 - 1.80701e+11 - 0.15648 - 100.0 - 6 - - - 15.0105993 - 2.449 - 6 - - - 16.014701 - 0.747 - 6 - - - 17.022586 - 0.193 - 6 - - - 18.02676 - 0.095 - 6 - - - 19.03481 - 0.046 - 6 - - - 20.04032 - 0.014 - 6 - - - 21.04934 - 6 - - - 22.0572 - 6 - - - - - 10.04165 - 7 - - - 11.02609 - 7 - - - 12.0186132 - 0.011 - 7 - - - 13.00573861 - 597.9 - 7 - - - 99.632 - 14.003074 - 1+ - +0.403761 - 7 - - - 0.368 - 15.0001089 - 1/2- - -0.283189 - 7 - - - 16.0061017 - 7.13 - 7 - - - 17.00845 - 4.173 - 7 - - - 18.014079 - 0.624 - 7 - - - 19.017029 - 0.304 - 7 - - - 20.02337 - 0.1 - 7 - - - 21.02711 - 0.085 - 7 - - - 22.03439 - 0.024 - 7 - - - 23.04122 - 7 - - - 24.05104 - 7 - - - 25.06066 - 7 - - - - - 12.034405 - 8 - - - 13.024812 - 0.00858 - 8 - - - 14.00859625 - 70.606 - 8 - - - 15.0030656 - 122.24 - 8 - - - 99.757 - 15.99491462 - 0+ - 8 - - - 0.038 - 16.9991317 - 5/2+ - -1.89379 - 8 - - - 0.205 - 17.999161 - 0+ - 8 - - - 19.00358 - 26.91 - 8 - - - 20.0040767 - 13.51 - 8 - - - 21.008656 - 3.42 - 8 - - - 22.00997 - 2.25 - 8 - - - 23.01569 - 0.082 - 8 - - - 24.02047 - 0.061 - 8 - - - 25.02946 - 8 - - - 26.03834 - 8 - - - 27.04826 - 8 - - - 28.05781 - 8 - - - - - 14.03506 - 9 - - - 15.01801 - 9 - - - 16.011466 - 9 - - - 17.00209524 - 64.49 - 9 - - - 18.000938 - 1+ - 6586.2 - 0.64 - 97.0 - - 3.0 - 9 - - - 100 - 18.99840322 - 1/2+ - +2.628866 - 9 - - - 19.99998132 - 11 - 9 - - - 20.999949 - 4.158 - 9 - - - 22.002999 - 4.23 - 9 - - - 23.00357 - 2.23 - 9 - - - 24.00812 - 0.34 - 9 - - - 25.0121 - 0.059 - 9 - - - 26.01962 - 9 - - - 27.02676 - 9 - - - 28.03567 - 9 - - - 29.04326 - 9 - - - 30.0525 - 9 - - - 31.06043 - 9 - - - - - 16.025761 - 10 - - - 17.017672 - 0.1092 - 10 - - - 18.0057082 - 1.672 - 10 - - - 19.0018802 - 17.22 - 10 - - - 90.48 - 19.99244018 - 0+ - 10 - - - 0.27 - 20.99384668 - 3/2 - -0.661796 - 10 - - - 9.25 - 21.99138511 - 0+ - 10 - - - 22.9944669 - 37.24 - 10 - - - 23.9936108 - 202.8 - 10 - - - 24.997737 - 0.602 - 10 - - - 26.000461 - 0.197 - 10 - - - 27.00759 - 0.032 - 10 - - - 28.01207 - 0.017 - 10 - - - 29.01939 - 0.2 - 10 - - - 30.0248 - 10 - - - 31.03311 - 10 - - - 32.04002 - 10 - - - 33.04938 - 10 - - - 34.05703 - 10 - - - - - 18.02597 - 11 - - - 19.013877 - 11 - - - 20.007351 - 0.4479 - 11 - - - 20.9976552 - 22.49 - 11 - - - 21.9944364 - 3+ - +1.746 - 8.20535e+07 - 2.842 - 100.0 - - 100.0 - 11 - - - 100 - 22.98976928 - 3/2+ - -2.217520 - 11 - - - 23.99096278 - 4+ - +1.6903 - 14.959 - 5.514 - 100.0 - 11 - - - 24.989954 - 59.1 - 11 - - - 25.992633 - 1.072 - 11 - - - 26.994077 - 0.301 - 11 - - - 27.998938 - 0.0305 - 11 - - - 29.002861 - 0.0449 - 11 - - - 30.008976 - 0.048 - 11 - - - 31.01359 - 0.017 - 11 - - - 32.02047 - 0.0132 - 11 - - - 33.02672 - 0.0082 - 11 - - - 34.03517 - 0.0055 - 11 - - - 35.04249 - 0.0015 - 11 - - - 36.05148 - 11 - - - 37.05934 - 11 - - - - - 19.03547 - 12 - - - 20.018863 - 0.095 - 12 - - - 21.011713 - 0.122 - 12 - - - 21.9995738 - 3.857 - 12 - - - 22.9941237 - 11.317 - 12 - - - 78.99 - 23.9850417 - 0+ - 12 - - - 10.00 - 24.98583692 - 5/2+ - -0.85545 - 12 - - - 11.01 - 25.98259293 - 0+ - 12 - - - 26.98434059 - 567.48 - 12 - - - 27.9838768 - 75276 - 12 - - - 28.9886 - 1.3 - 12 - - - 29.990434 - 0.335 - 12 - - - 30.996546 - 0.23 - 12 - - - 31.998975 - 0.12 - 12 - - - 33.005254 - 0.09 - 12 - - - 34.00946 - 0.02 - 12 - - - 35.01734 - 12 - - - 36.023 - 12 - - - 37.0314 - 12 - - - 38.03757 - 12 - - - 39.04677 - 12 - - - 40.05393 - 12 - - - - - 21.02804 - 13 - - - 22.01952 - 0.07 - 13 - - - 23.007267 - 0.47 - 13 - - - 23.9999389 - 2.053 - 13 - - - 24.9904281 - 7.183 - 13 - - - 25.98689169 - 5+ - 740000 - 4.003 - 82 - - 18 - 13 - - - 100 - 26.98153863 - 5/2+ - +3.641504 - 13 - - - 27.98191031 - 134.484 - 13 - - - 28.980445 - 393.6 - 13 - - - 29.98296 - 3.6 - 13 - - - 30.983947 - 0.644 - 13 - - - 31.98812 - 0.033 - 13 - - - 32.99084 - 13 - - - 33.99685 - 13 - - - 34.99986 - 13 - - - 36.00621 - 13 - - - 37.01068 - 13 - - - 38.01723 - 13 - - - 39.02297 - 13 - - - 40.03145 - 13 - - - 41.03833 - 13 - - - 42.04689 - 13 - - - - - 22.03453 - 0.006 - 14 - - - 23.02552 - 14 - - - 24.011546 - 0.102 - 14 - - - 25.004106 - 0.22 - 14 - - - 25.99233 - 2.234 - 14 - - - 26.98670491 - 4.16 - 14 - - - 92.2297 - 27.97692653 - 0+ - 14 - - - 4.6832 - 28.9764947 - 1/2+ - -0.55529 - 14 - - - 3.0872 - 29.97377017 - 0+ - 14 - - - 30.97536323 - 9438 - 14 - - - 31.97414808 - 4.7304e+09 - 14 - - - 32.978 - 6.18 - 14 - - - 33.978576 - 2.77 - 14 - - - 34.98458 - 0.78 - 14 - - - 35.9866 - 0.45 - 14 - - - 36.99294 - 14 - - - 37.99563 - 14 - - - 39.00207 - 14 - - - 40.00587 - 14 - - - 41.01456 - 14 - - - 42.01979 - 14 - - - 43.02866 - 14 - - - 44.03526 - 14 - - - - - 24.03435 - 15 - - - 25.02026 - 15 - - - 26.01178 - 0.02 - 15 - - - 26.99923 - 0.26 - 15 - - - 27.992315 - 0.2703 - 15 - - - 28.9818006 - 4.14 - 15 - - - 29.9783138 - 149.88 - 15 - - - 100 - 30.97376163 - 1/2+ - +1.13160 - 15 - - - 31.97390727 - 1+ - -0.2524 - 1.23224e+06 - 1.710 - 100.0 - 15 - - - 32.9717255 - 2.18938e+06 - 15 - - - 33.973636 - 12.43 - 15 - - - 34.9733141 - 47.3 - 15 - - - 35.97826 - 5.6 - 15 - - - 36.97961 - 2.31 - 15 - - - 37.98416 - 0.64 - 15 - - - 38.98618 - 0.16 - 15 - - - 39.9913 - 0.26 - 15 - - - 40.99434 - 0.12 - 15 - - - 42.00101 - 0.11 - 15 - - - 43.00619 - 0.033 - 15 - - - 44.01299 - 15 - - - 45.01922 - 15 - - - 46.02738 - 15 - - - - - 26.02788 - 16 - - - 27.01883 - 0.021 - 16 - - - 28.00437 - 0.125 - 16 - - - 28.99661 - 0.187 - 16 - - - 29.984903 - 1.178 - 16 - - - 30.9795547 - 2.572 - 16 - - - 94.93 - 31.972071 - 0+ - 16 - - - 0.76 - 32.97145876 - 3/2+ - +0.643821 - 16 - - - 4.29 - 33.9678669 - 0+ - 16 - - - 34.96903216 - 3/2+ - +1 - 7.54445e+06 - 0.1674 - 100.0 - 16 - - - 0.02 - 35.96708076 - 0+ - 16 - - - 36.97112557 - 303 - 16 - - - 37.971163 - 10218 - 16 - - - 38.97513 - 11.5 - 16 - - - 39.97545 - 8.8 - 16 - - - 40.97958 - 16 - - - 41.98102 - 0.56 - 16 - - - 42.98715 - 0.22 - 16 - - - 43.99021 - 0.123 - 16 - - - 44.99651 - 0.082 - 16 - - - 46.00075 - 16 - - - 47.00859 - 16 - - - 48.01417 - 16 - - - 49.02362 - 16 - - - - - 28.02851 - 17 - - - 29.01411 - 17 - - - 30.00477 - 17 - - - 30.99241 - 0.15 - 17 - - - 31.98569 - 0.298 - 17 - - - 32.9774519 - 2.511 - 17 - - - 33.97376282 - 1.5264 - 17 - - - 75.78 - 34.96885268 - 3/2+ - +0.82187 - 17 - - - 35.96830698 - 17 - - - 24.22 - 36.96590259 - 3/2+ - +0.68412 - 17 - - - 37.96801043 - 2234.4 - 17 - - - 38.9680082 - 3336 - 17 - - - 39.97042 - 81 - 17 - - - 40.97068 - 38.4 - 17 - - - 41.97325 - 6.8 - 17 - - - 42.97405 - 3.3 - 17 - - - 43.97828 - 0.434 - 17 - - - 44.98029 - 0.4 - 17 - - - 45.98421 - 0.223 - 17 - - - 46.98871 - 17 - - - 47.99495 - 17 - - - 49.00032 - 17 - - - 50.00784 - 17 - - - 51.01449 - 17 - - - - - 30.02156 - 2e-08 - 18 - - - 31.01212 - 0.0151 - 18 - - - 31.997638 - 0.098 - 18 - - - 32.9899257 - 0.173 - 18 - - - 33.9802712 - 0.8445 - 18 - - - 34.9752576 - 1.775 - 18 - - - 0.3365 - 35.96754511 - 0+ - 18 - - - 36.96677632 - 3.02746e+06 - 18 - - - 0.0632 - 37.9627324 - 0+ - 18 - - - 38.964313 - 8.48318e+09 - 18 - - - 99.6003 - 39.96238312 - 0+ - 18 - - - 40.9645006 - 6560.4 - 18 - - - 41.963046 - 1.03753e+09 - 18 - - - 42.965636 - 322.2 - 18 - - - 43.964924 - 712.2 - 18 - - - 44.96804 - 21.48 - 18 - - - 45.96809 - 8.4 - 18 - - - 46.97219 - 0.7 - 18 - - - 47.97454 - 18 - - - 48.98052 - 18 - - - 49.98443 - 18 - - - 50.99163 - 18 - - - 51.99678 - 18 - - - 53.00494 - 18 - - - - - 32.02192 - 19 - - - 33.00726 - 19 - - - 33.99841 - 19 - - - 34.98801 - 0.19 - 19 - - - 35.981292 - 0.342 - 19 - - - 36.97337589 - 1.226 - 19 - - - 37.9690812 - 458.16 - 19 - - - 93.2581 - 38.96370668 - 3/2+ - +0.391466 - 19 - - - 0.0117 - 39.96399848 - 4- - -1.298099 - 1277000000 - 1.32 - 89.33 - - 10.67 - 19 - - - 6.7302 - 40.96182576 - 3/2+ - +0.2148699 - 19 - - - 41.96240281 - 44496 - 19 - - - 42.960716 - 80280 - 19 - - - 43.96156 - 1327.8 - 19 - - - 44.960699 - 1038 - 19 - - - 45.961977 - 105 - 19 - - - 46.961678 - 17.5 - 19 - - - 47.965514 - 6.8 - 19 - - - 48.96745 - 1.26 - 19 - - - 49.97278 - 0.472 - 19 - - - 50.97638 - 0.365 - 19 - - - 51.98261 - 0.105 - 19 - - - 52.98712 - 0.03 - 19 - - - 53.9942 - 0.01 - 19 - - - 54.99971 - 19 - - - - - 34.01412 - 20 - - - 35.00494 - 0.05 - 20 - - - 35.99309 - 0.102 - 20 - - - 36.98587 - 0.1811 - 20 - - - 37.976318 - 0.44 - 20 - - - 38.9707197 - 0.8596 - 20 - - - 96.941 - 39.96259098 - 0+ - 20 - - - 40.96227806 - 20 - - - 0.647 - 41.95861801 - 0+ - 20 - - - 0.135 - 42.9587666 - 7/2- - +1.31725 - 20 - - - 2.086 - 43.9554818 - 0+ - 20 - - - 44.9561866 - 7/2- - 1.40495e+07 - 20 - - - 0.004 - 45.9536926 - 0.257 - 100.0 - 20 - - - 46.954546 - 391910 - 20 - - - 0.187 - 47.952534 - 0+ - 20 - - - 48.955674 - 523.08 - 20 - - - 49.957519 - 13.9 - 20 - - - 50.9615 - 10 - 20 - - - 51.9651 - 4.6 - 20 - - - 52.97005 - 0.09 - 20 - - - 53.97435 - 20 - - - 54.98055 - 20 - - - 55.98557 - 20 - - - 56.99236 - 20 - - - - - 36.01492 - 21 - - - 37.00305 - 21 - - - 37.9947 - 21 - - - 38.98479 - 21 - - - 39.977967 - 0.1823 - 21 - - - 40.96925113 - 0.5963 - 21 - - - 41.96551643 - 0.6813 - 21 - - - 42.9611507 - 14007.6 - 21 - - - 43.9594028 - 14137.2 - 21 - - - 100 - 44.9559119 - 7/2- - +4.756483 - 21 - - - 45.9551719 - 4+ - 7.23946e+06 - 2.367 - 100.0 - 21 - - - 46.9524075 - 7/2- - 289371 - 0.601 - 100.0 - 21 - - - 47.952231 - 6+ - 157212 - 4.0 - 100.0 - 21 - - - 48.950024 - 3432 - 21 - - - 49.952188 - 102.5 - 21 - - - 50.953603 - 12.4 - 21 - - - 51.95668 - 8.2 - 21 - - - 52.95961 - 21 - - - 53.96326 - 21 - - - 54.96824 - 21 - - - 55.97287 - 21 - - - 56.97779 - 21 - - - 57.98371 - 21 - - - 58.98922 - 21 - - - 59.99571 - 21 - - - - - 38.00977 - 22 - - - 39.00161 - 0.026 - 22 - - - 39.9905 - 0.05 - 22 - - - 40.98315 - 0.08 - 22 - - - 41.973031 - 0.199 - 22 - - - 42.968522 - 0.509 - 22 - - - 43.9596901 - 1.98677e+09 - 22 - - - 44.9581256 - 11088 - 22 - - - 8.25 - 45.9526316 - 0+ - 22 - - - 7.44 - 46.9517631 - 5/2- - -0.78848 - 22 - - - 73.72 - 47.9479463 - 0+ - 22 - - - 5.41 - 48.94787 - 7/2- - -1.10417 - 22 - - - 5.18 - 49.9447912 - 0+ - 22 - - - 50.946615 - 345.6 - 22 - - - 51.946897 - 102 - 22 - - - 52.94973 - 32.7 - 22 - - - 53.95105 - 22 - - - 54.95527 - 0.32 - 22 - - - 55.9582 - 0.16 - 22 - - - 56.96399 - 0.18 - 22 - - - 57.96697 - 22 - - - 58.97293 - 22 - - - 59.97676 - 22 - - - 60.9832 - 22 - - - 61.98749 - 22 - - - 62.99442 - 22 - - - - - 40.01109 - 23 - - - 40.99978 - 23 - - - 41.99123 - 23 - - - 42.98065 - 0.8 - 23 - - - 43.97411 - 0.09 - 23 - - - 44.965776 - 0.547 - 23 - - - 45.9602005 - 0.42237 - 23 - - - 46.9549089 - 1956 - 23 - - - 47.9522537 - 1.38011e+06 - 23 - - - 48.9485161 - 2.8512e+07 - 23 - - - 0.250 - 49.9471585 - 6+ - +3.34745 - 140000000000000000 - - 17.0 - - 83 - 23 - - - 99.750 - 50.9439595 - 7/2- - +5.1574 - 23 - - - 51.9447755 - 224.58 - 23 - - - 52.944338 - 96.6 - 23 - - - 53.94644 - 49.8 - 23 - - - 54.94723 - 6.54 - 23 - - - 55.95053 - 0.23 - 23 - - - 56.95256 - 0.32 - 23 - - - 57.95683 - 0.2 - 23 - - - 58.96021 - 0.13 - 23 - - - 59.96503 - 0.2 - 23 - - - 60.96848 - 23 - - - 61.97378 - 23 - - - 62.97755 - 23 - - - 63.98347 - 23 - - - 64.98792 - 23 - - - - - 42.00643 - 24 - - - 42.99771 - 0.021 - 24 - - - 43.98555 - 0.053 - 24 - - - 44.97964 - 0.05 - 24 - - - 45.968359 - 0.26 - 24 - - - 46.9629 - 0.5 - 24 - - - 47.954032 - 77616 - 24 - - - 48.9513357 - 2538 - 24 - - - 4.345 - 49.9460442 - 0+ - 24 - - - 50.9447674 - 2.3935e+06 - 24 - - - 83.789 - 51.9405075 - 0+ - 24 - - - 9.501 - 52.9406494 - 3/2- - -0.47454 - 24 - - - 2.365 - 53.9388804 - 0+ - 24 - - - 54.9408397 - 209.82 - 24 - - - 55.9406531 - 356.4 - 24 - - - 56.943613 - 21.1 - 24 - - - 57.94435 - 7 - 24 - - - 58.94859 - 0.74 - 24 - - - 59.95008 - 0.57 - 24 - - - 60.95472 - 0.27 - 24 - - - 61.95661 - 0.19 - 24 - - - 62.96186 - 0.11 - 24 - - - 63.96441 - 24 - - - 64.97016 - 24 - - - 65.97338 - 24 - - - 66.97955 - 24 - - - - - 44.00687 - 25 - - - 44.99451 - 25 - - - 45.98672 - 0.041 - 25 - - - 46.9761 - 0.1 - 25 - - - 47.96852 - 0.1581 - 25 - - - 48.959618 - 0.382 - 25 - - - 49.9542382 - 0.28388 - 25 - - - 50.9482108 - 2772 - 25 - - - 51.9455655 - 483062 - 25 - - - 52.9412901 - 25 - - - 53.9403589 - 3+ - +3.2818 - 2.69827e+07 - 1.377 - 100.0 - 25 - - - 100 - 54.9380451 - 5/2- - +3.4687 - 25 - - - 55.9389049 - 9282.6 - 25 - - - 56.9382854 - 85.4 - 25 - - - 57.93998 - 3 - 25 - - - 58.94044 - 4.6 - 25 - - - 59.94291 - 51 - 25 - - - 60.94465 - 0.71 - 25 - - - 61.94843 - 0.88 - 25 - - - 62.95024 - 0.25 - 25 - - - 63.95425 - 0.14 - 25 - - - 64.95634 - 0.11 - 25 - - - 65.96108 - 0.09 - 25 - - - 66.96414 - 25 - - - 67.9693 - 25 - - - 68.97284 - 25 - - - - - 45.01458 - 26 - - - 46.00081 - 0.02 - 26 - - - 46.99289 - 0.027 - 26 - - - 47.9805 - 0.044 - 26 - - - 48.97361 - 0.07 - 26 - - - 49.96299 - 0.15 - 26 - - - 50.95682 - 0.305 - 26 - - - 51.948114 - 29790 - 26 - - - 52.9453079 - 510.6 - 26 - - - 5.845 - 53.9396105 - 0+ - 26 - - - 54.9382934 - 8.60933e+07 - 26 - - - 91.754 - 55.9349375 - 0+ - 26 - - - 2.119 - 56.935394 - 1/2- - +0.09044 - 26 - - - 0.282 - 57.9332756 - 0+ - 26 - - - 58.9348755 - 3.84506e+06 - 26 - - - 59.934072 - 26 - - - 60.936745 - 358.8 - 26 - - - 61.936767 - 68 - 26 - - - 62.94037 - 6.1 - 26 - - - 63.9412 - 26 - - - 64.94538 - 0.4 - 26 - - - 65.94678 - 0.44 - 26 - - - 66.95095 - 0.47 - 26 - - - 67.9537 - 0.1 - 26 - - - 68.95878 - 0.17 - 26 - - - 69.96146 - 26 - - - 70.96672 - 26 - - - 71.96962 - 26 - - - - - 47.01149 - 27 - - - 48.00176 - 27 - - - 48.98972 - 27 - - - 49.98154 - 0.044 - 27 - - - 50.97072 - 27 - - - 51.96359 - 0.018 - 27 - - - 52.954219 - 0.24 - 27 - - - 53.9484596 - 0.19323 - 27 - - - 54.941999 - 63108 - 27 - - - 55.9398393 - 4+ - 6.67613e+06 - 4.566 - 100.0 - - 100.0 - 27 - - - 56.9362914 - 7/2- - 2.34827e+07 - 0.836 - 100.0 - 27 - - - 57.9357528 - 2+ - 6.1223e+06 - 2.3 - 100.0 - - 100.0 - 27 - - - 100 - 58.933195 - 7/2- - +4.627 - 27 - - - 59.9338171 - 5+ - +3.799 - 1.66239e+08 - 2.824 - 100.0 - 27 - - - 60.9324758 - 5940 - 27 - - - 61.934051 - 90 - 27 - - - 62.933612 - 27.4 - 27 - - - 63.93581 - 0.3 - 27 - - - 64.936478 - 1.2 - 27 - - - 65.93976 - 0.233 - 27 - - - 66.94089 - 0.42 - 27 - - - 67.94487 - 0.18 - 27 - - - 68.94632 - 0.27 - 27 - - - 69.951 - 0.15 - 27 - - - 70.9529 - 0.21 - 27 - - - 71.95781 - 0.09 - 27 - - - 72.96024 - 27 - - - 73.96538 - 27 - - - 74.96833 - 27 - - - - - 48.01975 - 28 - - - 49.00966 - 28 - - - 49.99593 - 28 - - - 50.98772 - 28 - - - 51.97568 - 0.038 - 28 - - - 52.96847 - 0.045 - 28 - - - 53.95791 - 28 - - - 54.95133 - 0.2121 - 28 - - - 55.942132 - 525053 - 28 - - - 56.9397935 - 128160 - 28 - - - 68.0769 - 57.9353429 - 0+ - 28 - - - 58.9343467 - 3/2- - 75000 - 1.072 - 100.0 - 28 - - - 26.2231 - 59.9307864 - 0+ - 28 - - - 1.1399 - 60.931056 - 3/2- - -0.75002 - 28 - - - 3.6345 - 61.9283451 - 0+ - 28 - - - 62.9296694 - 1/2- - 3.15675e+09 - 0.065 - 100.0 - 28 - - - 0.9256 - 63.927966 - 0+ - 28 - - - 64.9300843 - 9061.92 - 28 - - - 65.9291393 - 196560 - 28 - - - 66.931569 - 21 - 28 - - - 67.931869 - 19 - 28 - - - 68.93561 - 11.4 - 28 - - - 69.9365 - 28 - - - 70.94074 - 1.86 - 28 - - - 71.94209 - 2.1 - 28 - - - 72.94647 - 0.7 - 28 - - - 73.94807 - 0.54 - 28 - - - 74.95287 - 0.6 - 28 - - - 75.95533 - 0.24 - 28 - - - 76.96055 - 28 - - - 77.96318 - 28 - - - - - 51.99718 - 29 - - - 52.98555 - 29 - - - 53.97671 - 29 - - - 54.96605 - 29 - - - 55.95856 - 29 - - - 56.949211 - 0.1994 - 29 - - - 57.9445385 - 3.204 - 29 - - - 58.939498 - 81.5 - 29 - - - 59.937365 - 1422 - 29 - - - 60.9334578 - 11998.8 - 29 - - - 61.932584 - 584.4 - 29 - - - 69.17 - 62.9295975 - 3/2- - +2.2233 - 29 - - - 63.9297642 - 1+ - -0.217 - 45720 - 1.7 - 19.0 - 0.578 - 39.0 - 1.675 - 41.0 - 29 - - - 30.83 - 64.9277895 - 3/2- - +2.3817 - 29 - - - 65.9288688 - 307.2 - 29 - - - 66.9277303 - 222588 - 29 - - - 67.9296109 - 31.1 - 29 - - - 68.9294293 - 171 - 29 - - - 69.9323923 - 4.5 - 29 - - - 70.9326768 - 19.5 - 29 - - - 71.9358203 - 6.6 - 29 - - - 72.936675 - 3.9 - 29 - - - 73.939875 - 1.594 - 29 - - - 74.9419 - 1.224 - 29 - - - 75.945275 - 0.641 - 29 - - - 76.94785 - 0.469 - 29 - - - 77.95196 - 0.342 - 29 - - - 78.95456 - 0.188 - 29 - - - 79.96087 - 29 - - - - - 53.99295 - 30 - - - 54.98398 - 30 - - - 55.97238 - 30 - - - 56.96479 - 0.04 - 30 - - - 57.95459 - 0.065 - 30 - - - 58.94926 - 0.182 - 30 - - - 59.941827 - 142.8 - 30 - - - 60.939511 - 89.1 - 30 - - - 61.93433 - 33069.6 - 30 - - - 62.9332116 - 2308.2 - 30 - - - 48.63 - 63.9291422 - 0+ - 30 - - - 64.929241 - 5/2- - +0.7690 - 2.11041e+07 - 1.352 - 98.0 - - 1.5 - 30 - - - 27.90 - 65.9260334 - 0+ - 30 - - - 4.10 - 66.9271273 - 5/2- - +0.87515 - 30 - - - 18.75 - 67.9248442 - 0+ - 30 - - - 68.9265503 - 3384 - 30 - - - 0.62 - 69.9253193 - 0+ - 30 - - - 70.927722 - 147 - 30 - - - 71.926858 - 167400 - 30 - - - 72.92978 - 23.5 - 30 - - - 73.92946 - 95.6 - 30 - - - 74.93294 - 10.2 - 30 - - - 75.93329 - 5.7 - 30 - - - 76.93696 - 2.08 - 30 - - - 77.93844 - 1.47 - 30 - - - 78.94265 - 0.995 - 30 - - - 79.94434 - 0.545 - 30 - - - 80.95048 - 0.29 - 30 - - - 81.95442 - 30 - - - 82.96103 - 30 - - - - - 55.99491 - 31 - - - 56.98293 - 31 - - - 57.97425 - 31 - - - 58.96337 - 31 - - - 59.95706 - 31 - - - 60.94945 - 0.15 - 31 - - - 61.944175 - 0.11612 - 31 - - - 62.9392942 - 32.4 - 31 - - - 63.9368387 - 157.62 - 31 - - - 64.9327348 - 912 - 31 - - - 65.931589 - 34164 - 31 - - - 66.9282017 - 281768 - 31 - - - 67.9279801 - 4057.74 - 31 - - - 60.108 - 68.9255736 - 3/2- - +2.01659 - 31 - - - 69.926022 - 1268.4 - 31 - - - 39.892 - 70.9247013 - 3/2- - 2.56227 - 31 - - - 71.9263663 - 50760 - 31 - - - 72.9251747 - 17496 - 31 - - - 73.926946 - 487.2 - 31 - - - 74.9265002 - 126 - 31 - - - 75.9288276 - 32.6 - 31 - - - 76.9291543 - 13.2 - 31 - - - 77.9316082 - 5.09 - 31 - - - 78.93289 - 2.847 - 31 - - - 79.93652 - 1.697 - 31 - - - 80.93775 - 1.217 - 31 - - - 81.94299 - 0.599 - 31 - - - 82.94698 - 0.31 - 31 - - - 83.95265 - 0.085 - 31 - - - 84.957 - 31 - - - 85.96312 - 31 - - - - - 57.99101 - 32 - - - 58.98175 - 32 - - - 59.97019 - 32 - - - 60.96379 - 0.04 - 32 - - - 61.95465 - 32 - - - 62.94964 - 0.095 - 32 - - - 63.94165 - 63.7 - 32 - - - 64.93944 - 30.9 - 32 - - - 65.93384 - 8136 - 32 - - - 66.932734 - 1134 - 32 - - - 67.928094 - 2.33971e+07 - 32 - - - 68.9279645 - 140580 - 32 - - - 20.84 - 69.9242474 - 0+ - 32 - - - 70.924951 - 987552 - 32 - - - 27.54 - 71.9220758 - 0+ - 32 - - - 7.73 - 72.9234589 - 9/2+ - -0.879467 - 32 - - - 36.28 - 73.9211778 - 0+ - 32 - - - 74.9228589 - 4966.8 - 32 - - - 7.61 - 75.9214026 - 0+ - 32 - - - 76.9235486 - 40680 - 32 - - - 77.922853 - 5280 - 32 - - - 78.9254 - 18.98 - 32 - - - 79.92537 - 29.5 - 32 - - - 80.92882 - 7.6 - 32 - - - 81.92955 - 4.6 - 32 - - - 82.93462 - 1.85 - 32 - - - 83.93747 - 32 - - - 84.94303 - 32 - - - 85.94649 - 32 - - - 86.95251 - 32 - - - 87.95691 - 32 - - - 88.96383 - 32 - - - - - 59.99313 - 33 - - - 60.98062 - 33 - - - 61.9732 - 33 - - - 62.96369 - 33 - - - 63.95757 - 33 - - - 64.94956 - 0.19 - 33 - - - 65.94471 - 0.09577 - 33 - - - 66.93919 - 42.5 - 33 - - - 67.93677 - 151.6 - 33 - - - 68.93227 - 912 - 33 - - - 69.93092 - 3156 - 33 - - - 70.927112 - 235008 - 33 - - - 71.926752 - 93600 - 33 - - - 72.923825 - 6.93792e+06 - 33 - - - 73.9239287 - 1.53533e+06 - 33 - - - 100 - 74.9215965 - 3/2- - +1.43947 - 33 - - - 75.922394 - 2- - -0.906 - 93121.9 - 2.97 - 100.0 - 33 - - - 76.9206473 - 139788 - 33 - - - 77.921827 - 5442 - 33 - - - 78.920948 - 540.6 - 33 - - - 79.922534 - 15.2 - 33 - - - 80.922132 - 33.3 - 33 - - - 81.9245 - 19.1 - 33 - - - 82.92498 - 13.4 - 33 - - - 83.92906 - 4.5 - 33 - - - 84.93202 - 2.021 - 33 - - - 85.9365 - 0.945 - 33 - - - 86.9399 - 0.48 - 33 - - - 87.94494 - 33 - - - 88.94939 - 33 - - - 89.9555 - 33 - - - 90.96043 - 33 - - - 91.9668 - 33 - - - - - 64.96466 - 34 - - - 65.95521 - 34 - - - 66.95009 - 0.06 - 34 - - - 67.9418 - 35.5 - 34 - - - 68.93956 - 27.4 - 34 - - - 69.93339 - 2466 - 34 - - - 70.93224 - 284.4 - 34 - - - 71.927112 - 725760 - 34 - - - 72.926765 - 25740 - 34 - - - 0.89 - 73.9224764 - 0+ - 34 - - - 74.9225234 - 1.03489e+07 - 34 - - - 9.37 - 75.9192136 - 0+ - 34 - - - 7.63 - 76.919914 - 1/2- - +0.535506 - 34 - - - 23.77 - 77.9173091 - 0+ - 34 - - - 78.9184991 - 34 - - - 49.61 - 79.9165213 - 0+ - 34 - - - 80.9179925 - 1107 - 34 - - - 8.73 - 81.9166994 - 0+ - 34 - - - 82.919118 - 1338 - 34 - - - 83.918462 - 186 - 34 - - - 84.92225 - 31.7 - 34 - - - 85.924272 - 15.3 - 34 - - - 86.92852 - 5.29 - 34 - - - 87.93142 - 1.53 - 34 - - - 88.93645 - 0.41 - 34 - - - 89.93996 - 34 - - - 90.94596 - 0.27 - 34 - - - 91.94992 - 34 - - - 92.95629 - 34 - - - 93.96049 - 34 - - - - - 66.96479 - 35 - - - 67.95852 - 35 - - - 68.95011 - 35 - - - 69.94479 - 0.0791 - 35 - - - 70.93874 - 21.4 - 35 - - - 71.93664 - 78.6 - 35 - - - 72.93169 - 204 - 35 - - - 73.929891 - 1524 - 35 - - - 74.925776 - 5802 - 35 - - - 75.924541 - 58320 - 35 - - - 76.921379 - 205330 - 35 - - - 77.921146 - 387.6 - 35 - - - 50.69 - 78.9183371 - 3/2- - +2.1064 - 35 - - - 79.9185293 - 1060.8 - 35 - - - 49.31 - 80.9162906 - 3/2- - +2.2706 - 35 - - - 81.9168041 - 127080 - 35 - - - 82.91518 - 8640 - 35 - - - 83.916479 - 1908 - 35 - - - 84.915608 - 174 - 35 - - - 85.918798 - 55.1 - 35 - - - 86.920711 - 55.6 - 35 - - - 87.92407 - 16.34 - 35 - - - 88.92639 - 4.348 - 35 - - - 89.93063 - 1.91 - 35 - - - 90.93397 - 0.541 - 35 - - - 91.93926 - 0.343 - 35 - - - 92.94305 - 0.102 - 35 - - - 93.94868 - 0.07 - 35 - - - 94.95287 - 35 - - - 95.95853 - 35 - - - 96.9628 - 35 - - - - - 68.96518 - 36 - - - 69.95526 - 36 - - - 70.94963 - 0.064 - 36 - - - 71.942092 - 17.2 - 36 - - - 72.939289 - 27 - 36 - - - 73.9330844 - 690 - 36 - - - 74.930946 - 258 - 36 - - - 75.92591 - 53280 - 36 - - - 76.92467 - 4464 - 36 - - - 0.35 - 77.9203648 - 0+ - 36 - - - 78.920082 - 126144 - 36 - - - 2.28 - 79.916379 - 0+ - 36 - - - 80.916592 - 36 - - - 11.58 - 81.9134836 - 0+ - 36 - - - 11.49 - 82.914136 - 9/2+ - -0.970669 - 36 - - - 57.00 - 83.911507 - 0+ - 36 - - - 84.9125273 - 3.39201e+08 - 36 - - - 17.30 - 85.91061073 - 0+ - 36 - - - 86.91335486 - 4578 - 36 - - - 87.914447 - 10224 - 36 - - - 88.91763 - 189 - 36 - - - 89.919517 - 32.32 - 36 - - - 90.92345 - 8.57 - 36 - - - 91.926156 - 1.84 - 36 - - - 92.93127 - 1.286 - 36 - - - 93.93436 - 0.2 - 36 - - - 94.93984 - 0.78 - 36 - - - 95.94307 - 36 - - - 96.94856 - 36 - - - 97.95191 - 36 - - - 98.9576 - 36 - - - 99.96114 - 36 - - - - - 70.96532 - 37 - - - 71.95908 - 37 - - - 72.95056 - 37 - - - 73.944265 - 0.0649 - 37 - - - 74.93857 - 19 - 37 - - - 75.9350722 - 36.5 - 37 - - - 76.930408 - 226.2 - 37 - - - 77.928141 - 1059.6 - 37 - - - 78.923989 - 1374 - 37 - - - 79.922519 - 34 - 37 - - - 80.918996 - 16473.6 - 37 - - - 81.9182086 - 76.38 - 37 - - - 82.91511 - 7.44768e+06 - 37 - - - 83.914385 - 2.83133e+06 - 37 - - - 72.17 - 84.91178974 - 5/2- - +1.3530 - 37 - - - 85.91116742 - -1.6920 - 1.60972e+06 - 1.774 - 99.99 - - 0.0052 - 37 - - - 27.83 - 86.90918053 - 3/2- - +2.75124 - 47500000000 - 37 - - - 87.91131559 - 1066.8 - 37 - - - 88.912278 - 909 - 37 - - - 89.914802 - 158 - 37 - - - 90.916537 - 58.4 - 37 - - - 91.919729 - 4.492 - 37 - - - 92.922042 - 5.84 - 37 - - - 93.926405 - 2.702 - 37 - - - 94.929303 - 0.3775 - 37 - - - 95.93427 - 0.199 - 37 - - - 96.93735 - 0.1699 - 37 - - - 97.94179 - 0.114 - 37 - - - 98.94538 - 0.0503 - 37 - - - 99.94987 - 0.051 - 37 - - - 100.9532 - 0.032 - 37 - - - 101.95887 - 0.037 - 37 - - - - - 72.96597 - 38 - - - 73.95631 - 38 - - - 74.94995 - 0.071 - 38 - - - 75.94177 - 8.9 - 38 - - - 76.937945 - 9 - 38 - - - 77.93218 - 150 - 38 - - - 78.929708 - 135 - 38 - - - 79.924521 - 6378 - 38 - - - 80.923212 - 1338 - 38 - - - 81.918402 - 2.20752e+06 - 38 - - - 82.917557 - 116676 - 38 - - - 0.56 - 83.913425 - 0+ - 38 - - - 84.912933 - 9/2+ - 5.60218e+06 - 1.08 - 100 - 38 - - - 9.86 - 85.9092602 - 0+ - 38 - - - 7.00 - 86.9088771 - 9/2+ - -1.093 - 38 - - - 82.58 - 87.9056121 - 0+ - 38 - - - 88.9074507 - 4.36579e+06 - 38 - - - 89.907738 - 9.07921e+08 - 38 - - - 90.910203 - 34668 - 38 - - - 91.911038 - 9756 - 38 - - - 92.914026 - 445.38 - 38 - - - 93.915361 - 75.3 - 38 - - - 94.919359 - 23.9 - 38 - - - 95.921697 - 1.07 - 38 - - - 96.926153 - 0.426 - 38 - - - 97.928453 - 0.653 - 38 - - - 98.93324 - 0.269 - 38 - - - 99.93535 - 0.202 - 38 - - - 100.94052 - 0.118 - 38 - - - 101.94302 - 38 - - - 102.94895 - 38 - - - 103.95233 - 38 - - - 104.95858 - 38 - - - - - 75.95845 - 39 - - - 76.94965 - 39 - - - 77.94361 - 39 - - - 78.93735 - 14.8 - 39 - - - 79.93428 - 35 - 39 - - - 80.92913 - 70.4 - 39 - - - 81.92679 - 9.5 - 39 - - - 82.92235 - 424.8 - 39 - - - 83.92039 - 4.6 - 39 - - - 84.916433 - 9648 - 39 - - - 85.914886 - 53064 - 39 - - - 86.9108757 - 287280 - 39 - - - 87.9095011 - 9.21456e+06 - 39 - - - 100 - 88.9058483 - 1/2- - -0.1374153 - 39 - - - 89.9071519 - 2- - -1.630 - 230400 - 2.283 - 100.0 - 39 - - - 90.907305 - 5.05526e+06 - 39 - - - 91.908949 - 12744 - 39 - - - 92.909583 - 36648 - 39 - - - 93.911595 - 1122 - 39 - - - 94.912821 - 618 - 39 - - - 95.915891 - 5.34 - 39 - - - 96.918134 - 3.75 - 39 - - - 97.922203 - 39 - - - 98.924636 - 39 - - - 99.92776 - 39 - - - 100.93031 - 39 - - - 101.93356 - 39 - - - 102.93673 - 39 - - - 103.94105 - 39 - - - 104.94487 - 39 - - - 105.94979 - 39 - - - 106.95414 - 39 - - - 107.95948 - 39 - - - - - 77.95523 - 40 - - - 78.94916 - 40 - - - 79.9404 - 40 - - - 80.93721 - 15 - 40 - - - 81.93109 - 32 - 40 - - - 82.92865 - 44 - 40 - - - 83.92325 - 1554 - 40 - - - 84.92147 - 471.6 - 40 - - - 85.91647 - 59400 - 40 - - - 86.914816 - 6048 - 40 - - - 87.910227 - 7.20576e+06 - 40 - - - 88.90889 - 282276 - 40 - - - 51.45 - 89.9047044 - 0+ - 40 - - - 11.22 - 90.9056458 - 5/2+ - -1.30362 - 40 - - - 17.15 - 91.9050408 - 0+ - 40 - - - 92.906476 - 5/2+ - 1530000 - 0.09 - 100.0 - 40 - - - 17.38 - 93.9063152 - 0+ - 40 - - - 94.9080426 - 5/2+ - 5.53133e+06 - 1.121 - 100.0 - 40 - - - 2.80 - 95.9082734 - 0+ - 40 - - - 96.9109531 - 60876 - 40 - - - 97.912735 - 30.7 - 40 - - - 98.916512 - 2.1 - 40 - - - 99.91776 - 7.1 - 40 - - - 100.92114 - 2.3 - 40 - - - 101.92298 - 2.9 - 40 - - - 102.9266 - 1.3 - 40 - - - 103.92878 - 1.2 - 40 - - - 104.93305 - 40 - - - 105.93591 - 40 - - - 106.94075 - 40 - - - 107.94396 - 40 - - - 108.94924 - 40 - - - 109.95287 - 40 - - - - - 80.94903 - 41 - - - 81.94313 - 41 - - - 82.93671 - 4.1 - 41 - - - 83.93357 - 12 - 41 - - - 84.92791 - 20.9 - 41 - - - 85.92504 - 88 - 41 - - - 86.92036 - 156 - 41 - - - 87.91833 - 870 - 41 - - - 88.913418 - 6840 - 41 - - - 89.911265 - 52560 - 41 - - - 90.906996 - 2.14445e+10 - 41 - - - 91.907194 - 41 - - - 100 - 92.9063781 - 9/2+ - 41 - - - 93.9072839 - 41 - - - 94.9068358 - 9/2+ - +6.123 - 3.02184e+06 - 0.925 - 100.0 - 41 - - - 95.908101 - 84060 - 41 - - - 96.9080986 - 4326 - 41 - - - 97.910328 - 2.86 - 41 - - - 98.911618 - 15 - 41 - - - 99.914182 - 41 - - - 100.915252 - 41 - - - 101.91804 - 41 - - - 102.91914 - 41 - - - 103.92246 - 41 - - - 104.92394 - 41 - - - 105.92797 - 41 - - - 106.93031 - 41 - - - 107.93484 - 41 - - - 108.93763 - 41 - - - 109.94244 - 41 - - - 110.94565 - 41 - - - 111.95083 - 41 - - - 112.9547 - 41 - - - - - 82.94874 - 42 - - - 83.94009 - 42 - - - 84.93655 - 42 - - - 85.9307 - 19.6 - 42 - - - 86.92733 - 13.4 - 42 - - - 87.921953 - 480 - 42 - - - 88.91948 - 122.4 - 42 - - - 89.913937 - 20016 - 42 - - - 90.91175 - 929.4 - 42 - - - 14.84 - 91.906811 - 0+ - 42 - - - 92.906813 - 5/2+ - 3500 - - 100.0 - 42 - - - 9.25 - 93.9050883 - 0+ - 42 - - - 15.92 - 94.9058421 - 5/2+ - -0.9133 - 42 - - - 16.68 - 95.9046795 - 0+ - 42 - - - 9.55 - 96.9060215 - 5/2+ - -0.9133 - 42 - - - 24.13 - 97.9054082 - 0+ - 42 - - - 98.9077119 - 1/2+ - 237384 - 1.357 - 100.0 - 42 - - - 9.63 - 99.907477 - 0+ - 42 - - - 100.910347 - 876.6 - 42 - - - 101.910297 - 678 - 42 - - - 102.91321 - 67.5 - 42 - - - 103.91376 - 60 - 42 - - - 104.91697 - 35.6 - 42 - - - 105.918137 - 8.4 - 42 - - - 106.92169 - 3.5 - 42 - - - 107.92345 - 1.09 - 42 - - - 108.92781 - 0.53 - 42 - - - 109.92973 - 0.3 - 42 - - - 110.93441 - 42 - - - 111.93684 - 42 - - - 112.94188 - 42 - - - 113.94492 - 42 - - - 114.95029 - 42 - - - - - 84.94883 - 43 - - - 85.94288 - 43 - - - 86.93653 - 43 - - - 87.93268 - 6.4 - 43 - - - 88.92717 - 12.8 - 43 - - - 89.92356 - 49.2 - 43 - - - 90.91843 - 188.4 - 43 - - - 91.91526 - 253.8 - 43 - - - 92.910249 - 9900 - 43 - - - 93.909657 - 17580 - 43 - - - 94.907657 - 72000 - 43 - - - 95.907871 - 369792 - 43 - - - 96.906365 - 9/2+ - 2600000 - 0.32 - 100.0 - 43 - - - 97.907216 - 43 - - - 98.9062547 - 9/2+ - +5.6847 - 211100 - 0.293 - 100.0 - 43 - - - 99.9076578 - 15.8 - 43 - - - 100.907315 - 853.2 - 43 - - - 101.909215 - 5.28 - 43 - - - 102.909181 - 54.2 - 43 - - - 103.91145 - 1098 - 43 - - - 104.91166 - 456 - 43 - - - 105.914358 - 43 - - - 106.91508 - 43 - - - 107.91846 - 43 - - - 108.91998 - 43 - - - 109.92382 - 43 - - - 110.92569 - 43 - - - 111.92915 - 43 - - - 112.93159 - 43 - - - 113.93588 - 43 - - - 114.93869 - 43 - - - 115.94337 - 43 - - - 116.94648 - 43 - - - 117.95148 - 43 - - - - - 86.94918 - 44 - - - 87.94026 - 44 - - - 88.93611 - 44 - - - 89.92989 - 11 - 44 - - - 90.92629 - 9 - 44 - - - 91.92012 - 219 - 44 - - - 92.91705 - 59.7 - 44 - - - 93.91136 - 3108 - 44 - - - 94.910413 - 5914.8 - 44 - - - 5.54 - 95.907598 - 0+ - 44 - - - 96.907555 - 5/2+ - +0.687 - 250560 - 1.2 - 100.0 - 44 - - - 1.87 - 97.905287 - 0+ - 44 - - - 12.76 - 98.9059393 - 5/2+ - +0.6413 - 44 - - - 12.60 - 99.9042195 - 0+ - 44 - - - 17.06 - 100.9055821 - 5/2+ - -0.7188 - 44 - - - 31.55 - 101.9043493 - 0+ - 44 - - - 102.9063238 - 5/2+ - +0.67 - 3.39206e+06 - 0.767 - 100.0 - 44 - - - 18.62 - 103.905433 - 0+ - 44 - - - 104.907753 - 15984 - 44 - - - 105.907329 - 3.22782e+07 - 44 - - - 106.90991 - 225 - 44 - - - 107.91017 - 273 - 44 - - - 108.9132 - 34.5 - 44 - - - 109.91414 - 14.6 - 44 - - - 110.9177 - 2.12 - 44 - - - 111.91897 - 1.75 - 44 - - - 112.92249 - 0.8 - 44 - - - 113.92428 - 0.53 - 44 - - - 114.92869 - 0.4 - 44 - - - 115.93081 - 44 - - - 116.93558 - 44 - - - 117.93782 - 44 - - - 118.94284 - 44 - - - 119.94531 - 44 - - - - - 88.94884 - 45 - - - 89.94287 - 45 - - - 90.93655 - 45 - - - 91.93198 - 45 - - - 92.92574 - 45 - - - 93.9217 - 70.6 - 45 - - - 94.9159 - 301.2 - 45 - - - 95.914461 - 594 - 45 - - - 96.91134 - 1842 - 45 - - - 97.910708 - 522 - 45 - - - 98.908132 - 1.39104e+06 - 45 - - - 99.908122 - 74880 - 45 - - - 100.906164 - 1.04069e+08 - 45 - - - 101.906843 - 1.78848e+07 - 45 - - - 100 - 102.905504 - 1/2- - -0.08840 - 45 - - - 103.906656 - 42.3 - 45 - - - 104.905694 - 127296 - 45 - - - 105.907287 - 29.8 - 45 - - - 106.906748 - 1302 - 45 - - - 107.90873 - 16.8 - 45 - - - 108.908737 - 80 - 45 - - - 109.91114 - 45 - - - 110.91159 - 45 - - - 111.91439 - 45 - - - 112.91553 - 45 - - - 113.91881 - 45 - - - 114.92033 - 45 - - - 115.92406 - 45 - - - 116.92598 - 45 - - - 117.93007 - 45 - - - 118.93211 - 45 - - - 119.93641 - 45 - - - 120.93872 - 45 - - - 121.94321 - 45 - - - - - 90.94911 - 46 - - - 91.94042 - 46 - - - 92.93591 - 46 - - - 93.92877 - 46 - - - 94.92469 - 46 - - - 95.91816 - 122 - 46 - - - 96.91648 - 186 - 46 - - - 97.912721 - 1062 - 46 - - - 98.911768 - 1284 - 46 - - - 99.908506 - 313632 - 46 - - - 100.908289 - 30492 - 46 - - - 1.02 - 101.905609 - 0+ - 46 - - - 102.906087 - 5/2+ - 1.46802e+06 - 0.56 - 100.0 - 46 - - - 11.14 - 103.904036 - 0+ - 46 - - - 22.33 - 104.905085 - 5/2+ - -0.642 - 46 - - - 27.33 - 105.903486 - 0+ - 46 - - - 106.905133 - 5/2+ - 6500000 - 0.035 - 100.0 - 46 - - - 26.46 - 107.903892 - 0+ - 46 - - - 108.90595 - 5/2+ - 49324.3 - 1.116 - 100.0 - 46 - - - 11.72 - 109.905153 - 0+ - 46 - - - 110.907671 - 1404 - 46 - - - 111.907314 - 75708 - 46 - - - 112.91015 - 93 - 46 - - - 113.910363 - 145.2 - 46 - - - 114.91368 - 25 - 46 - - - 115.91416 - 11.8 - 46 - - - 116.91784 - 4.3 - 46 - - - 117.91898 - 1.9 - 46 - - - 118.92311 - 0.92 - 46 - - - 119.92469 - 0.5 - 46 - - - 120.92887 - 46 - - - 121.93055 - 46 - - - 122.93493 - 46 - - - 123.93688 - 46 - - - - - 92.94978 - 47 - - - 93.94278 - 0.01 - 47 - - - 94.93548 - 47 - - - 95.93068 - 5.1 - 47 - - - 96.92397 - 19 - 47 - - - 97.92157 - 46.7 - 47 - - - 98.9176 - 124 - 47 - - - 99.9161 - 120.6 - 47 - - - 100.9128 - 666 - 47 - - - 101.91169 - 774 - 47 - - - 102.908973 - 3942 - 47 - - - 103.908629 - 4152 - 47 - - - 104.906529 - 1/2- - 3.56746e+06 - 47 - - - 105.906669 - 1+ - 1437.6 - 47 - - - 51.839 - 106.905097 - 1/2- - -0.113570 - 47 - - - 107.905956 - 1+ - 142.2 - 47 - - - 48.161 - 108.904752 - 1/2- - -0.1306905 - 47 - - - 109.906107 - 1+ - 24.6 - 47 - - - 110.905291 - 643680 - 47 - - - 111.907005 - 11268 - 47 - - - 112.906567 - 19332 - 47 - - - 113.908804 - 4.6 - 47 - - - 114.90876 - 1200 - 47 - - - 115.91136 - 160.8 - 47 - - - 116.91168 - 72.8 - 47 - - - 117.91458 - 3.76 - 47 - - - 118.91567 - 2.1 - 47 - - - 119.91879 - 1.23 - 47 - - - 120.91985 - 0.78 - 47 - - - 121.92353 - 0.48 - 47 - - - 122.9249 - 0.309 - 47 - - - 123.92864 - 0.172 - 47 - - - 124.93043 - 0.166 - 47 - - - 125.9345 - 0.107 - 47 - - - 126.93677 - 0.109 - 47 - - - 127.94117 - 0.058 - 47 - - - 128.94369 - 47 - - - 129.95045 - 47 - - - - - 94.94987 - 48 - - - 95.93977 - 48 - - - 96.93494 - 3 - 48 - - - 97.9274 - 9.2 - 48 - - - 98.92501 - 16 - 48 - - - 99.92029 - 49.1 - 48 - - - 100.91868 - 81.6 - 48 - - - 101.91446 - 330 - 48 - - - 102.913419 - 438 - 48 - - - 103.909849 - 3462 - 48 - - - 104.909468 - 3330 - 48 - - - 1.25 - 105.906459 - 0+ - 48 - - - 106.906618 - 5/2+ - 23400 - - 100.0 - 48 - - - 0.89 - 107.904184 - 0+ - 48 - - - 108.904982 - 5/2+ - -0.8270 - 3.99686e+07 - 0.16 - 100.0 - 48 - - - 12.49 - 109.9030021 - 0+ - 48 - - - 12.80 - 110.9041781 - 1/2+ - -0.5943 - 48 - - - 24.13 - 111.9027578 - 0+ - 48 - - - 12.22 - 112.9044017 - 1/2+ - -0.6217 - 48 - - - 28.73 - 113.9033585 - 0+ - 48 - - - 114.905431 - 1/2+ - -0.648 - 192456 - 48 - - - 7.49 - 115.904756 - 0+ - 48 - - - 116.907219 - 8964 - 48 - - - 117.906915 - 3018 - 48 - - - 118.90992 - 161.4 - 48 - - - 119.90985 - 50.8 - 48 - - - 120.91298 - 13.5 - 48 - - - 121.91333 - 5.24 - 48 - - - 122.917 - 2.1 - 48 - - - 123.91765 - 1.25 - 48 - - - 124.92125 - 0.65 - 48 - - - 125.92235 - 0.506 - 48 - - - 126.92644 - 0.37 - 48 - - - 127.92776 - 0.34 - 48 - - - 128.93215 - 0.27 - 48 - - - 129.9339 - 0.2 - 48 - - - 130.94067 - 48 - - - 131.94555 - 48 - - - - - 96.94954 - 49 - - - 97.94214 - 49 - - - 98.93422 - 49 - - - 99.93111 - 7 - 49 - - - 100.92634 - 15.1 - 49 - - - 101.92409 - 22 - 49 - - - 102.919914 - 65 - 49 - - - 103.9183 - 108 - 49 - - - 104.914674 - 304.2 - 49 - - - 105.913465 - 372 - 49 - - - 106.910295 - 1944 - 49 - - - 107.909698 - 3480 - 49 - - - 108.907151 - 15120 - 49 - - - 109.907165 - 17640 - 49 - - - 110.905103 - 9/2+ - 242326 - 49 - - - 111.905532 - 1+ - 898.2 - 49 - - - 4.29 - 112.904058 - 1/2- - +5.5229 - 49 - - - 113.904914 - 5+ - 71.9 - 49 - - - 95.71 - 114.903878 - 9/2+ - +5.534 - 49 - - - 115.90526 - 1+ - 14.1 - 49 - - - 116.904514 - 2592 - 49 - - - 117.906354 - 5 - 49 - - - 118.905845 - 144 - 49 - - - 119.90796 - 3.08 - 49 - - - 120.907846 - 23.1 - 49 - - - 121.91028 - 1.5 - 49 - - - 122.910438 - 5.98 - 49 - - - 123.91318 - 3.11 - 49 - - - 124.9136 - 2.36 - 49 - - - 125.91646 - 1.6 - 49 - - - 126.91735 - 1.09 - 49 - - - 127.92017 - 0.84 - 49 - - - 128.9217 - 0.61 - 49 - - - 129.92497 - 0.32 - 49 - - - 130.92685 - 0.282 - 49 - - - 131.93299 - 0.201 - 49 - - - 132.93781 - 0.18 - 49 - - - 133.94415 - 0.138 - 49 - - - 134.94933 - 49 - - - - - 98.94933 - 50 - - - 99.93904 - 0.94 - 50 - - - 100.93606 - 3 - 50 - - - 101.9303 - 4.5 - 50 - - - 102.9281 - 7 - 50 - - - 103.92314 - 20.8 - 50 - - - 104.92135 - 31 - 50 - - - 105.91688 - 115 - 50 - - - 106.91564 - 174 - 50 - - - 107.911925 - 618 - 50 - - - 108.911283 - 1080 - 50 - - - 109.907843 - 14796 - 50 - - - 110.907734 - 2118 - 50 - - - 0.97 - 111.904818 - 0+ - 50 - - - 112.905171 - 1/2+ - 9.94378e+06 - 1.02 - 100.0 - 50 - - - 0.66 - 113.902779 - 0+ - 50 - - - 0.34 - 114.903342 - 1/2+ - -0.91883 - 50 - - - 14.54 - 115.901741 - 0+ - 50 - - - 7.68 - 116.902952 - 1/2+ - 1.00104 - 50 - - - 24.22 - 117.901603 - 0+ - 50 - - - 8.59 - 118.903308 - 1/2+ - -1.04728 - 50 - - - 32.58 - 119.9021947 - 0+ - 50 - - - 120.9042355 - 11/2- - 97416 - 50 - - - 4.63 - 121.903439 - 0+ - 50 - - - 122.9057208 - 11/2- - 1.11629e+07 - 50 - - - 5.79 - 123.9052739 - 0+ - 50 - - - 124.9077841 - 832896 - 50 - - - 125.907653 - 50 - - - 126.91036 - 7560 - 50 - - - 127.910537 - 3544.2 - 50 - - - 128.91348 - 133.8 - 50 - - - 129.913967 - 223.2 - 50 - - - 130.917 - 56 - 50 - - - 131.917816 - 39.7 - 50 - - - 132.92383 - 1.45 - 50 - - - 133.92829 - 1.12 - 50 - - - 134.93473 - 50 - - - 135.93934 - 50 - - - 136.94599 - 50 - - - - - 102.93969 - 51 - - - 103.93647 - 51 - - - 104.93149 - 51 - - - 105.92879 - 51 - - - 106.92415 - 51 - - - 107.92216 - 7.4 - 51 - - - 108.918132 - 17 - 51 - - - 109.91675 - 23 - 51 - - - 110.91316 - 75 - 51 - - - 111.912398 - 51.4 - 51 - - - 112.909372 - 400.2 - 51 - - - 113.90927 - 209.4 - 51 - - - 114.906598 - 1926 - 51 - - - 115.906794 - 948 - 51 - - - 116.904836 - 10080 - 51 - - - 117.905529 - 216 - 51 - - - 118.903942 - 137484 - 51 - - - 119.905072 - 1+ - 953.4 - 51 - - - 57.21 - 120.9038157 - 5/2+ - +3.3592 - 51 - - - 121.9051737 - 2- - 235336 - 51 - - - 42.79 - 122.904214 - 7/2+ - +2.5466 - 51 - - - 123.9059357 - 3- - 5.20128e+06 - 51 - - - 124.9052538 - 8.69826e+07 - 51 - - - 125.90725 - 1.07654e+06 - 51 - - - 126.906924 - 332640 - 51 - - - 127.909169 - 32436 - 51 - - - 128.909148 - 15840 - 51 - - - 129.911656 - 2370 - 51 - - - 130.911982 - 1381.8 - 51 - - - 131.914467 - 167.4 - 51 - - - 132.915252 - 150 - 51 - - - 133.92038 - 0.78 - 51 - - - 134.92517 - 1.71 - 51 - - - 135.93035 - 0.82 - 51 - - - 136.93531 - 51 - - - 137.94079 - 51 - - - 138.94598 - 51 - - - - - 104.94364 - 52 - - - 105.9375 - 6e-05 - 52 - - - 106.93501 - 0.0031 - 52 - - - 107.92944 - 2.1 - 52 - - - 108.92742 - 4.6 - 52 - - - 109.92241 - 18.6 - 52 - - - 110.92111 - 19.3 - 52 - - - 111.91701 - 52 - - - 112.91589 - 102 - 52 - - - 113.91209 - 912 - 52 - - - 114.9119 - 348 - 52 - - - 115.90846 - 8964 - 52 - - - 116.908645 - 3720 - 52 - - - 117.905828 - 518400 - 52 - - - 118.906404 - 57708 - 52 - - - 0.09 - 119.90402 - 0+ - 52 - - - 120.904936 - 1/2+ - 1.44979e+06 - 52 - - - 2.55 - 121.9030439 - 0+ - -0.7359 - 0.052 - 100.0 - 52 - - - 0.89 - 122.90427 - 1/2+ - 52 - - - 4.74 - 123.9028179 - 0+ - -0.8871 - 52 - - - 7.07 - 124.9044307 - 1/2+ - 52 - - - 18.84 - 125.9033117 - 0+ - 0.697 - 100.0 - 52 - - - 126.9052263 - 3/2+ - 33660 - 52 - - - 31.74 - 127.9044631 - 0+ - 52 - - - 128.9065982 - 3/2+ - 4176 - 52 - - - 34.08 - 129.9062244 - 0+ - 52 - - - 130.9085239 - 1500 - 52 - - - 131.908553 - 276826 - 52 - - - 132.910955 - 750 - 52 - - - 133.911369 - 2508 - 52 - - - 134.91645 - 19 - 52 - - - 135.9201 - 17.5 - 52 - - - 136.92532 - 2.49 - 52 - - - 137.92922 - 1.4 - 52 - - - 138.93473 - 52 - - - 139.93885 - 52 - - - 140.94465 - 52 - - - 141.94908 - 52 - - - - - 107.94348 - 0.036 - 53 - - - 108.93815 - 1e-04 - 53 - - - 109.93524 - 0.65 - 53 - - - 110.93028 - 2.5 - 53 - - - 111.92797 - 3.42 - 53 - - - 112.92364 - 6.6 - 53 - - - 113.92185 - 2.1 - 53 - - - 114.91805 - 78 - 53 - - - 115.91681 - 2.91 - 53 - - - 116.91365 - 133.2 - 53 - - - 117.913074 - 822 - 53 - - - 118.91007 - 1146 - 53 - - - 119.910048 - 4860 - 53 - - - 120.907367 - 7632 - 53 - - - 121.907589 - 217.8 - 53 - - - 122.905589 - 47772 - 53 - - - 123.9062099 - 360806 - 53 - - - 124.9046302 - 5/2+ - 5.13285e+06 - 53 - - - 125.905624 - 2- - 1.1327e+06 - 53 - - - 100 - 126.904473 - 5/2+ - +2.808 - 53 - - - 127.905809 - 1+ - 1499.4 - 53 - - - 128.904988 - +2.617 - 15700000 - 0.193 - 100.0 - 53 - - - 129.906674 - 44496 - 53 - - - 130.9061246 - 692988 - 53 - - - 131.907997 - 8262 - 53 - - - 132.907797 - 74880 - 53 - - - 133.909744 - 3150 - 53 - - - 134.910048 - 23652 - 53 - - - 135.91465 - 83.4 - 53 - - - 136.917871 - 24.5 - 53 - - - 137.92235 - 6.49 - 53 - - - 138.9261 - 2.29 - 53 - - - 139.931 - 0.86 - 53 - - - 140.93503 - 0.43 - 53 - - - 141.94018 - 53 - - - 142.94456 - 53 - - - 143.94999 - 53 - - - - - 109.94428 - 6e-07 - 54 - - - 110.9416 - 0.74 - 54 - - - 111.93562 - 2.7 - 54 - - - 112.93334 - 2.74 - 54 - - - 113.92798 - 10 - 54 - - - 114.926294 - 18 - 54 - - - 115.921581 - 59 - 54 - - - 116.920359 - 61 - 54 - - - 117.916179 - 228 - 54 - - - 118.915411 - 348 - 54 - - - 119.911784 - 2400 - 54 - - - 120.911462 - 2406 - 54 - - - 121.908368 - 72360 - 54 - - - 122.908482 - 7488 - 54 - - - 0.09 - 123.905893 - 0+ - 54 - - - 124.9063955 - 1/2+ - 60840 - - 100.0 - 54 - - - 0.09 - 125.904274 - 0+ - 54 - - - 126.905184 - 1/2+ - 3.14496e+06 - 0.44 - 100.0 - 54 - - - 1.92 - 127.9035313 - 0+ - 54 - - - 26.44 - 128.9047794 - 1/2+ - -0.7768 - 54 - - - 4.08 - 129.903508 - 0+ - 54 - - - 21.18 - 130.9050824 - 3/2+ - +0.691861 - 54 - - - 26.89 - 131.9041535 - 0+ - 54 - - - 132.9059107 - 3/2+ - 452995 - 54 - - - 10.44 - 133.9053945 - 0+ - 54 - - - 134.907227 - 3/2+ - 32904 - 54 - - - 8.87 - 135.907219 - 0+ - 54 - - - 136.911562 - 229.08 - 54 - - - 137.91395 - 844.8 - 54 - - - 138.918793 - 39.68 - 54 - - - 139.92164 - 13.6 - 54 - - - 140.92665 - 1.73 - 54 - - - 141.92971 - 1.22 - 54 - - - 142.93511 - 0.3 - 54 - - - 143.93851 - 1.15 - 54 - - - 144.94407 - 0.9 - 54 - - - 145.94775 - 54 - - - 146.95356 - 54 - - - - - 111.9503 - 55 - - - 112.94449 - 1.7e-05 - 55 - - - 113.94145 - 0.57 - 55 - - - 114.93591 - 1.4 - 55 - - - 115.93337 - 3.84 - 55 - - - 116.92867 - 8.4 - 55 - - - 117.926559 - 14 - 55 - - - 118.922377 - 43 - 55 - - - 119.920677 - 64 - 55 - - - 120.917229 - 155 - 55 - - - 121.91611 - 21 - 55 - - - 122.912996 - 356.4 - 55 - - - 123.912258 - 30.8 - 55 - - - 124.909728 - 2700 - 55 - - - 125.909452 - 98.4 - 55 - - - 126.907418 - 22500 - 55 - - - 127.907749 - 219.6 - 55 - - - 128.906064 - 115416 - 55 - - - 129.906709 - 1752.6 - 55 - - - 130.905464 - 837130 - 55 - - - 131.9064343 - 559786 - 55 - - - 100 - 132.9054519 - 7/2+ - +2.579 - 55 - - - 133.9067185 - 4+ - 6.51155e+07 - 55 - - - 134.905977 - 7/2+ - +2.729 - 2300000 - 2.05 - 100.0 - 55 - - - 135.9073116 - 1.13702e+06 - 55 - - - 136.9070895 - 9.48288e+08 - 55 - - - 137.911017 - 2004.6 - 55 - - - 138.913364 - 556.2 - 55 - - - 139.917282 - 63.7 - 55 - - - 140.920046 - 24.94 - 55 - - - 141.924299 - 1.7 - 55 - - - 142.927352 - 1.78 - 55 - - - 143.932077 - 1.01 - 55 - - - 144.935526 - 0.594 - 55 - - - 145.94029 - 0.321 - 55 - - - 146.94416 - 0.225 - 55 - - - 147.94922 - 0.158 - 55 - - - 148.95293 - 55 - - - 149.95817 - 55 - - - 150.96219 - 55 - - - - - 113.95068 - 0.43 - 56 - - - 114.94737 - 0.4 - 56 - - - 115.94138 - 0.3 - 56 - - - 116.9385 - 1.75 - 56 - - - 117.93304 - 5.5 - 56 - - - 118.93066 - 5.4 - 56 - - - 119.92604 - 32 - 56 - - - 120.92405 - 29.7 - 56 - - - 121.9199 - 117 - 56 - - - 122.918781 - 162 - 56 - - - 123.915094 - 660 - 56 - - - 124.914473 - 210 - 56 - - - 125.91125 - 6000 - 56 - - - 126.911094 - 762 - 56 - - - 127.908318 - 209952 - 56 - - - 128.908679 - 8028 - 56 - - - 0.106 - 129.9063208 - 0+ - 56 - - - 130.906941 - 1/2+ - 993600 - 1.16 - 100.0 - 56 - - - 0.101 - 131.9050613 - 0+ - 56 - - - 132.9060075 - 1/2+ - 3.31443e+08 - 56 - - - 2.417 - 133.9045084 - 0+ - 56 - - - 6.592 - 134.9056886 - 3/2+ - +0.8365 - 56 - - - 7.854 - 135.9045759 - 0+ - 56 - - - 11.232 - 136.9058274 - 3/2+ - +0.9357 - 56 - - - 71.698 - 137.9052472 - 0+ - 56 - - - 138.9088413 - 4983.6 - 56 - - - 139.910605 - 1.10177e+06 - 56 - - - 140.914411 - 1096.2 - 56 - - - 141.916453 - 636 - 56 - - - 142.920627 - 14.33 - 56 - - - 143.922953 - 11.5 - 56 - - - 144.92763 - 4.31 - 56 - - - 145.93022 - 2.22 - 56 - - - 146.93495 - 0.893 - 56 - - - 147.93772 - 0.607 - 56 - - - 148.94258 - 0.344 - 56 - - - 149.94568 - 0.3 - 56 - - - 150.95081 - 56 - - - 151.95427 - 56 - - - 152.95961 - 56 - - - - - 116.95007 - 57 - - - 117.94673 - 57 - - - 118.94099 - 57 - - - 119.93807 - 2.8 - 57 - - - 120.93301 - 5.3 - 57 - - - 121.93071 - 8.7 - 57 - - - 122.92624 - 17 - 57 - - - 123.92457 - 29 - 57 - - - 124.920816 - 76 - 57 - - - 125.91951 - 54 - 57 - - - 126.916375 - 306 - 57 - - - 127.91559 - 300 - 57 - - - 128.912693 - 696 - 57 - - - 129.912369 - 522 - 57 - - - 130.91007 - 3540 - 57 - - - 131.9101 - 17280 - 57 - - - 132.90822 - 14083.2 - 57 - - - 133.908514 - 387 - 57 - - - 134.906977 - 70200 - 57 - - - 135.90764 - 592.2 - 57 - - - 136.906494 - 57 - - - 0.090 - 137.907112 - 5- - +3.707 - 105000000000 - 1.04 - 33.6 - 1.75 - 66.4 - 57 - - - 99.910 - 138.9063533 - 7/2+ - +2.778 - 57 - - - 139.9094776 - 3- - +0.73 - 144988 - 3.761 - 100.0 - 57 - - - 140.910962 - 14112 - 57 - - - 141.914079 - 5466 - 57 - - - 142.916063 - 852 - 57 - - - 143.9196 - 40.8 - 57 - - - 144.92165 - 24.8 - 57 - - - 145.92579 - 6.27 - 57 - - - 146.92824 - 4.015 - 57 - - - 147.93223 - 1.05 - 57 - - - 148.93473 - 1.05 - 57 - - - 149.93877 - 0.86 - 57 - - - 150.94172 - 57 - - - 151.94625 - 57 - - - 152.94962 - 57 - - - 153.9545 - 57 - - - 154.95835 - 57 - - - - - 118.95276 - 58 - - - 119.94664 - 58 - - - 120.94342 - 58 - - - 121.93791 - 58 - - - 122.9354 - 3.2 - 58 - - - 123.93041 - 6 - 58 - - - 124.92844 - 9 - 58 - - - 125.92397 - 50 - 58 - - - 126.92273 - 31 - 58 - - - 127.91891 - 4.1 - 58 - - - 128.9181 - 210 - 58 - - - 129.91474 - 1500 - 58 - - - 130.91442 - 612 - 58 - - - 131.91146 - 12636 - 58 - - - 132.911515 - 5820 - 58 - - - 133.908925 - 273024 - 58 - - - 134.909151 - 63720 - 58 - - - 0.185 - 135.907172 - 0+ - 58 - - - 136.907806 - 3/2+ - 32400 - - 100.0 - - 100.0 - 58 - - - 0.251 - 137.905991 - 0+ - 58 - - - 138.906653 - 0.9 - 1.18921e+07 - 0.27 - 100.0 - 58 - - - 88.450 - 139.9054387 - 0+ - 58 - - - 140.9082763 - 7/2- - 0.97 - 2.80809e+06 - 0.581 - 100.0 - 58 - - - 11.114 - 141.909244 - 0+ - 58 - - - 142.912386 - 118940 - 58 - - - 143.913647 - 2.46148e+07 - 58 - - - 144.91723 - 180.6 - 58 - - - 145.91876 - 811.2 - 58 - - - 146.92267 - 56.4 - 58 - - - 147.92443 - 56 - 58 - - - 148.9284 - 5.3 - 58 - - - 149.93041 - 4 - 58 - - - 150.93398 - 1.02 - 58 - - - 151.93654 - 1.4 - 58 - - - 152.94058 - 58 - - - 153.94342 - 58 - - - 154.94804 - 58 - - - 155.95126 - 58 - - - 156.95634 - 58 - - - - - 120.95536 - 59 - - - 121.95181 - 59 - - - 122.94596 - 59 - - - 123.94296 - 1.2 - 59 - - - 124.93783 - 3.3 - 59 - - - 125.93531 - 3.14 - 59 - - - 126.93083 - 4.2 - 59 - - - 127.92879 - 3.1 - 59 - - - 128.9251 - 30 - 59 - - - 129.92359 - 40 - 59 - - - 130.92026 - 91.8 - 59 - - - 131.91926 - 96 - 59 - - - 132.916331 - 390 - 59 - - - 133.91571 - 1020 - 59 - - - 134.913112 - 1440 - 59 - - - 135.912692 - 786 - 59 - - - 136.910705 - 4608 - 59 - - - 137.910755 - 87 - 59 - - - 138.908938 - 15876 - 59 - - - 139.909076 - 203.4 - 59 - - - 100 - 140.9076528 - 5/2+ - +4.3 - 59 - - - 141.9100448 - 2- - 68832 - 2.160 - 99.98 - - 0.02 - 59 - - - 142.9108169 - 1.17245e+06 - 59 - - - 143.913305 - 1036.8 - 59 - - - 144.914512 - 21542.4 - 59 - - - 145.91764 - 1449 - 59 - - - 146.918996 - 804 - 59 - - - 147.922135 - 136.2 - 59 - - - 148.92372 - 135.6 - 59 - - - 149.926673 - 6.19 - 59 - - - 150.928319 - 18.9 - 59 - - - 151.9315 - 3.63 - 59 - - - 152.93384 - 4.28 - 59 - - - 153.93752 - 2.3 - 59 - - - 154.94012 - 59 - - - 155.94427 - 59 - - - 156.94743 - 59 - - - 157.95198 - 59 - - - 158.9555 - 59 - - - - - 123.95223 - 60 - - - 124.94888 - 60 - - - 125.94322 - 60 - - - 126.9405 - 1.8 - 60 - - - 127.93539 - 4 - 60 - - - 128.93319 - 7 - 60 - - - 129.92851 - 28 - 60 - - - 130.92725 - 27 - 60 - - - 131.923321 - 105 - 60 - - - 132.92235 - 70 - 60 - - - 133.91879 - 510 - 60 - - - 134.918181 - 744 - 60 - - - 135.914976 - 3039 - 60 - - - 136.914567 - 2310 - 60 - - - 137.91195 - 18144 - 60 - - - 138.911978 - 1782 - 60 - - - 139.90955 - 291168 - 60 - - - 140.90961 - 8964 - 60 - - - 27.2 - 141.9077233 - 0+ - 60 - - - 12.2 - 142.9098143 - 7/2- - -1.08 - 60 - - - 23.8 - 143.9100873 - 0+ - 2290000000000000 - 1.83 - 100.0 - 60 - - - 8.3 - 144.9125736 - 7/2- - -0.66 - 60 - - - 17.2 - 145.9131169 - 0+ - 60 - - - 146.9161004 - 5/2- - 0.59 - 948672 - 0.91 - 100.0 - 60 - - - 5.7 - 147.916893 - 0+ - 60 - - - 148.920149 - 5/2- - 6220.8 - 1.66 - 100.0 - 60 - - - 5.6 - 149.920891 - 0+ - 60 - - - 150.923829 - 746.4 - 60 - - - 151.924682 - 684 - 60 - - - 152.927698 - 31.6 - 60 - - - 153.92948 - 25.9 - 60 - - - 154.93293 - 8.9 - 60 - - - 155.93502 - 5.47 - 60 - - - 156.93903 - 60 - - - 157.9416 - 60 - - - 158.94609 - 60 - - - 159.94909 - 60 - - - 160.95388 - 60 - - - - - 125.95752 - 61 - - - 126.95163 - 61 - - - 127.94842 - 61 - - - 128.94316 - 61 - - - 129.94045 - 61 - - - 130.93587 - 61 - - - 131.93375 - 6.3 - 61 - - - 132.92978 - 61 - - - 133.92835 - 5 - 61 - - - 134.92488 - 45 - 61 - - - 135.92357 - 47 - 61 - - - 136.920479 - 144 - 61 - - - 137.919548 - 10 - 61 - - - 138.916804 - 249 - 61 - - - 139.91604 - 9.2 - 61 - - - 140.913555 - 1254 - 61 - - - 141.912874 - 40.5 - 61 - - - 142.910933 - 2.2896e+07 - 61 - - - 143.912591 - 3.13632e+07 - 61 - - - 144.912749 - 5.58187e+08 - 61 - - - 145.914696 - 1.74394e+08 - 61 - - - 146.9151385 - +2.7 - 8.27315e+07 - 0.224 - 100.0 - 61 - - - 147.917475 - 463968 - 2.46 - 100.0 - 61 - - - 148.918334 - 3.3 - 191088 - 1.073 - 100.0 - 61 - - - 149.920984 - 9648 - 3.43 - 100.0 - 61 - - - 150.921207 - 102240 - 61 - - - 151.923497 - 247.2 - 61 - - - 152.924117 - 315 - 61 - - - 153.92646 - 103.8 - 61 - - - 154.9281 - 41.5 - 61 - - - 155.93106 - 26.7 - 61 - - - 156.93304 - 10.56 - 61 - - - 157.93656 - 4.8 - 61 - - - 158.93897 - 61 - - - 159.94299 - 61 - - - 160.94586 - 61 - - - 161.95029 - 61 - - - 162.95368 - 61 - - - - - 127.95808 - 62 - - - 128.95464 - 62 - - - 129.94892 - 62 - - - 130.94611 - 1.2 - 62 - - - 131.94069 - 4 - 62 - - - 132.93867 - 3.7 - 62 - - - 133.93397 - 10 - 62 - - - 134.93252 - 10.3 - 62 - - - 135.928276 - 47 - 62 - - - 136.92697 - 45 - 62 - - - 137.923244 - 186 - 62 - - - 138.922297 - 154.2 - 62 - - - 139.918995 - 889.2 - 62 - - - 140.918476 - 612 - 62 - - - 141.915198 - 4349.4 - 62 - - - 142.914628 - 529.8 - 62 - - - 3.07 - 143.911999 - 0+ - 62 - - - 144.91341 - 7/2- - 2.9376e+07 - 0.65 - 100.0 - 62 - - - 145.913041 - 0+ - 103100000 - 2.55 - 100.0 - 62 - - - 14.99 - 146.9148979 - 7/2- - -0.813 - 106000000000 - 2.31 - 100.0 - 62 - - - 11.24 - 147.9148227 - 0+ - 12000000000000 - 2.00 - 100.0 - 62 - - - 13.82 - 148.9171847 - 7/2- - -0.670 - 400000000000000 - 1.9 - 100.0 - 62 - - - 7.38 - 149.9172755 - 0+ - 62 - - - 150.9199324 - 7/2- - 2.83824e+09 - 0.076 - 100.0 - 62 - - - 26.75 - 151.9197324 - 0+ - 62 - - - 152.9220974 - 3/2+ - 166622 - 62 - - - 22.75 - 153.9222093 - 0+ - 62 - - - 154.9246402 - 1338 - 62 - - - 155.925528 - 33840 - 62 - - - 156.92836 - 482 - 62 - - - 157.92999 - 318 - 62 - - - 158.93321 - 11.37 - 62 - - - 159.93514 - 9.6 - 62 - - - 160.93883 - 62 - - - 161.94122 - 62 - - - 162.94536 - 62 - - - 163.94828 - 62 - - - 164.95298 - 62 - - - - - 129.96357 - 63 - - - 130.95775 - 63 - - - 131.95437 - 63 - - - 132.94924 - 63 - - - 133.94651 - 0.5 - 63 - - - 134.94182 - 1.5 - 63 - - - 135.9396 - 3.3 - 63 - - - 136.93557 - 11 - 63 - - - 137.93371 - 12.1 - 63 - - - 138.929792 - 17.9 - 63 - - - 139.92809 - 1.51 - 63 - - - 140.924931 - 40.7 - 63 - - - 141.92343 - 2.34 - 63 - - - 142.920298 - 157.8 - 63 - - - 143.918817 - 10.2 - 63 - - - 144.916265 - 512352 - 63 - - - 145.917206 - 398304 - 63 - - - 146.916746 - 2.08224e+06 - 63 - - - 147.918086 - 4.7088e+06 - 63 - - - 148.917931 - 8.04384e+06 - 63 - - - 149.919702 - 1.16368e+09 - 63 - - - 47.81 - 150.9198502 - 5/2+ - +3.464 - 63 - - - 151.9217445 - 3- - 4.26903e+08 - 63 - - - 52.19 - 152.9212303 - 5/2+ - +1.530 - 63 - - - 153.9229792 - 2.70989e+08 - 63 - - - 154.9228933 - 1.50146e+08 - 63 - - - 155.924752 - 1.31242e+06 - 63 - - - 156.925424 - 54648 - 63 - - - 157.92785 - 2754 - 63 - - - 158.929089 - 1086 - 63 - - - 159.93197 - 38 - 63 - - - 160.93368 - 26 - 63 - - - 161.93704 - 10.6 - 63 - - - 162.93921 - 63 - - - 163.94299 - 63 - - - 164.94572 - 63 - - - 165.94997 - 63 - - - 166.95321 - 63 - - - - - 133.95537 - 64 - - - 134.95257 - 64 - - - 135.94734 - 64 - - - 136.94502 - 64 - - - 137.94012 - 64 - - - 138.93824 - 4.9 - 64 - - - 139.93367 - 15.8 - 64 - - - 140.932126 - 14 - 64 - - - 141.92812 - 70.2 - 64 - - - 142.92675 - 39 - 64 - - - 143.92296 - 270 - 64 - - - 144.921709 - 1380 - 64 - - - 145.918311 - 4.17053e+06 - 64 - - - 146.919094 - 137016 - 64 - - - 147.918115 - 2.35259e+09 - 64 - - - 148.919341 - 801792 - 64 - - - 149.918659 - 64 - - - 150.920348 - 1.07136e+07 - 64 - - - 0.20 - 151.919791 - 0+ - 108000000000000 - 2.24 - 100.0 - 64 - - - 152.9217495 - 3/2+ - 2.07706e+07 - 64 - - - 2.18 - 153.9208656 - 0+ - 64 - - - 14.80 - 154.922622 - 3/2- - -0.27 - 64 - - - 20.47 - 155.9221227 - 0+ - 64 - - - 15.65 - 156.9239601 - 3/2- - -0.36 - 64 - - - 24.84 - 157.9241039 - 0+ - 64 - - - 158.9263887 - 3/2- - 66524.4 - 0.95 - 100.0 - 64 - - - 21.86 - 159.9270541 - 0+ - 64 - - - 160.9296692 - 219.6 - 64 - - - 161.930985 - 504 - 64 - - - 162.93399 - 68 - 64 - - - 163.93586 - 45 - 64 - - - 164.93938 - 64 - - - 165.9416 - 64 - - - 166.94557 - 64 - - - 167.94836 - 64 - - - 168.95287 - 64 - - - - - 135.96138 - 65 - - - 136.95598 - 65 - - - 137.95316 - 65 - - - 138.94829 - 65 - - - 139.94581 - 2.4 - 65 - - - 140.94145 - 3.5 - 65 - - - 141.93874 - 0.597 - 65 - - - 142.93512 - 12 - 65 - - - 143.93305 - 65 - - - 144.92927 - 65 - - - 145.92725 - 8 - 65 - - - 146.924045 - 6120 - 65 - - - 147.924272 - 3600 - 65 - - - 148.923246 - 14824.8 - 65 - - - 149.92366 - 12528 - 65 - - - 150.923103 - 63392.4 - 65 - - - 151.92407 - 63000 - 65 - - - 152.923435 - 202176 - 65 - - - 153.92468 - 77400 - 65 - - - 154.923505 - 459648 - 65 - - - 155.924747 - 462240 - 65 - - - 156.9240246 - 2.23906e+09 - 65 - - - 157.9254131 - 5.67648e+09 - 65 - - - 100 - 158.9253468 - 3/2+ - +1.95 - 65 - - - 159.9271676 - 3- - +1.702 - 6.24672e+06 - 1.72 - 100.0 - 65 - - - 160.9275699 - 3/2+ - 594432 - 65 - - - 161.92949 - 456 - 65 - - - 162.930648 - 1170 - 65 - - - 163.93335 - 180 - 65 - - - 164.93488 - 126.6 - 65 - - - 165.93799 - 65 - - - 166.94005 - 65 - - - 167.94364 - 65 - - - 168.94622 - 65 - - - 169.95025 - 65 - - - 170.9533 - 65 - - - - - 137.96249 - 66 - - - 138.95954 - 66 - - - 139.95401 - 66 - - - 140.95135 - 0.9 - 66 - - - 141.94637 - 2.3 - 66 - - - 142.94383 - 4.1 - 66 - - - 143.93925 - 9.1 - 66 - - - 144.93743 - 10 - 66 - - - 145.932845 - 29 - 66 - - - 146.931092 - 40 - 66 - - - 147.92715 - 186 - 66 - - - 148.927305 - 252 - 66 - - - 149.925585 - 430.2 - 66 - - - 150.926185 - 1074 - 66 - - - 151.924718 - 8568 - 66 - - - 152.925765 - 23040 - 66 - - - 153.924424 - 66 - - - 154.925754 - 35640 - 66 - - - 0.06 - 155.924283 - 0+ - 66 - - - 156.925466 - 3/2- - 29304 - 66 - - - 0.10 - 157.924409 - 0+ - 66 - - - 158.9257392 - 3/2- - 1.24762e+07 - 66 - - - 2.34 - 159.9251975 - 0+ - 66 - - - 18.91 - 160.9269334 - 5/2+ - -0.4805 - 66 - - - 25.51 - 161.9267984 - 0+ - 66 - - - 24.90 - 162.9287312 - 5/2- - +0.6726 - 66 - - - 28.18 - 163.9291748 - 0+ - 1.3 - 100.0 - 66 - - - 164.9317033 - 8402.4 - 66 - - - 165.9328067 - 293760 - 66 - - - 166.93566 - 372 - 66 - - - 167.93713 - 522 - 66 - - - 168.94031 - 39 - 66 - - - 169.94239 - 66 - - - 170.9462 - 66 - - - 171.94876 - 66 - - - 172.953 - 66 - - - - - 139.96854 - 67 - - - 140.9631 - 67 - - - 141.95977 - 67 - - - 142.95461 - 67 - - - 143.95148 - 0.7 - 67 - - - 144.9472 - 2.4 - 67 - - - 145.94464 - 3.6 - 67 - - - 146.94006 - 5.8 - 67 - - - 147.93772 - 2.2 - 67 - - - 148.933775 - 21.1 - 67 - - - 149.933496 - 72 - 67 - - - 150.931688 - 35.2 - 67 - - - 151.931714 - 161.8 - 67 - - - 152.930199 - 120.6 - 67 - - - 153.930602 - 705.6 - 67 - - - 154.929103 - 2880 - 67 - - - 155.92984 - 3360 - 67 - - - 156.928256 - 756 - 67 - - - 157.928941 - 678 - 67 - - - 158.927712 - 1983 - 67 - - - 159.928729 - 1536 - 67 - - - 160.927855 - 8928 - 67 - - - 161.929096 - 900 - 67 - - - 162.9287339 - 1.4412e+11 - 67 - - - 163.9302335 - 1740 - 67 - - - 100 - 164.9303221 - 7/2- - +4.173 - 67 - - - 165.9322842 - 0- - 96588 - 1.85 - 100.0 - 67 - - - 166.933133 - 11160 - 67 - - - 167.93552 - 179.4 - 67 - - - 168.936872 - 282 - 67 - - - 169.93962 - 165.6 - 67 - - - 170.94147 - 53 - 67 - - - 171.94482 - 25 - 67 - - - 172.94729 - 67 - - - 173.95115 - 67 - - - 174.95405 - 67 - - - - - 142.96634 - 68 - - - 143.96038 - 68 - - - 144.95739 - 0.9 - 68 - - - 145.952 - 1.7 - 68 - - - 146.94949 - 2.5 - 68 - - - 147.94455 - 4.6 - 68 - - - 148.94231 - 4 - 68 - - - 149.937914 - 18.5 - 68 - - - 150.937449 - 23.5 - 68 - - - 151.93505 - 10.3 - 68 - - - 152.935063 - 37.1 - 68 - - - 153.932783 - 223.8 - 68 - - - 154.933209 - 318 - 68 - - - 155.931065 - 1170 - 68 - - - 156.93192 - 1119 - 68 - - - 157.929893 - 8244 - 68 - - - 158.930684 - 2160 - 68 - - - 159.929083 - 102888 - 68 - - - 160.929995 - 11556 - 68 - - - 0.14 - 161.928778 - 0+ - 68 - - - 162.930033 - 5/2- - 4500 - 68 - - - 1.61 - 163.9292 - 0+ - 68 - - - 164.930726 - 5/2- - 37296 - 68 - - - 33.61 - 165.9302931 - 0+ - 68 - - - 22.93 - 166.9320482 - 7/2+ - -0.5665 - 68 - - - 26.78 - 167.9323702 - 0+ - 68 - - - 168.9345904 - 1/2- - 812160 - 68 - - - 14.93 - 169.9354643 - 0+ - 68 - - - 170.9380298 - 27057.6 - 68 - - - 171.939356 - 177480 - 68 - - - 172.9424 - 84 - 68 - - - 173.94423 - 198 - 68 - - - 174.94777 - 72 - 68 - - - 175.95008 - 68 - - - 176.95405 - 68 - - - - - 144.97007 - 69 - - - 145.96643 - 0.235 - 69 - - - 146.96096 - 0.56 - 69 - - - 147.95784 - 0.7 - 69 - - - 148.95272 - 0.9 - 69 - - - 149.94996 - 2.2 - 69 - - - 150.945483 - 4.17 - 69 - - - 151.94442 - 8 - 69 - - - 152.942012 - 1.48 - 69 - - - 153.941568 - 8.1 - 69 - - - 154.939199 - 21.6 - 69 - - - 155.93898 - 83.8 - 69 - - - 156.93697 - 217.8 - 69 - - - 157.93698 - 238.8 - 69 - - - 158.93498 - 547.8 - 69 - - - 159.93526 - 564 - 69 - - - 160.93355 - 1980 - 69 - - - 161.933995 - 1302 - 69 - - - 162.932651 - 6516 - 69 - - - 163.93356 - 69 - - - 164.932435 - 108216 - 69 - - - 165.933554 - 27720 - 69 - - - 166.9328516 - 799200 - 69 - - - 167.934173 - 8.04384e+06 - 69 - - - 100 - 168.9342133 - 1/2+ - -0.2316 - 69 - - - 169.9358014 - 1- - 1.1111e+07 - 69 - - - 170.9364294 - 1/2+ - 6.05491e+07 - 69 - - - 171.9384 - 228960 - 69 - - - 172.939604 - 29664 - 69 - - - 173.94217 - 324 - 69 - - - 174.94384 - 912 - 69 - - - 175.94699 - 114 - 69 - - - 176.94904 - 85 - 69 - - - 177.95264 - 69 - - - 178.95534 - 69 - - - - - 147.96742 - 70 - - - 148.96404 - 70 - - - 149.95842 - 70 - - - 150.9554 - 1.6 - 70 - - - 151.95029 - 3.04 - 70 - - - 152.94948 - 4.2 - 70 - - - 153.946394 - 0.409 - 70 - - - 154.945782 - 1.8 - 70 - - - 155.942818 - 26.1 - 70 - - - 156.942628 - 38.6 - 70 - - - 157.939866 - 89.4 - 70 - - - 158.94005 - 94.8 - 70 - - - 159.937552 - 288 - 70 - - - 160.937902 - 252 - 70 - - - 161.935768 - 1132.2 - 70 - - - 162.936334 - 663 - 70 - - - 163.934489 - 4548 - 70 - - - 164.93528 - 594 - 70 - - - 165.933882 - 204120 - 70 - - - 166.93495 - 1050 - 70 - - - 0.13 - 167.933897 - 0+ - 70 - - - 168.93519 - 7/2+ - 2.76705e+06 - 70 - - - 3.04 - 169.9347618 - 0+ - 70 - - - 14.28 - 170.9363258 - 1/2- - +0.4919 - 70 - - - 21.83 - 171.9363815 - 0+ - 70 - - - 16.13 - 172.9382108 - 5/2- - -0.6776 - 70 - - - 31.83 - 173.9388621 - 0+ - 70 - - - 174.9412765 - 7/2- - 0.3 - 361584 - 0.467 - 100.0 - 70 - - - 12.76 - 175.9425717 - 0+ - 70 - - - 176.9452608 - 6879.6 - 70 - - - 177.946647 - 4440 - 70 - - - 178.95017 - 480 - 70 - - - 179.95233 - 144 - 70 - - - 180.95615 - 70 - - - - - 149.97323 - 0.035 - 71 - - - 150.96758 - 0.088 - 71 - - - 151.96412 - 0.7 - 71 - - - 152.95877 - 0.9 - 71 - - - 153.95752 - 71 - - - 154.954316 - 0.14 - 71 - - - 155.95303 - 0.198 - 71 - - - 156.950098 - 6.8 - 71 - - - 157.949313 - 10.6 - 71 - - - 158.94663 - 12.1 - 71 - - - 159.94603 - 36.1 - 71 - - - 160.94357 - 77 - 71 - - - 161.94328 - 82.2 - 71 - - - 162.94118 - 238 - 71 - - - 163.94134 - 188.4 - 71 - - - 164.939407 - 644.4 - 71 - - - 165.93986 - 159 - 71 - - - 166.93827 - 3090 - 71 - - - 167.93874 - 330 - 71 - - - 168.937651 - 122616 - 71 - - - 169.938475 - 173837 - 71 - - - 170.9379131 - 711936 - 71 - - - 171.939086 - 578880 - 71 - - - 172.9389306 - 4.32043e+07 - 71 - - - 173.9403375 - 1.04384e+08 - 71 - - - 97.41 - 174.9407718 - 7/2+ - +2.2327 - 71 - - - 2.59 - 175.9426863 - 1- - 3.19 - 71 - - - 176.9437581 - +2.239 - 581818 - 71 - - - 177.945955 - 1704 - 71 - - - 178.947327 - 16524 - 71 - - - 179.94988 - 342 - 71 - - - 180.95197 - 210 - 71 - - - 181.95504 - 71 - - - 182.95757 - 58 - 71 - - - 183.96091 - 20 - 71 - - - - - 152.97069 - 72 - - - 153.96486 - 72 - - - 154.96339 - 0.89 - 72 - - - 155.95936 - 0.025 - 72 - - - 156.9584 - 0.11 - 72 - - - 157.954799 - 2.85 - 72 - - - 158.953995 - 5.6 - 72 - - - 159.950684 - 13.6 - 72 - - - 160.950275 - 16.8 - 72 - - - 161.94721 - 37.6 - 72 - - - 162.94709 - 40 - 72 - - - 163.944367 - 111 - 72 - - - 164.94457 - 76 - 72 - - - 165.94218 - 406.2 - 72 - - - 166.9426 - 123 - 72 - - - 167.94057 - 1557 - 72 - - - 168.94126 - 194.4 - 72 - - - 169.93961 - 57636 - 72 - - - 170.94049 - 43560 - 72 - - - 171.939448 - 5.89723e+07 - 72 - - - 172.94051 - 84960 - 72 - - - 0.16 - 173.940046 - 0+ - 2000000000000000 - 2.55 - 100.0 - 72 - - - 174.941509 - 5/2- - 0.70 - 6.048e+06 - 0.59 - 100.0 - 72 - - - 5.26 - 175.9414086 - 0+ - 72 - - - 18.60 - 176.9432207 - 7/2- - +0.7935 - 72 - - - 27.28 - 177.9436988 - 0+ - 72 - - - 13.62 - 178.9458161 - 9/2+ - -0.6409 - 72 - - - 35.08 - 179.94655 - 0+ - 72 - - - 180.9491012 - 3.6625e+06 - 72 - - - 181.950554 - 72 - - - 182.95353 - 3841.2 - 72 - - - 183.95545 - 14832 - 72 - - - 184.95882 - 210 - 72 - - - 185.96089 - 72 - - - 186.96459 - 72 - - - 187.96685 - 72 - - - - - 154.97459 - 73 - - - 155.9723 - 0.144 - 73 - - - 156.96819 - 0.0101 - 73 - - - 157.9667 - 0.0365 - 73 - - - 158.963018 - 0.57 - 73 - - - 159.96149 - 1.55 - 73 - - - 160.95842 - 2.7 - 73 - - - 161.95729 - 3.52 - 73 - - - 162.95433 - 10.6 - 73 - - - 163.95353 - 14.2 - 73 - - - 164.950773 - 31 - 73 - - - 165.95051 - 34.4 - 73 - - - 166.94809 - 84 - 73 - - - 167.94805 - 73 - - - 168.94601 - 294 - 73 - - - 169.94618 - 405.6 - 73 - - - 170.94448 - 1398 - 73 - - - 171.9449 - 2208 - 73 - - - 172.94375 - 11304 - 73 - - - 173.94445 - 3780 - 73 - - - 174.94374 - 37800 - 73 - - - 175.94486 - 29124 - 73 - - - 176.944472 - 203616 - 73 - - - 177.945778 - 558.6 - 73 - - - 178.9459295 - 5.73955e+07 - 73 - - - 0.012 - 179.9474648 - 1- - 29347.2 - - 14.0 - - 86.0 - 73 - - - 99.988 - 180.9479958 - 7/2+ - +2.370 - 73 - - - 181.9501518 - 3- - 2.6 - 9.88675e+06 - 1.811 - 100.0 - 73 - - - 182.9513726 - 440640 - 73 - - - 183.954008 - 31320 - 73 - - - 184.955559 - 2964 - 73 - - - 185.95855 - 630 - 73 - - - 186.96053 - 73 - - - 187.9637 - 73 - - - 188.96583 - 73 - - - 189.96923 - 73 - - - - - 157.97456 - 0.0009 - 74 - - - 158.97292 - 0.0073 - 74 - - - 159.96848 - 0.091 - 74 - - - 160.96736 - 0.41 - 74 - - - 161.963497 - 1.39 - 74 - - - 162.96252 - 2.75 - 74 - - - 163.958954 - 6 - 74 - - - 164.95828 - 5.1 - 74 - - - 165.955027 - 18.8 - 74 - - - 166.954816 - 19.9 - 74 - - - 167.951808 - 53 - 74 - - - 168.951779 - 76 - 74 - - - 169.949228 - 145.2 - 74 - - - 170.94945 - 142.8 - 74 - - - 171.94729 - 396 - 74 - - - 172.94769 - 456 - 74 - - - 173.94608 - 1860 - 74 - - - 174.94672 - 2112 - 74 - - - 175.94563 - 9000 - 74 - - - 176.94664 - 8100 - 74 - - - 177.945876 - 1.86624e+06 - 74 - - - 178.94707 - 2223 - 74 - - - 0.12 - 179.946704 - 0+ - 74 - - - 180.948197 - 9/2+ - 1.04717e+07 - 0.19 - 100.0 - 74 - - - 26.50 - 181.9482042 - 0+ - 0+ - 74 - - - 14.31 - 182.950223 - 1/2- - +0.1177847 - 74 - - - 30.64 - 183.9509312 - 0+ - 74 - - - 184.9534193 - 6.48864e+06 - 0.432 - 100.0 - 74 - - - 28.43 - 185.9543641 - 3/2- - 74 - - - 186.9571605 - 0.688 - 85392 - 1.321 - 100.0 - 74 - - - 187.958489 - 5.99616e+06 - 74 - - - 188.96191 - 690 - 74 - - - 189.96318 - 1800 - 74 - - - 190.9666 - 74 - - - 191.96817 - 74 - - - - - 159.98212 - 0.00079 - 75 - - - 160.97759 - 0.00037 - 75 - - - 161.976 - 0.107 - 75 - - - 162.972081 - 0.26 - 75 - - - 163.97032 - 0.38 - 75 - - - 164.967089 - 2.4 - 75 - - - 165.96581 - 2.8 - 75 - - - 166.9626 - 6.1 - 75 - - - 167.96157 - 4.4 - 75 - - - 168.95879 - 75 - - - 169.95822 - 9.2 - 75 - - - 170.95572 - 15.2 - 75 - - - 171.95542 - 15 - 75 - - - 172.95324 - 118.8 - 75 - - - 173.95312 - 144 - 75 - - - 174.95138 - 353.4 - 75 - - - 175.95162 - 318 - 75 - - - 176.95033 - 840 - 75 - - - 177.95099 - 792 - 75 - - - 178.949988 - 1170 - 75 - - - 179.950789 - 146.4 - 75 - - - 180.950068 - 71640 - 75 - - - 181.95121 - 230400 - 75 - - - 182.95082 - 6.048e+06 - 75 - - - 183.952521 - 3.2832e+06 - 75 - - - 37.40 - 184.952955 - 5/2+ - +3.172 - 75 - - - 185.9549861 - 1- - +1.739 - 321261 - 1.071 - 93.1 - - 6.9 - 75 - - - 62.60 - 186.9557531 - 5/2+ - +3.2197 - 43500000000 - 0.00251 - 100.0 - 75 - - - 187.9581144 - 1- - +1.788 - 61218 - 2.12 - 100.0 - 75 - - - 188.959229 - 87480 - 75 - - - 189.96182 - 186 - 75 - - - 190.963125 - 588 - 75 - - - 191.96596 - 16 - 75 - - - 192.96747 - 75 - - - 193.97042 - 75 - - - - - 161.98443 - 0.0019 - 76 - - - 162.98269 - 76 - - - 163.97804 - 0.021 - 76 - - - 164.97676 - 0.071 - 76 - - - 165.972691 - 0.181 - 76 - - - 166.97155 - 0.83 - 76 - - - 167.967804 - 2.1 - 76 - - - 168.967019 - 3.4 - 76 - - - 169.963577 - 7.3 - 76 - - - 170.963185 - 8 - 76 - - - 171.960023 - 19.2 - 76 - - - 172.959808 - 16 - 76 - - - 173.957062 - 44 - 76 - - - 174.956946 - 84 - 76 - - - 175.95481 - 216 - 76 - - - 176.954965 - 168 - 76 - - - 177.953251 - 300 - 76 - - - 178.953816 - 390 - 76 - - - 179.952379 - 1290 - 76 - - - 180.95324 - 6300 - 76 - - - 181.95211 - 79560 - 76 - - - 182.95313 - 46800 - 76 - - - 0.02 - 183.9524891 - 0+ - 76 - - - 184.9540423 - 1/2- - 8.08704e+06 - 0.98 - 100.0 - 76 - - - 1.59 - 185.9538382 - 0+ - 2000000000000000 - - 100.0 - 76 - - - 1.96 - 186.9557505 - 1/2- - +0.06465 - 76 - - - 13.24 - 187.9558382 - 0+ - 76 - - - 16.15 - 188.9581475 - 3/2- - +0.659933 - 76 - - - 26.26 - 189.958447 - 0+ - 76 - - - 190.9609297 - 9/2- - 1.33056e+06 - 0.313 - 100.0 - 76 - - - 40.78 - 191.9614807 - 0+ - 76 - - - 192.9641516 - 108396 - 76 - - - 193.9651821 - 1.89216e+08 - 76 - - - 194.96813 - 390 - 76 - - - 195.96964 - 2094 - 76 - - - - - 163.9922 - 77 - - - 164.98752 - 0.0003 - 77 - - - 165.98582 - 0.0105 - 77 - - - 166.981665 - 0.005 - 77 - - - 167.97988 - 0.161 - 77 - - - 168.976295 - 0.4 - 77 - - - 169.97497 - 1.05 - 77 - - - 170.97163 - 1.5 - 77 - - - 171.97046 - 4.4 - 77 - - - 172.967502 - 9 - 77 - - - 173.966861 - 9 - 77 - - - 174.964113 - 9 - 77 - - - 175.963649 - 8 - 77 - - - 176.961302 - 30 - 77 - - - 177.961082 - 12 - 77 - - - 178.959122 - 79 - 77 - - - 179.959229 - 90 - 77 - - - 180.957625 - 294 - 77 - - - 181.958076 - 900 - 77 - - - 182.956846 - 3480 - 77 - - - 183.95748 - 11124 - 77 - - - 184.9567 - 51840 - 77 - - - 185.957946 - 59904 - 77 - - - 186.957363 - 37800 - 77 - - - 187.958853 - 149400 - 77 - - - 188.958719 - 1.14048e+06 - 77 - - - 189.960546 - 1.01779e+06 - 77 - - - 37.3 - 190.960594 - 3/2+ - +0.1461 - 77 - - - 191.962605 - 4- - +1.880 - 6.379e+06 - 1.2 - 4.6 - 1.454 - 95.4 - - 4.6 - 77 - - - 62.7 - 192.9629264 - 3/2+ - +0.1591 - 77 - - - 193.9650784 - 1- - 69408 - 77 - - - 194.9659796 - 9000 - 77 - - - 195.9684 - 52 - 77 - - - 196.969653 - 348 - 77 - - - 197.97228 - 8 - 77 - - - 198.9738 - 77 - - - - - 165.99486 - 78 - - - 166.99298 - 78 - - - 167.98815 - 78 - - - 168.98672 - 0.005 - 78 - - - 169.982495 - 0.006 - 78 - - - 170.98124 - 0.025 - 78 - - - 171.977347 - 0.096 - 78 - - - 172.97644 - 0.342 - 78 - - - 173.972819 - 0.9 - 78 - - - 174.972421 - 2.52 - 78 - - - 175.968945 - 6.33 - 78 - - - 176.968469 - 11 - 78 - - - 177.965649 - 21.1 - 78 - - - 178.965363 - 21.2 - 78 - - - 179.963031 - 52 - 78 - - - 180.963097 - 51 - 78 - - - 181.961171 - 180 - 78 - - - 182.961597 - 390 - 78 - - - 183.959922 - 1038 - 78 - - - 184.96062 - 4254 - 78 - - - 185.959351 - 7920 - 78 - - - 186.96059 - 8460 - 78 - - - 187.959395 - 881280 - 78 - - - 188.960834 - 39132 - 78 - - - 0.014 - 189.959932 - 0+ - 650000000000 - 3.18 - 100.0 - 78 - - - 190.961677 - 3/2- - 242093 - 78 - - - 0.782 - 191.961038 - 0+ - 2.6 - 100.0 - 78 - - - 192.9629874 - 1.5768e+09 - 78 - - - 32.967 - 193.9626803 - 0+ - 78 - - - 33.832 - 194.9647911 - 1/2- - +0.60949 - 78 - - - 25.242 - 195.9649515 - 0+ - 78 - - - 196.9673402 - 1/2- - -0.51 - 71609.4 - 0.75 - 100.0 - 78 - - - 7.163 - 197.967893 - 0+ - 78 - - - 198.970593 - 1848 - 78 - - - 199.971441 - 45000 - 78 - - - 200.97451 - 150 - 78 - - - 201.97574 - 158400 - 78 - - - - - 168.99808 - 79 - - - 169.99612 - 79 - - - 170.991879 - 79 - - - 171.99004 - 0.0063 - 79 - - - 172.986237 - 0.059 - 79 - - - 173.98476 - 0.12 - 79 - - - 174.98127 - 0.2 - 79 - - - 175.9801 - 1.08 - 79 - - - 176.976865 - 1.18 - 79 - - - 177.97603 - 2.6 - 79 - - - 178.973213 - 7.1 - 79 - - - 179.972521 - 8.1 - 79 - - - 180.970079 - 11.4 - 79 - - - 181.969618 - 15.6 - 79 - - - 182.967593 - 42 - 79 - - - 183.967452 - 53 - 79 - - - 184.965789 - 255 - 79 - - - 185.965953 - 642 - 79 - - - 186.964568 - 504 - 79 - - - 187.965324 - 530.4 - 79 - - - 188.963948 - 1722 - 79 - - - 189.9647 - 2568 - 79 - - - 190.9637 - 11448 - 79 - - - 191.964813 - 17784 - 79 - - - 192.96415 - 63540 - 79 - - - 193.965365 - 136872 - 79 - - - 194.9650346 - 0.148 - 1.60782e+07 - 0.230 - 100.0 - 79 - - - 195.96657 - 534211 - 79 - - - 100 - 196.9665687 - 3/2+ - +0.1457 - 79 - - - 197.9682423 - 2- - +0.5934 - 232863 - 1.372 - 100.0 - 79 - - - 198.9687652 - 3/2+ - +0.2715 - 271210 - 0.453 - 100.0 - 79 - - - 199.97073 - 2904 - 79 - - - 200.971657 - 1560 - 79 - - - 201.97381 - 28.8 - 79 - - - 202.975155 - 53 - 79 - - - 203.97772 - 39.8 - 79 - - - 204.97987 - 31 - 79 - - - - - 171.00376 - 80 - - - 171.99883 - 80 - - - 172.99724 - 80 - - - 173.992864 - 80 - - - 174.99142 - 0.02 - 80 - - - 175.987355 - 0.018 - 80 - - - 176.98628 - 0.13 - 80 - - - 177.982483 - 0.266 - 80 - - - 178.981834 - 1.09 - 80 - - - 179.978266 - 2.8 - 80 - - - 180.977819 - 3.6 - 80 - - - 181.97469 - 10.83 - 80 - - - 182.97445 - 9.4 - 80 - - - 183.971713 - 30.9 - 80 - - - 184.971899 - 49.1 - 80 - - - 185.969362 - 82.8 - 80 - - - 186.969814 - 144 - 80 - - - 187.967577 - 195 - 80 - - - 188.96819 - 456 - 80 - - - 189.966322 - 1200 - 80 - - - 190.967157 - 2940 - 80 - - - 191.965634 - 17460 - 80 - - - 192.966665 - 13680 - 80 - - - 193.965439 - 1.4002e+10 - 80 - - - 194.96672 - 35640 - 80 - - - 0.15 - 195.965833 - 0+ - 80 - - - 196.967213 - 1/2- - +0.5274 - 230904 - 0.42 - 100.0 - 80 - - - 9.97 - 197.966769 - 0+ - 80 - - - 16.87 - 198.9682799 - 1/2- - +0.5058851 - 80 - - - 23.10 - 199.968326 - 0+ - 80 - - - 13.18 - 200.9703023 - 3/2- - -0.560225 - 80 - - - 29.86 - 201.970643 - 0+ - 80 - - - 202.9728725 - 5/2- - +0.8489 - 4.02728e+06 - 0.492 - 100.0 - 80 - - - 6.87 - 203.9734939 - 0+ - 80 - - - 204.976073 - 312 - 80 - - - 205.977514 - 489 - 80 - - - 206.98259 - 174 - 80 - - - 207.98594 - 2520 - 80 - - - 208.99104 - 80 - - - 209.99451 - 80 - - - - - 176.00059 - 81 - - - 176.996427 - 81 - - - 177.9949 - 81 - - - 178.99109 - 0.16 - 81 - - - 179.98991 - 0.7 - 81 - - - 180.986257 - 81 - - - 181.98567 - 3.1 - 81 - - - 182.982193 - 81 - - - 183.98187 - 11 - 81 - - - 184.97879 - 19.5 - 81 - - - 185.97833 - 27.5 - 81 - - - 186.975906 - 51 - 81 - - - 187.97601 - 71 - 81 - - - 188.973588 - 138 - 81 - - - 189.97388 - 156 - 81 - - - 190.971786 - 81 - - - 191.97223 - 576 - 81 - - - 192.97067 - 1296 - 81 - - - 193.9712 - 1980 - 81 - - - 194.969774 - 4176 - 81 - - - 195.970481 - 6624 - 81 - - - 196.969575 - 10224 - 81 - - - 197.97048 - 19080 - 81 - - - 198.96988 - 26712 - 81 - - - 199.970963 - 93960 - 81 - - - 200.970819 - 262483 - 81 - - - 201.972106 - 1.05667e+06 - 81 - - - 29.524 - 202.9723442 - 1/2+ - +1.622257 - 81 - - - 203.9738635 - 2- - -0.06 - 1.19206e+08 - 0.763 - 97.43 - 0.345 - 2.57 - 81 - - - 70.476 - 204.9744275 - 1/2+ - +1.6382134 - 81 - - - 205.9761103 - 0- - 251.94 - 81 - - - 206.977419 - 286.2 - 81 - - - 207.9820187 - 183.18 - 81 - - - 208.985359 - 132 - 81 - - - 209.990074 - 78 - 81 - - - 210.99348 - 81 - - - 211.99823 - 81 - - - - - 178.00383 - 82 - - - 179.00215 - 82 - - - 179.997918 - 82 - - - 180.99662 - 0.045 - 82 - - - 181.992672 - 0.055 - 82 - - - 182.99187 - 0.3 - 82 - - - 183.988142 - 0.55 - 82 - - - 184.98761 - 4.1 - 82 - - - 185.984239 - 4.83 - 82 - - - 186.983918 - 18.3 - 82 - - - 187.980874 - 24 - 82 - - - 188.98081 - 51 - 82 - - - 189.978082 - 72 - 82 - - - 190.97827 - 79.8 - 82 - - - 191.975785 - 210 - 82 - - - 192.97617 - 82 - - - 193.974012 - 720 - 82 - - - 194.974542 - 900 - 82 - - - 195.972774 - 2220 - 82 - - - 196.973431 - 480 - 82 - - - 197.972034 - 8640 - 82 - - - 198.972917 - 5400 - 82 - - - 199.971827 - 77400 - 82 - - - 200.972885 - 33588 - 82 - - - 201.972159 - 82 - - - 202.973391 - 186743 - 82 - - - 1.4 - 203.9730436 - 0+ - 82 - - - 204.9744818 - 5/2- - 82 - - - 24.1 - 205.9744653 - 0+ - 82 - - - 22.1 - 206.9758969 - 1/2- - +0.5926 - 82 - - - 52.4 - 207.9766521 - 0+ - 82 - - - 208.9810901 - 9/2+ - 11710.8 - 82 - - - 209.9841885 - 7.03253e+08 - 82 - - - 210.988737 - 2166 - 82 - - - 211.9918975 - 38304 - 82 - - - 212.996581 - 612 - 82 - - - 213.9998054 - 1608 - 82 - - - 215.00481 - 36 - 82 - - - - - 184.00112 - 83 - - - 184.99763 - 4.4e-05 - 83 - - - 185.9966 - 0.015 - 83 - - - 186.993158 - 0.035 - 83 - - - 187.99227 - 0.21 - 83 - - - 188.9892 - 0.68 - 83 - - - 189.9883 - 6.3 - 83 - - - 190.985786 - 12 - 83 - - - 191.98546 - 37 - 83 - - - 192.98296 - 67 - 83 - - - 193.98283 - 95 - 83 - - - 194.980651 - 183 - 83 - - - 195.980667 - 308 - 83 - - - 196.978864 - 559.8 - 83 - - - 197.97921 - 618 - 83 - - - 198.977672 - 1620 - 83 - - - 199.978132 - 2184 - 83 - - - 200.977009 - 6480 - 83 - - - 201.977742 - 6192 - 83 - - - 202.976876 - 42336 - 83 - - - 203.977813 - 40392 - 83 - - - 204.977389 - 1.32278e+06 - 83 - - - 205.978499 - 539395 - 83 - - - 206.9784707 - 9.94961e+08 - 83 - - - 207.9797422 - 83 - - - 100 - 208.9803987 - 9/2- - +4.11 - 83 - - - 209.9841204 - 1- - -0.044 - 433123 - 5.04 - 100.0 - 1.16 - 100.0 - 83 - - - 210.987269 - 9/2- - 128.4 - 83 - - - 211.9912857 - 3633 - 83 - - - 212.994385 - 2735.4 - 83 - - - 213.998712 - 1194 - 83 - - - 215.00177 - 456 - 83 - - - 216.006306 - 216 - 83 - - - 217.00947 - 97 - 83 - - - 218.01432 - 83 - - - - - 187.999422 - 84 - - - 188.998481 - 84 - - - 189.995101 - 84 - - - 190.994574 - 0.0155 - 84 - - - 191.991335 - 0.0332 - 84 - - - 192.99103 - 0.42 - 84 - - - 193.988186 - 0.392 - 84 - - - 194.98811 - 4.64 - 84 - - - 195.985535 - 5.8 - 84 - - - 196.98566 - 53.6 - 84 - - - 197.983389 - 106.2 - 84 - - - 198.983666 - 328.8 - 84 - - - 199.981799 - 690 - 84 - - - 200.98226 - 918 - 84 - - - 201.980758 - 2682 - 84 - - - 202.98142 - 2202 - 84 - - - 203.980318 - 12708 - 84 - - - 204.981203 - 5976 - 84 - - - 205.980481 - 760320 - 84 - - - 206.981593 - 20880 - 84 - - - 207.9812457 - 9.13913e+07 - 84 - - - 208.9824304 - +0.77 - 3.21667e+09 - 4.976 - 99.74 - - 0.26 - 84 - - - 209.9828737 - 0+ - 1.19557e+07 - 5.407 - 100.0 - 84 - - - 210.9866532 - 9/2+ - 0.516 - 7.594 - 100.0 - 84 - - - 211.988868 - 0+ - 2.99e-07 - - 100.0 - 84 - - - 212.992857 - 4.2e-06 - 84 - - - 213.9952014 - 0+ - 0.0001643 - 84 - - - 214.99942 - 9/2+ - 0.001781 - - 99.9998 - - 0.0002 - 84 - - - 216.001915 - 0.145 - 6.906 - 100.0 - 84 - - - 217.006335 - 10 - 84 - - - 218.008973 - 186 - 6.114 - 99.98 - - 0.02 - 84 - - - 219.01374 - 84 - - - 220.0166 - 84 - - - - - 192.99984 - 0.04 - 85 - - - 193.99873 - 0.04 - 85 - - - 194.996268 - 0.63 - 85 - - - 195.99579 - 0.253 - 85 - - - 196.99319 - 0.35 - 85 - - - 197.99284 - 4.2 - 85 - - - 198.99053 - 7.2 - 85 - - - 199.990351 - 43 - 85 - - - 200.988417 - 89 - 85 - - - 201.98863 - 184 - 85 - - - 202.986942 - 444 - 85 - - - 203.987251 - 552 - 85 - - - 204.986074 - 1572 - 85 - - - 205.986667 - 1800 - 85 - - - 206.985784 - 6480 - 85 - - - 207.98659 - 5868 - 85 - - - 208.986173 - 9/2+ - 19476 - 85 - - - 209.987148 - 5+ - 29160 - 5.63 - 0.18 - 3.98 - 99.82 - 85 - - - 210.9874963 - 9/2- - 25970.4 - 5.981 - 41.7 - 0.784 - 58.3 - 85 - - - 211.990745 - 0.314 - 85 - - - 212.992937 - 1.25e-07 - 85 - - - 213.996372 - 5.58e-07 - 85 - - - 214.998653 - 0.0001 - - 100.0 - 85 - - - 216.002423 - 0.0003 - - 100 - 85 - - - 217.004719 - 0.0323 - 85 - - - 218.008694 - 1.5 - - 99.99 - - 0.01 - 85 - - - 219.011162 - 56 - - 99.9 - - 0.1 - 85 - - - 220.01541 - 222.6 - 85 - - - 221.01805 - 138 - 85 - - - 222.02233 - 54 - 85 - - - 223.02519 - 50 - 85 - - - - - 195.00544 - 86 - - - 196.002115 - 0.003 - 86 - - - 197.00158 - 0.065 - 86 - - - 197.998679 - 0.064 - 86 - - - 198.99837 - 0.62 - 86 - - - 199.995699 - 0.96 - 86 - - - 200.99563 - 7 - 86 - - - 201.993263 - 10 - 86 - - - 202.993387 - 45 - 86 - - - 203.991429 - 74.4 - 86 - - - 204.99172 - 168 - 86 - - - 205.990214 - 340.2 - 86 - - - 206.990734 - 555 - 86 - - - 207.989642 - 1461 - 86 - - - 208.990415 - 1710 - 86 - - - 209.989696 - 8640 - 86 - - - 210.990601 - 52560 - 86 - - - 211.990704 - 1434 - 86 - - - 212.993883 - 0.025 - 86 - - - 213.995363 - 2.7e-07 - 86 - - - 214.998745 - 2.3e-06 - 86 - - - 216.000274 - 4.5e-05 - 86 - - - 217.003928 - 0.00054 - 86 - - - 218.0056013 - 0.035 - 86 - - - 219.0094802 - 3.96 - 86 - - - 220.011394 - 0+ - 55.6 - 86 - - - 221.015537 - 1500 - 86 - - - 222.0175777 - 0+ - 330350 - 86 - - - 223.02179 - 1392 - 86 - - - 224.02409 - 6420 - 86 - - - 225.02844 - 270 - 86 - - - 226.03089 - 444 - 86 - - - 227.03541 - 22.5 - 86 - - - 228.03799 - 65 - 86 - - - - - 199.00726 - 87 - - - 200.00657 - 0.019 - 87 - - - 201.00386 - 0.048 - 87 - - - 202.00337 - 0.34 - 87 - - - 203.000925 - 0.55 - 87 - - - 204.000653 - 1.7 - 87 - - - 204.998594 - 3.85 - 87 - - - 205.99867 - 15.9 - 87 - - - 206.99695 - 14.8 - 87 - - - 207.99714 - 59.1 - 87 - - - 208.995954 - 50 - 87 - - - 209.996408 - 190.8 - 87 - - - 210.995537 - 186 - 87 - - - 211.996202 - 1200 - 87 - - - 212.996189 - 34.6 - 87 - - - 213.998971 - 0.005 - 87 - - - 215.000341 - 8.6e-08 - 87 - - - 216.003198 - 7e-07 - 87 - - - 217.004632 - 2.2e-05 - 87 - - - 218.007578 - 87 - - - 219.009252 - 0.02 - 87 - - - 220.012327 - 27.4 - 87 - - - 221.014255 - 294 - 87 - - - 222.017552 - 852 - 87 - - - 223.0197359 - 3/2+ - 1308 - 87 - - - 224.02325 - 199.8 - 87 - - - 225.02557 - 240 - 87 - - - 226.02939 - 49 - 87 - - - 227.03184 - 148.2 - 87 - - - 228.03573 - 38 - 87 - - - 229.03845 - 50 - 87 - - - 230.04251 - 19.1 - 87 - - - 231.04544 - 17.5 - 87 - - - 232.04977 - 5 - 87 - - - - - 202.00989 - 0.0007 - 88 - - - 203.00927 - 88 - - - 204.0065 - 0.059 - 88 - - - 205.00627 - 0.21 - 88 - - - 206.003827 - 0.24 - 88 - - - 207.0038 - 1.3 - 88 - - - 208.00184 - 1.3 - 88 - - - 209.00199 - 4.6 - 88 - - - 210.000495 - 3.7 - 88 - - - 211.000898 - 13 - 88 - - - 211.999794 - 13 - 88 - - - 213.000384 - 164.4 - 88 - - - 214.000108 - 2.46 - 88 - - - 215.00272 - 0.00159 - 88 - - - 216.003533 - 1.82e-07 - 88 - - - 217.00632 - 1.6e-06 - 88 - - - 218.00714 - 2.56e-05 - 88 - - - 219.010085 - 0.01 - 88 - - - 220.011028 - 0.018 - 88 - - - 221.013917 - 28 - 88 - - - 222.015375 - 38 - 88 - - - 223.0185022 - 1/2+ - 987984 - 88 - - - 224.0202118 - 0+ - 316224 - 88 - - - 225.023612 - 1.28736e+06 - 88 - - - 226.0254098 - 0+ - 5.04576e+10 - 88 - - - 227.0291778 - 2532 - 88 - - - 228.0310703 - 0+ - 1.81332e+08 - 88 - - - 229.034958 - 240 - 88 - - - 230.037056 - 5580 - 88 - - - 231.04122 - 103 - 88 - - - 232.04364 - 250 - 88 - - - 233.04806 - 30 - 88 - - - 234.0507 - 30 - 88 - - - - - 206.0145 - 0.022 - 89 - - - 207.01195 - 0.022 - 89 - - - 208.01155 - 0.095 - 89 - - - 209.00949 - 0.1 - 89 - - - 210.00944 - 0.35 - 89 - - - 211.00773 - 0.25 - 89 - - - 212.00781 - 0.93 - 89 - - - 213.00661 - 0.8 - 89 - - - 214.006902 - 8.2 - 89 - - - 215.006454 - 0.17 - 89 - - - 216.00872 - 0.00033 - 89 - - - 217.009347 - 6.9e-08 - 89 - - - 218.01164 - 1.08e-06 - 89 - - - 219.01242 - 1.18e-05 - 89 - - - 220.014763 - 0.0264 - 89 - - - 221.01559 - 0.052 - 89 - - - 222.017844 - 5 - 89 - - - 223.019137 - 126 - 89 - - - 224.021723 - 10008 - 89 - - - 225.02323 - 864000 - 89 - - - 226.026098 - 105732 - 89 - - - 227.0277521 - 3/2+ - 6.86633e+08 - 89 - - - 228.0310211 - 22140 - 89 - - - 229.03302 - 3762 - 89 - - - 230.03629 - 122 - 89 - - - 231.03856 - 450 - 89 - - - 232.04203 - 119 - 89 - - - 233.04455 - 145 - 89 - - - 234.04842 - 44 - 89 - - - 235.05123 - 89 - - - 236.0553 - 89 - - - - - 209.01772 - 90 - - - 210.015075 - 0.009 - 90 - - - 211.01493 - 0.037 - 90 - - - 212.01298 - 0.03 - 90 - - - 213.01301 - 0.14 - 90 - - - 214.0115 - 0.1 - 90 - - - 215.01173 - 1.2 - 90 - - - 216.011062 - 0.028 - 90 - - - 217.013114 - 0.000252 - 90 - - - 218.013284 - 1.09e-07 - 90 - - - 219.01554 - 1.05e-06 - 90 - - - 220.015748 - 9.7e-06 - 90 - - - 221.018184 - 0.00168 - 90 - - - 222.018468 - 0.0028 - 90 - - - 223.020811 - 0.6 - 90 - - - 224.021467 - 1.05 - 90 - - - 225.023951 - 523.2 - 90 - - - 226.024903 - 1834.2 - 90 - - - 227.0277041 - 3/2+ - 1.61741e+06 - 6.145 - 100.0 - 90 - - - 228.0287411 - 0+ - 6.02842e+07 - 5.52 - 100.0 - 90 - - - 229.031762 - +0.46 - 2.31474e+11 - 5.17 - 100.0 - 90 - - - 230.0331338 - 0+ - 75380 - 4.77 - 100.0 - 90 - - - 231.0363043 - 5/2+ - 91872 - 0.389 - 100.0 - 90 - - - 100 - 232.0380553 - 0+ - 14000000000 - 4.081 - 100.0 - 90 - - - 233.0415818 - 1338 - 90 - - - 234.043601 - 0+ - 2.08224e+06 - 0.27 - 100.0 - 90 - - - 235.04751 - 426 - 90 - - - 236.04987 - 2250 - 90 - - - 237.05389 - 300 - 90 - - - 238.0565 - 90 - - - - - 212.0232 - 0.0051 - 91 - - - 213.02111 - 0.0053 - 91 - - - 214.02092 - 0.017 - 91 - - - 215.01919 - 0.014 - 91 - - - 216.01911 - 0.2 - 91 - - - 217.01832 - 0.0049 - 91 - - - 218.020042 - 0.00012 - 91 - - - 219.01988 - 5.3e-08 - 91 - - - 220.02188 - 7.8e-07 - 91 - - - 221.02188 - 5.9e-06 - 91 - - - 222.02374 - 0.0029 - 91 - - - 223.02396 - 0.0065 - 91 - - - 224.025626 - 0.79 - 91 - - - 225.02613 - 1.7 - 91 - - - 226.027948 - 108 - 91 - - - 227.028805 - 2298 - 91 - - - 228.031051 - 79200 - 91 - - - 229.0320968 - 129600 - 91 - - - 230.034541 - 1.50336e+06 - 91 - - - 100 - 231.035884 - 3/2- - 2.01 - 1.03312e+12 - 5.148 - 100.0 - 91 - - - 232.038592 - +3.5 - 113184 - 1.34 - 100.0 - 91 - - - 233.0402473 - +3.5 - 2.32995e+06 - 0.572 - 100.0 - 91 - - - 234.043308 - 4+ - 24120 - 91 - - - 235.04544 - 1470 - 91 - - - 236.04868 - 546 - 91 - - - 237.05115 - 522 - 91 - - - 238.0545 - 138 - 91 - - - 239.05726 - 91 - - - 240.06098 - 91 - - - - - 217.02437 - 92 - - - 218.02354 - 0.0015 - 92 - - - 219.02492 - 4.2e-05 - 92 - - - 220.02472 - 92 - - - 221.0264 - 92 - - - 222.02609 - 92 - - - 223.02774 - 1.8e-05 - 92 - - - 224.027605 - 0.0009 - 92 - - - 225.029391 - 0.095 - 92 - - - 226.029339 - 0.35 - 92 - - - 227.031156 - 66 - 92 - - - 228.031374 - 546 - 92 - - - 229.033506 - 3480 - 92 - - - 230.03394 - 1.79712e+06 - 92 - - - 231.036294 - 362880 - 92 - - - 232.0371562 - 2.17283e+09 - 5.41 - 100.0 - 92 - - - 233.0396352 - +0.55 - 159200 - 4.91 - 100.0 - 92 - - - 0.0055 - 234.0409521 - 0+ - 245000 - 4.856 - 100.0 - 92 - - - 0.7200 - 235.0439299 - 7/2- - -0.35 - 703800000 - 4.6793 - 100.0 - 92 - - - 236.045568 - 23415000 - 4.569 - 100.0 - 92 - - - 237.0487302 - 583200 - 0.52 - 100.0 - 92 - - - 99.2745 - 238.0507882 - 0+ - 4468000000 - 4.039 - 100.0 - 92 - - - 239.0542933 - 1407 - 92 - - - 240.056592 - 50760 - 0.5 - 100.0 - 92 - - - 241.06033 - 92 - - - 242.06293 - 1008 - 92 - - - - - 225.03391 - 0.006 - 93 - - - 226.03515 - 0.035 - 93 - - - 227.03496 - 0.51 - 93 - - - 228.03618 - 61.4 - 93 - - - 229.03626 - 240 - 93 - - - 230.03783 - 276 - 93 - - - 231.03825 - 2928 - 93 - - - 232.04011 - 882 - 93 - - - 233.04074 - 2172 - 93 - - - 234.042895 - 380160 - 93 - - - 235.0440633 - 3.4223e+07 - 93 - - - 236.04657 - 93 - - - 237.0481734 - 5/2+ - 2140000 - 4.96 - 100.0 - 93 - - - 238.0509464 - 182909 - 1.29 - 100.0 - 93 - - - 239.052939 - 203602 - 0.72 - 100.0 - 93 - - - 240.056162 - 3714 - 93 - - - 241.05825 - 834 - 93 - - - 242.06164 - 330 - 93 - - - 243.06428 - 108 - 93 - - - 244.06785 - 137.4 - 93 - - - - - 228.03874 - 0.004 - 94 - - - 229.04015 - 94 - - - 230.03965 - 94 - - - 231.041101 - 94 - - - 232.041187 - 2046 - 94 - - - 233.043 - 1254 - 94 - - - 234.043317 - 31680 - 94 - - - 235.045286 - 1518 - 94 - - - 236.046058 - 9.01299e+07 - 5.87 - 100.0 - 94 - - - 237.0484097 - 3.90528e+06 - - 0.004 - 0.22 - 99.996 - 94 - - - 238.0495599 - 2.76571e+09 - 5.59 - 100.0 - 94 - - - 239.0521634 - 1/2+ - +0.203 - 7.60333e+11 - 5.24 - 100.0 - 94 - - - 240.0538135 - 0+ - 2.06971e+11 - 5.26 - 100.0 - 94 - - - 241.0568515 - -0.683 - 4.52542e+08 - 0.02 - 100.0 - 94 - - - 242.0587426 - 0+ - 373300 - 4.983 - 100.0 - 94 - - - 243.062003 - 17841.6 - 94 - - - 244.064204 - 94 - - - 245.067747 - 37800 - 94 - - - 246.070205 - 936576 - 94 - - - 247.07407 - 196128 - 94 - - - - - 231.04556 - 95 - - - 232.04659 - 79 - 95 - - - 233.04635 - 95 - - - 234.04781 - 139.2 - 95 - - - 235.04795 - 900 - 95 - - - 236.04958 - 95 - - - 237.05 - 4380 - 95 - - - 238.05198 - 5880 - 95 - - - 239.0530245 - 42840 - 95 - - - 240.0553 - 182880 - 95 - - - 241.0568291 - 5/2- - +1.61 - 1.36299e+10 - 5.637 - 100.0 - 95 - - - 242.0595492 - 57672 - 0.67 - 82.7 - 0.73 - 17.3 - 95 - - - 243.0613811 - 5/2- - 2.3242e+11 - 5.439 - 100.0 - 95 - - - 244.0642848 - 36360 - 95 - - - 245.066452 - 7380 - 95 - - - 246.069775 - 2340 - 95 - - - 247.07209 - 1380 - 95 - - - 248.07575 - 95 - - - 249.07848 - 95 - - - - - 233.05077 - 96 - - - 234.05016 - 96 - - - 235.05143 - 96 - - - 236.05141 - 96 - - - 237.0529 - 96 - - - 238.05303 - 8640 - 96 - - - 239.05496 - 10440 - 96 - - - 240.0555295 - 2.3328e+06 - 96 - - - 241.057653 - 2.83392e+06 - 96 - - - 242.0588358 - 1.40659e+07 - 96 - - - 243.0613891 - 9.17698e+08 - 96 - - - 244.0627526 - 5.70802e+08 - 96 - - - 245.0654912 - 7/2+ - 2.68056e+11 - 96 - - - 246.0672237 - 0+ - 1.49165e+11 - 96 - - - 247.070354 - 96 - - - 248.072349 - 0+ - 96 - - - 249.075953 - 3849 - 96 - - - 250.078357 - 2.83824e+11 - 96 - - - 251.082285 - 1008 - 96 - - - 252.08487 - 96 - - - - - 235.05658 - 97 - - - 236.05733 - 97 - - - 237.057 - 97 - - - 238.05828 - 144 - 97 - - - 239.05828 - 97 - - - 240.05976 - 288 - 97 - - - 241.06023 - 97 - - - 242.06198 - 420 - 97 - - - 243.063008 - 16200 - 97 - - - 244.065181 - 15660 - 97 - - - 245.0663616 - 426816 - 97 - - - 246.06867 - 155520 - 97 - - - 247.070307 - 4.35197e+10 - 97 - - - 248.07309 - 2.83824e+08 - 97 - - - 249.0749867 - 7/2+ - 2.7648e+07 - 97 - - - 250.078317 - 11581.2 - 97 - - - 251.08076 - 3336 - 97 - - - 252.08431 - 97 - - - 253.08688 - 97 - - - 254.0906 - 97 - - - - - 237.06207 - 2.1 - 98 - - - 238.06141 - 0.021 - 98 - - - 239.06242 - 39 - 98 - - - 240.0623 - 63.6 - 98 - - - 241.06373 - 226.8 - 98 - - - 242.0637 - 209.4 - 98 - - - 243.06543 - 642 - 98 - - - 244.066001 - 1164 - 98 - - - 245.068049 - 2700 - 98 - - - 246.0688053 - 128520 - 98 - - - 247.071001 - 11196 - 98 - - - 248.072185 - 2.88144e+07 - 98 - - - 249.0748535 - 9/2- - 1.10691e+10 - 98 - - - 250.0764061 - 0+ - 4.12491e+08 - 98 - - - 251.079587 - 1/2+ - 2.83193e+10 - 98 - - - 252.081626 - 0+ - 8.34127e+07 - 98 - - - 253.085133 - 1.53878e+06 - 98 - - - 254.087323 - 5.2272e+06 - 98 - - - 255.09105 - 5100 - 98 - - - 256.09344 - 738 - 98 - - - - - 240.06892 - 99 - - - 241.06854 - 9 - 99 - - - 242.06975 - 40 - 99 - - - 243.06955 - 21 - 99 - - - 244.07088 - 37 - 99 - - - 245.07132 - 66 - 99 - - - 246.0729 - 462 - 99 - - - 247.07366 - 273 - 99 - - - 248.07547 - 1620 - 99 - - - 249.07641 - 6132 - 99 - - - 250.07861 - 30960 - 99 - - - 251.079992 - 118800 - 99 - - - 252.08298 - 4.07549e+07 - 99 - - - 253.0848247 - 7/2+ - 1.76861e+06 - 99 - - - 254.088022 - 2.38205e+07 - 99 - - - 255.090273 - 3.43872e+06 - 99 - - - 256.0936 - 1524 - 99 - - - 257.09598 - 99 - - - 258.09952 - 99 - - - - - 242.07343 - 0.0008 - 100 - - - 243.07435 - 0.18 - 100 - - - 244.07408 - 0.0033 - 100 - - - 245.07539 - 4.2 - 100 - - - 246.0753 - 1.1 - 100 - - - 247.07685 - 35 - 100 - - - 248.077195 - 36 - 100 - - - 249.07903 - 156 - 100 - - - 250.079521 - 1800 - 100 - - - 251.081575 - 19080 - 100 - - - 252.082467 - 0+ - 91404 - 100 - - - 253.085185 - 259200 - 100 - - - 254.0868542 - 11664 - 100 - - - 255.089962 - 72252 - 100 - - - 256.091773 - 9456 - 100 - - - 257.095105 - 8.6832e+06 - 100 - - - 258.09708 - 0.00037 - 100 - - - 259.1006 - 1.5 - 100 - - - 260.10268 - 100 - - - - - 245.08083 - 0.35 - 101 - - - 246.08189 - 101 - - - 247.08164 - 1.12 - 101 - - - 248.08282 - 7 - 101 - - - 249.08301 - 24 - 101 - - - 250.08442 - 52 - 101 - - - 251.08484 - 240 - 101 - - - 252.08656 - 138 - 101 - - - 253.08728 - 360 - 101 - - - 254.08966 - 600 - 101 - - - 255.091083 - 1620 - 101 - - - 256.09406 - 4686 - 101 - - - 257.095541 - 19872 - 101 - - - 258.098431 - 4.4496e+06 - 101 - - - 259.10051 - 5760 - 101 - - - 260.10365 - 2.74752e+06 - 101 - - - 261.10572 - 101 - - - 262.10887 - 101 - - - - - 248.0866 - 102 - - - 249.08783 - 102 - - - 250.08751 - 0.00025 - 102 - - - 251.08901 - 0.8 - 102 - - - 252.088977 - 2.3 - 102 - - - 253.09068 - 102 - 102 - - - 254.090955 - 55 - 102 - - - 255.093241 - 186 - 102 - - - 256.094283 - 2.91 - 102 - - - 257.096877 - 25 - 102 - - - 258.09821 - 0.0012 - 102 - - - 259.10103 - 3480 - 102 - - - 260.10264 - 0.106 - 102 - - - 261.10575 - 102 - - - 262.1073 - 0.005 - 102 - - - 263.11055 - 102 - - - 264.11235 - 102 - - - - - 251.09436 - 103 - - - 252.09537 - 103 - - - 253.09521 - 1.3 - 103 - - - 254.09645 - 13 - 103 - - - 255.09668 - 22 - 103 - - - 256.09863 - 28 - 103 - - - 257.09956 - 0.646 - 103 - - - 258.10181 - 3.9 - 103 - - - 259.1029 - 6.3 - 103 - - - 260.1055 - 180 - 103 - - - 261.10688 - 2340 - 103 - - - 262.10963 - 12960 - 103 - - - 263.11129 - 103 - - - 264.11404 - 103 - - - 265.11584 - 103 - - - 266.11931 - 103 - - - - - 253.10069 - 1.8 - 104 - - - 254.10018 - 0.0005 - 104 - - - 255.10134 - 1.5 - 104 - - - 256.101166 - 0.0067 - 104 - - - 257.10299 - 4.7 - 104 - - - 258.10349 - 0.012 - 104 - - - 259.10564 - 3.1 - 104 - - - 260.10644 - 0.0201 - 104 - - - 261.10877 - 65 - 104 - - - 262.10993 - 2.1 - 104 - - - 263.11255 - 104 - - - 264.11399 - 104 - - - 265.1167 - 104 - - - 266.11796 - 104 - - - 267.12153 - 104 - - - 268.12364 - 104 - - - - - 255.1074 - 1.6 - 105 - - - 256.10813 - 2.6 - 105 - - - 257.10772 - 1.3 - 105 - - - 258.10923 - 4.4 - 105 - - - 259.10961 - 105 - - - 260.1113 - 1.52 - 105 - - - 261.11206 - 1.8 - 105 - - - 262.11408 - 34 - 105 - - - 263.11499 - 27 - 105 - - - 264.1174 - 105 - - - 265.1186 - 105 - - - 266.12103 - 105 - - - 267.12238 - 105 - - - 268.12545 - 105 - - - 269.12746 - 105 - - - 270.13071 - 105 - - - - - 258.11317 - 0.0029 - 106 - - - 259.1145 - 0.48 - 106 - - - 260.11442 - 0.0036 - 106 - - - 261.11612 - 0.23 - 106 - - - 262.1164 - 106 - - - 263.11832 - 0.8 - 106 - - - 264.11893 - 106 - - - 265.12111 - 10 - 106 - - - 266.12207 - 21 - 106 - - - 267.12443 - 106 - - - 268.12561 - 106 - - - 269.12876 - 106 - - - 270.13033 - 106 - - - 271.13347 - 106 - - - 272.13516 - 106 - - - 273.13822 - 106 - - - - - 260.12197 - 107 - - - 261.12166 - 0.0118 - 107 - - - 262.12289 - 0.102 - 107 - - - 263.12304 - 107 - - - 264.1246 - 0.44 - 107 - - - 265.12515 - 0.94 - 107 - - - 266.12694 - 107 - - - 267.12765 - 107 - - - 268.12976 - 107 - - - 269.13069 - 107 - - - 270.13362 - 107 - - - 271.13518 - 107 - - - 272.13803 - 107 - - - 273.13962 - 107 - - - 274.14244 - 107 - - - 275.14425 - 107 - - - - - 263.12856 - 108 - - - 264.12839 - 0.00085 - 108 - - - 265.13009 - 0.0009 - 108 - - - 266.1301 - 108 - - - 267.13179 - 0.026 - 108 - - - 268.13216 - 108 - - - 269.13406 - 9 - 108 - - - 270.13465 - 108 - - - 271.13766 - 108 - - - 272.13905 - 108 - - - 273.14199 - 108 - - - 274.14313 - 108 - - - 275.14595 - 108 - - - 276.14721 - 108 - - - 277.14984 - 108 - - - - - 265.13615 - 109 - - - 266.1373 - 0.0008 - 109 - - - 267.13731 - 109 - - - 268.13873 - 0.07 - 109 - - - 269.13906 - 109 - - - 270.14066 - 109 - - - 271.14114 - 109 - - - 272.14374 - 109 - - - 273.14491 - 109 - - - 274.14749 - 109 - - - 275.14865 - 109 - - - 276.15116 - 109 - - - 277.15242 - 109 - - - 278.15481 - 109 - - - 279.15619 - 109 - - - - - 267.14434 - 3e-06 - 110 - - - 268.1438 - 110 - - - 269.14512 - 0.00017 - 110 - - - 270.14472 - 110 - - - 271.14606 - 0.06 - 110 - - - 272.14632 - 110 - - - 273.14886 - 0.00018 - 110 - - - 274.14949 - 110 - - - 275.15218 - 110 - - - 276.15303 - 110 - - - 277.15565 - 110 - - - 278.15647 - 110 - - - 279.15886 - 110 - - - 280.1598 - 110 - - - 281.16206 - 110 - - - - - 272.15362 - 0.0015 - 111 - - - 273.15368 - 111 - - - 274.15571 - 111 - - - 275.15614 - 111 - - - 276.15849 - 111 - - - 277.15952 - 111 - - - 278.1616 - 111 - - - 279.16247 - 111 - - - 280.16447 - 111 - - - 281.16537 - 111 - - - 282.16749 - 111 - - - 283.16842 - 111 - - - - - 277.16394 - 0.00024 - 112 - - - 278.16431 - 112 - - - 279.16655 - 112 - - - 280.16704 - 112 - - - 281.16929 - 112 - - - 282.16977 - 112 - - - 283.17179 - 112 - - - 284.17238 - 112 - - - 285.17411 - 112 - - - - - 283.17645 - 113 - - - 284.17808 - 113 - - - 285.17873 - 113 - - - 286.18048 - 113 - - - 287.18105 - 113 - - - - - 285.1837 - 0.00058 - 114 - - - 286.18386 - 0.1 - 114 - - - 287.1856 - 5 - 114 - - - 288.18569 - 6 - 114 - - - 289.18728 - 21 - 114 - - - - - 287.19119 - 115 - - - 288.19249 - 115 - - - 289.19272 - 115 - - - 290.19414 - 115 - - - 291.19438 - 115 - - - diff --git a/libscience/data/spectra.xml b/libscience/data/spectra.xml deleted file mode 100644 index 0207eca..0000000 --- a/libscience/data/spectra.xml +++ /dev/null @@ -1,977 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Indium - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/libscience/data/symbols.csv b/libscience/data/symbols.csv deleted file mode 100644 index 30b0b05..0000000 --- a/libscience/data/symbols.csv +++ /dev/null @@ -1,3 +0,0 @@ -"Et","C2H5" -"Me","CH3" -"Ph","C6H5" diff --git a/libscience/data/symbols2.csv b/libscience/data/symbols2.csv deleted file mode 100644 index 3afa27d..0000000 --- a/libscience/data/symbols2.csv +++ /dev/null @@ -1,2 +0,0 @@ -"Et","C2H5" -"Me","CH3" diff --git a/libscience/element.cpp b/libscience/element.cpp deleted file mode 100644 index 79a735b..0000000 --- a/libscience/element.cpp +++ /dev/null @@ -1,59 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2003, 2004, 2005 by Carsten Niehaus * - * cniehaus@kde.org * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * - ***************************************************************************/ - -#include "element.h" -#include - -Element::Element() -{ -} - -QVariant Element::dataAsVariant( ChemicalDataObject::BlueObelisk type ) const -{ - foreach( const ChemicalDataObject &o, dataList ) { - if ( o.type() == type ) - return o.value(); - } - return QVariant(); -} - -QString Element::dataAsString(ChemicalDataObject::BlueObelisk type) const -{ - foreach( const ChemicalDataObject &o, dataList ) { - if ( o.type() == type ) - return o.valueAsString(); - } - return QString(); -} - -Element::~Element() -{ -} - -void Element::addData( const ChemicalDataObject& o ) -{ - dataList.append( o ); -} - -void Element::addData( const QVariant& value, ChemicalDataObject::BlueObelisk type ) -{ - ChemicalDataObject tmp( value, type ); - dataList.append( tmp ); -} diff --git a/libscience/element.h b/libscience/element.h deleted file mode 100644 index 1681ef7..0000000 --- a/libscience/element.h +++ /dev/null @@ -1,86 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2003, 2004, 2005 by Carsten Niehaus * - * cniehaus@kde.org * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * - ***************************************************************************/ - -#ifndef ELEMENT_H -#define ELEMENT_H - -#include "libkdeedu_science_export.h" - -#include -#include - -#include "chemicaldataobject.h" - -class Spectrum; -class Isotope; - -/** - * In this class all information about an element are stored. This means that - * both the chemical date and the data about the position are stored - * in this class. - * @short This class is the represention of a chemical element - * @author Carsten Niehaus -*/ -class SCIENCE_EXPORT Element -{ - public: - Element(); - - virtual ~Element(); - - /** - * Add the ChemicalDataObject @p o to this Element - * @param o the ChemicalDataObject to be added - */ - void addData( const ChemicalDataObject& o ); - - /** - * Add a ChemicalDataObject with @p value of @p type to this - * Element - * @param value the QVariant to be added - * @param type the BlueObelisk type to be added - */ - void addData( const QVariant& value, ChemicalDataObject::BlueObelisk type ); - - /** - * @return the requested data of the type @p type as a QVariant - */ - QVariant dataAsVariant( ChemicalDataObject::BlueObelisk type ) const; - - /** - * @return the requested data of the type @p type as a QString - */ - QString dataAsString( ChemicalDataObject::BlueObelisk type ) const; - - /** - * @return the data of the Element - */ - QList data()const{ - return dataList; - } - - private: - /** - * this QList stores all information about an element - */ - QList dataList; -}; - -#endif diff --git a/libscience/elementparser.cpp b/libscience/elementparser.cpp deleted file mode 100644 index edb2e8d..0000000 --- a/libscience/elementparser.cpp +++ /dev/null @@ -1,375 +0,0 @@ -/*************************************************************************** -copyright : (C) 2005, 2006 by Carsten Niehaus -email : cniehaus@kde.org - ***************************************************************************/ -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ -#include "elementparser.h" - -#include "chemicaldataobject.h" -#include "element.h" - -#include -#include - -class ElementSaxParser::Private -{ - public: - Private() - : currentUnit(ChemicalDataObject::noUnit), - currentElement(0), - inElement(false), - inName(false), - inMass(false), - inExactMass(false), - inAtomicNumber(false), - inSymbol(false), - inIonization(false), - inElectronAffinity(false), - inElectronegativityPauling(false), - inRadiusCovalent(false), - inRadiusVDW(false), - inBoilingPoint(false), - inMeltingPoint(false), - inPeriodTableBlock(false), - inNameOrigin(false), - inDiscoveryDate(false), - inDiscoverers(false), - inPeriod(false), - inCrystalstructure( false ), - inAcidicbehaviour( false ), - inFamily( false ), - inGroup( false ), - inElectronicconfiguration( false ), - inDangerSymbol( false ), - inRPhrase( false ), - inSPhrase( false ), - inCountry( false ) - {} - - ~Private() - { - delete currentElement; - //qDeleteAll(elements); - } - - ChemicalDataObject currentDataObject; - ChemicalDataObject::BlueObeliskUnit currentUnit; - Element *currentElement; - - QList elements; - - bool inElement; - bool inName; - bool inMass; - bool inExactMass; - bool inAtomicNumber; - bool inSymbol; - bool inIonization; - bool inElectronAffinity; - bool inElectronegativityPauling; - bool inRadiusCovalent; - bool inRadiusVDW; - bool inBoilingPoint; - bool inMeltingPoint; - bool inPeriodTableBlock; - bool inNameOrigin; - bool inDiscoveryDate; - bool inDiscoverers; - bool inPeriod; - bool inCrystalstructure; - bool inAcidicbehaviour; - bool inFamily; - bool inGroup; - bool inElectronicconfiguration; - bool inDangerSymbol; - bool inRPhrase; - bool inSPhrase; - bool inCountry; -}; - - ElementSaxParser::ElementSaxParser() -: QXmlDefaultHandler(), d( new Private ) -{ -} - -ElementSaxParser::~ElementSaxParser() -{ - delete d; -} - -bool ElementSaxParser::startElement(const QString&, const QString &localName, const QString&, const QXmlAttributes &attrs) -{ - if (localName == "atom") - { - d->currentElement = new Element(); - d->inElement = true; - } else if ( ( d->inElement && localName == "scalar" ) || localName == "array" ) - { - for (int i = 0; i < attrs.length(); ++i) - { - if ( attrs.localName( i ) == "units" ) - { - //kDebug() << "value of the unit: " << attrs.value(i); - d->currentUnit = ChemicalDataObject::unit( attrs.value( i ) ); - //kDebug() << "Took " << d->currentUnit; - continue; - } - - if (attrs.value(i) == "bo:atomicNumber") - d->inAtomicNumber = true; - else if (attrs.value(i) == "bo:mass") - d->inMass = true; - else if (attrs.value(i) == "bo:exactMass") - d->inExactMass = true; - else if (attrs.value(i) == "bo:ionization") - d->inIonization = true; - else if (attrs.value(i) == "bo:electronAffinity") - d->inElectronAffinity = true; - else if (attrs.value(i) == "bo:electronegativityPauling") - d->inElectronegativityPauling = true; - else if (attrs.value(i) == "bo:radiusCovalent") - d->inRadiusCovalent = true; - else if (attrs.value(i) == "bo:radiusVDW") - d->inRadiusVDW = true; - else if (attrs.value(i) == "bo:meltingpoint") - d->inMeltingPoint = true; - else if (attrs.value(i) == "bo:boilingpoint") - d->inBoilingPoint = true; - else if (attrs.value(i) == "bo:periodTableBlock") - d->inPeriodTableBlock = true; - else if (attrs.value(i) == "bo:nameOrigin") - d->inNameOrigin = true; - else if (attrs.value(i) == "bo:discoveryDate") - d->inDiscoveryDate = true; - else if (attrs.value(i) == "bo:discoverers") - d->inDiscoverers = true; - else if (attrs.value(i) == "bo:discoveryCountry") - d->inCountry = true; - else if (attrs.value(i) == "bo:period") - d->inPeriod = true; - else if (attrs.value(i) == "bo:crystalstructure") - d->inCrystalstructure = true; - else if (attrs.value(i) == "bo:acidicbehaviour") - d->inAcidicbehaviour = true; - else if (attrs.value(i) == "bo:family") - d->inFamily = true; - else if (attrs.value(i) == "bo:group") - d->inGroup = true; - else if (attrs.value(i) == "bo:electronicConfiguration") - d->inElectronicconfiguration = true; - else if (attrs.value(i) == "bo:dangerSymbol") - d->inDangerSymbol = true; - else if (attrs.value(i) == "bo:RPhrase") - d->inRPhrase = true; - else if (attrs.value(i) == "bo:SPhrase") - d->inSPhrase = true; - } - } else if (d->inElement && localName == "label") - { - for (int i = 0; i < attrs.length(); ++i) - { - if ( attrs.localName( i ) != "dictRef" ) - continue; - - if (attrs.value(i) == "bo:symbol"){ - for (int i = 0; i < attrs.length(); ++i) - { - if (attrs.localName(i) == "value") { - d->currentDataObject.setData( attrs.value(i) ); - d->currentDataObject.setType( ChemicalDataObject::symbol ); - - if ( d->currentElement ) - d->currentElement->addData( d->currentDataObject ); - } - } - } - else if ( attrs.value(i) == "bo:name" ){ - for (int i = 0; i < attrs.length(); ++i) - { - if (attrs.localName(i) == "value") { - d->currentDataObject.setData( i18n( attrs.value(i).toUtf8() ) ); - d->currentDataObject.setType( ChemicalDataObject::name ); - - if ( d->currentElement ) - d->currentElement->addData( d->currentDataObject ); - } - } - } - } - } - return true; -} - -bool ElementSaxParser::endElement( const QString &, const QString& localName, const QString& ) -{ - if ( localName == "atom" ) - { - if ( d->currentElement->dataAsString( ChemicalDataObject::symbol ) != "Xx" ) - d->elements.append(d->currentElement); - else - delete d->currentElement; - - d->currentElement = 0; - d->inElement = false; - } - else if ( localName == "scalar" || localName == "label" || localName == "array" ) - { - d->currentDataObject.setUnit( d->currentUnit ); - } - return true; -} - -bool ElementSaxParser::characters(const QString &ch) -{ - d->currentDataObject = ChemicalDataObject(); - ChemicalDataObject::BlueObelisk type; - QVariant value; - - if (d->inMass){ - value = ch.toDouble(); - type = ChemicalDataObject::mass; - d->inMass = false; - } - else if (d->inExactMass){ - value = ch.toDouble(); - type = ChemicalDataObject::exactMass; - d->inExactMass = false; - } - else if (d->inAtomicNumber) { - value = ch.toInt(); - type = ChemicalDataObject::atomicNumber; - d->inAtomicNumber = false; - } - else if (d->inIonization) { - value = ch.toDouble();; - type = ChemicalDataObject::ionization; - d->inIonization = false; - } - else if (d->inElectronAffinity) { - value = ch.toDouble(); - type = ChemicalDataObject::electronAffinity; - d->inElectronAffinity = false; - } - else if (d->inElectronegativityPauling) { - value = ch.toDouble(); - type = ChemicalDataObject::electronegativityPauling; - d->inElectronegativityPauling = false; - } - else if (d->inRadiusCovalent) { - value = ch.toDouble(); - type = ChemicalDataObject::radiusCovalent; - d->inRadiusCovalent = false; - } - else if (d->inRadiusVDW) { - value = ch.toDouble(); - type = ChemicalDataObject::radiusVDW; - d->inRadiusVDW = false; - } - else if (d->inMeltingPoint) { - value = ch.toDouble(); - type = ChemicalDataObject::meltingpoint; - d->inMeltingPoint = false; - } - else if (d->inBoilingPoint) { - value = ch.toDouble(); - type = ChemicalDataObject::boilingpoint; - d->inBoilingPoint = false; - } - else if (d->inPeriodTableBlock) { - value = ch; - type = ChemicalDataObject::periodTableBlock; - d->inPeriodTableBlock = false; - } - else if (d->inNameOrigin) { - value = i18n( ch.toUtf8() ); - type = ChemicalDataObject::nameOrigin; - d->inNameOrigin = false; - } - else if (d->inDiscoveryDate) { - value = ch.toInt(); - type = ChemicalDataObject::date; - d->inDiscoveryDate = false; - } - else if (d->inDiscoverers) { - value = ch; - type = ChemicalDataObject::discoverers; - d->inDiscoverers = false; - } - else if (d->inPeriod) { - value = ch.toInt(); - type = ChemicalDataObject::period; - d->inPeriod = false; - } - else if (d->inCrystalstructure) { - value = ch; - type = ChemicalDataObject::crystalstructure; - d->inCrystalstructure = false; - } - else if (d->inAcidicbehaviour) { - value = ch.toInt(); - type = ChemicalDataObject::acidicbehaviour; - d->inAcidicbehaviour = false; - } - else if (d->inFamily) { - value = ch; - type = ChemicalDataObject::family; - d->inFamily = false; - } - else if (d->inGroup) { - value = ch.toInt(); - type = ChemicalDataObject::group; - d->inGroup = false; - } - else if (d->inElectronicconfiguration) { - value = ch; - type = ChemicalDataObject::electronicConfiguration; - d->inElectronicconfiguration = false; - } - else if (d->inDangerSymbol){ - value = ch; - type = ChemicalDataObject::dangerSymbol; - d->inDangerSymbol = false; - } - else if (d->inRPhrase){ - value = ch; - type = ChemicalDataObject::RPhrase; - d->inRPhrase = false; - } - else if (d->inSPhrase){ - value = ch; - type = ChemicalDataObject::SPhrase; - d->inSPhrase = false; - } - else if (d->inCountry){ - if ( ch == "ancient" ) { - value = 0; - type = ChemicalDataObject::date; - } else { - value = ch; - type = ChemicalDataObject::discoveryCountry; - } - d->inCountry = false; - } - else//it is a non known value. Do not create a wrong object but return - return true; - - d->currentDataObject.setData( value ); - d->currentDataObject.setType( type ); - - if ( d->currentElement ) - d->currentElement->addData( d->currentDataObject ); - - return true; -} - -QList ElementSaxParser::getElements() -{ - return d->elements; -} diff --git a/libscience/elementparser.h b/libscience/elementparser.h deleted file mode 100644 index b74657e..0000000 --- a/libscience/elementparser.h +++ /dev/null @@ -1,47 +0,0 @@ -#ifndef ELEMENTPARSER_H -#define ELEMENTPARSER_H -/*************************************************************************** - copyright : (C) 2005 by Carsten Niehaus - email : cniehaus@kde.org - ***************************************************************************/ -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#include - -#include "libkdeedu_science_export.h" - -#include - -class Element; - -/** - * @author Carsten Niehaus - */ -class SCIENCE_EXPORT ElementSaxParser : public QXmlDefaultHandler -{ - public: - /** - * Constructor - */ - ElementSaxParser(); - ~ElementSaxParser(); - bool startElement( const QString&, const QString &localName, const QString&, const QXmlAttributes &attrs ); - - bool endElement( const QString& namespaceURI, const QString &localName, const QString& qName ); - - bool characters(const QString &ch); - - QList getElements(); - - private: - class Private; - Private *const d; -}; -#endif // ELEMENTPARSER_H diff --git a/libscience/isotope.cpp b/libscience/isotope.cpp deleted file mode 100644 index 3c94ecc..0000000 --- a/libscience/isotope.cpp +++ /dev/null @@ -1,188 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2005 by Carsten Niehaus * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * - ***************************************************************************/ -#include "isotope.h" -#include "chemicaldataobject.h" - -#include - -Isotope::Isotope() -{ -} - -Isotope::~Isotope() -{ -} - -void Isotope::addData( ChemicalDataObject o ) -{ - if ( o.type() == ChemicalDataObject::exactMass ) - m_mass = o; - else if ( o.type() == ChemicalDataObject::atomicNumber ) - m_identifier = o; - else if ( o.type() == ChemicalDataObject::symbol ) - m_parentElementSymbol = o; - else if ( o.type() == ChemicalDataObject::spin ) - m_spin = o; - else if ( o.type() == ChemicalDataObject::magneticMoment ) - m_magmoment = o; - else if ( o.type() == ChemicalDataObject::relativeAbundance ) - m_abundance = o; - else if ( o.type() == ChemicalDataObject::halfLife ) - m_halflife = o; - else if ( o.type() == ChemicalDataObject::ecDecay ) - m_ecdecay = o; - else if ( o.type() == ChemicalDataObject::ecDecayLikeliness ) - m_eclikeliness = o; - else if ( o.type() == ChemicalDataObject::betaplusDecay ) - m_betaplusdecay = o; - else if ( o.type() == ChemicalDataObject::betaplusDecayLikeliness ) - m_betapluslikeliness = o; - else if ( o.type() == ChemicalDataObject::betaminusDecay ) - m_betaminusdecay = o; - else if ( o.type() == ChemicalDataObject::betaminusDecayLikeliness ) - m_betaminuslikeliness = o; - else if ( o.type() == ChemicalDataObject::alphaDecay ) - m_alphadecay = o; - else if ( o.type() == ChemicalDataObject::alphaDecayLikeliness ) - m_alphalikeliness = o; - -} - -double Isotope::mass() const -{ - return m_mass.value().toDouble(); -} - -QString Isotope::errorMargin() const -{ - return m_mass.errorValue().toString(); -} - -int Isotope::parentElementNumber() const -{ - return m_identifier.value().toInt(); -} - -QString Isotope::spin() const -{ - return m_spin.value().toString(); -} - -QString Isotope::magmoment() const -{ - return m_magmoment.value().toString(); -} - -QString Isotope::abundance() const -{ - return m_abundance.value().toString(); - return QString(); -} - -double Isotope::halflife() const -{ - return m_halflife.value().toDouble(); -} - -QString Isotope::halflifeUnit() const -{ - return m_halflife.unitAsString(); -} - -double Isotope::ecdecay() const -{ - return m_ecdecay.value().toDouble(); -} -double Isotope::eclikeliness() const -{ - return m_eclikeliness.value().toDouble(); -} -double Isotope::betaplusdecay() const -{ - return m_betaplusdecay.value().toDouble(); -} - -double Isotope::betapluslikeliness() const -{ - return m_betapluslikeliness.value().toDouble(); -} - -double Isotope::betaminusdecay() const -{ - return m_betaminusdecay.value().toDouble(); -} - -double Isotope::betaminuslikeliness() const -{ - return m_betaminuslikeliness.value().toDouble(); -} - -double Isotope::alphadecay() const -{ - return m_alphadecay.value().toDouble(); -} - -double Isotope::alphalikeliness() const -{ - return m_alphalikeliness.value().toDouble(); -} - -QString Isotope::parentElementSymbol() const -{ - return m_parentElementSymbol.value().toString(); -} - -void Isotope::setNucleons( int number ) -{ - m_numberOfNucleons = number; -} - -int Isotope::nucleons() const -{ - return m_numberOfNucleons; -} - -Isotope::Nucleons Isotope::nucleonsAfterDecay( Decay kind ) -{ - Isotope::Nucleons n; - int protons = m_identifier.value().toInt(); - int neutrons = m_numberOfNucleons - protons; - n.protons = protons; - n.neutrons = neutrons; - - switch ( kind ) - { - case ALPHA: - n.protons-=2; - break; - case BETAMINUS: - n.protons+=1; - n.neutrons-=1; - break; - case BETAPLUS: - n.protons-=1; - break; - case EC: - n.protons-=1; - n.neutrons+=1; - break; - } - - return n; -} diff --git a/libscience/isotope.h b/libscience/isotope.h deleted file mode 100644 index 6565075..0000000 --- a/libscience/isotope.h +++ /dev/null @@ -1,232 +0,0 @@ -#ifndef ISOTOPE_H -#define ISOTOPE_H -/*************************************************************************** - * Copyright (C) 2005-2008 by Carsten Niehaus * - * cniehaus@kde.org * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * - ***************************************************************************/ - -#include "chemicaldataobject.h" - -#include "libkdeedu_science_export.h" - -/** - * @author Carsten Niehaus - * - * This class represents an Isotope with all its properties - */ -class SCIENCE_EXPORT Isotope -{ - public: - /** - * Constructs a new empty isotope. - */ - Isotope(); - - /** - * Destructor - */ - ~Isotope(); - - /** - * This struct stores the information how the nucleons in the - * isotopes are split into neutrons and protons. - */ - struct Nucleons - { - /** - * the number of neutrons of the isotope - */ - int neutrons; - - /** - * the number of protons of the isotope - */ - int protons; - }; - - /** - * @return the mass of the isotope - */ - double mass() const; - - /** - * @return the errormargin ( delta mass ) of the isotope - */ - QString errorMargin() const; - - /** - * If the isotope belongs to Iron, this method will return "26" - * @return the number of the element the isotope belongs to - */ - int parentElementNumber() const; - - /** - * If the isotope belongs to Iron, this method will return "Fe" - * @return the symbol of the element the isotope belongs to - */ - QString parentElementSymbol() const; - - QString spin() const; - - /** - * @return the magnetic moment of the Isotope - */ - QString magmoment() const; - - QString abundance() const; - - /** - * @return for example '17' if halflife of this Isotope is 17 seconds - * @ref halflife() - */ - double halflife() const; - - /** - * @return for example 's' if the unit of the halflife of this Isotope is given in - * seconds - */ - QString halflifeUnit() const; - - /** - * add the ChemicalDataObject @p o - */ - void addData( ChemicalDataObject o ); - - /** - * Set the number of nucleons of the isotope to @number - */ - void setNucleons( int number ); - - /** - * @return the sum of protons and neutrons - */ - int nucleons() const; - - /** - * @return decay - */ - double ecdecay() const; - - /** - * @return decay likeliness - */ - double eclikeliness() const; - - /** - * @return decay - */ - double betaminusdecay() const; - /** - * @return decay likeliness - */ - double betaminuslikeliness() const; - - /** - * @return decay - */ - double betaplusdecay() const; - - /** - * @return decay likeliness - */ - double betapluslikeliness() const; - - /** - * @return decay - */ - double alphadecay() const; - - - /** - * @return decay - */ - double alphalikeliness() const; - - /** - * This enum stores the different kinds of decay - */ - enum Decay - { - ALPHA/** - - -class IsotopeParser::Private -{ -public: - Private() - : currentUnit(ChemicalDataObject::noUnit), - currentErrorValue(QVariant()), - currentElementSymbol(QString()), - currentIsotope(0), - inIsotope(false), - inElement(false), - inAtomicNumber(false), - inExactMass(false), - inSpin(false), - inMagMoment(false), - inHalfLife(false), - inAlphaDecayLikeliness(false), - inAlphaDecay(false), - inBetaplusDecayLikeliness(false), - inBetaplusDecay(false), - inBetaminusDecayLikeliness(false), - inBetaminusDecay(false), - inECDecayLikeliness(false), - inECDecay(false), - inAbundance(false) - { - } - - ~Private(){ - delete currentIsotope; - //qDeleteAll(isotopes); - } - - ChemicalDataObject currentDataObject; - ChemicalDataObject::BlueObeliskUnit currentUnit; - QVariant currentErrorValue; - QString currentElementSymbol; - Isotope* currentIsotope; - - QList isotopes; - - bool inIsotope; - bool inElement; - bool inAtomicNumber; - bool inExactMass; - bool inSpin; - bool inMagMoment; - bool inHalfLife; - bool inAlphaDecayLikeliness; - bool inAlphaDecay; - bool inBetaplusDecayLikeliness; - bool inBetaplusDecay; - bool inBetaminusDecayLikeliness; - bool inBetaminusDecay; - bool inECDecayLikeliness; - bool inECDecay; - bool inAbundance; -}; - -IsotopeParser::IsotopeParser() - : QXmlDefaultHandler(), d( new Private ) -{ -} - -IsotopeParser::~IsotopeParser() -{ - delete d; -} - -bool IsotopeParser::startElement(const QString&, const QString &localName, const QString&, const QXmlAttributes &attrs) -{ - if (localName == "isotopeList") - { - d->inElement = true; - - //now save the symbol of the current element - for (int i = 0; i < attrs.length(); ++i) - { - if ( attrs.localName( i ) == "id" ) - d->currentElementSymbol = attrs.value( i ); - - } - } else if ( d->inElement && localName == "isotope") - { - d->currentIsotope = new Isotope(); - d->currentIsotope->addData( ChemicalDataObject( QVariant( d->currentElementSymbol ), ChemicalDataObject::symbol ) ); - d->inIsotope = true; - for (int i = 0; i < attrs.length(); ++i) - { - if ( attrs.localName( i ) == "number" ) - { - d->currentIsotope->setNucleons( attrs.value( i ).toInt() ); - } - } - } else if (d->inIsotope && localName == "scalar") - { - for (int i = 0; i < attrs.length(); ++i) - { - if ( attrs.localName( i ) == "errorValue" ) - { - d->currentErrorValue = QVariant( attrs.value( i ) ); - continue; - } - - if (attrs.value(i) == "bo:atomicNumber") - d->inAtomicNumber = true; - else if (attrs.value(i) == "bo:exactMass") - d->inExactMass = true; - else if (attrs.value(i) == "bo:halfLife"){ - for (int i = 0; i < attrs.length(); ++i) - { - if (attrs.localName(i) == "units") { - if ( attrs.value(i) == "siUnits:s" ) { - d->currentUnit = ChemicalDataObject::s; - } else if ( attrs.value(i) == "units:y" ) { - d->currentUnit = ChemicalDataObject::y; - } else { - d->currentUnit = ChemicalDataObject::noUnit; - } - } - } - - d->currentDataObject.setUnit( d->currentUnit ); - d->inHalfLife = true; - } - else if (attrs.value(i) == "bo:alphaDecay") - d->inAlphaDecay = true; - else if (attrs.value(i) == "bo:alphaDecayLikeliness") - d->inAlphaDecayLikeliness = true; - else if (attrs.value(i) == "bo:ecDecay") - d->inECDecay = true; - else if (attrs.value(i) == "bo:ecDecayLikeliness") - d->inECDecayLikeliness = true; - else if (attrs.value(i) == "bo:betaminusDecay") - d->inBetaminusDecay = true; - else if (attrs.value(i) == "bo:betaminusDecayLikeliness") - d->inBetaminusDecayLikeliness = true; - else if (attrs.value(i) == "bo:betaplusDecay") - d->inBetaplusDecay = true; - else if (attrs.value(i) == "bo:betaplusDecayLikeliness") - d->inBetaplusDecayLikeliness = true; - else if (attrs.value(i) == "bo:spin") - d->inSpin = true; - else if (attrs.value(i) == "bo:magneticMoment") - d->inMagMoment = true; - else if (attrs.value(i) == "bo:relativeAbundance") - d->inAbundance = true; - } - } - return true; -} - -bool IsotopeParser::endElement( const QString&, const QString& localName, const QString& ) -{ - if ( localName == "isotope" ) - { - d->isotopes.append(d->currentIsotope); - - d->currentIsotope = 0; - d->inIsotope = false; - } - else if ( localName == "isotopeList" ) - {//a new list of isotopes start... - d->inElement = false; - } - - return true; -} - -bool IsotopeParser::characters(const QString &ch) -{ - ChemicalDataObject::BlueObelisk type; - QVariant value; - - if (d->inExactMass){ - value = ch.toDouble(); - type = ChemicalDataObject::exactMass; - d->inExactMass = false; - } - else if (d->inAtomicNumber) { - value = ch.toInt(); - type = ChemicalDataObject::atomicNumber; - d->inAtomicNumber = false; - } - else if (d->inSpin) { - value = ch; - type = ChemicalDataObject::spin; - d->inSpin = false; - } - else if (d->inMagMoment) { - value = ch; - type = ChemicalDataObject::magneticMoment; - d->inMagMoment = false; - } - else if (d->inHalfLife) { - value = ch.toDouble(); - type = ChemicalDataObject::halfLife; - d->inHalfLife = false; - } - else if (d->inAlphaDecay) { - value = ch.toDouble(); - type = ChemicalDataObject::alphaDecay; - d->inAlphaDecay = false; - } - else if (d->inAlphaDecayLikeliness) { - value = ch.toDouble(); - type = ChemicalDataObject::alphaDecayLikeliness; - d->inAlphaDecayLikeliness = false; - } - else if (d->inBetaplusDecay) { - value = ch.toDouble(); - type = ChemicalDataObject::betaplusDecay; - d->inBetaplusDecay = false; - } - else if (d->inBetaplusDecayLikeliness) { - value = ch.toDouble(); - type = ChemicalDataObject::betaplusDecayLikeliness; - d->inBetaplusDecayLikeliness = false; - } - else if (d->inBetaminusDecay) { - value = ch.toDouble(); - type = ChemicalDataObject::betaminusDecay; - d->inBetaminusDecay = false; - } - else if (d->inBetaminusDecayLikeliness) { - value = ch.toDouble(); - type = ChemicalDataObject::betaminusDecayLikeliness; - d->inBetaminusDecayLikeliness = false; - } - else if (d->inECDecayLikeliness) { - value = ch.toDouble(); - type = ChemicalDataObject::ecDecayLikeliness; - d->inECDecayLikeliness = false; - } - else if (d->inECDecay) { - value = ch.toDouble(); - type = ChemicalDataObject::ecDecay; - d->inECDecay = false; - } - else if (d->inAbundance){ - value = ch; - type = ChemicalDataObject::relativeAbundance; - d->inAbundance = false; - } - else//it is a non known value. Do not create a wrong object but return - return true; - - if ( type == ChemicalDataObject::exactMass ) - { - d->currentDataObject.setErrorValue( d->currentErrorValue ); - } - - d->currentDataObject.setData( value ); - d->currentDataObject.setType( type ); - - if ( d->currentIsotope ) - { - d->currentIsotope->addData( d->currentDataObject ); - } - - return true; -} - -QList IsotopeParser::getIsotopes() -{ - return d->isotopes; -} diff --git a/libscience/isotopeparser.h b/libscience/isotopeparser.h deleted file mode 100644 index 7e1107d..0000000 --- a/libscience/isotopeparser.h +++ /dev/null @@ -1,48 +0,0 @@ -#ifndef ISOTOPEPARSER_H -#define ISOTOPEPARSER_H -/*************************************************************************** - copyright : (C) 2005 by Carsten Niehaus - email : cniehaus@kde.org - ***************************************************************************/ -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#include - -#include "libkdeedu_science_export.h" - -#include - -class Isotope; - -/** - * @author Carsten Niehaus - */ -class SCIENCE_EXPORT IsotopeParser : public QXmlDefaultHandler -{ - public: - /** - * Constructor - */ - IsotopeParser(); - ~IsotopeParser(); - bool startElement( const QString&, const QString &localName, const QString&, const QXmlAttributes &attrs ); - - bool endElement( const QString& namespaceURI, const QString &localName, const QString& qName ); - - bool characters(const QString &ch); - - QList getIsotopes(); - - private: - class Private; - Private *const d; -}; -#endif // ISOTOPEPARSER_H - diff --git a/libscience/libkdeedu_science_export.h b/libscience/libkdeedu_science_export.h deleted file mode 100644 index e9343e5..0000000 --- a/libscience/libkdeedu_science_export.h +++ /dev/null @@ -1,40 +0,0 @@ -/* This file is part of the KDE project - Copyright (C) 2007 David Faure - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#ifndef LIBKDEEDU_SCIENCE_EXPORT_H -#define LIBKDEEDU_SCIENCE_EXPORT_H - -/* needed for KDE_EXPORT and KDE_IMPORT macros */ -#include - -#ifndef SCIENCE_EXPORT -# if defined(MAKE_SCIENCE_LIB) - /* We are building this library */ -# define SCIENCE_EXPORT KDE_EXPORT -# else - /* We are using this library */ -# define SCIENCE_EXPORT KDE_IMPORT -# endif -#endif - -# ifndef SCIENCE_EXPORT_DEPRECATED -# define SCIENCE_EXPORT_DEPRECATED KDE_DEPRECATED SCIENCE_EXPORT -# endif - -#endif diff --git a/libscience/moleculeparser.cpp b/libscience/moleculeparser.cpp deleted file mode 100644 index 1e7c68d..0000000 --- a/libscience/moleculeparser.cpp +++ /dev/null @@ -1,494 +0,0 @@ -/*************************************************************************** - copyright : (C) 2005 by Inge Wallin - email : inge@lysator.liu.se - ***************************************************************************/ -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#include "moleculeparser.h" - -#include - -#include -#include -#include - -// ================================================================ -// class ElementCountMap - - - -ElementCountMap::ElementCountMap() -{ - m_map.clear(); -} - - -ElementCountMap::~ElementCountMap() -{ -} - - -ElementCount * -ElementCountMap::search(Element *_element) -{ - foreach( ElementCount* c, m_map ){ - if ( c->element() == _element ) - return c; - } - - return 0; -} - - -void -ElementCountMap::add(ElementCountMap &_map) -{ - foreach( ElementCount* c, _map.m_map ){ - add( c->m_element, c->m_count ); - } - -} - -QList -ElementCountMap::elements() -{ - QList list; - - foreach( ElementCount* c, m_map ){ - Element* e = c->m_element; - if ( !list.contains( e ) ) - list << e; - } - - return list; -} - - -void -ElementCountMap::add(Element *_element, int _count) -{ - ElementCount *elemCount; - - elemCount = search(_element); - if (elemCount) - elemCount->m_count += _count; - else - m_map.append(new ElementCount(_element, _count)); -} - - -void -ElementCountMap::multiply(int _factor) -{ - foreach (ElementCount * count, m_map) { - count->multiply(_factor); - } -} - - -// ================================================================ -// class MoleculeParser - - -MoleculeParser::MoleculeParser( const QList& list) - : Parser() -{ - m_elementList = list; - m_aliasList = new QSet; -} - - -MoleculeParser::MoleculeParser(const QString& _str) - : Parser(_str) -{ - m_aliasList = new QSet; -} - - -MoleculeParser::~MoleculeParser() -{ - delete m_aliasList; -} - - -// ---------------------------------------------------------------- -// public methods - - -// Try to parse the molecule and get the weight of it. -// -// This method also acts as the main loop. - -bool -MoleculeParser::weight(const QString& _shortMoleculeString, - double *_resultMass, - ElementCountMap *_resultMap) -{ - if ( _shortMoleculeString.isEmpty() ) - return false; - // Clear the list of aliases and start filling it again. - - m_aliasList -> clear(); - QString _moleculeString; - // Clear the result variables and set m_error to false - _resultMap->clear(); - m_error = false; - *_resultMass = 0.0; - - // Expand the molecule string - // Example : MeOH -> (CH3)OH - kDebug() << _shortMoleculeString << "is going to be expanded"; - _moleculeString = expandFormula(_shortMoleculeString); - kDebug() << _moleculeString << "is the expanded string"; - - // Now set the expanded string - // Initialize the parsing process, and parse te molecule. - start(_moleculeString); - parseSubmolecule(_resultMass, _resultMap); - - if (nextToken() != -1) - return false; - - if ( m_error )//there was an error in the input... - return false; - - return true; -} - -QSet -MoleculeParser::aliasList() -{ - return *m_aliasList; -} -// ---------------------------------------------------------------- -// helper methods for the public methods - - -// Parse a submolecule. This is a list of terms. -// - -bool -MoleculeParser::parseSubmolecule(double *_resultMass, - ElementCountMap *_resultMap) -{ - double subMass = 0.0; - ElementCountMap subMap; - - *_resultMass = 0.0; - _resultMap->clear(); - while (parseTerm(&subMass, &subMap)) { - //kDebug() << "Parsed a term, weight = " << subresult; - - // Add the mass and composition of the submolecule to the total. - *_resultMass += subMass; - _resultMap->add(subMap); - } - - return true; -} - - -// Parse a term within the molecule, i.e. a single atom or a -// submolecule within parenthesis followed by an optional number. -// Examples: Bk, Mn2, (COOH)2 -// -// Return true if correct, otherwise return false. - -// If correct, the mass of the term is returned in *_resultMass, and -// the flattened composition of the molecule in *_resultMap. -// - -bool -MoleculeParser::parseTerm(double *_resultMass, - ElementCountMap *_resultMap) -{ - *_resultMass = 0.0; - _resultMap->clear(); - - if (nextToken() == ELEMENT_TOKEN) { - //kDebug() << "Parsed an element: " << m_elementVal->symbol(); - *_resultMass = m_elementVal->dataAsVariant( ChemicalDataObject::mass ).toDouble(); - _resultMap->add(m_elementVal, 1); - - getNextToken(); - } - - else if (nextToken() == '(') { - // A submolecule. - - getNextToken(); - parseSubmolecule(_resultMass, _resultMap); - - // Must end in a ")". - if (nextToken() == ')') { - //kDebug() << "Parsed a submolecule. weight = " << *_result; - getNextToken(); - } - else - return false; - } - else - // Neither an element nor a list within (). - return false; - - // Optional number. - if (nextToken() == INT_TOKEN) { - //kDebug() << "Parsed a number: " << intVal(); - - *_resultMass *= intVal(); - _resultMap->multiply(intVal()); - - getNextToken(); - } - - kDebug() << "Weight of term = " << *_resultMass; - return true; -} - - -// ---------------------------------------------------------------- -// protected methods - - -// Extend Parser::getNextToken with elements. - -int -MoleculeParser::getNextToken() -{ - QString name; - -#if 0 - kDebug() << "getNextToken(): Next character = " - << nextChar() << endl; -#endif - - // Check if the token is an element name. - if ('A' <= nextChar() && nextChar() <= 'Z') { - name = char(nextChar()); - getNextChar(); - - if ('a' <= nextChar() && nextChar() <= 'z') { - name.append(char(nextChar())); - getNextChar(); - } - - // Look up the element from the name.. - m_elementVal = lookupElement(name); - if (m_elementVal) - { - m_nextToken = ELEMENT_TOKEN; - } - else - m_nextToken = -1; - } - else - return Parser::getNextToken(); - - return m_nextToken; -} - - -// ---------------------------------------------------------------- -// private methods - - -Element * -MoleculeParser::lookupElement( const QString& _name ) -{ - kDebug() << "looking up " << _name; - - foreach( Element* e, m_elementList ){ - if ( e->dataAsVariant(ChemicalDataObject::symbol) == _name ) { - kDebug() << "Found element " << _name; - return e; - } - } - - //if there is an error make m_error true. - m_error = true; - - kDebug() << "no such element!: " << _name; - - return NULL; -} - -QString -MoleculeParser::expandFormula( const QString& _shortString) -{ - QString _fullString; // The expanded string that will be returned - QString::const_iterator i; // iterator - QString temp; // A temporary string that will contain a single element/group - QString expandedTerm; // expansion of a particular term. - - // Go through all letters in the string. - for(i = _shortString.constBegin(); i != _shortString.constEnd(); ) - { - temp = ""; - - // If a capital letter was found - if((*i).category() == QChar::Letter_Uppercase) { - temp += (*i); - i++; - - // A small letter following a capital letter - if(i != _shortString.end() && (*i).category() == QChar::Letter_Lowercase) { - temp += (*i); - i++; - } - - // If element is found, append it - if (lookupElement(temp)) { - _fullString += temp; - } - - // If an expansion was made, return the expansion - else if (!((expandedTerm = expandTerm(temp)).isEmpty())) { - kDebug() << "expanded" << temp << "to" << expandedTerm; - _fullString += "("+expandedTerm+")"; - } - // invalid term, append it. ( Validation is done later anyway. ) - else { - _fullString += temp; - } - - } - - // Return parenthesis as and when found - else if (*i == '(') { - _fullString += '('; - i++; - } - else if (*i == ')') { - _fullString += ')'; - i++; - } - - // If # is found, we have a short-form eg #EDTA# - else if (*i == '#') { - i ++; // go to the next character - // Get the term between # and # - while (*i != '#' && i != _shortString.constEnd() ) - { - temp += *i; - i ++; - } - // If the string ended, just add the part that comes after # - if ( i == _shortString.constEnd()) { - _fullString += temp; - break; - } - // else expand the term between # and # - else if (!temp.isEmpty()) - { - // if alias is not found, just add without expanding the term - if((expandedTerm = expandTerm(temp)).isEmpty()) - _fullString += temp; - // else add the expanded term - else - _fullString += expandedTerm; - } - i ++; - } - // If number was found, return it - else if ((*i).category() == QChar::Number_DecimalDigit) { - _fullString += *i; - i++; - } - else { // invalid character, return it, validation is done again later - _fullString += *i; - i++; - kDebug() << *i << "invalid character!"; - } - } - - // Reset all "element not found" errors. - m_error = false; - return _fullString; -} - -QString -MoleculeParser::expandTerm (const QString& _group) -{ - - QString shortForm, fullForm; // short form (symbol) and full form (expansion) - QString temp; // A temporary QString used in Regular expressions - - // Search in User defined aliases. - QString fileName = KStandardDirs::locate( "data", "libkdeedu/data/symbols2.csv"); - QFile file(fileName); - - // Check file validity - if (!(!file.open(QIODevice::ReadOnly | QIODevice::Text))) - { - kDebug() << fileName << " opened"; - QTextStream in(&file); - - // Get all shortForms and fullForms in the file. - while (!in.atEnd()) { - QString line = in.readLine(); - shortForm = line.section(',', 0, 0); - shortForm.remove(QChar('\"')); - fullForm = line.section(',', 1, 1); - fullForm.remove(QChar('\"')); - - // If short term is found, return fullForm - if (shortForm == _group) - { - *m_aliasList << (_group + " : " + fullForm); - return (fullForm); - } - } - } - else - { - kDebug() << fileName << " could not be opened!"; - } - - // Find the system defined aliases - // Open the file - fileName = KStandardDirs::locate( "data", "libkdeedu/data/symbols.csv"); - QFile file2(fileName); - - // Check file validity - if (!(!file2.open(QIODevice::ReadOnly | QIODevice::Text))) - { - kDebug() << fileName << " opened"; - QTextStream in(&file2); - - // Get all shortForms and fullForms in the file. - while (!in.atEnd()) { - QString line = in.readLine(); - shortForm = line.section(',', 0, 0); - shortForm.remove(QChar('\"')); - fullForm = line.section(',', 1, 1); - fullForm.remove(QChar('\"')); - - if (shortForm == _group) - { - *m_aliasList << (_group + " : " + fullForm); - return (fullForm); - } - } - } - else - { - kDebug() << fileName << " could not be opened!"; - } - - // Sample expansions, work even when file is not found, testing purposes - if (_group == "Me") - return ("CH3"); - else if (_group == "Et") - return ("C2H5"); - - // If not found return an empty string. - else - return (""); -} diff --git a/libscience/moleculeparser.h b/libscience/moleculeparser.h deleted file mode 100644 index 705154f..0000000 --- a/libscience/moleculeparser.h +++ /dev/null @@ -1,256 +0,0 @@ -/*************************************************************************** - copyright : (C) 2005 by Inge Wallin - email : inge@lysator.liu.se - ***************************************************************************/ -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#ifndef MOLECULEPARSER_H -#define MOLECULEPARSER_H - -#include "libkdeedu_science_export.h" - -#include "element.h" -#include "parser.h" - -#include -#include - - -/** - * @class ElementCount - * @author Inge Wallin - */ -class SCIENCE_EXPORT ElementCount -{ - public: - /** - * Constructor - */ - ElementCount(Element *_element, int _count) - { - m_element = _element; - m_count = _count; - } - - /** - * Constructor - */ - ElementCount(Element *_element) - { - m_element = _element; - m_count = 0; - } - /** - * Destructor - */ - ~ElementCount(); - - /** - * @return the Element - */ - Element *element() const { return m_element; } - - /** - * @return the number of occurrences of the Element - */ - int count() const { return m_count; } - - /** - * Add @p _count occurrences of the Element - * @param _count The number of times the Element occurs - */ - void add(int _count) { m_count += _count; } - void multiply(int _factor) { m_count *= _factor; } - - /** - * The Element of the object - */ - Element *m_element; - /** - * The number of occurrences - */ - int m_count; -}; - - -/** - * This class is used to count the elements in the molecule - * which is being calculated - * - * @class ElementCountMap - * @author Inge Wallin - */ -class SCIENCE_EXPORT ElementCountMap -{ - public: - /** - * Constructor - */ - ElementCountMap(); - - /** - * Destructor - */ - ~ElementCountMap(); - - /** - * Clear the map of ElementCount pointers - */ - void clear(){ - m_map.clear(); - } - - /** - * @param _element the searched Element - * @return the Element which is searched - */ - ElementCount *search(Element *_element); - - /** - * @param _map - */ - void add(ElementCountMap &_map); - - /** - * Returns the elements in the molecule. For example, if the molecule - * is CO2, a list with C and O will be returned. - * @return the elements in the molecule - */ - QList elements(); - - /** - * @param _element - * @param _count - */ - void add(Element *_element, int _count); - - /** - * @param _factor - */ - void multiply(int _factor); - - QList map(){ - return m_map; - } - - private: - QList m_map; -}; - - - -/** - * @class MoleculeParser - * - * Parse molecule formulas. - * - * Usage: - * @code - * MoleculeParser parser; - * QString chemical_formula = "C2H5OH"; - * double weight; - * - * if (parser.weight(chemical_formula, &weight)) - * cout << "Weight of " << chemical_formula << " = " << weight << ".\n"; - * else - * cout << "Parse error\n"; - * @endcode - * - * If a short form of a compound is specified, it will be expanded. - * Example :- EtOH -> (C2H5OH) - * @code - * MoleculeParser parser; - * QString chemical_formula = "EtOH"; - * double weight; - * - * if (parser.weight(chemical_formula, &weight)) - * cout << "Weight of " << chemical_formula << " = " << weight << ".\n"; - * else - * cout << "Parse error\n"; - * @endcode - * - * @author Inge Wallin - * @author Kashyap R Puranik - */ -class SCIENCE_EXPORT MoleculeParser : public Parser { - -public: - /** - * @param list This list of chemical elements will be used internally - * for searching and matching with searched strings - * Constructor - */ - MoleculeParser( const QList& list ); - - /** - * Constructor - * - * @param _str @ref Parser::start the parsing with @p _str - */ - MoleculeParser( const QString& _str); - - /** - * Destructor - */ - virtual ~MoleculeParser(); - - /** - * Try to parse the molecule @p molecule and get the weight of it. - * The calculated weight is stored in @p _result. - * - * @param _moleculeString - * @param _resultMass - * @param _resultMap - * - * @return whether the parsing was successful or not - */ - bool weight(const QString& _moleculeString, - double *_resultMass, - ElementCountMap *_resultMap); - - QSet aliasList(); - private: - // Helper functions - bool parseSubmolecule(double *_resultMass, - ElementCountMap *_resultMap); - bool parseTerm(double *_resultMass, - ElementCountMap *_resultMap); - // This function expands the molecule string - // eg expandFormula(EtOH) returns (C2H5)OH - QString expandFormula(const QString& _shortMolecularMass); - // This function expands a term - // eg expandTerm(Et) returns (C2H5) - QString expandTerm(const QString& _group); - - QList m_elementList; - - static const int ELEMENT_TOKEN = 300; - - Element *lookupElement( const QString& _name ); - - QMap m_elementMap; - - // Contains the list of aliases eg, { "Et - C2H5", "Me - CH3"} - QSet *m_aliasList; - //if this booloean is "true" the parser found an error - bool m_error; - -protected: - - /** - * Extends the standard tokenizer in Parser::getNextToken(). - */ - virtual int getNextToken(); - -private: - Element *m_elementVal; // Valid if m_nextToken == ELEMENT_TOKEN -}; - -#endif diff --git a/libscience/parser.cpp b/libscience/parser.cpp deleted file mode 100644 index 223463b..0000000 --- a/libscience/parser.cpp +++ /dev/null @@ -1,219 +0,0 @@ -/*************************************************************************** - copyright : (C) 2005 by Inge Wallin - email : inge@lysator.liu.se - ***************************************************************************/ -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#include "parser.h" - -#include - -#include - - -Parser::Parser() -{ - start(QString()); -} - - -Parser::Parser(const QString& _str) -{ - start(_str); -} - - -Parser::~Parser() -{ -} - - -void -Parser::start(const QString& _str) -{ - m_str = _str; - - if (_str.isNull()) { - m_index = -1; - m_nextChar = -1; - m_nextToken = -1; - } - else { - m_index = 0; - m_nextChar = m_str.at(0).toLatin1(); - getNextToken(); - } -} - - -// ---------------------------------------------------------------- - - -// Skip whitespace, and try to parse the following characters as an int. -// -// Return true if successful. - -bool -Parser::parseInt(int *_result) -{ - int sign = 1; - - skipWhitespace(); - - if (m_nextChar == '-') { - sign = -1; - getNextChar(); - } - - if (!isdigit(m_nextChar)) - return false; - - int result = 0; - while (isdigit(m_nextChar)) { - result = result * 10 + (m_nextChar - '0'); - getNextChar(); - } - - *_result = sign * result; - return true; -} - - -// Skip whitespace, and try to parse the following characters as a -// simple float of the type -?[0-9]+'.'?[0-9]* -// -// Return true if successful. - -bool -Parser::parseSimpleFloat(double *_result) -{ - double sign = 1.0; - - skipWhitespace(); - if (m_nextChar == '-') { - sign = -1.0; - getNextChar(); - } - - if (!isdigit(m_nextChar)) - return false; - - double result = 0.0; - - // The integer. - while (isdigit(m_nextChar)) { - result = result * 10.0 + (double) (m_nextChar - '0'); - getNextChar(); - } - *_result = result; - - if (m_nextChar != '.' || !isdigit(getNextChar())) { - *_result = sign * result; - return true; - } - - double decimal = 0.1; - while (isdigit(m_nextChar)) { - result += decimal * (double) (m_nextChar - '0'); - decimal /= 10.0; - getNextChar(); - } - - *_result = sign * result; - return true; -} - - -// ---------------------------------------------------------------- -// protected methods - - -int -Parser::getNextChar() -{ -// kDebug() << "Parser::getNextChar(): char = " << m_nextChar; -// kDebug() << "m_str.size() " << m_str.size() << " with m_str: " << m_str << " and m_index: " << m_index; - - m_index++; - - if (m_index == -1) - return -1; - - // If end of string, then reset the parser. - if (m_index == m_str.size()) { - m_index = -1; - m_nextChar = -1; - } - else - m_nextChar = m_str.at(m_index).toLatin1(); - - // Take care of null-terminated strings. - if (m_nextChar == 0) { - m_index = -1; - m_nextChar = -1; - } - - return m_nextChar; -} - - -int -Parser::skipWhitespace() -{ - while (QChar(m_nextChar).isSpace()) - getNextChar(); - - return m_nextChar; -} - - -// Get the next token. This corresponds to the lexical analyzer of a -// standard parser, e.g as generated by lex. -// -// This basic parser supports integers and simple -// floats. Reimplement this method to extend it. - -int -Parser::getNextToken() -{ - int saveIndex = m_index; - - skipWhitespace(); - if (isdigit(nextChar())) { - // At this point we know that there is a valid number in the - // string. The only question now, is whether it is an int or a - // float. - - parseInt(&m_intVal); - - skipWhitespace(); - if (nextChar() == '.') { - m_index = saveIndex; - - // No need to check since we already know it is correct. - (void) parseSimpleFloat(&m_floatVal); - m_nextToken = FLOAT_TOKEN; - } - else - m_nextToken = INT_TOKEN; - } - - else if (nextChar() != -1) { - // Any character. - m_nextToken = nextChar(); - getNextChar(); - } - - else - // End of string. - m_nextToken = -1; - - return m_nextToken; -} diff --git a/libscience/parser.h b/libscience/parser.h deleted file mode 100644 index 2cbfad3..0000000 --- a/libscience/parser.h +++ /dev/null @@ -1,136 +0,0 @@ -/*************************************************************************** - copyright : (C) 2005 by Inge Wallin - email : inge@lysator.liu.se - ***************************************************************************/ -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#ifndef PARSER_H -#define PARSER_H - -#include "libkdeedu_science_export.h" - -#include - - -/** - * @class Parser - * This is a general purpose parser originally written by Inge Wallin. - * - * It is intended to be subclassed; see MoleculeParser. - * - * @author Inge Wallin - */ -class SCIENCE_EXPORT Parser { -public: - /** - * Constructor - */ - Parser(); - - /** - * Constructor - * - * @param _str @ref start the parsing with @p _str - */ - explicit Parser(const QString& _str); - - /** - * Destructor - */ - virtual ~Parser(); - - /** - * Start a new parse. - */ - void start(const QString& _str); - - /** - * Peek at the next character; - */ - int nextChar() const { return m_nextChar; } - - /** - * Peek at the next token. - */ - int nextToken() const { return m_nextToken; } - - /** - * Get the value stored for different types of tokens. - */ - int intVal() const { return m_intVal; } - float floatVal() const { return m_floatVal; } - -private: - - // Try to parse some special datatypes. - bool parseInt(int *_result); - bool parseSimpleFloat(double *_result); - -protected: - /** - * All characters are their own token value per default. - * Extend this list in your subclass to make a more advanced parser. - */ - static const int INT_TOKEN = 257; - - /** - * All characters are their own token value per default. - * Extend this list in your subclass to make a more advanced parser. - */ - static const int FLOAT_TOKEN = 258; - - /** - * Make the next character the current one. - */ - int getNextChar(); - - /** - * Make the next non-space character the current one. - */ - int skipWhitespace(); - - /** - * Fetches the next token. - */ - virtual int getNextToken(); - -private: - QString m_str; - int m_index; - int m_nextChar; - - protected: - - // Lexical analysis and token handling. These members need to be - // protected instead of private since we want to be able to - // reimplement getNextToken(). - - /** - * The next token to be used in the parser. - */ - int m_nextToken; - - // Values for the respective token. These could be made into a - // union, but I don't think it is necessary to bother, since they - // are so few and we don't instantiate a lot of copies of the - // parser. - - /** - * Valid if m_nextToken == INT_TOKEN - */ - int m_intVal; // Valid if m_nextToken == INT_TOKEN - - /** - * Valid if m_nextToken == FLOAT_TOKEN - */ - double m_floatVal; // Valid if m_nextToken == FLOAT_TOKEN -}; - -#endif diff --git a/libscience/psetables.cpp b/libscience/psetables.cpp deleted file mode 100644 index 839242a..0000000 --- a/libscience/psetables.cpp +++ /dev/null @@ -1,413 +0,0 @@ -/********************************************************************************* - * Copyright (C) 2005, 2006 by Pino Toscano, toscano.pino@tiscali.it * - * Copyright (C) 2007 by Carste Niehaus, cniehaus@kde.org * - * copyright (C) 2010 by Etienne Rebetez, etienne.rebetez@oberwallis.ch* - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * - ***************************************************************************/ - -#include "psetables.h" - -#include -#include - - -pseTables::pseTables() -{ - m_tables << pseRegularTable::init(); - m_tables << pseShortTable::init(); - m_tables << pseLongTable::init(); - m_tables << pseDTable::init(); - m_tables << pseDZTable::init(); -} - -pseTables::~pseTables() -{ -// foreach(psTable *i, m_tables) { -// delete i; -// } -} - -pseTables *pseTables::instance() -{ - static pseTables tables; - return &tables; -} - -QStringList pseTables::tables() const -{ - QStringList l; - for ( int i = 0; i < m_tables.count(); i++ ) - { - l << m_tables.at( i )->description(); - } - return l; -} - -pseTable* pseTables::getTabletype(const int tableType) -{ - if ( ( tableType < 0 ) || ( tableType >= m_tables.count() ) ) { - return 0; - } - - return m_tables.at( tableType ); -} - -pseTable* pseTables::getTabletype(const QString tableName) -{ - for ( int i = 0; m_tables.count(); i++ ) { - if (tableName == m_tables.at( i )->name() ) { - return m_tables.at( i ); - } - } - return 0; -} - -pseTable::pseTable() -{ -} - -pseTable::~pseTable() -{ -} - -pseTable *pseTable::init() -{ - return 0; -} - -QString pseTable::name() const -{ - return m_name; -} - -QString pseTable::description() const -{ - return m_description; -} - -QList pseTable::elements() const -{ - return m_elementList; -} - -int pseTable::previousOf( int element ) const -{ - int index = m_elementList.indexOf( element ); - return index > 1 ? m_elementList.at( index - 1 ) : -1; -} - -int pseTable::nextOf( int element ) const -{ - int index = m_elementList.indexOf( element ); - return index != -1 && ( index < m_elementList.count() - 1 ) ? m_elementList.at( index + 1 ) : -1; -} - -int pseTable::firstElement() const -{ - return m_elementList.first(); -} - -int pseTable::lastElement() const -{ - return m_elementList.last(); -} - -QPoint pseTable::elementCoords(const int element) -{ - int elementIndex = m_elementList.indexOf( element ); - - if ( elementIndex >= 0 && elementIndex < m_elementList.count() ) { - return QPoint(m_posX.at( elementIndex ), m_posY.at( elementIndex ) ); - } - return QPoint(0,0); -} - -QPoint pseTable::coordsMax() const -{ - int x = 0, y = 0, i; - - for (i = 0; i < m_posX.count(); i++) { - if (m_posX.at(i) > x) { - x = m_posX.at(i) ; - } - if (m_posY.at(i) > y) { - y = m_posY.at(i); - } - } - return QPoint(x, y); -} - -int pseTable::numeration( int xPos ) const -{ - if ( xPos >= 0 && xPos < m_xCoordsNumeration.count() ) { - return m_xCoordsNumeration.at( xPos ); - } - return -1; -} - -/// Regular Table Data -pseRegularTable::pseRegularTable() - : pseTable() -{ - m_name = "Classic"; - - m_description = i18n( "Classic Periodic Table" ); - - m_xCoordsNumeration << - 1 << 2 << 3 << 4 << 5 << 6 << 7 << 8 << 9 << 10 << 11 << 12 << 13 << 14 << 15 << 16 << 17 << 18; - - m_posX << - 1 << 18 << - 1 << 2 << 13 << 14 << 15 << 16 << 17 << 18 << - 1 << 2 << 13 << 14 << 15 << 16 << 17 << 18 << - 1 << 2 << 3 << 4 << 5 << 6 << 7 << 8 << 9 << 10 << 11 << 12 << 13 << 14 << 15 << 16 << 17 << 18 << - 1 << 2 << 3 << 4 << 5 << 6 << 7 << 8 << 9 << 10 << 11 << 12 << 13 << 14 << 15 << 16 << 17 << 18 << //Element 54 (Xe) - 1 << 2 << 3 << 4 << 5 << 6 << 7 << 8 << 9 << 10 << 11 << 12 << 13 << 14 << 15 << 16 << 17 << //Element 58 (Ce) 71 (Lu) - 4 << 5 << 6 << 7 << 8 << 9 << 10 << 11 << 12 << 13 << 14 << 15 << 16 << 17 << 18 << - 1 << 2 << 3 << 4 << 5 << 6 << 7 << 8 << 9 << 10 << 11 << 12 << 13 << 14 << 15 << 16 << 17 << //Element 71 (Lr) - 4 << 5 << 6 << 7 << 8 << 9 << 10 << 11 << 12 << 13 << 14 << 15 << 16 << 17 << 18 - ; - - m_posY << - 1 << 1 << - 2 << 2 << 2 << 2 << 2 << 2 << 2 << 2 << - 3 << 3 << 3 << 3 << 3 << 3 << 3 << 3 << - 4 << 4 << 4 << 4 << 4 << 4 << 4 << 4 << 4 << 4 << 4 << 4 << 4 << 4 << 4 << 4 << 4 << 4 << - 5 << 5 << 5 << 5 << 5 << 5 << 5 << 5 << 5 << 5 << 5 << 5 << 5 << 5 << 5 << 5 << 5 << 5 << //Element 54 (Xe) - 6 << 6 << 6 << 9 << 9 << 9 << 9 << 9 << 9 << 9 << 9 << 9 << 9 << 9 << 9 << 9 << 9 << //Element 71 (Lr) - 6 << 6 << 6 << 6 << 6 << 6 << 6 << 6 << 6 << 6 << 6 << 6 << 6 << 6 << 6 << - 7 << 7 << 7 << 10 << 10 << 10 << 10 << 10 << 10 << 10 << 10 << 10 << 10 << 10 << 10 << 10 << 10 << - 7 << 7 << 7 << 7 << 7 << 7 << 7 << 7 << 7 << 7 << 7 << 7 << 7 << 7 << 7 - ; - - // The classic PS has all Elements - if (m_posX.count() == m_posY.count() ) { - for (int i = 1; i <= m_posX.count(); i ++) { - m_elementList.append(i); - } - } -} - -pseRegularTable *pseRegularTable::init() -{ - static pseRegularTable thisTable; - return &thisTable; -} - -/// Long Table Data -pseLongTable::pseLongTable() - : pseTable() -{ - m_name = "Long"; - - m_description = i18n( "Long Periodic Table" ); - - m_xCoordsNumeration << - 1 << 2 <<-1 <<-1 <<-1 <<-1 <<-1 <<-1 <<-1 <<-1 <<-1 <<-1 <<-1 <<-1 <<-1 <<-1 << 3 << 4 << 5 << 6 << 7 << 8 << 9 <<10 <<11 <<12 <<13 <<14 <<15 <<16 <<17 <<18; - - m_posX << - 1 << 32 << - 1 << 2 << 27 <<28 <<29 <<30 <<31 <<32 << - 1 << 2 << 27 <<28 <<29 <<30 <<31 <<32 << - 1 << 2 << 17 <<18 <<19 <<20 <<21 <<22 <<23 <<24 <<25 <<26 <<27 <<28 <<29 <<30 <<31 <<32 << - 1 << 2 << 17 <<18 <<19 <<20 <<21 <<22 <<23 <<24 <<25 <<26 <<27 <<28 <<29 <<30 <<31 <<32 << - 1 << 2 << 3 << 4 << 5 << 6 << 7 << 8 << 9 <<10 <<11 <<12 <<13 <<14 <<15 <<16 <<17 <<18 <<19 <<20 <<21 <<22 <<23 <<24 <<25 <<26 <<27 <<28 <<29 <<30 <<31 <<32 << - 1 << 2 << 3 << 4 << 5 << 6 << 7 << 8 << 9 <<10 <<11 <<12 <<13 <<14 <<15 <<16 <<17 <<18 <<19 <<20 <<21 <<22 <<23 <<24 <<25 <<26 <<27 <<28 <<29 <<30 <<31 <<32 - ; - - m_posY << - 1 << 1 << - 2 << 2 << 2 <<2 <<2 <<2 <<2 <<2 << - 3 << 3 << 3 <<3 <<3 <<3 <<3 <<3 << - 4 << 4 << 4 <<4 <<4 <<4 <<4 <<4 <<4 <<4 <<4 <<4 <<4 <<4 <<4 <<4 <<4 <<4 << - 5 << 5 << 5 <<5 <<5 <<5 <<5 <<5 <<5 <<5 <<5 <<5 <<5 <<5 <<5 <<5 <<5 <<5 << - 6 << 6 << 6 << 6 << 6 << 6 << 6 << 6 << 6 <<6 <<6 <<6 <<6 <<6 <<6 <<6 <<6 <<6 <<6 <<6 <<6 <<6 <<6 <<6 <<6 <<6 <<6 <<6 <<6 <<6 <<6 <<6 << - 7 << 7 << 7 << 7 << 7 << 7 << 7 << 7 << 7 <<7 <<7 <<7 <<7 <<7 <<7 <<7 <<7 <<7 <<7 <<7 <<7 <<7 <<7 <<7 <<7 <<7 <<7 <<7 <<7 <<7 <<7 <<7 - ; - - // The long PS has all Elements - if (m_posX.count() == m_posY.count() ) { - for (int i = 1; i <= m_posX.count(); i ++) { - m_elementList.append(i); - } - } -} - -pseLongTable *pseLongTable::init() -{ - static pseLongTable thisTable; - return &thisTable; -} - -/// Short Table Data -pseShortTable::pseShortTable() - : pseTable() -{ - m_name = "Short"; - - m_description = i18n( "Short Periodic Table" ); - - m_xCoordsNumeration << - 1 << 2 <<13 <<14 <<15 <<16 <<17 <<18; - - m_posX << - 1 << 8 < -#include -#include - -/** - * @class pseTables - * Provides functions to easyli create pse tables with q*GridLayouts or qGraphicsView. - * - * creating a table for the gridlayout -@code - foreach (intElement, pseTables::instance()->getTabletype( m_psTableType )->elements()) { - int group = pseTables::instance()->getTabletype( m_psTableType )->elementCoords( intElement ).x(); - int period = pseTables::instance()->getTabletype( m_psTableType )->elementCoords( intElement ).y(); - - ElementLabel *element = new ElementLabel( intElement ); - - gridLayoutOfPeriodSystem->addItem (element, period, group ); - } - -@endcode - - * position elements in a qGraphicsScene -@code - - -@endcode - - * getting the position of the Numerations for the pse (j) - @code - for (int i = 0; i < pseTables::instance()->getTabletype( j )->coordsMax().x() || i < numerationItems.count(); i++) { - int itemAtPos = pseTables::instance()->getTabletype( j )->numeration( i ); - } - @endcode - * @short Provides shape and elements of diferent peridic tables of elements - * @author Etienne Rebetez - */ -class pseTable; - -/** - * Holds all periodic system tables and make them accesible. - */ -class SCIENCE_EXPORT pseTables -{ -public: - static pseTables *instance(); - - ~pseTables(); - - /** - * Returns the KalziumTableType with the @p id specified. - * It will gives 0 if none found. - */ - pseTable* getTabletype(const int tableType); - - /** - * Returns the KalziumTableType whose name is the @p id - * specified. - * It will gives 0 if none found. - */ - pseTable* getTabletype(const QString tableType); - - /** - * Returns a list with the names of the table types we support. - */ - QStringList tables() const; - -private: - pseTables(); - QList m_tables; - int m_currentTable; -}; - - -/** - * defines a Periodic Table. - * Holds the position (x,y) and all the displaed elements - */ -class pseTable - -{ -public: - static pseTable *init(); - - virtual ~pseTable(); - - /** - * Returns the ID of this table type. - */ - virtual QString name() const; - - /** - * Returns a short description of the periodic table in use - */ - virtual QString description() const; - - /** - * Returns the coordinates of an element @p element in - * the periodic system. - */ - virtual QPoint elementCoords(int element); - - /** - * Returns a list with all elements in the actual periodic table - */ - virtual QList elements() const; - - /** - - * Returns the element that comes right before the specified @p element. - * -1 means that @p element is the first in this table type. - * - * The default implementation returns element - 1 if @p element - * is not 1, else -1. - */ - virtual int previousOf ( int element ) const; - - /** - * Returns the element that comes right after the specified @p element. - * -1 means that @p element is the last in this table type. - * - * The default implementation returns element + 1 if @p element - * is not the latest element, else -1. - */ - virtual int nextOf ( int element ) const; - - /** - * Returns the first element of the table. - */ - virtual int firstElement() const; - - /** - * Returns the last element of the table. - */ - virtual int lastElement() const; - - /** - * Returns the maximal Coordinates of the periodic table. - */ - virtual QPoint coordsMax() const; - - /** - * Returns the Numeration for the current Table according to the position in the Table. IUPAC Style eq. numbers - */ - virtual int numeration( int xPos ) const; - -protected: - pseTable(); - - QString m_name; - QString m_description; - - QList m_posX; - QList m_posY; - QList m_xCoordsNumeration; - QList m_elementList; -}; - - - -class pseRegularTable : public pseTable -{ -public: - static pseRegularTable *init(); - -private: - pseRegularTable(); -}; - -class pseLongTable : public pseTable -{ -public: - static pseLongTable *init(); - -private: - pseLongTable(); -}; - -class pseShortTable : public pseTable -{ -public: - static pseShortTable *init(); - -private: - pseShortTable(); -}; - -class pseDTable : public pseTable -{ -public: - static pseDTable *init(); - -private: - pseDTable(); -}; - -class pseDZTable : public pseTable -{ -public: - static pseDZTable *init(); - -private: - pseDZTable(); -}; -#endif // PSTABLES_H diff --git a/libscience/spectrum.cpp b/libscience/spectrum.cpp deleted file mode 100644 index 99b1ec9..0000000 --- a/libscience/spectrum.cpp +++ /dev/null @@ -1,115 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2005 by Carsten Niehaus * - * cniehaus@kde.org * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * - ***************************************************************************/ -#include "spectrum.h" -#include "element.h" - -#include - -#include - -double Spectrum::minPeak() -{ - double value = m_peaklist.first()->wavelength; - - foreach( peak * p, m_peaklist ) - { - if ( value > p->wavelength ) - value = p->wavelength; - } - return value; -} - -double Spectrum::maxPeak() -{ - double value = m_peaklist.first()->wavelength; - - foreach( peak * p, m_peaklist ) - { - if ( value < p->wavelength ) - value = p->wavelength; - } - - return value; -} - - -Spectrum* Spectrum::adjustToWavelength( double min, double max ) -{ - Spectrum *spec = new Spectrum(); - - foreach( peak * p , m_peaklist ) - { - if ( p->wavelength >= min || p->wavelength <= max ) - spec->addPeak( p ); - } - - return spec; -} - -void Spectrum::adjustIntensities() -{ - int maxInt = 0; - //find the highest intensity - foreach ( Spectrum::peak * p, m_peaklist) - { - if ( p->intensity > maxInt ) - maxInt = p->intensity; - } - - //check if an adjustment is needed or not - if ( maxInt == 1000 ) return; - - //now adjust the intensities. - foreach ( Spectrum::peak * p, m_peaklist) - { - double newInt = p->intensity*1000/maxInt; - - p->intensity = ( int ) qRound( newInt ); - } -} - -QList Spectrum::wavelengths( double min, double max ) -{ - QList list; - - foreach( peak * p , m_peaklist ) - { - if ( p->wavelength >= min || p->wavelength <= max ) - list.append( p->wavelength ); - } - - return list; -} - -int Spectrum::parentElementNumber() const -{ - return m_parentElementNumber; -} - -Spectrum::~Spectrum() -{ - qDeleteAll( m_peaklist ); -} - -Spectrum::Spectrum() -{ - //FIXME this shouldn't be hardcoded - m_parentElementNumber = 16; -} diff --git a/libscience/spectrum.h b/libscience/spectrum.h deleted file mode 100644 index 45653ca..0000000 --- a/libscience/spectrum.h +++ /dev/null @@ -1,141 +0,0 @@ -#ifndef SPECTRUM_H -#define SPECTRUM_H -/*************************************************************************** - * Copyright (C) 2005, 2006 by Carsten Niehaus * - * cniehaus@kde.org * - * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * - ***************************************************************************/ - -#include "libkdeedu_science_export.h" - -#include - -class Element; - -/** - * @author Carsten Niehaus - * - * This class represents a spectrum with all its properties - */ -class SCIENCE_EXPORT Spectrum -{ - public: - /** - * This spectrum doesn't belong to any element - */ - Spectrum(); - - /** - * public destructor - */ - ~Spectrum(); - - /** - * a peak is one line in the spectrum of an element - */ - class peak - { - public: - peak(){ - wavelength = -1.0; - intensity = -1; - } - - peak(double wl, int in ){ - wavelength = wl; - intensity = in; - } - - ///in nm - double wavelength; - - ///relative. The highest is per definition 1000 - int intensity; - }; - - /** - * adds the peak @p b to the internal - * lists of peaks - */ - void addPeak( Spectrum::peak* b ){ - if ( b ) - m_peaklist.append( b ); - } - - /** - * @param min the lowest allowed wavelength in nanometer - * @param max the highest allowed wavelength in nanometer - * - * @returns a spectrum with the wavelength in the range - * of @p min to @p max. The intensities are readjusted - * so that the biggest intensity is again 1000 and the - * others are adopted. - */ - Spectrum* adjustToWavelength( double min, double max ); - - /** - * sets the highest intensity to 1000 and adjusts the - * others - */ - void adjustIntensities(); - - /** - * @param min the lowest allowed wavelength in nanometer - * @param max the highest allowed wavelength in nanometer - * - * @return the wavelength in a QList - */ - QList wavelengths( double min, double max ); - - /** - * @return the list of peaks of the spectrum - */ - QList peaklist(){ - return m_peaklist; - } - - /** - * If the spectrum belongs to Iron, this method will return "26" - * @return the number of the element the spectrum belongs to - */ - int parentElementNumber() const; - - /** - * @return the smallest wavelength - */ - double minPeak(); - - /** - * @return the biggest wavelength - */ - double maxPeak(); - - void setParentElementNumber( int num ) - { - m_parentElementNumber = num; - } - - private: - /** - * the internal dataset - */ - QList m_peaklist; - - int m_parentElementNumber; -}; -#endif // SPECTRUM_H diff --git a/libscience/spectrumparser.cpp b/libscience/spectrumparser.cpp deleted file mode 100644 index d05057e..0000000 --- a/libscience/spectrumparser.cpp +++ /dev/null @@ -1,129 +0,0 @@ -/*************************************************************************** -copyright : (C) 2005, 2008 by Carsten Niehaus -email : cniehaus@kde.org - ***************************************************************************/ -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ -#include "spectrumparser.h" -#include "spectrum.h" - -#include -#include -#include -#include - -class SpectrumParser::Private -{ - public: - Private() - : currentSpectrum(0), - inMetadata_(false), - inSpectrum_(false), - inSpectrumList_(false), - inPeakList_(false), - inPeak_(false) - {} - - ~Private() - { - delete currentSpectrum; - delete currentPeak; - } - - Spectrum * currentSpectrum; - Spectrum::peak * currentPeak; - - bool inMetadata_; - bool inSpectrum_; - bool inSpectrumList_; - bool inPeakList_; - bool inPeak_; - - double wavelenght; - int intensity; - - QList spectra; -}; - -SpectrumParser::SpectrumParser() - : QXmlDefaultHandler(), d( new Private ) -{ -} - -SpectrumParser::~SpectrumParser() -{ - delete d; -} - -bool SpectrumParser::startElement(const QString&, const QString &localName, const QString&, const QXmlAttributes &attrs) -{ - if (localName == "spectrum") - { - d->currentSpectrum = new Spectrum(); - d->inSpectrum_ = true; - - //now save the element of the current spectrum - for (int i = 0; i < attrs.length(); ++i) - { - if ( attrs.localName( i ) == "id" ) { - currentElementID = attrs.value( i ); - } - } - } else if (d->inSpectrum_ && localName == "peakList") { - d->inPeakList_ = true; - } - else if (d->inSpectrum_ && d->inPeakList_ && localName == "peak") { - d->inPeak_ = true; - for (int i = 0; i < attrs.length(); ++i) - { - if (attrs.localName(i) == "xValue"){ - d->intensity = attrs.value(i).toInt(); - } - else if (attrs.localName(i) == "yValue"){ - d->wavelenght = attrs.value(i).toDouble(); - } - } - d->currentPeak = new Spectrum::peak(d->wavelenght, d->intensity); - } - return true; -} - -bool SpectrumParser::endElement( const QString&, const QString& localName, const QString& ) -{ - if ( localName == "spectrum" ) - { - int num = currentElementID.mid(1).toInt(); - d->currentSpectrum->setParentElementNumber( num ); - - d->spectra.append( d->currentSpectrum ); - - d->currentSpectrum = 0; - d->inSpectrum_ = false; - } - else if ( localName == "peakList" ) { - d->inSpectrumList_ = false; - } - else if ( localName == "peak" ) { -//X qDebug() << "in 'peak'" << " with this data: " << d->currentPeak->intensity << " (intesity)" ; - d->currentSpectrum->addPeak(d->currentPeak); - d->inPeak_ = false; - } - return true; -} - -bool SpectrumParser::characters(const QString &ch) -{ - Q_UNUSED(ch) - return true; -} - -QList SpectrumParser::getSpectrums() -{ - return d->spectra; -} diff --git a/libscience/spectrumparser.h b/libscience/spectrumparser.h deleted file mode 100644 index df0d713..0000000 --- a/libscience/spectrumparser.h +++ /dev/null @@ -1,54 +0,0 @@ -#ifndef SPECTRUMPARSER_H -#define SPECTRUMPARSER_H -/*************************************************************************** - copyright : (C) 2005 by Carsten Niehaus - email : cniehaus@kde.org - ***************************************************************************/ -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#include "libkdeedu_science_export.h" - -#include -#include - -#include "spectrum.h" - -#include "chemicaldataobject.h" - -class Spectrum; - -/** - * @author Carsten Niehaus - */ -class SCIENCE_EXPORT SpectrumParser : public QXmlDefaultHandler -{ - public: - /** - * Constructor - */ - SpectrumParser(); - ~SpectrumParser(); - bool startElement( const QString&, const QString &localName, const QString&, const QXmlAttributes &attrs ); - - bool endElement( const QString& namespaceURI, const QString &localName, const QString& qName ); - - bool characters(const QString &ch); - - QList getSpectrums(); - - private: - QString currentElementID; - - private: - class Private; - Private *const d; -}; -#endif // SPECTRUMPARSER_H - diff --git a/libscience/tempunit.cpp b/libscience/tempunit.cpp deleted file mode 100644 index aa3b1d2..0000000 --- a/libscience/tempunit.cpp +++ /dev/null @@ -1,134 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2005 by Pino Toscano * - * toscano.pino@tiscali.it * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * - ***************************************************************************/ - -#include "tempunit.h" - -double TempUnit::convert( double value, TempUnit::Unit from, TempUnit::Unit to ) -{ - /** - * These are the four formula needed to convert from - * Kelvin to the other units: - - Kelvin Celsius °C = K - 273,15 - Kelvin Fahrenheit °F = K × 1,8 - 459,67 - Kelvin Rankine °Ra = K × 1,8 - Kelvin Reaumur °R = ( K - 273,15 ) × 0,8 - */ - - if ( from != Kelvin ) - value = convertToKelvin( value, from ); - - //now 'value' is in Kelvin - switch( to ) - { - case Celsius: - return value - 273.16; - case Fahrenheit: - return value * 1.8 - 459.67; - case Rankine: - return value * 1.8; - case Reaumur: - return ( value - 273.15 )* 0.8; - case Kelvin: - return value; - } - return value; -} - -double TempUnit::convertToKelvin( const double value, TempUnit::Unit from ) -{ - switch( from ) - { - case Kelvin: - return value; - case Celsius: - return value + 273.16; - case Fahrenheit: - return ( value + 459.67 )/1.8; - case Rankine: - return value / 1.8; - case Reaumur: - return ( value * 1.25 ) + 273.15; - } - return value; -} - -double TempUnit::convert( const double value, int from, int to ) -{ - return convert( value, (TempUnit::Unit)from, (TempUnit::Unit)to ); -} - -QStringList TempUnit::unitListSymbols() -{ - QStringList list; - list << "K"; - list << QString::fromUtf8("°C"); - list << QString::fromUtf8("°F"); - list << QString::fromUtf8("°Ra"); - list << QString::fromUtf8("°R"); - return list; -} - -QString TempUnit::unitListSymbol( int i ) -{ - QStringList l = unitListSymbols(); - if ( ( i < 0 ) || ( i >= (int)l.count() ) ) - return l[0]; - return l[i]; -} - -QPair TempUnit::rangeForUnit( TempUnit::Unit u ) -{ - switch( u ) - { - case Kelvin: - { - return QPair( 0.0, 6000.0 ); - break; - } - case Celsius: - { - return QPair( -273.16, 5726.84 ); - break; - } - case Fahrenheit: - { - return QPair( -459.67, 10340.33 ); - break; - } - case Rankine: - { - return QPair( 0.0, 10080.0 ); - break; - } - case Reaumur: - { - return QPair( -218.52, 4581.48 ); - break; - } - } - return QPair( 0.0, 6000.0 ); -} - -QPair TempUnit::rangeForUnit( int u ) -{ - return rangeForUnit( (TempUnit::Unit)u ); -} - diff --git a/libscience/tempunit.h b/libscience/tempunit.h deleted file mode 100644 index cf80bcc..0000000 --- a/libscience/tempunit.h +++ /dev/null @@ -1,103 +0,0 @@ -#ifndef TEMPUNIT_H -#define TEMPUNIT_H -/*************************************************************************** - * Copyright (C) 2005 by Pino Toscano * - * toscano.pino@tiscali.it * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * - ***************************************************************************/ - -#include "libkdeedu_science_export.h" - -#include -#include - -/** - * This class obtains all the info needed to work with the units of measure - * of temperature. - * - * It has static methods you can call to get the various infos. The most - * important method is convert(), that performs conversions. - * - * @author Pino Toscano - */ -class SCIENCE_EXPORT TempUnit -{ - public: - - /** - * All the temperature units we support. - */ - enum Unit - { - Kelvin = 0, - Celsius, - Fahrenheit, - Rankine, - Reaumur - }; - - /** - * Convert the temperature unit @p value given in the unit - * @p from to the unit @p to. - * - * @return the value converted - */ - static double convert( double value, - TempUnit::Unit from, - TempUnit::Unit to ); - - - /** - * @param value the temperature to convert - * @param from the unit from which to convert - * - * @return the temperature to Kelvin - */ - static double convertToKelvin( const double value, - TempUnit::Unit from ); - - /** - * @overload - */ - static double convert( const double value, - int from, - int to ); - - /** - * @return a list with the symbols of the temperature units - * we support - */ - static QStringList unitListSymbols(); - - /** - * @return the symbol of the @p i -th unit - */ - static QString unitListSymbol( int i ); - - /** - * @return a QPair with the minimum and the maximum value - * (resp. in .first and .second) allowed for the unit @p u. - */ - static QPair rangeForUnit( TempUnit::Unit u ); - - /** - * @overload - */ - static QPair rangeForUnit( int u ); - -}; -#endif // TEMPUNIT_H diff --git a/libscience/tests/CMakeLists.txt b/libscience/tests/CMakeLists.txt deleted file mode 100644 index e230e54..0000000 --- a/libscience/tests/CMakeLists.txt +++ /dev/null @@ -1,28 +0,0 @@ -set( EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR} ) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/..) - -########### next target ############### - -set(elementparsertest_SRCS xmlreadingtest.cpp) - -kde4_add_unit_test(elementparsertest TEST ${elementparsertest_SRCS}) - -target_link_libraries(elementparsertest science ${QT_QTCORE_LIBRARY} ${QT_QTXML_LIBRARY}) - -########### next target ############### - -set(isotopeparsertest_SRCS isotopereadingtest.cpp) - -kde4_add_unit_test(isotopeparsertest TEST ${isotopeparsertest_SRCS}) - -target_link_libraries(isotopeparsertest science ${QT_QTCORE_LIBRARY} ${QT_QTXML_LIBRARY}) - -########### next target ############### - -set(spectrumtest_SRCS spectrumreadingtests.cpp) - -kde4_add_unit_test(spectrumtest TEST ${spectrumtest_SRCS}) - -target_link_libraries(spectrumtest science ${QT_QTCORE_LIBRARY} ${QT_QTXML_LIBRARY}) - - diff --git a/libscience/tests/isotopereadingtest.cpp b/libscience/tests/isotopereadingtest.cpp deleted file mode 100644 index 1855a4e..0000000 --- a/libscience/tests/isotopereadingtest.cpp +++ /dev/null @@ -1,65 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2005, 2006, 2008 by Carsten Niehaus * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * - ***************************************************************************/ - -#include "isotopeparser.h" -#include "isotope.h" -#include -#include - -int main(int argc, char *argv[]) -{ - if (argc < 2 || argc > 2) { - std::cout << "Usage: isotopes \n"; - return 1; - } - - IsotopeParser * parser = new IsotopeParser(); - QFile xmlFile(argv[1]); - - QXmlInputSource source(&xmlFile); - QXmlSimpleReader reader; - - reader.setContentHandler(parser); - reader.parse(source); - - QList v = parser->getIsotopes(); - - qDebug() << "Found " << v.count() << " isotopes.";; - - qDebug() << "As a test I am now issuing all isotopes with 50 nuclueons: "; - - foreach( Isotope* i, v ){ - if ( i ) - { -//X if (i->nucleons() == 50 ){ -//X qDebug() << " Isotope of " << i->parentElementSymbol() << " with a mass of " << i->mass(); -//X qDebug() << " Halflife: " << i->halflife() << i->halflifeUnit( ); -//X } - if (i->parentElementSymbol() == "Ti" ){ - qDebug() << " Isotope of " << i->parentElementSymbol() << " with a mass of " << i->mass(); - qDebug() << " Halflife: " << i->halflife() << i->halflifeUnit( ); - } - } - } - - delete parser; - qDeleteAll(v); - - return 0; -} diff --git a/libscience/tests/spectrumreadingtests.cpp b/libscience/tests/spectrumreadingtests.cpp deleted file mode 100644 index 4eb582b..0000000 --- a/libscience/tests/spectrumreadingtests.cpp +++ /dev/null @@ -1,59 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2008 by Carsten Niehaus * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * - ***************************************************************************/ - -#include "spectrumparser.h" -#include "spectrum.h" -#include -#include - -int main(int argc, char *argv[]) -{ - if (argc < 2 || argc > 2) { - std::cout << "Usage: spectrum \n"; - return 1; - } - - SpectrumParser * parser = new SpectrumParser(); - QFile xmlFile(argv[1]); - - QXmlInputSource source(&xmlFile); - QXmlSimpleReader reader; - - reader.setContentHandler(parser); - reader.parse(source); - - QList v = parser->getSpectrums(); - - qDebug() << "Found " << v.count() << " isotopes."; - - foreach( Spectrum* s, v ){ - if ( s ) - { - qDebug() << "Element: " << s->parentElementNumber(); - foreach (Spectrum::peak * p , s->peaklist() ) { - qDebug() << " Peak: " << p->wavelength; - } - } - } - - delete parser; - qDeleteAll(v); - - return 0; -} diff --git a/libscience/tests/xmlreadingtest.cpp b/libscience/tests/xmlreadingtest.cpp deleted file mode 100644 index 34ad0dd..0000000 --- a/libscience/tests/xmlreadingtest.cpp +++ /dev/null @@ -1,64 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2005, 2006 by Carsten Niehaus * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * - ***************************************************************************/ - -#include "elementparser.h" -#include "element.h" -#include -#include - -int main(int argc, char *argv[]) -{ - if (argc < 2 || argc > 2) { - std::cout << "Usage: elements \n"; - return 1; - } - - ElementSaxParser * parser = new ElementSaxParser(); - QFile xmlFile(argv[1]); - - QXmlInputSource source(&xmlFile); - QXmlSimpleReader reader; - - reader.setContentHandler(parser); - reader.parse(source); - - QList v = parser->getElements(); - - std::cout << "Found " << v.count() << " elements." << std::endl; - - foreach( Element* e, v ){ - if ( e ) - { - QList list = e->data(); - - //Test: give me all data available - foreach( const ChemicalDataObject &o, list ){ - QString unit = o.unitAsString(); - if ( unit == "bo:noUnit" ) - unit = ""; - qDebug() << "Name: " << o.dictRef() << " " << o.valueAsString() <<" " << unit; - } - } - } - - delete parser; - qDeleteAll(v); - - return 0; -} -- 2.47.3