pax_global_header00006660000000000000000000000064130171374400014512gustar00rootroot0000000000000052 comment=ea93b21f9498de620d6669c6048a2c501f3a13fe heldercorreia-speedcrunch-ea93b21f9498/000077500000000000000000000000001301713744000177375ustar00rootroot00000000000000heldercorreia-speedcrunch-ea93b21f9498/.gitattributes000066400000000000000000000002721301713744000226330ustar00rootroot00000000000000# All the shell scripts in that directory will be run in a Linux environment, # even when checking out on Windows, so they need their Unix line endings. pkg/cross-linux/*.sh text eol=lf heldercorreia-speedcrunch-ea93b21f9498/.gitignore000066400000000000000000000000611301713744000217240ustar00rootroot00000000000000src/CMakeLists.txt.user src/speedcrunch.pro.user heldercorreia-speedcrunch-ea93b21f9498/README.md000066400000000000000000000053651301713744000212270ustar00rootroot00000000000000# SpeedCrunch SpeedCrunch is a high-precision scientific calculator. It features a syntax-highlighted scrollable display and is designed to be fully used via keyboard. Some distinctive features are auto-completion of functions and variables, a formula book, and quick insertion of constants from various fields of knowledge. It is available for Windows, OS X, and Linux in a number of languages. ![capture.png](https://bitbucket.org/repo/dR7BnG/images/3654665019-capture.png) ## Building To build SpeedCrunch, you need: - A C++11-capable compiler (e.g. Microsoft Visual C++ 2013 or later, GCC 4.8 or later) - [Qt](http://qt.io) 5.2 or later - [CMake](http://cmake.org) 2.8.12 or later To build SpeedCrunch in a dedicated build directory and install it, run the following commands from the root of the source directory: mkdir build cd build cmake ../src make install When building against a Qt version that is not the system default Qt installation, point CMake towards the Qt installation to use by setting the `CMAKE_PREFIX_PATH` environment variable to the prefix directory of the Qt installation when running CMake. You can customize the build using the following variables. These are specified when running CMake, in the form `cmake ../src -Dvariable=value`. - **PORTABLE_SPEEDCRUNCH**: Set this to `on` to have the application settings stored in the same location as the executable, e.g. for running from a USB drive without requiring installation. - **CMAKE_INSTALL_PREFIX**: Change the installation prefix for SpeedCrunch. - **REBUILD_MANUAL**: Set to `on` to also rebuild the included manual. By default, a bundled prebuilt copy is used to minimize dependencies. Rebuilding the manual requires the following additional software: - [Python](http://python.org) 3.4 or later - [Sphinx](http://sphinx-doc.org) 1.3 or later - [the Quark theme](https://pypi.python.org/pypi/quark-sphinx-theme) 0.2 or later ## Contributing - Report bugs or request features in the [issue tracker](https://bitbucket.org/heldercorreia/speedcrunch/issues). - Add or improve a [translation](https://www.transifex.com/projects/p/speedcrunch/). - Send a message to the [forum](https://groups.google.com/group/speedcrunch). - Follow the news on the [blog](http://speedcrunch.blogspot.com). ## License 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.heldercorreia-speedcrunch-ea93b21f9498/adm/000077500000000000000000000000001301713744000205005ustar00rootroot00000000000000heldercorreia-speedcrunch-ea93b21f9498/adm/build-website.sh000077500000000000000000000000361301713744000235750ustar00rootroot00000000000000cd ../doc/src make html cd - heldercorreia-speedcrunch-ea93b21f9498/adm/install-all-dependencies.sh000077500000000000000000000002631301713744000257000ustar00rootroot00000000000000# Tested on Debian-based systems (Ubuntu 16.04). Your package names may vary slightly. install-app-dependencies.sh && install-doc-dependencies.sh && install-intl-dependencies.sh heldercorreia-speedcrunch-ea93b21f9498/adm/install-app-dependencies.sh000077500000000000000000000002161301713744000257060ustar00rootroot00000000000000# Tested on Debian-based systems (Ubuntu 16.04). Your package names may vary slightly. sudo apt-get install libqt5widgets5 libqt5help5 cmake heldercorreia-speedcrunch-ea93b21f9498/adm/install-doc-dependencies.sh000077500000000000000000000002721301713744000256750ustar00rootroot00000000000000# Tested on Debian-based systems (Ubuntu 16.04). Your package names may vary slightly. sudo apt-get install python3 python3-pip python3-sphinx pip3 install quark-sphinx-theme --upgrade heldercorreia-speedcrunch-ea93b21f9498/adm/install-intl-dependencies.sh000077500000000000000000000010031301713744000260670ustar00rootroot00000000000000# Tested on Debian-based systems (Ubuntu 16.04). Your package names may vary slightly. sudo apt-get install transifex-client gettext intltool-debian pip install urllib3 --upgrade TRANSIFEXRCFILE="$HOME/.transifexrc" if [ ! -f $TRANSIFEXRCFILE ]; then echo -e \ "[https://www.transifex.com]\n"\ "hostname = https://www.transifex.com\n"\ "username = \n"\ "password = \n"\ "token =\n" > $TRANSIFEXRCFILE echo File $TRANSIFEXRCFILE created. Please edit it accordingly before proceeding. fi heldercorreia-speedcrunch-ea93b21f9498/adm/set-project-version.sh000077500000000000000000000007241301713744000247640ustar00rootroot00000000000000VERSION=${1:-master} sed -i '/set(speedcrunch_VERSION/c\set(speedcrunch_VERSION "'"$VERSION"'")' ../src/CMakeLists.txt sed -i '/DEFINES += SPEEDCRUNCH_VERSION/c\DEFINES += SPEEDCRUNCH_VERSION=\\\\\\"'"$VERSION"'\\\\\\"' ../src/speedcrunch.pro sed -i '/RELEASE_VERSION=/c\RELEASE_VERSION='"$VERSION" ../pkg/cross-linux/build-speedcrunch.sh sed -i '/version =/c\version = '"'$VERSION'" ../doc/src/conf.py sed -i '/release =/c\release = '"'$VERSION'" ../doc/src/conf.py heldercorreia-speedcrunch-ea93b21f9498/adm/sync-translations.sh000077500000000000000000000010251301713744000245300ustar00rootroot00000000000000SCRIPTDIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" ROOTDIR="$(dirname "$SCRIPTDIR")" SOURCEDIR="$ROOTDIR/src" LOCALEDIR="$SOURCEDIR/resources/locale" PROJECTFILE="$SOURCEDIR/speedcrunch.pro" APPDATADIR="$ROOTDIR/pkg/desktop-appdata" # UI strings. cd $LOCALEDIR tx pull -f cd $SOURCEDIR lupdate -no-obsolete $PROJECTFILE lrelease -removeidentical -compress $PROJECTFILE cd $LOCALEDIR tx push -s -t # Linux AppData strings. tx pull -f ./metadata-tool.sh update-metadata-files ./metadata-tool.sh extract-strings tx push -s -t heldercorreia-speedcrunch-ea93b21f9498/doc/000077500000000000000000000000001301713744000205045ustar00rootroot00000000000000heldercorreia-speedcrunch-ea93b21f9498/doc/build_html_embedded/000077500000000000000000000000001301713744000244405ustar00rootroot00000000000000heldercorreia-speedcrunch-ea93b21f9498/doc/build_html_embedded/_doctrees/000077500000000000000000000000001301713744000264075ustar00rootroot00000000000000heldercorreia-speedcrunch-ea93b21f9498/doc/build_html_embedded/_doctrees/advanced/000077500000000000000000000000001301713744000301545ustar00rootroot00000000000000colorschemeformat.doctree000066400000000000000000000610401301713744000351610ustar00rootroot00000000000000heldercorreia-speedcrunch-ea93b21f9498/doc/build_html_embedded/_doctrees/advanced€•bŒdocutils.nodes”Œdocument”“”)”}”(Œ attributes”}”(Œbackrefs”]”Œclasses”]”Œids”]”Œdupnames”]”Œnames”]”Œsource”ŒCC:\Users\fk\Code\speedcrunch\doc\src\advanced\colorschemeformat.rst”uŒ citations”]”Œautofootnote_refs”]”Œsettings”Œdocutils.frontend”ŒValues”“”)”}”(Œinput_encoding_error_handler”Œstrict”Œinput_encoding”Œ utf-8-sig”Œcloak_email_addresses”ˆŒ_source”hŒconfig”NŒexpose_internals”NŒ strip_classes”NŒstrip_elements_with_classes”NŒenv”NŒdump_pseudo_xml”NŒrecord_dependencies”NŒ datestamp”NŒpep_references”NŒ id_prefix”Œ”Œ report_level”KŒtrim_footnote_reference_space”‰Œembed_stylesheet”‰Œ docinfo_xform”KŒdump_transforms”NŒauto_id_prefix”Œid”Œ pep_base_url”Œ https://www.python.org/dev/peps/”Œ tab_width”KŒsectsubtitle_xform”‰Œrfc_references”NŒ toc_backlinks”Œentry”Œ dump_settings”NŒ raw_enabled”KŒ rfc_base_url”Œhttps://tools.ietf.org/html/”Œtitle”NŒstrip_comments”NŒ _config_files”]”Œ sectnum_xform”KŒdebug”NŒ generator”NŒoutput_encoding”Œutf-8”Œerror_encoding”Œcp850”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œdoctitle_xform”‰Œgettext_compact”ˆŒ source_link”NŒ traceback”ˆŒoutput_encoding_error_handler”hŒstrict_visitor”NŒsyntax_highlight”Œlong”Œdump_internals”NŒexit_status_level”KŒfootnote_backlinks”KŒpep_file_url_template”Œpep-%04d”Œ halt_level”KŒ_disable_config”NŒ _destination”NŒ smart_quotes”‰Œfile_insertion_enabled”ˆŒ source_url”NŒwarning_stream”NubŒrefnames”}”(Œ setnamedcolor”]”hŒ reference”“”)”}”(h}”(h]”h ]”Œrefuri”Œ/http://doc.qt.io/qt-5/qcolor.html#setNamedColor”h ]”h ]”h]”uŒ rawsource”Œ|setNamedColor|_”Œparent”hŒ paragraph”“”)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhsXHere, the keys are *roles*, each referring to elements in the SpeedCrunch history view and expression editor that can be colored. The values specify the colors for these roles. Color values may be any valid argument to the method |setNamedColor|_; the recommended form are simple HTML-style ``#RRGGBB`` definitions, using two hexadecimal digits per color component as in the example.”huhŒsection”“”)”}”(h}”(h ]”(Œcolor-scheme-file-format”Œ color-schemes”eh ]”h ]”h]”(Œcolor scheme file format”Œ color_schemes”eh]”uŒexpect_referenced_by_name”}”hhŒtarget”“”)”}”(h}”(h]”h ]”h ]”Œrefid”hˆh ]”h]”uhsŒ.. _color_schemes:”huhŒtagname”h‘Œchildren”]”Œline”KŒsource”hhhubsŒexpect_referenced_by_id”}”hˆh“shsh-huhhhhž]”(hh@“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhsŒColor Scheme File Format”huhƒhh@hž]”hŒText”“”ŒColor Scheme File Format”…””}”(hsh®huh¦ubah Kh¡hhhubŒsphinx.addnodes”Œversionmodified”“”)”}”(h}”(h]”h ]”Œtype”Œ versionadded”Œversion”Œ0.12”h ]”h ]”h]”uhsŒkNew in version 0.12: Support for custom color schemes using this format was introduced in SpeedCrunch 0.12.”huhƒhh·hž]”hw)”}”(hhh}”(h]”h ]”h ]”Œ translatable”‰h ]”h]”uhsŒkNew in version 0.12: Support for custom color schemes using this format was introduced in SpeedCrunch 0.12.”huh¹hhvhž]”(hŒinline”“”)”}”(hhh}”(h ]”h ]”h·ah ]”h]”h]”uhsŒNew in version 0.12: ”huhÇhhÒhž]”h±ŒNew in version 0.12: ”…””}”(hsh-huhÔubah Kh¡hubh±ŒVSupport for custom color schemes using this format was introduced in SpeedCrunch 0.12.”…””}”(hsŒVSupport for custom color schemes using this format was introduced in SpeedCrunch 0.12.”huhÇh Nh¡Nhhubeh Kh¡hubah Kh¡hhhubhw)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhsŒÕSpeedCrunch uses a simple :abbr:`JSON (JavaScript Object Notation)`-based file format for color scheme definitions. New color schemes may easily be created, used and shared without having to recompile SpeedCrunch.”huhƒhhvhž]”(h±ŒSpeedCrunch uses a simple ”…””}”(hsŒSpeedCrunch uses a simple ”huhçubh¶Œ abbreviation”“”)”}”(h}”(h]”h ]”Œ explanation”ŒJavaScript Object Notation”h ]”h ]”h]”uhsŒJSON”huhçhhöhž]”h±ŒJSON”…””}”(hsh-huhøubaubh±Œ’-based file format for color scheme definitions. New color schemes may easily be created, used and shared without having to recompile SpeedCrunch.”…””}”(hsŒ’-based file format for color scheme definitions. New color schemes may easily be created, used and shared without having to recompile SpeedCrunch.”huhçubeh K h¡hubhw)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhsŒ}In addition to the color schemes integrated into the application, color scheme files are loaded from the following directory:”huhƒhhvhž]”h±Œ}In addition to the color schemes integrated into the application, color scheme files are loaded from the following directory:”…””}”(hsjhuj ubah K h¡hubhŒ block_quote”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhsh-huhƒhjhž]”hŒ bullet_list”“”)”}”(hž]”(hŒ list_item”“”)”}”(hž]”hw)”}”(h}”(h ]”h ]”h ]”h]”h]”uhsŒNWindows: :file:`C:/Users//AppData/Roaming/SpeedCrunch/color-schemes`”huj-hhvhž]”(h±Œ Windows: ”…””}”(hsŒ Windows: ”huj0ubhŒliteral”“”)”}”(h}”(h]”h ]”Œfile”ah ]”h ]”h]”Œrole”Œfile”uhsŒ=C:/Users//AppData/Roaming/SpeedCrunch/color-schemes”huj0hj?hž]”h±Œ=C:/Users//AppData/Roaming/SpeedCrunch/color-schemes”…””}”(hsŒ=C:/Users//AppData/Roaming/SpeedCrunch/color-schemes”hujAubaubeh Kh¡hubah}”(h ]”h ]”h ]”h]”h]”uhsj8huj(hj+ubj,)”}”(hž]”hw)”}”(h}”(h ]”h ]”h ]”h]”h]”uhsŒ6Linux/Unix: :file:`~/.local/SpeedCrunch/color-schemes`”hujYhhvhž]”(h±Œ Linux/Unix: ”…””}”(hsŒ Linux/Unix: ”huj\ubj@)”}”(h}”(h]”h ]”Œfile”ah ]”h ]”h]”Œrole”Œfile”uhsŒ"~/.local/SpeedCrunch/color-schemes”huj\hj?hž]”h±Œ"~/.local/SpeedCrunch/color-schemes”…””}”(hsŒ"~/.local/SpeedCrunch/color-schemes”hujkubaubeh Kh¡hubah}”(h ]”h ]”h ]”h]”h]”uhsjdhuj(hj+ubj,)”}”(hž]”hw)”}”(h}”(h ]”h ]”h ]”h]”h]”uhsŒEOS X: :file:`~/Library/Application Support/SpeedCrunch/color-schemes`”hujƒhhvhž]”(h±ŒOS X: ”…””}”(hsŒOS X: ”huj†ubj@)”}”(h}”(h]”h ]”Œfile”ah ]”h ]”h]”Œrole”Œfile”uhsŒ7~/Library/Application Support/SpeedCrunch/color-schemes”huj†hj?hž]”h±Œ7~/Library/Application Support/SpeedCrunch/color-schemes”…””}”(hsŒ7~/Library/Application Support/SpeedCrunch/color-schemes”huj•ubaubeh Kh¡hubah}”(h ]”h ]”h ]”h]”h]”uhsjŽhuj(hj+ubj,)”}”(hž]”hw)”}”(h}”(h ]”h ]”h ]”h]”h]”uhsŒ¼When using a portable version of SpeedCrunch on any operating system, additional color schemes are loaded from the :file:`color-schemes` subdirectory in the portable application directory.”huj­hhvhž]”(h±ŒsWhen using a portable version of SpeedCrunch on any operating system, additional color schemes are loaded from the ”…””}”(hsŒsWhen using a portable version of SpeedCrunch on any operating system, additional color schemes are loaded from the ”huj°ubj@)”}”(h}”(h]”h ]”Œfile”ah ]”h ]”h]”Œrole”Œfile”uhsŒ color-schemes”huj°hj?hž]”h±Œ color-schemes”…””}”(hsŒ color-schemes”huj¿ubaubh±Œ4 subdirectory in the portable application directory.”…””}”(hsŒ4 subdirectory in the portable application directory.”huj°ubeh Kh¡hubah}”(h ]”h ]”h ]”h]”h]”uhsŒ½When using a portable version of SpeedCrunch on any operating system, additional color schemes are loaded from the :file:`color-schemes` subdirectory in the portable application directory. ”huj(hj+ubeh}”(h]”h ]”Œbullet”Œ*”h ]”h ]”h]”uhsh-hujhj&ubah Nh¡NhhubhŒcomment”“”)”}”(h}”(h]”h ]”Œ xml:space”Œpreserve”h ]”h ]”h]”uhsŒ1TODO: Unsure on the OSX path, can't really check.”huhƒhjåhž]”h±Œ1TODO: Unsure on the OSX path, can't really check.”…””}”(hsh-hujçubah Kh¡hhhubhw)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhsXžAll color scheme files must have the extension ``.json``. The file name without the extension will be displayed in the color scheme menu (:menuselection:`Settings --> Display --> Color Scheme`). The contents of the color scheme directory are retrieved when SpeedCrunch is launched, so to have it pick up a newly-added color scheme file, it is necessary to restart the application. However, color scheme files are always reloaded when a color scheme is selected in the menu; that means after making changes to a color scheme file, re-selecting it in SpeedCrunch will reload the color scheme and show the changes. This allows for quick feedback when editing color schemes.”huhƒhhvhž]”(h±Œ/All color scheme files must have the extension ”…””}”(hsŒ/All color scheme files must have the extension ”huj÷ubj@)”}”(h}”(h ]”h ]”h ]”h]”h]”uhsŒ ``.json``”huj÷hj?hž]”h±Œ.json”…””}”(hsh-hujubaubh±ŒR. The file name without the extension will be displayed in the color scheme menu (”…””}”(hsŒR. The file name without the extension will be displayed in the color scheme menu (”huj÷ubhÓ)”}”(h}”(Œrawtext”Œ6:menuselection:`Settings --> Display --> Color Scheme`”h]”h ]”Œ menuselection”ah ]”h ]”h]”uhsŒ%Settings ‣ Display ‣ Color Scheme”huj÷hhÒhž]”h±Œ%Settings ‣ Display ‣ Color Scheme”…””}”(hsh-hujubaubh±XÞ). The contents of the color scheme directory are retrieved when SpeedCrunch is launched, so to have it pick up a newly-added color scheme file, it is necessary to restart the application. However, color scheme files are always reloaded when a color scheme is selected in the menu; that means after making changes to a color scheme file, re-selecting it in SpeedCrunch will reload the color scheme and show the changes. This allows for quick feedback when editing color schemes.”…””}”(hsXÞ). The contents of the color scheme directory are retrieved when SpeedCrunch is launched, so to have it pick up a newly-added color scheme file, it is necessary to restart the application. However, color scheme files are always reloaded when a color scheme is selected in the menu; that means after making changes to a color scheme file, re-selecting it in SpeedCrunch will reload the color scheme and show the changes. This allows for quick feedback when editing color schemes.”huj÷ubeh Kh¡hubhw)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhsŒçThe files themselves are simple `JSON `_ files containing a single JSON object mapping role names to color values. By way of example, this is the color scheme definition for the "Terminal" scheme that ships with SpeedCrunch:”huhƒhhvhž]”(h±Œ The files themselves are simple ”…””}”(hsŒ The files themselves are simple ”huj/ubhh)”}”(h}”(h]”h ]”hnŒhttp://json.org”h ]”h ]”h]”Œname”ŒJSON”uhsŒ`JSON `_”huj/hhghž]”h±ŒJSON”…””}”(hsh-huj>ubaŒresolved”Kubh’)”}”(h}”(h]”h ]”hnjCh ]”h ]”h]”Œjson”auŒindirect_reference_name”Œjson”hsŒ ”huj/hh‘hž]”Œ referenced”KjOKubh±Œ¸ files containing a single JSON object mapping role names to color values. By way of example, this is the color scheme definition for the "Terminal" scheme that ships with SpeedCrunch:”…””}”(hsŒ¸ files containing a single JSON object mapping role names to color values. By way of example, this is the color scheme definition for the "Terminal" scheme that ships with SpeedCrunch:”huj/ubeh K h¡hubhŒ literal_block”“”)”}”(hhh}”(h]”h ]”jìjíŒhighlight_args”}”h ]”Œlanguage”Œjson”h ]”h]”Œlinenos”‰uhsXc{ "cursor": "#8C648C", "number": "#FFFFFF", "parens": "#AD7FA8", "result": "#689FCF", "comment": "#894B7A", "matched": "#64507B", "function": "#EF2928", "operator": "#C4A000", "variable": "#4A9A07", "scrollbar": "#8C648C", "separator": "#AD7FA8", "background": "#300A24", "editorbackground": "#26001A" }”huhƒhjchž]”h±Xc{ "cursor": "#8C648C", "number": "#FFFFFF", "parens": "#AD7FA8", "result": "#689FCF", "comment": "#894B7A", "matched": "#64507B", "function": "#EF2928", "operator": "#C4A000", "variable": "#4A9A07", "scrollbar": "#8C648C", "separator": "#AD7FA8", "background": "#300A24", "editorbackground": "#26001A" }”…””}”(hsh-hujeubah K$h¡hubhxhŒsubstitution_definition”“”)”}”(hhh}”(h ]”h ]”h ]”h]”Œ setNamedColor”ah]”uhsŒ6.. |setNamedColor| replace:: ``QColor::setNamedColor``”huhƒhjxhž]”j@)”}”(h}”(h ]”h ]”h ]”h]”h]”uhsŒ``QColor::setNamedColor``”hujzhj?hž]”h±ŒQColor::setNamedColor”…””}”(hsh-huj…ubaubah Kh¡hj]Khhubhw)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhsX“Any unknown roles will be ignored. If a role is not defined in the color scheme, corresponding elements will be using the application's default text color (or, for background roles, the default background color). However, if the file is not valid JSON or otherwise does not follow the format described above, the color scheme will not load and SpeedCrunch will use the fallback colors for every element.”huhƒhhvhž]”h±X“Any unknown roles will be ignored. If a role is not defined in the color scheme, corresponding elements will be using the application's default text color (or, for background roles, the default background color). However, if the file is not valid JSON or otherwise does not follow the format described above, the color scheme will not load and SpeedCrunch will use the fallback colors for every element.”…””}”(hsj³huj«ubah K@h¡hubh‚)”}”(h}”(h ]”Œsupported-color-roles”ah ]”h ]”h]”Œsupported color roles”ah]”uhsh-huhƒhhhž]”(h¥)”}”(h}”(h ]”h ]”h ]”h]”h]”uhsŒSupported Color Roles”huj¹hh@hž]”h±ŒSupported Color Roles”…””}”(hsjÌhujÄubah KHh¡hhhubhw)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhsŒ6The following role names are supported by SpeedCrunch:”huj¹hhvhž]”h±Œ6The following role names are supported by SpeedCrunch:”…””}”(hsjÚhujÒubah KJh¡hubh¶Œindex”“”)”}”(h}”(Œentries”]”h]”h ]”h ]”Œ translatable”ˆh ]”h]”uhsh-huj¹hjàhž]”h Nh¡hhhubh¶Œdesc”“”)”}”(h}”(Œdesctype”Œdescribe”h]”h ]”Œobjtype”jôŒdomain”h-h ]”Œnoindex”‰h ]”h]”uhsh-huj¹hjîhž]”(h¶Œdesc_signature”“”)”}”(h}”(h]”h ]”h ]”h ]”h]”Œfirst”‰uhsŒcursor”hujðhjþhž]”h¶Œ desc_name”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhsj hujhj hž]”h±Œcursor”…””}”(hsh-huj ubah KOh¡hhhubah KOh¡hhhubh¶Œ desc_content”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhsh-hujðhjhž]”hw)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhsŒ$The cursor in the expression editor.”hujhhvhž]”h±Œ$The cursor in the expression editor.”…””}”(hsj-huj%ubah KNh¡hubah KOh¡hhhubeh Nh¡hhhubjá)”}”(h}”(Œentries”]”h]”h ]”h ]”jêˆh ]”h]”uhsh-huj¹hjàhž]”h Nh¡hhhubjï)”}”(h}”(jóŒdescribe”h]”h ]”j÷jAjøh-h ]”jú‰h ]”h]”uhsh-huj¹hjîhž]”(jÿ)”}”(h}”(h]”h ]”h ]”h ]”h]”j‰uhsŒnumber”huj>hjþhž]”j )”}”(h}”(h ]”h ]”h ]”h]”h]”uhsjPhujHhj hž]”h±Œnumber”…””}”(hsh-hujRubah KSh¡hhhubah KSh¡hhhubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uhsh-huj>hjhž]”hw)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhsŒ Any number.”huj_hhvhž]”h±Œ Any number.”…””}”(hsjphujhubah KRh¡hubah KSh¡hhhubeh Nh¡hhhubjá)”}”(h}”(Œentries”]”h]”h ]”h ]”jêˆh ]”h]”uhsh-huj¹hjàhž]”h Nh¡hhhubjï)”}”(h}”(jóŒdescribe”h]”h ]”j÷j„jøh-h ]”jú‰h ]”h]”uhsh-huj¹hjîhž]”(jÿ)”}”(h}”(h]”h ]”h ]”h ]”h]”j‰uhsŒparens”hujhjþhž]”j )”}”(h}”(h ]”h ]”h ]”h]”h]”uhsj“huj‹hj hž]”h±Œparens”…””}”(hsh-huj•ubah KXh¡hhhubah KXh¡hhhubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uhsh-hujhjhž]”hw)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhsŒtAny parentheses. This role defines the text color, both for regular as well as for highlighted matching parentheses.”huj¢hhvhž]”h±ŒtAny parentheses. This role defines the text color, both for regular as well as for highlighted matching parentheses.”…””}”(hsj³huj«ubah KVh¡hubah KXh¡hhhubeh Nh¡hhhubjá)”}”(h}”(Œentries”]”h]”h ]”h ]”jêˆh ]”h]”uhsh-huj¹hjàhž]”h Nh¡hhhubjï)”}”(h}”(jóŒdescribe”h]”h ]”j÷jÇjøh-h ]”jú‰h ]”h]”uhsh-huj¹hjîhž]”(jÿ)”}”(h}”(h]”h ]”h ]”h ]”h]”j‰uhsŒresult”hujÄhjþhž]”j )”}”(h}”(h ]”h ]”h ]”h]”h]”uhsjÖhujÎhj hž]”h±Œresult”…””}”(hsh-hujØubah K\h¡hhhubah K\h¡hhhubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uhsh-hujÄhjhž]”hw)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhsŒ%The result value in the history view.”hujåhhvhž]”h±Œ%The result value in the history view.”…””}”(hsjöhujîubah K[h¡hubah K\h¡hhhubeh Nh¡hhhubjá)”}”(h}”(Œentries”]”h]”h ]”h ]”jêˆh ]”h]”uhsh-huj¹hjàhž]”h Nh¡hhhubjï)”}”(h}”(jóŒdescribe”h]”h ]”j÷j jøh-h ]”jú‰h ]”h]”uhsh-huj¹hjîhž]”(jÿ)”}”(h}”(h]”h ]”h ]”h ]”h]”j‰uhsŒcomment”hujhjþhž]”j )”}”(h}”(h ]”h ]”h ]”h]”h]”uhsjhujhj hž]”h±Œcomment”…””}”(hsh-hujubah K`h¡hhhubah K`h¡hhhubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uhsh-hujhjhž]”hw)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhsŒ Any comments.”huj(hhvhž]”h±Œ Any comments.”…””}”(hsj9huj1ubah K_h¡hubah K`h¡hhhubeh Nh¡hhhubjá)”}”(h}”(Œentries”]”h]”h ]”h ]”jêˆh ]”h]”uhsh-huj¹hjàhž]”h Nh¡hhhubjï)”}”(h}”(jóŒdescribe”h]”h ]”j÷jMjøh-h ]”jú‰h ]”h]”uhsh-huj¹hjîhž]”(jÿ)”}”(h}”(h]”h ]”h ]”h ]”h]”j‰uhsŒmatched”hujJhjþhž]”j )”}”(h}”(h ]”h ]”h ]”h]”h]”uhsj\hujThj hž]”h±Œmatched”…””}”(hsh-huj^ubah Kfh¡hhhubah Kfh¡hhhubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uhsh-hujJhjhž]”hw)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhsŒÁThe background color for matching parentheses. When moving the cursor on a parenthesis, both it and its corresponding counterpart will be highlighted by changing their background to this color.”hujkhhvhž]”h±ŒÁThe background color for matching parentheses. When moving the cursor on a parenthesis, both it and its corresponding counterpart will be highlighted by changing their background to this color.”…””}”(hsj|hujtubah Kch¡hubah Kfh¡hhhubeh Nh¡hhhubjá)”}”(h}”(Œentries”]”h]”h ]”h ]”jêˆh ]”h]”uhsh-huj¹hjàhž]”h Nh¡hhhubjï)”}”(h}”(jóŒdescribe”h]”h ]”j÷jjøh-h ]”jú‰h ]”h]”uhsh-huj¹hjîhž]”(jÿ)”}”(h}”(h]”h ]”h ]”h ]”h]”j‰uhsŒfunction”hujhjþhž]”j )”}”(h}”(h ]”h ]”h ]”h]”h]”uhsjŸhuj—hj hž]”h±Œfunction”…””}”(hsh-huj¡ubah Kjh¡hhhubah Kjh¡hhhubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uhsh-hujhjhž]”hw)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhsŒKThe names of defined functions, built-in as well as user-defined functions.”huj®hhvhž]”h±ŒKThe names of defined functions, built-in as well as user-defined functions.”…””}”(hsj¿huj·ubah Kih¡hubah Kjh¡hhhubeh Nh¡hhhubjá)”}”(h}”(Œentries”]”h]”h ]”h ]”jêˆh ]”h]”uhsh-huj¹hjàhž]”h Nh¡hhhubjï)”}”(h}”(jóŒdescribe”h]”h ]”j÷jÓjøh-h ]”jú‰h ]”h]”uhsh-huj¹hjîhž]”(jÿ)”}”(h}”(h]”h ]”h ]”h ]”h]”j‰uhsŒoperator”hujÐhjþhž]”j )”}”(h}”(h ]”h ]”h ]”h]”h]”uhsjâhujÚhj hž]”h±Œoperator”…””}”(hsh-hujäubah Knh¡hhhubah Knh¡hhhubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uhsh-hujÐhjhž]”hw)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhsŒ Any operator.”hujñhhvhž]”h±Œ Any operator.”…””}”(hsjhujúubah Kmh¡hubah Knh¡hhhubeh Nh¡hhhubjá)”}”(h}”(Œentries”]”h]”h ]”h ]”jêˆh ]”h]”uhsh-huj¹hjàhž]”h Nh¡hhhubjï)”}”(h}”(jóŒdescribe”h]”h ]”j÷jjøh-h ]”jú‰h ]”h]”uhsh-huj¹hjîhž]”(jÿ)”}”(h}”(h]”h ]”h ]”h ]”h]”j‰uhsŒvariable”hujhjþhž]”j )”}”(h}”(h ]”h ]”h ]”h]”h]”uhsj%hujhj hž]”h±Œvariable”…””}”(hsh-huj'ubah Krh¡hhhubah Krh¡hhhubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uhsh-hujhjhž]”hw)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhsŒ1The names of any variables or built-in constants.”huj4hhvhž]”h±Œ1The names of any variables or built-in constants.”…””}”(hsjEhuj=ubah Kqh¡hubah Krh¡hhhubeh Nh¡hhhubjá)”}”(h}”(Œentries”]”h]”h ]”h ]”jêˆh ]”h]”uhsh-huj¹hjàhž]”h Nh¡hhhubjï)”}”(h}”(jóŒdescribe”h]”h ]”j÷jYjøh-h ]”jú‰h ]”h]”uhsh-huj¹hjîhž]”(jÿ)”}”(h}”(h]”h ]”h ]”h ]”h]”j‰uhsŒ scrollbar”hujVhjþhž]”j )”}”(h}”(h ]”h ]”h ]”h]”h]”uhsjhhuj`hj hž]”h±Œ scrollbar”…””}”(hsh-hujjubah Kvh¡hhhubah Kvh¡hhhubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uhsh-hujVhjhž]”hw)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhsŒ*The color of the history view's scrollbar.”hujwhhvhž]”h±Œ*The color of the history view's scrollbar.”…””}”(hsjˆhuj€ubah Kuh¡hubah Kvh¡hhhubeh Nh¡hhhubjá)”}”(h}”(Œentries”]”h]”h ]”h ]”jêˆh ]”h]”uhsh-huj¹hjàhž]”h Nh¡hhhubjï)”}”(h}”(jóŒdescribe”h]”h ]”j÷jœjøh-h ]”jú‰h ]”h]”uhsh-huj¹hjîhž]”(jÿ)”}”(h}”(h]”h ]”h ]”h ]”h]”j‰uhsŒ separator”huj™hjþhž]”j )”}”(h}”(h ]”h ]”h ]”h]”h]”uhsj«huj£hj hž]”h±Œ separator”…””}”(hsh-huj­ubah Kzh¡hhhubah Kzh¡hhhubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uhsh-huj™hjhž]”hw)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhsŒ`Separators; notably, the semicolon (``;``) used for defining and using multi-argument functions.”hujºhhvhž]”(h±Œ$Separators; notably, the semicolon (”…””}”(hsŒ$Separators; notably, the semicolon (”hujÃubj@)”}”(h}”(h ]”h ]”h ]”h]”h]”uhsŒ``;``”hujÃhj?hž]”h±Œ;”…””}”(hsh-hujÒubaubh±Œ7) used for defining and using multi-argument functions.”…””}”(hsŒ7) used for defining and using multi-argument functions.”hujÃubeh Kyh¡hubah Kzh¡hhhubeh Nh¡hhhubjá)”}”(h}”(Œentries”]”h]”h ]”h ]”jêˆh ]”h]”uhsh-huj¹hjàhž]”h Nh¡hhhubjï)”}”(h}”(jóŒdescribe”h]”h ]”j÷jójøh-h ]”jú‰h ]”h]”uhsh-huj¹hjîhž]”(jÿ)”}”(h}”(h]”h ]”h ]”h ]”h]”j‰uhsŒ background”hujðhjþhž]”j )”}”(h}”(h ]”h ]”h ]”h]”h]”uhsjhujúhj hž]”h±Œ background”…””}”(hsh-hujubah K~h¡hhhubah K~h¡hhhubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uhsh-hujðhjhž]”hw)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhsŒ.The background color of the main history view.”hujhhvhž]”h±Œ.The background color of the main history view.”…””}”(hsj"hujubah K}h¡hubah K~h¡hhhubeh Nh¡hhhubjá)”}”(h}”(Œentries”]”h]”h ]”h ]”jêˆh ]”h]”uhsh-huj¹hjàhž]”h Nh¡hhhubjï)”}”(h}”(jóŒdescribe”h]”h ]”j÷j6jøh-h ]”jú‰h ]”h]”uhsh-huj¹hjîhž]”(jÿ)”}”(h}”(h]”h ]”h ]”h ]”h]”j‰uhsŒeditorbackground”huj3hjþhž]”j )”}”(h}”(h ]”h ]”h ]”h]”h]”uhsjEhuj=hj hž]”h±Œeditorbackground”…””}”(hsh-hujGubah Kh¡hhhubah Kh¡hhhubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uhsh-huj3hjhž]”hw)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhsŒ.The background color of the expression editor.”hujThhvhž]”h±Œ.The background color of the expression editor.”…””}”(hsjehuj]ubah Kh¡hubah Kh¡hhhubeh Nh¡hhhubeh KHh¡hhhubeh Kh¡hhhubhhvhž]”(h±ŒHere, the keys are ”…””}”(hsŒHere, the keys are ”huhxubhŒemphasis”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhsŒ*roles*”huhxhjqhž]”h±Œroles”…””}”(hsh-hujsubaubh±ŒÌ, each referring to elements in the SpeedCrunch history view and expression editor that can be colored. The values specify the colors for these roles. Color values may be any valid argument to the method ”…””}”(hsŒÌ, each referring to elements in the SpeedCrunch history view and expression editor that can be colored. The values specify the colors for these roles. Color values may be any valid argument to the method ”huhxubhih±Œ-; the recommended form are simple HTML-style ”…””}”(hsŒ-; the recommended form are simple HTML-style ”huhxubj@)”}”(h}”(h ]”h ]”h ]”h]”h]”uhsŒ ``#RRGGBB``”huhxhj?hž]”h±Œ#RRGGBB”…””}”(hsh-huj‹ubaubh±ŒQ definitions, using two hexadecimal digits per color component as in the example.”…””}”(hsŒQ definitions, using two hexadecimal digits per color component as in the example.”huhxubeh K6h¡hubhhghž]”j@)”}”(h}”(h ]”h ]”h ]”h]”h]”uhsjhuhihj?hž]”h±ŒQColor::setNamedColor”…””}”(hsh-hujŸubah Nh¡NubajOKubaŒjson”]”(jPj>euŒreporter”NŒ current_line”NŒ transformer”NŒparse_messages”]”Œsubstitution_defs”}”jjzsŒsymbol_footnotes”]”hhhž]”(h“hƒeŒ nametypes”}”(j¨ˆhŒNjÁNhˆjœˆuŒids”}”(hˆhƒj½j¹h‡hƒj¥jŸj™j“uŒtransform_messages”]”hŒsystem_message”“”)”}”(h}”(h]”h ]”Œlevel”KŒtype”ŒINFO”Œline”Kh ]”h ]”h]”Œsource”huhsh-hj¾hž]”hw)”}”(h}”(h ]”h ]”h ]”h]”h]”uhsh-hujÀhhvhž]”h±Œ3Hyperlink target "color-schemes" is not referenced.”…””}”(hsh-hujÎubaubaubaŒcurrent_source”NŒsymbol_footnote_refs”]”Œindirect_targets”]”jPaŒsubstitution_names”}”Œ setnamedcolor”jsŒrefids”}”hˆ]”h“asŒ citation_refs”}”Œsymbol_footnote_start”KŒautofootnote_start”KhhŒid_start”Khsh-Œ decoration”NŒ footnotes”]”Œ footnote_refs”}”Œ autofootnotes”]”Œnameids”}”(j¨j¥hŒh‡jÁj½hhˆjœj™uub.heldercorreia-speedcrunch-ea93b21f9498/doc/build_html_embedded/_doctrees/advanced/index.doctree000066400000000000000000000067171301713744000326450ustar00rootroot00000000000000€•Ä Œdocutils.nodes”Œdocument”“”)”}”(Œ attributes”}”(Œbackrefs”]”Œclasses”]”Œids”]”Œdupnames”]”Œnames”]”Œsource”Œ7C:\Users\fk\Code\speedcrunch\doc\src\advanced\index.rst”uŒ citations”]”Œautofootnote_refs”]”Œsettings”Œdocutils.frontend”ŒValues”“”)”}”(Œinput_encoding_error_handler”Œstrict”Œinput_encoding”Œ utf-8-sig”Œcloak_email_addresses”ˆŒ_source”hŒconfig”NŒexpose_internals”NŒ strip_classes”NŒstrip_elements_with_classes”NŒenv”NŒdump_pseudo_xml”NŒrecord_dependencies”NŒ datestamp”NŒpep_references”NŒ id_prefix”Œ”Œ report_level”KŒtrim_footnote_reference_space”‰Œembed_stylesheet”‰Œ docinfo_xform”KŒdump_transforms”NŒauto_id_prefix”Œid”Œ pep_base_url”Œ https://www.python.org/dev/peps/”Œ tab_width”KŒsectsubtitle_xform”‰Œrfc_references”NŒ toc_backlinks”Œentry”Œ dump_settings”NŒ raw_enabled”KŒ rfc_base_url”Œhttps://tools.ietf.org/html/”Œtitle”NŒstrip_comments”NŒ _config_files”]”Œ sectnum_xform”KŒdebug”NŒ generator”NŒoutput_encoding”Œutf-8”Œerror_encoding”Œcp850”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œdoctitle_xform”‰Œgettext_compact”ˆŒ source_link”NŒ traceback”ˆŒoutput_encoding_error_handler”hŒstrict_visitor”NŒsyntax_highlight”Œlong”Œdump_internals”NŒexit_status_level”KŒfootnote_backlinks”KŒpep_file_url_template”Œpep-%04d”Œ halt_level”KŒ_disable_config”NŒ _destination”NŒ smart_quotes”‰Œfile_insertion_enabled”ˆŒ source_url”NŒwarning_stream”NubŒrefnames”}”Œreporter”NŒ current_line”NŒ transformer”NŒparse_messages”]”Œsubstitution_defs”}”Œsymbol_footnotes”]”Œtagname”hŒchildren”]”hŒsection”“”)”}”(h}”(h ]”Œadvanced-topics”ah ]”h ]”h]”Œadvanced topics”ah]”uŒ rawsource”h-Œparent”hhnhqho]”(hh@“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}ŒAdvanced Topics”h~hshnh@ho]”hŒText”“”ŒAdvanced Topics”…””}”(h}h‰h~hubaŒline”KŒsource”hhhubhŒcomment”“”)”}”(h}”(h]”h ]”Œ xml:space”Œpreserve”h ]”h ]”h]”uh}ŒTTODO: This section is intended for things that aren't just "how to use SpeedCrunch",”h~hshnh“ho]”hŒŒTTODO: This section is intended for things that aren't just "how to use SpeedCrunch",”…””}”(h}h-h~h•ubah‘Kh’hhhubh”)”}”(h}”(h]”h ]”hšh›h ]”h ]”h]”uh}ŒUbut are still ultimately end-user-focussed docs. In practice, I'm expecting something”h~hshnh“ho]”hŒŒUbut are still ultimately end-user-focussed docs. In practice, I'm expecting something”…””}”(h}h-h~h¥ubah‘Kh’hhhubh”)”}”(h}”(h]”h ]”hšh›h ]”h ]”h]”uh}ŒNlike "how to extend SpeedCrunch". In any case, once this section is a bit more”h~hshnh“ho]”hŒŒNlike "how to extend SpeedCrunch". In any case, once this section is a bit more”…””}”(h}h-h~h³ubah‘Kh’hhhubh”)”}”(h}”(h]”h ]”hšh›h ]”h ]”h]”uh}Œ*defined, it could do with an introduction.”h~hshnh“ho]”hŒŒ*defined, it could do with an introduction.”…””}”(h}h-h~hÁubah‘Kh’hhhubhŒcompound”“”)”}”(h}”(h ]”h ]”Œtoctree-wrapper”ah ]”h]”h]”uh}h-h~hshnhÏho]”Œsphinx.addnodes”Œtoctree”“”)”}”(h}”(Œhidden”‰h ]”h]”h~Œadvanced/index”Œ includefiles”]”Œadvanced/colorschemeformat”ah]”Œ titlesonly”‰Œentries”]”Nh熔aŒ includehidden”‰h ]”Œmaxdepth”KŒnumbered”KŒglob”‰h ]”Œcaption”Nuh}h-h~hÑhnhÜho]”h‘K h’hubah‘Nh’hhhubeh‘Kh’hhhubaŒ nametypes”}”h{NsŒids”}”hwhssŒtransform_messages”]”Œcurrent_source”NŒsymbol_footnote_refs”]”Œindirect_targets”]”Œsubstitution_names”}”Œrefids”}”Œ citation_refs”}”Œsymbol_footnote_start”KŒautofootnote_start”KhhŒid_start”Kh}h-Œ decoration”NŒ footnotes”]”Œ footnote_refs”}”Œ autofootnotes”]”Œnameids”}”h{hwsub.heldercorreia-speedcrunch-ea93b21f9498/doc/build_html_embedded/_doctrees/contents.doctree000066400000000000000000000134731301713744000316230ustar00rootroot00000000000000€•0Œdocutils.nodes”Œdocument”“”)”}”(Œ attributes”}”(Œbackrefs”]”Œclasses”]”Œids”]”Œdupnames”]”Œnames”]”Œsource”Œ1C:\Users\fk\Code\speedcrunch\doc\src\contents.rst”uŒ citations”]”Œautofootnote_refs”]”Œsettings”Œdocutils.frontend”ŒValues”“”)”}”(Œinput_encoding_error_handler”Œstrict”Œinput_encoding”Œ utf-8-sig”Œcloak_email_addresses”ˆŒ_source”hŒconfig”NŒexpose_internals”NŒ strip_classes”NŒstrip_elements_with_classes”NŒenv”NŒdump_pseudo_xml”NŒrecord_dependencies”NŒ datestamp”NŒpep_references”NŒ id_prefix”Œ”Œ report_level”KŒtrim_footnote_reference_space”‰Œembed_stylesheet”‰Œ docinfo_xform”KŒdump_transforms”NŒauto_id_prefix”Œid”Œ pep_base_url”Œ https://www.python.org/dev/peps/”Œ tab_width”KŒsectsubtitle_xform”‰Œrfc_references”NŒ toc_backlinks”Œentry”Œ dump_settings”NŒ raw_enabled”KŒ rfc_base_url”Œhttps://tools.ietf.org/html/”Œtitle”NŒstrip_comments”NŒ _config_files”]”Œ sectnum_xform”KŒdebug”NŒ generator”NŒoutput_encoding”Œutf-8”Œerror_encoding”Œcp850”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œdoctitle_xform”‰Œgettext_compact”ˆŒ source_link”NŒ traceback”ˆŒoutput_encoding_error_handler”hŒstrict_visitor”NŒsyntax_highlight”Œlong”Œdump_internals”NŒexit_status_level”KŒfootnote_backlinks”KŒpep_file_url_template”Œpep-%04d”Œ halt_level”KŒ_disable_config”NŒ _destination”NŒ smart_quotes”‰Œfile_insertion_enabled”ˆŒ source_url”NŒwarning_stream”NubŒrefnames”}”Œreporter”NŒ current_line”NŒ transformer”NŒparse_messages”]”Œsubstitution_defs”}”Œsymbol_footnotes”]”Œtagname”hŒchildren”]”(hŒsection”“”)”}”(h}”(h ]”Œtable-of-contents”ah ]”h ]”h]”Œtable of contents”ah]”uŒ rawsource”h-Œparent”hhnhqho]”(hh@“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}ŒTable of Contents”h~hshnh@ho]”hŒText”“”ŒTable of Contents”…””}”(h}h‰h~hubaŒline”KŒsource”hhhubhŒcompound”“”)”}”(h}”(h ]”h ]”Œtoctree-wrapper”ah ]”h]”h]”uh}h-h~hshnh“ho]”Œsphinx.addnodes”Œtoctree”“”)”}”(h}”(Œhidden”‰h ]”h]”h~Œcontents”Œ includefiles”]”(Œ introduction”Œuserguide/index”Œreference/index”Œadvanced/index”eh]”Œ titlesonly”‰Œentries”]”(Nh«†”Nh¬†”Nh­†”Nh®†”eŒ includehidden”‰h ]”Œmaxdepth”KŒnumbered”KŒglob”‰h ]”Œcaption”Nuh}h-h~h•hnh ho]”h‘Kh’hubah‘Nh’hhhubeh‘Kh’hhhubhr)”}”(h}”(h ]”Œindices-and-tables”ah ]”h ]”h]”Œindices and tables”ah]”uh}h-h~hhnhqho]”(h€)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}ŒIndices and Tables”h~h¿hnh@ho]”hŒŒIndices and Tables”…””}”(h}hÒh~hÊubah‘Kh’hhhubhŒcomment”“”)”}”(h}”(h]”h ]”Œ xml:space”Œpreserve”h ]”h ]”h]”uh}ŒSChecking for the sc_bundled_docs tag here so as to not include a link to the search”h~h¿hnhØho]”hŒŒSChecking for the sc_bundled_docs tag here so as to not include a link to the search”…””}”(h}h-h~hÚubah‘Kh’hhhubhÙ)”}”(h}”(h]”h ]”hßhàh ]”h ]”h]”uh}Œ page when building for bundling.”h~h¿hnhØho]”hŒŒ page when building for bundling.”…””}”(h}h-h~hêubah‘Kh’hhhubhŸŒonly”“”)”}”(h}”(h]”h ]”h ]”Œexpr”Œsc_bundled_docs”h ]”h]”uhhh~h¿hnhøho]”hŒ bullet_list”“”)”}”(h}”(h]”h ]”Œbullet”Œ*”h ]”h ]”h]”uh}h-h~húhnjho]”(hŒ list_item”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ:ref:`genindex`”h~jhnjho]”hŒ paragraph”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jh~jhnjho]”hŸŒ pending_xref”“”)”}”(h}”(Œrefdoc”h¨h]”h ]”Œrefwarn”ˆŒ refexplicit”‰Œ reftarget”Œgenindex”h ]”Œreftype”Œref”Œ refdomain”Œstd”h ]”h]”uh}jh~j hnj)ho]”hŒinline”“”)”}”(h}”(h ]”h ]”(Œxref”j9Œstd-ref”eh ]”h]”h]”uh}jh~j+hnj=ho]”hŒŒgenindex”…””}”(h}h-h~j?ubaubah‘Kh’hubah‘Kh’hubah‘Nh’hhhubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ:ref:`sc:functionindex`”h~jhnjho]”j)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jVh~jNhnjho]”j*)”}”(h}”(j.h¨h]”h ]”j1ˆŒ refexplicit”‰j3Œsc:functionindex”h ]”Œreftype”Œref”Œ refdomain”Œstd”h ]”h]”uh}jVh~jXhnj)ho]”j>)”}”(h}”(h ]”h ]”(jDjlŒstd-ref”eh ]”h]”h]”uh}jVh~jahnj=ho]”hŒŒsc:functionindex”…””}”(h}h-h~jpubaubah‘Kh’hubah‘Kh’hubah‘Nh’hhhubeh‘Kh’hhhubah‘Kh’hh}h-ubhù)”}”(h}”(h]”h ]”h ]”jŒnot sc_bundled_docs”h ]”h]”uhhh~h¿hnhøho]”j)”}”(h}”(h]”h ]”j j h ]”h ]”h]”uh}h-h~j~hnjho]”(j)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ:ref:`genindex`”h~jˆhnjho]”j)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}j™h~j‘hnjho]”j*)”}”(h}”(j.h¨h]”h ]”j1ˆŒ refexplicit”‰j3Œgenindex”h ]”Œreftype”Œref”Œ refdomain”Œstd”h ]”h]”uh}j™h~j›hnj)ho]”j>)”}”(h}”(h ]”h ]”(jDj¯Œstd-ref”eh ]”h]”h]”uh}j™h~j¤hnj=ho]”hŒŒgenindex”…””}”(h}h-h~j³ubaubah‘Kh’hubah‘Kh’hubah‘Nh’hhhubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ:ref:`sc:functionindex`”h~jˆhnjho]”j)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jÉh~jÁhnjho]”j*)”}”(h}”(j.h¨h]”h ]”j1ˆŒ refexplicit”‰j3Œsc:functionindex”h ]”Œreftype”Œref”Œ refdomain”Œstd”h ]”h]”uh}jÉh~jËhnj)ho]”j>)”}”(h}”(h ]”h ]”(jDjߌstd-ref”eh ]”h]”h]”uh}jÉh~jÔhnj=ho]”hŒŒsc:functionindex”…””}”(h}h-h~jãubaubah‘Kh’hubah‘Kh’hubah‘Nh’hhhubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ :ref:`search`”h~jˆhnjho]”j)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jùh~jñhnjho]”j*)”}”(h}”(j.h¨h]”h ]”j1ˆŒ refexplicit”‰j3Œsearch”h ]”Œreftype”Œref”Œ refdomain”Œstd”h ]”h]”uh}jùh~jûhnj)ho]”j>)”}”(h}”(h ]”h ]”(jDjŒstd-ref”eh ]”h]”h]”uh}jùh~jhnj=ho]”hŒŒsearch”…””}”(h}h-h~jubaubah‘Kh’hubah‘Kh’hubah‘Nh’hhhubeh‘Kh’hhhubah‘Kh’hh}h-ubeh‘Kh’hhhubeŒ nametypes”}”(h{NhÇNuŒids”}”(hÃh¿hwhsuŒtransform_messages”]”Œcurrent_source”NŒsymbol_footnote_refs”]”Œindirect_targets”]”Œsubstitution_names”}”Œrefids”}”Œ citation_refs”}”Œsymbol_footnote_start”KŒautofootnote_start”KhhŒid_start”Kh}h-Œ decoration”NŒ footnotes”]”Œ footnote_refs”}”Œ autofootnotes”]”Œnameids”}”(h{hwhÇhÃuub.heldercorreia-speedcrunch-ea93b21f9498/doc/build_html_embedded/_doctrees/environment.pickle000066400000000000000000001747311301713744000321610ustar00rootroot00000000000000€•ÎùŒsphinx.environment”ŒBuildEnvironment”“”)”}”(Œ citations”}”Œall_docs”}”(Œreference/ieee754”GAÖ âI Œreference/basic”GAÖ âE*Œadvanced/colorschemeformat”GAÖ â:J(Œreference/integer”GAÖ âN²WŒuserguide/installation”GAÖ â[Ú:Œadvanced/index”GAÖ â;YOŒuserguide/first_steps”GAÖ âYúŒreference/index”GAÖ âJ¯«Œreference/statistical”GAÖ âSÌUŒcontents”GAÖ â` how a particular function is used.”j"jéj‚jôjƒ]”jÊ)”}”(j}”(j]”j]”j]”j]”j]”uj!XThe :doc:`reference/index` documents all the built-in functions, constants, and units that are included with SpeedCrunch. It's not intended to be read page by page, but it is still very useful to :ref:`look up ` how a particular function is used.”j"j9j‚jÉjƒ]”(j”ŒThe ”…””}”(j!ŒThe ”j"jCubj)”}”(j}”(jhj]”j]”jˆŒ refexplicit”‰jŒreference/index”j]”Œreftype”Œdoc”Œ refdomain”h¼j]”j]”uj!Œ:doc:`reference/index`”j"jCj‚jjƒ]”j%)”}”(j}”(j]”j]”(j+j[ej]”j]”j]”uj!j_j"jRj‚j$jƒ]”j”Œreference/index”…””}”(j!h¼j"jaubaubaj™Kjšj.ubj”Œª documents all the built-in functions, constants, and units that are included with SpeedCrunch. It's not intended to be read page by page, but it is still very useful to ”…””}”(j!Œª documents all the built-in functions, constants, and units that are included with SpeedCrunch. It's not intended to be read page by page, but it is still very useful to ”j"jCubj)”}”(j}”(jhj]”j]”jˆŒ refexplicit”ˆjŒ context-help”j]”Œreftype”Œref”Œ refdomain”Œstd”j]”j]”uj!Œ:ref:`look up `”j"jCj‚jjƒ]”j%)”}”(j}”(j]”j]”(j+j~Œstd-ref”ej]”j]”j]”uj!jj"jsj‚j$jƒ]”j”Œlook up”…””}”(j!h¼j"jƒubaubaj™Kjšj.ubj”Œ# how a particular function is used.”…””}”(j!Œ# how a particular function is used.”j"jCubej™Kjšj.ubaj™Njšj.j#j%ubjõ)”}”(j}”(j]”j]”j]”j]”j]”uj!Œ¿Finally, :doc:`advanced/index` covers more specialized topics that may be of interest, but are not necessary to use SpeedCrunch. For instance, it explains how to create custom color schemes. ”j"jéj‚jôjƒ]”jÊ)”}”(j}”(j]”j]”j]”j]”j]”uj!Œ¾Finally, :doc:`advanced/index` covers more specialized topics that may be of interest, but are not necessary to use SpeedCrunch. For instance, it explains how to create custom color schemes.”j"j–j‚jÉjƒ]”(j”Œ Finally, ”…””}”(j!Œ Finally, ”j"j ubj)”}”(j}”(jhj]”j]”jˆŒ refexplicit”‰jŒadvanced/index”j]”Œreftype”Œdoc”Œ refdomain”h¼j]”j]”uj!Œ:doc:`advanced/index`”j"j j‚jjƒ]”j%)”}”(j}”(j]”j]”(j+j¸ej]”j]”j]”uj!j¼j"j¯j‚j$jƒ]”j”Œadvanced/index”…””}”(j!h¼j"j¾ubaubaj™Kjšj.ubj”Œ  covers more specialized topics that may be of interest, but are not necessary to use SpeedCrunch. For instance, it explains how to create custom color schemes.”…””}”(j!Œ  covers more specialized topics that may be of interest, but are not necessary to use SpeedCrunch. For instance, it explains how to create custom color schemes.”j"j ubej™Kjšj.ubaj™Njšj.j#j%ubej™Kjšj.j#j%ubjŒonly”“”)”}”(j}”(j]”j]”j]”Œexpr”Œhtml”j]”j]”uj#j%j"j«j‚jÐjƒ]”jÊ)”}”(j#j%j}”(j]”j]”j]”j]”j]”uj!ŒJFor a complete overview, see the :doc:`full table of contents `.”j"jÒj‚jÉjƒ]”(j”Œ!For a complete overview, see the ”…””}”(j!Œ!For a complete overview, see the ”j"jÝubj)”}”(j}”(jhj]”j]”jˆŒ refexplicit”ˆjŒcontents”j]”Œreftype”Œdoc”Œ refdomain”h¼j]”j]”uj!Œ(:doc:`full table of contents `”j"jÝj‚jjƒ]”j%)”}”(j}”(j]”j]”(j+jõej]”j]”j]”uj!jùj"jìj‚j$jƒ]”j”Œfull table of contents”…””}”(j!h¼j"jûubaubaj™Kjšj.ubj”Œ.”…””}”(j!Œ.”j"jÝubej™Kjšj.ubaj™Kjšj.j!h¼ubej™Kjšj.j#j%ubeŒ nametypes”}”j³NsŒids”}”(jj«j¯j«uŒtransform_messages”]”jŒsystem_message”“”)”}”(j}”(j]”j]”Œlevel”KŒtype”ŒINFO”Œline”Kj]”j]”j]”Œsource”j.uj!h¼j‚jjƒ]”jÊ)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"jj‚jÉjƒ]”j”Œ*Hyperlink target "kw-0" is not referenced.”…””}”(j!h¼j"j#ubaubaubaŒcurrent_source”NŒsymbol_footnote_refs”]”Œindirect_targets”]”Œsubstitution_names”}”Œrefids”}”j]”jasŒ citation_refs”}”Œsymbol_footnote_start”KŒautofootnote_start”Kj#j%Œid_start”Kj!h¼Œ decoration”NŒ footnotes”]”Œ footnote_refs”}”Œ autofootnotes”]”Œnameids”}”j³j¯subj‚jjƒ]”j™Kjšj.j#j%ubu}”(jKj h j Œid="abs"”j Œreference/basic.html#sc.abs”jNu}”(jKj h j Œ id="sqrt"”j Œreference/basic.html#sc.sqrt”jNu}”(jKj h j Œ id="cbrt"”j Œreference/basic.html#sc.cbrt”jNu}”(jKj h j Œid="exp"”j Œreference/basic.html#sc.exp”jNu}”(jKj h j Œid="ln"”j Œreference/basic.html#sc.ln”jNu}”(jKj h j Œid="lb"”j Œreference/basic.html#sc.lb”jNu}”(jKj h j Œid="lg"”j Œreference/basic.html#sc.lg”jNu}”(jKj h j Œid="log"”j Œreference/basic.html#sc.log”jNu}”(jKj h j Œid="sin"”j Œreference/basic.html#sc.sin”jNu}”(jKj h j Œid="cos"”j Œreference/basic.html#sc.cos”jNu}”(jKj h j Œid="tan"”j Œreference/basic.html#sc.tan”jNu}”(jKj h j Œid="cot"”j Œreference/basic.html#sc.cot”jNu}”(jKj h j Œid="sec"”j Œreference/basic.html#sc.sec”jNu}”(jKj h j Œid="csc"”j Œreference/basic.html#sc.csc”jNu}”(jKj h j Œ id="arccos"”j Œreference/basic.html#sc.arccos”jNu}”(jKj h j Œ id="arcsin"”j Œreference/basic.html#sc.arcsin”jNu}”(jKj h j Œ id="arctan"”j Œreference/basic.html#sc.arctan”jNu}”(jKj h j Œ id="arctan2"”j Œreference/basic.html#sc.arctan2”jNu}”(jKj h j Œ id="sinh"”j Œreference/basic.html#sc.sinh”jNu}”(jKj h j Œ id="cosh"”j Œreference/basic.html#sc.cosh”jNu}”(jKj h j Œ id="tanh"”j Œreference/basic.html#sc.tanh”jNu}”(jKj h j Œ id="arsinh"”j Œreference/basic.html#sc.arsinh”jNu}”(jKj h j Œ id="arcosh"”j Œreference/basic.html#sc.arcosh”jNu}”(jKj h j Œ id="artanh"”j Œreference/basic.html#sc.artanh”jNu}”(jKj h j Œid="erf"”j Œreference/basic.html#sc.erf”jNu}”(jKj h j Œ id="erfc"”j Œreference/basic.html#sc.erfc”jNu}”(jKj h j Œ id="gamma"”j Œreference/basic.html#sc.gamma”jNu}”(jKj h j Œ id="lngamma"”j Œreference/basic.html#sc.lngamma”jNu}”(jKj h j Œ id="real"”j Œreference/basic.html#sc.real”jNu}”(jKj h j Œ id="imag"”j Œreference/basic.html#sc.imag”jNu}”(jKj h j Œ id="phase"”j Œreference/basic.html#sc.phase”jNu}”(jKj h j Œ id="polar"”j Œreference/basic.html#sc.polar”jNu}”(jKj h j Œ id="cart"”j Œreference/basic.html#sc.cart”jNu}”(jKj h j Œid="sgn"”j Œreference/basic.html#sc.sgn”jNu}”(jKj h j Œ id="radians"”j Œreference/basic.html#sc.radians”jNu}”(jKj h j Œ id="degrees"”j Œreference/basic.html#sc.degrees”jNu}”(jKj h j Œid="int"”j Œreference/basic.html#sc.int”jNu}”(jKj h j Œ id="frac"”j Œreference/basic.html#sc.frac”jNu}”(jKj hj Œid="pi"”j Œreference/constants.html#sc.pi”jNu}”(jKj hj Œid="Ï€"”j Œreference/constants.html#sc.Ï€”jNu}”(jKj hj Œid="e"”j Œreference/constants.html#sc.e”jNu}”(jKj hj Œid="ℯ"”j Œreference/constants.html#sc.ℯ”jNu}”(jKj hj Œid="j"”j Œreference/constants.html#sc.j”jNu}”(jKj h j Œid="ieee754_encode"”j Œ(reference/ieee754.html#sc.ieee754_encode”jNu}”(jKj h j Œid="ieee754_decode"”j Œ(reference/ieee754.html#sc.ieee754_decode”jNu}”(jKj h j Œid="ieee754_half_encode"”j Œ-reference/ieee754.html#sc.ieee754_half_encode”jNu}”(jKj h j Œid="ieee754_half_decode"”j Œ-reference/ieee754.html#sc.ieee754_half_decode”jNu}”(jKj h j Œid="ieee754_single_encode"”j Œ/reference/ieee754.html#sc.ieee754_single_encode”jNu}”(jKj h j Œid="ieee754_single_decode"”j Œ/reference/ieee754.html#sc.ieee754_single_decode”jNu}”(jKj h j Œid="ieee754_double_encode"”j Œ/reference/ieee754.html#sc.ieee754_double_encode”jNu}”(jKj h j Œid="ieee754_double_decode"”j Œ/reference/ieee754.html#sc.ieee754_double_decode”jNu}”(jKj h j Œid="ieee754_quad_encode"”j Œ-reference/ieee754.html#sc.ieee754_quad_encode”jNu}”(jKj h j Œid="ieee754_quad_decode"”j Œ-reference/ieee754.html#sc.ieee754_quad_decode”jNu}”(jKj h j Œid="and"”j Œreference/integer.html#sc.and”jNu}”(jKj h j Œid="or"”j Œreference/integer.html#sc.or”jNu}”(jKj h j Œid="xor"”j Œreference/integer.html#sc.xor”jNu}”(jKj h j Œid="not"”j Œreference/integer.html#sc.not”jNu}”(jKj h j Œid="shl"”j Œreference/integer.html#sc.shl”jNu}”(jKj h j Œid="shr"”j Œreference/integer.html#sc.shr”jNu}”(jKj h j Œ id="mask"”j Œreference/integer.html#sc.mask”jNu}”(jKj h j Œ id="unmask"”j Œ reference/integer.html#sc.unmask”jNu}”(jKj h j Œid="bin"”j Œreference/integer.html#sc.bin”jNu}”(jKj h j Œid="oct"”j Œreference/integer.html#sc.oct”jNu}”(jKj h j Œid="dec"”j Œreference/integer.html#sc.dec”jNu}”(jKj h j Œid="hex"”j Œreference/integer.html#sc.hex”jNu}”(jKj h j Œ id="ceil"”j Œreference/integer.html#sc.ceil”jNu}”(jKj h j Œ id="floor"”j Œreference/integer.html#sc.floor”jNu}”(jKj h j Œ id="round"”j Œreference/integer.html#sc.round”jNu}”(jKj h j Œ id="trunc"”j Œreference/integer.html#sc.trunc”jNu}”(jKj h j Œ id="idiv"”j Œreference/integer.html#sc.idiv”jNu}”(jKj h j Œid="mod"”j Œreference/integer.html#sc.mod”jNu}”(jKj h j Œid="gcd"”j Œreference/integer.html#sc.gcd”jNu}”(jKj hj Œ id="average"”j Œ%reference/statistical.html#sc.average”jNu}”(jKj hj Œ id="geomean"”j Œ%reference/statistical.html#sc.geomean”jNu}”(jKj hj Œ id="median"”j Œ$reference/statistical.html#sc.median”jNu}”(jKj hj Œid="min"”j Œ!reference/statistical.html#sc.min”jNu}”(jKj hj Œid="max"”j Œ!reference/statistical.html#sc.max”jNu}”(jKj hj Œid="sum"”j Œ!reference/statistical.html#sc.sum”jNu}”(jKj hj Œ id="product"”j Œ%reference/statistical.html#sc.product”jNu}”(jKj hj Œ id="variance"”j Œ&reference/statistical.html#sc.variance”jNu}”(jKj hj Œ id="stddev"”j Œ$reference/statistical.html#sc.stddev”jNu}”(jKj hj Œ id="absdev"”j Œ$reference/statistical.html#sc.absdev”jNu}”(jKj hj Œ id="binomcdf"”j Œ&reference/statistical.html#sc.binomcdf”jNu}”(jKj hj Œ id="binompmf"”j Œ&reference/statistical.html#sc.binompmf”jNu}”(jKj hj Œid="binommean"”j Œ'reference/statistical.html#sc.binommean”jNu}”(jKj hj Œ id="binomvar"”j Œ&reference/statistical.html#sc.binomvar”jNu}”(jKj hj Œid="ncr"”j Œ!reference/statistical.html#sc.ncr”jNu}”(jKj hj Œid="npr"”j Œ!reference/statistical.html#sc.npr”jNu}”(jKj hj Œ id="hyperpmf"”j Œ&reference/statistical.html#sc.hyperpmf”jNu}”(jKj hj Œ id="hypercdf"”j Œ&reference/statistical.html#sc.hypercdf”jNu}”(jKj hj Œid="hypermean"”j Œ'reference/statistical.html#sc.hypermean”jNu}”(jKj hj Œ id="hypervar"”j Œ&reference/statistical.html#sc.hypervar”jNu}”(jKj hj Œ id="poipmf"”j Œ$reference/statistical.html#sc.poipmf”jNu}”(jKj hj Œ id="poicdf"”j Œ$reference/statistical.html#sc.poicdf”jNu}”(jKj hj Œ id="poimean"”j Œ%reference/statistical.html#sc.poimean”jNu}”(jKj hj Œ id="poivar"”j Œ$reference/statistical.html#sc.poivar”jNueŒapp”NŒ temp_data”}”Œtoc_fignumbers”}”Œ longtitles”}”(h jº)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j‚jUjƒ]”j”ŒIEEE-754 Functions”…””}”(j!ŒIEEE-754 Functions”j"jpubaubh jº)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j‚jUjƒ]”j”ŒBasic Math Functions”…””}”(j!ŒBasic Math Functions”j"j~ubaubh jº)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j‚jUjƒ]”j”ŒColor Scheme File Format”…””}”(j!ŒColor Scheme File Format”j"jŒubaubh jº)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j‚jUjƒ]”j”Œ&Integer & Bitwise Arithmetic Functions”…””}”(j!Œ&Integer & Bitwise Arithmetic Functions”j"jšubaubh jº)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j‚jUjƒ]”j”Œ Installation”…””}”(j!Œ Installation”j"j¨ubaubhjº)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j‚jUjƒ]”j”ŒAdvanced Topics”…””}”(j!ŒAdvanced Topics”j"j¶ubaubhjº)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j‚jUjƒ]”j”Œ First Steps”…””}”(j!Œ First Steps”j"jÄubaubhjº)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j‚jUjƒ]”j”Œ Reference”…””}”(j!Œ Reference”j"jÒubaubhjº)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j‚jUjƒ]”j”ŒStatistical Functions”…””}”(j!ŒStatistical Functions”j"jàubaubhjº)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j‚jUjƒ]”j”ŒTable of Contents”…””}”(j!ŒTable of Contents”j"jîubaubhjº)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j‚jUjƒ]”j”Œ Constants”…””}”(j!Œ Constants”j"jüubaubhjº)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j‚jUjƒ]”j”Œ$User-Defined Variables and Functions”…””}”(j!Œ$User-Defined Variables and Functions”j"j ubaubhjº)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j‚jUjƒ]”j”Œ Introduction”…””}”(j!jÃj"jubaubhjº)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j‚jUjƒ]”j”Œ User Guide”…””}”(j!Œ User Guide”j"j%ubaubhjº)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j‚jUjƒ]”j”ŒUser Interface”…””}”(j!ŒUser Interface”j"j3ubaubhjº)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j‚jUjƒ]”j”ŒSyntax”…””}”(j!ŒSyntax”j"jAubaubuŒdlfiles”Œ sphinx.util”ŒFilenameUniqDict”“”)””bŒ _warnfunc”NŒ reread_always””Œ doctreedir”Œ>C:\Users\fk\Code\speedcrunch\doc\build_html_embedded\_doctrees”Œ found_docs””(h h h h hhhhhhhh hhhhŒmetadata”}”(h }”h }”h }”h }”h }”h}”h}”h}”h}”h}”h}”h}”h}”h}”h}”h}”uŒ dependencies”}”Œtocs”}”(h jè)”}”(jƒ]”jõ)”}”(jƒ]”jŒcompact_paragraph”“”)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"juj‚jxjƒ]”jŒ reference”“”)”}”(j}”(Œ anchorname”h¼j]”j]”Œrefuri”h Œinternal”ˆj]”j]”j]”uj!h¼j"jzj‚jƒjƒ]”j”ŒIEEE-754 Functions”…””}”(j!j}j"j…ubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"jrj‚jôubaj}”(j]”j]”j]”j]”j]”uj!h¼j‚jçubh jè)”}”(jƒ]”jõ)”}”(jƒ]”(jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"j¤j‚jxjƒ]”j„)”}”(j}”(Œ anchorname”h¼j]”j]”Œrefuri”h Œinternal”ˆj]”j]”j]”uj!h¼j"j§j‚jƒjƒ]”j”ŒBasic Math Functions”…””}”(j!j‹j"j°ubaubaubjè)”}”(jƒ]”(jõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"jÃj‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ#general”j]”j]”Œrefuri”h Œinternal”ˆj]”j]”j]”uj!h¼j"jÆj‚jƒjƒ]”j”ŒGeneral”…””}”(j!ŒGeneral”j"jÏubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"jÀj‚jôubjõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"jçj‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ$#trigonometric-inverse-trigonometric”j]”j]”Œrefuri”h Œinternal”ˆj]”j]”j]”uj!h¼j"jêj‚jƒjƒ]”j”Œ%Trigonometric & Inverse Trigonometric”…””}”(j!Œ%Trigonometric & Inverse Trigonometric”j"jóubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"jÀj‚jôubjõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"j j‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ#hyperbolic-inverse-hyperbolic”j]”j]”Œrefuri”h Œinternal”ˆj]”j]”j]”uj!h¼j"jj‚jƒjƒ]”j”ŒHyperbolic & Inverse Hyperbolic”…””}”(j!ŒHyperbolic & Inverse Hyperbolic”j"jubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"jÀj‚jôubjõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"j/j‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ#special”j]”j]”Œrefuri”h Œinternal”ˆj]”j]”j]”uj!h¼j"j2j‚jƒjƒ]”j”ŒSpecial”…””}”(j!ŒSpecial”j"j;ubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"jÀj‚jôubjõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"jSj‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ#complex-numbers”j]”j]”Œrefuri”h Œinternal”ˆj]”j]”j]”uj!h¼j"jVj‚jƒjƒ]”j”ŒComplex Numbers”…””}”(j!ŒComplex Numbers”j"j_ubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"jÀj‚jôubjõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"jwj‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ#various”j]”j]”Œrefuri”h Œinternal”ˆj]”j]”j]”uj!h¼j"jzj‚jƒjƒ]”j”ŒVarious”…””}”(j!ŒVarious”j"jƒubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"jÀj‚jôubej}”(j]”j]”j]”j]”j]”uj!h¼j"j¤j‚jçubej}”(j]”j]”j]”j]”j]”uj!h¼j"j¡j‚jôubaj}”(j]”j]”j]”j]”j]”uj!h¼j‚jçubh jè)”}”(jƒ]”jõ)”}”(jƒ]”(jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"j°j‚jxjƒ]”j„)”}”(j}”(Œ anchorname”h¼j]”j]”Œrefuri”h Œinternal”ˆj]”j]”j]”uj!h¼j"j³j‚jƒjƒ]”j”ŒColor Scheme File Format”…””}”(j!j™j"j¼ubaubaubjè)”}”(jƒ]”jõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"jÏj‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ#supported-color-roles”j]”j]”Œrefuri”h Œinternal”ˆj]”j]”j]”uj!h¼j"jÒj‚jƒjƒ]”j”ŒSupported Color Roles”…””}”(j!ŒSupported Color Roles”j"jÛubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"jÌj‚jôubaj}”(j]”j]”j]”j]”j]”uj!h¼j"j°j‚jçubej}”(j]”j]”j]”j]”j]”uj!h¼j"j­j‚jôubaj}”(j]”j]”j]”j]”j]”uj!h¼j‚jçubh jè)”}”(jƒ]”jõ)”}”(jƒ]”(jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"jj‚jxjƒ]”j„)”}”(j}”(Œ anchorname”h¼j]”j]”Œrefuri”h Œinternal”ˆj]”j]”j]”uj!h¼j"j j‚jƒjƒ]”j”Œ&Integer & Bitwise Arithmetic Functions”…””}”(j!j§j"jubaubaubjè)”}”(jƒ]”(jõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"j'j‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ#bitwise-operations”j]”j]”Œrefuri”h Œinternal”ˆj]”j]”j]”uj!h¼j"j*j‚jƒjƒ]”j”ŒBitwise Operations”…””}”(j!ŒBitwise Operations”j"j3ubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"j$j‚jôubjõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"jKj‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ#numeral-bases”j]”j]”Œrefuri”h Œinternal”ˆj]”j]”j]”uj!h¼j"jNj‚jƒjƒ]”j”Œ Numeral Bases”…””}”(j!Œ Numeral Bases”j"jWubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"j$j‚jôubjõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"joj‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ #rounding”j]”j]”Œrefuri”h Œinternal”ˆj]”j]”j]”uj!h¼j"jrj‚jƒjƒ]”j”ŒRounding”…””}”(j!ŒRounding”j"j{ubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"j$j‚jôubjõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"j“j‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ#integer-division”j]”j]”Œrefuri”h Œinternal”ˆj]”j]”j]”uj!h¼j"j–j‚jƒjƒ]”j”ŒInteger Division”…””}”(j!ŒInteger Division”j"jŸubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"j$j‚jôubej}”(j]”j]”j]”j]”j]”uj!h¼j"jj‚jçubej}”(j]”j]”j]”j]”j]”uj!h¼j"jj‚jôubaj}”(j]”j]”j]”j]”j]”uj!h¼j‚jçubh jè)”}”(jƒ]”jõ)”}”(jƒ]”(jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"jÌj‚jxjƒ]”j„)”}”(j}”(Œ anchorname”h¼j]”j]”Œrefuri”h Œinternal”ˆj]”j]”j]”uj!h¼j"jÏj‚jƒjƒ]”j”Œ Installation”…””}”(j!jµj"jØubaubaubjè)”}”(jƒ]”(jõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"jëj‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ#microsoft-windows”j]”j]”Œrefuri”h Œinternal”ˆj]”j]”j]”uj!h¼j"jîj‚jƒjƒ]”j”ŒMicrosoft Windows”…””}”(j!ŒMicrosoft Windows”j"j÷ubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"jèj‚jôubjõ)”}”(jƒ]”(jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"j j‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ#linux”j]”j]”Œrefuri”h Œinternal”ˆj]”j]”j]”uj!h¼j"j j‚jƒjƒ]”j”ŒLinux”…””}”(j!ŒLinux”j"j ubaubaubjè)”}”(jƒ]”(jõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"j0 j‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ#distribution-packages”j]”j]”Œrefuri”h Œinternal”ˆj]”j]”j]”uj!h¼j"j3 j‚jƒjƒ]”j”ŒDistribution Packages”…””}”(j!ŒDistribution Packages”j"j< ubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"j- j‚jôubjõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"jT j‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ#generic-packages”j]”j]”Œrefuri”h Œinternal”ˆj]”j]”j]”uj!h¼j"jW j‚jƒjƒ]”j”ŒGeneric Packages”…””}”(j!ŒGeneric Packages”j"j` ubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"j- j‚jôubej}”(j]”j]”j]”j]”j]”uj!h¼j"j j‚jçubej}”(j]”j]”j]”j]”j]”uj!h¼j"jèj‚jôubjõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"j„ j‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ#development-builds”j]”j]”Œrefuri”h Œinternal”ˆj]”j]”j]”uj!h¼j"j‡ j‚jƒjƒ]”j”ŒDevelopment Builds”…””}”(j!ŒDevelopment Builds”j"j ubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"jèj‚jôubjõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"j¨ j‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ#building-from-source”j]”j]”Œrefuri”h Œinternal”ˆj]”j]”j]”uj!h¼j"j« j‚jƒjƒ]”j”ŒBuilding from Source”…””}”(j!ŒBuilding from Source”j"j´ ubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"jèj‚jôubej}”(j]”j]”j]”j]”j]”uj!h¼j"jÌj‚jçubej}”(j]”j]”j]”j]”j]”uj!h¼j"jÉj‚jôubaj}”(j]”j]”j]”j]”j]”uj!h¼j‚jçubhjè)”}”(jƒ]”jõ)”}”(jƒ]”(jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"já j‚jxjƒ]”j„)”}”(j}”(Œ anchorname”h¼j]”j]”Œrefuri”hŒinternal”ˆj]”j]”j]”uj!h¼j"jä j‚jƒjƒ]”j”ŒAdvanced Topics”…””}”(j!jÃj"jí ubaubaubjè)”}”(jƒ]”jŒtoctree”“”)”}”(j}”(Œhidden”‰j]”Œparent”hŒ includefiles”]”jþaŒentries”]”Njþ†”aj]”Œ titlesonly”‰Œcaption”NŒ includehidden”‰j]”Œmaxdepth”KŒnumbered”KŒglob”‰j]”j]”uj!h¼j"jý j‚j jƒ]”j™K jšŒ7C:\Users\fk\Code\speedcrunch\doc\src\advanced\index.rst”ubaj}”(j]”j]”j]”j]”j]”uj!h¼j"já j‚jçubej}”(j]”j]”j]”j]”j]”uj!h¼j"jÞ j‚jôubaj}”(j]”j]”j]”j]”j]”uj!h¼j‚jçubhjè)”}”(jƒ]”jõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"j. j‚jxjƒ]”j„)”}”(j}”(Œ anchorname”h¼j]”j]”Œrefuri”hŒinternal”ˆj]”j]”j]”uj!h¼j"j1 j‚jƒjƒ]”j”Œ First Steps”…””}”(j!jÑj"j: ubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"j+ j‚jôubaj}”(j]”j]”j]”j]”j]”uj!h¼j‚jçubhjè)”}”(jƒ]”jõ)”}”(jƒ]”(jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"jY j‚jxjƒ]”j„)”}”(j}”(Œ anchorname”h¼j]”j]”Œrefuri”hŒinternal”ˆj]”j]”j]”uj!h¼j"j\ j‚jƒjƒ]”j”Œ Reference”…””}”(j!jßj"je ubaubaubjè)”}”(jƒ]”(jõ)”}”(jƒ]”(jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"jx j‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ#built-in-functions”j]”j]”Œrefuri”hŒinternal”ˆj]”j]”j]”uj!h¼j"j{ j‚jƒjƒ]”j”ŒBuilt-in Functions”…””}”(j!ŒBuilt-in Functions”j"j„ ubaubaubjè)”}”(jƒ]”j )”}”(j}”(Œhidden”‰j]”Œparent”hŒ includefiles”]”(jíjîjïjðeŒentries”]”(Nj톔NjNjNjð†”ej]”Œ titlesonly”‰Œcaption”NŒ includehidden”‰j]”Œmaxdepth”KŒnumbered”KŒglob”‰j]”j]”uj!h¼j"j– j‚j jƒ]”j™K jšŒ8C:\Users\fk\Code\speedcrunch\doc\src\reference\index.rst”ubaj}”(j]”j]”j]”j]”j]”uj!h¼j"jx j‚jçubej}”(j]”j]”j]”j]”j]”uj!h¼j"ju j‚jôubjõ)”}”(jƒ]”(jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"j¿ j‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ #constants”j]”j]”Œrefuri”hŒinternal”ˆj]”j]”j]”uj!h¼j"j j‚jƒjƒ]”j”Œ Constants”…””}”(j!Œ Constants”j"jË ubaubaubjè)”}”(jƒ]”j )”}”(j}”(Œhidden”‰j]”Œparent”hŒ includefiles”]”jñaŒentries”]”Njñ†”aj]”Œ titlesonly”‰Œcaption”NŒ includehidden”‰j]”Œmaxdepth”KŒnumbered”KŒglob”‰j]”j]”uj!h¼j"jÝ j‚j jƒ]”j™Kjšj² ubaj}”(j]”j]”j]”j]”j]”uj!h¼j"j¿ j‚jçubej}”(j]”j]”j]”j]”j]”uj!h¼j"ju j‚jôubej}”(j]”j]”j]”j]”j]”uj!h¼j"jY j‚jçubej}”(j]”j]”j]”j]”j]”uj!h¼j"jV j‚jôubaj}”(j]”j]”j]”j]”j]”uj!h¼j‚jçubhjè)”}”(jƒ]”jõ)”}”(jƒ]”(jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"j j‚jxjƒ]”j„)”}”(j}”(Œ anchorname”h¼j]”j]”Œrefuri”hŒinternal”ˆj]”j]”j]”uj!h¼j"j j‚jƒjƒ]”j”ŒStatistical Functions”…””}”(j!jíj"j# ubaubaubjè)”}”(jƒ]”(jõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"j6 j‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ#general”j]”j]”Œrefuri”hŒinternal”ˆj]”j]”j]”uj!h¼j"j9 j‚jƒjƒ]”j”ŒGeneral”…””}”(j!ŒGeneral”j"jB ubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"j3 j‚jôubjõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"jZ j‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ#binomial-distribution”j]”j]”Œrefuri”hŒinternal”ˆj]”j]”j]”uj!h¼j"j] j‚jƒjƒ]”j”ŒBinomial Distribution”…””}”(j!ŒBinomial Distribution”j"jf ubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"j3 j‚jôubjõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"j~ j‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ#hypergeometric-distribution”j]”j]”Œrefuri”hŒinternal”ˆj]”j]”j]”uj!h¼j"j j‚jƒjƒ]”j”ŒHypergeometric Distribution”…””}”(j!ŒHypergeometric Distribution”j"jŠ ubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"j3 j‚jôubjõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"j¢ j‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ#poisson-distribution”j]”j]”Œrefuri”hŒinternal”ˆj]”j]”j]”uj!h¼j"j¥ j‚jƒjƒ]”j”ŒPoisson Distribution”…””}”(j!ŒPoisson Distribution”j"j® ubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"j3 j‚jôubej}”(j]”j]”j]”j]”j]”uj!h¼j"j j‚jçubej}”(j]”j]”j]”j]”j]”uj!h¼j"j j‚jôubaj}”(j]”j]”j]”j]”j]”uj!h¼j‚jçubhjè)”}”(jƒ]”(jõ)”}”(jƒ]”(jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"jÛ j‚jxjƒ]”j„)”}”(j}”(Œ anchorname”h¼j]”j]”Œrefuri”hŒinternal”ˆj]”j]”j]”uj!h¼j"jÞ j‚jƒjƒ]”j”ŒTable of Contents”…””}”(j!jûj"jç ubaubaubjè)”}”(jƒ]”j )”}”(j}”(Œhidden”‰j]”Œparent”hŒ includefiles”]”(jójôjõjöeŒentries”]”(Njó†”Njô†”Njõ†”Njö†”ej]”Œ titlesonly”‰Œcaption”NŒ includehidden”‰j]”Œmaxdepth”KŒnumbered”KŒglob”‰j]”j]”uj!h¼j"j÷ j‚j jƒ]”j™KjšŒ1C:\Users\fk\Code\speedcrunch\doc\src\contents.rst”ubaj}”(j]”j]”j]”j]”j]”uj!h¼j"jÛ j‚jçubej}”(j]”j]”j]”j]”j]”uj!h¼j"jØ j‚jôubjõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"j j‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ#indices-and-tables”j]”j]”Œrefuri”hŒinternal”ˆj]”j]”j]”uj!h¼j"j# j‚jƒjƒ]”j”ŒIndices and Tables”…””}”(j!ŒIndices and Tables”j"j, ubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"jØ j‚jôubej}”(j]”j]”j]”j]”j]”uj!h¼j‚jçubhjè)”}”(jƒ]”jõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"jM j‚jxjƒ]”j„)”}”(j}”(Œ anchorname”h¼j]”j]”Œrefuri”hŒinternal”ˆj]”j]”j]”uj!h¼j"jP j‚jƒjƒ]”j”Œ Constants”…””}”(j!j j"jY ubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"jJ j‚jôubaj}”(j]”j]”j]”j]”j]”uj!h¼j‚jçubhjè)”}”(jƒ]”(jõ)”}”(jƒ]”(jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"jx j‚jxjƒ]”j„)”}”(j}”(Œ anchorname”h¼j]”j]”Œrefuri”hŒinternal”ˆj]”j]”j]”uj!h¼j"j{ j‚jƒjƒ]”j”Œ$User-Defined Variables and Functions”…””}”(j!jj"j„ ubaubaubjè)”}”(jƒ]”(jõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"j— j‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ #variables”j]”j]”Œrefuri”hŒinternal”ˆj]”j]”j]”uj!h¼j"jš j‚jƒjƒ]”j”Œ Variables”…””}”(j!Œ Variables”j"j£ ubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"j” j‚jôubjõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"j» j‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ#user-functions”j]”j]”Œrefuri”hŒinternal”ˆj]”j]”j]”uj!h¼j"j¾ j‚jƒjƒ]”j”ŒUser Functions”…””}”(j!ŒUser Functions”j"jÇ ubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"j” j‚jôubej}”(j]”j]”j]”j]”j]”uj!h¼j"jx j‚jçubej}”(j]”j]”j]”j]”j]”uj!h¼j"ju j‚jôubjõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"jë j‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ#complex-numbers”j]”j]”Œrefuri”hŒinternal”ˆj]”j]”j]”uj!h¼j"jî j‚jƒjƒ]”j”ŒComplex numbers”…””}”(j!ŒComplex numbers”j"j÷ ubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"ju j‚jôubjõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"j j‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ#units”j]”j]”Œrefuri”hŒinternal”ˆj]”j]”j]”uj!h¼j"j j‚jƒjƒ]”j”ŒUnits”…””}”(j!ŒUnits”j"j ubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"ju j‚jôubej}”(j]”j]”j]”j]”j]”uj!h¼j‚jçubhjè)”}”(jƒ]”jõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"j< j‚jxjƒ]”j„)”}”(j}”(Œ anchorname”h¼j]”j]”Œrefuri”hŒinternal”ˆj]”j]”j]”uj!h¼j"j? j‚jƒjƒ]”j”Œ Introduction”…””}”(j!jÃj"jH ubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"j9 j‚jôubaj}”(j]”j]”j]”j]”j]”uj!h¼j‚jçubhjè)”}”(jƒ]”jõ)”}”(jƒ]”(jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"jg j‚jxjƒ]”j„)”}”(j}”(Œ anchorname”h¼j]”j]”Œrefuri”hŒinternal”ˆj]”j]”j]”uj!h¼j"jj j‚jƒjƒ]”j”Œ User Guide”…””}”(j!j2j"js ubaubaubjè)”}”(jƒ]”j )”}”(j}”(Œhidden”‰j]”Œparent”hŒ includefiles”]”(jøjùjújûjüeŒentries”]”(Njø†”Njù†”Njú†”Njû†”Njü†”ej]”Œ titlesonly”‰Œcaption”NŒ includehidden”‰j]”Œmaxdepth”KŒnumbered”KŒglob”‰j]”j]”uj!h¼j"jƒ j‚j jƒ]”j™KjšŒ8C:\Users\fk\Code\speedcrunch\doc\src\userguide\index.rst”ubaj}”(j]”j]”j]”j]”j]”uj!h¼j"jg j‚jçubej}”(j]”j]”j]”j]”j]”uj!h¼j"jd j‚jôubaj}”(j]”j]”j]”j]”j]”uj!h¼j‚jçubhjè)”}”(jƒ]”jõ)”}”(jƒ]”(jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"j¶ j‚jxjƒ]”j„)”}”(j}”(Œ anchorname”h¼j]”j]”Œrefuri”hŒinternal”ˆj]”j]”j]”uj!h¼j"j¹ j‚jƒjƒ]”j”ŒUser Interface”…””}”(j!j@j"j ubaubaubjè)”}”(jƒ]”(jõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"jÕ j‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ#widgets”j]”j]”Œrefuri”hŒinternal”ˆj]”j]”j]”uj!h¼j"jØ j‚jƒjƒ]”j”ŒWidgets”…””}”(j!ŒWidgets”j"já ubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"jÒ j‚jôubjõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"jù j‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ#expression-editor-features”j]”j]”Œrefuri”hŒinternal”ˆj]”j]”j]”uj!h¼j"jü j‚jƒjƒ]”j”ŒExpression Editor Features”…””}”(j!ŒExpression Editor Features”j"jubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"jÒ j‚jôubjõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"jj‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ#import-export”j]”j]”Œrefuri”hŒinternal”ˆj]”j]”j]”uj!h¼j"j j‚jƒjƒ]”j”Œ Import/Export”…””}”(j!Œ Import/Export”j"j)ubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"jÒ j‚jôubjõ)”}”(jƒ]”(jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"jAj‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ #settings”j]”j]”Œrefuri”hŒinternal”ˆj]”j]”j]”uj!h¼j"jDj‚jƒjƒ]”j”ŒSettings”…””}”(j!ŒSettings”j"jMubaubaubjè)”}”(jƒ]”(jõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"jbj‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ#result-format”j]”j]”Œrefuri”hŒinternal”ˆj]”j]”j]”uj!h¼j"jej‚jƒjƒ]”j”Œ Result Format”…””}”(j!Œ Result Format”j"jnubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"j_j‚jôubjõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"j†j‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ #input-format”j]”j]”Œrefuri”hŒinternal”ˆj]”j]”j]”uj!h¼j"j‰j‚jƒjƒ]”j”Œ Input Format”…””}”(j!Œ Input Format”j"j’ubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"j_j‚jôubjõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"jªj‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ #angle-unit”j]”j]”Œrefuri”hŒinternal”ˆj]”j]”j]”uj!h¼j"j­j‚jƒjƒ]”j”Œ Angle Unit”…””}”(j!Œ Angle Unit”j"j¶ubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"j_j‚jôubjõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"jÎj‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ #behavior”j]”j]”Œrefuri”hŒinternal”ˆj]”j]”j]”uj!h¼j"jÑj‚jƒjƒ]”j”ŒBehavior”…””}”(j!ŒBehavior”j"jÚubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"j_j‚jôubjõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"jòj‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ#user-interface-settings”j]”j]”Œrefuri”hŒinternal”ˆj]”j]”j]”uj!h¼j"jõj‚jƒjƒ]”j”ŒUser Interface Settings”…””}”(j!ŒUser Interface Settings”j"jþubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"j_j‚jôubej}”(j]”j]”j]”j]”j]”uj!h¼j"jAj‚jçubej}”(j]”j]”j]”j]”j]”uj!h¼j"jÒ j‚jôubjõ)”}”(jƒ]”(jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"j"j‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ#keyboard-shortcuts”j]”j]”Œrefuri”hŒinternal”ˆj]”j]”j]”uj!h¼j"j%j‚jƒjƒ]”j”ŒKeyboard Shortcuts”…””}”(j!ŒKeyboard Shortcuts”j"j.ubaubaubjè)”}”(jƒ]”(jõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"jCj‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ#editing”j]”j]”Œrefuri”hŒinternal”ˆj]”j]”j]”uj!h¼j"jFj‚jƒjƒ]”j”ŒEditing”…””}”(j!ŒEditing”j"jOubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"j@j‚jôubjõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"jgj‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ#widgets-and-docks”j]”j]”Œrefuri”hŒinternal”ˆj]”j]”j]”uj!h¼j"jjj‚jƒjƒ]”j”ŒWidgets and Docks”…””}”(j!ŒWidgets and Docks”j"jsubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"j@j‚jôubjõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"j‹j‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ #scrolling”j]”j]”Œrefuri”hŒinternal”ˆj]”j]”j]”uj!h¼j"jŽj‚jƒjƒ]”j”Œ Scrolling”…””}”(j!Œ Scrolling”j"j—ubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"j@j‚jôubjõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"j¯j‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ#format”j]”j]”Œrefuri”hŒinternal”ˆj]”j]”j]”uj!h¼j"j²j‚jƒjƒ]”j”ŒFormat”…””}”(j!ŒFormat”j"j»ubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"j@j‚jôubjõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"jÓj‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ#various”j]”j]”Œrefuri”hŒinternal”ˆj]”j]”j]”uj!h¼j"jÖj‚jƒjƒ]”j”ŒVarious”…””}”(j!ŒVarious”j"jßubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"j@j‚jôubej}”(j]”j]”j]”j]”j]”uj!h¼j"j"j‚jçubej}”(j]”j]”j]”j]”j]”uj!h¼j"jÒ j‚jôubej}”(j]”j]”j]”j]”j]”uj!h¼j"j¶ j‚jçubej}”(j]”j]”j]”j]”j]”uj!h¼j"j³ j‚jôubaj}”(j]”j]”j]”j]”j]”uj!h¼j‚jçubhjè)”}”(jƒ]”jõ)”}”(jƒ]”(jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"jj‚jxjƒ]”j„)”}”(j}”(Œ anchorname”h¼j]”j]”Œrefuri”hŒinternal”ˆj]”j]”j]”uj!h¼j"jj‚jƒjƒ]”j”ŒSyntax”…””}”(j!jNj"j$ubaubaubjè)”}”(jƒ]”(jõ)”}”(jƒ]”(jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"j7j‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ#number-notation”j]”j]”Œrefuri”hŒinternal”ˆj]”j]”j]”uj!h¼j"j:j‚jƒjƒ]”j”ŒNumber Notation”…””}”(j!ŒNumber Notation”j"jCubaubaubjè)”}”(jƒ]”(jõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"jXj‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ #decimal-form”j]”j]”Œrefuri”hŒinternal”ˆj]”j]”j]”uj!h¼j"j[j‚jƒjƒ]”j”Œ Decimal Form”…””}”(j!Œ Decimal Form”j"jdubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"jUj‚jôubjõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"j|j‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ#scientific-notation”j]”j]”Œrefuri”hŒinternal”ˆj]”j]”j]”uj!h¼j"jj‚jƒjƒ]”j”ŒScientific Notation”…””}”(j!ŒScientific Notation”j"jˆubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"jUj‚jôubjõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"j j‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ#non-decimal-bases”j]”j]”Œrefuri”hŒinternal”ˆj]”j]”j]”uj!h¼j"j£j‚jƒjƒ]”j”ŒNon-Decimal Bases”…””}”(j!ŒNon-Decimal Bases”j"j¬ubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"jUj‚jôubej}”(j]”j]”j]”j]”j]”uj!h¼j"j7j‚jçubej}”(j]”j]”j]”j]”j]”uj!h¼j"j4j‚jôubjõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"jÐj‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ#operators-and-precedence”j]”j]”Œrefuri”hŒinternal”ˆj]”j]”j]”uj!h¼j"jÓj‚jƒjƒ]”j”ŒOperators and Precedence”…””}”(j!ŒOperators and Precedence”j"jÜubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"j4j‚jôubjõ)”}”(jƒ]”jy)”}”(j}”(j]”j]”j]”j]”j]”uj!h¼j"jôj‚jxjƒ]”j„)”}”(j}”(Œ anchorname”Œ#deprecated-operators”j]”j]”Œrefuri”hŒinternal”ˆj]”j]”j]”uj!h¼j"j÷j‚jƒjƒ]”j”ŒDeprecated Operators”…””}”(j!ŒDeprecated Operators”j"jubaubaubaj}”(j]”j]”j]”j]”j]”uj!h¼j"j4j‚jôubej}”(j]”j]”j]”j]”j]”uj!h¼j"jj‚jçubej}”(j]”j]”j]”j]”j]”uj!h¼j"jj‚jôubaj}”(j]”j]”j]”j]”j]”uj!h¼j‚jçubuŒimages”jR)””bŒfiles_to_rebuild”}”(jí”(hjþ”(hjî”(hjõ”(hjï”(hjñ”(hjû”(hjù”(hjð”(hjö”(hjó”(hjø”(hjô”(hjü”(hjú”(huŒsrcdir”Œ$C:\Users\fk\Code\speedcrunch\doc\src”Œ glob_toctrees””Œversioning_condition”‰Œtoc_secnumbers”}”Œtitles”}”(h jph j~h jŒh jšh j¨hj¶hjÄhjÒhjàhjîhjühj hjhj%hj3hjAuŒ domaindata”}”(Œc”}”(Œversion”KŒobjects”}”uŒcpp”}”(jKKŒ root_symbol”Œsphinx.domains.cpp”ŒSymbol”“”)”}”(Œ declaration”NŒtemplateParams”NŒ templateArgs”Nj"Njƒ]”j NŒ identifier”NubŒnames”}”uŒsc”}”(jKKjL}”(Œhyperpmf”hŒfunction”†”Œartanh”h Œfunction”†”Œor”h Œfunction”†”Œshr”h Œfunction”†”Œieee754_encode”h Œfunction”†”Œsinh”h Œfunction”†”Œlb”h Œfunction”†”Œmedian”hŒfunction”†”Œcos”h Œfunction”†”Œcosh”h Œfunction”†”Œnot”h Œfunction”†”Œcbrt”h Œfunction”†”Œieee754_quad_decode”h Œfunction”†”Œcot”h Œfunction”†”Œe”hŒconstant”†”Œarcosh”h Œfunction”†”Œsum”hŒfunction”†”Œj”hŒconstant”†”Œtanh”h Œfunction”†”Œpoicdf”hŒfunction”†”Œmod”h Œfunction”†”Œround”h Œfunction”†”Œarctan2”h Œfunction”†”Œhypervar”hŒfunction”†”Œbinomvar”hŒfunction”†”Œerfc”h Œfunction”†”Œradians”h Œfunction”†”Œarccos”h Œfunction”†”Œ hypermean”hŒfunction”†”Œint”h Œfunction”†”Œand”h Œfunction”†”Œgcd”h Œfunction”†”Œlg”h Œfunction”†”Œlog”h Œfunction”†”Œsec”h Œfunction”†”Œproduct”hŒfunction”†”Œmax”hŒfunction”†”Œaverage”hŒfunction”†”Œ binommean”hŒfunction”†”Œtrunc”h Œfunction”†”Œmask”h Œfunction”†”Œarsinh”h Œfunction”†”Œstddev”hŒfunction”†”Œshl”h Œfunction”†”Œexp”h Œfunction”†”Œunmask”h Œfunction”†”Œabs”h Œfunction”†”Œieee754_quad_encode”h Œfunction”†”Œℯ”hŒconstant”†”Œpolar”h Œfunction”†”Œcart”h Œfunction”†”Œarctan”h Œfunction”†”Œnpr”hŒfunction”†”Œxor”h Œfunction”†”Œfrac”h Œfunction”†”Œcsc”h Œfunction”†”Œtan”h Œfunction”†”Œhypercdf”hŒfunction”†”Œimag”h Œfunction”†”Œpoipmf”hŒfunction”†”Œabsdev”hŒfunction”†”Œarcsin”h Œfunction”†”Œphase”h Œfunction”†”Œsgn”h Œfunction”†”Œoct”h Œfunction”†”Œpi”hŒconstant”†”Œbinomcdf”hŒfunction”†”Œieee754_single_encode”h Œfunction”†”Œgamma”h Œfunction”†”Œdegrees”h Œfunction”†”Œfloor”h Œfunction”†”Œln”h Œfunction”†”Œieee754_double_decode”h Œfunction”†”Œhex”h Œfunction”†”Œreal”h Œfunction”†”Œieee754_half_decode”h Œfunction”†”Œmin”hŒfunction”†”Œceil”h Œfunction”†”ŒÏ€”hŒconstant”†”Œdec”h Œfunction”†”Œbinompmf”hŒfunction”†”Œgeomean”hŒfunction”†”Œvariance”hŒfunction”†”Œpoivar”hŒfunction”†”Œidiv”h Œfunction”†”Œieee754_single_decode”h Œfunction”†”Œlngamma”h Œfunction”†”Œieee754_half_encode”h Œfunction”†”Œsqrt”h Œfunction”†”Œncr”hŒfunction”†”Œbin”h Œfunction”†”Œieee754_double_encode”h Œfunction”†”Œpoimean”hŒfunction”†”Œerf”h Œfunction”†”Œieee754_decode”h Œfunction”†”Œsin”h Œfunction”†”uuŒstd”}”(Œ anonlabels”}”(Œhypergeometric-distribution”hŒhypergeometric-distribution”†”Œunits”hŒunits”†”Œ variables”hŒ variables”†”Œradix_character”hŒradix-character”†”Œkeypad”hŒkeypad”†”Œ constants”hŒ constants”†”Œ color_schemes”h Œ color-schemes”†”Œsearch”Œsearch”h¼†”Œbinomial-distribution”hŒbinomial-distribution”†”Œscientific_notation”hŒscientific-notation”†”Œ result_format”hŒ result-format”†”Œautomatic_result_reuse”hŒautomatic-result-reuse”†”Œ trigonometric”h Œ trigonometric”†”Œsc:functionindex”Œsc-functionindex”h¼†”Œmodindex”Œ py-modindex”h¼†”Œf1”hŒf1”†”Œ context-help”hŒ context-help”†”Œcomplex_numbers”hŒcomplex-numbers”†”Œgenindex”jºh¼†”Œuser_functions”hŒuser-functions”†”ujKKŒlabels”}”(j„hj…ŒHypergeometric Distribution”‡”j‡hjˆŒUnits”‡”j·hj¸ŒComplex numbers”‡”j“hj”Œ Constants”‡”j–h j—ŒColor Scheme File Format”‡”j™j™h¼Œ sphinx.locale”Œ_TranslationProxy”“”jËŒ mygettext”“”Œ Search Page”†””jÏjÐ…”†”b‡”jœhjŒBinomial Distribution”‡”jŸhj ŒScientific Notation”‡”j¨h j©Œ%Trigonometric & Inverse Trigonometric”‡”j«j¬h¼jÍŒ translations”Œ_”“”ŒFunction Index”†””jÞjß…”†”b‡”j®j¯h¼jÍjÏŒ Module Index”†””jÏjå…”†”b‡”j¢hj£Œ Result Format”‡”jºjºh¼jÍjÏŒIndex”†””jÏjí…”†”b‡”jŠhj‹Œ Variables”‡”j¼hj½ŒUser Functions”‡”ujL}”Œ progoptions”}”uŒjs”}”(jKKjL}”uŒpy”}”(Œmodules”}”jKKjL}”uŒrst”}”(jKKjL}”uuŒ ref_context”}”Œnumbered_toctrees””ub.heldercorreia-speedcrunch-ea93b21f9498/doc/build_html_embedded/_doctrees/introduction.doctree000066400000000000000000000217321301713744000325040ustar00rootroot00000000000000€•Ï#Œdocutils.nodes”Œdocument”“”)”}”(Œ attributes”}”(Œbackrefs”]”Œclasses”]”Œids”]”Œdupnames”]”Œnames”]”Œsource”Œ5C:\Users\fk\Code\speedcrunch\doc\src\introduction.rst”uŒ citations”]”Œautofootnote_refs”]”Œsettings”Œdocutils.frontend”ŒValues”“”)”}”(Œinput_encoding_error_handler”Œstrict”Œinput_encoding”Œ utf-8-sig”Œcloak_email_addresses”ˆŒ_source”hŒconfig”NŒexpose_internals”NŒ strip_classes”NŒstrip_elements_with_classes”NŒenv”NŒdump_pseudo_xml”NŒrecord_dependencies”NŒ datestamp”NŒpep_references”NŒ id_prefix”Œ”Œ report_level”KŒtrim_footnote_reference_space”‰Œembed_stylesheet”‰Œ docinfo_xform”KŒdump_transforms”NŒauto_id_prefix”Œid”Œ pep_base_url”Œ https://www.python.org/dev/peps/”Œ tab_width”KŒsectsubtitle_xform”‰Œrfc_references”NŒ toc_backlinks”Œentry”Œ dump_settings”NŒ raw_enabled”KŒ rfc_base_url”Œhttps://tools.ietf.org/html/”Œtitle”NŒstrip_comments”NŒ _config_files”]”Œ sectnum_xform”KŒdebug”NŒ generator”NŒoutput_encoding”Œutf-8”Œerror_encoding”Œcp850”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œdoctitle_xform”‰Œgettext_compact”ˆŒ source_link”NŒ traceback”ˆŒoutput_encoding_error_handler”hŒstrict_visitor”NŒsyntax_highlight”Œlong”Œdump_internals”NŒexit_status_level”KŒfootnote_backlinks”KŒpep_file_url_template”Œpep-%04d”Œ halt_level”KŒ_disable_config”NŒ _destination”NŒ smart_quotes”‰Œfile_insertion_enabled”ˆŒ source_url”NŒwarning_stream”NubŒrefnames”}”Œreporter”NŒ current_line”NŒ transformer”NŒparse_messages”]”Œsubstitution_defs”}”Œsymbol_footnotes”]”Œtagname”hŒchildren”]”(hŒcomment”“”)”}”(h}”(h]”h ]”Œ xml:space”Œpreserve”h ]”h ]”h]”uŒ rawsource”ŒIThis explicit qtkeyword directive serves to identify the "home" location:”Œparent”hhnhqho]”hŒText”“”ŒIThis explicit qtkeyword directive serves to identify the "home" location:”…””}”(h}h-hhsubaŒline”KŒsource”hhhubhr)”}”(h}”(h]”h ]”hxhyh ]”h ]”h]”uh}Œ8when just opening the manual, this is what is displayed.”hhhnhqho]”h‚Œ8when just opening the manual, this is what is displayed.”…””}”(h}h-hh‰ubah‡KhˆhhhubhŒtarget”“”)”}”(h}”(h]”h ]”h ]”Œrefid”Œkw-0”h ]”h]”uh}h-hhhnh—ho]”h‡KhˆhhhubhŒsection”“”)”}”(h}”(h ]”(Œ introduction”h eh ]”h ]”h]”Œ introduction”ah]”uŒexpect_referenced_by_name”}”Œexpect_referenced_by_id”}”h h™sh}h-hhhnh¤ho]”(hh@“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ Introduction”hh¦hnh@ho]”h‚Œ Introduction”…””}”(h}h¾hh¶ubah‡KhˆhhhubhŒ paragraph”“”)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}XÏWelcome to the SpeedCrunch manual! SpeedCrunch is a high-precision scientific desktop calculator. It features a syntax-highlighted scrollable display and is designed to be fully used via keyboard. Some distinctive features are auto-completion of functions and variables, a formula book, and quick insertion of constants from various fields of knowledge. It is available for Windows, OS X, and Linux in a number of languages. We hope you have fun with SpeedCrunch!”hh¦hnhÄho]”h‚XÏWelcome to the SpeedCrunch manual! SpeedCrunch is a high-precision scientific desktop calculator. It features a syntax-highlighted scrollable display and is designed to be fully used via keyboard. Some distinctive features are auto-completion of functions and variables, a formula book, and quick insertion of constants from various fields of knowledge. It is available for Windows, OS X, and Linux in a number of languages. We hope you have fun with SpeedCrunch!”…””}”(h}hÎhhÆubah‡K hˆhubhÅ)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ5This documentation is divided into three major parts:”hh¦hnhÄho]”h‚Œ5This documentation is divided into three major parts:”…””}”(h}hÜhhÔubah‡KhˆhubhŒ bullet_list”“”)”}”(h}”(h]”h ]”Œbullet”Œ*”h ]”h ]”h]”uh}h-hh¦hnhâho]”(hŒ list_item”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ§The :doc:`userguide/index` serves as a user manual that can be read from beginning to end. It presents all the features of SpeedCrunch and how to use them effectively.”hhähnhïho]”hÅ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ§The :doc:`userguide/index` serves as a user manual that can be read from beginning to end. It presents all the features of SpeedCrunch and how to use them effectively.”hhñhnhÄho]”(h‚ŒThe ”…””}”(h}ŒThe ”hhûubŒsphinx.addnodes”Œ pending_xref”“”)”}”(h}”(Œrefdoc”Œ introduction”h]”h ]”Œrefwarn”ˆŒ refexplicit”‰Œ reftarget”Œuserguide/index”h ]”Œreftype”Œdoc”Œ refdomain”h-h ]”h]”uh}Œ:doc:`userguide/index`”hhûhnj ho]”hŒinline”“”)”}”(h}”(h ]”h ]”(Œxref”jeh ]”h]”h]”uh}jhj hnj ho]”h‚Œuserguide/index”…””}”(h}h-hj"ubaubah‡Khˆhubh‚Œ serves as a user manual that can be read from beginning to end. It presents all the features of SpeedCrunch and how to use them effectively.”…””}”(h}Œ serves as a user manual that can be read from beginning to end. It presents all the features of SpeedCrunch and how to use them effectively.”hhûubeh‡Khˆhubah‡Nhˆhhhubhð)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}XThe :doc:`reference/index` documents all the built-in functions, constants, and units that are included with SpeedCrunch. It's not intended to be read page by page, but it is still very useful to :ref:`look up ` how a particular function is used.”hhähnhïho]”hÅ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}XThe :doc:`reference/index` documents all the built-in functions, constants, and units that are included with SpeedCrunch. It's not intended to be read page by page, but it is still very useful to :ref:`look up ` how a particular function is used.”hj5hnhÄho]”(h‚ŒThe ”…””}”(h}ŒThe ”hj?ubj )”}”(h}”(jjh]”h ]”jˆŒ refexplicit”‰jŒreference/index”h ]”Œreftype”Œdoc”Œ refdomain”h-h ]”h]”uh}Œ:doc:`reference/index`”hj?hnj ho]”j!)”}”(h}”(h ]”h ]”(j'jWeh ]”h]”h]”uh}j[hjNhnj ho]”h‚Œreference/index”…””}”(h}h-hj]ubaubah‡Khˆhubh‚Œª documents all the built-in functions, constants, and units that are included with SpeedCrunch. It's not intended to be read page by page, but it is still very useful to ”…””}”(h}Œª documents all the built-in functions, constants, and units that are included with SpeedCrunch. It's not intended to be read page by page, but it is still very useful to ”hj?ubj )”}”(h}”(jjh]”h ]”jˆŒ refexplicit”ˆjŒ context-help”h ]”Œreftype”Œref”Œ refdomain”Œstd”h ]”h]”uh}Œ:ref:`look up `”hj?hnj ho]”j!)”}”(h}”(h ]”h ]”(j'jzŒstd-ref”eh ]”h]”h]”uh}j}hjohnj ho]”h‚Œlook up”…””}”(h}h-hjubaubah‡Khˆhubh‚Œ# how a particular function is used.”…””}”(h}Œ# how a particular function is used.”hj?ubeh‡Khˆhubah‡Nhˆhhhubhð)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ¿Finally, :doc:`advanced/index` covers more specialized topics that may be of interest, but are not necessary to use SpeedCrunch. For instance, it explains how to create custom color schemes. ”hhähnhïho]”hÅ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ¾Finally, :doc:`advanced/index` covers more specialized topics that may be of interest, but are not necessary to use SpeedCrunch. For instance, it explains how to create custom color schemes.”hj’hnhÄho]”(h‚Œ Finally, ”…””}”(h}Œ Finally, ”hjœubj )”}”(h}”(jjh]”h ]”jˆŒ refexplicit”‰jŒadvanced/index”h ]”Œreftype”Œdoc”Œ refdomain”h-h ]”h]”uh}Œ:doc:`advanced/index`”hjœhnj ho]”j!)”}”(h}”(h ]”h ]”(j'j´eh ]”h]”h]”uh}j¸hj«hnj ho]”h‚Œadvanced/index”…””}”(h}h-hjºubaubah‡Khˆhubh‚Œ  covers more specialized topics that may be of interest, but are not necessary to use SpeedCrunch. For instance, it explains how to create custom color schemes.”…””}”(h}Œ  covers more specialized topics that may be of interest, but are not necessary to use SpeedCrunch. For instance, it explains how to create custom color schemes.”hjœubeh‡Khˆhubah‡Nhˆhhhubeh‡Khˆhhhubj Œonly”“”)”}”(h}”(h]”h ]”h ]”Œexpr”Œhtml”h ]”h]”uhhhh¦hnjÌho]”hÅ)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒJFor a complete overview, see the :doc:`full table of contents `.”hjÎhnhÄho]”(h‚Œ!For a complete overview, see the ”…””}”(h}Œ!For a complete overview, see the ”hjÙubj )”}”(h}”(jjh]”h ]”jˆŒ refexplicit”ˆjŒcontents”h ]”Œreftype”Œdoc”Œ refdomain”h-h ]”h]”uh}Œ(:doc:`full table of contents `”hjÙhnj ho]”j!)”}”(h}”(h ]”h ]”(j'jñeh ]”h]”h]”uh}jõhjèhnj ho]”h‚Œfull table of contents”…””}”(h}h-hj÷ubaubah‡Khˆhubh‚Œ.”…””}”(h}Œ.”hjÙubeh‡Khˆhubah‡Khˆhh}h-ubeh‡KhˆhhhubeŒ nametypes”}”h®NsŒids”}”(h h¦hªh¦uŒtransform_messages”]”hŒsystem_message”“”)”}”(h}”(h]”h ]”Œlevel”KŒtype”ŒINFO”Œline”Kh ]”h ]”h]”Œsource”huh}h-hnjho]”hÅ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-hjhnhÄho]”h‚Œ*Hyperlink target "kw-0" is not referenced.”…””}”(h}h-hjubaubaubaŒcurrent_source”NŒsymbol_footnote_refs”]”Œindirect_targets”]”Œsubstitution_names”}”Œrefids”}”h ]”h™asŒ citation_refs”}”Œsymbol_footnote_start”KŒautofootnote_start”KhhŒid_start”Kh}h-Œ decoration”NŒ footnotes”]”Œ footnote_refs”}”Œ autofootnotes”]”Œnameids”}”h®hªsub.heldercorreia-speedcrunch-ea93b21f9498/doc/build_html_embedded/_doctrees/reference/000077500000000000000000000000001301713744000303455ustar00rootroot00000000000000heldercorreia-speedcrunch-ea93b21f9498/doc/build_html_embedded/_doctrees/reference/basic.doctree000066400000000000000000003514661301713744000330140ustar00rootroot00000000000000€•Œdocutils.nodes”Œdocument”“”)”}”(Œ attributes”}”(Œbackrefs”]”Œclasses”]”Œids”]”Œdupnames”]”Œnames”]”Œsource”Œ8C:\Users\fk\Code\speedcrunch\doc\src\reference\basic.rst”uŒ citations”]”Œautofootnote_refs”]”Œsettings”Œdocutils.frontend”ŒValues”“”)”}”(Œinput_encoding_error_handler”Œstrict”Œinput_encoding”Œ utf-8-sig”Œcloak_email_addresses”ˆŒ_source”hŒconfig”NŒexpose_internals”NŒ strip_classes”NŒstrip_elements_with_classes”NŒenv”NŒdump_pseudo_xml”NŒrecord_dependencies”NŒ datestamp”NŒpep_references”NŒ id_prefix”Œ”Œ report_level”KŒtrim_footnote_reference_space”‰Œembed_stylesheet”‰Œ docinfo_xform”KŒdump_transforms”NŒauto_id_prefix”Œid”Œ pep_base_url”Œ https://www.python.org/dev/peps/”Œ tab_width”KŒsectsubtitle_xform”‰Œrfc_references”NŒ toc_backlinks”Œentry”Œ dump_settings”NŒ raw_enabled”KŒ rfc_base_url”Œhttps://tools.ietf.org/html/”Œtitle”NŒstrip_comments”NŒ _config_files”]”Œ sectnum_xform”KŒdebug”NŒ generator”NŒoutput_encoding”Œutf-8”Œerror_encoding”Œcp850”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œdoctitle_xform”‰Œgettext_compact”ˆŒ source_link”NŒ traceback”ˆŒoutput_encoding_error_handler”hŒstrict_visitor”NŒsyntax_highlight”Œlong”Œdump_internals”NŒexit_status_level”KŒfootnote_backlinks”KŒpep_file_url_template”Œpep-%04d”Œ halt_level”KŒ_disable_config”NŒ _destination”NŒ smart_quotes”‰Œfile_insertion_enabled”ˆŒ source_url”NŒwarning_stream”NubŒrefnames”}”Œreporter”NŒ current_line”NŒ transformer”NŒparse_messages”]”Œsubstitution_defs”}”Œsymbol_footnotes”]”Œtagname”hŒchildren”]”hŒsection”“”)”}”(h}”(h ]”Œbasic-math-functions”ah ]”h ]”h]”Œbasic math functions”ah]”uŒ rawsource”h-Œparent”hhnhqho]”(hh@“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}ŒBasic Math Functions”h~hshnh@ho]”hŒText”“”ŒBasic Math Functions”…””}”(h}h‰h~hubaŒline”KŒsource”hhhubhr)”}”(h}”(h ]”Œgeneral”ah ]”h ]”h]”Œgeneral”ah]”uh}h-h~hshnhqho]”(h€)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}ŒGeneral”h~h“hnh@ho]”hŒŒGeneral”…””}”(h}h¦h~hžubah‘Kh’hhhubŒsphinx.addnodes”Œindex”“”)”}”(h}”(Œentries”]”(Œsingle”Œabs() (function)”Œsc.abs”h-Nt”ah]”h ]”h ]”Œ translatable”ˆh ]”h]”uh}h-h~h“hnh­ho]”h‘Nh’hhhubh¬Œdesc”“”)”}”(h}”(Œdesctype”Œfunction”h]”h ]”Œobjtype”hÅŒdomain”Œsc”h ]”Œnoindex”‰h ]”h]”uh}h-h~h“hnh¿ho]”(h¬Œdesc_signature”“”)”}”(h}”(h]”h ]”h ]”h¶ah ]”h]”h¶aŒfirst”‰uh}Œabs(x)”h~hÁhnhÐho]”(h¬Œ desc_name”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œabs”h~hÒhnhÝho]”hŒŒabs”…””}”(h}h-h~hßubah‘Kh’hhhubh¬Œdesc_parameterlist”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx”h~hÒhnhího]”h¬Œdesc_parameter”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx”h~hïhnhùho]”hŒŒx”…””}”(h}h-h~hûubaubah‘Kh’hŒchild_text_separator”Œ; ”hhubeh‘Kh’hhhubh¬Œ desc_content”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~hÁhnj ho]”(hŒ paragraph”“”)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒãReturn the absolute value of ``x``, commonly written as \|x\|. In real mode, it flips the sign of a negative number, thus forcing it to be positive. When given a complex number as argument, it returns the modulus of the number.”h~j hnjho]”(hŒŒReturn the absolute value of ”…””}”(h}ŒReturn the absolute value of ”h~jubhŒliteral”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~jhnj'ho]”hŒŒx”…””}”(h}h-h~j)ubaubhŒŒ¿, commonly written as |x|. In real mode, it flips the sign of a negative number, thus forcing it to be positive. When given a complex number as argument, it returns the modulus of the number.”…””}”(h}ŒÁ, commonly written as \|x\|. In real mode, it flips the sign of a negative number, thus forcing it to be positive. When given a complex number as argument, it returns the modulus of the number.”h~jubeh‘K h’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ"The argument can have a dimension.”h~j hnjho]”hŒŒ"The argument can have a dimension.”…””}”(h}jDh~j<ubah‘K h’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ Example::”h~j hnjho]”hŒŒExample:”…””}”(h}ŒExample:”h~jJubah‘K h’hubhŒ literal_block”“”)”}”(hhh}”(h]”h ]”Œ xml:space”Œpreserve”h ]”h ]”h]”uh}Œ(abs(-3 meter) = 3 meter abs(4 + 3j) = 5”h~j hnjYho]”hŒŒ(abs(-3 meter) = 3 meter abs(4 + 3j) = 5”…””}”(h}h-h~j[ubah‘Kh’hubeh‘Kh’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œsqrt() (function)”Œsc.sqrt”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~h“hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈj|hÉŒsc”h ]”h̉h ]”h]”uh}h-h~h“hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jqah ]”h]”jqahÚ‰uh}Œsqrt(x)”h~jyhnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œsqrt”h~j„hnhÝho]”hŒŒsqrt”…””}”(h}h-h~jŽubah‘Kh’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx”h~j„hnhího]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jh~jœhnhùho]”hŒŒx”…””}”(h}h-h~j¦ubaubah‘Kh’hj j hhubeh‘Kh’hhhubj )”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jyhnj ho]”(j)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ×Return the square root of ``x``. If complex numbers are disabled, this function is only defined for *x > 0*. In *complex mode*, any complex number may be specified, yielding the complex root in the upper half plane.”h~j³hnjho]”(hŒŒReturn the square root of ”…””}”(h}ŒReturn the square root of ”h~j¼ubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~j¼hnj'ho]”hŒŒx”…””}”(h}h-h~jËubaubhŒŒE. If complex numbers are disabled, this function is only defined for ”…””}”(h}ŒE. If complex numbers are disabled, this function is only defined for ”h~j¼ubhŒemphasis”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*x > 0*”h~j¼hnjÞho]”hŒŒx > 0”…””}”(h}h-h~jàubaubhŒŒ. In ”…””}”(h}Œ. In ”h~j¼ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*complex mode*”h~j¼hnjÞho]”hŒŒ complex mode”…””}”(h}h-h~jóubaubhŒŒY, any complex number may be specified, yielding the complex root in the upper half plane.”…””}”(h}ŒY, any complex number may be specified, yielding the complex root in the upper half plane.”h~j¼ubeh‘Kh’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ"The argument may have a dimension.”h~j³hnjho]”hŒŒ"The argument may have a dimension.”…””}”(h}jh~jubah‘Kh’hubeh‘Kh’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œcbrt() (function)”Œsc.cbrt”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~h“hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈj%hÉŒsc”h ]”h̉h ]”h]”uh}h-h~h“hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jah ]”h]”jahÚ‰uh}Œcbrt(x)”h~j"hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œcbrt”h~j-hnhÝho]”hŒŒcbrt”…””}”(h}h-h~j7ubah‘K#h’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx”h~j-hnhího]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jh~jEhnhùho]”hŒŒx”…””}”(h}h-h~jOubaubah‘K#h’hj j hhubeh‘K#h’hhhubj )”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j"hnj ho]”(j)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒˆCompute the third (cubic) root of ``x``. In *real mode*, it accepts any real number. Negative numbers will yield a negative cubic root::”h~j\hnjho]”(hŒŒ"Compute the third (cubic) root of ”…””}”(h}Œ"Compute the third (cubic) root of ”h~jeubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~jehnj'ho]”hŒŒx”…””}”(h}h-h~jtubaubhŒŒ. In ”…””}”(h}Œ. In ”h~jeubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *real mode*”h~jehnjÞho]”hŒŒ real mode”…””}”(h}h-h~j‡ubaubhŒŒP, it accepts any real number. Negative numbers will yield a negative cubic root:”…””}”(h}ŒP, it accepts any real number. Negative numbers will yield a negative cubic root:”h~jeubeh‘Kh’hubjZ)”}”(hhh}”(h]”h ]”j`jah ]”h ]”h]”uh}Œcbrt(-27) = -3”h~j\hnjYho]”hŒŒcbrt(-27) = -3”…””}”(h}h-h~jšubah‘Kh’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}XIIn *complex mode*, this function accepts any complex input. The result will generally be the first complex root, i.e. the one with a phase between 0 and Ï€/3. Real negative arguments however will still yield a real (negative) result, matching the function's behavior in *real mode*. Use ``x^(1/3)`` to get the first complex root.”h~j\hnjho]”(hŒŒIn ”…””}”(h}ŒIn ”h~j¨ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*complex mode*”h~j¨hnjÞho]”hŒŒ complex mode”…””}”(h}h-h~j·ubaubhŒŒý, this function accepts any complex input. The result will generally be the first complex root, i.e. the one with a phase between 0 and Ï€/3. Real negative arguments however will still yield a real (negative) result, matching the function's behavior in ”…””}”(h}Œý, this function accepts any complex input. The result will generally be the first complex root, i.e. the one with a phase between 0 and Ï€/3. Real negative arguments however will still yield a real (negative) result, matching the function's behavior in ”h~j¨ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *real mode*”h~j¨hnjÞho]”hŒŒ real mode”…””}”(h}h-h~jÊubaubhŒŒ. Use ”…””}”(h}Œ. Use ”h~j¨ubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ ``x^(1/3)``”h~j¨hnj'ho]”hŒŒx^(1/3)”…””}”(h}h-h~jÝubaubhŒŒ to get the first complex root.”…””}”(h}Œ to get the first complex root.”h~j¨ubeh‘K"h’hubeh‘K#h’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œexp() (function)”Œsc.exp”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~h“hnh­ho]”h‘Nh’NhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈjhÉŒsc”h ]”h̉h ]”h]”uh}h-h~h“hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jöah ]”h]”jöahÚ‰uh}Œexp(x)”h~jþhnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œexp”h~j hnhÝho]”hŒŒexp”…””}”(h}h-h~jubah‘K.h’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx”h~j hnhího]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jh~j!hnhùho]”hŒŒx”…””}”(h}h-h~j+ubaubah‘K.h’hj j hhubeh‘K.h’hhhubj )”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jþhnj ho]”(j)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ)Compute the natural exponential function.”h~j8hnjho]”hŒŒ)Compute the natural exponential function.”…””}”(h}jIh~jAubah‘K&h’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ#The argument must be dimensionless.”h~j8hnjho]”hŒŒ#The argument must be dimensionless.”…””}”(h}jWh~jOubah‘K(h’hubh¬Œseealso”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œi| :func:`ln` (natural logarithm) | :func:`lg` (binary logarithm) | :func:`log` (arbitrary base logarithm)”h~j8hnj]ho]”hŒ line_block”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j_hnjiho]”(hh‘“”)”}”(Œindent”Kh}”(h ]”h ]”h ]”h]”h]”uh}Œ:func:`ln` (natural logarithm)”h~jkhnh‘ho]”(h¬Œ pending_xref”“”)”}”(h}”(Œrefdoc”Œreference/basic”h]”h ]”Œrefwarn”‰Œ refexplicit”‰Œ reftarget”Œln”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ :func:`ln`”h~juhnj€ho]”j()”}”(h}”(h ]”h ]”(Œxref”j‘Œsc-func”eh ]”h]”h]”uh}j”h~j‚hnj'ho]”hŒŒln()”…””}”(h}h-h~j–ubaubah‘K+h’hubhŒŒ (natural logarithm)”…””}”(h}Œ (natural logarithm)”h~juubeh‘Kh’hubjt)”}”(jwKh}”(h ]”h ]”h ]”h]”h]”uh}Œ:func:`lg` (binary logarithm)”h~jkhnh‘ho]”(j)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œlg”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ :func:`lg`”h~jªhnj€ho]”j()”}”(h}”(h ]”h ]”(j›j¿Œsc-func”eh ]”h]”h]”uh}jÂh~j´hnj'ho]”hŒŒlg()”…””}”(h}h-h~jÄubaubah‘K,h’hubhŒŒ (binary logarithm)”…””}”(h}Œ (binary logarithm)”h~jªubeh‘Kh’hubjt)”}”(jwKh}”(h ]”h ]”h ]”h]”h]”uh}Œ&:func:`log` (arbitrary base logarithm)”h~jkhnh‘ho]”(j)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œlog”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ :func:`log`”h~j×hnj€ho]”j()”}”(h}”(h ]”h ]”(j›jìŒsc-func”eh ]”h]”h]”uh}jïh~jáhnj'ho]”hŒŒlog()”…””}”(h}h-h~jñubaubah‘K-h’hubhŒŒ (arbitrary base logarithm)”…””}”(h}Œ (arbitrary base logarithm)”h~j×ubeh‘Kh’hubeubah‘Nh’Nhhubeh‘K.h’hhhubeh‘Nh’Nhhubh®)”}”(h}”(Œentries”]”(h´Œln() (function)”Œsc.ln”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~h“hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈjhÉŒsc”h ]”h̉h ]”h]”uh}h-h~h“hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”j ah ]”h]”j ahÚ‰uh}Œln(x)”h~jhnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œln”h~jhnhÝho]”hŒŒln”…””}”(h}h-h~j'ubah‘K4h’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx”h~jhnhího]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jh~j5hnhùho]”hŒŒx”…””}”(h}h-h~j?ubaubah‘K4h’hj j hhubeh‘K4h’hhhubj )”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jhnj ho]”(j)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒWCompute the natural logarithm. In *real mode*, the argument must be real, with *x > 0*.”h~jLhnjho]”(hŒŒ"Compute the natural logarithm. In ”…””}”(h}Œ"Compute the natural logarithm. In ”h~jUubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *real mode*”h~jUhnjÞho]”hŒŒ real mode”…””}”(h}h-h~jdubaubhŒŒ", the argument must be real, with ”…””}”(h}Œ", the argument must be real, with ”h~jUubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*x > 0*”h~jUhnjÞho]”hŒŒx > 0”…””}”(h}h-h~jwubaubhŒŒ.”…””}”(h}Œ.”h~jUubeh‘K1h’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}X.In *complex mode*, any non-zero number may be given. The result will be the principal value. The branch cut runs across the negative real axis. Nevertheless, in SpeedCrunch :func:`ln` is defined for negative real numbers as *ln(-x) = ln(\|x\|)) + Ï€j*, extending the branch from the *upper* half-plane.”h~jLhnjho]”(hŒŒIn ”…””}”(h}ŒIn ”h~jŠubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*complex mode*”h~jŠhnjÞho]”hŒŒ complex mode”…””}”(h}h-h~j™ubaubhŒŒœ, any non-zero number may be given. The result will be the principal value. The branch cut runs across the negative real axis. Nevertheless, in SpeedCrunch ”…””}”(h}Œœ, any non-zero number may be given. The result will be the principal value. The branch cut runs across the negative real axis. Nevertheless, in SpeedCrunch ”h~jŠubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œln”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ :func:`ln`”h~jŠhnj€ho]”j()”}”(h}”(h ]”h ]”(j›j·Œsc-func”eh ]”h]”h]”uh}jºh~j¬hnj'ho]”hŒŒln()”…””}”(h}h-h~j¼ubaubah‘K3h’hubhŒŒ) is defined for negative real numbers as ”…””}”(h}Œ) is defined for negative real numbers as ”h~jŠubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*ln(-x) = ln(\|x\|)) + Ï€j*”h~jŠhnjÞho]”hŒŒln(-x) = ln(|x|)) + Ï€j”…””}”(h}h-h~jÏubaubhŒŒ , extending the branch from the ”…””}”(h}Œ , extending the branch from the ”h~jŠubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*upper*”h~jŠhnjÞho]”hŒŒupper”…””}”(h}h-h~jâubaubhŒŒ half-plane.”…””}”(h}Œ half-plane.”h~jŠubeh‘K3h’hubeh‘K4h’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œlb() (function)”Œsc.lb”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~h“hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈjhÉŒsc”h ]”h̉h ]”h]”uh}h-h~h“hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jûah ]”h]”jûahÚ‰uh}Œlb(x)”h~jhnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œlb”h~jhnhÝho]”hŒŒlb”…””}”(h}h-h~jubah‘K8h’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx”h~jhnhího]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jh~j&hnhùho]”hŒŒx”…””}”(h}h-h~j0ubaubah‘K8h’hj j hhubeh‘K8h’hhhubj )”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jhnj ho]”j)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒWCompute the binary logarithm. In *complex mode* the same rules apply as for :func:`ln`.”h~j=hnjho]”(hŒŒ!Compute the binary logarithm. In ”…””}”(h}Œ!Compute the binary logarithm. In ”h~jFubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*complex mode*”h~jFhnjÞho]”hŒŒ complex mode”…””}”(h}h-h~jUubaubhŒŒ the same rules apply as for ”…””}”(h}Œ the same rules apply as for ”h~jFubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œln”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ :func:`ln`”h~jFhnj€ho]”j()”}”(h}”(h ]”h ]”(j›jsŒsc-func”eh ]”h]”h]”uh}jvh~jhhnj'ho]”hŒŒln()”…””}”(h}h-h~jxubaubah‘K7h’hubhŒŒ.”…””}”(h}j‰h~jFubeh‘K7h’hubah‘K8h’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œlg() (function)”Œsc.lg”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~h“hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈj›hÉŒsc”h ]”h̉h ]”h]”uh}h-h~h“hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jah ]”h]”jahÚ‰uh}Œlg(x)”h~j˜hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œlg”h~j£hnhÝho]”hŒŒlg”…””}”(h}h-h~j­ubah‘K10\ :sup:`77`, SpeedCrunch no longer recognizes the periodicity of the function and issues an error.”h~jIhnjho]”(hŒŒ(For real arguments beyond approx. |x|>10”…””}”(h}Œ,For real arguments beyond approx. \|x\|>10\ ”h~j$ubhŒ superscript”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ :sup:`77`”h~j$hnj3ho]”hŒŒ77”…””}”(h}h-h~j5ubaubhŒŒW, SpeedCrunch no longer recognizes the periodicity of the function and issues an error.”…””}”(h}ŒW, SpeedCrunch no longer recognizes the periodicity of the function and issues an error.”h~j$ubeh‘KOh’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ2The argument of :func:`sin` must be dimensionless.”h~jIhnjho]”(hŒŒThe argument of ”…””}”(h}ŒThe argument of ”h~jHubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œsin”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ :func:`sin`”h~jHhnj€ho]”j()”}”(h}”(h ]”h ]”(j›jbŒsc-func”eh ]”h]”h]”uh}jeh~jWhnj'ho]”hŒŒsin()”…””}”(h}h-h~jgubaubah‘KQh’hubhŒŒ must be dimensionless.”…””}”(h}Œ must be dimensionless.”h~jHubeh‘KQh’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ'The inverse function is :func:`arcsin`.”h~jIhnjho]”(hŒŒThe inverse function is ”…””}”(h}ŒThe inverse function is ”h~jzubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œarcsin”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ:func:`arcsin`”h~jzhnj€ho]”j()”}”(h}”(h ]”h ]”(j›j”Œsc-func”eh ]”h]”h]”uh}j—h~j‰hnj'ho]”hŒŒarcsin()”…””}”(h}h-h~j™ubaubah‘KSh’hubhŒŒ.”…””}”(h}j‰h~jzubeh‘KSh’hubj^)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ:| :func:`cos` | :func:`tan` | :func:`cot` | :func:`arcsin`”h~jIhnj]ho]”jj)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j«hnjiho]”(jt)”}”(jwKh}”(h ]”h ]”h ]”h]”h]”uh}Œ :func:`cos`”h~jµhnh‘ho]”j)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œcos”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}jÆh~j¾hnj€ho]”j()”}”(h}”(h ]”h ]”(j›jÓŒsc-func”eh ]”h]”h]”uh}jÆh~jÈhnj'ho]”hŒŒcos()”…””}”(h}h-h~j×ubaubah‘KVh’hubah‘Kh’hubjt)”}”(jwKh}”(h ]”h ]”h ]”h]”h]”uh}Œ :func:`tan`”h~jµhnh‘ho]”j)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œtan”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}jíh~jåhnj€ho]”j()”}”(h}”(h ]”h ]”(j›júŒsc-func”eh ]”h]”h]”uh}jíh~jïhnj'ho]”hŒŒtan()”…””}”(h}h-h~jþubaubah‘KWh’hubah‘Kh’hubjt)”}”(jwKh}”(h ]”h ]”h ]”h]”h]”uh}Œ :func:`cot`”h~jµhnh‘ho]”j)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œcot”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}j h~j hnj€ho]”j()”}”(h}”(h ]”h ]”(j›j! Œsc-func”eh ]”h]”h]”uh}j h~j hnj'ho]”hŒŒcot()”…””}”(h}h-h~j% ubaubah‘KXh’hubah‘Kh’hubjt)”}”(jwKh}”(h ]”h ]”h ]”h]”h]”uh}Œ:func:`arcsin`”h~jµhnh‘ho]”j)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œarcsin”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}j; h~j3 hnj€ho]”j()”}”(h}”(h ]”h ]”(j›jH Œsc-func”eh ]”h]”h]”uh}j; h~j= hnj'ho]”hŒŒarcsin()”…””}”(h}h-h~jL ubaubah‘KYh’hubah‘Kh’hubeubah‘Nh’Nhhubeh‘KZh’hhhubeh‘Nh’Nhhubh®)”}”(h}”(Œentries”]”(h´Œcos() (function)”Œsc.cos”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~jãhnh­ho]”h‘Nh’NhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈjk hÉŒsc”h ]”h̉h ]”h]”uh}h-h~jãhnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”j` ah ]”h]”j` ahÚ‰uh}Œcos(x)”h~jh hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œcos”h~js hnhÝho]”hŒŒcos”…””}”(h}h-h~j} ubah‘Koh’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx”h~js hnhího]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jh~j‹ hnhùho]”hŒŒx”…””}”(h}h-h~j• ubaubah‘Koh’hj j hhubeh‘Koh’hhhubj )”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jh hnj ho]”(j)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ‘Returns the cosine of ``x``. The behavior depends on both the angle unit setting (degrees or radians) and on whether complex numbers are enabled.”h~j¢ hnjho]”(hŒŒReturns the cosine of ”…””}”(h}ŒReturns the cosine of ”h~j« ubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~j« hnj'ho]”hŒŒx”…””}”(h}h-h~jº ubaubhŒŒv. The behavior depends on both the angle unit setting (degrees or radians) and on whether complex numbers are enabled.”…””}”(h}Œv. The behavior depends on both the angle unit setting (degrees or radians) and on whether complex numbers are enabled.”h~j« ubeh‘K]h’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒûIn *degrees* mode, the argument is assumed to be expressed in degrees, such that :func:`cos` is periodic with a period of 360 degrees: *cos(x) = cos(x+360)*. Complex arguments are not allowed in *degrees* mode, regardless of the corresponding setting.”h~j¢ hnjho]”(hŒŒIn ”…””}”(h}ŒIn ”h~jÍ ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *degrees*”h~jÍ hnjÞho]”hŒŒdegrees”…””}”(h}h-h~jÜ ubaubhŒŒE mode, the argument is assumed to be expressed in degrees, such that ”…””}”(h}ŒE mode, the argument is assumed to be expressed in degrees, such that ”h~jÍ ubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œcos”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ :func:`cos`”h~jÍ hnj€ho]”j()”}”(h}”(h ]”h ]”(j›jú Œsc-func”eh ]”h]”h]”uh}jý h~jï hnj'ho]”hŒŒcos()”…””}”(h}h-h~jÿ ubaubah‘K_h’hubhŒŒ+ is periodic with a period of 360 degrees: ”…””}”(h}Œ+ is periodic with a period of 360 degrees: ”h~jÍ ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*cos(x) = cos(x+360)*”h~jÍ hnjÞho]”hŒŒcos(x) = cos(x+360)”…””}”(h}h-h~j ubaubhŒŒ'. Complex arguments are not allowed in ”…””}”(h}Œ'. Complex arguments are not allowed in ”h~jÍ ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *degrees*”h~jÍ hnjÞho]”hŒŒdegrees”…””}”(h}h-h~j% ubaubhŒŒ/ mode, regardless of the corresponding setting.”…””}”(h}Œ/ mode, regardless of the corresponding setting.”h~jÍ ubeh‘K_h’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒhWhen *radians* are set as the angle unit, :func:`cos` will be 2Ï€-periodic. The argument may be complex.”h~j¢ hnjho]”(hŒŒWhen ”…””}”(h}ŒWhen ”h~j8 ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *radians*”h~j8 hnjÞho]”hŒŒradians”…””}”(h}h-h~jG ubaubhŒŒ are set as the angle unit, ”…””}”(h}Œ are set as the angle unit, ”h~j8 ubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œcos”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ :func:`cos`”h~j8 hnj€ho]”j()”}”(h}”(h ]”h ]”(j›je Œsc-func”eh ]”h]”h]”uh}jh h~jZ hnj'ho]”hŒŒcos()”…””}”(h}h-h~jj ubaubah‘Kah’hubhŒŒ3 will be 2Ï€-periodic. The argument may be complex.”…””}”(h}Œ3 will be 2Ï€-periodic. The argument may be complex.”h~j8 ubeh‘Kah’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒŒFor real arguments beyond approx. \|x\|>10\ :sup:`77`, SpeedCrunch no longer recognizes the periodicity of the function and issues an error.”h~j¢ hnjho]”(hŒŒ(For real arguments beyond approx. |x|>10”…””}”(h}Œ,For real arguments beyond approx. \|x\|>10\ ”h~j} ubj4)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ :sup:`77`”h~j} hnj3ho]”hŒŒ77”…””}”(h}h-h~jŒ ubaubhŒŒW, SpeedCrunch no longer recognizes the periodicity of the function and issues an error.”…””}”(h}ŒW, SpeedCrunch no longer recognizes the periodicity of the function and issues an error.”h~j} ubeh‘Kch’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ2The argument of :func:`cos` must be dimensionless.”h~j¢ hnjho]”(hŒŒThe argument of ”…””}”(h}ŒThe argument of ”h~jŸ ubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œcos”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ :func:`cos`”h~jŸ hnj€ho]”j()”}”(h}”(h ]”h ]”(j›j¹ Œsc-func”eh ]”h]”h]”uh}j¼ h~j® hnj'ho]”hŒŒcos()”…””}”(h}h-h~j¾ ubaubah‘Keh’hubhŒŒ must be dimensionless.”…””}”(h}Œ must be dimensionless.”h~jŸ ubeh‘Keh’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ'The inverse function is :func:`arccos`.”h~j¢ hnjho]”(hŒŒThe inverse function is ”…””}”(h}ŒThe inverse function is ”h~jÑ ubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œarccos”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ:func:`arccos`”h~jÑ hnj€ho]”j()”}”(h}”(h ]”h ]”(j›jë Œsc-func”eh ]”h]”h]”uh}jî h~jà hnj'ho]”hŒŒarccos()”…””}”(h}h-h~jð ubaubah‘Kgh’hubhŒŒ.”…””}”(h}j‰h~jÑ ubeh‘Kgh’hubj^)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}ŒH| :func:`sin` | :func:`tan` | :func:`cot` | :func:`sec` | :func:`arccos`”h~j¢ hnj]ho]”jj)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j hnjiho]”(jt)”}”(jwKh}”(h ]”h ]”h ]”h]”h]”uh}Œ :func:`sin`”h~j hnh‘ho]”j)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œsin”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}j h~j hnj€ho]”j()”}”(h}”(h ]”h ]”(j›j* Œsc-func”eh ]”h]”h]”uh}j h~j hnj'ho]”hŒŒsin()”…””}”(h}h-h~j. ubaubah‘Kjh’hubah‘Kh’hubjt)”}”(jwKh}”(h ]”h ]”h ]”h]”h]”uh}Œ :func:`tan`”h~j hnh‘ho]”j)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œtan”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}jD h~j< hnj€ho]”j()”}”(h}”(h ]”h ]”(j›jQ Œsc-func”eh ]”h]”h]”uh}jD h~jF hnj'ho]”hŒŒtan()”…””}”(h}h-h~jU ubaubah‘Kkh’hubah‘Kh’hubjt)”}”(jwKh}”(h ]”h ]”h ]”h]”h]”uh}Œ :func:`cot`”h~j hnh‘ho]”j)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œcot”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}jk h~jc hnj€ho]”j()”}”(h}”(h ]”h ]”(j›jx Œsc-func”eh ]”h]”h]”uh}jk h~jm hnj'ho]”hŒŒcot()”…””}”(h}h-h~j| ubaubah‘Klh’hubah‘Kh’hubjt)”}”(jwKh}”(h ]”h ]”h ]”h]”h]”uh}Œ :func:`sec`”h~j hnh‘ho]”j)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œsec”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}j’ h~jŠ hnj€ho]”j()”}”(h}”(h ]”h ]”(j›jŸ Œsc-func”eh ]”h]”h]”uh}j’ h~j” hnj'ho]”hŒŒsec()”…””}”(h}h-h~j£ ubaubah‘Kmh’hubah‘Kh’hubjt)”}”(jwKh}”(h ]”h ]”h ]”h]”h]”uh}Œ:func:`arccos`”h~j hnh‘ho]”j)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œarccos”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}j¹ h~j± hnj€ho]”j()”}”(h}”(h ]”h ]”(j›jÆ Œsc-func”eh ]”h]”h]”uh}j¹ h~j» hnj'ho]”hŒŒarccos()”…””}”(h}h-h~jÊ ubaubah‘Knh’hubah‘Kh’hubeubah‘Nh’Nhhubeh‘Koh’hhhubeh‘Nh’Nhhubh®)”}”(h}”(Œentries”]”(h´Œtan() (function)”Œsc.tan”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~jãhnh­ho]”h‘Nh’NhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈjé hÉŒsc”h ]”h̉h ]”h]”uh}h-h~jãhnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jÞ ah ]”h]”jÞ ahÚ‰uh}Œtan(x)”h~jæ hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œtan”h~jñ hnhÝho]”hŒŒtan”…””}”(h}h-h~jû ubah‘K€h’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx”h~jñ hnhího]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jh~j hnhùho]”hŒŒx”…””}”(h}h-h~j ubaubah‘K€h’hj j hhubeh‘K€h’hhhubj )”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jæ hnj ho]”(j)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ’Returns the tangent of ``x``. The behavior depends on both the angle unit setting (degrees or radians) and on whether complex numbers are enabled.”h~j hnjho]”(hŒŒReturns the tangent of ”…””}”(h}ŒReturns the tangent of ”h~j) ubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~j) hnj'ho]”hŒŒx”…””}”(h}h-h~j8 ubaubhŒŒv. The behavior depends on both the angle unit setting (degrees or radians) and on whether complex numbers are enabled.”…””}”(h}Œv. The behavior depends on both the angle unit setting (degrees or radians) and on whether complex numbers are enabled.”h~j) ubeh‘Krh’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒûIn *degrees* mode, the argument is assumed to be expressed in degrees, such that :func:`tan` is periodic with a period of 180 degrees: *tan(x) = tan(x+180)*. Complex arguments are not allowed in *degrees* mode, regardless of the corresponding setting.”h~j hnjho]”(hŒŒIn ”…””}”(h}ŒIn ”h~jK ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *degrees*”h~jK hnjÞho]”hŒŒdegrees”…””}”(h}h-h~jZ ubaubhŒŒE mode, the argument is assumed to be expressed in degrees, such that ”…””}”(h}ŒE mode, the argument is assumed to be expressed in degrees, such that ”h~jK ubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œtan”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ :func:`tan`”h~jK hnj€ho]”j()”}”(h}”(h ]”h ]”(j›jx Œsc-func”eh ]”h]”h]”uh}j{ h~jm hnj'ho]”hŒŒtan()”…””}”(h}h-h~j} ubaubah‘Kth’hubhŒŒ+ is periodic with a period of 180 degrees: ”…””}”(h}Œ+ is periodic with a period of 180 degrees: ”h~jK ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*tan(x) = tan(x+180)*”h~jK hnjÞho]”hŒŒtan(x) = tan(x+180)”…””}”(h}h-h~j ubaubhŒŒ'. Complex arguments are not allowed in ”…””}”(h}Œ'. Complex arguments are not allowed in ”h~jK ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *degrees*”h~jK hnjÞho]”hŒŒdegrees”…””}”(h}h-h~j£ ubaubhŒŒ/ mode, regardless of the corresponding setting.”…””}”(h}Œ/ mode, regardless of the corresponding setting.”h~jK ubeh‘Kth’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒgWhen *radians* are set as the angle unit, :func:`tan` will be Ï€-periodic. The argument may be complex.”h~j hnjho]”(hŒŒWhen ”…””}”(h}ŒWhen ”h~j¶ ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *radians*”h~j¶ hnjÞho]”hŒŒradians”…””}”(h}h-h~jÅ ubaubhŒŒ are set as the angle unit, ”…””}”(h}Œ are set as the angle unit, ”h~j¶ ubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œtan”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ :func:`tan`”h~j¶ hnj€ho]”j()”}”(h}”(h ]”h ]”(j›jã Œsc-func”eh ]”h]”h]”uh}jæ h~jØ hnj'ho]”hŒŒtan()”…””}”(h}h-h~jè ubaubah‘Kvh’hubhŒŒ2 will be Ï€-periodic. The argument may be complex.”…””}”(h}Œ2 will be Ï€-periodic. The argument may be complex.”h~j¶ ubeh‘Kvh’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ2The argument of :func:`tan` must be dimensionless.”h~j hnjho]”(hŒŒThe argument of ”…””}”(h}ŒThe argument of ”h~jû ubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œtan”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ :func:`tan`”h~jû hnj€ho]”j()”}”(h}”(h ]”h ]”(j›j Œsc-func”eh ]”h]”h]”uh}j h~j hnj'ho]”hŒŒtan()”…””}”(h}h-h~j ubaubah‘Kxh’hubhŒŒ must be dimensionless.”…””}”(h}Œ must be dimensionless.”h~jû ubeh‘Kxh’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ'The inverse function is :func:`arctan`.”h~j hnjho]”(hŒŒThe inverse function is ”…””}”(h}ŒThe inverse function is ”h~j- ubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œarctan”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ:func:`arctan`”h~j- hnj€ho]”j()”}”(h}”(h ]”h ]”(j›jG Œsc-func”eh ]”h]”h]”uh}jJ h~j< hnj'ho]”hŒŒarctan()”…””}”(h}h-h~jL ubaubah‘Kzh’hubhŒŒ.”…””}”(h}j‰h~j- ubeh‘Kzh’hubj^)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ)| :func:`cos` | :func:`sin` | :func:`cot`”h~j hnj]ho]”jj)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j^ hnjiho]”(jt)”}”(jwKh}”(h ]”h ]”h ]”h]”h]”uh}Œ :func:`cos`”h~jh hnh‘ho]”j)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œcos”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}jy h~jq hnj€ho]”j()”}”(h}”(h ]”h ]”(j›j† Œsc-func”eh ]”h]”h]”uh}jy h~j{ hnj'ho]”hŒŒcos()”…””}”(h}h-h~jŠ ubaubah‘K}h’hubah‘Kh’hubjt)”}”(jwKh}”(h ]”h ]”h ]”h]”h]”uh}Œ :func:`sin`”h~jh hnh‘ho]”j)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œsin”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}j  h~j˜ hnj€ho]”j()”}”(h}”(h ]”h ]”(j›j­ Œsc-func”eh ]”h]”h]”uh}j  h~j¢ hnj'ho]”hŒŒsin()”…””}”(h}h-h~j± ubaubah‘K~h’hubah‘Kh’hubjt)”}”(jwKh}”(h ]”h ]”h ]”h]”h]”uh}Œ :func:`cot`”h~jh hnh‘ho]”j)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œcot”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}jÇ h~j¿ hnj€ho]”j()”}”(h}”(h ]”h ]”(j›jÔ Œsc-func”eh ]”h]”h]”uh}jÇ h~jÉ hnj'ho]”hŒŒcot()”…””}”(h}h-h~jØ ubaubah‘Kh’hubah‘Kh’hubeubah‘Nh’Nhhubeh‘K€h’hhhubeh‘Nh’Nhhubh®)”}”(h}”(Œentries”]”(h´Œcot() (function)”Œsc.cot”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~jãhnh­ho]”h‘Nh’NhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈj÷ hÉŒsc”h ]”h̉h ]”h]”uh}h-h~jãhnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jì ah ]”h]”jì ahÚ‰uh}Œcot(x)”h~jô hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œcot”h~jÿ hnhÝho]”hŒŒcot”…””}”(h}h-h~j ubah‘Kh’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx”h~jÿ hnhího]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jh~jhnhùho]”hŒŒx”…””}”(h}h-h~j!ubaubah‘Kh’hj j hhubeh‘Kh’hhhubj )”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jô hnj ho]”(j)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ”Returns the cotangent of ``x``. The behavior depends on both the angle unit setting (degrees or radians) and on whether complex numbers are enabled.”h~j.hnjho]”(hŒŒReturns the cotangent of ”…””}”(h}ŒReturns the cotangent of ”h~j7ubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~j7hnj'ho]”hŒŒx”…””}”(h}h-h~jFubaubhŒŒv. The behavior depends on both the angle unit setting (degrees or radians) and on whether complex numbers are enabled.”…””}”(h}Œv. The behavior depends on both the angle unit setting (degrees or radians) and on whether complex numbers are enabled.”h~j7ubeh‘Kƒh’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒûIn *degrees* mode, the argument is assumed to be expressed in degrees, such that :func:`cot` is periodic with a period of 180 degrees: *cot(x) = cot(x+180)*. Complex arguments are not allowed in *degrees* mode, regardless of the corresponding setting.”h~j.hnjho]”(hŒŒIn ”…””}”(h}ŒIn ”h~jYubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *degrees*”h~jYhnjÞho]”hŒŒdegrees”…””}”(h}h-h~jhubaubhŒŒE mode, the argument is assumed to be expressed in degrees, such that ”…””}”(h}ŒE mode, the argument is assumed to be expressed in degrees, such that ”h~jYubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œcot”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ :func:`cot`”h~jYhnj€ho]”j()”}”(h}”(h ]”h ]”(j›j†Œsc-func”eh ]”h]”h]”uh}j‰h~j{hnj'ho]”hŒŒcot()”…””}”(h}h-h~j‹ubaubah‘K…h’hubhŒŒ+ is periodic with a period of 180 degrees: ”…””}”(h}Œ+ is periodic with a period of 180 degrees: ”h~jYubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*cot(x) = cot(x+180)*”h~jYhnjÞho]”hŒŒcot(x) = cot(x+180)”…””}”(h}h-h~jžubaubhŒŒ'. Complex arguments are not allowed in ”…””}”(h}Œ'. Complex arguments are not allowed in ”h~jYubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *degrees*”h~jYhnjÞho]”hŒŒdegrees”…””}”(h}h-h~j±ubaubhŒŒ/ mode, regardless of the corresponding setting.”…””}”(h}Œ/ mode, regardless of the corresponding setting.”h~jYubeh‘K…h’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒgWhen *radians* are set as the angle unit, :func:`cot` will be Ï€-periodic. The argument may be complex.”h~j.hnjho]”(hŒŒWhen ”…””}”(h}ŒWhen ”h~jÄubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *radians*”h~jÄhnjÞho]”hŒŒradians”…””}”(h}h-h~jÓubaubhŒŒ are set as the angle unit, ”…””}”(h}Œ are set as the angle unit, ”h~jÄubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œcot”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ :func:`cot`”h~jÄhnj€ho]”j()”}”(h}”(h ]”h ]”(j›jñŒsc-func”eh ]”h]”h]”uh}jôh~jæhnj'ho]”hŒŒcot()”…””}”(h}h-h~jöubaubah‘K‡h’hubhŒŒ2 will be Ï€-periodic. The argument may be complex.”…””}”(h}Œ2 will be Ï€-periodic. The argument may be complex.”h~jÄubeh‘K‡h’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ2The argument of :func:`cot` must be dimensionless.”h~j.hnjho]”(hŒŒThe argument of ”…””}”(h}ŒThe argument of ”h~j ubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œcot”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ :func:`cot`”h~j hnj€ho]”j()”}”(h}”(h ]”h ]”(j›j#Œsc-func”eh ]”h]”h]”uh}j&h~jhnj'ho]”hŒŒcot()”…””}”(h}h-h~j(ubaubah‘K‰h’hubhŒŒ must be dimensionless.”…””}”(h}Œ must be dimensionless.”h~j ubeh‘K‰h’hubj^)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ)| :func:`cos` | :func:`sin` | :func:`tan`”h~j.hnj]ho]”jj)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j;hnjiho]”(jt)”}”(jwKh}”(h ]”h ]”h ]”h]”h]”uh}Œ :func:`cos`”h~jEhnh‘ho]”j)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œcos”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}jVh~jNhnj€ho]”j()”}”(h}”(h ]”h ]”(j›jcŒsc-func”eh ]”h]”h]”uh}jVh~jXhnj'ho]”hŒŒcos()”…””}”(h}h-h~jgubaubah‘KŒh’hubah‘Kh’hubjt)”}”(jwKh}”(h ]”h ]”h ]”h]”h]”uh}Œ :func:`sin`”h~jEhnh‘ho]”j)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œsin”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}j}h~juhnj€ho]”j()”}”(h}”(h ]”h ]”(j›jŠŒsc-func”eh ]”h]”h]”uh}j}h~jhnj'ho]”hŒŒsin()”…””}”(h}h-h~jŽubaubah‘Kh’hubah‘Kh’hubjt)”}”(jwKh}”(h ]”h ]”h ]”h]”h]”uh}Œ :func:`tan`”h~jEhnh‘ho]”j)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œtan”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}j¤h~jœhnj€ho]”j()”}”(h}”(h ]”h ]”(j›j±Œsc-func”eh ]”h]”h]”uh}j¤h~j¦hnj'ho]”hŒŒtan()”…””}”(h}h-h~jµubaubah‘KŽh’hubah‘Kh’hubeubah‘Nh’Nhhubeh‘Kh’hhhubeh‘Nh’Nhhubh®)”}”(h}”(Œentries”]”(h´Œsec() (function)”Œsc.sec”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~jãhnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈjÔhÉŒsc”h ]”h̉h ]”h]”uh}h-h~jãhnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jÉah ]”h]”jÉahÚ‰uh}Œsec(x)”h~jÑhnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œsec”h~jÜhnhÝho]”hŒŒsec”…””}”(h}h-h~jæubah‘K›h’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx”h~jÜhnhího]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jh~jôhnhùho]”hŒŒx”…””}”(h}h-h~jþubaubah‘K›h’hj j hhubeh‘K›h’hhhubj )”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jÑhnj ho]”(j)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒÑReturns the secant of ``x``, defined as the reciprocal cosine of ``x``: *sec(x) = 1/cos(x)*. The behavior depends on both the angle unit setting (degrees or radians) and on whether complex numbers are enabled.”h~j hnjho]”(hŒŒReturns the secant of ”…””}”(h}ŒReturns the secant of ”h~jubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~jhnj'ho]”hŒŒx”…””}”(h}h-h~j#ubaubhŒŒ&, defined as the reciprocal cosine of ”…””}”(h}Œ&, defined as the reciprocal cosine of ”h~jubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~jhnj'ho]”hŒŒx”…””}”(h}h-h~j6ubaubhŒŒ: ”…””}”(h}Œ: ”h~jubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*sec(x) = 1/cos(x)*”h~jhnjÞho]”hŒŒsec(x) = 1/cos(x)”…””}”(h}h-h~jIubaubhŒŒv. The behavior depends on both the angle unit setting (degrees or radians) and on whether complex numbers are enabled.”…””}”(h}Œv. The behavior depends on both the angle unit setting (degrees or radians) and on whether complex numbers are enabled.”h~jubeh‘K’h’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒûIn *degrees* mode, the argument is assumed to be expressed in degrees, such that :func:`sec` is periodic with a period of 360 degrees: *sec(x) = sec(x+360)*. Complex arguments are not allowed in *degrees* mode, regardless of the corresponding setting.”h~j hnjho]”(hŒŒIn ”…””}”(h}ŒIn ”h~j\ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *degrees*”h~j\hnjÞho]”hŒŒdegrees”…””}”(h}h-h~jkubaubhŒŒE mode, the argument is assumed to be expressed in degrees, such that ”…””}”(h}ŒE mode, the argument is assumed to be expressed in degrees, such that ”h~j\ubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œsec”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ :func:`sec`”h~j\hnj€ho]”j()”}”(h}”(h ]”h ]”(j›j‰Œsc-func”eh ]”h]”h]”uh}jŒh~j~hnj'ho]”hŒŒsec()”…””}”(h}h-h~jŽubaubah‘K”h’hubhŒŒ+ is periodic with a period of 360 degrees: ”…””}”(h}Œ+ is periodic with a period of 360 degrees: ”h~j\ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*sec(x) = sec(x+360)*”h~j\hnjÞho]”hŒŒsec(x) = sec(x+360)”…””}”(h}h-h~j¡ubaubhŒŒ'. Complex arguments are not allowed in ”…””}”(h}Œ'. Complex arguments are not allowed in ”h~j\ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *degrees*”h~j\hnjÞho]”hŒŒdegrees”…””}”(h}h-h~j´ubaubhŒŒ/ mode, regardless of the corresponding setting.”…””}”(h}Œ/ mode, regardless of the corresponding setting.”h~j\ubeh‘K”h’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒhWhen *radians* are set as the angle unit, :func:`sec` will be 2Ï€-periodic. The argument may be complex.”h~j hnjho]”(hŒŒWhen ”…””}”(h}ŒWhen ”h~jÇubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *radians*”h~jÇhnjÞho]”hŒŒradians”…””}”(h}h-h~jÖubaubhŒŒ are set as the angle unit, ”…””}”(h}Œ are set as the angle unit, ”h~jÇubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œsec”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ :func:`sec`”h~jÇhnj€ho]”j()”}”(h}”(h ]”h ]”(j›jôŒsc-func”eh ]”h]”h]”uh}j÷h~jéhnj'ho]”hŒŒsec()”…””}”(h}h-h~jùubaubah‘K–h’hubhŒŒ3 will be 2Ï€-periodic. The argument may be complex.”…””}”(h}Œ3 will be 2Ï€-periodic. The argument may be complex.”h~jÇubeh‘K–h’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒŒFor real arguments beyond approx. \|x\|>10\ :sup:`77`, SpeedCrunch no longer recognizes the periodicity of the function and issues an error.”h~j hnjho]”(hŒŒ(For real arguments beyond approx. |x|>10”…””}”(h}Œ,For real arguments beyond approx. \|x\|>10\ ”h~j ubj4)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ :sup:`77`”h~j hnj3ho]”hŒŒ77”…””}”(h}h-h~jubaubhŒŒW, SpeedCrunch no longer recognizes the periodicity of the function and issues an error.”…””}”(h}ŒW, SpeedCrunch no longer recognizes the periodicity of the function and issues an error.”h~j ubeh‘K˜h’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ2The argument of :func:`sec` must be dimensionless.”h~j hnjho]”(hŒŒThe argument of ”…””}”(h}ŒThe argument of ”h~j.ubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œsec”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ :func:`sec`”h~j.hnj€ho]”j()”}”(h}”(h ]”h ]”(j›jHŒsc-func”eh ]”h]”h]”uh}jKh~j=hnj'ho]”hŒŒsec()”…””}”(h}h-h~jMubaubah‘Kšh’hubhŒŒ must be dimensionless.”…””}”(h}Œ must be dimensionless.”h~j.ubeh‘Kšh’hubeh‘K›h’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œcsc() (function)”Œsc.csc”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~jãhnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈjqhÉŒsc”h ]”h̉h ]”h]”uh}h-h~jãhnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jfah ]”h]”jfahÚ‰uh}Œcsc(x)”h~jnhnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œcsc”h~jyhnhÝho]”hŒŒcsc”…””}”(h}h-h~jƒubah‘K¨h’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx”h~jyhnhího]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jh~j‘hnhùho]”hŒŒx”…””}”(h}h-h~j›ubaubah‘K¨h’hj j hhubeh‘K¨h’hhhubj )”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jnhnj ho]”(j)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒÑReturns the cosecant of ``x``, defined as the reciprocal sine of ``x``: *csc(x) = 1/sin(x)*. The behavior depends on both the angle unit setting (degrees or radians) and on whether complex numbers are enabled.”h~j¨hnjho]”(hŒŒReturns the cosecant of ”…””}”(h}ŒReturns the cosecant of ”h~j±ubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~j±hnj'ho]”hŒŒx”…””}”(h}h-h~jÀubaubhŒŒ$, defined as the reciprocal sine of ”…””}”(h}Œ$, defined as the reciprocal sine of ”h~j±ubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~j±hnj'ho]”hŒŒx”…””}”(h}h-h~jÓubaubhŒŒ: ”…””}”(h}Œ: ”h~j±ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*csc(x) = 1/sin(x)*”h~j±hnjÞho]”hŒŒcsc(x) = 1/sin(x)”…””}”(h}h-h~jæubaubhŒŒv. The behavior depends on both the angle unit setting (degrees or radians) and on whether complex numbers are enabled.”…””}”(h}Œv. The behavior depends on both the angle unit setting (degrees or radians) and on whether complex numbers are enabled.”h~j±ubeh‘Kžh’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒûIn *degrees* mode, the argument is assumed to be expressed in degrees, such that :func:`csc` is periodic with a period of 360 degrees: *csc(x) = csc(x+360)*. Complex arguments are not allowed in *degrees* mode, regardless of the corresponding setting.”h~j¨hnjho]”(hŒŒIn ”…””}”(h}ŒIn ”h~jùubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *degrees*”h~jùhnjÞho]”hŒŒdegrees”…””}”(h}h-h~jubaubhŒŒE mode, the argument is assumed to be expressed in degrees, such that ”…””}”(h}ŒE mode, the argument is assumed to be expressed in degrees, such that ”h~jùubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œcsc”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ :func:`csc`”h~jùhnj€ho]”j()”}”(h}”(h ]”h ]”(j›j&Œsc-func”eh ]”h]”h]”uh}j)h~jhnj'ho]”hŒŒcsc()”…””}”(h}h-h~j+ubaubah‘K h’hubhŒŒ+ is periodic with a period of 360 degrees: ”…””}”(h}Œ+ is periodic with a period of 360 degrees: ”h~jùubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*csc(x) = csc(x+360)*”h~jùhnjÞho]”hŒŒcsc(x) = csc(x+360)”…””}”(h}h-h~j>ubaubhŒŒ'. Complex arguments are not allowed in ”…””}”(h}Œ'. Complex arguments are not allowed in ”h~jùubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *degrees*”h~jùhnjÞho]”hŒŒdegrees”…””}”(h}h-h~jQubaubhŒŒ/ mode, regardless of the corresponding setting.”…””}”(h}Œ/ mode, regardless of the corresponding setting.”h~jùubeh‘K h’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒhWhen *radians* are set as the angle unit, :func:`csc` will be 2Ï€-periodic. The argument may be complex.”h~j¨hnjho]”(hŒŒWhen ”…””}”(h}ŒWhen ”h~jdubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *radians*”h~jdhnjÞho]”hŒŒradians”…””}”(h}h-h~jsubaubhŒŒ are set as the angle unit, ”…””}”(h}Œ are set as the angle unit, ”h~jdubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œcsc”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ :func:`csc`”h~jdhnj€ho]”j()”}”(h}”(h ]”h ]”(j›j‘Œsc-func”eh ]”h]”h]”uh}j”h~j†hnj'ho]”hŒŒcsc()”…””}”(h}h-h~j–ubaubah‘K¢h’hubhŒŒ3 will be 2Ï€-periodic. The argument may be complex.”…””}”(h}Œ3 will be 2Ï€-periodic. The argument may be complex.”h~jdubeh‘K¢h’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒŒFor real arguments beyond approx. \|x\|>10\ :sup:`77`, SpeedCrunch no longer recognizes the periodicity of the function and issues an error.”h~j¨hnjho]”(hŒŒ(For real arguments beyond approx. |x|>10”…””}”(h}Œ,For real arguments beyond approx. \|x\|>10\ ”h~j©ubj4)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ :sup:`77`”h~j©hnj3ho]”hŒŒ77”…””}”(h}h-h~j¸ubaubhŒŒW, SpeedCrunch no longer recognizes the periodicity of the function and issues an error.”…””}”(h}ŒW, SpeedCrunch no longer recognizes the periodicity of the function and issues an error.”h~j©ubeh‘K¤h’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ2The argument of :func:`csc` must be dimensionless.”h~j¨hnjho]”(hŒŒThe argument of ”…””}”(h}ŒThe argument of ”h~jËubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œcsc”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ :func:`csc`”h~jËhnj€ho]”j()”}”(h}”(h ]”h ]”(j›jåŒsc-func”eh ]”h]”h]”uh}jèh~jÚhnj'ho]”hŒŒcsc()”…””}”(h}h-h~jêubaubah‘K¦h’hubhŒŒ must be dimensionless.”…””}”(h}Œ must be dimensionless.”h~jËubeh‘K¦h’hubeh‘K¨h’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œarccos() (function)”Œ sc.arccos”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~jãhnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈjhÉŒsc”h ]”h̉h ]”h]”uh}h-h~jãhnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jah ]”h]”jahÚ‰uh}Œ arccos(x)”h~j hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œarccos”h~jhnhÝho]”hŒŒarccos”…””}”(h}h-h~j ubah‘K´h’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx”h~jhnhího]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jh~j.hnhùho]”hŒŒx”…””}”(h}h-h~j8ubaubah‘K´h’hj j hhubeh‘K´h’hhhubj )”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j hnj ho]”(j)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒÉReturns the inverse cosine of ``x``, such that *cos(arccos(x)) = x*. The behavior of the function depends on both the angle unit setting (degrees or radians) and on whether complex numbers are enabled.”h~jEhnjho]”(hŒŒReturns the inverse cosine of ”…””}”(h}ŒReturns the inverse cosine of ”h~jNubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~jNhnj'ho]”hŒŒx”…””}”(h}h-h~j]ubaubhŒŒ , such that ”…””}”(h}Œ , such that ”h~jNubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*cos(arccos(x)) = x*”h~jNhnjÞho]”hŒŒcos(arccos(x)) = x”…””}”(h}h-h~jpubaubhŒŒ†. The behavior of the function depends on both the angle unit setting (degrees or radians) and on whether complex numbers are enabled.”…””}”(h}Œ†. The behavior of the function depends on both the angle unit setting (degrees or radians) and on whether complex numbers are enabled.”h~jNubeh‘K«h’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒÐIn *degrees* mode, :func:`arccos` takes a real argument from *[-1, 1]*, and the return value is in the range *[0, 180]*. Real arguments outside *[-1, 1]* and complex numbers are not allowed in *degrees* mode.”h~jEhnjho]”(hŒŒIn ”…””}”(h}ŒIn ”h~jƒubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *degrees*”h~jƒhnjÞho]”hŒŒdegrees”…””}”(h}h-h~j’ubaubhŒŒ mode, ”…””}”(h}Œ mode, ”h~jƒubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œarccos”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ:func:`arccos`”h~jƒhnj€ho]”j()”}”(h}”(h ]”h ]”(j›j°Œsc-func”eh ]”h]”h]”uh}j³h~j¥hnj'ho]”hŒŒarccos()”…””}”(h}h-h~jµubaubah‘K­h’hubhŒŒ takes a real argument from ”…””}”(h}Œ takes a real argument from ”h~jƒubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *[-1, 1]*”h~jƒhnjÞho]”hŒŒ[-1, 1]”…””}”(h}h-h~jÈubaubhŒŒ', and the return value is in the range ”…””}”(h}Œ', and the return value is in the range ”h~jƒubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *[0, 180]*”h~jƒhnjÞho]”hŒŒ[0, 180]”…””}”(h}h-h~jÛubaubhŒŒ. Real arguments outside ”…””}”(h}Œ. Real arguments outside ”h~jƒubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *[-1, 1]*”h~jƒhnjÞho]”hŒŒ[-1, 1]”…””}”(h}h-h~jîubaubhŒŒ( and complex numbers are not allowed in ”…””}”(h}Œ( and complex numbers are not allowed in ”h~jƒubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *degrees*”h~jƒhnjÞho]”hŒŒdegrees”…””}”(h}h-h~jubaubhŒŒ mode.”…””}”(h}Œ mode.”h~jƒubeh‘K­h’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}X>When *radians* are set as the angle unit, :func:`arccos` maps an element from *[-1, 1]* to a value in *[0, Ï€]*. When complex numbers are enabled in addition, :func:`arccos` may take any argument from the complex plane. In complex mode, *arccos(-1) = Ï€* and *arccos(1) = 0* will yield the same result as in real mode.”h~jEhnjho]”(hŒŒWhen ”…””}”(h}ŒWhen ”h~jubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *radians*”h~jhnjÞho]”hŒŒradians”…””}”(h}h-h~j#ubaubhŒŒ are set as the angle unit, ”…””}”(h}Œ are set as the angle unit, ”h~jubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œarccos”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ:func:`arccos`”h~jhnj€ho]”j()”}”(h}”(h ]”h ]”(j›jAŒsc-func”eh ]”h]”h]”uh}jDh~j6hnj'ho]”hŒŒarccos()”…””}”(h}h-h~jFubaubah‘K¯h’hubhŒŒ maps an element from ”…””}”(h}Œ maps an element from ”h~jubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *[-1, 1]*”h~jhnjÞho]”hŒŒ[-1, 1]”…””}”(h}h-h~jYubaubhŒŒ to a value in ”…””}”(h}Œ to a value in ”h~jubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *[0, Ï€]*”h~jhnjÞho]”hŒŒ[0, Ï€]”…””}”(h}h-h~jlubaubhŒŒ0. When complex numbers are enabled in addition, ”…””}”(h}Œ0. When complex numbers are enabled in addition, ”h~jubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œarccos”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ:func:`arccos`”h~jhnj€ho]”j()”}”(h}”(h ]”h ]”(j›jŠŒsc-func”eh ]”h]”h]”uh}jh~jhnj'ho]”hŒŒarccos()”…””}”(h}h-h~jubaubah‘K¯h’hubhŒŒ@ may take any argument from the complex plane. In complex mode, ”…””}”(h}Œ@ may take any argument from the complex plane. In complex mode, ”h~jubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*arccos(-1) = Ï€*”h~jhnjÞho]”hŒŒarccos(-1) = Ï€”…””}”(h}h-h~j¢ubaubhŒŒ and ”…””}”(h}Œ and ”h~jubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*arccos(1) = 0*”h~jhnjÞho]”hŒŒ arccos(1) = 0”…””}”(h}h-h~jµubaubhŒŒ, will yield the same result as in real mode.”…””}”(h}Œ, will yield the same result as in real mode.”h~jubeh‘K¯h’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ5The argument of :func:`arccos` must be dimensionless.”h~jEhnjho]”(hŒŒThe argument of ”…””}”(h}ŒThe argument of ”h~jÈubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œarccos”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ:func:`arccos`”h~jÈhnj€ho]”j()”}”(h}”(h ]”h ]”(j›jâŒsc-func”eh ]”h]”h]”uh}jåh~j×hnj'ho]”hŒŒarccos()”…””}”(h}h-h~jçubaubah‘K±h’hubhŒŒ must be dimensionless.”…””}”(h}Œ must be dimensionless.”h~jÈubeh‘K±h’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ$The inverse function is :func:`cos`.”h~jEhnjho]”(hŒŒThe inverse function is ”…””}”(h}ŒThe inverse function is ”h~júubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œcos”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ :func:`cos`”h~júhnj€ho]”j()”}”(h}”(h ]”h ]”(j›jŒsc-func”eh ]”h]”h]”uh}jh~j hnj'ho]”hŒŒcos()”…””}”(h}h-h~jubaubah‘K³h’hubhŒŒ.”…””}”(h}j‰h~júubeh‘K³h’hubeh‘K´h’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œarcsin() (function)”Œ sc.arcsin”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~jãhnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈj<hÉŒsc”h ]”h̉h ]”h]”uh}h-h~jãhnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”j1ah ]”h]”j1ahÚ‰uh}Œ arcsin(x)”h~j9hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œarcsin”h~jDhnhÝho]”hŒŒarcsin”…””}”(h}h-h~jNubah‘KÁh’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx”h~jDhnhího]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jh~j\hnhùho]”hŒŒx”…””}”(h}h-h~jfubaubah‘KÁh’hj j hhubeh‘KÁh’hhhubj )”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j9hnj ho]”(j)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒÇReturns the inverse sine of ``x``, such that *sin(arcsin(x)) = x*. The behavior of the function depends on both the angle unit setting (degrees or radians) and on whether complex numbers are enabled.”h~jshnjho]”(hŒŒReturns the inverse sine of ”…””}”(h}ŒReturns the inverse sine of ”h~j|ubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~j|hnj'ho]”hŒŒx”…””}”(h}h-h~j‹ubaubhŒŒ , such that ”…””}”(h}Œ , such that ”h~j|ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*sin(arcsin(x)) = x*”h~j|hnjÞho]”hŒŒsin(arcsin(x)) = x”…””}”(h}h-h~jžubaubhŒŒ†. The behavior of the function depends on both the angle unit setting (degrees or radians) and on whether complex numbers are enabled.”…””}”(h}Œ†. The behavior of the function depends on both the angle unit setting (degrees or radians) and on whether complex numbers are enabled.”h~j|ubeh‘K·h’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒÑIn *degrees* mode, :func:`arcsin` takes a real argument from *[-1, 1]*, and the return value is in the range *[-90, 90]*. Real arguments outside *[-1, 1]* and complex numbers are not allowed in *degrees* mode.”h~jshnjho]”(hŒŒIn ”…””}”(h}ŒIn ”h~j±ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *degrees*”h~j±hnjÞho]”hŒŒdegrees”…””}”(h}h-h~jÀubaubhŒŒ mode, ”…””}”(h}Œ mode, ”h~j±ubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œarcsin”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ:func:`arcsin`”h~j±hnj€ho]”j()”}”(h}”(h ]”h ]”(j›jÞŒsc-func”eh ]”h]”h]”uh}jáh~jÓhnj'ho]”hŒŒarcsin()”…””}”(h}h-h~jãubaubah‘K¹h’hubhŒŒ takes a real argument from ”…””}”(h}Œ takes a real argument from ”h~j±ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *[-1, 1]*”h~j±hnjÞho]”hŒŒ[-1, 1]”…””}”(h}h-h~jöubaubhŒŒ', and the return value is in the range ”…””}”(h}Œ', and the return value is in the range ”h~j±ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *[-90, 90]*”h~j±hnjÞho]”hŒŒ [-90, 90]”…””}”(h}h-h~j ubaubhŒŒ. Real arguments outside ”…””}”(h}Œ. Real arguments outside ”h~j±ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *[-1, 1]*”h~j±hnjÞho]”hŒŒ[-1, 1]”…””}”(h}h-h~jubaubhŒŒ( and complex numbers are not allowed in ”…””}”(h}Œ( and complex numbers are not allowed in ”h~j±ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *degrees*”h~j±hnjÞho]”hŒŒdegrees”…””}”(h}h-h~j/ubaubhŒŒ mode.”…””}”(h}Œ mode.”h~j±ubeh‘K¹h’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}XIWhen *radians* are set as the angle unit, :func:`arcsin` maps an element from *[-1, 1]* to a value in *[-Ï€/2, Ï€/2]*. When complex numbers are enabled in addition, :func:`arcsin` may take any argument from the complex plane. In complex mode, *arcsin(-1) = Ï€/2* and *arcsin(1) = Ï€/2* will yield the same result as in real mode.”h~jshnjho]”(hŒŒWhen ”…””}”(h}ŒWhen ”h~jBubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *radians*”h~jBhnjÞho]”hŒŒradians”…””}”(h}h-h~jQubaubhŒŒ are set as the angle unit, ”…””}”(h}Œ are set as the angle unit, ”h~jBubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œarcsin”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ:func:`arcsin`”h~jBhnj€ho]”j()”}”(h}”(h ]”h ]”(j›joŒsc-func”eh ]”h]”h]”uh}jrh~jdhnj'ho]”hŒŒarcsin()”…””}”(h}h-h~jtubaubah‘K»h’hubhŒŒ maps an element from ”…””}”(h}Œ maps an element from ”• Óh~jBubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *[-1, 1]*”h~jBhnjÞho]”hŒŒ[-1, 1]”…””}”(h}h-h~j‡ubaubhŒŒ to a value in ”…””}”(h}Œ to a value in ”h~jBubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*[-Ï€/2, Ï€/2]*”h~jBhnjÞho]”hŒŒ [-Ï€/2, Ï€/2]”…””}”(h}h-h~jšubaubhŒŒ0. When complex numbers are enabled in addition, ”…””}”(h}Œ0. When complex numbers are enabled in addition, ”h~jBubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œarcsin”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ:func:`arcsin`”h~jBhnj€ho]”j()”}”(h}”(h ]”h ]”(j›j¸Œsc-func”eh ]”h]”h]”uh}j»h~j­hnj'ho]”hŒŒarcsin()”…””}”(h}h-h~j½ubaubah‘K»h’hubhŒŒ@ may take any argument from the complex plane. In complex mode, ”…””}”(h}Œ@ may take any argument from the complex plane. In complex mode, ”h~jBubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*arcsin(-1) = Ï€/2*”h~jBhnjÞho]”hŒŒarcsin(-1) = Ï€/2”…””}”(h}h-h~jÐubaubhŒŒ and ”…””}”(h}Œ and ”h~jBubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*arcsin(1) = Ï€/2*”h~jBhnjÞho]”hŒŒarcsin(1) = Ï€/2”…””}”(h}h-h~jãubaubhŒŒ, will yield the same result as in real mode.”…””}”(h}Œ, will yield the same result as in real mode.”h~jBubeh‘K»h’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ5The argument of :func:`arccos` must be dimensionless.”h~jshnjho]”(hŒŒThe argument of ”…””}”(h}ŒThe argument of ”h~jöubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œarccos”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ:func:`arccos`”h~jöhnj€ho]”j()”}”(h}”(h ]”h ]”(j›jŒsc-func”eh ]”h]”h]”uh}jh~jhnj'ho]”hŒŒarccos()”…””}”(h}h-h~jubaubah‘K½h’hubhŒŒ must be dimensionless.”…””}”(h}Œ must be dimensionless.”h~jöubeh‘K½h’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ$The inverse function is :func:`sin`.”h~jshnjho]”(hŒŒThe inverse function is ”…””}”(h}ŒThe inverse function is ”h~j(ubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œsin”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ :func:`sin`”h~j(hnj€ho]”j()”}”(h}”(h ]”h ]”(j›jBŒsc-func”eh ]”h]”h]”uh}jEh~j7hnj'ho]”hŒŒsin()”…””}”(h}h-h~jGubaubah‘K¿h’hubhŒŒ.”…””}”(h}j‰h~j(ubeh‘K¿h’hubeh‘KÁh’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œarctan() (function)”Œ sc.arctan”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~jãhnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈjjhÉŒsc”h ]”h̉h ]”h]”uh}h-h~jãhnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”j_ah ]”h]”j_ahÚ‰uh}Œ arctan(x)”h~jghnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œarctan”h~jrhnhÝho]”hŒŒarctan”…””}”(h}h-h~j|ubah‘KÍh’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx”h~jrhnhího]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jh~jŠhnhùho]”hŒŒx”…””}”(h}h-h~j”ubaubah‘KÍh’hj j hhubeh‘KÍh’hhhubj )”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jghnj ho]”(j)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒÊReturns the inverse tangent of ``x``, such that *tan(arctan(x)) = x*. The behavior of the function depends on both the angle unit setting (degrees or radians) and on whether complex numbers are enabled.”h~j¡hnjho]”(hŒŒReturns the inverse tangent of ”…””}”(h}ŒReturns the inverse tangent of ”h~jªubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~jªhnj'ho]”hŒŒx”…””}”(h}h-h~j¹ubaubhŒŒ , such that ”…””}”(h}Œ , such that ”h~jªubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*tan(arctan(x)) = x*”h~jªhnjÞho]”hŒŒtan(arctan(x)) = x”…””}”(h}h-h~jÌubaubhŒŒ†. The behavior of the function depends on both the angle unit setting (degrees or radians) and on whether complex numbers are enabled.”…””}”(h}Œ†. The behavior of the function depends on both the angle unit setting (degrees or radians) and on whether complex numbers are enabled.”h~jªubeh‘KÄh’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒŸIn *degrees* mode, :func:`arctan` takes a real argument, and the return value is in the range *[-90, 90]*. Complex arguments are not allowed in *degrees* mode.”h~j¡hnjho]”(hŒŒIn ”…””}”(h}ŒIn ”h~jßubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *degrees*”h~jßhnjÞho]”hŒŒdegrees”…””}”(h}h-h~jîubaubhŒŒ mode, ”…””}”(h}Œ mode, ”h~jßubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œarctan”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ:func:`arctan`”h~jßhnj€ho]”j()”}”(h}”(h ]”h ]”(j›j Œsc-func”eh ]”h]”h]”uh}jh~jhnj'ho]”hŒŒarctan()”…””}”(h}h-h~jubaubah‘KÆh’hubhŒŒ= takes a real argument, and the return value is in the range ”…””}”(h}Œ= takes a real argument, and the return value is in the range ”h~jßubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *[-90, 90]*”h~jßhnjÞho]”hŒŒ [-90, 90]”…””}”(h}h-h~j$ubaubhŒŒ'. Complex arguments are not allowed in ”…””}”(h}Œ'. Complex arguments are not allowed in ”h~jßubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *degrees*”h~jßhnjÞho]”hŒŒdegrees”…””}”(h}h-h~j7ubaubhŒŒ mode.”…””}”(h}Œ mode.”h~jßubeh‘KÆh’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒïWhen *radians* are set as the angle unit, :func:`arctan` maps a real number to a value in *[-Ï€/2, Ï€/2]*. When complex numbers are enabled in addition, :func:`arctan` may take any argument from the complex plane, except for *+j* and *-j*.”h~j¡hnjho]”(hŒŒWhen ”…””}”(h}ŒWhen ”h~jJubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *radians*”h~jJhnjÞho]”hŒŒradians”…””}”(h}h-h~jYubaubhŒŒ are set as the angle unit, ”…””}”(h}Œ are set as the angle unit, ”h~jJubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œarctan”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ:func:`arctan`”h~jJhnj€ho]”j()”}”(h}”(h ]”h ]”(j›jwŒsc-func”eh ]”h]”h]”uh}jzh~jlhnj'ho]”hŒŒarctan()”…””}”(h}h-h~j|ubaubah‘KÈh’hubhŒŒ" maps a real number to a value in ”…””}”(h}Œ" maps a real number to a value in ”h~jJubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*[-Ï€/2, Ï€/2]*”h~jJhnjÞho]”hŒŒ [-Ï€/2, Ï€/2]”…””}”(h}h-h~jubaubhŒŒ0. When complex numbers are enabled in addition, ”…””}”(h}Œ0. When complex numbers are enabled in addition, ”h~jJubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œarctan”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ:func:`arctan`”h~jJhnj€ho]”j()”}”(h}”(h ]”h ]”(j›j­Œsc-func”eh ]”h]”h]”uh}j°h~j¢hnj'ho]”hŒŒarctan()”…””}”(h}h-h~j²ubaubah‘KÈh’hubhŒŒ: may take any argument from the complex plane, except for ”…””}”(h}Œ: may take any argument from the complex plane, except for ”h~jJubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*+j*”h~jJhnjÞho]”hŒŒ+j”…””}”(h}h-h~jÅubaubhŒŒ and ”…””}”(h}Œ and ”h~jJubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*-j*”h~jJhnjÞho]”hŒŒ-j”…””}”(h}h-h~jØubaubhŒŒ.”…””}”(h}j‰h~jJubeh‘KÈh’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ5The argument of :func:`arctan` must be dimensionless.”h~j¡hnjho]”(hŒŒThe argument of ”…””}”(h}ŒThe argument of ”h~jêubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œarctan”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ:func:`arctan`”h~jêhnj€ho]”j()”}”(h}”(h ]”h ]”(j›jŒsc-func”eh ]”h]”h]”uh}jh~jùhnj'ho]”hŒŒarctan()”…””}”(h}h-h~j ubaubah‘KÊh’hubhŒŒ must be dimensionless.”…””}”(h}Œ must be dimensionless.”h~jêubeh‘KÊh’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ$The inverse function is :func:`tan`.”h~j¡hnjho]”(hŒŒThe inverse function is ”…””}”(h}ŒThe inverse function is ”h~jubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œtan”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ :func:`tan`”h~jhnj€ho]”j()”}”(h}”(h ]”h ]”(j›j6Œsc-func”eh ]”h]”h]”uh}j9h~j+hnj'ho]”hŒŒtan()”…””}”(h}h-h~j;ubaubah‘KÌh’hubhŒŒ.”…””}”(h}j‰h~jubeh‘KÌh’hubeh‘KÍh’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œarctan2() (function)”Œ sc.arctan2”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~jãhnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈj^hÉŒsc”h ]”h̉h ]”h]”uh}h-h~jãhnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jSah ]”h]”jSahÚ‰uh}Œ arctan2(x, y)”h~j[hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œarctan2”h~jfhnhÝho]”hŒŒarctan2”…””}”(h}h-h~jpubah‘KØh’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx, y”h~jfhnhího]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx, y”h~j~hnhùho]”hŒŒx, y”…””}”(h}h-h~jˆubaubah‘KØh’hj j hhubeh‘KØh’hhhubj )”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j[hnj ho]”(j)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒúReturns the angle formed by the vector *(x, y)* and the X axis. If the point *(x, y)* lies in the first quadrant (i.e. both *x > 0* and *y > 0* are true), it is given by *arctan(y/x)*. However, the function handles vectors in other quadrants as well.”h~j–hnjho]”(hŒŒ'Returns the angle formed by the vector ”…””}”(h}Œ'Returns the angle formed by the vector ”h~jŸubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*(x, y)*”h~jŸhnjÞho]”hŒŒ(x, y)”…””}”(h}h-h~j®ubaubhŒŒ and the X axis. If the point ”…””}”(h}Œ and the X axis. If the point ”h~jŸubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*(x, y)*”h~jŸhnjÞho]”hŒŒ(x, y)”…””}”(h}h-h~jÁubaubhŒŒ' lies in the first quadrant (i.e. both ”…””}”(h}Œ' lies in the first quadrant (i.e. both ”h~jŸubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*x > 0*”h~jŸhnjÞho]”hŒŒx > 0”…””}”(h}h-h~jÔubaubhŒŒ and ”…””}”(h}Œ and ”h~jŸubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*y > 0*”h~jŸhnjÞho]”hŒŒy > 0”…””}”(h}h-h~jçubaubhŒŒ are true), it is given by ”…””}”(h}Œ are true), it is given by ”h~jŸubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *arctan(y/x)*”h~jŸhnjÞho]”hŒŒ arctan(y/x)”…””}”(h}h-h~júubaubhŒŒC. However, the function handles vectors in other quadrants as well.”…””}”(h}ŒC. However, the function handles vectors in other quadrants as well.”h~jŸubeh‘KÐh’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒûThe behavior of the function depends on the angle unit setting (degrees or radians). In *degrees* mode, this function returns a value in the range *]-180, 180]*. When *radians* are set as the angle unit, the return value lies in the range *]-Ï€, Ï€]*.”h~j–hnjho]”(hŒŒXThe behavior of the function depends on the angle unit setting (degrees or radians). In ”…””}”(h}ŒXThe behavior of the function depends on the angle unit setting (degrees or radians). In ”h~j ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *degrees*”h~j hnjÞho]”hŒŒdegrees”…””}”(h}h-h~jubaubhŒŒ2 mode, this function returns a value in the range ”…””}”(h}Œ2 mode, this function returns a value in the range ”h~j ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *]-180, 180]*”h~j hnjÞho]”hŒŒ ]-180, 180]”…””}”(h}h-h~j/ubaubhŒŒ. When ”…””}”(h}Œ. When ”h~j ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *radians*”h~j hnjÞho]”hŒŒradians”…””}”(h}h-h~jBubaubhŒŒ? are set as the angle unit, the return value lies in the range ”…””}”(h}Œ? are set as the angle unit, the return value lies in the range ”h~j ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *]-Ï€, Ï€]*”h~j hnjÞho]”hŒŒ ]-Ï€, Ï€]”…””}”(h}h-h~jUubaubhŒŒ.”…””}”(h}j‰h~j ubeh‘KÒh’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ@Unlike :func:`arctan` this function only accepts real arguments.”h~j–hnjho]”(hŒŒUnlike ”…””}”(h}ŒUnlike ”h~jgubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œarctan”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ:func:`arctan`”h~jghnj€ho]”j()”}”(h}”(h ]”h ]”(j›jŒsc-func”eh ]”h]”h]”uh}j„h~jvhnj'ho]”hŒŒarctan()”…””}”(h}h-h~j†ubaubah‘KÔh’hubhŒŒ+ this function only accepts real arguments.”…””}”(h}Œ+ this function only accepts real arguments.”h~jgubeh‘KÔh’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ*The argument values must be dimensionless.”h~j–hnjho]”hŒŒ*The argument values must be dimensionless.”…””}”(h}j¡h~j™ubah‘KÖh’hubeh‘KØh’hhhubeh‘Nh’hhhubeh‘KEh’hhhubhr)”}”(h}”(h ]”Œhyperbolic-inverse-hyperbolic”ah ]”h ]”h]”Œhyperbolic & inverse hyperbolic”ah]”uh}h-h~hshnhqho]”(h€)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}ŒHyperbolic & Inverse Hyperbolic”h~j§hnh@ho]”hŒŒHyperbolic & Inverse Hyperbolic”…””}”(h}jºh~j²ubah‘KÚh’hhhubh®)”}”(h}”(Œentries”]”(h´Œsinh() (function)”Œsc.sinh”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~j§hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈjÑhÉŒsc”h ]”h̉h ]”h]”uh}h-h~j§hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jÆah ]”h]”jÆahÚ‰uh}Œsinh(x)”h~jÎhnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œsinh”h~jÙhnhÝho]”hŒŒsinh”…””}”(h}h-h~jãubah‘Käh’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx”h~jÙhnhího]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jh~jñhnhùho]”hŒŒx”…””}”(h}h-h~jûubaubah‘Käh’hj j hhubeh‘Käh’hhhubj )”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jÎhnj ho]”(j)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒgReturn the hyperbolic sine of ``x``. In *complex mode*, any complex number may be used as the argument.”h~jhnjho]”(hŒŒReturn the hyperbolic sine of ”…””}”(h}ŒReturn the hyperbolic sine of ”h~jubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~jhnj'ho]”hŒŒx”…””}”(h}h-h~j ubaubhŒŒ. In ”…””}”(h}Œ. In ”h~jubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*complex mode*”h~jhnjÞho]”hŒŒ complex mode”…””}”(h}h-h~j3ubaubhŒŒ1, any complex number may be used as the argument.”…””}”(h}Œ1, any complex number may be used as the argument.”h~jubeh‘KÞh’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ#The argument must be dimensionless.”h~jhnjho]”hŒŒ#The argument must be dimensionless.”…””}”(h}jNh~jFubah‘Kàh’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ'The inverse function is :func:`arsinh`.”h~jhnjho]”(hŒŒThe inverse function is ”…””}”(h}ŒThe inverse function is ”h~jTubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œarsinh”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ:func:`arsinh`”h~jThnj€ho]”j()”}”(h}”(h ]”h ]”(j›jnŒsc-func”eh ]”h]”h]”uh}jqh~jchnj'ho]”hŒŒarsinh()”…””}”(h}h-h~jsubaubah‘Kâh’hubhŒŒ.”…””}”(h}j‰h~jTubeh‘Kâh’hubeh‘Käh’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œcosh() (function)”Œsc.cosh”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~j§hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈj–hÉŒsc”h ]”h̉h ]”h]”uh}h-h~j§hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”j‹ah ]”h]”j‹ahÚ‰uh}Œcosh(x)”h~j“hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œcosh”h~jžhnhÝho]”hŒŒcosh”…””}”(h}h-h~j¨ubah‘Kíh’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx”h~jžhnhího]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jh~j¶hnhùho]”hŒŒx”…””}”(h}h-h~jÀubaubah‘Kíh’hj j hhubeh‘Kíh’hhhubj )”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j“hnj ho]”(j)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒiReturn the hyperbolic cosine of ``x``. In *complex mode*, any complex number may be used as the argument.”h~jÍhnjho]”(hŒŒ Return the hyperbolic cosine of ”…””}”(h}Œ Return the hyperbolic cosine of ”h~jÖubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~jÖhnj'ho]”hŒŒx”…””}”(h}h-h~jåubaubhŒŒ. In ”…””}”(h}Œ. In ”h~jÖubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*complex mode*”h~jÖhnjÞho]”hŒŒ complex mode”…””}”(h}h-h~jøubaubhŒŒ1, any complex number may be used as the argument.”…””}”(h}Œ1, any complex number may be used as the argument.”h~jÖubeh‘Kçh’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ#The argument must be dimensionless.”h~jÍhnjho]”hŒŒ#The argument must be dimensionless.”…””}”(h}jh~j ubah‘Kéh’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ'The inverse function is :func:`arcosh`.”h~jÍhnjho]”(hŒŒThe inverse function is ”…””}”(h}ŒThe inverse function is ”h~jubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œarcosh”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ:func:`arcosh`”h~jhnj€ho]”j()”}”(h}”(h ]”h ]”(j›j3Œsc-func”eh ]”h]”h]”uh}j6h~j(hnj'ho]”hŒŒarcosh()”…””}”(h}h-h~j8ubaubah‘Këh’hubhŒŒ.”…””}”(h}j‰h~jubeh‘Këh’hubeh‘Kíh’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œtanh() (function)”Œsc.tanh”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~j§hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈj[hÉŒsc”h ]”h̉h ]”h]”uh}h-h~j§hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jPah ]”h]”jPahÚ‰uh}Œtanh(x)”h~jXhnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œtanh”h~jchnhÝho]”hŒŒtanh”…””}”(h}h-h~jmubah‘Köh’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx”h~jchnhího]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jh~j{hnhùho]”hŒŒx”…””}”(h}h-h~j…ubaubah‘Köh’hj j hhubeh‘Köh’hhhubj )”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jXhnj ho]”(j)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒjReturn the hyperbolic tangent of ``x``. In *complex mode*, any complex number may be used as the argument.”h~j’hnjho]”(hŒŒ!Return the hyperbolic tangent of ”…””}”(h}Œ!Return the hyperbolic tangent of ”h~j›ubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~j›hnj'ho]”hŒŒx”…””}”(h}h-h~jªubaubhŒŒ. In ”…””}”(h}Œ. In ”h~j›ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*complex mode*”h~j›hnjÞho]”hŒŒ complex mode”…””}”(h}h-h~j½ubaubhŒŒ1, any complex number may be used as the argument.”…””}”(h}Œ1, any complex number may be used as the argument.”h~j›ubeh‘Kðh’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ#The argument must be dimensionless.”h~j’hnjho]”hŒŒ#The argument must be dimensionless.”…””}”(h}jØh~jÐubah‘Kòh’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ'The inverse function is :func:`artanh`.”h~j’hnjho]”(hŒŒThe inverse function is ”…””}”(h}ŒThe inverse function is ”h~jÞubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œartanh”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ:func:`artanh`”h~jÞhnj€ho]”j()”}”(h}”(h ]”h ]”(j›jøŒsc-func”eh ]”h]”h]”uh}jûh~jíhnj'ho]”hŒŒartanh()”…””}”(h}h-h~jýubaubah‘Kôh’hubhŒŒ.”…””}”(h}j‰h~jÞubeh‘Kôh’hubeh‘Köh’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œarsinh() (function)”Œ sc.arsinh”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~j§hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈj hÉŒsc”h ]”h̉h ]”h]”uh}h-h~j§hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jah ]”h]”jahÚ‰uh}Œ arsinh(x)”h~jhnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œarsinh”h~j(hnhÝho]”hŒŒarsinh”…””}”(h}h-h~j2ubah‘Kÿh’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx”h~j(hnhího]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jh~j@hnhùho]”hŒŒx”…””}”(h}h-h~jJubaubah‘Kÿh’hj j hhubeh‘Kÿh’hhhubj )”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jhnj ho]”(j)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒƒCompute the area hyperbolic sine of ``x``, the inverse function to :func:`sinh`. *arsinh(x)* is the only solution to *cosh(y) = x*.”h~jWhnjho]”(hŒŒ$Compute the area hyperbolic sine of ”…””}”(h}Œ$Compute the area hyperbolic sine of ”h~j`ubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~j`hnj'ho]”hŒŒx”…””}”(h}h-h~joubaubhŒŒ, the inverse function to ”…””}”(h}Œ, the inverse function to ”h~j`ubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œsinh”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ :func:`sinh`”h~j`hnj€ho]”j()”}”(h}”(h ]”h ]”(j›jŒsc-func”eh ]”h]”h]”uh}jh~j‚hnj'ho]”hŒŒsinh()”…””}”(h}h-h~j’ubaubah‘Kùh’hubhŒŒ. ”…””}”(h}Œ. ”h~j`ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *arsinh(x)*”h~j`hnjÞho]”hŒŒ arsinh(x)”…””}”(h}h-h~j¥ubaubhŒŒ is the only solution to ”…””}”(h}Œ is the only solution to ”h~j`ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *cosh(y) = x*”h~j`hnjÞho]”hŒŒ cosh(y) = x”…””}”(h}h-h~j¸ubaubhŒŒ.”…””}”(h}j‰h~j`ubeh‘Kùh’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒxIn complex mode, the function is defined for any complex ``z`` as *arsinh(z) = ln[z + (z* :sup:`2` *+1)* :sup:`1/2` *]*.”h~jWhnjho]”(hŒŒ9In complex mode, the function is defined for any complex ”…””}”(h}Œ9In complex mode, the function is defined for any complex ”h~jÊubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``z``”h~jÊhnj'ho]”hŒŒz”…””}”(h}h-h~jÙubaubhŒŒ as ”…””}”(h}Œ as ”h~jÊubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*arsinh(z) = ln[z + (z*”h~jÊhnjÞho]”hŒŒarsinh(z) = ln[z + (z”…””}”(h}h-h~jìubaubhŒŒ ”…””}”(h}Œ ”h~jÊubj4)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ:sup:`2`”h~jÊhnj3ho]”hŒŒ2”…””}”(h}h-h~jÿubaubhŒŒ ”…””}”(h}jþh~jÊubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*+1)*”h~jÊhnjÞho]”hŒŒ+1)”…””}”(h}h-h~jubaubhŒŒ ”…””}”(h}jþh~jÊubj4)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ :sup:`1/2`”h~jÊhnj3ho]”hŒŒ1/2”…””}”(h}h-h~j#ubaubhŒŒ ”…””}”(h}jþh~jÊubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*]*”h~jÊhnjÞho]”hŒŒ]”…””}”(h}h-h~j5ubaubhŒŒ.”…””}”(h}j‰h~jÊubeh‘Kûh’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ2The function only accepts dimensionless arguments.”h~jWhnjho]”hŒŒ2The function only accepts dimensionless arguments.”…””}”(h}jOh~jGubah‘Kýh’hubeh‘Kÿh’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œarcosh() (function)”Œ sc.arcosh”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~j§hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈjfhÉŒsc”h ]”h̉h ]”h]”uh}h-h~j§hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”j[ah ]”h]”j[ahÚ‰uh}Œ arcosh(x)”h~jchnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œarcosh”h~jnhnhÝho]”hŒŒarcosh”…””}”(h}h-h~jxubah‘Mh’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx”h~jnhnhího]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jh~j†hnhùho]”hŒŒx”…””}”(h}h-h~jubaubah‘Mh’hj j hhubeh‘Mh’hhhubj )”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jchnj ho]”(j)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒßCompute the area hyperbolic cosine of ``x``, the inverse function to :func:`cosh`. *arcosh(x)* is the positive solution to *cosh(y) = x*. Except for *x=1*, the second solution to this equation will be given by *-arcosh(x)*.”h~jhnjho]”(hŒŒ&Compute the area hyperbolic cosine of ”…””}”(h}Œ&Compute the area hyperbolic cosine of ”h~j¦ubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~j¦hnj'ho]”hŒŒx”…””}”(h}h-h~jµubaubhŒŒ, the inverse function to ”…””}”(h}Œ, the inverse function to ”h~j¦ubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œcosh”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ :func:`cosh`”h~j¦hnj€ho]”j()”}”(h}”(h ]”h ]”(j›jÓŒsc-func”eh ]”h]”h]”uh}jÖh~jÈhnj'ho]”hŒŒcosh()”…””}”(h}h-h~jØubaubah‘Mh’hubhŒŒ. ”…””}”(h}Œ. ”h~j¦ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *arcosh(x)*”h~j¦hnjÞho]”hŒŒ arcosh(x)”…””}”(h}h-h~jëubaubhŒŒ is the positive solution to ”…””}”(h}Œ is the positive solution to ”h~j¦ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *cosh(y) = x*”h~j¦hnjÞho]”hŒŒ cosh(y) = x”…””}”(h}h-h~jþubaubhŒŒ . Except for ”…””}”(h}Œ . Except for ”h~j¦ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*x=1*”h~j¦hnjÞho]”hŒŒx=1”…””}”(h}h-h~jubaubhŒŒ8, the second solution to this equation will be given by ”…””}”(h}Œ8, the second solution to this equation will be given by ”h~j¦ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *-arcosh(x)*”h~j¦hnjÞho]”hŒŒ -arcosh(x)”…””}”(h}h-h~j$ubaubhŒŒ.”…””}”(h}j‰h~j¦ubeh‘Mh’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ§In real mode, the parameter ``x`` must be *> 1*. In complex mode, the function is defined for any complex ``z`` as *arcosh(z) = ln[z + (z* :sup:`2` *-1)* :sup:`2` *]*.”h~jhnjho]”(hŒŒIn real mode, the parameter ”…””}”(h}ŒIn real mode, the parameter ”h~j6ubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~j6hnj'ho]”hŒŒx”…””}”(h}h-h~jEubaubhŒŒ must be ”…””}”(h}Œ must be ”h~j6ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*> 1*”h~j6hnjÞho]”hŒŒ> 1”…””}”(h}h-h~jXubaubhŒŒ;. In complex mode, the function is defined for any complex ”…””}”(h}Œ;. In complex mode, the function is defined for any complex ”h~j6ubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``z``”h~j6hnj'ho]”hŒŒz”…””}”(h}h-h~jkubaubhŒŒ as ”…””}”(h}Œ as ”h~j6ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*arcosh(z) = ln[z + (z*”h~j6hnjÞho]”hŒŒarcosh(z) = ln[z + (z”…””}”(h}h-h~j~ubaubhŒŒ ”…””}”(h}jþh~j6ubj4)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ:sup:`2`”h~j6hnj3ho]”hŒŒ2”…””}”(h}h-h~jubaubhŒŒ ”…””}”(h}jþh~j6ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*-1)*”h~j6hnjÞho]”hŒŒ-1)”…””}”(h}h-h~j¢ubaubhŒŒ ”…””}”(h}jþh~j6ubj4)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ:sup:`2`”h~j6hnj3ho]”hŒŒ2”…””}”(h}h-h~j´ubaubhŒŒ ”…””}”(h}jþh~j6ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*]*”h~j6hnjÞho]”hŒŒ]”…””}”(h}h-h~jÆubaubhŒŒ.”…””}”(h}j‰h~j6ubeh‘Mh’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ2The function only accepts dimensionless arguments.”h~jhnjho]”hŒŒ2The function only accepts dimensionless arguments.”…””}”(h}jàh~jØubah‘Mh’hubeh‘Mh’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œartanh() (function)”Œ sc.artanh”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~j§hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈj÷hÉŒsc”h ]”h̉h ]”h]”uh}h-h~j§hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jìah ]”h]”jìahÚ‰uh}Œ artanh(x)”h~jôhnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œartanh”h~jÿhnhÝho]”hŒŒartanh”…””}”(h}h-h~j ubah‘Mh’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx”h~jÿhnhího]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jh~j hnhùho]”hŒŒx”…””}”(h}h-h~j! ubaubah‘Mh’hj j hhubeh‘Mh’hhhubj )”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jôhnj ho]”(j)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒÅCompute the area hyperbolic tangent of ``x``, the inverse function to :func:`tanh`. *artanh(x)* is the only solution to *tanh(y) = x*. In real mode, the parameter ``x`` has to fulfill *-1 < x < 1*.”h~j. hnjho]”(hŒŒ'Compute the area hyperbolic tangent of ”…””}”(h}Œ'Compute the area hyperbolic tangent of ”h~j7 ubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~j7 hnj'ho]”hŒŒx”…””}”(h}h-h~jF ubaubhŒŒ, the inverse function to ”…””}”(h}Œ, the inverse function to ”h~j7 ubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œtanh”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ :func:`tanh`”h~j7 hnj€ho]”j()”}”(h}”(h ]”h ]”(j›jd Œsc-func”eh ]”h]”h]”uh}jg h~jY hnj'ho]”hŒŒtanh()”…””}”(h}h-h~ji ubaubah‘M h’hubhŒŒ. ”…””}”(h}Œ. ”h~j7 ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *artanh(x)*”h~j7 hnjÞho]”hŒŒ artanh(x)”…””}”(h}h-h~j| ubaubhŒŒ is the only solution to ”…””}”(h}Œ is the only solution to ”h~j7 ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *tanh(y) = x*”h~j7 hnjÞho]”hŒŒ tanh(y) = x”…””}”(h}h-h~j ubaubhŒŒ. In real mode, the parameter ”…””}”(h}Œ. In real mode, the parameter ”h~j7 ubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~j7 hnj'ho]”hŒŒx”…””}”(h}h-h~j¢ ubaubhŒŒ has to fulfill ”…””}”(h}Œ has to fulfill ”h~j7 ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *-1 < x < 1*”h~j7 hnjÞho]”hŒŒ -1 < x < 1”…””}”(h}h-h~jµ ubaubhŒŒ.”…””}”(h}j‰h~j7 ubeh‘M h’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ–In complex mode, this function accepts any argument except for -1 and +1. In the complex plane, it is defined as *artanh(z) = 1/2 \* ln[(z+1)/(z-1)]*.”h~j. hnjho]”(hŒŒqIn complex mode, this function accepts any argument except for -1 and +1. In the complex plane, it is defined as ”…””}”(h}ŒqIn complex mode, this function accepts any argument except for -1 and +1. In the complex plane, it is defined as ”h~jÇ ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ$*artanh(z) = 1/2 \* ln[(z+1)/(z-1)]*”h~jÇ hnjÞho]”hŒŒ!artanh(z) = 1/2 * ln[(z+1)/(z-1)]”…””}”(h}h-h~jÖ ubaubhŒŒ.”…””}”(h}j‰h~jÇ ubeh‘M h’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ2The function only accepts dimensionless arguments.”h~j. hnjho]”hŒŒ2The function only accepts dimensionless arguments.”…””}”(h}jð h~jè ubah‘Mh’hubeh‘Mh’hhhubeh‘Nh’hhhubeh‘KÚh’hhhubhr)”}”(h}”(h ]”Œspecial”ah ]”h ]”h]”Œspecial”ah]”uh}h-h~hshnhqho]”(h€)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}ŒSpecial”h~jö hnh@ho]”hŒŒSpecial”…””}”(h}j !h~j!ubah‘Mh’hhhubh®)”}”(h}”(Œentries”]”(h´Œerf() (function)”Œsc.erf”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~jö hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈj !hÉŒsc”h ]”h̉h ]”h]”uh}h-h~jö hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”j!ah ]”h]”j!ahÚ‰uh}Œerf(x)”h~j!hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œerf”h~j(!hnhÝho]”hŒŒerf”…””}”(h}h-h~j2!ubah‘Mh’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx”h~j(!hnhího]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jh~j@!hnhùho]”hŒŒx”…””}”(h}h-h~jJ!ubaubah‘Mh’hj j hhubeh‘Mh’hhhubj )”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j!hnj ho]”(j)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ‚Compute the error function, evaluated in ``x``. The error function is closely related to the Gaussian cumulative density function.”h~jW!hnjho]”(hŒŒ)Compute the error function, evaluated in ”…””}”(h}Œ)Compute the error function, evaluated in ”h~j`!ubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~j`!hnj'ho]”hŒŒx”…””}”(h}h-h~jo!ubaubhŒŒT. The error function is closely related to the Gaussian cumulative density function.”…””}”(h}ŒT. The error function is closely related to the Gaussian cumulative density function.”h~j`!ubeh‘Mh’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒtNote that currently only real arguments are allowed. Furthermore, the function only accepts dimensionless arguments.”h~jW!hnjho]”hŒŒtNote that currently only real arguments are allowed. Furthermore, the function only accepts dimensionless arguments.”…””}”(h}jŠ!h~j‚!ubah‘Mh’hubeh‘Mh’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œerfc() (function)”Œsc.erfc”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~jö hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈj¡!hÉŒsc”h ]”h̉h ]”h]”uh}h-h~jö hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”j–!ah ]”h]”j–!ahÚ‰uh}Œerfc(x)”h~jž!hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œerfc”h~j©!hnhÝho]”hŒŒerfc”…””}”(h}h-h~j³!ubah‘M h’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx”h~j©!hnhího]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jh~jÁ!hnhùho]”hŒŒx”…””}”(h}h-h~jË!ubaubah‘M h’hj j hhubeh‘M h’hhhubj )”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jž!hnj ho]”(j)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ†Compute the complementary error function, evaluated in ``x``. The complementary error function is defined by ``erfc(x) = 1 - erf(x)``.”h~jØ!hnjho]”(hŒŒ7Compute the complementary error function, evaluated in ”…””}”(h}Œ7Compute the complementary error function, evaluated in ”h~já!ubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~já!hnj'ho]”hŒŒx”…””}”(h}h-h~jð!ubaubhŒŒ1. The complementary error function is defined by ”…””}”(h}Œ1. The complementary error function is defined by ”h~já!ubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``erfc(x) = 1 - erf(x)``”h~já!hnj'ho]”hŒŒerfc(x) = 1 - erf(x)”…””}”(h}h-h~j"ubaubhŒŒ.”…””}”(h}j‰h~já!ubeh‘Mh’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒtNote that currently only real arguments are allowed. Furthermore, the function only accepts dimensionless arguments.”h~jØ!hnjho]”hŒŒtNote that currently only real arguments are allowed. Furthermore, the function only accepts dimensionless arguments.”…””}”(h}j"h~j"ubah‘Mh’hubeh‘M h’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œgamma() (function)”Œsc.gamma”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~jö hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈj4"hÉŒsc”h ]”h̉h ]”h]”uh}h-h~jö hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”j)"ah ]”h]”j)"ahÚ‰uh}Œgamma(x)”h~j1"hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œgamma”h~j<"hnhÝho]”hŒŒgamma”…””}”(h}h-h~jF"ubah‘M(h’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx”h~j<"hnhího]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jh~jT"hnhùho]”hŒŒx”…””}”(h}h-h~j^"ubaubah‘M(h’hj j hhubeh‘M(h’hhhubj )”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j1"hnj ho]”(j)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}XEvaluates the gamma function (frequently denoted by the Greek letter Γ). The gamma function is an analytic extension to the factorial operation which is defined on real numbers as well. The relation between factorial and the gamma function is given by *Γ(n) = (n - 1)!*.”h~jk"hnjho]”(hŒŒýEvaluates the gamma function (frequently denoted by the Greek letter Γ). The gamma function is an analytic extension to the factorial operation which is defined on real numbers as well. The relation between factorial and the gamma function is given by ”…””}”(h}ŒýEvaluates the gamma function (frequently denoted by the Greek letter Γ). The gamma function is an analytic extension to the factorial operation which is defined on real numbers as well. The relation between factorial and the gamma function is given by ”h~jt"ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*Γ(n) = (n - 1)!*”h~jt"hnjÞho]”hŒŒΓ(n) = (n - 1)!”…””}”(h}h-h~jƒ"ubaubhŒŒ.”…””}”(h}j‰h~jt"ubeh‘M#h’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒtNote that currently only real arguments are allowed. Furthermore, the function only accepts dimensionless arguments.”h~jk"hnjho]”hŒŒtNote that currently only real arguments are allowed. Furthermore, the function only accepts dimensionless arguments.”…””}”(h}j"h~j•"ubah‘M%h’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ£The computation of the factorial operation is in fact implemented via :func:`gamma`. This means that in SpeedCrunch, factorials of non-integer numbers are allowed.”h~jk"hnjho]”(hŒŒFThe computation of the factorial operation is in fact implemented via ”…””}”(h}ŒFThe computation of the factorial operation is in fact implemented via ”h~j£"ubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œgamma”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ :func:`gamma`”h~j£"hnj€ho]”j()”}”(h}”(h ]”h ]”(j›j½"Œsc-func”eh ]”h]”h]”uh}jÀ"h~j²"hnj'ho]”hŒŒgamma()”…””}”(h}h-h~jÂ"ubaubah‘M'h’hubhŒŒP. This means that in SpeedCrunch, factorials of non-integer numbers are allowed.”…””}”(h}ŒP. This means that in SpeedCrunch, factorials of non-integer numbers are allowed.”h~j£"ubeh‘M'h’hubeh‘M(h’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œlngamma() (function)”Œ sc.lngamma”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~jö hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈjæ"hÉŒsc”h ]”h̉h ]”h]”uh}h-h~jö hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jÛ"ah ]”h]”jÛ"ahÚ‰uh}Œ lngamma(x)”h~jã"hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œlngamma”h~jî"hnhÝho]”hŒŒlngamma”…””}”(h}h-h~jø"ubah‘M/h’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx”h~jî"hnhího]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jh~j#hnhùho]”hŒŒx”…””}”(h}h-h~j#ubaubah‘M/h’hj j hhubeh‘M/h’hhhubj )”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jã"hnj ho]”(j)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒãComputes ``ln(abs(gamma(x)))``. As the gamma function grows extremely quickly, it is sometimes easier to work with its logarithm instead. :func:`lngamma` allows much larger arguments that would otherwise overflow :func:`gamma`.”h~j#hnjho]”(hŒŒ Computes ”…””}”(h}Œ Computes ”h~j&#ubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``ln(abs(gamma(x)))``”h~j&#hnj'ho]”hŒŒln(abs(gamma(x)))”…””}”(h}h-h~j5#ubaubhŒŒl. As the gamma function grows extremely quickly, it is sometimes easier to work with its logarithm instead. ”…””}”(h}Œl. As the gamma function grows extremely quickly, it is sometimes easier to work with its logarithm instead. ”h~j&#ubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œlngamma”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ:func:`lngamma`”h~j&#hnj€ho]”j()”}”(h}”(h ]”h ]”(j›jS#Œsc-func”eh ]”h]”h]”uh}jV#h~jH#hnj'ho]”hŒŒ lngamma()”…””}”(h}h-h~jX#ubaubah‘M+h’hubhŒŒ< allows much larger arguments that would otherwise overflow ”…””}”(h}Œ< allows much larger arguments that would otherwise overflow ”h~j&#ubj)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œgamma”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ :func:`gamma`”h~j&#hnj€ho]”j()”}”(h}”(h ]”h ]”(j›jv#Œsc-func”eh ]”h]”h]”uh}jy#h~jk#hnj'ho]”hŒŒgamma()”…””}”(h}h-h~j{#ubaubah‘M+h’hubhŒŒ.”…””}”(h}j‰h~j&#ubeh‘M+h’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒtNote that currently only real arguments are allowed. Furthermore, the function only accepts dimensionless arguments.”h~j#hnjho]”hŒŒtNote that currently only real arguments are allowed. Furthermore, the function only accepts dimensionless arguments.”…””}”(h}j•#h~j#ubah‘M-h’hubeh‘M/h’hhhubeh‘Nh’hhhubeh‘Mh’hhhubhr)”}”(h}”(h ]”Œcomplex-numbers”ah ]”h ]”h]”Œcomplex numbers”ah]”uh}h-h~hshnhqho]”(h€)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}ŒComplex Numbers”h~j›#hnh@ho]”hŒŒComplex Numbers”…””}”(h}j®#h~j¦#ubah‘M1h’hhhubh®)”}”(h}”(Œentries”]”(h´Œreal() (function)”Œsc.real”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~j›#hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈjÅ#hÉŒsc”h ]”h̉h ]”h]”uh}h-h~j›#hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jº#ah ]”h]”jº#ahÚ‰uh}Œreal(x)”h~jÂ#hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œreal”h~jÍ#hnhÝho]”hŒŒreal”…””}”(h}h-h~j×#ubah‘M8h’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx”h~jÍ#hnhího]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jh~jå#hnhùho]”hŒŒx”…””}”(h}h-h~jï#ubaubah‘M8h’hj j hhubeh‘M8h’hhhubj )”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jÂ#hnj ho]”(j)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ/Return the real part of a complex number ``x``.”h~jü#hnjho]”(hŒŒ)Return the real part of a complex number ”…””}”(h}Œ)Return the real part of a complex number ”h~j$ubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~j$hnj'ho]”hŒŒx”…””}”(h}h-h~j$ubaubhŒŒ.”…””}”(h}j‰h~j$ubeh‘M5h’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ"The argument may have a dimension.”h~jü#hnjho]”hŒŒ"The argument may have a dimension.”…””}”(h}j.$h~j&$ubah‘M7h’hubeh‘M8h’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œimag() (function)”Œsc.imag”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~j›#hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈjE$hÉŒsc”h ]”h̉h ]”h]”uh}h-h~j›#hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”j:$ah ]”h]”j:$ahÚ‰uh}Œimag(x)”h~jB$hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œimag”h~jM$hnhÝho]”hŒŒimag”…””}”(h}h-h~jW$ubah‘M>h’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx”h~jM$hnhího]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jh~je$hnhùho]”hŒŒx”…””}”(h}h-h~jo$ubaubah‘M>h’hj j hhubeh‘M>h’hhhubj )”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jB$hnj ho]”(j)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ4Return the imaginary part of a complex number ``x``.”h~j|$hnjho]”(hŒŒ.Return the imaginary part of a complex number ”…””}”(h}Œ.Return the imaginary part of a complex number ”h~j…$ubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~j…$hnj'ho]”hŒŒx”…””}”(h}h-h~j”$ubaubhŒŒ.”…””}”(h}j‰h~j…$ubeh‘M;h’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ"The argument may have a dimension.”h~j|$hnjho]”hŒŒ"The argument may have a dimension.”…””}”(h}j®$h~j¦$ubah‘M=h’hubeh‘M>h’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œphase() (function)”Œsc.phase”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~j›#hnh­ho]”h‘Nh’NhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈjÅ$hÉŒsc”h ]”h̉h ]”h]”uh}h-h~j›#hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jº$ah ]”h]”jº$ahÚ‰uh}Œphase(x)”h~jÂ$hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œphase”h~jÍ$hnhÝho]”hŒŒphase”…””}”(h}h-h~j×$ubah‘MGh’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx”h~jÍ$hnhího]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jh~jå$hnhùho]”hŒŒx”…””}”(h}h-h~jï$ubaubah‘MGh’hj j hhubeh‘MGh’hhhubj )”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jÂ$hnj ho]”(j)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒqReturns the phase (angle) of a complex number ``x``. The unit of the angle corresponds to the current angle mode.”h~jü$hnjho]”(hŒŒ.Returns the phase (angle) of a complex number ”…””}”(h}Œ.Returns the phase (angle) of a complex number ”h~j%ubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~j%hnj'ho]”hŒŒx”…””}”(h}h-h~j%ubaubhŒŒ>. The unit of the angle corresponds to the current angle mode.”…””}”(h}Œ>. The unit of the angle corresponds to the current angle mode.”h~j%ubeh‘MAh’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ"The argument may have a dimension.”h~jü$hnjho]”hŒŒ"The argument may have a dimension.”…””}”(h}j/%h~j'%ubah‘MCh’hubj^)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ| :func:`abs` (absolute value)”h~jü$hnj]ho]”jj)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j5%hnjiho]”jt)”}”(jwKh}”(h ]”h ]”h ]”h]”h]”uh}Œ:func:`abs` (absolute value)”h~j?%hnh‘ho]”(j)”}”(h}”(j…j†h]”h ]”j‰‰Œ refexplicit”‰j‹Œabs”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ :func:`abs`”h~jH%hnj€ho]”j()”}”(h}”(h ]”h ]”(j›j]%Œsc-func”eh ]”h]”h]”uh}j`%h~jR%hnj'ho]”hŒŒabs()”…””}”(h}h-h~jb%ubaubah‘MFh’hubhŒŒ (absolute value)”…””}”(h}Œ (absolute value)”h~jH%ubeh‘Kh’hubaubah‘Nh’hhhubeh‘MGh’hhhubeh‘Nh’Nhhubh®)”}”(h}”(Œentries”]”(h´Œpolar() (function)”Œsc.polar”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~j›#hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈj†%hÉŒsc”h ]”h̉h ]”h]”uh}h-h~j›#hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”j{%ah ]”h]”j{%ahÚ‰uh}Œpolar(x)”h~jƒ%hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œpolar”h~jŽ%hnhÝho]”hŒŒpolar”…””}”(h}h-h~j˜%ubah‘MKh’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx”h~jŽ%hnhího]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jh~j¦%hnhùho]”hŒŒx”…””}”(h}h-h~j°%ubaubah‘MKh’hj j hhubeh‘MKh’hhhubj )”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jƒ%hnj ho]”j)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒyConverts the complex number ``x`` to polar form, i.e. the form *r e* :sup:`jɸ`. The angle ɸ is always given in radians.”h~j½%hnjho]”(hŒŒConverts the complex number ”…””}”(h}ŒConverts the complex number ”h~jÆ%ubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~jÆ%hnj'ho]”hŒŒx”…””}”(h}h-h~jÕ%ubaubhŒŒ to polar form, i.e. the form ”…””}”(h}Œ to polar form, i.e. the form ”h~jÆ%ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*r e*”h~jÆ%hnjÞho]”hŒŒr e”…””}”(h}h-h~jè%ubaubhŒŒ ”…””}”(h}jþh~jÆ%ubj4)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ :sup:`jɸ`”h~jÆ%hnj3ho]”hŒŒjɸ”…””}”(h}h-h~jú%ubaubhŒŒ*. The angle ɸ is always given in radians.”…””}”(h}Œ*. The angle ɸ is always given in radians.”h~jÆ%ubeh‘MJh’hubah‘MKh’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œcart() (function)”Œsc.cart”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~j›#hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈj&hÉŒsc”h ]”h̉h ]”h]”uh}h-h~j›#hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”j&ah ]”h]”j&ahÚ‰uh}Œcart(x)”h~j&hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œcart”h~j&&hnhÝho]”hŒŒcart”…””}”(h}h-h~j0&ubah‘MPh’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx”h~j&&hnhího]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jh~j>&hnhùho]”hŒŒx”…””}”(h}h-h~jH&ubaubah‘MPh’hj j hhubeh‘MPh’hhhubj )”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j&hnj ho]”j)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒMConverts the complex number ``x`` to cartesian form, i.e. the form *a + j b*.”h~jU&hnjho]”(hŒŒConverts the complex number ”…””}”(h}ŒConverts the complex number ”h~j^&ubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~j^&hnj'ho]”hŒŒx”…””}”(h}h-h~jm&ubaubhŒŒ" to cartesian form, i.e. the form ”…””}”(h}Œ" to cartesian form, i.e. the form ”h~j^&ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *a + j b*”h~j^&hnjÞho]”hŒŒa + j b”…””}”(h}h-h~j€&ubaubhŒŒ.”…””}”(h}j‰h~j^&ubeh‘MNh’hubah‘MPh’hhhubeh‘Nh’hhhubeh‘M1h’hhhubhr)”}”(h}”(h ]”Œvarious”ah ]”h ]”h]”Œvarious”ah]”uh}h-h~hshnhqho]”(h€)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}ŒVarious”h~j’&hnh@ho]”hŒŒVarious”…””}”(h}j¥&h~j&ubah‘MRh’hhhubh®)”}”(h}”(Œentries”]”(h´Œsgn() (function)”Œsc.sgn”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~j’&hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈj¼&hÉŒsc”h ]”h̉h ]”h]”uh}h-h~j’&hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”j±&ah ]”h]”j±&ahÚ‰uh}Œsgn(x)”h~j¹&hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œsgn”h~jÄ&hnhÝho]”hŒŒsgn”…””}”(h}h-h~jÎ&ubah‘MWh’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx”h~jÄ&hnhího]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jh~jÜ&hnhùho]”hŒŒx”…””}”(h}h-h~jæ&ubaubah‘MWh’hj j hhubeh‘MWh’hhhubj )”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j¹&hnj ho]”j)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ0For *x >= 0*, return +1. For *x < 0*, return -1.”h~jó&hnjho]”(hŒŒFor ”…””}”(h}ŒFor ”h~jü&ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*x >= 0*”h~jü&hnjÞho]”hŒŒx >= 0”…””}”(h}h-h~j 'ubaubhŒŒ, return +1. For ”…””}”(h}Œ, return +1. For ”h~jü&ubjß)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*x < 0*”h~jü&hnjÞho]”hŒŒx < 0”…””}”(h}h-h~j'ubaubhŒŒ , return -1.”…””}”(h}Œ , return -1.”h~jü&ubeh‘MVh’hubah‘MWh’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œradians() (function)”Œ sc.radians”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~j’&hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈjB'hÉŒsc”h ]”h̉h ]”h]”uh}h-h~j’&hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”j7'ah ]”h]”j7'ahÚ‰uh}Œ radians(x)”h~j?'hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œradians”h~jJ'hnhÝho]”hŒŒradians”…””}”(h}h-h~jT'ubah‘M]h’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx”h~jJ'hnhího]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jh~jb'hnhùho]”hŒŒx”…””}”(h}h-h~jl'ubaubah‘M]h’hj j hhubeh‘M]h’hhhubj )”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j?'hnj ho]”(j)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ Convert the angle ``x`` into radians. Independently of the angle unit setting, this function will assume that ``x`` is given in degrees and return ``pi*x/180``.”h~jy'hnjho]”(hŒŒConvert the angle ”…””}”(h}ŒConvert the angle ”h~j‚'ubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~j‚'hnj'ho]”hŒŒx”…””}”(h}h-h~j‘'ubaubhŒŒW into radians. Independently of the angle unit setting, this function will assume that ”…””}”(h}ŒW into radians. Independently of the angle unit setting, this function will assume that ”h~j‚'ubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~j‚'hnj'ho]”hŒŒx”…””}”(h}h-h~j¤'ubaubhŒŒ is given in degrees and return ”…””}”(h}Œ is given in degrees and return ”h~j‚'ubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ ``pi*x/180``”h~j‚'hnj'ho]”hŒŒpi*x/180”…””}”(h}h-h~j·'ubaubhŒŒ.”…””}”(h}j‰h~j‚'ubeh‘MZh’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ8The function only accepts real, dimensionless arguments.”h~jy'hnjho]”hŒŒ8The function only accepts real, dimensionless arguments.”…””}”(h}jÑ'h~jÉ'ubah‘M\h’hubeh‘M]h’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œdegrees() (function)”Œ sc.degrees”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~j’&hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈjè'hÉŒsc”h ]”h̉h ]”h]”uh}h-h~j’&hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jÝ'ah ]”h]”jÝ'ahÚ‰uh}Œ degrees(x)”h~jå'hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œdegrees”h~jð'hnhÝho]”hŒŒdegrees”…””}”(h}h-h~jú'ubah‘Mch’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx”h~jð'hnhího]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jh~j(hnhùho]”hŒŒx”…””}”(h}h-h~j(ubaubah‘Mch’hj j hhubeh‘Mch’hhhubj )”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jå'hnj ho]”(j)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ Convert the angle ``x`` into degrees. Independently of the angle unit setting, this function will assume that ``x`` is given in radians and return ``180*x/pi``.”h~j(hnjho]”(hŒŒConvert the angle ”…””}”(h}ŒConvert the angle ”h~j((ubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~j((hnj'ho]”hŒŒx”…””}”(h}h-h~j7(ubaubhŒŒW into degrees. Independently of the angle unit setting, this function will assume that ”…””}”(h}ŒW into degrees. Independently of the angle unit setting, this function will assume that ”h~j((ubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~j((hnj'ho]”hŒŒx”…””}”(h}h-h~jJ(ubaubhŒŒ is given in radians and return ”…””}”(h}Œ is given in radians and return ”h~j((ubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ ``180*x/pi``”h~j((hnj'ho]”hŒŒ180*x/pi”…””}”(h}h-h~j](ubaubhŒŒ.”…””}”(h}j‰h~j((ubeh‘M`h’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ8The function only accepts real, dimensionless arguments.”h~j(hnjho]”hŒŒ8The function only accepts real, dimensionless arguments.”…””}”(h}jw(h~jo(ubah‘Mbh’hubeh‘Mch’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œint() (function)”Œsc.int”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~j’&hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈjŽ(hÉŒsc”h ]”h̉h ]”h]”uh}h-h~j’&hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jƒ(ah ]”h]”jƒ(ahÚ‰uh}Œint(x)”h~j‹(hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œint”h~j–(hnhÝho]”hŒŒint”…””}”(h}h-h~j (ubah‘Mih’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx”h~j–(hnhího]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jh~j®(hnhùho]”hŒŒx”…””}”(h}h-h~j¸(ubaubah‘Mih’hj j hhubeh‘Mih’hhhubj )”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j‹(hnj ho]”(j)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒHReturns the integer part of ``x``, effectively rounding it towards zero.”h~jÅ(hnjho]”(hŒŒReturns the integer part of ”…””}”(h}ŒReturns the integer part of ”h~jÎ(ubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~jÎ(hnj'ho]”hŒŒx”…””}”(h}h-h~jÝ(ubaubhŒŒ', effectively rounding it towards zero.”…””}”(h}Œ', effectively rounding it towards zero.”h~jÎ(ubeh‘Mfh’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ8The function only accepts real, dimensionless arguments.”h~jÅ(hnjho]”hŒŒ8The function only accepts real, dimensionless arguments.”…””}”(h}jø(h~jð(ubah‘Mhh’hubeh‘Mih’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œfrac() (function)”Œsc.frac”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~j’&hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈj)hÉŒsc”h ]”h̉h ]”h]”uh}h-h~j’&hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”j)ah ]”h]”j)ahÚ‰uh}Œfrac(x)”h~j )hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œfrac”h~j)hnhÝho]”hŒŒfrac”…””}”(h}h-h~j!)ubah‘Mnh’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx”h~j)hnhího]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jh~j/)hnhùho]”hŒŒx”…””}”(h}h-h~j9)ubaubah‘Mnh’hj j hhubeh‘Mnh’hhhubj )”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j )hnj ho]”(j)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒVReturns the fractional (non-integer) part of ``x``, given by ``frac(x) = x - int(x)``.”h~jF)hnjho]”(hŒŒ-Returns the fractional (non-integer) part of ”…””}”(h}Œ-Returns the fractional (non-integer) part of ”h~jO)ubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~jO)hnj'ho]”hŒŒx”…””}”(h}h-h~j^)ubaubhŒŒ , given by ”…””}”(h}Œ , given by ”h~jO)ubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``frac(x) = x - int(x)``”h~jO)hnj'ho]”hŒŒfrac(x) = x - int(x)”…””}”(h}h-h~jq)ubaubhŒŒ.”…””}”(h}j‰h~jO)ubeh‘Mlh’hubj)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ8The function only accepts real, dimensionless arguments.”h~jF)hnjho]”hŒŒ8The function only accepts real, dimensionless arguments.”…””}”(h}j‹)h~jƒ)ubah‘Mnh’hubeh‘Mnh’hhhubeh‘Nh’hhhubeh‘MRh’hhhubeh‘Kh’hhhubaŒ nametypes”}”(jº$ˆjfˆh›NjɈjì ˆjSˆjûˆh{NjqˆjÛ"ˆjþ Nj{%ˆjƒ(ˆj)ˆj` ˆj¯Nj1ˆj%ˆj[ˆj7'ˆj£#Nj)"ˆjˆj_ˆjÝ'ˆj‹ˆj ˆjˆj&ˆjìˆjˆjˆjëNjPˆjš&Njöˆh¶ˆjÞ ˆjº#ˆjìˆj±&ˆj–!ˆj!ˆj:$ˆjƈjˆuŒids”}”(jº$jÍ$jfjyh—h“jÉjÜjì jÿ jSjfjûjjqj„jÛ"jî"jçjãjú jö j{%jŽ%jƒ(j–(j)j)j` js j1jDj%j8j[jnj7'jJ'jÞ jñ j)"j<"jj£j«j§j_jrjÝ'jð'j‹jžj jjjj&j&&hwhsjÞjãjjjj(jPjcj–&j’&jöj h¶hÒjº#jÍ#jŸ#j›#jìjÿj±&jÄ&j–!j©!j!j(!j:$jM$jÆjÙjj-uŒtransform_messages”]”hŒsystem_message”“”)”}”(h}”(h]”h ]”Œlevel”KŒtype”ŒINFO”Œline”KBh ]”h ]”h]”Œsource”huh}h-hnj—)ho]”j)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j™)hnjho]”hŒŒ3Hyperlink target "trigonometric" is not referenced.”…””}”(h}h-h~j§)ubaubaubaŒcurrent_source”NŒsymbol_footnote_refs”]”Œindirect_targets”]”Œsubstitution_names”}”Œrefids”}”jÞ]”j×asŒ citation_refs”}”Œsymbol_footnote_start”KŒautofootnote_start”KhhŒid_start”Kh}h-Œ decoration”NŒ footnotes”]”Œ footnote_refs”}”Œ autofootnotes”]”Œnameids”}”(jº$jº$jfjfh›h—jÉjÉjì jì jSjSjûjûh{hwjqjqjÛ"jÛ"jþ jú j{%j{%jƒ(jƒ(j)j)j` j` j¯j«j1j1j%j%j[j[j7'j7'j£#jŸ#j)"j)"jjj_j_jÝ'jÝ'j‹j‹j j jjj&j&jìjÞjjjjjëjçjPjPjš&j–&jöjöh¶h¶jÞ jÞ jº#jº#jìjìj±&j±&j–!j–!j!j!j:$j:$jÆjÆjjuub.heldercorreia-speedcrunch-ea93b21f9498/doc/build_html_embedded/_doctrees/reference/constants.doctree000066400000000000000000000207631301713744000337400ustar00rootroot00000000000000€•è!Œdocutils.nodes”Œdocument”“”)”}”(Œ attributes”}”(Œbackrefs”]”Œclasses”]”Œids”]”Œdupnames”]”Œnames”]”Œsource”Œ”Œparent”hŒ paragraph”“”)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvX^An IEEE-754 binary float consists of three parts: a sign bit, the exponent and the significand (sometimes called the mantissa). From these parts, the value is then calculated using the following formula: ``-1 ^ sign * 2 ^ (exponent - bias) * 1.significand``. The standard defines multiple binary formats of different sizes that all follow these rules, but differ in the number of bits allocated for the exponent and significand. The bias for the default formats is defined as ``bias = (2 ^ (exponent_bits - 1)) - 1``. See `this article `_ for a more detailed introduction into the subject.”hxhŒsection”“”)”}”(h}”(h ]”Œieee-754-functions”ah ]”h ]”h]”Œieee-754 functions”ah]”uhvh-hxhŒtagname”h„Œchildren”]”(hh@“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒIEEE-754 Functions”hxh†hh@h‘]”hŒText”“”ŒIEEE-754 Functions”…””}”(hvhœhxh”ubaŒline”KŒsource”hhhubŒsphinx.addnodes”Œversionmodified”“”)”}”(h}”(h]”h ]”Œtype”Œ versionadded”Œversion”Œ0.12”h ]”h ]”h]”uhvŒNew in version 0.12.”hxh†hh§h‘]”hz)”}”(hhh}”(h]”h ]”h ]”Œ translatable”‰h ]”h]”uhvŒNew in version 0.12.”hxh©hhyh‘]”hŒinline”“”)”}”(h}”(h ]”h ]”h§ah ]”h]”h]”uhvŒNew in version 0.12.”hxh·hhÂh‘]”hŸŒNew in version 0.12.”…””}”(hvh-hxhÄubaubah¤Kh¥hubah¤Kh¥hhhubhz)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvX%IEEE-754 is a standard for the representation of and computations with floating point numbers in binary systems. It is widely used by floating point implementations in CPUs. These functions implement encoding and decoding binary representations of floating point numbers according to IEEE-754.”hxh†hhyh‘]”hŸX%IEEE-754 is a standard for the representation of and computations with floating point numbers in binary systems. It is widely used by floating point implementations in CPUs. These functions implement encoding and decoding binary representations of floating point numbers according to IEEE-754.”…””}”(hvhÚhxhÒubah¤Kh¥hubh{hh)”}”(h}”(h]”h ]”hnhoh ]”Œ float-article”ah ]”h]”Œ float_article”auhvŒ?.. _float_article: http://chrishecker.com/images/f/fb/Gdmfp.pdf”hxh†hhgh‘]”h¤Kh¥hŒ referenced”Khhubhz)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvŒ?The following binary float formats are defined by the standard:”hxh†hhyh‘]”hŸŒ?The following binary float formats are defined by the standard:”…””}”(hvhõhxhíubah¤Kh¥hubhŒtable”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxh†hhûh‘]”hŒtgroup”“”)”}”(h}”(h]”h ]”h ]”Œcols”Kh ]”h]”uhvh-hxhýhjh‘]”(hŒcolspec”“”)”}”(h}”(h]”h ]”Œcolwidth”K h ]”h ]”h]”uhvh-hxjhjh‘]”ubj)”}”(h}”(h]”h ]”Œcolwidth”Kh ]”h ]”h]”uhvh-hxjhjh‘]”ubj)”}”(h}”(h]”h ]”Œcolwidth”K h ]”h ]”h]”uhvh-hxjhjh‘]”ubj)”}”(h}”(h]”h ]”Œcolwidth”Kh ]”h ]”h]”uhvh-hxjhjh‘]”ubhŒthead”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjhj<h‘]”hŒrow”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj>hjGh‘]”(hh;“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjIhh;h‘]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒName”hxjShhyh‘]”hŸŒName”…””}”(hvjdhxj\ubah¤Kh¥hubaubjR)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjIhh;h‘]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ Also known as”hxjjhhyh‘]”hŸŒ Also known as”…””}”(hvj{hxjsubah¤Kh¥hubaubjR)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjIhh;h‘]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ Exponent bits”hxjhhyh‘]”hŸŒ Exponent bits”…””}”(hvj’hxjŠubah¤Kh¥hubaubjR)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjIhh;h‘]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒSignificand bits”hxj˜hhyh‘]”hŸŒSignificand bits”…””}”(hvj©hxj¡ubah¤Kh¥hubaubeubaubhŒtbody”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjhj¯h‘]”(jH)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj±hjGh‘]”(jR)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjºhh;h‘]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ ``binary16``”hxjÃhhyh‘]”hŒliteral”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvjÔhxjÌhjÖh‘]”hŸŒbinary16”…””}”(hvh-hxjØubaubah¤Kh¥hubaubjR)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjºhh;h‘]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒHalf precision”hxjåhhyh‘]”hŸŒHalf precision”…””}”(hvjöhxjîubah¤Kh¥hubaubjR)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjºhh;h‘]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ5”hxjühhyh‘]”hŸŒ5”…””}”(hvj hxjubah¤Kh¥hubaubjR)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjºhh;h‘]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ10”hxjhhyh‘]”hŸŒ10”…””}”(hvj$hxjubah¤Kh¥hubaubeubjH)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj±hjGh‘]”(jR)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj*hh;h‘]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ ``binary32``”hxj3hhyh‘]”j×)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvjDhxj<hjÖh‘]”hŸŒbinary32”…””}”(hvh-hxjFubaubah¤Kh¥hubaubjR)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj*hh;h‘]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒSingle precision”hxjShhyh‘]”hŸŒSingle precision”…””}”(hvjdhxj\ubah¤Kh¥hubaubjR)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj*hh;h‘]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ8”hxjjhhyh‘]”hŸŒ8”…””}”(hvj{hxjsubah¤Kh¥hubaubjR)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj*hh;h‘]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ23”hxjhhyh‘]”hŸŒ23”…””}”(hvj’hxjŠubah¤Kh¥hubaubeubjH)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj±hjGh‘]”(jR)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj˜hh;h‘]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ ``binary64``”hxj¡hhyh‘]”j×)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvj²hxjªhjÖh‘]”hŸŒbinary64”…””}”(hvh-hxj´ubaubah¤Kh¥hubaubjR)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj˜hh;h‘]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒDouble precision”hxjÁhhyh‘]”hŸŒDouble precision”…””}”(hvjÒhxjÊubah¤Kh¥hubaubjR)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj˜hh;h‘]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ11”hxjØhhyh‘]”hŸŒ11”…””}”(hvjéhxjáubah¤Kh¥hubaubjR)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj˜hh;h‘]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ52”hxjïhhyh‘]”hŸŒ52”…””}”(hvjhxjøubah¤Kh¥hubaubeubjH)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj±hjGh‘]”(jR)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjhh;h‘]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ ``binary128``”hxjhhyh‘]”j×)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvj hxjhjÖh‘]”hŸŒ binary128”…””}”(hvh-hxj"ubaubah¤Kh¥hubaubjR)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjhh;h‘]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒQuad precision”hxj/hhyh‘]”hŸŒQuad precision”…””}”(hvj@hxj8ubah¤Kh¥hubaubjR)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjhh;h‘]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ15”hxjFhhyh‘]”hŸŒ15”…””}”(hvjWhxjOubah¤Kh¥hubaubjR)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjhh;h‘]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ112”hxj]hhyh‘]”hŸŒ112”…””}”(hvjnhxjfubah¤Kh¥hubaubeubeubeubah¤Nh¥hhhubhz)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvŒ}In many programming languages, the ``binary32`` format is available as ``float`` and ``binary64`` is available as ``double``.”hxh†hhyh‘]”(hŸŒ#In many programming languages, the ”…””}”(hvŒ#In many programming languages, the ”hxjtubj×)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ ``binary32``”hxjthjÖh‘]”hŸŒbinary32”…””}”(hvh-hxjƒubaubhŸŒ format is available as ”…””}”(hvŒ format is available as ”hxjtubj×)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ ``float``”hxjthjÖh‘]”hŸŒfloat”…””}”(hvh-hxj–ubaubhŸŒ and ”…””}”(hvŒ and ”hxjtubj×)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ ``binary64``”hxjthjÖh‘]”hŸŒbinary64”…””}”(hvh-hxj©ubaubhŸŒ is available as ”…””}”(hvŒ is available as ”hxjtubj×)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ ``double``”hxjthjÖh‘]”hŸŒdouble”…””}”(hvh-hxj¼ubaubhŸŒ.”…””}”(hvŒ.”hxjtubeh¤K h¥hubh¦Œindex”“”)”}”(h}”(Œentries”]”(Œsingle”Œieee754_encode() (function)”Œsc.ieee754_encode”h-Nt”ah]”h ]”h ]”Œ translatable”ˆh ]”h]”uhvh-hxh†hjÏh‘]”h¤Nh¥Nhhubh¦Œdesc”“”)”}”(h}”(Œdesctype”Œfunction”h]”h ]”Œobjtype”jçŒdomain”Œsc”h ]”Œnoindex”‰h ]”h]”uhvh-hxh†hjáh‘]”(h¦Œdesc_signature”“”)”}”(h}”(h]”h ]”h ]”jØah ]”h]”jØaŒfirst”‰uhvŒDieee754_encode(x; exponent_bits; significand_bits [; exponent_bias])”hxjãhjòh‘]”(h¦Œ desc_name”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒieee754_encode”hxjôhjÿh‘]”hŸŒieee754_encode”…””}”(hvh-hxjubah¤K-h¥hhhubh¦Œdesc_parameterlist”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ3x; exponent_bits; significand_bits; [exponent_bias]”hxjôhjh‘]”(h¦Œdesc_parameter”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒx”hxjhjh‘]”hŸŒx”…””}”(hvh-hxjubaubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ exponent_bits”hxjhjh‘]”hŸŒ exponent_bits”…””}”(hvh-hxj+ubaubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒsignificand_bits”hxjhjh‘]”hŸŒsignificand_bits”…””}”(hvh-hxj9ubaubh¦Œ desc_optional”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ[exponent_bias]”hxjhjGh‘]”j)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ exponent_bias”hxjIhjh‘]”hŸŒ exponent_bias”…””}”(hvh-hxjSubaubaubeh¤K-h¥hŒchild_text_separator”Œ; ”hhubeh¤K-h¥hhhubh¦Œ desc_content”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjãhjch‘]”(hz)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvŒEEncode a floating point number into a IEEE-754 binary representation.”hxjehhyh‘]”hŸŒEEncode a floating point number into a IEEE-754 binary representation.”…””}”(hvjvhxjnubah¤K&h¥hubhŒ field_list”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjehj|h‘]”hŒfield”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj~hj‡h‘]”(hŒ field_name”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ Parameters”hxj‰hj’h‘]”hŸŒ Parameters”…””}”(hvh-hxj”ubaubhŒ field_body”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj‰hj¢h‘]”hŒ bullet_list”“”)”}”(h‘]”(hŒ list_item”“”)”}”(h‘]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ(x -- The floating point value to encode.”hxj´hhyh‘]”(h¦Œliteral_strong”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvj%hxj·hjÁh‘]”hŸŒx”…””}”(hvh-hxjÃubaubhŸŒ -- ”…””}”(hvh-hxj·ubhŸŒ#The floating point value to encode.”…””}”(hvŒ#The floating point value to encode.”hxj·ubeubah}”(h ]”h ]”h ]”h]”h]”uhvh-hxj¯hj²ubj³)”}”(h‘]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ:exponent_bits -- The length of the exponent part, in bits.”hxjßhhyh‘]”(jÂ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ exponent_bits”hxjâhjÁh‘]”hŸŒ exponent_bits”…””}”(hvh-hxjìubaubhŸŒ -- ”…””}”(hvh-hxjâubhŸŒ)The length of the exponent part, in bits.”…””}”(hvŒ)The length of the exponent part, in bits.”hxjâubeubah}”(h ]”h ]”h ]”h]”h]”uhvh-hxj¯hj²ubj³)”}”(h‘]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ@significand_bits -- The length of the significand part, in bits.”hxj hhyh‘]”(jÂ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒsignificand_bits”hxj hjÁh‘]”hŸŒsignificand_bits”…””}”(hvh-hxjubaubhŸŒ -- ”…””}”(hvh-hxj ubhŸŒ,The length of the significand part, in bits.”…””}”(hvŒ,The length of the significand part, in bits.”hxj ubeubah}”(h ]”h ]”h ]”h]”h]”uhvh-hxj¯hj²ubj³)”}”(h‘]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒdexponent_bias -- The exponent bias to use. Derived from the length of the exponent if not specified.”hxj3hhyh‘]”(jÂ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ exponent_bias”hxj6hjÁh‘]”hŸŒ exponent_bias”…””}”(hvh-hxj@ubaubhŸŒ -- ”…””}”(hvh-hxj6ubhŸŒSThe exponent bias to use. Derived from the length of the exponent if not specified.”…””}”(hvŒSThe exponent bias to use. Derived from the length of the exponent if not specified.”hxj6ubeubah}”(h ]”h ]”h ]”h]”h]”uhvh-hxj¯hj²ubeh}”(h ]”h ]”h ]”h]”h]”uhvh-hxj¤hj­ubaubeubah¤Nh¥Nhhubeh¤K-h¥hhhubeh¤Nh¥NhhubjÐ)”}”(h}”(Œentries”]”(jÖŒieee754_decode() (function)”Œsc.ieee754_decode”h-Nt”ah]”h ]”h ]”j݈h ]”h]”uhvh-hxh†hjÏh‘]”h¤Nh¥Nhhubjâ)”}”(h}”(jæŒfunction”h]”h ]”jêjtjëŒsc”h ]”jî‰h ]”h]”uhvh-hxh†hjáh‘]”(jó)”}”(h}”(h]”h ]”h ]”jiah ]”h]”jiajü‰uhvŒDieee754_decode(x; exponent_bits; significand_bits [; exponent_bias])”hxjqhjòh‘]”(j)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒieee754_decode”hxj|hjÿh‘]”hŸŒieee754_decode”…””}”(hvh-hxj†ubah¤K7h¥hhhubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ3x; exponent_bits; significand_bits; [exponent_bias]”hxj|hjh‘]”(j)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvj%hxj”hjh‘]”hŸŒx”…””}”(hvh-hxjžubaubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ exponent_bits”hxj”hjh‘]”hŸŒ exponent_bits”…””}”(hvh-hxj«ubaubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒsignificand_bits”hxj”hjh‘]”hŸŒsignificand_bits”…””}”(hvh-hxj¹ubaubjH)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ[exponent_bias]”hxj”hjGh‘]”j)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ exponent_bias”hxjÇhjh‘]”hŸŒ exponent_bias”…””}”(hvh-hxjÑubaubaubeh¤K7h¥hjajbhhubeh¤K7h¥hhhubjd)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjqhjch‘]”(hz)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvŒ0Calculate the value of an IEEE-754 binary float.”hxjßhhyh‘]”hŸŒ0Calculate the value of an IEEE-754 binary float.”…””}”(hvjðhxjèubah¤K0h¥hubj})”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjßhj|h‘]”jˆ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjöhj‡h‘]”(j“)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ Parameters”hxjÿhj’h‘]”hŸŒ Parameters”…””}”(hvh-hxjubaubj£)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjÿhj¢h‘]”j®)”}”(h‘]”(j³)”}”(h‘]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ x -- The binary float to decode.”hxj"hhyh‘]”(jÂ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvj%hxj%hjÁh‘]”hŸŒx”…””}”(hvh-hxj/ubaubhŸŒ -- ”…””}”(hvh-hxj%ubhŸŒThe binary float to decode.”…””}”(hvŒThe binary float to decode.”hxj%ubeubah}”(h ]”h ]”h ]”h]”h]”uhvh-hxjhj²ubj³)”}”(h‘]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ:exponent_bits -- The length of the exponent part, in bits.”hxjKhhyh‘]”(jÂ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ exponent_bits”hxjNhjÁh‘]”hŸŒ exponent_bits”…””}”(hvh-hxjXubaubhŸŒ -- ”…””}”(hvh-hxjNubhŸŒ)The length of the exponent part, in bits.”…””}”(hvŒ)The length of the exponent part, in bits.”hxjNubeubah}”(h ]”h ]”h ]”h]”h]”uhvh-hxjhj²ubj³)”}”(h‘]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ@significand_bits -- The length of the significand part, in bits.”hxjuhhyh‘]”(jÂ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒsignificand_bits”hxjxhjÁh‘]”hŸŒsignificand_bits”…””}”(hvh-hxj‚ubaubhŸŒ -- ”…””}”(hvh-hxjxubhŸŒ,The length of the significand part, in bits.”…””}”(hvŒ,The length of the significand part, in bits.”hxjxubeubah}”(h ]”h ]”h ]”h]”h]”uhvh-hxjhj²ubj³)”}”(h‘]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒdexponent_bias -- The exponent bias to use. Derived from the length of the exponent if not specified.”hxjŸhhyh‘]”(jÂ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ exponent_bias”hxj¢hjÁh‘]”hŸŒ exponent_bias”…””}”(hvh-hxj¬ubaubhŸŒ -- ”…””}”(hvh-hxj¢ubhŸŒSThe exponent bias to use. Derived from the length of the exponent if not specified.”…””}”(hvŒSThe exponent bias to use. Derived from the length of the exponent if not specified.”hxj¢ubeubah}”(h ]”h ]”h ]”h]”h]”uhvh-hxjhj²ubeh}”(h ]”h ]”h ]”h]”h]”uhvh-hxjhj­ubaubeubah¤Nh¥Nhhubeh¤K7h¥hhhubeh¤Nh¥NhhubjÐ)”}”(h}”(Œentries”]”(jÖŒ ieee754_half_encode() (function)”Œsc.ieee754_half_encode”h-Nt”ah]”h ]”h ]”j݈h ]”h]”uhvh-hxh†hjÏh‘]”h¤Nh¥hhhubjâ)”}”(h}”(jæŒfunction”h]”h ]”jêjàjëŒsc”h ]”jî‰h ]”h]”uhvh-hxh†hjáh‘]”(jó)”}”(h}”(h]”h ]”h ]”jÕah ]”h]”jÕajü‰uhvŒieee754_half_encode(x)”hxjÝhjòh‘]”(j)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒieee754_half_encode”hxjèhjÿh‘]”hŸŒieee754_half_encode”…””}”(hvh-hxjòubah¤K;h¥hhhubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒx”hxjèhjh‘]”j)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvj%hxjhjh‘]”hŸŒx”…””}”(hvh-hxj ubaubah¤K;h¥hjajbhhubeh¤K;h¥hhhubjd)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjÝhjch‘]”hz)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvŒ1Encode ``x`` in the half-precision binary format.”hxjhhyh‘]”(hŸŒEncode ”…””}”(hvŒEncode ”hxj ubj×)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``x``”hxj hjÖh‘]”hŸŒx”…””}”(hvh-hxj/ubaubhŸŒ% in the half-precision binary format.”…””}”(hvŒ% in the half-precision binary format.”hxj ubeh¤K:h¥hubah¤K;h¥hhhubeh¤Nh¥hhhubjÐ)”}”(h}”(Œentries”]”(jÖŒ ieee754_half_decode() (function)”Œsc.ieee754_half_decode”h-Nt”ah]”h ]”h ]”j݈h ]”h]”uhvh-hxh†hjÏh‘]”h¤Nh¥hhhubjâ)”}”(h}”(jæŒfunction”h]”h ]”jêjSjëŒsc”h ]”jî‰h ]”h]”uhvh-hxh†hjáh‘]”(jó)”}”(h}”(h]”h ]”h ]”jHah ]”h]”jHajü‰uhvŒieee754_half_decode(x)”hxjPhjòh‘]”(j)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒieee754_half_decode”hxj[hjÿh‘]”hŸŒieee754_half_decode”…””}”(hvh-hxjeubah¤K?h¥hhhubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒx”hxj[hjh‘]”j)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvj%hxjshjh‘]”hŸŒx”…””}”(hvh-hxj}ubaubah¤K?h¥hjajbhhubeh¤K?h¥hhhubjd)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjPhjch‘]”hz)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvŒ-Decode the half-precision binary float ``x``.”hxjŠhhyh‘]”(hŸŒ'Decode the half-precision binary float ”…””}”(hvŒ'Decode the half-precision binary float ”hxj“ubj×)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``x``”hxj“hjÖh‘]”hŸŒx”…””}”(hvh-hxj¢ubaubhŸŒ.”…””}”(hvjÎhxj“ubeh¤K>h¥hubah¤K?h¥hhhubeh¤Nh¥hhhubjÐ)”}”(h}”(Œentries”]”(jÖŒ"ieee754_single_encode() (function)”Œsc.ieee754_single_encode”h-Nt”ah]”h ]”h ]”j݈h ]”h]”uhvh-hxh†hjÏh‘]”h¤Nh¥hhhubjâ)”}”(h}”(jæŒfunction”h]”h ]”jêjÅjëŒsc”h ]”jî‰h ]”h]”uhvh-hxh†hjáh‘]”(jó)”}”(h}”(h]”h ]”h ]”jºah ]”h]”jºajü‰uhvŒieee754_single_encode(x)”hxjÂhjòh‘]”(j)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒieee754_single_encode”hxjÍhjÿh‘]”hŸŒieee754_single_encode”…””}”(hvh-hxj×ubah¤KCh¥hhhubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒx”hxjÍhjh‘]”j)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvj%hxjåhjh‘]”hŸŒx”…””}”(hvh-hxjïubaubah¤KCh¥hjajbhhubeh¤KCh¥hhhubjd)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjÂhjch‘]”hz)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvŒ3Encode ``x`` in the single-precision binary format.”hxjühhyh‘]”(hŸŒEncode ”…””}”(hvŒEncode ”hxjubj×)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``x``”hxjhjÖh‘]”hŸŒx”…””}”(hvh-hxjubaubhŸŒ' in the single-precision binary format.”…””}”(hvŒ' in the single-precision binary format.”hxjubeh¤KBh¥hubah¤KCh¥hhhubeh¤Nh¥hhhubjÐ)”}”(h}”(Œentries”]”(jÖŒ"ieee754_single_decode() (function)”Œsc.ieee754_single_decode”h-Nt”ah]”h ]”h ]”j݈h ]”h]”uhvh-hxh†hjÏh‘]”h¤Nh¥hhhubjâ)”}”(h}”(jæŒfunction”h]”h ]”jêj8jëŒsc”h ]”jî‰h ]”h]”uhvh-hxh†hjáh‘]”(jó)”}”(h}”(h]”h ]”h ]”j-ah ]”h]”j-ajü‰uhvŒieee754_single_decode(x)”hxj5hjòh‘]”(j)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒieee754_single_decode”hxj@hjÿh‘]”hŸŒieee754_single_decode”…””}”(hvh-hxjJubah¤KGh¥hhhubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒx”hxj@hjh‘]”j)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvj%hxjXhjh‘]”hŸŒx”…””}”(hvh-hxjbubaubah¤KGh¥hjajbhhubeh¤KGh¥hhhubjd)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj5hjch‘]”hz)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvŒ/Decode the single-precision binary float ``x``.”hxjohhyh‘]”(hŸŒ)Decode the single-precision binary float ”…””}”(hvŒ)Decode the single-precision binary float ”hxjxubj×)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``x``”hxjxhjÖh‘]”hŸŒx”…””}”(hvh-hxj‡ubaubhŸŒ.”…””}”(hvjÎhxjxubeh¤KFh¥hubah¤KGh¥hhhubeh¤Nh¥hhhubjÐ)”}”(h}”(Œentries”]”(jÖŒ"ieee754_double_encode() (function)”Œsc.ieee754_double_encode”h-Nt”ah]”h ]”h ]”j݈h ]”h]”uhvh-hxh†hjÏh‘]”h¤Nh¥hhhubjâ)”}”(h}”(jæŒfunction”h]”h ]”jêjªjëŒsc”h ]”jî‰h ]”h]”uhvh-hxh†hjáh‘]”(jó)”}”(h}”(h]”h ]”h ]”jŸah ]”h]”jŸajü‰uhvŒieee754_double_encode(x)”hxj§hjòh‘]”(j)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒieee754_double_encode”hxj²hjÿh‘]”hŸŒieee754_double_encode”…””}”(hvh-hxj¼ubah¤KKh¥hhhubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒx”hxj²hjh‘]”j)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvj%hxjÊhjh‘]”hŸŒx”…””}”(hvh-hxjÔubaubah¤KKh¥hjajbhhubeh¤KKh¥hhhubjd)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj§hjch‘]”hz)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvŒ3Encode ``x`` in the double-precision binary format.”hxjáhhyh‘]”(hŸŒEncode ”…””}”(hvŒEncode ”hxjêubj×)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``x``”hxjêhjÖh‘]”hŸŒx”…””}”(hvh-hxjùubaubhŸŒ' in the double-precision binary format.”…””}”(hvŒ' in the double-precision binary format.”hxjêubeh¤KJh¥hubah¤KKh¥hhhubeh¤Nh¥hhhubjÐ)”}”(h}”(Œentries”]”(jÖŒ"ieee754_double_decode() (function)”Œsc.ieee754_double_decode”h-Nt”ah]”h ]”h ]”j݈h ]”h]”uhvh-hxh†hjÏh‘]”h¤Nh¥hhhubjâ)”}”(h}”(jæŒfunction”h]”h ]”jêj jëŒsc”h ]”jî‰h ]”h]”uhvh-hxh†hjáh‘]”(jó)”}”(h}”(h]”h ]”h ]”j ah ]”h]”j ajü‰uhvŒieee754_double_decode(x)”hxj hjòh‘]”(j)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒieee754_double_decode”hxj% hjÿh‘]”hŸŒieee754_double_decode”…””}”(hvh-hxj/ ubah¤KOh¥hhhubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒx”hxj% hjh‘]”j)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvj%hxj= hjh‘]”hŸŒx”…””}”(hvh-hxjG ubaubah¤KOh¥hjajbhhubeh¤KOh¥hhhubjd)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj hjch‘]”hz)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvŒ/Decode the double-precision binary float ``x``.”hxjT hhyh‘]”(hŸŒ)Decode the double-precision binary float ”…””}”(hvŒ)Decode the double-precision binary float ”hxj] ubj×)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``x``”hxj] hjÖh‘]”hŸŒx”…””}”(hvh-hxjl ubaubhŸŒ.”…””}”(hvjÎhxj] ubeh¤KNh¥hubah¤KOh¥hhhubeh¤Nh¥hhhubjÐ)”}”(h}”(Œentries”]”(jÖŒ ieee754_quad_encode() (function)”Œsc.ieee754_quad_encode”h-Nt”ah]”h ]”h ]”j݈h ]”h]”uhvh-hxh†hjÏh‘]”h¤Nh¥hhhubjâ)”}”(h}”(jæŒfunction”h]”h ]”jêj jëŒsc”h ]”jî‰h ]”h]”uhvh-hxh†hjáh‘]”(jó)”}”(h}”(h]”h ]”h ]”j„ ah ]”h]”j„ ajü‰uhvŒieee754_quad_encode(x)”hxjŒ hjòh‘]”(j)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒieee754_quad_encode”hxj— hjÿh‘]”hŸŒieee754_quad_encode”…””}”(hvh-hxj¡ ubah¤KSh¥hhhubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒx”hxj— hjh‘]”j)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvj%hxj¯ hjh‘]”hŸŒx”…””}”(hvh-hxj¹ ubaubah¤KSh¥hjajbhhubeh¤KSh¥hhhubjd)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjŒ hjch‘]”hz)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvŒ1Encode ``x`` in the quad-precision binary format.”hxjÆ hhyh‘]”(hŸŒEncode ”…””}”(hvŒEncode ”hxjÏ ubj×)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``x``”hxjÏ hjÖh‘]”hŸŒx”…””}”(hvh-hxjÞ ubaubhŸŒ% in the quad-precision binary format.”…””}”(hvŒ% in the quad-precision binary format.”hxjÏ ubeh¤KRh¥hubah¤KSh¥hhhubeh¤Nh¥hhhubjÐ)”}”(h}”(Œentries”]”(jÖŒ ieee754_quad_decode() (function)”Œsc.ieee754_quad_decode”h-Nt”ah]”h ]”h ]”j݈h ]”h]”uhvh-hxh†hjÏh‘]”h¤Nh¥hhhubjâ)”}”(h}”(jæŒfunction”h]”h ]”jêj jëŒsc”h ]”jî‰h ]”h]”uhvh-hxh†hjáh‘]”(jó)”}”(h}”(h]”h ]”h ]”j÷ ah ]”h]”j÷ ajü‰uhvŒieee754_quad_decode(x)”hxjÿ hjòh‘]”(j)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒieee754_quad_decode”hxj hjÿh‘]”hŸŒieee754_quad_decode”…””}”(hvh-hxj ubah¤KVh¥hhhubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒx”hxj hjh‘]”j)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvj%hxj" hjh‘]”hŸŒx”…””}”(hvh-hxj, ubaubah¤KVh¥hjajbhhubeh¤KVh¥hhhubjd)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjÿ hjch‘]”hz)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvŒ-Decode the quad-precision binary float ``x``.”hxj9 hhyh‘]”(hŸŒ'Decode the quad-precision binary float ”…””}”(hvŒ'Decode the quad-precision binary float ”hxjB ubj×)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``x``”hxjB hjÖh‘]”hŸŒx”…””}”(hvh-hxjQ ubaubhŸŒ.”…””}”(hvjÎhxjB ubeh¤KVh¥hubah¤KVh¥hhhubeh¤Nh¥hhhubeh¤Kh¥hhhubhhyh‘]”(hŸŒÌAn IEEE-754 binary float consists of three parts: a sign bit, the exponent and the significand (sometimes called the mantissa). From these parts, the value is then calculated using the following formula: ”…””}”(hvŒÌAn IEEE-754 binary float consists of three parts: a sign bit, the exponent and the significand (sometimes called the mantissa). From these parts, the value is then calculated using the following formula: ”hxh{ubj×)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ5``-1 ^ sign * 2 ^ (exponent - bias) * 1.significand``”hxh{hjÖh‘]”hŸŒ1-1 ^ sign * 2 ^ (exponent - bias) * 1.significand”…””}”(hvh-hxji ubaubhŸŒÜ. The standard defines multiple binary formats of different sizes that all follow these rules, but differ in the number of bits allocated for the exponent and significand. The bias for the default formats is defined as ”…””}”(hvŒÜ. The standard defines multiple binary formats of different sizes that all follow these rules, but differ in the number of bits allocated for the exponent and significand. The bias for the default formats is defined as ”hxh{ubj×)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ(``bias = (2 ^ (exponent_bits - 1)) - 1``”hxh{hjÖh‘]”hŸŒ$bias = (2 ^ (exponent_bits - 1)) - 1”…””}”(hvh-hxj| ubaubhŸŒ. See ”…””}”(hvŒ. See ”hxh{ubhŒ reference”“”)”}”(h}”(h]”h ]”hnhoh ]”h ]”h]”Œname”Œ this article”uhvŒ `this article `_”hxh{hj h‘]”hŸŒ this article”…””}”(hvh-hxj‘ ubaŒresolved”KubhihŸŒ3 for a more detailed introduction into the subject.”…””}”(hvŒ3 for a more detailed introduction into the subject.”hxh{ubeh¤K h¥hubhhgh‘]”j¡ Kubj‘ esŒreporter”NŒ current_line”NŒ transformer”NŒparse_messages”]”Œsubstitution_defs”}”Œsymbol_footnotes”]”hhh‘]”h†aŒ nametypes”}”(j؈jÕˆjºˆj„ ˆj ˆjŸˆjHˆj-ˆhŽNhéˆj÷ ˆjiˆuŒids”}”(jØjôjÕjèhæhàjŸj²j j% jºjÍj„ j— hŠh†jHj[j-j@j÷ j jij|uŒtransform_messages”]”hŒsystem_message”“”)”}”(h}”(h]”h ]”Œlevel”KŒtype”ŒINFO”Œline”K h ]”h ]”h]”Œsource”huhvh-hj¸ h‘]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjº hhyh‘]”hŸŒ2Hyperlink target "this article" is not referenced.”…””}”(hvh-hxjÈ ubaubaubaŒcurrent_source”NŒsymbol_footnote_refs”]”Œindirect_targets”]”hiaŒsubstitution_names”}”Œrefids”}”Œ citation_refs”}”Œsymbol_footnote_start”KŒautofootnote_start”KhhŒid_start”Khvh-Œ decoration”NŒ footnotes”]”Œ footnote_refs”}”Œ autofootnotes”]”Œnameids”}”(jØjØjÕjÕjºjºj„ j„ j j jŸjŸjHjHj-j-hŽhŠhéhæj÷ j÷ jijiuub.heldercorreia-speedcrunch-ea93b21f9498/doc/build_html_embedded/_doctrees/reference/index.doctree000066400000000000000000000110031301713744000330160ustar00rootroot00000000000000€•øŒdocutils.nodes”Œdocument”“”)”}”(Œ attributes”}”(Œbackrefs”]”Œclasses”]”Œids”]”Œdupnames”]”Œnames”]”Œsource”Œ8C:\Users\fk\Code\speedcrunch\doc\src\reference\index.rst”uŒ citations”]”Œautofootnote_refs”]”Œsettings”Œdocutils.frontend”ŒValues”“”)”}”(Œinput_encoding_error_handler”Œstrict”Œinput_encoding”Œ utf-8-sig”Œcloak_email_addresses”ˆŒ_source”hŒconfig”NŒexpose_internals”NŒ strip_classes”NŒstrip_elements_with_classes”NŒenv”NŒdump_pseudo_xml”NŒrecord_dependencies”NŒ datestamp”NŒpep_references”NŒ id_prefix”Œ”Œ report_level”KŒtrim_footnote_reference_space”‰Œembed_stylesheet”‰Œ docinfo_xform”KŒdump_transforms”NŒauto_id_prefix”Œid”Œ pep_base_url”Œ https://www.python.org/dev/peps/”Œ tab_width”KŒsectsubtitle_xform”‰Œrfc_references”NŒ toc_backlinks”Œentry”Œ dump_settings”NŒ raw_enabled”KŒ rfc_base_url”Œhttps://tools.ietf.org/html/”Œtitle”NŒstrip_comments”NŒ _config_files”]”Œ sectnum_xform”KŒdebug”NŒ generator”NŒoutput_encoding”Œutf-8”Œerror_encoding”Œcp850”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œdoctitle_xform”‰Œgettext_compact”ˆŒ source_link”NŒ traceback”ˆŒoutput_encoding_error_handler”hŒstrict_visitor”NŒsyntax_highlight”Œlong”Œdump_internals”NŒexit_status_level”KŒfootnote_backlinks”KŒpep_file_url_template”Œpep-%04d”Œ halt_level”KŒ_disable_config”NŒ _destination”NŒ smart_quotes”‰Œfile_insertion_enabled”ˆŒ source_url”NŒwarning_stream”NubŒrefnames”}”Œreporter”NŒ current_line”NŒ transformer”NŒparse_messages”]”Œsubstitution_defs”}”Œsymbol_footnotes”]”Œtagname”hŒchildren”]”hŒsection”“”)”}”(h}”(h ]”Œ reference”ah ]”h ]”h]”Œ reference”ah]”uŒ rawsource”h-Œparent”hhnhqho]”(hh@“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ Reference”h~hshnh@ho]”hŒText”“”Œ Reference”…””}”(h}h‰h~hubaŒline”KŒsource”hhhubhŒ paragraph”“”)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒÜSpeedCrunch includes a large number of built-in math functions and constants. They are documented in this reference, organized by categories. There is also an :ref:`alphabetical list of all functions `.”h~hshnh“ho]”(hŒŒŸSpeedCrunch includes a large number of built-in math functions and constants. They are documented in this reference, organized by categories. There is also an ”…””}”(h}ŒŸSpeedCrunch includes a large number of built-in math functions and constants. They are documented in this reference, organized by categories. There is also an ”h~h•ubŒsphinx.addnodes”Œ pending_xref”“”)”}”(h}”(Œrefdoc”Œreference/index”h]”h ]”Œrefwarn”ˆŒ refexplicit”ˆŒ reftarget”Œsc:functionindex”h ]”Œreftype”Œref”Œ refdomain”Œstd”h ]”h]”uh}Œ<:ref:`alphabetical list of all functions `”h~h•hnh¥ho]”hŒinline”“”)”}”(h}”(h ]”h ]”(Œxref”h¶Œstd-ref”eh ]”h]”h]”uh}h¹h~h§hnh»ho]”hŒŒ"alphabetical list of all functions”…””}”(h}h-h~h½ubaubah‘Kh’hubhŒŒ.”…””}”(h}Œ.”h~h•ubeh‘Kh’hubhr)”}”(h}”(h ]”Œbuilt-in-functions”ah ]”h ]”h]”Œbuilt-in functions”ah]”uh}h-h~hshnhqho]”(h€)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}ŒBuilt-in Functions”h~hÑhnh@ho]”hŒŒBuilt-in Functions”…””}”(h}häh~hÜubah‘K h’hhhubhŒcompound”“”)”}”(h}”(h ]”h ]”Œtoctree-wrapper”ah ]”h]”h]”uh}h-h~hÑhnhêho]”h¤Œtoctree”“”)”}”(h}”(Œhidden”‰h ]”h]”h~h«Œ includefiles”]”(Œreference/basic”Œreference/integer”Œreference/statistical”Œreference/ieee754”eh]”Œ titlesonly”‰Œentries”]”(Nj†”Nj†”Nj†”Nj†”eŒ includehidden”‰h ]”Œmaxdepth”KŒnumbered”KŒglob”‰h ]”Œcaption”Nuh}h-h~hìhnhöho]”h‘K h’hubah‘Nh’hhhubeh‘K h’hhhubhr)”}”(h}”(h ]”Œ constants”ah ]”h ]”h]”Œ constants”ah]”uh}h-h~hshnhqho]”(h€)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ Constants”h~jhnh@ho]”hŒŒ Constants”…””}”(h}j'h~jubah‘Kh’hhhubhë)”}”(h}”(h ]”h ]”hñah ]”h]”h]”uh}h-h~jhnhêho]”h÷)”}”(h}”(hû‰h ]”h]”h~h«hþ]”Œreference/constants”ah]”j‰j]”Nj<†”aj ‰h ]”jKjKj‰h ]”jNuh}h-h~j-hnhöho]”h‘Kh’hubah‘Nh’hhhubhŒcomment”“”)”}”(h}”(h]”h ]”Œ xml:space”Œpreserve”h ]”h ]”h]”uh}Œ7TODO: What else needs to be documented? Units, I guess?”h~jhnjCho]”hŒŒ7TODO: What else needs to be documented? Units, I guess?”…””}”(h}h-h~jEubah‘Kh’hhhubeh‘Kh’hhhubeh‘Kh’hhhubaŒ nametypes”}”(jNh{NhÙNuŒids”}”(jjhÕhÑhwhsuŒtransform_messages”]”Œcurrent_source”NŒsymbol_footnote_refs”]”Œindirect_targets”]”Œsubstitution_names”}”Œrefids”}”Œ citation_refs”}”Œsymbol_footnote_start”KŒautofootnote_start”KhhŒid_start”Kh}h-Œ decoration”NŒ footnotes”]”Œ footnote_refs”}”Œ autofootnotes”]”Œnameids”}”(jjh{hwhÙhÕuub.heldercorreia-speedcrunch-ea93b21f9498/doc/build_html_embedded/_doctrees/reference/integer.doctree000066400000000000000000001471451301713744000333650ustar00rootroot00000000000000€•ZÎŒdocutils.nodes”Œdocument”“”)”}”(Œ attributes”}”(Œbackrefs”]”Œclasses”]”Œids”]”Œdupnames”]”Œnames”]”Œsource”Œ:C:\Users\fk\Code\speedcrunch\doc\src\reference\integer.rst”uŒ citations”]”Œautofootnote_refs”]”Œsettings”Œdocutils.frontend”ŒValues”“”)”}”(Œinput_encoding_error_handler”Œstrict”Œinput_encoding”Œ utf-8-sig”Œcloak_email_addresses”ˆŒ_source”hŒconfig”NŒexpose_internals”NŒ strip_classes”NŒstrip_elements_with_classes”NŒenv”NŒdump_pseudo_xml”NŒrecord_dependencies”NŒ datestamp”NŒpep_references”NŒ id_prefix”Œ”Œ report_level”KŒtrim_footnote_reference_space”‰Œembed_stylesheet”‰Œ docinfo_xform”KŒdump_transforms”NŒauto_id_prefix”Œid”Œ pep_base_url”Œ https://www.python.org/dev/peps/”Œ tab_width”KŒsectsubtitle_xform”‰Œrfc_references”NŒ toc_backlinks”Œentry”Œ dump_settings”NŒ raw_enabled”KŒ rfc_base_url”Œhttps://tools.ietf.org/html/”Œtitle”NŒstrip_comments”NŒ _config_files”]”Œ sectnum_xform”KŒdebug”NŒ generator”NŒoutput_encoding”Œutf-8”Œerror_encoding”Œcp850”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œdoctitle_xform”‰Œgettext_compact”ˆŒ source_link”NŒ traceback”ˆŒoutput_encoding_error_handler”hŒstrict_visitor”NŒsyntax_highlight”Œlong”Œdump_internals”NŒexit_status_level”KŒfootnote_backlinks”KŒpep_file_url_template”Œpep-%04d”Œ halt_level”KŒ_disable_config”NŒ _destination”NŒ smart_quotes”‰Œfile_insertion_enabled”ˆŒ source_url”NŒwarning_stream”NubŒrefnames”}”Œreporter”NŒ current_line”NŒ transformer”NŒparse_messages”]”Œsubstitution_defs”}”Œsymbol_footnotes”]”Œtagname”hŒchildren”]”hŒsection”“”)”}”(h}”(h ]”Œ$integer-bitwise-arithmetic-functions”ah ]”h ]”h]”Œ&integer & bitwise arithmetic functions”ah]”uŒ rawsource”h-Œparent”hhnhqho]”(hh@“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ&Integer & Bitwise Arithmetic Functions”h~hshnh@ho]”hŒText”“”Œ&Integer & Bitwise Arithmetic Functions”…””}”(h}h‰h~hubaŒline”KŒsource”hhhubhr)”}”(h}”(h ]”Œbitwise-operations”ah ]”h ]”h]”Œbitwise operations”ah]”uh}h-h~hshnhqho]”(h€)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}ŒBitwise Operations”h~h“hnh@ho]”hŒŒBitwise Operations”…””}”(h}h¦h~hžubah‘Kh’hhhubŒsphinx.addnodes”Œindex”“”)”}”(h}”(Œentries”]”(Œsingle”Œand() (function)”Œsc.and”h-Nt”ah]”h ]”h ]”Œ translatable”ˆh ]”h]”uh}h-h~h“hnh­ho]”h‘Nh’hhhubh¬Œdesc”“”)”}”(h}”(Œdesctype”Œfunction”h]”h ]”Œobjtype”hÅŒdomain”Œsc”h ]”Œnoindex”‰h ]”h]”uh}h-h~h“hnh¿ho]”(h¬Œdesc_signature”“”)”}”(h}”(h]”h ]”h ]”h¶ah ]”h]”h¶aŒfirst”‰uh}Œand(x1; x2; ...)”h~hÁhnhÐho]”(h¬Œ desc_name”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œand”h~hÒhnhÝho]”hŒŒand”…””}”(h}h-h~hßubah‘K h’hhhubh¬Œdesc_parameterlist”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ x1; x2; ...”h~hÒhnhího]”(h¬Œdesc_parameter”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx1”h~hïhnhùho]”hŒŒx1”…””}”(h}h-h~hûubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx2”h~hïhnhùho]”hŒŒx2”…””}”(h}h-h~j ubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ...”h~hïhnhùho]”hŒŒ...”…””}”(h}h-h~jubaubeh‘K h’hŒchild_text_separator”Œ; ”hhubeh‘K h’hhhubh¬Œ desc_content”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~hÁhnj'ho]”hŒ paragraph”“”)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}X Performs a bitwise logical AND on the submitted parameters (one or more). All parameters have to be real integers from the range -2\ :sup:`255` to +2\ :sup:`255`-1 (signed or unsigned 256 bit integers), non integer arguments are rounded toward zero. The result ranges from -2\ :sup:`255` to +2\ :sup:`255`-1 (signed integer). Note that ``and(x)`` is not the identity, because the unsigned +2\ :sup:`255` is mapped to the signed -2\ :sup:`255` for example. An error is returned if the parameters are not in the valid range.”h~j)hnj2ho]”(hŒŒƒPerforms a bitwise logical AND on the submitted parameters (one or more). All parameters have to be real integers from the range -2”…””}”(h}Œ…Performs a bitwise logical AND on the submitted parameters (one or more). All parameters have to be real integers from the range -2\ ”h~j4ubhŒ superscript”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ :sup:`255`”h~j4hnjCho]”hŒŒ255”…””}”(h}h-h~jEubaubhŒŒ to +2”…””}”(h}Œ to +2\ ”h~j4ubjD)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ :sup:`255`”h~j4hnjCho]”hŒŒ255”…””}”(h}h-h~jXubaubhŒŒr-1 (signed or unsigned 256 bit integers), non integer arguments are rounded toward zero. The result ranges from -2”…””}”(h}Œt-1 (signed or unsigned 256 bit integers), non integer arguments are rounded toward zero. The result ranges from -2\ ”h~j4ubjD)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ :sup:`255`”h~j4hnjCho]”hŒŒ255”…””}”(h}h-h~jkubaubhŒŒ to +2”…””}”(h}Œ to +2\ ”h~j4ubjD)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ :sup:`255`”h~j4hnjCho]”hŒŒ255”…””}”(h}h-h~j~ubaubhŒŒ-1 (signed integer). Note that ”…””}”(h}Œ-1 (signed integer). Note that ”h~j4ubhŒliteral”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ ``and(x)``”h~j4hnj‘ho]”hŒŒand(x)”…””}”(h}h-h~j“ubaubhŒŒ- is not the identity, because the unsigned +2”…””}”(h}Œ/ is not the identity, because the unsigned +2\ ”h~j4ubjD)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ :sup:`255`”h~j4hnjCho]”hŒŒ255”…””}”(h}h-h~j¦ubaubhŒŒ is mapped to the signed -2”…””}”(h}Œ is mapped to the signed -2\ ”h~j4ubjD)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ :sup:`255`”h~j4hnjCho]”hŒŒ255”…””}”(h}h-h~j¹ubaubhŒŒP for example. An error is returned if the parameters are not in the valid range.”…””}”(h}ŒP for example. An error is returned if the parameters are not in the valid range.”h~j4ubeh‘K h’hubah‘K h’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œor() (function)”Œsc.or”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~h“hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈjÝhÉŒsc”h ]”h̉h ]”h]”uh}h-h~h“hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jÒah ]”h]”jÒahÚ‰uh}Œor(x1; x2; ...)”h~jÚhnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œor”h~jåhnhÝho]”hŒŒor”…””}”(h}h-h~jïubah‘Kh’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ x1; x2; ...”h~jåhnhího]”(hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx1”h~jýhnhùho]”hŒŒx1”…””}”(h}h-h~jubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx2”h~jýhnhùho]”hŒŒx2”…””}”(h}h-h~jubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ...”h~jýhnhùho]”hŒŒ...”…””}”(h}h-h~j#ubaubeh‘Kh’hj%j&hhubeh‘Kh’hhhubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jÚhnj'ho]”j3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}XcPerforms a bitwise logical OR on the submitted parameters (one or more). All parameters have to be integers from the range -2\ :sup:`255` to +2\ :sup:`255`-1 (signed integer), non integer arguments are rounded toward zero. Note that ``or(x)`` is not the identity, because the unsigned 2\ :sup:`255` is mapped to the signed -2\ :sup:`255`, for example.”h~j1hnj2ho]”(hŒŒ}Performs a bitwise logical OR on the submitted parameters (one or more). All parameters have to be integers from the range -2”…””}”(h}ŒPerforms a bitwise logical OR on the submitted parameters (one or more). All parameters have to be integers from the range -2\ ”h~j:ubjD)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ :sup:`255`”h~j:hnjCho]”hŒŒ255”…””}”(h}h-h~jIubaubhŒŒ to +2”…””}”(h}Œ to +2\ ”h~j:ubjD)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ :sup:`255`”h~j:hnjCho]”hŒŒ255”…””}”(h}h-h~j\ubaubhŒŒN-1 (signed integer), non integer arguments are rounded toward zero. Note that ”…””}”(h}ŒN-1 (signed integer), non integer arguments are rounded toward zero. Note that ”h~j:ubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ ``or(x)``”h~j:hnj‘ho]”hŒŒor(x)”…””}”(h}h-h~joubaubhŒŒ, is not the identity, because the unsigned 2”…””}”(h}Œ. is not the identity, because the unsigned 2\ ”h~j:ubjD)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ :sup:`255`”h~j:hnjCho]”hŒŒ255”…””}”(h}h-h~j‚ubaubhŒŒ is mapped to the signed -2”…””}”(h}Œ! is mapped to the signed -2\ ”h~j:ubjD)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ :sup:`255`”h~j:hnjCho]”hŒŒ255”…””}”(h}h-h~j•ubaubhŒŒ, for example.”…””}”(h}Œ, for example.”h~j:ubeh‘K h’hubah‘Kh’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œxor() (function)”Œsc.xor”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~h“hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈj¹hÉŒsc”h ]”h̉h ]”h]”uh}h-h~h“hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”j®ah ]”h]”j®ahÚ‰uh}Œxor(x1; x2; ...)”h~j¶hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œxor”h~jÁhnhÝho]”hŒŒxor”…””}”(h}h-h~jËubah‘Kh’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ x1; x2; ...”h~jÁhnhího]”(hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx1”h~jÙhnhùho]”hŒŒx1”…””}”(h}h-h~jãubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx2”h~jÙhnhùho]”hŒŒx2”…””}”(h}h-h~jñubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ...”h~jÙhnhùho]”hŒŒ...”…””}”(h}h-h~jÿubaubeh‘Kh’hj%j&hhubeh‘Kh’hhhubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j¶hnj'ho]”j3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}XbPerforms a bitwise logical XOR on the submitted parameters (one or more). All parameters have to be integers from the range -2\ :sup:`255` to +2\ :sup:`255`-1 (signed integer), non integer arguments are rounded toward zero. Note that ``xor(x)`` is not the identity, because the unsigned 2\ :sup:`255` is mapped to the signed -2\ :sup:`255`, for example.”h~j hnj2ho]”(hŒŒ~Performs a bitwise logical XOR on the submitted parameters (one or more). All parameters have to be integers from the range -2”…””}”(h}Œ€Performs a bitwise logical XOR on the submitted parameters (one or more). All parameters have to be integers from the range -2\ ”h~jubjD)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ :sup:`255`”h~jhnjCho]”hŒŒ255”…””}”(h}h-h~j%ubaubhŒŒ to +2”…””}”(h}Œ to +2\ ”h~jubjD)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ :sup:`255`”h~jhnjCho]”hŒŒ255”…””}”(h}h-h~j8ubaubhŒŒO-1 (signed integer), non integer arguments are rounded toward zero. Note that ”…””}”(h}ŒO-1 (signed integer), non integer arguments are rounded toward zero. Note that ”h~jubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ ``xor(x)``”h~jhnj‘ho]”hŒŒxor(x)”…””}”(h}h-h~jKubaubhŒŒ, is not the identity, because the unsigned 2”…””}”(h}Œ. is not the identity, because the unsigned 2\ ”h~jubjD)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ :sup:`255`”h~jhnjCho]”hŒŒ255”…””}”(h}h-h~j^ubaubhŒŒ is mapped to the signed -2”…””}”(h}Œ is mapped to the signed -2\ ”h~jubjD)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ :sup:`255`”h~jhnjCho]”hŒŒ255”…””}”(h}h-h~jqubaubhŒŒ, for example.”…””}”(h}Œ, for example.”h~jubeh‘Kh’hubah‘Kh’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œnot() (function)”Œsc.not”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~h“hnh­ho]”h‘Nh’NhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈj•hÉŒsc”h ]”h̉h ]”h]”uh}h-h~h“hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jŠah ]”h]”jŠahÚ‰uh}Œnot(n)”h~j’hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œnot”h~jhnhÝho]”hŒŒnot”…””}”(h}h-h~j§ubah‘Kh’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œn”h~jhnhího]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œn”h~jµhnhùho]”hŒŒn”…””}”(h}h-h~j¿ubaubah‘Kh’hj%j&hhubeh‘Kh’hhhubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j’hnj'ho]”(j3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒThe :func:`not` function is defined by ``not(x) = -x-1``, giving the same result as the one's complement operator ``~`` in C/C++.”h~jÍhnj2ho]”(hŒŒThe ”…””}”(h}ŒThe ”h~jÖubh¬Œ pending_xref”“”)”}”(h}”(Œrefdoc”Œreference/integer”h]”h ]”Œrefwarn”‰Œ refexplicit”‰Œ reftarget”Œnot”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ :func:`not`”h~jÖhnjåho]”j’)”}”(h}”(h ]”h ]”(Œxref”jöŒsc-func”eh ]”h]”h]”uh}jùh~jçhnj‘ho]”hŒŒnot()”…””}”(h}h-h~jûubaubah‘Kh’hubhŒŒ function is defined by ”…””}”(h}Œ function is defined by ”h~jÖubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``not(x) = -x-1``”h~jÖhnj‘ho]”hŒŒ not(x) = -x-1”…””}”(h}h-h~jubaubhŒŒ:, giving the same result as the one's complement operator ”…””}”(h}Œ:, giving the same result as the one's complement operator ”h~jÖubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``~``”h~jÖhnj‘ho]”hŒŒ~”…””}”(h}h-h~j"ubaubhŒŒ in C/C++.”…””}”(h}Œ in C/C++.”h~jÖubeh‘Kh’hubhŒwarning”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ.This function does *not* simply flip the bits!”h~jÍhnj5ho]”j3)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}j?h~j7hnj2ho]”(hŒŒThis function does ”…””}”(h}ŒThis function does ”h~jAubhŒemphasis”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*not*”h~jAhnjOho]”hŒŒnot”…””}”(h}h-h~jQubaubhŒŒ simply flip the bits!”…””}”(h}Œ simply flip the bits!”h~jAubeh‘Kh’hubah‘Nh’hhhubeh‘Kh’hhhubeh‘Nh’Nhhubh®)”}”(h}”(Œentries”]”(h´Œshl() (function)”Œsc.shl”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~h“hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈjuhÉŒsc”h ]”h̉h ]”h]”uh}h-h~h“hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jjah ]”h]”jjahÚ‰uh}Œ shl(x; n)”h~jrhnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œshl”h~j}hnhÝho]”hŒŒshl”…””}”(h}h-h~j‡ubah‘K$h’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx; n”h~j}hnhího]”(hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx”h~j•hnhùho]”hŒŒx”…””}”(h}h-h~jŸubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jÇh~j•hnhùho]”hŒŒn”…””}”(h}h-h~j­ubaubeh‘K$h’hj%j&hhubeh‘K$h’hhhubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jrhnj'ho]”(j3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ"Performs an arithmetic left shift.”h~jºhnj2ho]”hŒŒ"Performs an arithmetic left shift.”…””}”(h}jËh~jÃubah‘Kh’hubhŒ field_list”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jºhnjÑho]”hŒfield”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jÓhnjÜho]”(hŒ field_name”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ Parameters”h~jÞhnjçho]”hŒŒ Parameters”…””}”(h}h-h~jéubaubhŒ field_body”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jÞhnj÷ho]”hŒ bullet_list”“”)”}”(ho]”(hŒ list_item”“”)”}”(ho]”j3)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ>x -- The number (bit pattern) to shift, -2255 <= x <= +2256-1.”h~j hnj2ho]”(h¬Œliteral_strong”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}j§h~j hnjho]”hŒŒx”…””}”(h}h-h~jubaubhŒŒ -- ”…””}”(h}h-h~j ubhŒŒ%The number (bit pattern) to shift, -2”…””}”(h}Œ'The number (bit pattern) to shift, -2\ ”h~j ubjD)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ :sup:`255`”h~j hnjCho]”hŒŒ255”…””}”(h}h-h~j.ubaubhŒŒ <= ”…””}”(h}Œ <= ”h~j ubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~j hnj‘ho]”hŒŒx”…””}”(h}h-h~jAubaubhŒŒ <= +2”…””}”(h}Œ <= +2\ ”h~j ubjD)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ :sup:`256`”h~j hnjCho]”hŒŒ256”…””}”(h}h-h~jTubaubhŒŒ-1.”…””}”(h}Œ-1.”h~j ubeubah}”(h ]”h ]”h ]”h]”h]”uh}h-h~jhnjubj)”}”(ho]”j3)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ@n -- Number of bits to shift, -255 <= n <= 255. Must be integer.”h~jmhnj2ho]”(j)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jÇh~jphnjho]”hŒŒn”…””}”(h}h-h~jzubaubhŒŒ -- ”…””}”(h}h-h~jpubhŒŒ!Number of bits to shift, -255 <= ”…””}”(h}Œ!Number of bits to shift, -255 <= ”h~jpubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``n``”h~jphnj‘ho]”hŒŒn”…””}”(h}h-h~jubaubhŒŒ <= 255. Must be integer.”…””}”(h}Œ <= 255. Must be integer.”h~jpubeubah}”(h ]”h ]”h ]”h]”h]”uh}h-h~jhnjubeh}”(h ]”h ]”h ]”h]”h]”uh}h-h~jùhnjubaubeubah‘Nh’hhhubj3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒÚNote that ``n`` < 0 results in a right shift. The result ranges from -2\ :sup:`255` to +2\ :sup:`255`-1 (signed integer). ``x`` is rounded toward zero before shifting. If ``n`` = 0, ``x`` is returned without rounding.”h~jºhnj2ho]”(hŒŒ Note that ”…””}”(h}Œ Note that ”h~j¯ubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``n``”h~j¯hnj‘ho]”hŒŒn”…””}”(h}h-h~j¾ubaubhŒŒ8 < 0 results in a right shift. The result ranges from -2”…””}”(h}Œ: < 0 results in a right shift. The result ranges from -2\ ”h~j¯ubjD)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ :sup:`255`”h~j¯hnjCho]”hŒŒ255”…””}”(h}h-h~jÑubaubhŒŒ to +2”…””}”(h}Œ to +2\ ”h~j¯ubjD)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ :sup:`255`”h~j¯hnjCho]”hŒŒ255”…””}”(h}h-h~jäubaubhŒŒ-1 (signed integer). ”…””}”(h}Œ-1 (signed integer). ”h~j¯ubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~j¯hnj‘ho]”hŒŒx”…””}”(h}h-h~j÷ubaubhŒŒ- is rounded toward zero before shifting. If ”…””}”(h}Œ- is rounded toward zero before shifting. If ”h~j¯ubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``n``”h~j¯hnj‘ho]”hŒŒn”…””}”(h}h-h~j ubaubhŒŒ = 0, ”…””}”(h}Œ = 0, ”h~j¯ubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~j¯hnj‘ho]”hŒŒx”…””}”(h}h-h~jubaubhŒŒ is returned without rounding.”…””}”(h}Œ is returned without rounding.”h~j¯ubeh‘K h’hubj3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ—Shifted out bits are always dropped. During a right shift, the most significant bit (bit 255) is copied. During a left shift, zero bits are shifted in.”h~jºhnj2ho]”hŒŒ—Shifted out bits are always dropped. During a right shift, the most significant bit (bit 255) is copied. During a left shift, zero bits are shifted in.”…””}”(h}j8h~j0ubah‘K"h’hubeh‘K$h’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œshr() (function)”Œsc.shr”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~h“hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈjOhÉŒsc”h ]”h̉h ]”h]”uh}h-h~h“hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jDah ]”h]”jDahÚ‰uh}Œ shr(x; n)”h~jLhnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œshr”h~jWhnhÝho]”hŒŒshr”…””}”(h}h-h~jaubah‘K/h’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx; n”h~jWhnhího]”(hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}j§h~johnhùho]”hŒŒx”…””}”(h}h-h~jyubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jÇh~johnhùho]”hŒŒn”…””}”(h}h-h~j†ubaubeh‘K/h’hj%j&hhubeh‘K/h’hhhubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jLhnj'ho]”(j3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ#Performs an arithmetic right shift.”h~j“hnj2ho]”hŒŒ#Performs an arithmetic right shift.”…””}”(h}j¤h~jœubah‘K'h’hubjÒ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j“hnjÑho]”jÝ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jªhnjÜho]”(jè)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ Parameters”h~j³hnjçho]”hŒŒ Parameters”…””}”(h}h-h~j¼ubaubjø)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j³hnj÷ho]”j)”}”(ho]”(j)”}”(ho]”j3)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ>x -- The number (bit pattern) to shift, -2255 <= x <= +2256-1.”h~jÖhnj2ho]”(j)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}j§h~jÙhnjho]”hŒŒx”…””}”(h}h-h~jãubaubhŒŒ -- ”…””}”(h}h-h~jÙubhŒŒ%The number (bit pattern) to shift, -2”…””}”(h}Œ'The number (bit pattern) to shift, -2\ ”h~jÙubjD)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ :sup:`255`”h~jÙhnjCho]”hŒŒ255”…””}”(h}h-h~jùubaubhŒŒ <= ”…””}”(h}Œ <= ”h~jÙubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~jÙhnj‘ho]”hŒŒx”…””}”(h}h-h~j ubaubhŒŒ <= +2”…””}”(h}Œ <= +2\ ”h~jÙubjD)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ :sup:`256`”h~jÙhnjCho]”hŒŒ256”…””}”(h}h-h~jubaubhŒŒ-1.”…””}”(h}Œ-1.”h~jÙubeubah}”(h ]”h ]”h ]”h]”h]”uh}h-h~jÓhnjubj)”}”(ho]”j3)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ@n -- Number of bits to shift, -255 <= n <= 255. Must be integer.”h~j8hnj2ho]”(j)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jÇh~j;hnjho]”hŒŒn”…””}”(h}h-h~jEubaubhŒŒ -- ”…””}”(h}h-h~j;ubhŒŒ!Number of bits to shift, -255 <= ”…””}”(h}Œ!Number of bits to shift, -255 <= ”h~j;ubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``n``”h~j;hnj‘ho]”hŒŒn”…””}”(h}h-h~j[ubaubhŒŒ <= 255. Must be integer.”…””}”(h}Œ <= 255. Must be integer.”h~j;ubeubah}”(h ]”h ]”h ]”h]”h]”uh}h-h~jÓhnjubeh}”(h ]”h ]”h ]”h]”h]”uh}h-h~jÊhnjubaubeubah‘Nh’hhhubj3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒÙNote that ``n`` < 0 results in a left shift. The result ranges from -2\ :sup:`255` to +2\ :sup:`255`-1 (signed integer). ``x`` is rounded toward zero before shifting. If ``n`` = 0, ``x`` is returned without rounding.”h~j“hnj2ho]”(hŒŒ Note that ”…””}”(h}Œ Note that ”h~jzubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``n``”h~jzhnj‘ho]”hŒŒn”…””}”(h}h-h~j‰ubaubhŒŒ7 < 0 results in a left shift. The result ranges from -2”…””}”(h}Œ9 < 0 results in a left shift. The result ranges from -2\ ”h~jzubjD)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ :sup:`255`”h~jzhnjCho]”hŒŒ255”…””}”(h}h-h~jœubaubhŒŒ to +2”…””}”(h}Œ to +2\ ”h~jzubjD)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ :sup:`255`”h~jzhnjCho]”hŒŒ255”…””}”(h}h-h~j¯ubaubhŒŒ-1 (signed integer). ”…””}”(h}Œ-1 (signed integer). ”h~jzubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~jzhnj‘ho]”hŒŒx”…””}”(h}h-h~jÂubaubhŒŒ- is rounded toward zero before shifting. If ”…””}”(h}Œ- is rounded toward zero before shifting. If ”h~jzubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``n``”h~jzhnj‘ho]”hŒŒn”…””}”(h}h-h~jÕubaubhŒŒ = 0, ”…””}”(h}Œ = 0, ”h~jzubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~jzhnj‘ho]”hŒŒx”…””}”(h}h-h~jèubaubhŒŒ is returned without rounding.”…””}”(h}Œ is returned without rounding.”h~jzubeh‘K,h’hubj3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ—Shifted out bits are always dropped. During a right shift, the most significant bit (bit 255) is copied. During a left shift, zero bits are shifted in.”h~j“hnj2ho]”hŒŒ—Shifted out bits are always dropped. During a right shift, the most significant bit (bit 255) is copied. During a left shift, zero bits are shifted in.”…””}”(h}jh~jûubah‘K.h’hubeh‘K/h’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œmask() (function)”Œsc.mask”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~h“hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈjhÉŒsc”h ]”h̉h ]”h]”uh}h-h~h“hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jah ]”h]”jahÚ‰uh}Œ mask(x; n)”h~jhnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œmask”h~j"hnhÝho]”hŒŒmask”…””}”(h}h-h~j,ubah‘K:h’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx; n”h~j"hnhího]”(hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}j§h~j:hnhùho]”hŒŒx”…””}”(h}h-h~jDubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jÇh~j:hnhùho]”hŒŒn”…””}”(h}h-h~jQubaubeh‘K:h’hj%j&hhubeh‘K:h’hhhubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jhnj'ho]”(j3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒÊReturns the lowest ``n`` bits from ``x``. For this, ``x`` must be in the range -2\ :sup:`255` <= ``x`` <= +2\ :sup:`256`-1, and ``n`` must be an integer, 1 <= ``n`` <= 255. ``x`` is rounded toward zero.”h~j^hnj2ho]”(hŒŒReturns the lowest ”…””}”(h}ŒReturns the lowest ”h~jgubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``n``”h~jghnj‘ho]”hŒŒn”…””}”(h}h-h~jvubaubhŒŒ bits from ”…””}”(h}Œ bits from ”h~jgubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~jghnj‘ho]”hŒŒx”…””}”(h}h-h~j‰ubaubhŒŒ . For this, ”…””}”(h}Œ . For this, ”h~jgubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~jghnj‘ho]”hŒŒx”…””}”(h}h-h~jœubaubhŒŒ must be in the range -2”…””}”(h}Œ must be in the range -2\ ”h~jgubjD)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ :sup:`255`”h~jghnjCho]”hŒŒ255”…””}”(h}h-h~j¯ubaubhŒŒ <= ”…””}”(h}Œ <= ”h~jgubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~jghnj‘ho]”hŒŒx”…””}”(h}h-h~jÂubaubhŒŒ <= +2”…””}”(h}Œ <= +2\ ”h~jgubjD)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ :sup:`256`”h~jghnjCho]”hŒŒ256”…””}”(h}h-h~jÕubaubhŒŒ-1, and ”…””}”(h}Œ-1, and ”h~jgubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``n``”h~jghnj‘ho]”hŒŒn”…””}”(h}h-h~jèubaubhŒŒ must be an integer, 1 <= ”…””}”(h}Œ must be an integer, 1 <= ”h~jgubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``n``”h~jghnj‘ho]”hŒŒn”…””}”(h}h-h~jûubaubhŒŒ <= 255. ”…””}”(h}Œ <= 255. ”h~jgubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~jghnj‘ho]”hŒŒx”…””}”(h}h-h~j ubaubhŒŒ is rounded toward zero.”…””}”(h}Œ is rounded toward zero.”h~jgubeh‘K2h’hubj3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒThe result is always unsigned.”h~j^hnj2ho]”hŒŒThe result is always unsigned.”…””}”(h}j) h~j! ubah‘K4h’hubj3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ@Example: Getting the two's complement of -1 in a 16-bit system::”h~j^hnj2ho]”hŒŒ?Example: Getting the two's complement of -1 in a 16-bit system:”…””}”(h}Œ?Example: Getting the two's complement of -1 in a 16-bit system:”h~j/ ubah‘K6h’hubhŒ literal_block”“”)”}”(hhh}”(h]”h ]”Œ xml:space”Œpreserve”h ]”h ]”h]”uh}Œhex(mask(-1; 16)) = 0xFFFF”h~j^hnj> ho]”hŒŒhex(mask(-1; 16)) = 0xFFFF”…””}”(h}h-h~j@ ubah‘K8h’hubeh‘K:h’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œunmask() (function)”Œ sc.unmask”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~h“hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈja hÉŒsc”h ]”h̉h ]”h]”uh}h-h~h“hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jV ah ]”h]”jV ahÚ‰uh}Œ unmask(x; n)”h~j^ hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œunmask”h~ji hnhÝho]”hŒŒunmask”…””}”(h}h-h~js ubah‘KIh’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx; n”h~ji hnhího]”(hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}j§h~j hnhùho]”hŒŒx”…””}”(h}h-h~j‹ ubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jÇh~j hnhùho]”hŒŒn”…””}”(h}h-h~j˜ ubaubeh‘KIh’hj%j&hhubeh‘KIh’hhhubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j^ hnj'ho]”(j3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒTakes the lower ``n`` bits from ``x`` and sign-extends them to full 256 bits. This means that bit at position *n-1* is copied to all upper bits.”h~j¥ hnj2ho]”(hŒŒTakes the lower ”…””}”(h}ŒTakes the lower ”h~j® ubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``n``”h~j® hnj‘ho]”hŒŒn”…””}”(h}h-h~j½ ubaubhŒŒ bits from ”…””}”(h}Œ bits from ”h~j® ubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~j® hnj‘ho]”hŒŒx”…””}”(h}h-h~jÐ ubaubhŒŒI and sign-extends them to full 256 bits. This means that bit at position ”…””}”(h}ŒI and sign-extends them to full 256 bits. This means that bit at position ”h~j® ubjP)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*n-1*”h~j® hnjOho]”hŒŒn-1”…””}”(h}h-h~jã ubaubhŒŒ is copied to all upper bits.”…””}”(h}Œ is copied to all upper bits.”h~j® ubeh‘K=h’hubj3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ¢The value of ``x`` must be in the range *-2* :sup:`255` *<= x <= +2* :sup:`256` *-1*, and ``n`` must be an integer, *1 <= n <= 255*. ``x`` is rounded toward zero.”h~j¥ hnj2ho]”(hŒŒ The value of ”…””}”(h}Œ The value of ”h~jö ubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~jö hnj‘ho]”hŒŒx”…””}”(h}h-h~j ubaubhŒŒ must be in the range ”…””}”(h}Œ must be in the range ”h~jö ubjP)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*-2*”h~jö hnjOho]”hŒŒ-2”…””}”(h}h-h~j ubaubhŒŒ ”…””}”(h}Œ ”h~jö ubjD)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ :sup:`255`”h~jö hnjCho]”hŒŒ255”…””}”(h}h-h~j+ ubaubhŒŒ ”…””}”(h}j* h~jö ubjP)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *<= x <= +2*”h~jö hnjOho]”hŒŒ <= x <= +2”…””}”(h}h-h~j= ubaubhŒŒ ”…””}”(h}j* h~jö ubjD)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ :sup:`256`”h~jö hnjCho]”hŒŒ256”…””}”(h}h-h~jO ubaubhŒŒ ”…””}”(h}j* h~jö ubjP)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*-1*”h~jö hnjOho]”hŒŒ-1”…””}”(h}h-h~ja ubaubhŒŒ, and ”…””}”(h}Œ, and ”h~jö ubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``n``”h~jö hnj‘ho]”hŒŒn”…””}”(h}h-h~jt ubaubhŒŒ must be an integer, ”…””}”(h}Œ must be an integer, ”h~jö ubjP)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*1 <= n <= 255*”h~jö hnjOho]”hŒŒ 1 <= n <= 255”…””}”(h}h-h~j‡ ubaubhŒŒ. ”…””}”(h}Œ. ”h~jö ubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~jö hnj‘ho]”hŒŒx”…””}”(h}h-h~jš ubaubhŒŒ is rounded toward zero.”…””}”(h}Œ is rounded toward zero.”h~jö ubeh‘K?h’hubj3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒTExample: Converting a number in two's complement representation to a signed number::”h~j¥ hnj2ho]”hŒŒSExample: Converting a number in two's complement representation to a signed number:”…””}”(h}ŒSExample: Converting a number in two's complement representation to a signed number:”h~j­ ubah‘KAh’hubj? )”}”(hhh}”(h]”h ]”jE jF h ]”h ]”h]”uh}Œ3unmask(0xFFFF; 16) = -1 unmask(0x1FFF; 16) = 0x1FFF”h~j¥ hnj> ho]”hŒŒ3unmask(0xFFFF; 16) = -1 unmask(0x1FFF; 16) = 0x1FFF”…””}”(h}h-h~j¼ ubah‘KCh’hubeh‘KIh’hhhubeh‘Nh’hhhubeh‘Kh’hhhubhr)”}”(h}”(h ]”Œ numeral-bases”ah ]”h ]”h]”Œ numeral bases”ah]”uh}h-h~hshnhqho]”(h€)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ Numeral Bases”h~jÊ hnh@ho]”hŒŒ Numeral Bases”…””}”(h}jÝ h~jÕ ubah‘KKh’hhhubj3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ×The following functions only change the format for the current result. To change the base that is used for displaying results, select one of the corresponding settings in :menuselection:`Settings --> Result Format`.”h~jÊ hnj2ho]”(hŒŒ«The following functions only change the format for the current result. To change the base that is used for displaying results, select one of the corresponding settings in ”…””}”(h}Œ«The following functions only change the format for the current result. To change the base that is used for displaying results, select one of the corresponding settings in ”h~jã ubhŒinline”“”)”}”(h}”(Œrawtext”Œ+:menuselection:`Settings --> Result Format`”h]”h ]”Œ menuselection”ah ]”h ]”h]”uh}ŒSettings ‣ Result Format”h~jã hnjò ho]”hŒŒSettings ‣ Result Format”…””}”(h}h-h~jô ubaubhŒŒ.”…””}”(h}Œ.”h~jã ubeh‘KMh’hubh®)”}”(h}”(Œentries”]”(h´Œbin() (function)”Œsc.bin”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~jÊ hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈj hÉŒsc”h ]”h̉h ]”h]”uh}h-h~jÊ hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”j ah ]”h]”j ahÚ‰uh}Œbin(n)”h~j hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œbin”h~j# hnhÝho]”hŒŒbin”…””}”(h}h-h~j- ubah‘KSh’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œn”h~j# hnhího]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jÇh~j; hnhùho]”hŒŒn”…””}”(h}h-h~jE ubaubah‘KSh’hj%j&hhubeh‘KSh’hhhubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j hnj'ho]”j3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ Format ``n`` as binary (base-2).”h~jR hnj2ho]”(hŒŒFormat ”…””}”(h}ŒFormat ”h~j[ ubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``n``”h~j[ hnj‘ho]”hŒŒn”…””}”(h}h-h~jj ubaubhŒŒ as binary (base-2).”…””}”(h}Œ as binary (base-2).”h~j[ ubeh‘KRh’hubah‘KSh’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œoct() (function)”Œsc.oct”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~jÊ hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈjŽ hÉŒsc”h ]”h̉h ]”h]”uh}h-h~jÊ hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jƒ ah ]”h]”jƒ ahÚ‰uh}Œoct(n)”h~j‹ hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œoct”h~j– hnhÝho]”hŒŒoct”…””}”(h}h-h~j  ubah‘KWh’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œn”h~j– hnhího]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jÇh~j® hnhùho]”hŒŒn”…””}”(h}h-h~j¸ ubaubah‘KWh’hj%j&hhubeh‘KWh’hhhubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j‹ hnj'ho]”j3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒFormat ``n`` as octal (base-8).”h~jÅ hnj2ho]”(hŒŒFormat ”…””}”(h}ŒFormat ”h~jÎ ubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``n``”h~jÎ hnj‘ho]”hŒŒn”…””}”(h}h-h~jÝ ubaubhŒŒ as octal (base-8).”…””}”(h}Œ as octal (base-8).”h~jÎ ubeh‘KVh’hubah‘KWh’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œdec() (function)”Œsc.dec”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~jÊ hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈj hÉŒsc”h ]”h̉h ]”h]”uh}h-h~jÊ hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jö ah ]”h]”jö ahÚ‰uh}Œdec(n)”h~jþ hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œdec”h~j hnhÝho]”hŒŒdec”…””}”(h}h-h~j ubah‘K[h’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œn”h~j hnhího]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jÇh~j! hnhùho]”hŒŒn”…””}”(h}h-h~j+ ubaubah‘K[h’hj%j&hhubeh‘K[h’hhhubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jþ hnj'ho]”j3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ"Format ``n`` as decimal (base-10).”h~j8 hnj2ho]”(hŒŒFormat ”…””}”(h}ŒFormat ”h~jA ubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``n``”h~jA hnj‘ho]”hŒŒn”…””}”(h}h-h~jP ubaubhŒŒ as decimal (base-10).”…””}”(h}Œ as decimal (base-10).”h~jA ubeh‘KZh’hubah‘K[h’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œhex() (function)”Œsc.hex”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~jÊ hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈjt hÉŒsc”h ]”h̉h ]”h]”uh}h-h~jÊ hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”ji ah ]”h]”ji ahÚ‰uh}Œhex(n)”h~jq hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œhex”h~j| hnhÝho]”hŒŒhex”…””}”(h}h-h~j† ubah‘K`h’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œn”h~j| hnhího]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jÇh~j” hnhùho]”hŒŒn”…””}”(h}h-h~jž ubaubah‘K`h’hj%j&hhubeh‘K`h’hhhubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jq hnj'ho]”j3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ&Format ``n`` as hexadecimal (base-16).”h~j« hnj2ho]”(hŒŒFormat ”…””}”(h}ŒFormat ”h~j´ ubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``n``”h~j´ hnj‘ho]”hŒŒn”…””}”(h}h-h~jà ubaubhŒŒ as hexadecimal (base-16).”…””}”(h}Œ as hexadecimal (base-16).”h~j´ ubeh‘K^h’hubah‘K`h’hhhubeh‘Nh’hhhubeh‘KKh’hhhubhr)”}”(h}”(h ]”Œrounding”ah ]”h ]”h]”Œrounding”ah]”uh}h-h~hshnhqho]”(h€)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}ŒRounding”h~jÖ hnh@ho]”hŒŒRounding”…””}”(h}jé h~já ubah‘Kbh’hhhubh®)”}”(h}”(Œentries”]”(h´Œceil() (function)”Œsc.ceil”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~jÖ hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈj hÉŒsc”h ]”h̉h ]”h]”uh}h-h~jÖ hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jõ ah ]”h]”jõ ahÚ‰uh}Œceil(x)”h~jý hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œceil”h~j hnhÝho]”hŒŒceil”…””}”(h}h-h~j ubah‘Kgh’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx”h~j hnhího]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}j§h~j hnhùho]”hŒŒx”…””}”(h}h-h~j* ubaubah‘Kgh’hj%j&hhubeh‘Kgh’hhhubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jý hnj'ho]”j3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒXRound ``x`` to the next largest integer. Only real, dimensionless arguments are allowed.”h~j7 hnj2ho]”(hŒŒRound ”…””}”(h}ŒRound ”h~j@ ubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~j@ hnj‘ho]”hŒŒx”…””}”(h}h-h~jO ubaubhŒŒM to the next largest integer. Only real, dimensionless arguments are allowed.”…””}”(h}ŒM to the next largest integer. Only real, dimensionless arguments are allowed.”h~j@ ubeh‘Kfh’hubah‘Kgh’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œfloor() (function)”Œsc.floor”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~jÖ hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈjs hÉŒsc”h ]”h̉h ]”h]”uh}h-h~jÖ hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jh ah ]”h]”jh ahÚ‰uh}Œfloor(x)”h~jp hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œfloor”h~j{ hnhÝho]”hŒŒfloor”…””}”(h}h-h~j… ubah‘Klh’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx”h~j{ hnhího]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}j§h~j“ hnhùho]”hŒŒx”…””}”(h}h-h~j ubaubah‘Klh’hj%j&hhubeh‘Klh’hhhubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jp hnj'ho]”j3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒYRound ``x`` to the next smallest integer. Only real, dimensionless arguments are allowed.”h~jª hnj2ho]”(hŒŒRound ”…””}”(h}ŒRound ”h~j³ ubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~j³ hnj‘ho]”hŒŒx”…””}”(h}h-h~j ubaubhŒŒN to the next smallest integer. Only real, dimensionless arguments are allowed.”…””}”(h}ŒN to the next smallest integer. Only real, dimensionless arguments are allowed.”h~j³ ubeh‘Kjh’hubah‘Klh’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œround() (function)”Œsc.round”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~jÖ hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈjæ hÉŒsc”h ]”h̉h ]”h]”uh}h-h~jÖ hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jÛ ah ]”h]”jÛ ahÚ‰uh}Œround(x [; n])”h~jã hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œround”h~jî hnhÝho]”hŒŒround”…””}”(h}h-h~jø ubah‘K€h’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx; [n]”h~jî hnhího]”(hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}j§h~jhnhùho]”hŒŒx”…””}”(h}h-h~jubaubh¬Œ desc_optional”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ[n]”h~jhnjho]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jÇh~jhnhùho]”hŒŒn”…””}”(h}h-h~j)ubaubaubeh‘K€h’hj%j&hhubeh‘K€h’hhhubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jã hnj'ho]”(j3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}XGRound ``x`` to the nearest number with ``n`` fractional digits; ``n`` may be omitted, in which case ``x`` is rounded to the closest integer. Ties are broken by rounding to the nearest *even* integer. This rounding strategy, commonly known as *Banker's rounding*, serves to avoid a bias (for instance when averaging or summing).”h~j6hnj2ho]”(hŒŒRound ”…””}”(h}ŒRound ”h~j?ubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~j?hnj‘ho]”hŒŒx”…””}”(h}h-h~jNubaubhŒŒ to the nearest number with ”…””}”(h}Œ to the nearest number with ”h~j?ubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``n``”h~j?hnj‘ho]”hŒŒn”…””}”(h}h-h~jaubaubhŒŒ fractional digits; ”…””}”(h}Œ fractional digits; ”h~j?ubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``n``”h~j?hnj‘ho]”hŒŒn”…””}”(h}h-h~jtubaubhŒŒ may be omitted, in which case ”…””}”(h}Œ may be omitted, in which case ”h~j?ubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~j?hnj‘ho]”hŒŒx”…””}”(h}h-h~j‡ubaubhŒŒO is rounded to the closest integer. Ties are broken by rounding to the nearest ”…””}”(h}ŒO is rounded to the closest integer. Ties are broken by rounding to the nearest ”h~j?ubjP)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*even*”h~j?hnjOho]”hŒŒeven”…””}”(h}h-h~jšubaubhŒŒ4 integer. This rounding strategy, commonly known as ”…””}”(h}Œ4 integer. This rounding strategy, commonly known as ”h~j?ubjP)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*Banker's rounding*”h~j?hnjOho]”hŒŒBanker's rounding”…””}”(h}h-h~j­ubaubhŒŒB, serves to avoid a bias (for instance when averaging or summing).”…””}”(h}ŒB, serves to avoid a bias (for instance when averaging or summing).”h~j?ubeh‘Koh’hubj3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ Example::”h~j6hnj2ho]”hŒŒExample:”…””}”(h}ŒExample:”h~jÀubah‘Kqh’hubj? )”}”(hhh}”(h]”h ]”jE jF h ]”h ]”h]”uh}ŒRround(0.5) = 0 round(1.5) = 2 round(12.345; 2) = 12.34 round(12345; -2) = 12300”h~j6hnj> ho]”hŒŒRround(0.5) = 0 round(1.5) = 2 round(12.345; 2) = 12.34 round(12345; -2) = 12300”…””}”(h}h-h~jÏubah‘Ksh’hubj3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ/Only real, dimensionless arguments are allowed.”h~j6hnj2ho]”hŒŒ/Only real, dimensionless arguments are allowed.”…””}”(h}jåh~jÝubah‘Kh’hubeh‘K€h’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œtrunc() (function)”Œsc.trunc”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~jÖ hnh­ho]”h‘Nh’NhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈjühÉŒsc”h ]”h̉h ]”h]”uh}h-h~jÖ hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jñah ]”h]”jñahÚ‰uh}Œtrunc(x [; n])”h~jùhnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œtrunc”h~jhnhÝho]”hŒŒtrunc”…””}”(h}h-h~jubah‘K‰h’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx; [n]”h~jhnhího]”(hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}j§h~jhnhùho]”hŒŒx”…””}”(h}h-h~j&ubaubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ[n]”h~jhnjho]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jÇh~j3hnhùho]”hŒŒn”…””}”(h}h-h~j=ubaubaubeh‘K‰h’hj%j&hhubeh‘K‰h’hhhubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jùhnj'ho]”(j3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒÅTruncate (rounds toward zero) ``x`` to the next number with ``n`` fractional digits; ``n`` may be omitted, in which case ``x`` is rounded to integer. Only real, dimensionless arguments are allowed.”h~jJhnj2ho]”(hŒŒTruncate (rounds toward zero) ”…””}”(h}ŒTruncate (rounds toward zero) ”h~jSubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~jShnj‘ho]”hŒŒx”…””}”(h}h-h~jbubaubhŒŒ to the next number with ”…””}”(h}Œ to the next number with ”h~jSubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``n``”h~jShnj‘ho]”hŒŒn”…””}”(h}h-h~juubaubhŒŒ fractional digits; ”…””}”(h}Œ fractional digits; ”h~jSubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``n``”h~jShnj‘ho]”hŒŒn”…””}”(h}h-h~jˆubaubhŒŒ may be omitted, in which case ”…””}”(h}Œ may be omitted, in which case ”h~jSubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~jShnj‘ho]”hŒŒx”…””}”(h}h-h~j›ubaubhŒŒG is rounded to integer. Only real, dimensionless arguments are allowed.”…””}”(h}ŒG is rounded to integer. Only real, dimensionless arguments are allowed.”h~jSubeh‘Kƒh’hubh¬Œseealso”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ| :func:`int` | :func:`frac`”h~jJhnj®ho]”hŒ line_block”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j°hnjºho]”(hh‘“”)”}”(Œindent”Kh}”(h ]”h ]”h ]”h]”h]”uh}Œ :func:`int`”h~j¼hnh‘ho]”jæ)”}”(h}”(jêjëh]”h ]”j refexplicit”‰jðŒint”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}jÏh~jÆhnjåho]”j’)”}”(h}”(h ]”h ]”(jjÜŒsc-func”eh ]”h]”h]”uh}jÏh~jÑhnj‘ho]”hŒŒint()”…””}”(h}h-h~jàubaubah‘K†h’hubah‘Kh’hubjÅ)”}”(jÈKh}”(h ]”h ]”h ]”h]”h]”uh}Œ :func:`frac`”h~j¼hnh‘ho]”jæ)”}”(h}”(jêjëh]”h ]”j refexplicit”‰jðŒfrac”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}jöh~jîhnjåho]”j’)”}”(h}”(h ]”h ]”(jjŒsc-func”eh ]”h]”h]”uh}jöh~jøhnj‘ho]”hŒŒfrac()”…””}”(h}h-h~jubaubah‘K‡h’hubah‘Kh’hubeubah‘Nh’Nhhubeh‘K‰h’hhhubeh‘Nh’Nhhubeh‘Kbh’hhhubhr)”}”(h}”(h ]”Œinteger-division”ah ]”h ]”h]”Œinteger division”ah]”uh}h-h~hshnhqho]”(h€)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}ŒInteger Division”h~jhnh@ho]”hŒŒInteger Division”…””}”(h}j(h~j ubah‘K‹h’hhhubh®)”}”(h}”(Œentries”]”(h´Œidiv() (function)”Œsc.idiv”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~jhnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈj?hÉŒsc”h ]”h̉h ]”h]”uh}h-h~jhnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”j4ah ]”h]”j4ahÚ‰uh}Œ idiv(a; b)”h~j<hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œidiv”h~jGhnhÝho]”hŒŒidiv”…””}”(h}h-h~jQubah‘K”h’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œa; b”h~jGhnhího]”(hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œa”h~j_hnhùho]”hŒŒa”…””}”(h}h-h~jiubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œb”h~j_hnhùho]”hŒŒb”…””}”(h}h-h~jwubaubeh‘K”h’hj%j&hhubeh‘K”h’hhhubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j<hnj'ho]”(j3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}X?Compute the integer part of the division ``a/b``. The result is guaranteed to be exact. While ``int(a/b)`` covers a larger range of arguments, the result is computed via floating point arithmetics and may be subject to rounding errors. This function will instead yield an error if the parameters exceed the safe bounds.”h~j…hnj2ho]”(hŒŒ)Compute the integer part of the division ”…””}”(h}Œ)Compute the integer part of the division ”h~jŽubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``a/b``”h~jŽhnj‘ho]”hŒŒa/b”…””}”(h}h-h~jubaubhŒŒ.. The result is guaranteed to be exact. While ”…””}”(h}Œ.. The result is guaranteed to be exact. While ”h~jŽubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ ``int(a/b)``”h~jŽhnj‘ho]”hŒŒint(a/b)”…””}”(h}h-h~j°ubaubhŒŒÕ covers a larger range of arguments, the result is computed via floating point arithmetics and may be subject to rounding errors. This function will instead yield an error if the parameters exceed the safe bounds.”…””}”(h}ŒÕ covers a larger range of arguments, the result is computed via floating point arithmetics and may be subject to rounding errors. This function will instead yield an error if the parameters exceed the safe bounds.”h~jŽubeh‘Kh’hubj3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒÑIt is possible to apply :func:`idiv` to non-integers as well, but be aware that rounding errors might be lead to off-by-one errors. If the result depends on the validity of the guard digits, *NaN* is returned.”h~j…hnj2ho]”(hŒŒIt is possible to apply ”…””}”(h}ŒIt is possible to apply ”h~jÃubjæ)”}”(h}”(jêjëh]”h ]”j refexplicit”‰jðŒidiv”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ :func:`idiv`”h~jÃhnjåho]”j’)”}”(h}”(h ]”h ]”(jjÝŒsc-func”eh ]”h]”h]”uh}jàh~jÒhnj‘ho]”hŒŒidiv()”…””}”(h}h-h~jâubaubah‘K‘h’hubhŒŒ› to non-integers as well, but be aware that rounding errors might be lead to off-by-one errors. If the result depends on the validity of the guard digits, ”…””}”(h}Œ› to non-integers as well, but be aware that rounding errors might be lead to off-by-one errors. If the result depends on the validity of the guard digits, ”h~jÃubjP)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*NaN*”h~jÃhnjOho]”hŒŒNaN”…””}”(h}h-h~jõubaubhŒŒ is returned.”…””}”(h}Œ is returned.”h~jÃubeh‘K‘h’hubj3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ/Only real, dimensionless arguments are allowed.”h~j…hnj2ho]”hŒŒ/Only real, dimensionless arguments are allowed.”…””}”(h}jh~jubah‘K“h’hubeh‘K”h’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œmod() (function)”Œsc.mod”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~jhnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈj'hÉŒsc”h ]”h̉h ]”h]”uh}h-h~jhnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jah ]”h]”jahÚ‰uh}Œ mod(a; b)”h~j$hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œmod”h~j/hnhÝho]”hŒŒmod”…””}”(h}h-h~j9ubah‘Kžh’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œa; b”h~j/hnhího]”(hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jqh~jGhnhùho]”hŒŒa”…””}”(h}h-h~jQubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jh~jGhnhùho]”hŒŒb”…””}”(h}h-h~j^ubaubeh‘Kžh’hj%j&hhubeh‘Kžh’hhhubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j$hnj'ho]”(j3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ~Compute the remainder of the integer division ``a/b``. The divisor ``b`` must be non-zero. The result takes the sign of ``a``.”h~jkhnj2ho]”(hŒŒ.Compute the remainder of the integer division ”…””}”(h}Œ.Compute the remainder of the integer division ”h~jtubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``a/b``”h~jthnj‘ho]”hŒŒa/b”…””}”(h}h-h~jƒubaubhŒŒ. The divisor ”…””}”(h}Œ. The divisor ”h~jtubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``b``”h~jthnj‘ho]”hŒŒb”…””}”(h}h-h~j–ubaubhŒŒ0 must be non-zero. The result takes the sign of ”…””}”(h}Œ0 must be non-zero. The result takes the sign of ”h~jtubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``a``”h~jthnj‘ho]”hŒŒa”…””}”(h}h-h~j©ubaubhŒŒ.”…””}”(h}j h~jtubeh‘K—h’hubj3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒUThis function always returns an exact result, provided that the parameters are exact.”h~jkhnj2ho]”hŒŒUThis function always returns an exact result, provided that the parameters are exact.”…””}”(h}jÃh~j»ubah‘K™h’hubj3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒâYou can use this function with non-integers as well, but rounding errors might lead to off-by-one errors. Evaluating :func:`mod` can be computationally expensive, so the function is internally restricted to 250 division loops.”h~jkhnj2ho]”(hŒŒuYou can use this function with non-integers as well, but rounding errors might lead to off-by-one errors. Evaluating ”…””}”(h}ŒuYou can use this function with non-integers as well, but rounding errors might lead to off-by-one errors. Evaluating ”h~jÉubjæ)”}”(h}”(jêjëh]”h ]”j refexplicit”‰jðŒmod”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ :func:`mod`”h~jÉhnjåho]”j’)”}”(h}”(h ]”h ]”(jjãŒsc-func”eh ]”h]”h]”uh}jæh~jØhnj‘ho]”hŒŒmod()”…””}”(h}h-h~jèubaubah‘K›h’hubhŒŒb can be computationally expensive, so the function is internally restricted to 250 division loops.”…””}”(h}Œb can be computationally expensive, so the function is internally restricted to 250 division loops.”h~jÉubeh‘K›h’hubj3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ/Only real, dimensionless arguments are allowed.”h~jkhnj2ho]”hŒŒ/Only real, dimensionless arguments are allowed.”…””}”(h}jh~jûubah‘Kh’hubeh‘Kžh’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œgcd() (function)”Œsc.gcd”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~jhnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈjhÉŒsc”h ]”h̉h ]”h]”uh}h-h~jhnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jah ]”h]”jahÚ‰uh}Œgcd(n1; n2; ...)”h~jhnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œgcd”h~j"hnhÝho]”hŒŒgcd”…””}”(h}h-h~j,ubah‘K©h’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ n1; n2; ...”h~j"hnhího]”(hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œn1”h~j:hnhùho]”hŒŒn1”…””}”(h}h-h~jDubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œn2”h~j:hnhùho]”hŒŒn2”…””}”(h}h-h~jRubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ...”h~j:hnhùho]”hŒŒ...”…””}”(h}h-h~j`ubaubeh‘K©h’hj%j&hhubeh‘K©h’hhhubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jhnj'ho]”(j3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒîReturns the greatest common divisor of the arguments (at least two must be given). You can use this function to reduce a rational number. If a rational number is given as ``p/q``, its reduced form is ``(p / gcd(p; q)) / (q / gcd(p; q))``.”h~jnhnj2ho]”(hŒŒ«Returns the greatest common divisor of the arguments (at least two must be given). You can use this function to reduce a rational number. If a rational number is given as ”…””}”(h}Œ«Returns the greatest common divisor of the arguments (at least two must be given). You can use this function to reduce a rational number. If a rational number is given as ”h~jwubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``p/q``”h~jwhnj‘ho]”hŒŒp/q”…””}”(h}h-h~j†ubaubhŒŒ, its reduced form is ”…””}”(h}Œ, its reduced form is ”h~jwubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ%``(p / gcd(p; q)) / (q / gcd(p; q))``”h~jwhnj‘ho]”hŒŒ!(p / gcd(p; q)) / (q / gcd(p; q))”…””}”(h}h-h~j™ubaubhŒŒ.”…””}”(h}j h~jwubeh‘K¡h’hubj3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒœA closely related function is ``lcm()`` (*least common multiple*). While ``lcm()`` is not defined by default in SpeedCrunch, you can define it yourself as::”h~jnhnj2ho]”(hŒŒA closely related function is ”…””}”(h}ŒA closely related function is ”h~j«ubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ ``lcm()``”h~j«hnj‘ho]”hŒŒlcm()”…””}”(h}h-h~jºubaubhŒŒ (”…””}”(h}Œ (”h~j«ubjP)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*least common multiple*”h~j«hnjOho]”hŒŒleast common multiple”…””}”(h}h-h~jÍubaubhŒŒ ). While ”…””}”(h}Œ ). While ”h~j«ubj’)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ ``lcm()``”h~j«hnj‘ho]”hŒŒlcm()”…””}”(h}h-h~jàubaubhŒŒI is not defined by default in SpeedCrunch, you can define it yourself as:”…””}”(h}ŒI is not defined by default in SpeedCrunch, you can define it yourself as:”h~j«ubeh‘K¤h’hubj? )”}”(hhh}”(h]”h ]”jE jF h ]”h ]”h]”uh}Œ#lcm(n1; n2) = n1 * n2 / gcd(n1; n2)”h~jnhnj> ho]”hŒŒ#lcm(n1; n2) = n1 * n2 / gcd(n1; n2)”…””}”(h}h-h~jóubah‘K§h’hubj3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ)Only real, integer arguments are allowed.”h~jnhnj2ho]”hŒŒ)Only real, integer arguments are allowed.”…””}”(h}j h~jubah‘K©h’hubeh‘K©h’hhhubeh‘Nh’hhhubeh‘K‹h’hhhubeh‘Kh’hhhubaŒ nametypes”}”(jõ ˆjNh›NjjˆjV ˆjŠˆjƒ ˆji ˆjÒ Nj4ˆjÛ ˆjÒˆjˆjö ˆjDˆh¶ˆjˆj®ˆh{NjÞ Njñˆjˆj ˆjh ˆuŒids”}”(jõ j jjj}jV ji jŠjjƒ j– ji j| j4jGh—h“jÛ jî jÒjåjÎ jÊ jj"jö j jjjDjWh¶hÒjj"j®jÁjÚ jÖ jñjjj/j j# hwhsjh j{ uŒtransform_messages”]”Œcurrent_source”NŒsymbol_footnote_refs”]”Œindirect_targets”]”Œsubstitution_names”}”Œrefids”}”Œ citation_refs”}”Œsymbol_footnote_start”KŒautofootnote_start”KhhŒid_start”Kh}h-Œ decoration”NŒ footnotes”]”Œ footnote_refs”}”Œ autofootnotes”]”Œnameids”}”(jõ jõ jjh›h—jjjjjV jV jŠjŠjƒ jƒ ji ji jÒ jÎ j4j4jÛ jÛ jÒjÒjjjö jö jDjDh¶h¶jjj®j®h{hwjÞ jÚ jñjñjjj j jh jh uub.statistical.doctree000066400000000000000000002212121301713744000341610ustar00rootroot00000000000000heldercorreia-speedcrunch-ea93b21f9498/doc/build_html_embedded/_doctrees/reference€•„Œdocutils.nodes”Œdocument”“”)”}”(Œ attributes”}”(Œbackrefs”]”Œclasses”]”Œids”]”Œdupnames”]”Œnames”]”Œsource”Œ>C:\Users\fk\Code\speedcrunch\doc\src\reference\statistical.rst”uŒ citations”]”Œautofootnote_refs”]”Œsettings”Œdocutils.frontend”ŒValues”“”)”}”(Œinput_encoding_error_handler”Œstrict”Œinput_encoding”Œ utf-8-sig”Œcloak_email_addresses”ˆŒ_source”hŒconfig”NŒexpose_internals”NŒ strip_classes”NŒstrip_elements_with_classes”NŒenv”NŒdump_pseudo_xml”NŒrecord_dependencies”NŒ datestamp”NŒpep_references”NŒ id_prefix”Œ”Œ report_level”KŒtrim_footnote_reference_space”‰Œembed_stylesheet”‰Œ docinfo_xform”KŒdump_transforms”NŒauto_id_prefix”Œid”Œ pep_base_url”Œ https://www.python.org/dev/peps/”Œ tab_width”KŒsectsubtitle_xform”‰Œrfc_references”NŒ toc_backlinks”Œentry”Œ dump_settings”NŒ raw_enabled”KŒ rfc_base_url”Œhttps://tools.ietf.org/html/”Œtitle”NŒstrip_comments”NŒ _config_files”]”Œ sectnum_xform”KŒdebug”NŒ generator”NŒoutput_encoding”Œutf-8”Œerror_encoding”Œcp850”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œdoctitle_xform”‰Œgettext_compact”ˆŒ source_link”NŒ traceback”ˆŒoutput_encoding_error_handler”hŒstrict_visitor”NŒsyntax_highlight”Œlong”Œdump_internals”NŒexit_status_level”KŒfootnote_backlinks”KŒpep_file_url_template”Œpep-%04d”Œ halt_level”KŒ_disable_config”NŒ _destination”NŒ smart_quotes”‰Œfile_insertion_enabled”ˆŒ source_url”NŒwarning_stream”NubŒrefnames”}”Œreporter”NŒ current_line”NŒ transformer”NŒparse_messages”]”Œsubstitution_defs”}”Œsymbol_footnotes”]”Œtagname”hŒchildren”]”hŒsection”“”)”}”(h}”(h ]”Œstatistical-functions”ah ]”h ]”h]”Œstatistical functions”ah]”uŒ rawsource”h-Œparent”hhnhqho]”(hh@“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}ŒStatistical Functions”h~hshnh@ho]”hŒText”“”ŒStatistical Functions”…””}”(h}h‰h~hubaŒline”KŒsource”hhhubhr)”}”(h}”(h ]”Œgeneral”ah ]”h ]”h]”Œgeneral”ah]”uh}h-h~hshnhqho]”(h€)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}ŒGeneral”h~h“hnh@ho]”hŒŒGeneral”…””}”(h}h¦h~hžubah‘Kh’hhhubŒsphinx.addnodes”Œindex”“”)”}”(h}”(Œentries”]”(Œsingle”Œaverage() (function)”Œ sc.average”h-Nt”ah]”h ]”h ]”Œ translatable”ˆh ]”h]”uh}h-h~h“hnh­ho]”h‘Nh’hhhubh¬Œdesc”“”)”}”(h}”(Œdesctype”Œfunction”h]”h ]”Œobjtype”hÅŒdomain”Œsc”h ]”Œnoindex”‰h ]”h]”uh}h-h~h“hnh¿ho]”(h¬Œdesc_signature”“”)”}”(h}”(h]”h ]”h ]”h¶ah ]”h]”h¶aŒfirst”‰uh}Œaverage(x1; x2; ...)”h~hÁhnhÐho]”(h¬Œ desc_name”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œaverage”h~hÒhnhÝho]”hŒŒaverage”…””}”(h}h-h~hßubah‘K h’hhhubh¬Œdesc_parameterlist”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ x1; x2; ...”h~hÒhnhího]”(h¬Œdesc_parameter”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx1”h~hïhnhùho]”hŒŒx1”…””}”(h}h-h~hûubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx2”h~hïhnhùho]”hŒŒx2”…””}”(h}h-h~j ubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ...”h~hïhnhùho]”hŒŒ...”…””}”(h}h-h~jubaubeh‘K h’hŒchild_text_separator”Œ; ”hhubeh‘K h’hhhubh¬Œ desc_content”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~hÁhnj'ho]”hŒ paragraph”“”)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒComputes the arithmetic average of the arguments (sum of the arguments divided by their number). The arguments must share the same dimension.”h~j)hnj2ho]”hŒŒComputes the arithmetic average of the arguments (sum of the arguments divided by their number). The arguments must share the same dimension.”…””}”(h}j<h~j4ubah‘K h’hubah‘K h’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œgeomean() (function)”Œ sc.geomean”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~h“hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈjShÉŒsc”h ]”h̉h ]”h]”uh}h-h~h“hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jHah ]”h]”jHahÚ‰uh}Œgeomean(x1; x2; ...)”h~jPhnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œgeomean”h~j[hnhÝho]”hŒŒgeomean”…””}”(h}h-h~jeubah‘Kh’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ x1; x2; ...”h~j[hnhího]”(hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx1”h~jshnhùho]”hŒŒx1”…””}”(h}h-h~j}ubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx2”h~jshnhùho]”hŒŒx2”…””}”(h}h-h~j‹ubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ...”h~jshnhùho]”hŒŒ...”…””}”(h}h-h~j™ubaubeh‘Kh’hj%j&hhubeh‘Kh’hhhubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jPhnj'ho]”j3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}X?Computes the geometric mean of the arguments, defined by ``product(x1; x2; ...)^(1/n)`` where ``n`` is the number of arguments. All the arguments may each have a different dimension. The geometric mean is useful for comparing sets of quantities that are very different in order of magnitude and even possibly dimension.”h~j§hnj2ho]”(hŒŒ9Computes the geometric mean of the arguments, defined by ”…””}”(h}Œ9Computes the geometric mean of the arguments, defined by ”h~j°ubhŒliteral”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``product(x1; x2; ...)^(1/n)``”h~j°hnj¿ho]”hŒŒproduct(x1; x2; ...)^(1/n)”…””}”(h}h-h~jÁubaubhŒŒ where ”…””}”(h}Œ where ”h~j°ubjÀ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``n``”h~j°hnj¿ho]”hŒŒn”…””}”(h}h-h~jÔubaubhŒŒÜ is the number of arguments. All the arguments may each have a different dimension. The geometric mean is useful for comparing sets of quantities that are very different in order of magnitude and even possibly dimension.”…””}”(h}ŒÜ is the number of arguments. All the arguments may each have a different dimension. The geometric mean is useful for comparing sets of quantities that are very different in order of magnitude and even possibly dimension.”h~j°ubeh‘K h’hubah‘Kh’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œmedian() (function)”Œ sc.median”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~h“hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈjøhÉŒsc”h ]”h̉h ]”h]”uh}h-h~h“hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jíah ]”h]”jíahÚ‰uh}Œmedian(x1; x2; ...)”h~jõhnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œmedian”h~jhnhÝho]”hŒŒmedian”…””}”(h}h-h~j ubah‘Kh’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ x1; x2; ...”h~jhnhího]”(hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx1”h~jhnhùho]”hŒŒx1”…””}”(h}h-h~j"ubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx2”h~jhnhùho]”hŒŒx2”…””}”(h}h-h~j0ubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ...”h~jhnhùho]”hŒŒ...”…””}”(h}h-h~j>ubaubeh‘Kh’hj%j&hhubeh‘Kh’hhhubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jõhnj'ho]”(j3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒoComputes the median of the arguments, i.e. the value dividing the set of arguments into two evenly sized parts.”h~jLhnj2ho]”hŒŒoComputes the median of the arguments, i.e. the value dividing the set of arguments into two evenly sized parts.”…””}”(h}j]h~jUubah‘Kh’hubj3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒãFirst the set of arguments is sorted. If the number of arguments is odd, the element in the middle of the sorted list is returned. If the number of arguments is even, the arithmetic mean of the two central elements is returned.”h~jLhnj2ho]”hŒŒãFirst the set of arguments is sorted. If the number of arguments is odd, the element in the middle of the sorted list is returned. If the number of arguments is even, the arithmetic mean of the two central elements is returned.”…””}”(h}jkh~jcubah‘Kh’hubeh‘Kh’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œmin() (function)”Œsc.min”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~h“hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈj‚hÉŒsc”h ]”h̉h ]”h]”uh}h-h~h“hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jwah ]”h]”jwahÚ‰uh}Œmin(x1; x2; ...)”h~jhnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œmin”h~jŠhnhÝho]”hŒŒmin”…””}”(h}h-h~j”ubah‘Kh’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ x1; x2; ...”h~jŠhnhího]”(hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx1”h~j¢hnhùho]”hŒŒx1”…””}”(h}h-h~j¬ubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx2”h~j¢hnhùho]”hŒŒx2”…””}”(h}h-h~jºubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ...”h~j¢hnhùho]”hŒŒ...”…””}”(h}h-h~jÈubaubeh‘Kh’hj%j&hhubeh‘Kh’hhhubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jhnj'ho]”j3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒoReturns the minimum out of the supplied argument list. The arguments must be real and share the same dimension.”h~jÖhnj2ho]”hŒŒoReturns the minimum out of the supplied argument list. The arguments must be real and share the same dimension.”…””}”(h}jçh~jßubah‘Kh’hubah‘Kh’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œmax() (function)”Œsc.max”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~h“hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈjþhÉŒsc”h ]”h̉h ]”h]”uh}h-h~h“hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jóah ]”h]”jóahÚ‰uh}Œmax(x1; x2; ...)”h~jûhnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œmax”h~jhnhÝho]”hŒŒmax”…””}”(h}h-h~jubah‘Kh’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ x1; x2; ...”h~jhnhího]”(hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx1”h~jhnhùho]”hŒŒx1”…””}”(h}h-h~j(ubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx2”h~jhnhùho]”hŒŒx2”…””}”(h}h-h~j6ubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ...”h~jhnhùho]”hŒŒ...”…””}”(h}h-h~jDubaubeh‘Kh’hj%j&hhubeh‘Kh’hhhubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jûhnj'ho]”j3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒoReturns the maximum out of the supplied argument list. The arguments must be real and share the same dimension.”h~jRhnj2ho]”hŒŒoReturns the maximum out of the supplied argument list. The arguments must be real and share the same dimension.”…””}”(h}jch~j[ubah‘Kh’hubah‘Kh’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œsum() (function)”Œsc.sum”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~h“hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈjzhÉŒsc”h ]”h̉h ]”h]”uh}h-h~h“hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”joah ]”h]”joahÚ‰uh}Œsum(x1; x2; ...)”h~jwhnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œsum”h~j‚hnhÝho]”hŒŒsum”…””}”(h}h-h~jŒubah‘K h’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ x1; x2; ...”h~j‚hnhího]”(hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx1”h~jšhnhùho]”hŒŒx1”…””}”(h}h-h~j¤ubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx2”h~jšhnhùho]”hŒŒx2”…””}”(h}h-h~j²ubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ...”h~jšhnhùho]”hŒŒ...”…””}”(h}h-h~jÀubaubeh‘K h’hj%j&hhubeh‘K h’hhhubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jwhnj'ho]”j3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒQComputes the sum of all the given arguments. These must share the same dimension.”h~jÎhnj2ho]”hŒŒQComputes the sum of all the given arguments. These must share the same dimension.”…””}”(h}jßh~j×ubah‘Kh’hubah‘K h’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œproduct() (function)”Œ sc.product”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~h“hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈjöhÉŒsc”h ]”h̉h ]”h]”uh}h-h~h“hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jëah ]”h]”jëahÚ‰uh}Œproduct(x1; x2; ...)”h~jóhnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œproduct”h~jþhnhÝho]”hŒŒproduct”…””}”(h}h-h~jubah‘K$h’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ x1; x2; ...”h~jþhnhího]”(hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx1”h~jhnhùho]”hŒŒx1”…””}”(h}h-h~j ubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx2”h~jhnhùho]”hŒŒx2”…””}”(h}h-h~j.ubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ...”h~jhnhùho]”hŒŒ...”…””}”(h}h-h~j<ubaubeh‘K$h’hj%j&hhubeh‘K$h’hhhubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jóhnj'ho]”j3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ0Computes the product of all the given arguments.”h~jJhnj2ho]”hŒŒ0Computes the product of all the given arguments.”…””}”(h}j[h~jSubah‘K#h’hubah‘K$h’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œvariance() (function)”Œ sc.variance”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~h“hnh­ho]”h‘Nh’NhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈjrhÉŒsc”h ]”h̉h ]”h]”uh}h-h~h“hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jgah ]”h]”jgahÚ‰uh}Œvariance(x1; x2; ...)”h~johnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œvariance”h~jzhnhÝho]”hŒŒvariance”…””}”(h}h-h~j„ubah‘K.h’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ x1; x2; ...”h~jzhnhího]”(hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx1”h~j’hnhùho]”hŒŒx1”…””}”(h}h-h~jœubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx2”h~j’hnhùho]”hŒŒx2”…””}”(h}h-h~jªubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ...”h~j’hnhùho]”hŒŒ...”…””}”(h}h-h~j¸ubaubeh‘K.h’hj%j&hhubeh‘K.h’hhhubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~johnj'ho]”(j3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒqComputes the population variance of the arguments. The variance is measure for the spreading of a set of numbers.”h~jÆhnj2ho]”hŒŒqComputes the population variance of the arguments. The variance is measure for the spreading of a set of numbers.”…””}”(h}j×h~jÏubah‘K'h’hubj3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ,The arguments must share the same dimension.”h~jÆhnj2ho]”hŒŒ,The arguments must share the same dimension.”…””}”(h}jåh~jÝubah‘K)h’hubhŒnote”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}ŒâThis function computes the *population variance*, which assumes that all possible realizations are all given as arguments. A function to estimate the variance from a sample (*sample variance*) is not included with SpeedCrunch.”h~jÆhnjëho]”j3)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jõh~jíhnj2ho]”(hŒŒThis function computes the ”…””}”(h}ŒThis function computes the ”h~j÷ubhŒemphasis”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*population variance*”h~j÷hnjho]”hŒŒpopulation variance”…””}”(h}h-h~jubaubhŒŒ~, which assumes that all possible realizations are all given as arguments. A function to estimate the variance from a sample (”…””}”(h}Œ~, which assumes that all possible realizations are all given as arguments. A function to estimate the variance from a sample (”h~j÷ubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*sample variance*”h~j÷hnjho]”hŒŒsample variance”…””}”(h}h-h~jubaubhŒŒ#) is not included with SpeedCrunch.”…””}”(h}Œ#) is not included with SpeedCrunch.”h~j÷ubeh‘K-h’hubah‘Nh’hhhubeh‘K.h’hhhubeh‘Nh’Nhhubh®)”}”(h}”(Œentries”]”(h´Œstddev() (function)”Œ sc.stddev”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~h“hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈj>hÉŒsc”h ]”h̉h ]”h]”uh}h-h~h“hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”j3ah ]”h]”j3ahÚ‰uh}Œstddev(x1; x2; ...)”h~j;hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œstddev”h~jFhnhÝho]”hŒŒstddev”…””}”(h}h-h~jPubah‘K2h’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ x1; x2; ...”h~jFhnhího]”(hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx1”h~j^hnhùho]”hŒŒx1”…””}”(h}h-h~jhubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx2”h~j^hnhùho]”hŒŒx2”…””}”(h}h-h~jvubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ...”h~j^hnhùho]”hŒŒ...”…””}”(h}h-h~j„ubaubeh‘K2h’hj%j&hhubeh‘K2h’hhhubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j;hnj'ho]”j3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ•Computes the standard deviation of the given arguments. It is obtained by taking the square root of the :func:`variance ` of its arguments.”h~j’hnj2ho]”(hŒŒhComputes the standard deviation of the given arguments. It is obtained by taking the square root of the ”…””}”(h}ŒhComputes the standard deviation of the given arguments. It is obtained by taking the square root of the ”h~j›ubh¬Œ pending_xref”“”)”}”(h}”(Œrefdoc”Œreference/statistical”h]”h ]”Œrefwarn”‰Œ refexplicit”ˆŒ reftarget”Œvariance”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ:func:`variance `”h~j›hnjªho]”jÀ)”}”(h}”(h ]”h ]”(Œxref”j»Œsc-func”eh ]”h]”h]”uh}j¾h~j¬hnj¿ho]”hŒŒvariance”…””}”(h}h-h~jÀubaubah‘K1h’hubhŒŒ of its arguments.”…””}”(h}Œ of its arguments.”h~j›ubeh‘K1h’hubah‘K2h’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œabsdev() (function)”Œ sc.absdev”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~h“hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈjåhÉŒsc”h ]”h̉h ]”h]”uh}h-h~h“hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jÚah ]”h]”jÚahÚ‰uh}Œabsdev(x1; x2; ...)”h~jâhnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œabsdev”h~jíhnhÝho]”hŒŒabsdev”…””}”(h}h-h~j÷ubah‘K:h’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ x1; x2; ...”h~jíhnhího]”(hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx1”h~jhnhùho]”hŒŒx1”…””}”(h}h-h~jubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx2”h~jhnhùho]”hŒŒx2”…””}”(h}h-h~jubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ...”h~jhnhùho]”hŒŒ...”…””}”(h}h-h~j+ubaubeh‘K:h’hj%j&hhubeh‘K:h’hhhubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jâhnj'ho]”(j3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ‡Computes the average absolute deviation of the arguments from their mean. This means that, with ``x = average(x1; x2; ...)``, we have::”h~j9hnj2ho]”(hŒŒ`Computes the average absolute deviation of the arguments from their mean. This means that, with ”…””}”(h}Œ`Computes the average absolute deviation of the arguments from their mean. This means that, with ”h~jBubjÀ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x = average(x1; x2; ...)``”h~jBhnj¿ho]”hŒŒx = average(x1; x2; ...)”…””}”(h}h-h~jQubaubhŒŒ , we have:”…””}”(h}Œ , we have:”h~jBubeh‘K5h’hubhŒ literal_block”“”)”}”(hhh}”(h]”h ]”Œ xml:space”Œpreserve”h ]”h ]”h]”uh}Œ6absdev(x1; x2; ... ) = abs(x1 - x) + abs(x2 - x) + ...”h~j9hnjdho]”hŒŒ6absdev(x1; x2; ... ) = abs(x1 - x) + abs(x2 - x) + ...”…””}”(h}h-h~jfubah‘K7h’hubeh‘K:h’hhhubeh‘Nh’hhhubhŒtarget”“”)”}”(h}”(h]”h ]”h ]”Œrefid”Œbinomial-distribution”h ]”h]”uh}Œ.. _binomial-distribution:”h~h“hnjvho]”h‘K;h’hhhubeh‘Kh’hhhubhr)”}”(h}”(h ]”(jŒid1”eh ]”h ]”h]”(Œbinomial distribution”Œbinomial-distribution”eh]”uŒexpect_referenced_by_name”}”jjxsŒexpect_referenced_by_id”}”jjxsh}h-h~hshnhqho]”(h€)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}ŒBinomial Distribution”h~j„hnh@ho]”hŒŒBinomial Distribution”…””}”(h}jœh~j”ubah‘K>h’hhhubj3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}XÿThe binomial distribution is described by the parameters ``N`` and ``p``. It gives the probability distribution of the number of successful trials, when the total number of trials is given by ``N``, and each test is successful with probability ``p``. Not that unlike the :ref:`hypergeometric-distribution`, the probability ``p`` remains the same for all draws. The binomial distribution can be thought of drawing *with* replacement, while the hypergeometric distribution describes drawing *without* replacement.”h~j„hnj2ho]”(hŒŒ9The binomial distribution is described by the parameters ”…””}”(h}Œ9The binomial distribution is described by the parameters ”h~j¢ubjÀ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``N``”h~j¢hnj¿ho]”hŒŒN”…””}”(h}h-h~j±ubaubhŒŒ and ”…””}”(h}Œ and ”h~j¢ubjÀ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``p``”h~j¢hnj¿ho]”hŒŒp”…””}”(h}h-h~jÄubaubhŒŒx. It gives the probability distribution of the number of successful trials, when the total number of trials is given by ”…””}”(h}Œx. It gives the probability distribution of the number of successful trials, when the total number of trials is given by ”h~j¢ubjÀ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``N``”h~j¢hnj¿ho]”hŒŒN”…””}”(h}h-h~j×ubaubhŒŒ/, and each test is successful with probability ”…””}”(h}Œ/, and each test is successful with probability ”h~j¢ubjÀ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``p``”h~j¢hnj¿ho]”hŒŒp”…””}”(h}h-h~jêubaubhŒŒ. Not that unlike the ”…””}”(h}Œ. Not that unlike the ”h~j¢ubj«)”}”(h}”(j¯j°h]”h ]”j³ˆŒ refexplicit”‰jµŒhypergeometric-distribution”h ]”Œreftype”Œref”Œ refdomain”Œstd”h ]”h]”uh}Œ":ref:`hypergeometric-distribution`”h~j¢hnjªho]”hŒinline”“”)”}”(h}”(h ]”h ]”(jÅjŒstd-ref”eh ]”h]”h]”uh}j h~jýhnj ho]”hŒŒhypergeometric-distribution”…””}”(h}h-h~jubaubah‘K@h’hubhŒŒ, the probability ”…””}”(h}Œ, the probability ”h~j¢ubjÀ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``p``”h~j¢hnj¿ho]”hŒŒp”…””}”(h}h-h~j"ubaubhŒŒU remains the same for all draws. The binomial distribution can be thought of drawing ”…””}”(h}ŒU remains the same for all draws. The binomial distribution can be thought of drawing ”h~j¢ubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*with*”h~j¢hnjho]”hŒŒwith”…””}”(h}h-h~j5ubaubhŒŒF replacement, while the hypergeometric distribution describes drawing ”…””}”(h}ŒF replacement, while the hypergeometric distribution describes drawing ”h~j¢ubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *without*”h~j¢hnjho]”hŒŒwithout”…””}”(h}h-h~jHubaubhŒŒ replacement.”…””}”(h}Œ replacement.”h~j¢ubeh‘K@h’hubh®)”}”(h}”(Œentries”]”(h´Œbinomcdf() (function)”Œ sc.binomcdf”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~j„hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈjlhÉŒsc”h ]”h̉h ]”h]”uh}h-h~j„hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jaah ]”h]”jaahÚ‰uh}Œbinomcdf(x; N; p)”h~jihnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œbinomcdf”h~jthnhÝho]”hŒŒbinomcdf”…””}”(h}h-h~j~ubah‘KSh’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx; N; p”h~jthnhího]”(hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx”h~jŒhnhùho]”hŒŒx”…””}”(h}h-h~j–ubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}ŒN”h~jŒhnhùho]”hŒŒN”…””}”(h}h-h~j¤ubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œp”h~jŒhnhùho]”hŒŒp”…””}”(h}h-h~j²ubaubeh‘KSh’hj%j&hhubeh‘KSh’hhhubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jihnj'ho]”(j3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ*Binomial cumulative distribution function.”h~jÀhnj2ho]”hŒŒ*Binomial cumulative distribution function.”…””}”(h}jÑh~jÉubah‘KDh’hubhŒ field_list”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jÀhnj×ho]”hŒfield”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jÙhnjâho]”(hŒ field_name”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ Parameters”h~jähnjího]”hŒŒ Parameters”…””}”(h}h-h~jïubaubhŒ field_body”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jähnjýho]”hŒ bullet_list”“”)”}”(ho]”(hŒ list_item”“”)”}”(ho]”j3)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ1x -- maximum number of successes, must be integer”h~jhnj2ho]”(h¬Œliteral_strong”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jžh~jhnjho]”hŒŒx”…””}”(h}h-h~jubaubhŒŒ -- ”…””}”(h}h-h~jubhŒŒ,maximum number of successes, must be integer”…””}”(h}Œ,maximum number of successes, must be integer”h~jubeubah}”(h ]”h ]”h ]”h]”h]”uh}h-h~j hnj ubj)”}”(ho]”j3)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ1N -- number of trials, must be a positive integer”h~j:hnj2ho]”(j)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}j¬h~j=hnjho]”hŒŒN”…””}”(h}h-h~jGubaubhŒŒ -- ”…””}”(h}h-h~j=ubhŒŒ,number of trials, must be a positive integer”…””}”(h}Œ,number of trials, must be a positive integer”h~j=ubeubah}”(h ]”h ]”h ]”h]”h]”uh}h-h~j hnj ubj)”}”(ho]”j3)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ7p -- probability to succeed a single trial, 0 <= p <= 1”h~jchnj2ho]”(j)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jºh~jfhnjho]”hŒŒp”…””}”(h}h-h~jpubaubhŒŒ -- ”…””}”(h}h-h~jfubhŒŒ'probability to succeed a single trial, ”…””}”(h}Œ'probability to succeed a single trial, ”h~jfubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *0 <= p <= 1*”h~jfhnjho]”hŒŒ 0 <= p <= 1”…””}”(h}h-h~j†ubaubeubah}”(h ]”h ]”h ]”h]”h]”uh}h-h~j hnj ubeh}”(h ]”h ]”h ]”h]”h]”uh}h-h~jÿhnjubaubeubah‘Nh’hhhubj3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒÂThe function computes the probability, that, for ``N`` independent repetitions of a test successful with probability ``p`` each, the total number of successes is **less than or equal** to ``x``.”h~jÀhnj2ho]”(hŒŒ1The function computes the probability, that, for ”…””}”(h}Œ1The function computes the probability, that, for ”h~j ubjÀ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``N``”h~j hnj¿ho]”hŒŒN”…””}”(h}h-h~j¯ubaubhŒŒ? independent repetitions of a test successful with probability ”…””}”(h}Œ? independent repetitions of a test successful with probability ”h~j ubjÀ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``p``”h~j hnj¿ho]”hŒŒp”…””}”(h}h-h~jÂubaubhŒŒ( each, the total number of successes is ”…””}”(h}Œ( each, the total number of successes is ”h~j ubhŒstrong”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ**less than or equal**”h~j hnjÕho]”hŒŒless than or equal”…””}”(h}h-h~j×ubaubhŒŒ to ”…””}”(h}Œ to ”h~j ubjÀ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~j hnj¿ho]”hŒŒx”…””}”(h}h-h~jêubaubhŒŒ.”…””}”(h}Œ.”h~j ubeh‘KJh’hubj3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒfExample: When tossing a fair coin 9 times, what is the probability that we find Heads at most 5 times?”h~jÀhnj2ho]”hŒŒfExample: When tossing a fair coin 9 times, what is the probability that we find Heads at most 5 times?”…””}”(h}j h~jýubah‘KLh’hubje)”}”(hhh}”(h]”h ]”jkjlh ]”h ]”h]”uh}Œ binomcdf(5; 9; 0.5) = 0.74609375”h~jÀhnjdho]”hŒŒ binomcdf(5; 9; 0.5) = 0.74609375”…””}”(h}h-h~j ubah‘KPh’hubeh‘KSh’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œbinompmf() (function)”Œ sc.binompmf”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~j„hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈj* hÉŒsc”h ]”h̉h ]”h]”uh}h-h~j„hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”j ah ]”h]”j ahÚ‰uh}Œbinompmf(x; N; p)”h~j' hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œbinompmf”h~j2 hnhÝho]”hŒŒbinompmf”…””}”(h}h-h~j< ubah‘Kdh’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx; N; p”h~j2 hnhího]”(hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jžh~jJ hnhùho]”hŒŒx”…””}”(h}h-h~jT ubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}j¬h~jJ hnhùho]”hŒŒN”…””}”(h}h-h~ja ubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jºh~jJ hnhùho]”hŒŒp”…””}”(h}h-h~jn ubaubeh‘Kdh’hj%j&hhubeh‘Kdh’hhhubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j' hnj'ho]”(j3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ#Binomial probability mass function.”h~j{ hnj2ho]”hŒŒ#Binomial probability mass function.”…””}”(h}jŒ h~j„ ubah‘KVh’hubjØ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j{ hnj×ho]”jã)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j’ hnjâho]”(jî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ Parameters”h~j› hnjího]”hŒŒ Parameters”…””}”(h}h-h~j¤ ubaubjþ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j› hnjýho]”j )”}”(ho]”(j)”}”(ho]”j3)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ1x -- maximum number of successes, must be integer”h~j¾ hnj2ho]”(j)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jžh~jÁ hnjho]”hŒŒx”…””}”(h}h-h~jË ubaubhŒŒ -- ”…””}”(h}h-h~jÁ ubhŒŒ,maximum number of successes, must be integer”…””}”(h}Œ,maximum number of successes, must be integer”h~jÁ ubeubah}”(h ]”h ]”h ]”h]”h]”uh}h-h~j» hnj ubj)”}”(ho]”j3)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ1N -- number of trials, must be a positive integer”h~jç hnj2ho]”(j)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}j¬h~jê hnjho]”hŒŒN”…””}”(h}h-h~jô ubaubhŒŒ -- ”…””}”(h}h-h~jê ubhŒŒ,number of trials, must be a positive integer”…””}”(h}Œ,number of trials, must be a positive integer”h~jê ubeubah}”(h ]”h ]”h ]”h]”h]”uh}h-h~j» hnj ubj)”}”(ho]”j3)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ7p -- probability to succeed a single trial, 0 <= p <= 1”h~j hnj2ho]”(j)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jºh~j hnjho]”hŒŒp”…””}”(h}h-h~j ubaubhŒŒ -- ”…””}”(h}h-h~j ubhŒŒ'probability to succeed a single trial, ”…””}”(h}Œ'probability to succeed a single trial, ”h~j ubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *0 <= p <= 1*”h~j hnjho]”hŒŒ 0 <= p <= 1”…””}”(h}h-h~j3 ubaubeubah}”(h ]”h ]”h ]”h]”h]”uh}h-h~j» hnj ubeh}”(h ]”h ]”h ]”h]”h]”uh}h-h~j² hnjubaubeubah‘Nh’hhhubj3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ¾The function computes the probability, that, for ``N`` independent repetitions of a test, each successful with probability ``p``, the total number of successes is **exactly equal** to ``x``.”h~j{ hnj2ho]”(hŒŒ1The function computes the probability, that, for ”…””}”(h}Œ1The function computes the probability, that, for ”h~jM ubjÀ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``N``”h~jM hnj¿ho]”hŒŒN”…””}”(h}h-h~j\ ubaubhŒŒE independent repetitions of a test, each successful with probability ”…””}”(h}ŒE independent repetitions of a test, each successful with probability ”h~jM ubjÀ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``p``”h~jM hnj¿ho]”hŒŒp”…””}”(h}h-h~jo ubaubhŒŒ#, the total number of successes is ”…””}”(h}Œ#, the total number of successes is ”h~jM ubjÖ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ**exactly equal**”h~jM hnjÕho]”hŒŒ exactly equal”…””}”(h}h-h~j‚ ubaubhŒŒ to ”…””}”(h}Œ to ”h~jM ubjÀ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~jM hnj¿ho]”hŒŒx”…””}”(h}h-h~j• ubaubhŒŒ.”…””}”(h}jüh~jM ubeh‘K\h’hubj3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒfExample: When tossing a fair coin 9 times, what is the probability that we find Heads exactly 5 times?”h~j{ hnj2ho]”hŒŒfExample: When tossing a fair coin 9 times, what is the probability that we find Heads exactly 5 times?”…””}”(h}j¯ h~j§ ubah‘K^h’hubje)”}”(hhh}”(h]”h ]”jkjlh ]”h ]”h]”uh}Œ binompmf(5; 9; 0.5) = 0.24609375”h~j{ hnjdho]”hŒŒ binompmf(5; 9; 0.5) = 0.24609375”…””}”(h}h-h~jµ ubah‘Kbh’hubeh‘Kdh’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œbinommean() (function)”Œ sc.binommean”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~j„hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈjÔ hÉŒsc”h ]”h̉h ]”h]”uh}h-h~j„hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jÉ ah ]”h]”jÉ ahÚ‰uh}Œbinommean(N; p)”h~jÑ hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ binommean”h~jÜ hnhÝho]”hŒŒ binommean”…””}”(h}h-h~jæ ubah‘Kkh’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}ŒN; p”h~jÜ hnhího]”(hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}j¬h~jô hnhùho]”hŒŒN”…””}”(h}h-h~jþ ubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jºh~jô hnhùho]”hŒŒp”…””}”(h}h-h~j ubaubeh‘Kkh’hj%j&hhubeh‘Kkh’hhhubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jÑ hnj'ho]”(j3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ ubaubhŒŒ7 times, each successful independently with probability ”…””}”(h}Œ7 times, each successful independently with probability ”h~j/ ubjÀ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``p``”h~j/ hnj¿ho]”hŒŒp”…””}”(h}h-h~jQ ubaubhŒŒ%. The result will simply be given by ”…””}”(h}Œ%. The result will simply be given by ”h~j/ ubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*N * p*”h~j/ hnjho]”hŒŒN * p”…””}”(h}h-h~jd ubaubhŒŒ.”…””}”(h}jüh~j/ ubeh‘Kih’hubeh‘Kkh’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œbinomvar() (function)”Œ sc.binomvar”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~j„hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈj‡ hÉŒsc”h ]”h̉h ]”h]”uh}h-h~j„hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”j| ah ]”h]”j| ahÚ‰uh}Œbinomvar(N; p)”h~j„ hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œbinomvar”h~j hnhÝho]”hŒŒbinomvar”…””}”(h}h-h~j™ ubah‘Koh’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}ŒN; p”h~j hnhího]”(hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}j¬h~j§ hnhùho]”hŒŒN”…””}”(h}h-h~j± ubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jºh~j§ hnhùho]”hŒŒp”…””}”(h}h-h~j¾ ubaubeh‘Koh’hj%j&hhubeh‘Koh’hhhubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j„ hnj'ho]”j3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ^Computes the variance of the given binomial distribution function, equal to *N \* p \* (1-p)*.”h~jË hnj2ho]”(hŒŒLComputes the variance of the given binomial distribution function, equal to ”…””}”(h}ŒLComputes the variance of the given binomial distribution function, equal to ”h~jÔ ubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*N \* p \* (1-p)*”h~jÔ hnjho]”hŒŒ N * p * (1-p)”…””}”(h}h-h~jã ubaubhŒŒ.”…””}”(h}jüh~jÔ ubeh‘Knh’hubah‘Koh’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œncr() (function)”Œsc.ncr”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~j„hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈj hÉŒsc”h ]”h̉h ]”h]”uh}h-h~j„hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jû ah ]”h]”jû ahÚ‰uh}Œ ncr(N; k)”h~j hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œncr”h~j hnhÝho]”hŒŒncr”…””}”(h}h-h~j ubah‘Kuh’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}ŒN; k”h~j hnhího]”(hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}j¬h~j& hnhùho]”hŒŒN”…””}”(h}h-h~j0 ubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œk”h~j& hnhùho]”hŒŒk”…””}”(h}h-h~j= ubaubeh‘Kuh’hj%j&hhubeh‘Kuh’hhhubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j hnj'ho]”(j3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒýComputes the binomial coefficient, equal to the number of possibilities of how to select ``k`` elements from a set of size ``N``. The order of the ``k`` elements is of no importance, i.e. permutations of a subset are not counted as an additional choice.”h~jK hnj2ho]”(hŒŒYComputes the binomial coefficient, equal to the number of possibilities of how to select ”…””}”(h}ŒYComputes the binomial coefficient, equal to the number of possibilities of how to select ”h~jT ubjÀ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``k``”h~jT hnj¿ho]”hŒŒk”…””}”(h}h-h~jc ubaubhŒŒ elements from a set of size ”…””}”(h}Œ elements from a set of size ”h~jT ubjÀ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``N``”h~jT hnj¿ho]”hŒŒN”…””}”(h}h-h~jv ubaubhŒŒ. The order of the ”…””}”(h}Œ. The order of the ”h~jT ubjÀ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``k``”h~jT hnj¿ho]”hŒŒk”…””}”(h}h-h~j‰ ubaubhŒŒe elements is of no importance, i.e. permutations of a subset are not counted as an additional choice.”…””}”(h}Œe elements is of no importance, i.e. permutations of a subset are not counted as an additional choice.”h~jT ubeh‘Krh’hubj3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ°In SpeedCrunch the domain of :func:`ncr` is extended to all real numbers. The result is *1/((\ N + 1) \* B(\ k + 1, N - k + 1))*, where *B(a, b)* is the complete Beta function.”h~jK hnj2ho]”(hŒŒIn SpeedCrunch the domain of ”…””}”(h}ŒIn SpeedCrunch the domain of ”h~jœ ubj«)”}”(h}”(j¯j°h]”h ]”j³‰Œ refexplicit”‰jµŒncr”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ :func:`ncr`”h~jœ hnjªho]”jÀ)”}”(h}”(h ]”h ]”(jÅj¶ Œsc-func”eh ]”h]”h]”uh}j¹ h~j« hnj¿ho]”hŒŒncr()”…””}”(h}h-h~j» ubaubah‘Kth’hubhŒŒ0 is extended to all real numbers. The result is ”…””}”(h}Œ0 is extended to all real numbers. The result is ”h~jœ ubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ(*1/((\ N + 1) \* B(\ k + 1, N - k + 1))*”h~jœ hnjho]”hŒŒ!1/((N + 1) * B(k + 1, N - k + 1))”…””}”(h}h-h~jÎ ubaubhŒŒ, where ”…””}”(h}Œ, where ”h~jœ ubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *B(a, b)*”h~jœ hnjho]”hŒŒB(a, b)”…””}”(h}h-h~já ubaubhŒŒ is the complete Beta function.”…””}”(h}Œ is the complete Beta function.”h~jœ ubeh‘Kth’hubeh‘Kuh’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œnpr() (function)”Œsc.npr”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~j„hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈj hÉŒsc”h ]”h̉h ]”h]”uh}h-h~j„hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jú ah ]”h]”jú ahÚ‰uh}Œ npr(N; k)”h~j hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œnpr”h~j hnhÝho]”hŒŒnpr”…””}”(h}h-h~j ubah‘K|h’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}ŒN; k”h~j hnhího]”(hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}j¬h~j% hnhùho]”hŒŒN”…””}”(h}h-h~j/ ubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jE h~j% hnhùho]”hŒŒk”…””}”(h}h-h~j< ubaubeh‘K|h’hj%j&hhubeh‘K|h’hhhubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j hnj'ho]”(j3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒöComputes the binomial coefficient, equal to the number of possibilities of how to select ``k`` elements from a set of size ``N``. The order of the ``k`` elements **is** important, i.e. permutations of a subset are counted as an additional choice.”h~jI hnj2ho]”(hŒŒYComputes the binomial coefficient, equal to the number of possibilities of how to select ”…””}”(h}ŒYComputes the binomial coefficient, equal to the number of possibilities of how to select ”h~jR ubjÀ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``k``”h~jR hnj¿ho]”hŒŒk”…””}”(h}h-h~ja ubaubhŒŒ elements from a set of size ”…””}”(h}Œ elements from a set of size ”h~jR ubjÀ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``N``”h~jR hnj¿ho]”hŒŒN”…””}”(h}h-h~jt ubaubhŒŒ. The order of the ”…””}”(h}Œ. The order of the ”h~jR ubjÀ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``k``”h~jR hnj¿ho]”hŒŒk”…””}”(h}h-h~j‡ ubaubhŒŒ elements ”…””}”(h}Œ elements ”h~jR ubjÖ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ**is**”h~jR hnjÕho]”hŒŒis”…””}”(h}h-h~jš ubaubhŒŒN important, i.e. permutations of a subset are counted as an additional choice.”…””}”(h}ŒN important, i.e. permutations of a subset are counted as an additional choice.”h~jR ubeh‘Kxh’hubj3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ¤In SpeedCrunch, the domain of :func:`npr` is extended to all real numbers. The result is *Γ(\ N + 1)/Γ(\ k)*, where *Γ* is the gamma function; see :func:`gamma`.”h~jI hnj2ho]”(hŒŒIn SpeedCrunch, the domain of ”…””}”(h}ŒIn SpeedCrunch, the domain of ”h~j­ ubj«)”}”(h}”(j¯j°h]”h ]”j³‰Œ refexplicit”‰jµŒnpr”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ :func:`npr`”h~j­ hnjªho]”jÀ)”}”(h}”(h ]”h ]”(jÅjÇ Œsc-func”eh ]”h]”h]”uh}jÊ h~j¼ hnj¿ho]”hŒŒnpr()”…””}”(h}h-h~jÌ ubaubah‘Kzh’hubhŒŒ0 is extended to all real numbers. The result is ”…””}”(h}Œ0 is extended to all real numbers. The result is ”h~j­ ubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*Γ(\ N + 1)/Γ(\ k)*”h~j­ hnjho]”hŒŒΓ(N + 1)/Γ(k)”…””}”(h}h-h~jß ubaubhŒŒ, where ”…””}”(h}Œ, where ”h~j­ ubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*Γ*”h~j­ hnjho]”hŒŒΓ”…””}”(h}h-h~jò ubaubhŒŒ is the gamma function; see ”…””}”(h}Œ is the gamma function; see ”h~j­ ubj«)”}”(h}”(j¯j°h]”h ]”j³‰Œ refexplicit”‰jµŒgamma”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh}Œ :func:`gamma`”h~j­ hnjªho]”jÀ)”}”(h}”(h ]”h ]”(jÅjŒsc-func”eh ]”h]”h]”uh}jh~jhnj¿ho]”hŒŒgamma()”…””}”(h}h-h~jubaubah‘Kzh’hubhŒŒ.”…””}”(h}jüh~j­ ubeh‘Kzh’hubeh‘K|h’hhhubeh‘Nh’hhhubjw)”}”(h}”(h]”h ]”h ]”j~Œhypergeometric-distribution”h ]”h]”uh}Œ .. _hypergeometric-distribution:”h~j„hnjvho]”h‘K}h’hhhubeh‘K>h’hhhubhr)”}”(h}”(h ]”(j-Œid2”eh ]”h ]”h]”(Œhypergeometric distribution”Œhypergeometric-distribution”eh]”uj}”j;j'sj‘}”j-j'sh}h-h~hshnhqho]”(h€)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}ŒHypergeometric Distribution”h~j2hnh@ho]”hŒŒHypergeometric Distribution”…””}”(h}jHh~j@ubah‘K€h’hhhubj3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}X{The hypergeometric distribution is described by the three parameters ``N``, ``K`` and ``n``. It describes the probability distribution of the number of successes when drawing ``n`` samples from a finite population of size ``N``, containing exactly ``K`` successes. Unlike the :ref:`binomial-distribution`, the hypergeometric distribution describes drawing *without* replacement.”h~j2hnj2ho]”(hŒŒEThe hypergeometric distribution is described by the three parameters ”…””}”(h}ŒEThe hypergeometric distribution is described by the three parameters ”h~jNubjÀ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``N``”h~jNhnj¿ho]”hŒŒN”…””}”(h}h-h~j]ubaubhŒŒ, ”…””}”(h}Œ, ”h~jNubjÀ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``K``”h~jNhnj¿ho]”hŒŒK”…””}”(h}h-h~jpubaubhŒŒ and ”…””}”(h}Œ and ”h~jNubjÀ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``n``”h~jNhnj¿ho]”hŒŒn”…””}”(h}h-h~jƒubaubhŒŒT. It describes the probability distribution of the number of successes when drawing ”…””}”(h}ŒT. It describes the probability distribution of the number of successes when drawing ”h~jNubjÀ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``n``”h~jNhnj¿ho]”hŒŒn”…””}”(h}h-h~j–ubaubhŒŒ* samples from a finite population of size ”…””}”(h}Œ* samples from a finite population of size ”h~jNubjÀ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``N``”h~jNhnj¿ho]”hŒŒN”…””}”(h}h-h~j©ubaubhŒŒ, containing exactly ”…””}”(h}Œ, containing exactly ”h~jNubjÀ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``K``”h~jNhnj¿ho]”hŒŒK”…””}”(h}h-h~j¼ubaubhŒŒ successes. Unlike the ”…””}”(h}Œ successes. Unlike the ”h~jNubj«)”}”(h}”(j¯j°h]”h ]”j³ˆŒ refexplicit”‰jµŒbinomial-distribution”h ]”Œreftype”Œref”Œ refdomain”Œstd”h ]”h]”uh}Œ:ref:`binomial-distribution`”h~jNhnjªho]”j)”}”(h}”(h ]”h ]”(jÅjÚŒstd-ref”eh ]”h]”h]”uh}jÝh~jÏhnj ho]”hŒŒbinomial-distribution”…””}”(h}h-h~jßubaubah‘K‚h’hubhŒŒ4, the hypergeometric distribution describes drawing ”…””}”(h}Œ4, the hypergeometric distribution describes drawing ”h~jNubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *without*”h~jNhnjho]”hŒŒwithout”…””}”(h}h-h~jòubaubhŒŒ replacement.”…””}”(h}Œ replacement.”h~jNubeh‘K‚h’hubh®)”}”(h}”(Œentries”]”(h´Œhyperpmf() (function)”Œ sc.hyperpmf”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~j2hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈjhÉŒsc”h ]”h̉h ]”h]”uh}h-h~j2hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”j ah ]”h]”j ahÚ‰uh}Œhyperpmf(k; N; K; n)”h~jhnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œhyperpmf”h~jhnhÝho]”hŒŒhyperpmf”…””}”(h}h-h~j(ubah‘K–h’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ k; N; K; n”h~jhnhího]”(hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jE h~j6hnhùho]”hŒŒk”…””}”(h}h-h~j@ubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}j¬h~j6hnhùho]”hŒŒN”…””}”(h}h-h~jMubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}ŒK”h~j6hnhùho]”hŒŒK”…””}”(h}h-h~jZubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œn”h~j6hnhùho]”hŒŒn”…””}”(h}h-h~jhubaubeh‘K–h’hj%j&hhubeh‘K–h’hhhubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jhnj'ho]”(j3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ)Hypergeometric probability mass function.”h~jvhnj2ho]”hŒŒ)Hypergeometric probability mass function.”…””}”(h}j‡h~jubah‘K†h’hubjØ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jvhnj×ho]”jã)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jhnjâho]”(jî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ Parameters”h~j–hnjího]”hŒŒ Parameters”…””}”(h}h-h~jŸubaubjþ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j–hnjýho]”j )”}”(ho]”(j)”}”(ho]”j3)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ1k -- desired number of successes, must be integer”h~j¹hnj2ho]”(j)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jE h~j¼hnjho]”hŒŒk”…””}”(h}h-h~jÆubaubhŒŒ -- ”…””}”(h}h-h~j¼ubhŒŒ,desired number of successes, must be integer”…””}”(h}Œ,desired number of successes, must be integer”h~j¼ubeubah}”(h ]”h ]”h ]”h]”h]”uh}h-h~j¶hnj ubj)”}”(ho]”j3)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ;N -- total size of the population, must be positive integer”h~jâhnj2ho]”(j)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}j¬h~jåhnjho]”hŒŒN”…””}”(h}h-h~jïubaubhŒŒ -- ”…””}”(h}h-h~jåubhŒŒ6total size of the population, must be positive integer”…””}”(h}Œ6total size of the population, must be positive integer”h~jåubeubah}”(h ]”h ]”h ]”h]”h]”uh}h-h~j¶hnj ubj)”}”(ho]”j3)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}ŒLK -- number of successes within the population, 0 <= K <= N, must be integer”h~j hnj2ho]”(j)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jbh~jhnjho]”hŒŒK”…””}”(h}h-h~jubaubhŒŒ -- ”…””}”(h}h-h~jubhŒŒ+number of successes within the population, ”…””}”(h}Œ+number of successes within the population, ”h~jubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *0 <= K <= N*”h~jhnjho]”hŒŒ 0 <= K <= N”…””}”(h}h-h~j.ubaubhŒŒ, must be integer”…””}”(h}Œ, must be integer”h~jubeubah}”(h ]”h ]”h ]”h]”h]”uh}h-h~j¶hnj ubj)”}”(ho]”j3)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ2n -- number of draws, 0 <= n <= N, must be integer”h~jGhnj2ho]”(j)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jph~jJhnjho]”hŒŒn”…””}”(h}h-h~jTubaubhŒŒ -- ”…””}”(h}h-h~jJubhŒŒnumber of draws, ”…””}”(h}Œnumber of draws, ”h~jJubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *0 <= n <= N*”h~jJhnjho]”hŒŒ 0 <= n <= N”…””}”(h}h-h~jjubaubhŒŒ, must be integer”…””}”(h}Œ, must be integer”h~jJubeubah}”(h ]”h ]”h ]”h]”h]”uh}h-h~j¶hnj ubeh}”(h ]”h ]”h ]”h]”h]”uh}h-h~j­hnjubaubeubah‘Nh’hhhubj3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒÉThe function computes the probability that for ``n`` draws without replacement from a population of size ``N`` and containing ``K`` successes, the number of successes drawn is *exactly* equal to ``k``.”h~jvhnj2ho]”(hŒŒ/The function computes the probability that for ”…””}”(h}Œ/The function computes the probability that for ”h~j‰ubjÀ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``n``”h~j‰hnj¿ho]”hŒŒn”…””}”(h}h-h~j˜ubaubhŒŒ5 draws without replacement from a population of size ”…””}”(h}Œ5 draws without replacement from a population of size ”h~j‰ubjÀ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``N``”h~j‰hnj¿ho]”hŒŒN”…””}”(h}h-h~j«ubaubhŒŒ and containing ”…””}”(h}Œ and containing ”h~j‰ubjÀ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``K``”h~j‰hnj¿ho]”hŒŒK”…””}”(h}h-h~j¾ubaubhŒŒ- successes, the number of successes drawn is ”…””}”(h}Œ- successes, the number of successes drawn is ”h~j‰ubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *exactly*”h~j‰hnjho]”hŒŒexactly”…””}”(h}h-h~jÑubaubhŒŒ equal to ”…””}”(h}Œ equal to ”h~j‰ubjÀ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``k``”h~j‰hnj¿ho]”hŒŒk”…””}”(h}h-h~jäubaubhŒŒ.”…””}”(h}jüh~j‰ubeh‘Kh’hubj3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ¨Example: An urn contains 50 marbles, 40 of which are white, the rest are black. We draw 15 marbles without replacement. What is the probability of drawing 8 white ones?”h~jvhnj2ho]”hŒŒ¨Example: An urn contains 50 marbles, 40 of which are white, the rest are black. We draw 15 marbles without replacement. What is the probability of drawing 8 white ones?”…””}”(h}jþh~jöubah‘Kh’hubje)”}”(hhh}”(h]”h ]”jkjlh ]”h ]”h]”uh}Œ$hyperpmf(8; 50; 40; 15) = 0.00410007”h~jvhnjdho]”hŒŒ$hyperpmf(8; 50; 40; 15) = 0.00410007”…””}”(h}h-h~jubah‘K“h’hubeh‘K–h’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œhypercdf() (function)”Œ sc.hypercdf”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~j2hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈj#hÉŒsc”h ]”h̉h ]”h]”uh}h-h~j2hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jah ]”h]”jahÚ‰uh}Œhypercdf(k; N; K; n)”h~j hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œhypercdf”h~j+hnhÝho]”hŒŒhypercdf”…””}”(h}h-h~j5ubah‘Kªh’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ k; N; K; n”h~j+hnhího]”(hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jE h~jChnhùho]”hŒŒk”…””}”(h}h-h~jMubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}j¬h~jChnhùho]”hŒŒN”…””}”(h}h-h~jZubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jbh~jChnhùho]”hŒŒK”…””}”(h}h-h~jgubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jph~jChnhùho]”hŒŒn”…””}”(h}h-h~jtubaubeh‘Kªh’hj%j&hhubeh‘Kªh’hhhubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j hnj'ho]”(j3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ0Hypergeometric cumulative distribution function.”h~jhnj2ho]”hŒŒ0Hypergeometric cumulative distribution function.”…””}”(h}j’h~jŠubah‘K™h’hubjØ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jhnj×ho]”jã)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j˜hnjâho]”(jî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ Parameters”h~j¡hnjího]”hŒŒ Parameters”…””}”(h}h-h~jªubaubjþ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j¡hnjýho]”j )”}”(ho]”(j)”}”(ho]”j3)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ9k -- maximum desired number of successes, must be integer”h~jÄhnj2ho]”(j)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jE h~jÇhnjho]”hŒŒk”…””}”(h}h-h~jÑubaubhŒŒ -- ”…””}”(h}h-h~jÇubhŒŒ4maximum desired number of successes, must be integer”…””}”(h}Œ4maximum desired number of successes, must be integer”h~jÇubeubah}”(h ]”h ]”h ]”h]”h]”uh}h-h~jÁhnj ubj)”}”(ho]”j3)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ;N -- total size of the population, must be positive integer”h~jíhnj2ho]”(j)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}j¬h~jðhnjho]”hŒŒN”…””}”(h}h-h~júubaubhŒŒ -- ”…””}”(h}h-h~jðubhŒŒ6total size of the population, must be positive integer”…””}”(h}Œ6total size of the population, must be positive integer”h~jðubeubah}”(h ]”h ]”h ]”h]”h]”uh}h-h~jÁhnj ubj)”}”(ho]”j3)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}ŒLK -- number of successes within the population, 0 <= K <= N, must be integer”h~jhnj2ho]”(j)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jbh~jhnjho]”hŒŒK”…””}”(h}h-h~j#ubaubhŒŒ -- ”…””}”(h}h-h~jubhŒŒ+number of successes within the population, ”…””}”(h}Œ+number of successes within the population, ”h~jubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *0 <= K <= N*”h~jhnjho]”hŒŒ 0 <= K <= N”…””}”(h}h-h~j9ubaubhŒŒ, must be integer”…””}”(h}Œ, must be integer”h~jubeubah}”(h ]”h ]”h ]”h]”h]”uh}h-h~jÁhnj ubj)”}”(ho]”j3)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ2n -- number of draws, 0 <= n <= N, must be integer”h~jRhnj2ho]”(j)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jph~jUhnjho]”hŒŒn”…””}”(h}h-h~j_ubaubhŒŒ -- ”…””}”(h}h-h~jUubhŒŒnumber of draws, ”…””}”(h}Œnumber of draws, ”h~jUubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *0 <= n <= N*”h~jUhnjho]”hŒŒ 0 <= n <= N”…””}”(h}h-h~juubaubhŒŒ, must be integer”…””}”(h}Œ, must be integer”h~jUubeubah}”(h ]”h ]”h ]”h]”h]”uh}h-h~jÁhnj ubeh}”(h ]”h ]”h ]”h]”h]”uh}h-h~j¸hnjubaubeubah‘Nh’hhhubj3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒÑThe function computes the probability that for ``n`` draws without replacement from a population of size ``N`` and containing ``K`` successes, the number of successes drawn is *smaller than or equal* to ``k``.”h~jhnj2ho]”(hŒŒ/The function computes the probability that for ”…””}”(h}Œ/The function computes the probability that for ”h~j”ubjÀ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``n``”h~j”hnj¿ho]”hŒŒn”…””}”(h}h-h~j£ubaubhŒŒ5 draws without replacement from a population of size ”…””}”(h}Œ5 draws without replacement from a population of size ”h~j”ubjÀ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``N``”h~j”hnj¿ho]”hŒŒN”…””}”(h}h-h~j¶ubaubhŒŒ and containing ”…””}”(h}Œ and containing ”h~j”ubjÀ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``K``”h~j”hnj¿ho]”hŒŒK”…””}”(h}h-h~jÉubaubhŒŒ- successes, the number of successes drawn is ”…””}”(h}Œ- successes, the number of successes drawn is ”h~j”ubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ*smaller than or equal*”h~j”hnjho]”hŒŒsmaller than or equal”…””}”(h}h-h~jÜubaubhŒŒ to ”…””}”(h}Œ to ”h~j”ubjÀ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``k``”h~j”hnj¿ho]”hŒŒk”…””}”(h}h-h~jïubaubhŒŒ.”…””}”(h}jüh~j”ubeh‘K h’hubj3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ°Example: An urn contains 50 marbles, 40 of which are white, the rest are black. We draw 15 marbles without replacement. What is the probability of drawing at most 8 white ones?”h~jhnj2ho]”hŒŒ°Example: An urn contains 50 marbles, 40 of which are white, the rest are black. We draw 15 marbles without replacement. What is the probability of drawing at most 8 white ones?”…””}”(h}j h~jubah‘K¢h’hubje)”}”(hhh}”(h]”h ]”jkjlh ]”h ]”h]”uh}Œ$hypercdf(8; 50; 40; 15) = 0.00449015”h~jhnjdho]”hŒŒ$hypercdf(8; 50; 40; 15) = 0.00449015”…””}”(h}h-h~jubah‘K¦h’hubeh‘Kªh’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œhypermean() (function)”Œ sc.hypermean”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~j2hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈj.hÉŒsc”h ]”h̉h ]”h]”uh}h-h~j2hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”j#ah ]”h]”j#ahÚ‰uh}Œhypermean(N; k; n)”h~j+hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ hypermean”h~j6hnhÝho]”hŒŒ hypermean”…””}”(h}h-h~j@ubah‘K¹h’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}ŒN; k; n”h~j6hnhího]”(hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}j¬h~jNhnhùho]”hŒŒN”…””}”(h}h-h~jXubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jE h~jNhnhùho]”hŒŒk”…””}”(h}h-h~jeubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jph~jNhnhùho]”hŒŒn”…””}”(h}h-h~jrubaubeh‘K¹h’hj%j&hhubeh‘K¹h’hhhubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j+hnj'ho]”(j3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ8Expected value of the given hypergeometric distribution.”h~jhnj2ho]”hŒŒ8Expected value of the given hypergeometric distribution.”…””}”(h}jh~jˆubah‘K­h’hubjØ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jhnj×ho]”jã)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j–hnjâho]”(jî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ Parameters”h~jŸhnjího]”hŒŒ Parameters”…””}”(h}h-h~j¨ubaubjþ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jŸhnjýho]”j )”}”(ho]”(j)”}”(ho]”j3)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ;N -- total size of the population, must be positive integer”h~jÂhnj2ho]”(j)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}j¬h~jÅhnjho]”hŒŒN”…””}”(h}h-h~jÏubaubhŒŒ -- ”…””}”(h}h-h~jÅubhŒŒ6total size of the population, must be positive integer”…””}”(h}Œ6total size of the population, must be positive integer”h~jÅubeubah}”(h ]”h ]”h ]”h]”h]”uh}h-h~j¿hnj ubj)”}”(ho]”j3)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}ŒLK -- number of successes within the population, 0 <= K <= N, must be integer”h~jëhnj2ho]”(j)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jbh~jîhnjho]”hŒŒK”…””}”(h}h-h~jøubaubhŒŒ -- ”…””}”(h}h-h~jîubhŒŒ+number of successes within the population, ”…””}”(h}Œ+number of successes within the population, ”h~jîubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *0 <= K <= N*”h~jîhnjho]”hŒŒ 0 <= K <= N”…””}”(h}h-h~jubaubhŒŒ, must be integer”…””}”(h}Œ, must be integer”h~jîubeubah}”(h ]”h ]”h ]”h]”h]”uh}h-h~j¿hnj ubj)”}”(ho]”j3)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ2n -- number of draws, 0 <= n <= N, must be integer”h~j'hnj2ho]”(j)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jph~j*hnjho]”hŒŒn”…””}”(h}h-h~j4ubaubhŒŒ -- ”…””}”(h}h-h~j*ubhŒŒnumber of draws, ”…””}”(h}Œnumber of draws, ”h~j*ubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *0 <= n <= N*”h~j*hnjho]”hŒŒ 0 <= n <= N”…””}”(h}h-h~jJubaubhŒŒ, must be integer”…””}”(h}Œ, must be integer”h~j*ubeubah}”(h ]”h ]”h ]”h]”h]”uh}h-h~j¿hnj ubeh}”(h ]”h ]”h ]”h]”h]”uh}h-h~j¶hnjubaubeubah‘Nh’hhhubj3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ¸Example: An urn contains 50 marbles, 40 of which are white, the rest are black. We draw 15 marbles without replacement. How many white marbles do we expect to find in our drawn sample?”h~jhnj2ho]”hŒŒ¸Example: An urn contains 50 marbles, 40 of which are white, the rest are black. We draw 15 marbles without replacement. How many white marbles do we expect to find in our drawn sample?”…””}”(h}jqh~jiubah‘K³h’hubje)”}”(hhh}”(h]”h ]”jkjlh ]”h ]”h]”uh}Œhypermean(50; 40; 15) = 12”h~jhnjdho]”hŒŒhypermean(50; 40; 15) = 12”…””}”(h}h-h~jwubah‘K·h’hubeh‘K¹h’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œhypervar() (function)”Œ sc.hypervar”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~j2hnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈj–hÉŒsc”h ]”h̉h ]”h]”uh}h-h~j2hnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”j‹ah ]”h]”j‹ahÚ‰uh}Œhypervar(N; k; n)”h~j“hnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œhypervar”h~jžhnhÝho]”hŒŒhypervar”…””}”(h}h-h~j¨ubah‘KÉh’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}ŒN; k; n”h~jžhnhího]”(hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}j¬h~j¶hnhùho]”hŒŒN”…””}”(h}h-h~jÀubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jE h~j¶hnhùho]”hŒŒk”…””}”(h}h-h~jÍubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jph~j¶hnhùho]”hŒŒn”…””}”(h}h-h~jÚubaubeh‘KÉh’hj%j&hhubeh‘KÉh’hhhubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j“hnj'ho]”(j3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ2Variance of the given hypergeometric distribution.”h~jçhnj2ho]”hŒŒ2Variance of the given hypergeometric distribution.”…””}”(h}jøh~jðubah‘K¼h’hubjØ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jçhnj×ho]”jã)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jþhnjâho]”(jî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ Parameters”h~jhnjího]”hŒŒ Parameters”…””}”(h}h-h~jubaubjþ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jhnjýho]”j )”}”(ho]”(j)”}”(ho]”j3)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ;N -- total size of the population, must be positive integer”h~j*hnj2ho]”(j)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}j¬h~j-hnjho]”hŒŒN”…””}”(h}h-h~j7ubaubhŒŒ -- ”…””}”(h}h-h~j-ubhŒŒ6total size of the population, must be positive integer”…””}”(h}Œ6total size of the population, must be positive integer”h~j-ubeubah}”(h ]”h ]”h ]”h]”h]”uh}h-h~j'hnj ubj)”}”(ho]”j3)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}ŒLK -- number of successes within the population, 0 <= K <= N, must be integer”h~jShnj2ho]”(j)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jbh~jVhnjho]”hŒŒK”…””}”(h}h-h~j`ubaubhŒŒ -- ”…””}”(h}h-h~jVubhŒŒ+number of successes within the population, ”…””}”(h}Œ+number of successes within the population, ”h~jVubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *0 <= K <= N*”h~jVhnjho]”hŒŒ 0 <= K <= N”…””}”(h}h-h~jvubaubhŒŒ, must be integer”…””}”(h}Œ, must be integer”h~jVubeubah}”(h ]”h ]”h ]”h]”h]”uh}h-h~j'hnj ubj)”}”(ho]”j3)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ2n -- number of draws, 0 <= n <= N, must be integer”h~jhnj2ho]”(j)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jph~j’hnjho]”hŒŒn”…””}”(h}h-h~jœubaubhŒŒ -- ”…””}”(h}h-h~j’ubhŒŒnumber of draws, ”…””}”(h}Œnumber of draws, ”h~j’ubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *0 <= n <= N*”h~j’hnjho]”hŒŒ 0 <= n <= N”…””}”(h}h-h~j²ubaubhŒŒ, must be integer”…””}”(h}Œ, must be integer”h~j’ubeubah}”(h ]”h ]”h ]”h]”h]”uh}h-h~j'hnj ubeh}”(h ]”h ]”h ]”h]”h]”uh}h-h~jhnjubaubeubah‘Nh’hhhubj3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ®Example: An urn contains 50 marbles, 40 of which are white, the rest are black. We draw 15 marbles without replacement. We estimate the standard deviation of the experiment::”h~jçhnj2ho]”hŒŒ­Example: An urn contains 50 marbles, 40 of which are white, the rest are black. We draw 15 marbles without replacement. We estimate the standard deviation of the experiment:”…””}”(h}Œ­Example: An urn contains 50 marbles, 40 of which are white, the rest are black. We draw 15 marbles without replacement. We estimate the standard deviation of the experiment:”h~jÑubah‘KÂh’hubje)”}”(hhh}”(h]”h ]”jkjlh ]”h ]”h]”uh}Œ"sqrt(hypervar(50; 40; 15)) = 1.309”h~jçhnjdho]”hŒŒ"sqrt(hypervar(50; 40; 15)) = 1.309”…””}”(h}h-h~jàubah‘KÄh’hubj3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒeThis number is an estimate on by how many marbles our sample will deviate from the expectation value.”h~jçhnj2ho]”hŒŒeThis number is an estimate on by how many marbles our sample will deviate from the expectation value.”…””}”(h}jöh~jîubah‘KÇh’hubeh‘KÉh’hhhubeh‘Nh’hhhubeh‘K€h’hhhubhr)”}”(h}”(h ]”Œpoisson-distribution”ah ]”h ]”h]”Œpoisson distribution”ah]”uh}h-h~hshnhqho]”(h€)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}ŒPoisson Distribution”h~jühnh@ho]”hŒŒPoisson Distribution”…””}”(h}jh~jubah‘KËh’hhhubj3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}XÁThe Poisson distribution is characterized by only a single parameter, named ``mu``. It represents both the mean and the variance of the distribution. It describes the probability distribution of the number of events during a fixed period of time, when the average rate of events is known. The Poisson distribution requires the events to be independent. This is usually a good approximation when the rate is low compared to the total population size.”h~jühnj2ho]”(hŒŒLThe Poisson distribution is characterized by only a single parameter, named ”…””}”(h}ŒLThe Poisson distribution is characterized by only a single parameter, named ”h~jubjÀ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``mu``”h~jhnj¿ho]”hŒŒmu”…””}”(h}h-h~j$ubaubhŒXo. It represents both the mean and the variance of the distribution. It describes the probability distribution of the number of events during a fixed period of time, when the average rate of events is known. The Poisson distribution requires the events to be independent. This is usually a good approximation when the rate is low compared to the total population size.”…””}”(h}Xo. It represents both the mean and the variance of the distribution. It describes the probability distribution of the number of events during a fixed period of time, when the average rate of events is known. The Poisson distribution requires the events to be independent. This is usually a good approximation when the rate is low compared to the total population size.”h~jubeh‘KÍh’hubh®)”}”(h}”(Œentries”]”(h´Œpoipmf() (function)”Œ sc.poipmf”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~jühnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈjHhÉŒsc”h ]”h̉h ]”h]”uh}h-h~jühnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”j=ah ]”h]”j=ahÚ‰uh}Œ poipmf(x; mu)”h~jEhnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œpoipmf”h~jPhnhÝho]”hŒŒpoipmf”…””}”(h}h-h~jZubah‘Kéh’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx; mu”h~jPhnhího]”(hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jžh~jhhnhùho]”hŒŒx”…””}”(h}h-h~jrubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œmu”h~jhhnhùho]”hŒŒmu”…””}”(h}h-h~jubaubeh‘Kéh’hj%j&hhubeh‘Kéh’hhhubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jEhnj'ho]”(j3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ"Poisson probability mass function.”h~jhnj2ho]”hŒŒ"Poisson probability mass function.”…””}”(h}jžh~j–ubah‘KÑh’hubjØ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jhnj×ho]”jã)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j¤hnjâho]”(jî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ Parameters”h~j­hnjího]”hŒŒ Parameters”…””}”(h}h-h~j¶ubaubjþ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j­hnjýho]”j )”}”(ho]”(j)”}”(ho]”j3)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ.x -- Desired number of events, must be integer”h~jÐhnj2ho]”(j)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jžh~jÓhnjho]”hŒŒx”…””}”(h}h-h~jÝubaubhŒŒ -- ”…””}”(h}h-h~jÓubhŒŒ)Desired number of events, must be integer”…””}”(h}Œ)Desired number of events, must be integer”h~jÓubeubah}”(h ]”h ]”h ]”h]”h]”uh}h-h~jÍhnj ubj)”}”(ho]”j3)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ0mu -- Average number of events, must be positive”h~jùhnj2ho]”(j)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œmu”h~jühnjho]”hŒŒmu”…””}”(h}h-h~jubaubhŒŒ -- ”…””}”(h}h-h~jüubhŒŒ*Average number of events, must be positive”…””}”(h}Œ*Average number of events, must be positive”h~jüubeubah}”(h ]”h ]”h ]”h]”h]”uh}h-h~jÍhnj ubeh}”(h ]”h ]”h ]”h]”h]”uh}h-h~jÄhnjubaubeubah‘Nh’hhhubj3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ9Computes the probability to observe exactly ``x`` events.”h~jhnj2ho]”(hŒŒ,Computes the probability to observe exactly ”…””}”(h}Œ,Computes the probability to observe exactly ”h~j)ubjÀ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~j)hnj¿ho]”hŒŒx”…””}”(h}h-h~j8ubaubhŒŒ events.”…””}”(h}Œ events.”h~j)ubeh‘KÖh’hubj3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œâ*Example 1*: In a manufacturing process with yield of 99%, what is the probability that 2 out of 10 manufactured products are failures? First, we note that according to the yield, the expected number of failures are given by::”h~jhnj2ho]”(j)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *Example 1*”h~jKhnjho]”hŒŒ Example 1”…””}”(h}h-h~jUubaubhŒŒÖ: In a manufacturing process with yield of 99%, what is the probability that 2 out of 10 manufactured products are failures? First, we note that according to the yield, the expected number of failures are given by:”…””•ò!}”(h}ŒÖ: In a manufacturing process with yield of 99%, what is the probability that 2 out of 10 manufactured products are failures? First, we note that according to the yield, the expected number of failures are given by:”h~jKubeh‘KØh’hubje)”}”(hhh}”(h]”h ]”jkjlh ]”h ]”h]”uh}Œ10 * (1-0.99) = 0.1”h~jhnjdho]”hŒŒ10 * (1-0.99) = 0.1”…””}”(h}h-h~jhubah‘KÛh’hubj3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ$Hence the answer to the problem is::”h~jhnj2ho]”hŒŒ#Hence the answer to the problem is:”…””}”(h}Œ#Hence the answer to the problem is:”h~jvubah‘KÞh’hubje)”}”(hhh}”(h]”h ]”jkjlh ]”h ]”h]”uh}Œpoipmf(2; 0.1) = 0.0045”h~jhnjdho]”hŒŒpoipmf(2; 0.1) = 0.0045”…””}”(h}h-h~j…ubah‘Kàh’hubj3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œš*Example 2* ::An insurance company expects 10 claims over the period of one year. What is the probability that instead as many as 20 claims will be filed?”h~jhnj2ho]”(j)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ *Example 2*”h~j“hnjho]”hŒŒ Example 2”…””}”(h}h-h~jubaubhŒŒ ::An insurance company expects 10 claims over the period of one year. What is the probability that instead as many as 20 claims will be filed?”…””}”(h}Œ ::An insurance company expects 10 claims over the period of one year. What is the probability that instead as many as 20 claims will be filed?”h~j“ubeh‘Kãh’hubje)”}”(hhh}”(h]”h ]”jkjlh ]”h ]”h]”uh}Œpoipmf(20; 10) = 0.001866”h~jhnjdho]”hŒŒpoipmf(20; 10) = 0.001866”…””}”(h}h-h~j°ubah‘Kçh’hubeh‘Kéh’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œpoicdf() (function)”Œ sc.poicdf”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~jühnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈjÏhÉŒsc”h ]”h̉h ]”h]”uh}h-h~jühnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jÄah ]”h]”jÄahÚ‰uh}Œ poicdf(x; mu)”h~jÌhnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œpoicdf”h~j×hnhÝho]”hŒŒpoicdf”…””}”(h}h-h~jáubah‘Kúh’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œx; mu”h~j×hnhího]”(hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jžh~jïhnhùho]”hŒŒx”…””}”(h}h-h~jùubaubhú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œmu”h~jïhnhùho]”hŒŒmu”…””}”(h}h-h~jubaubeh‘Kúh’hj%j&hhubeh‘Kúh’hhhubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jÌhnj'ho]”(j3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ)Poisson cumulative distribution function.”h~jhnj2ho]”hŒŒ)Poisson cumulative distribution function.”…””}”(h}j%h~jubah‘Kìh’hubjØ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jhnj×ho]”jã)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j+hnjâho]”(jî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ Parameters”h~j4hnjího]”hŒŒ Parameters”…””}”(h}h-h~j=ubaubjþ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j4hnjýho]”j )”}”(ho]”(j)”}”(ho]”j3)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ.x -- Desired number of events, must be integer”h~jWhnj2ho]”(j)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}jžh~jZhnjho]”hŒŒx”…””}”(h}h-h~jdubaubhŒŒ -- ”…””}”(h}h-h~jZubhŒŒ)Desired number of events, must be integer”…””}”(h}Œ)Desired number of events, must be integer”h~jZubeubah}”(h ]”h ]”h ]”h]”h]”uh}h-h~jThnj ubj)”}”(ho]”j3)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ0mu -- Average number of events, must be positive”h~j€hnj2ho]”(j)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œmu”h~jƒhnjho]”hŒŒmu”…””}”(h}h-h~jubaubhŒŒ -- ”…””}”(h}h-h~jƒubhŒŒ*Average number of events, must be positive”…””}”(h}Œ*Average number of events, must be positive”h~jƒubeubah}”(h ]”h ]”h ]”h]”h]”uh}h-h~jThnj ubeh}”(h ]”h ]”h ]”h]”h]”uh}h-h~jKhnjubaubeubah‘Nh’hhhubj3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}Œ:Computes the probability to observe ``x`` or fewer events.”h~jhnj2ho]”(hŒŒ$Computes the probability to observe ”…””}”(h}Œ$Computes the probability to observe ”h~j°ubjÀ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``x``”h~j°hnj¿ho]”hŒŒx”…””}”(h}h-h~j¿ubaubhŒŒ or fewer events.”…””}”(h}Œ or fewer events.”h~j°ubeh‘Kñh’hubj3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒŒExample: An insurance company expects 10 claims over the period of one year. What is the probability that more than 12 claims will be filed?”h~jhnj2ho]”hŒŒŒExample: An insurance company expects 10 claims over the period of one year. What is the probability that more than 12 claims will be filed?”…””}”(h}jÚh~jÒubah‘Kóh’hubje)”}”(hhh}”(h]”h ]”jkjlh ]”h ]”h]”uh}Œ1 - poicdf(12; 10) = 0.208”h~jhnjdho]”hŒŒ1 - poicdf(12; 10) = 0.208”…””}”(h}h-h~jàubah‘K÷h’hubeh‘Kúh’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œpoimean() (function)”Œ sc.poimean”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~jühnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈjÿhÉŒsc”h ]”h̉h ]”h]”uh}h-h~jühnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jôah ]”h]”jôahÚ‰uh}Œ poimean(mu)”h~jühnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œpoimean”h~jhnhÝho]”hŒŒpoimean”…””}”(h}h-h~jubah‘Kþh’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œmu”h~jhnhího]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œmu”h~jhnhùho]”hŒŒmu”…””}”(h}h-h~j)ubaubah‘Kþh’hj%j&hhubeh‘Kþh’hhhubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jühnj'ho]”j3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒoComputes the expectation value of the given Poisson distribution. By definition, this value is equal to ``mu``.”h~j7hnj2ho]”(hŒŒhComputes the expectation value of the given Poisson distribution. By definition, this value is equal to ”…””}”(h}ŒhComputes the expectation value of the given Poisson distribution. By definition, this value is equal to ”h~j@ubjÀ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``mu``”h~j@hnj¿ho]”hŒŒmu”…””}”(h}h-h~jOubaubhŒŒ.”…””}”(h}jüh~j@ubeh‘Kýh’hubah‘Kþh’hhhubeh‘Nh’hhhubh®)”}”(h}”(Œentries”]”(h´Œpoivar() (function)”Œ sc.poivar”h-Nt”ah]”h ]”h ]”h»ˆh ]”h]”uh}h-h~jühnh­ho]”h‘Nh’hhhubhÀ)”}”(h}”(hÄŒfunction”h]”h ]”hÈjrhÉŒsc”h ]”h̉h ]”h]”uh}h-h~jühnh¿ho]”(hÑ)”}”(h}”(h]”h ]”h ]”jgah ]”h]”jgahÚ‰uh}Œ poivar(mu)”h~johnhÐho]”(hÞ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œpoivar”h~jzhnhÝho]”hŒŒpoivar”…””}”(h}h-h~j„ubah‘Mh’hhhubhî)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œmu”h~jzhnhího]”hú)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œmu”h~j’hnhùho]”hŒŒmu”…””}”(h}h-h~jœubaubah‘Mh’hj%j&hhubeh‘Mh’hhhubj()”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~johnj'ho]”j3)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒfComputes the variance of the given Poisson distribution. By definition, this value is equal to ``mu``.”h~jªhnj2ho]”(hŒŒ_Computes the variance of the given Poisson distribution. By definition, this value is equal to ”…””}”(h}Œ_Computes the variance of the given Poisson distribution. By definition, this value is equal to ”h~j³ubjÀ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ``mu``”h~j³hnj¿ho]”hŒŒmu”…””}”(h}h-h~jÂubaubhŒŒ.”…””}”(h}jüh~j³ubeh‘Mh’hubah‘Mh’hhhubeh‘Nh’hhhubeh‘KËh’hhhubeh‘Kh’hhhubaŒ nametypes”}”(j;ˆh›NjĈjgˆj=ˆjëˆj#ˆjÚˆjˆjŒNj:Njôˆj‹ˆjóˆjû ˆjHˆjwˆj ˆjgˆh¶ˆh{Njú ˆj ˆjˆjaˆj| ˆjoˆjÉ ˆjíˆjNj3ˆuŒids”}”(j-j2h—h“jÄj×j=jPjëjþj#j6jÚjíjj„jgjzj jj‹jžhwhsjû j jjüjHj[jwjŠj6j2jˆj„jgjzh¶hÒjójjú j j j2 jj+jajtj| j jôjjoj‚jÉ jÜ jíjj3jFuŒtransform_messages”]”(hŒsystem_message”“”)”}”(h}”(h]”h ]”Œlevel”KŒtype”ŒINFO”Œline”K;h ]”h ]”h]”Œsource”huh}h-hnjÚho]”j3)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~jÜhnj2ho]”hŒŒ;Hyperlink target "binomial-distribution" is not referenced.”…””}”(h}h-h~jêubaubaubjÛ)”}”(h}”(h]”h ]”Œlevel”KŒtype”jãŒline”K}h ]”h ]”h]”Œsource”huh}h-hnjÚho]”j3)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}h-h~j÷hnj2ho]”hŒŒAHyperlink target "hypergeometric-distribution" is not referenced.”…””}”(h}h-h~jubaubaubeŒcurrent_source”NŒsymbol_footnote_refs”]”Œindirect_targets”]”Œsubstitution_names”}”Œrefids”}”(j-]”j'aj]”jxauŒ citation_refs”}”Œsymbol_footnote_start”KŒautofootnote_start”KhhŒid_start”Kh}h-Œ decoration”NŒ footnotes”]”Œ footnote_refs”}”Œ autofootnotes”]”Œnameids”}”(j;j-h›h—jÄjÄjgjgj=j=jëjëj#j#jÚjÚjjjŒjˆj:j6jôjôj‹j‹jójójû jû jHjHjwjwj j jgjgh¶h¶h{hwjú jú j j jjjajaj| j| jojojÉ jÉ jíjíjjj3j3uub.heldercorreia-speedcrunch-ea93b21f9498/doc/build_html_embedded/_doctrees/userguide/000077500000000000000000000000001301713744000304035ustar00rootroot00000000000000heldercorreia-speedcrunch-ea93b21f9498/doc/build_html_embedded/_doctrees/userguide/advanced.doctree000066400000000000000000001147571301713744000335360ustar00rootroot00000000000000€•䙌docutils.nodes”Œdocument”“”)”}”(Œ attributes”}”(Œbackrefs”]”Œclasses”]”Œids”]”Œdupnames”]”Œnames”]”Œsource”Œ;C:\Users\fk\Code\speedcrunch\doc\src\userguide\advanced.rst”uŒ citations”]”Œautofootnote_refs”]”Œsettings”Œdocutils.frontend”ŒValues”“”)”}”(Œinput_encoding_error_handler”Œstrict”Œinput_encoding”Œ utf-8-sig”Œcloak_email_addresses”ˆŒ_source”hŒconfig”NŒexpose_internals”NŒ strip_classes”NŒstrip_elements_with_classes”NŒenv”NŒdump_pseudo_xml”NŒrecord_dependencies”NŒ datestamp”NŒpep_references”NŒ id_prefix”Œ”Œ report_level”KŒtrim_footnote_reference_space”‰Œembed_stylesheet”‰Œ docinfo_xform”KŒdump_transforms”NŒauto_id_prefix”Œid”Œ pep_base_url”Œ https://www.python.org/dev/peps/”Œ tab_width”KŒsectsubtitle_xform”‰Œrfc_references”NŒ toc_backlinks”Œentry”Œ dump_settings”NŒ raw_enabled”KŒ rfc_base_url”Œhttps://tools.ietf.org/html/”Œtitle”NŒstrip_comments”NŒ _config_files”]”Œ sectnum_xform”KŒdebug”NŒ generator”NŒoutput_encoding”Œutf-8”Œerror_encoding”Œcp850”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œdoctitle_xform”‰Œgettext_compact”ˆŒ source_link”NŒ traceback”ˆŒoutput_encoding_error_handler”hŒstrict_visitor”NŒsyntax_highlight”Œlong”Œdump_internals”NŒexit_status_level”KŒfootnote_backlinks”KŒpep_file_url_template”Œpep-%04d”Œ halt_level”KŒ_disable_config”NŒ _destination”NŒ smart_quotes”‰Œfile_insertion_enabled”ˆŒ source_url”NŒwarning_stream”NubŒrefnames”}”Œreporter”NŒ current_line”NŒ transformer”NŒparse_messages”]”(hŒsystem_message”“”)”}”(h}”(h]”Œid1”ah ]”Œlevel”KŒtype”ŒINFO”Œline”Kh ]”h ]”h]”Œsource”huŒ rawsource”h-Œparent”hŒsection”“”)”}”(h}”(h ]”(Œ variables”hpeh ]”h ]”Œ variables”ah]”Œ variables”ah]”uŒexpect_referenced_by_name”}”h‡hŒtarget”“”)”}”(h}”(h]”h ]”h ]”Œrefid”h‚h ]”h]”uhzŒ.. _variables:”h{h})”}”(h}”(h ]”Œ$user-defined-variables-and-functions”ah ]”h ]”h]”Œ$user-defined variables and functions”ah]”uhzh-h{hŒtagname”h|Œchildren”]”(hh@“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ$User-Defined Variables and Functions”h{h—h¡h@h¢]”hŒText”“”Œ$User-Defined Variables and Functions”…””}”(hzh­h{h¥ubaŒline”KŒsource”hhhubhh~h})”}”(h}”(h ]”(Œuser-functions”Œid2”eh ]”h ]”h]”(Œuser functions”Œuser_functions”eh]”uh‰}”hÁhŒ)”}”(h}”(h]”h ]”h ]”h“h»h ]”h]”uhzŒ.. _user_functions:”h{h~h¡h‹h¢]”hµK$h¶hhhubsŒexpect_referenced_by_id”}”h»hÄshzh-h{h—h¡h|h¢]”(h¤)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒUser Functions”h{h·h¡h@h¢]”h°ŒUser Functions”…””}”(hzhÙh{hÑubahµK'h¶hhhubŒsphinx.addnodes”Œversionmodified”“”)”}”(h}”(h]”h ]”Œtype”Œ versionadded”Œversion”Œ0.12”h ]”h ]”h]”uhzŒNew in version 0.12.”h{h·h¡hàh¢]”hŒ paragraph”“”)”}”(hhh}”(h]”h ]”h ]”Œ translatable”‰h ]”h]”uhzŒNew in version 0.12.”h{hâh¡hðh¢]”hŒinline”“”)”}”(h}”(h ]”h ]”hàah ]”h]”h]”uhzŒNew in version 0.12.”h{hòh¡hýh¢]”h°ŒNew in version 0.12.”…””}”(hzh-h{hÿubaubahµK)h¶hubahµK(h¶hhhubhñ)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhzX=Just as you can define your own variables, it is also possible to define your own functions. While SpeedCrunch comes with an extensive collection of built-in functions (:ref:`sc:functionindex`), defining your own functions can be very useful when you find yourself repeating a similar computation over and over again.”h{h·h¡hðh¢]”(h°Œ©Just as you can define your own variables, it is also possible to define your own functions. While SpeedCrunch comes with an extensive collection of built-in functions (”…””}”(hzŒ©Just as you can define your own variables, it is also possible to define your own functions. While SpeedCrunch comes with an extensive collection of built-in functions (”h{j ubhߌ pending_xref”“”)”}”(h}”(Œrefdoc”Œuserguide/advanced”h]”h ]”Œrefwarn”ˆŒ refexplicit”‰Œ reftarget”Œsc:functionindex”h ]”Œreftype”Œref”Œ refdomain”Œstd”h ]”h]”uhzŒ:ref:`sc:functionindex`”h{j h¡jh¢]”hþ)”}”(h}”(h ]”h ]”(Œxref”j-Œstd-ref”eh ]”h]”h]”uhzj0h{jh¡hýh¢]”h°Œsc:functionindex”…””}”(hzh-h{j2ubaubahµK*h¶hubh°Œ}), defining your own functions can be very useful when you find yourself repeating a similar computation over and over again.”…””}”(hzŒ}), defining your own functions can be very useful when you find yourself repeating a similar computation over and over again.”h{j ubehµK*h¶hubhñ)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhzŒ>Defining a custom function is similar to defining a variable::”h{h·h¡hðh¢]”h°Œ=Defining a custom function is similar to defining a variable:”…””}”(hzŒ=Defining a custom function is similar to defining a variable:”h{jFubahµK-h¶hubhŒ literal_block”“”)”}”(hhh}”(h]”h ]”Œ xml:space”Œpreserve”h ]”h ]”h]”uhzŒ f(x) = 5*x+8”h{h·h¡jUh¢]”h°Œ f(x) = 5*x+8”…””}”(hzh-h{jWubahµK/h¶hubhñ)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhzŒKYou can now use the new function ``f`` just like any of the built-in ones::”h{h·h¡hðh¢]”(h°Œ!You can now use the new function ”…””}”(hzŒ!You can now use the new function ”h{jgubhŒliteral”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ``f``”h{jgh¡jvh¢]”h°Œf”…””}”(hzh-h{jxubaubh°Œ$ just like any of the built-in ones:”…””}”(hzŒ$ just like any of the built-in ones:”h{jgubehµK1h¶hubjV)”}”(hhh}”(h]”h ]”j\j]h ]”h ]”h]”uhzŒ f(5) = 33”h{h·h¡jUh¢]”h°Œ f(5) = 33”…””}”(hzh-h{j‹ubahµK3h¶hubhñ)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhzŒeFunctions with more arguments are possible as well; simply separate the parameters with a semicolon::”h{h·h¡hðh¢]”h°ŒdFunctions with more arguments are possible as well; simply separate the parameters with a semicolon:”…””}”(hzŒdFunctions with more arguments are possible as well; simply separate the parameters with a semicolon:”h{j™ubahµK6h¶hubjV)”}”(hhh}”(h]”h ]”j\j]h ]”h ]”h]”uhzŒf(x; y) = x*y + x f(2; 3) = 8”h{h·h¡jUh¢]”h°Œf(x; y) = x*y + x f(2; 3) = 8”…””}”(hzh-h{j¨ubahµK8h¶hubhŒ)”}”(h}”(h]”h ]”h ]”h“Œcomplex-numbers”h ]”h]”uhzŒ.. _complex_numbers:”h{h·h¡h‹h¢]”hµK>h¶hhhubehµK'h¶hhhubehµKh¶hhhubh¡h‹h¢]”hµKh¶hhhubshÎ}”h‚hshzh-h{h—h¡h|h¢]”(h¤)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ Variables”h{h~h¡h@h¢]”h°Œ Variables”…””}”(hzjÌh{jÄubahµKh¶hhhubhñ)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhzX­When working on more sophisticated problems, you will likely find that you frequently need to access results from previous computations. As we have already seen, you can simply recall results from the result window. However, SpeedCrunch also offers another more powerful way: Variables. Variables allow you to store and recall any value, by assigning it a name. Variables are defined using the :samp:`{variable}={value}` syntax::”h{h~h¡hðh¢]”(h°XŠWhen working on more sophisticated problems, you will likely find that you frequently need to access results from previous computations. As we have already seen, you can simply recall results from the result window. However, SpeedCrunch also offers another more powerful way: Variables. Variables allow you to store and recall any value, by assigning it a name. Variables are defined using the ”…””}”(hzXŠWhen working on more sophisticated problems, you will likely find that you frequently need to access results from previous computations. As we have already seen, you can simply recall results from the result window. However, SpeedCrunch also offers another more powerful way: Variables. Variables allow you to store and recall any value, by assigning it a name. Variables are defined using the ”h{jÒubjw)”}”(h}”(h]”h ]”Œsamp”ah ]”h ]”h]”Œrole”Œsamp”uhzŒvariable=value”h{jÒh¡jvh¢]”(hŒemphasis”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒvariable”h{jáh¡jîh¢]”h°Œvariable”…””}”(hzh-h{jðubaubh°Œ=”…””}”(hzŒ=”h{jáubjï)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒvalue”h{jáh¡jîh¢]”h°Œvalue”…””}”(hzh-h{jubaubeubh°Œ syntax:”…””}”(hzŒ syntax:”h{jÒubehµK h¶hubjV)”}”(hhh}”(h]”h ]”j\j]h ]”h ]”h]”uhzŒ a = 5.123”h{h~h¡jUh¢]”h°Œ a = 5.123”…””}”(hzh-h{jubahµKh¶hubhñ)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhzŒnNow you can access this value via the name ``a`` much like you would use a built-in constant like :const:`pi`.”h{h~h¡hðh¢]”(h°Œ+Now you can access this value via the name ”…””}”(hzŒ+Now you can access this value via the name ”h{j$ubjw)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ``a``”h{j$h¡jvh¢]”h°Œa”…””}”(hzh-h{j3ubaubh°Œ2 much like you would use a built-in constant like ”…””}”(hzŒ2 much like you would use a built-in constant like ”h{j$ubj)”}”(h}”(j!j"h]”h ]”j%‰Œ refexplicit”‰j'Œpi”h ]”Œreftype”Œconst”Œ refdomain”Œsc”h ]”h]”uhzŒ :const:`pi`”h{j$h¡jh¢]”jw)”}”(h}”(h ]”h ]”(j7jQŒsc-const”eh ]”h]”h]”uhzjTh{jFh¡jvh¢]”h°Œpi”…””}”(hzh-h{jVubaubahµKh¶hubh°Œ.”…””}”(hzŒ.”h{j$ubehµKh¶hubhñ)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhzŒaNaturally, when assigning a value, the right-hand-side can be an arbitrarily complex expression::”h{h~h¡hðh¢]”h°Œ`Naturally, when assigning a value, the right-hand-side can be an arbitrarily complex expression:”…””}”(hzŒ`Naturally, when assigning a value, the right-hand-side can be an arbitrarily complex expression:”h{jiubahµKh¶hubjV)”}”(hhh}”(h]”h ]”j\j]h ]”h ]”h]”uhzŒ|mass = 100+20 = 120 g = 9.81 = 9.81 weight = mass*g = 1177.2 somethingelse = ln(sqrt(123) + ans) = 7.08027102937165690787”h{h~h¡jUh¢]”h°Œ|mass = 100+20 = 120 g = 9.81 = 9.81 weight = mass*g = 1177.2 somethingelse = ln(sqrt(123) + ans) = 7.08027102937165690787”…””}”(hzh-h{jxubahµKh¶hubhñ)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhzŒaAs you see, using descriptive variable names can make the calculation history much more readable.”h{h~h¡hðh¢]”h°ŒaAs you see, using descriptive variable names can make the calculation history much more readable.”…””}”(hzjŽh{j†ubahµK!h¶hubhÄehµKh¶hŒ referenced”Khhubh¡hjh¢]”hñ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ,Duplicate implicit target name: "variables".”h{hlh¡hðh¢]”h°Œ,Duplicate implicit target name: "variables".”…””}”(hzh-h{j–ubaubahµKh¶hhhubhk)”}”(h}”(h]”Œid4”ah ]”Œlevel”KŒtype”htŒline”K^h ]”h ]”h]”Œsource”huhzh-h{h})”}”(h}”(h ]”(Œunits”j¨eh ]”h ]”Œunits”ah]”Œunits”ah]”uh‰}”jºhŒ)”}”(h}”(h]”h ]”h ]”h“jµh ]”h]”uhzŒ .. _units:”h{h})”}”(h}”(h ]”(j¼Œid3”eh ]”h ]”h]”(Œcomplex numbers”Œcomplex_numbers”eh]”uh‰}”jÏj¶shÎ}”j¼j¶shzh-h{hh¡h|h¢]”(h¤)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒComplex numbers”h{jÆh¡h@h¢]”h°ŒComplex numbers”…””}”(hzjÜh{jÔubahµKAh¶hhhubhá)”}”(h}”(h]”h ]”hçŒ versionadded”héŒ0.12”h ]”h ]”h]”uhzŒNew in version 0.12.”h{jÆh¡hàh¢]”hñ)”}”(hhh}”(h]”h ]”h ]”Œ translatable”‰h ]”h]”uhzŒNew in version 0.12.”h{jâh¡hðh¢]”hþ)”}”(h}”(h ]”h ]”hàah ]”h]”h]”uhzŒNew in version 0.12.”h{jîh¡hýh¢]”h°ŒNew in version 0.12.”…””}”(hzh-h{jùubaubahµKCh¶hubahµKBh¶hhhubhñ)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhzŒõSpeedCrunch supports calculations involving complex numbers. To use them, make sure that the menu item :menuselection:`Settings --> Behaviour --> Enable Complex Numbers` is checked. The imaginary unit is now available under the name :const:`j`::”h{jÆh¡hðh¢]”(h°ŒgSpeedCrunch supports calculations involving complex numbers. To use them, make sure that the menu item ”…””}”(hzŒgSpeedCrunch supports calculations involving complex numbers. To use them, make sure that the menu item ”h{jubhþ)”}”(h}”(Œrawtext”ŒB:menuselection:`Settings --> Behaviour --> Enable Complex Numbers`”h]”h ]”Œ menuselection”ah ]”h ]”h]”uhzŒ1Settings ‣ Behaviour ‣ Enable Complex Numbers”h{jh¡hýh¢]”h°Œ1Settings ‣ Behaviour ‣ Enable Complex Numbers”…””}”(hzh-h{jubaubh°Œ@ is checked. The imaginary unit is now available under the name ”…””}”(hzŒ@ is checked. The imaginary unit is now available under the name ”h{jubj)”}”(h}”(j!j"h]”h ]”j%‰Œ refexplicit”‰j'Œj”h ]”Œreftype”Œconst”Œ refdomain”Œsc”h ]”h]”uhzŒ :const:`j`”h{jh¡jh¢]”jw)”}”(h}”(h ]”h ]”(j7j7Œsc-const”eh ]”h]”h]”uhzj:h{j,h¡jvh¢]”h°Œj”…””}”(hzh-h{j<ubaubahµKDh¶hubh°Œ:”…””}”(hzŒ:”h{jubehµKDh¶hubjV)”}”(hhh}”(h]”h ]”j\j]h ]”h ]”h]”uhzŒ"j^2 = -1 (5+3j)/(8-2j) = 0.5+0.5j”h{jÆh¡jUh¢]”h°Œ"j^2 = -1 (5+3j)/(8-2j) = 0.5+0.5j”…””}”(hzh-h{jOubahµKFh¶hubhñ)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhzŒ½A note on the syntax of complex numbers: ``5j`` denotes the number ``5*j`` while ``j5`` is a variable named 'j5'. If necessary, consider writing the multiplication explicitly, i.e. ``j*5``.”h{jÆh¡hðh¢]”(h°Œ)A note on the syntax of complex numbers: ”…””}”(hzŒ)A note on the syntax of complex numbers: ”h{j]ubjw)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ``5j``”h{j]h¡jvh¢]”h°Œ5j”…””}”(hzh-h{jlubaubh°Œ denotes the number ”…””}”(hzŒ denotes the number ”h{j]ubjw)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ``5*j``”h{j]h¡jvh¢]”h°Œ5*j”…””}”(hzh-h{jubaubh°Œ while ”…””}”(hzŒ while ”h{j]ubjw)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ``j5``”h{j]h¡jvh¢]”h°Œj5”…””}”(hzh-h{j’ubaubh°Œ^ is a variable named 'j5'. If necessary, consider writing the multiplication explicitly, i.e. ”…””}”(hzŒ^ is a variable named 'j5'. If necessary, consider writing the multiplication explicitly, i.e. ”h{j]ubjw)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ``j*5``”h{j]h¡jvh¢]”h°Œj*5”…””}”(hzh-h{j¥ubaubh°Œ.”…””}”(hzjhh{j]ubehµKLh¶hubhñ)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhzXSome users (especially mathematicians or physicists) may prefer to use the letter ``i`` for the imaginary unit. Although SpeedCrunch does not support this notation by default, it is added easily enough. Simply defining ``i=j`` allows you to use ``i`` as an alias for :const:`j`.”h{jÆh¡hðh¢]”(h°ŒRSome users (especially mathematicians or physicists) may prefer to use the letter ”…””}”(hzŒRSome users (especially mathematicians or physicists) may prefer to use the letter ”h{j·ubjw)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ``i``”h{j·h¡jvh¢]”h°Œi”…””}”(hzh-h{jÆubaubh°Œ„ for the imaginary unit. Although SpeedCrunch does not support this notation by default, it is added easily enough. Simply defining ”…””}”(hzŒ„ for the imaginary unit. Although SpeedCrunch does not support this notation by default, it is added easily enough. Simply defining ”h{j·ubjw)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ``i=j``”h{j·h¡jvh¢]”h°Œi=j”…””}”(hzh-h{jÙubaubh°Œ allows you to use ”…””}”(hzŒ allows you to use ”h{j·ubjw)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ``i``”h{j·h¡jvh¢]”h°Œi”…””}”(hzh-h{jìubaubh°Œ as an alias for ”…””}”(hzŒ as an alias for ”h{j·ubj)”}”(h}”(j!j"h]”h ]”j%‰Œ refexplicit”‰j'j2h ]”Œreftype”Œconst”Œ refdomain”Œsc”h ]”h]”uhzŒ :const:`j`”h{j·h¡jh¢]”jw)”}”(h}”(h ]”h ]”(j7j Œsc-const”eh ]”h]”h]”uhzj h{jÿh¡jvh¢]”h°Œj”…””}”(hzh-h{jubaubahµKNh¶hubh°Œ.”…””}”(hzjhh{j·ubehµKNh¶hubhñ)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhzŒwNot every function in SpeedCrunch supports complex arguments. Refer to a function's documentation for more information.”h{jÆh¡hðh¢]”h°ŒwNot every function in SpeedCrunch supports complex arguments. Refer to a function's documentation for more information.”…””}”(hzj(h{j ubahµKQh¶hubhñ)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhzX™Caution is advised when using functions like :func:`cbrt` or any fractional power operation with complex numbers. With complex number support enabled, the power operation ``x^(1/3)`` will return the first complex cubic root of ``x`` which is usually non-real. However, when given a real argument, :func:`cbrt` will *always* return the real cubic root, regardless of whether or not complex numbers are enabled.”h{jÆh¡hðh¢]”(h°Œ-Caution is advised when using functions like ”…””}”(hzŒ-Caution is advised when using functions like ”h{j.ubj)”}”(h}”(j!j"h]”h ]”j%‰Œ refexplicit”‰j'Œcbrt”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uhzŒ :func:`cbrt`”h{j.h¡jh¢]”jw)”}”(h}”(h ]”h ]”(j7jHŒsc-func”eh ]”h]”h]”uhzjKh{j=h¡jvh¢]”h°Œcbrt()”…””}”(hzh-h{jMubaubahµKSh¶hubh°Œr or any fractional power operation with complex numbers. With complex number support enabled, the power operation ”…””}”(hzŒr or any fractional power operation with complex numbers. With complex number support enabled, the power operation ”h{j.ubjw)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ ``x^(1/3)``”h{j.h¡jvh¢]”h°Œx^(1/3)”…””}”(hzh-h{j`ubaubh°Œ- will return the first complex cubic root of ”…””}”(hzŒ- will return the first complex cubic root of ”h{j.ubjw)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ``x``”h{j.h¡jvh¢]”h°Œx”…””}”(hzh-h{jsubaubh°ŒA which is usually non-real. However, when given a real argument, ”…””}”(hzŒA which is usually non-real. However, when given a real argument, ”h{j.ubj)”}”(h}”(j!j"h]”h ]”j%‰Œ refexplicit”‰j'Œcbrt”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uhzŒ :func:`cbrt`”h{j.h¡jh¢]”jw)”}”(h}”(h ]”h ]”(j7j‘Œsc-func”eh ]”h]”h]”uhzj”h{j†h¡jvh¢]”h°Œcbrt()”…””}”(hzh-h{j–ubaubahµKSh¶hubh°Œ will ”…””}”(hzŒ will ”h{j.ubjï)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ*always*”h{j.h¡jîh¢]”h°Œalways”…””}”(hzh-h{j©ubaubh°ŒV return the real cubic root, regardless of whether or not complex numbers are enabled.”…””}”(hzŒV return the real cubic root, regardless of whether or not complex numbers are enabled.”h{j.ubehµKSh¶hubhñ)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhzX When complex numbers are disabled, the constant :const:`j` is not available. However, previously stored variables may still contain complex values. In that case, the imaginary part of these numbers is discarded when passing them as an argument to a built-in function.”h{jÆh¡hðh¢]”(h°Œ0When complex numbers are disabled, the constant ”…””}”(hzŒ0When complex numbers are disabled, the constant ”h{j¼ubj)”}”(h}”(j!j"h]”h ]”j%‰Œ refexplicit”‰j'j2h ]”Œreftype”Œconst”Œ refdomain”Œsc”h ]”h]”uhzŒ :const:`j`”h{j¼h¡jh¢]”jw)”}”(h}”(h ]”h ]”(j7jÕŒsc-const”eh ]”h]”h]”uhzjØh{jËh¡jvh¢]”h°Œj”…””}”(hzh-h{jÚubaubahµKWh¶hubh°ŒÑ is not available. However, previously stored variables may still contain complex values. In that case, the imaginary part of these numbers is discarded when passing them as an argument to a built-in function.”…””}”(hzŒÑ is not available. However, previously stored variables may still contain complex values. In that case, the imaginary part of these numbers is discarded when passing them as an argument to a built-in function.”h{j¼ubehµKWh¶hubj½ehµKAh¶hhhubh¡h‹h¢]”hµK[h¶hhhubshÎ}”jµj½shzh-h{hh¡h|h¢]”(h¤)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒUnits”h{j±h¡h@h¢]”h°ŒUnits”…””}”(hzjøh{jðubahµK^h¶hhhubhá)”}”(h}”(h]”h ]”hçŒ versionadded”héŒ0.12”h ]”h ]”h]”uhzŒNew in version 0.12.”h{j±h¡hàh¢]”hñ)”}”(hhh}”(h]”h ]”h ]”Œ translatable”‰h ]”h]”uhzŒNew in version 0.12.”h{jþh¡hðh¢]”hþ)”}”(h}”(h ]”h ]”hàah ]”h]”h]”uhzŒNew in version 0.12.”h{j h¡hýh¢]”h°ŒNew in version 0.12.”…””}”(hzh-h{jubaubahµK`h¶hubahµK_h¶hhhubhñ)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhzŒ SpeedCrunch includes a powerful system for units and unit conversions. It provides an extensive list of built-in units and easily allows you to define your own.”h{j±h¡hðh¢]”h°Œ SpeedCrunch includes a powerful system for units and unit conversions. It provides an extensive list of built-in units and easily allows you to define your own.”…””}”(hzj+h{j#ubahµKah¶hubhñ)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhzŒSJust as in common textbook notation, you specify a value's unit by multiplication::”h{j±h¡hðh¢]”h°ŒRJust as in common textbook notation, you specify a value's unit by multiplication:”…””}”(hzŒRJust as in common textbook notation, you specify a value's unit by multiplication:”h{j1ubahµKch¶hubjV)”}”(hhh}”(h]”h ]”j\j]h ]”h ]”h]”uhzŒ5 foot = 1.524 meter”h{j±h¡jUh¢]”h°Œ5 foot = 1.524 meter”…””}”(hzh-h{j@ubahµKeh¶hubhñ)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhzŒçNote that this is an actual multiplication internally. However, the ``*`` operator can often be omitted (using implicit multiplication), as shown by the previous example. By default SpeedCrunch converts the quantity into SI units::”h{j±h¡hðh¢]”(h°ŒDNote that this is an actual multiplication internally. However, the ”…””}”(hzŒDNote that this is an actual multiplication internally. However, the ”h{jNubjw)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ``*``”h{jNh¡jvh¢]”h°Œ*”…””}”(hzh-h{j]ubaubh°Œ operator can often be omitted (using implicit multiplication), as shown by the previous example. By default SpeedCrunch converts the quantity into SI units:”…””}”(hzŒ operator can often be omitted (using implicit multiplication), as shown by the previous example. By default SpeedCrunch converts the quantity into SI units:”h{jNubehµKhh¶hubjV)”}”(hhh}”(h]”h ]”j\j]h ]”h ]”h]”uhzŒ(60 mile/hour = 26.8224 meter secondâ»Â¹”h{j±h¡jUh¢]”h°Œ(60 mile/hour = 26.8224 meter secondâ»Â¹”…””}”(hzh-h{jpubahµKlh¶hubhñ)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhzŒ±This alone would not be terribly useful. However, it is possible to convert the value to a different unit using the conversion operator ``->`` (``in`` can be used as an alias)::”h{j±h¡hðh¢]”(h°ŒˆThis alone would not be terribly useful. However, it is possible to convert the value to a different unit using the conversion operator ”…””}”(hzŒˆThis alone would not be terribly useful. However, it is possible to convert the value to a different unit using the conversion operator ”h{j~ubjw)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ``->``”h{j~h¡jvh¢]”h°Œ->”…””}”(hzh-h{jubaubh°Œ (”…””}”(hzŒ (”h{j~ubjw)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ``in``”h{j~h¡jvh¢]”h°Œin”…””}”(hzh-h{j ubaubh°Œ can be used as an alias):”…””}”(hzŒ can be used as an alias):”h{j~ubehµKoh¶hubjV)”}”(hhh}”(h]”h ]”j\j]h ]”h ]”h]”uhzŒm50 yard + 2 foot in centi meter = 4632.96 centi meter 10 knot -> kilo meter / hour = 18.52 (kilo meter/hour)”h{j±h¡jUh¢]”h°Œm50 yard + 2 foot in centi meter = 4632.96 centi meter 10 knot -> kilo meter / hour = 18.52 (kilo meter/hour)”…””}”(hzh-h{j³ubahµKrh¶hubhñ)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhzŒ›Note that all built-in unit names are singular and use American English spelling. This is independent of the language selected for SpeedCrunch's interface.”h{j±h¡hðh¢]”h°Œ›Note that all built-in unit names are singular and use American English spelling. This is independent of the language selected for SpeedCrunch's interface.”…””}”(hzjÉh{jÁubahµKxh¶hubhñ)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhzŒ¹As seen in the example above, you can use any SI prefix like ``kilo`` or ``centi``. They are treated like any other unit, so separate them with a space from the base unit they refer to.”h{j±h¡hðh¢]”(h°Œ=As seen in the example above, you can use any SI prefix like ”…””}”(hzŒ=As seen in the example above, you can use any SI prefix like ”h{jÏubjw)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ``kilo``”h{jÏh¡jvh¢]”h°Œkilo”…””}”(hzh-h{jÞubaubh°Œ or ”…””}”(hzŒ or ”h{jÏubjw)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ ``centi``”h{jÏh¡jvh¢]”h°Œcenti”…””}”(hzh-h{jñubaubh°Œg. They are treated like any other unit, so separate them with a space from the base unit they refer to.”…””}”(hzŒg. They are treated like any other unit, so separate them with a space from the base unit they refer to.”h{jÏubehµKzh¶hubhŒwarning”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzXZIn SpeedCrunch (unlike in textbook notation), prefixes can be used on their own. This limitation (or feature, depending on your point of view) means that their use follows the same rules of precedence as any other mathematical operation. For instance, if you intend to express the unit 'newtons per centimeter', don't simply type ``newton / centi meter`` -- this will be interpreted as ``(newton / centi) meter``! Instead, make the order explicit by using ``newton / (centi meter)``. For the same reasons, expressions like ``500 gram / 20 gram`` and ``(500 gram) / (20 gram)`` yield different results.”h{j±h¡jh¢]”(hñ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzXãIn SpeedCrunch (unlike in textbook notation), prefixes can be used on their own. This limitation (or feature, depending on your point of view) means that their use follows the same rules of precedence as any other mathematical operation. For instance, if you intend to express the unit 'newtons per centimeter', don't simply type ``newton / centi meter`` -- this will be interpreted as ``(newton / centi) meter``! Instead, make the order explicit by using ``newton / (centi meter)``.”h{jh¡hðh¢]”(h°XJIn SpeedCrunch (unlike in textbook notation), prefixes can be used on their own. This limitation (or feature, depending on your point of view) means that their use follows the same rules of precedence as any other mathematical operation. For instance, if you intend to express the unit 'newtons per centimeter', don't simply type ”…””}”(hzXJIn SpeedCrunch (unlike in textbook notation), prefixes can be used on their own. This limitation (or feature, depending on your point of view) means that their use follows the same rules of precedence as any other mathematical operation. For instance, if you intend to express the unit 'newtons per centimeter', don't simply type ”h{jubjw)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ``newton / centi meter``”h{jh¡jvh¢]”h°Œnewton / centi meter”…””}”(hzh-h{jubaubh°Œ -- this will be interpreted as ”…””}”(hzŒ -- this will be interpreted as ”h{jubjw)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ``(newton / centi) meter``”h{jh¡jvh¢]”h°Œ(newton / centi) meter”…””}”(hzh-h{j2ubaubh°Œ,! Instead, make the order explicit by using ”…””}”(hzŒ,! Instead, make the order explicit by using ”h{jubjw)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ``newton / (centi meter)``”h{jh¡jvh¢]”h°Œnewton / (centi meter)”…””}”(hzh-h{jEubaubh°Œ.”…””}”(hzjhh{jubehµKh¶hubhñ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒuFor the same reasons, expressions like ``500 gram / 20 gram`` and ``(500 gram) / (20 gram)`` yield different results.”h{jh¡hðh¢]”(h°Œ'For the same reasons, expressions like ”…””}”(hzŒ'For the same reasons, expressions like ”h{jWubjw)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ``500 gram / 20 gram``”h{jWh¡jvh¢]”h°Œ500 gram / 20 gram”…””}”(hzh-h{jfubaubh°Œ and ”…””}”(hzŒ and ”h{jWubjw)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ``(500 gram) / (20 gram)``”h{jWh¡jvh¢]”h°Œ(500 gram) / (20 gram)”…””}”(hzh-h{jyubaubh°Œ yield different results.”…””}”(hzŒ yield different results.”h{jWubehµK„h¶hubehµNh¶hhhubhñ)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhzXAn important feature of SpeedCrunch's unit system is *dimensional checking*. Simply put, it prevents comparing apples and pears: If you try to convert seconds to meters, SpeedCrunch will complain, stating that the dimensions of ``second`` and ``meter`` do not match. Indeed, the dimension of ``second`` is *time*, while ``meter`` denotes a *length*, thus they cannot be compared, added, etc. When adding, multiplying, or otherwise manipulating units, SpeedCrunch will track the dimension and raise an error if it detects an invalid operation. For instance if you type ``meter^2``, the result will be a quantity with the dimension *length*\ :sup:`2` which can only be compared to other quantities with the same dimension. Currently, the available dimensions and their associated primitive units are:”h{j±h¡hðh¢]”(h°Œ5An important feature of SpeedCrunch's unit system is ”…””}”(hzŒ5An important feature of SpeedCrunch's unit system is ”h{jŒubjï)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ*dimensional checking*”h{jŒh¡jîh¢]”h°Œdimensional checking”…””}”(hzh-h{j›ubaubh°Œ™. Simply put, it prevents comparing apples and pears: If you try to convert seconds to meters, SpeedCrunch will complain, stating that the dimensions of ”…””}”(hzŒ™. Simply put, it prevents comparing apples and pears: If you try to convert seconds to meters, SpeedCrunch will complain, stating that the dimensions of ”h{jŒubjw)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ ``second``”h{jŒh¡jvh¢]”h°Œsecond”…””}”(hzh-h{j®ubaubh°Œ and ”…””}”(hzŒ and ”h{jŒubjw)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ ``meter``”h{jŒh¡jvh¢]”h°Œmeter”…””}”(hzh-h{jÁubaubh°Œ( do not match. Indeed, the dimension of ”…””}”(hzŒ( do not match. Indeed, the dimension of ”h{jŒubjw)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ ``second``”h{jŒh¡jvh¢]”h°Œsecond”…””}”(hzh-h{jÔubaubh°Œ is ”…””}”(hzŒ is ”h{jŒubjï)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ*time*”h{jŒh¡jîh¢]”h°Œtime”…””}”(hzh-h{jçubaubh°Œ, while ”…””}”(hzŒ, while ”h{jŒubjw)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ ``meter``”h{jŒh¡jvh¢]”h°Œmeter”…””}”(hzh-h{júubaubh°Œ denotes a ”…””}”(hzŒ denotes a ”h{jŒubjï)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ*length*”h{jŒh¡jîh¢]”h°Œlength”…””}”(hzh-h{j ubaubh°ŒÜ, thus they cannot be compared, added, etc. When adding, multiplying, or otherwise manipulating units, SpeedCrunch will track the dimension and raise an error if it detects an invalid operation. For instance if you type ”…””}”(hzŒÜ, thus they cannot be compared, added, etc. When adding, multiplying, or otherwise manipulating units, SpeedCrunch will track the dimension and raise an error if it detects an invalid operation. For instance if you type ”h{jŒubjw)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ ``meter^2``”h{jŒh¡jvh¢]”h°Œmeter^2”…””}”(hzh-h{j ubaubh°Œ3, the result will be a quantity with the dimension ”…””}”(hzŒ3, the result will be a quantity with the dimension ”h{jŒubjï)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ*length*”h{jŒh¡jîh¢]”h°Œlength”…””}”(hzh-h{j3ubaubh°h-…””}”(hzŒ\ ”h{jŒubhŒ superscript”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ:sup:`2`”h{jŒh¡jEh¢]”h°Œ2”…””}”(hzh-h{jGubaubh°Œ– which can only be compared to other quantities with the same dimension. Currently, the available dimensions and their associated primitive units are:”…””}”(hzŒ– which can only be compared to other quantities with the same dimension. Currently, the available dimensions and their associated primitive units are:”h{jŒubehµK†h¶hubhŒ bullet_list”“”)”}”(h}”(h]”h ]”Œbullet”Œ*”h ]”h ]”h]”uhzh-h{j±h¡jZh¢]”(hŒ list_item”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ*Length*: ``meter``”h{j\h¡jgh¢]”hñ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzjqh{jih¡hðh¢]”(jï)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ*Length*”h{jsh¡jîh¢]”h°ŒLength”…””}”(hzh-h{j|ubaubh°Œ: ”…””}”(hzŒ: ”h{jsubjw)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ ``meter``”h{jsh¡jvh¢]”h°Œmeter”…””}”(hzh-h{jubaubehµKˆh¶hubahµNh¶hhhubjh)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ*Mass*: ``kilogram``”h{j\h¡jgh¢]”hñ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzj¥h{jh¡hðh¢]”(jï)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ*Mass*”h{j§h¡jîh¢]”h°ŒMass”…””}”(hzh-h{j°ubaubh°Œ: ”…””}”(hzŒ: ”h{j§ubjw)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ ``kilogram``”h{j§h¡jvh¢]”h°Œkilogram”…””}”(hzh-h{jÃubaubehµK‰h¶hubahµNh¶hhhubjh)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ*Time*: ``second``”h{j\h¡jgh¢]”hñ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzjÙh{jÑh¡hðh¢]”(jï)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ*Time*”h{jÛh¡jîh¢]”h°ŒTime”…””}”(hzh-h{jäubaubh°Œ: ”…””}”(hzŒ: ”h{jÛubjw)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ ``second``”h{jÛh¡jvh¢]”h°Œsecond”…””}”(hzh-h{j÷ubaubehµKŠh¶hubahµNh¶hhhubjh)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ*Electric current*: ``ampere``”h{j\h¡jgh¢]”hñ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzj h{jh¡hðh¢]”(jï)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ*Electric current*”h{jh¡jîh¢]”h°ŒElectric current”…””}”(hzh-h{jubaubh°Œ: ”…””}”(hzŒ: ”h{jubjw)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ ``ampere``”h{jh¡jvh¢]”h°Œampere”…””}”(hzh-h{j+ubaubehµK‹h¶hubahµNh¶hhhubjh)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ*Amount*: ``mole``”h{j\h¡jgh¢]”hñ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzjAh{j9h¡hðh¢]”(jï)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ*Amount*”h{jCh¡jîh¢]”h°ŒAmount”…””}”(hzh-h{jLubaubh°Œ: ”…””}”(hzŒ: ”h{jCubjw)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ``mole``”h{jCh¡jvh¢]”h°Œmole”…””}”(hzh-h{j_ubaubehµKŒh¶hubahµNh¶hhhubjh)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ!*Luminous intensity*: ``candela``”h{j\h¡jgh¢]”hñ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzjuh{jmh¡hðh¢]”(jï)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ*Luminous intensity*”h{jwh¡jîh¢]”h°ŒLuminous intensity”…””}”(hzh-h{j€ubaubh°Œ: ”…””}”(hzŒ: ”h{jwubjw)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ ``candela``”h{jwh¡jvh¢]”h°Œcandela”…””}”(hzh-h{j“ubaubehµKh¶hubahµNh¶hhhubjh)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ*Temperature*: ``kelvin``”h{j\h¡jgh¢]”hñ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzj©h{j¡h¡hðh¢]”(jï)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ *Temperature*”h{j«h¡jîh¢]”h°Œ Temperature”…””}”(hzh-h{j´ubaubh°Œ: ”…””}”(hzŒ: ”h{j«ubjw)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ ``kelvin``”h{j«h¡jvh¢]”h°Œkelvin”…””}”(hzh-h{jÇubaubehµKŽh¶hubahµNh¶hhhubjh)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ*Information*: ``bit`` ”h{j\h¡jgh¢]”hñ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ*Information*: ``bit``”h{jÕh¡hðh¢]”(jï)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ *Information*”h{jßh¡jîh¢]”h°Œ Information”…””}”(hzh-h{jéubaubh°Œ: ”…””}”(hzŒ: ”h{jßubjw)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ``bit``”h{jßh¡jvh¢]”h°Œbit”…””}”(hzh-h{jüubaubehµKh¶hubahµNh¶hhhubehµKˆh¶hhhubhñ)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhzŒÈSince the current unit system does not support non-linear units like °C or °F, the only available unit for temperature quantities is ``kelvin``. This might change in a future version of SpeedCrunch.”h{j±h¡hðh¢]”(h°Œ‡Since the current unit system does not support non-linear units like °C or °F, the only available unit for temperature quantities is ”…””}”(hzŒ‡Since the current unit system does not support non-linear units like °C or °F, the only available unit for temperature quantities is ”h{j ubjw)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ ``kelvin``”h{j h¡jvh¢]”h°Œkelvin”…””}”(hzh-h{j ubaubh°Œ7. This might change in a future version of SpeedCrunch.”…””}”(hzŒ7. This might change in a future version of SpeedCrunch.”h{j ubehµK‘h¶hubhñ)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhzŒ?Defining a custom unit works exactly like defining a variable::”h{j±h¡hðh¢]”h°Œ>Defining a custom unit works exactly like defining a variable:”…””}”(hzŒ>Defining a custom unit works exactly like defining a variable:”h{j, ubahµK”h¶hubjV)”}”(hhh}”(h]”h ]”j\j]h ]”h ]”h]”uhzŒoearth_radius = 6730 kilo meter 3.5 astronomical_unit in earth_radius = 77799.78416790490341753343 earth_radius”h{j±h¡jUh¢]”h°Œoearth_radius = 6730 kilo meter 3.5 astronomical_unit in earth_radius = 77799.78416790490341753343 earth_radius”…””}”(hzh-h{j; ubahµK–h¶hubhñ)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhzŒÀIn fact, any unit is simply a user-defined variable or a built-in constant. This also means that any variable or even expression can be used as the right-hand side of a conversion expression::”h{j±h¡hðh¢]”h°Œ¿In fact, any unit is simply a user-defined variable or a built-in constant. This also means that any variable or even expression can be used as the right-hand side of a conversion expression:”…””}”(hzŒ¿In fact, any unit is simply a user-defined variable or a built-in constant. This also means that any variable or even expression can be used as the right-hand side of a conversion expression:”h{jI ubahµK›h¶hubjV)”}”(hhh}”(h]”h ]”j\j]h ]”h ]”h]”uhzŒF10 meter in (1 yard + 2 foot) = 6.56167979002624671916 (1 yard+2 foot)”h{j±h¡jUh¢]”h°ŒF10 meter in (1 yard + 2 foot) = 6.56167979002624671916 (1 yard+2 foot)”…””}”(hzh-h{jX ubahµKžh¶hubhñ)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhzXAs mentioned above, the built-in units are spelled out to avoid ambiguity. However, this also means that longer expressions can become tedious to input and hard to read. If you find yourself using a particular set of units frequently, consider defining shorter aliases::”h{j±h¡hðh¢]”h°X As mentioned above, the built-in units are spelled out to avoid ambiguity. However, this also means that longer expressions can become tedious to input and hard to read. If you find yourself using a particular set of units frequently, consider defining shorter aliases:”…””}”(hzX As mentioned above, the built-in units are spelled out to avoid ambiguity. However, this also means that longer expressions can become tedious to input and hard to read. If you find yourself using a particular set of units frequently, consider defining shorter aliases:”h{jf ubahµK¡h¶hubjV)”}”(hhh}”(h]”h ]”j\j]h ]”h ]”h]”uhzŒ$m = meter cm = centi meter ft = foot”h{j±h¡jUh¢]”h°Œ$m = meter cm = centi meter ft = foot”…””}”(hzh-h{ju ubahµK¥h¶hubhñ)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhzŒ—Some of the built-in functions are able to handle arguments with a dimension. Refer to the documentation of a particular function for more information.”h{j±h¡hðh¢]”h°Œ—Some of the built-in functions are able to handle arguments with a dimension. Refer to the documentation of a particular function for more information.”…””}”(hzj‹ h{jƒ ubahµK©h¶hubehµK^h¶hj”Khhubh¡hjh¢]”hñ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzŒ(Duplicate implicit target name: "units".”h{j¤h¡hðh¢]”h°Œ(Duplicate implicit target name: "units".”…””}”(hzh-h{j’ ubaubahµK^h¶hhhubeŒsubstitution_defs”}”Œsymbol_footnotes”]”h¡hh¢]”(h—jÆj±eŒ nametypes”}”(jºˆhÀNjÎNhŸNh‡ˆhÁˆjψuŒids”}”(jµj±h»h·hph~h›h—h¼h·j¼jÆjÊjÆh‚h~j¨j±uŒtransform_messages”]”(hk)”}”(h}”(h]”h ]”Œlevel”KŒtype”htŒline”Kh ]”h ]”h]”Œsource”huhzh-h¡hjh¢]”hñ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzh-h{j« h¡hðh¢]”h°Œ/Hyperlink target "variables" is not referenced.”…””}”(hzh-h{j¸ ubaubaubhk)”}”(h}”(h]”h ]”Œlevel”KŒtype”htŒline”K$h ]”h ]”h]”Œsource”huhzh-h¡hjh¢]”hñ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzh-h{jÅ h¡hðh¢]”h°Œ4Hyperlink target "user-functions" is not referenced.”…””}”(hzh-h{jÒ ubaubaubhk)”}”(h}”(h]”h ]”Œlevel”KŒtype”htŒline”K>h ]”h ]”h]”Œsource”huhzh-h¡hjh¢]”hñ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzh-h{jß h¡hðh¢]”h°Œ5Hyperlink target "complex-numbers" is not referenced.”…””}”(hzh-h{jì ubaubaubhk)”}”(h}”(h]”h ]”Œlevel”KŒtype”htŒline”K[h ]”h ]”h]”Œsource”huhzh-h¡hjh¢]”hñ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhzh-h{jù h¡hðh¢]”h°Œ+Hyperlink target "units" is not referenced.”…””}”(hzh-h{j ubaubaubeŒcurrent_source”NŒsymbol_footnote_refs”]”Œindirect_targets”]”Œsubstitution_names”}”Œrefids”}”(jµ]”j½ah»]”hÄah‚]”haj¼]”j¶auŒ citation_refs”}”Œsymbol_footnote_start”KŒautofootnote_start”KhhŒid_start”Khzh-Œ decoration”NŒ footnotes”]”Œ footnote_refs”}”Œ autofootnotes”]”Œnameids”}”(jºjµhÀh¼jÎjÊhŸh›h‡h‚hÁh»jÏj¼uub.first_steps.doctree000066400000000000000000000532561301713744000342530ustar00rootroot00000000000000heldercorreia-speedcrunch-ea93b21f9498/doc/build_html_embedded/_doctrees/userguide€•£VŒdocutils.nodes”Œdocument”“”)”}”(Œ attributes”}”(Œbackrefs”]”Œclasses”]”Œids”]”Œdupnames”]”Œnames”]”Œsource”Œ>C:\Users\fk\Code\speedcrunch\doc\src\userguide\first_steps.rst”uŒ citations”]”Œautofootnote_refs”]”hŒfootnote_reference”“”)”}”(h}”(h]”h ]”Œauto”Kh ]”Œid1”aŒrefid”Œf1”h ]”h]”uŒ rawsource”Œ[#f1]_”Œparent”hŒ paragraph”“”)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh%XyAs you can see, ``ans`` provides a quick and easy way to access the previous result. Sometimes, SpeedCrunch can even insert ``ans`` for you: When you start a new expression with an operator (e.g. ``+``, ``-``, ``*``, ``/``, ``^``), ``ans`` will be prepended automatically. [#f1]_ To try it out, type ``7`` :kbd:`Enter` ``+3`` :kbd:`Enter`. SpeedCrunch expands this as follows::”h'hŒsection”“”)”}”(h}”(h ]”Œ first-steps”ah ]”h ]”h]”Œ first steps”ah]”uh%Œ”h'hŒtagname”h3Œchildren”]”(hŒtitle”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ First Steps”h'h5h@hChA]”hŒText”“”Œ First Steps”…””}”(h%hMh'hEubaŒline”KŒsource”hhhubh))”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh%X7SpeedCrunch is designed to be used via the keyboard. While an :ref:`on-screen keypad ` is available, it is disabled by default. The powerful keyboard interface is the recommended way to use SpeedCrunch to get the most out of it. However, the keypad can be enabled from: :menuselection:`View --> Keypad`.”h'h5h@h(hA]”(hPŒ>SpeedCrunch is designed to be used via the keyboard. While an ”…””}”(h%Œ>SpeedCrunch is designed to be used via the keyboard. While an ”h'hWubŒsphinx.addnodes”Œ pending_xref”“”)”}”(h}”(Œrefdoc”Œuserguide/first_steps”h]”h ]”Œrefwarn”ˆŒ refexplicit”ˆŒ reftarget”Œkeypad”h ]”Œreftype”Œref”Œ refdomain”Œstd”h ]”h]”uh%Œ :ref:`on-screen keypad `”h'hWh@hghA]”hŒinline”“”)”}”(h}”(h ]”h ]”(Œxref”hxŒstd-ref”eh ]”h]”h]”uh%h{h'hih@h}hA]”hPŒon-screen keypad”…””}”(h%h?h'hubaubahUKhVhubhPŒ¸ is available, it is disabled by default. The powerful keyboard interface is the recommended way to use SpeedCrunch to get the most out of it. However, the keypad can be enabled from: ”…””}”(h%Œ¸ is available, it is disabled by default. The powerful keyboard interface is the recommended way to use SpeedCrunch to get the most out of it. However, the keypad can be enabled from: ”h'hWubh~)”}”(h}”(Œrawtext”Œ :menuselection:`View --> Keypad`”h]”h ]”Œ menuselection”ah ]”h ]”h]”uh%ŒView ‣ Keypad”h'hWh@h}hA]”hPŒView ‣ Keypad”…””}”(h%h?h'h“ubaubhPŒ.”…””}”(h%Œ.”h'hWubehUKhVhubhŒcomment”“”)”}”(h}”(h]”h ]”Œ xml:space”Œpreserve”h ]”h ]”h]”uh%ŒjThis note included since the code samples aren't translatable; people in comma locales might get confused.”h'h5h@h©hA]”hPŒjThis note included since the code samples aren't translatable; people in comma locales might get confused.”…””}”(h%h?h'h«ubahUK hVhhhubhŒnote”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%X All examples in this manual use a period (``.``) as the decimal separator. By default, SpeedCrunch will use your system's default decimal separator for output and will accept both a period and a comma (``,``) for input (:ref:`more details `). Depending on your settings, it may be necessary to replace the periods with the appropriate decimal separator when entering these examples into SpeedCrunch.”h'h5h@h»hA]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%X All examples in this manual use a period (``.``) as the decimal separator. By default, SpeedCrunch will use your system's default decimal separator for output and will accept both a period and a comma (``,``) for input (:ref:`more details `). Depending on your settings, it may be necessary to replace the periods with the appropriate decimal separator when entering these examples into SpeedCrunch.”h'h½h@h(hA]”(hPŒ*All examples in this manual use a period (”…””}”(h%Œ*All examples in this manual use a period (”h'hÇubhŒliteral”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ``.``”h'hÇh@hÖhA]”hPŒ.”…””}”(h%h?h'hØubaubhPŒ›) as the decimal separator. By default, SpeedCrunch will use your system's default decimal separator for output and will accept both a period and a comma (”…””}”(h%Œ›) as the decimal separator. By default, SpeedCrunch will use your system's default decimal separator for output and will accept both a period and a comma (”h'hÇubh×)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ``,``”h'hÇh@hÖhA]”hPŒ,”…””}”(h%h?h'hëubaubhPŒ ) for input (”…””}”(h%Œ ) for input (”h'hÇubhh)”}”(h}”(hlhmh]”h ]”hpˆŒ refexplicit”ˆhrŒradix_character”h ]”Œreftype”Œref”Œ refdomain”Œstd”h ]”h]”uh%Œ%:ref:`more details `”h'hÇh@hghA]”h~)”}”(h}”(h ]”h ]”(h„j Œstd-ref”eh ]”h]”h]”uh%j h'hþh@h}hA]”hPŒ more details”…””}”(h%h?h'jubaubahUKhVhubhPŒŸ). Depending on your settings, it may be necessary to replace the periods with the appropriate decimal separator when entering these examples into SpeedCrunch.”…””}”(h%ŒŸ). Depending on your settings, it may be necessary to replace the periods with the appropriate decimal separator when entering these examples into SpeedCrunch.”h'hÇubehUKhVhubahUNhVhhhubh))”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh%XIWhen starting SpeedCrunch for the first time, the interface may thus seem a little plain. Don't be fooled, it can easily be customized. At the bottom edge of the window, you see the the **input bar**, also called the **editor**, with a blinking cursor showing that it is ready to accept keystrokes. To try out SpeedCrunch, type::”h'h5h@h(hA]”(hPŒºWhen starting SpeedCrunch for the first time, the interface may thus seem a little plain. Don't be fooled, it can easily be customized. At the bottom edge of the window, you see the the ”…””}”(h%ŒºWhen starting SpeedCrunch for the first time, the interface may thus seem a little plain. Don't be fooled, it can easily be customized. At the bottom edge of the window, you see the the ”h'j!ubhŒstrong”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ **input bar**”h'j!h@j0hA]”hPŒ input bar”…””}”(h%h?h'j2ubaubhPŒ, also called the ”…””}”(h%Œ, also called the ”h'j!ubj1)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ **editor**”h'j!h@j0hA]”hPŒeditor”…””}”(h%h?h'jEubaubhPŒe, with a blinking cursor showing that it is ready to accept keystrokes. To try out SpeedCrunch, type:”…””}”(h%Œe, with a blinking cursor showing that it is ready to accept keystrokes. To try out SpeedCrunch, type:”h'j!ubehUKhVhubhŒ literal_block”“”)”}”(hhh}”(h]”h ]”h°h±h ]”h ]”h]”uh%Œ 1.234 + 7.89”h'h5h@jXhA]”hPŒ 1.234 + 7.89”…””}”(h%h?h'jZubahUKhVhubh))”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh%Œ’then hit :kbd:`Enter` to evaluate the expression. The result (along with the expression you just entered) will be displayed at the top of window::”h'h5h@h(hA]”(hPŒ then hit ”…””}”(h%Œ then hit ”h'jhubh×)”}”(h}”(h ]”h ]”Œkbd”ah ]”h]”h]”uh%Œ :kbd:`Enter`”h'jhh@hÖhA]”hPŒEnter”…””}”(h%h?h'jwubaubhPŒ| to evaluate the expression. The result (along with the expression you just entered) will be displayed at the top of window:”…””}”(h%Œ| to evaluate the expression. The result (along with the expression you just entered) will be displayed at the top of window:”h'jhubehUKhVhubjY)”}”(hhh}”(h]”h ]”h°h±h ]”h ]”h]”uh%Œ1.234 + 7.89 = 9.124”h'h5h@jXhA]”hPŒ1.234 + 7.89 = 9.124”…””}”(h%h?h'j‹ubahUKhVhubh))”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh%ŒÚThis region (called the **result window**) not only shows the result of your last calculation, it is a complete browsable history. Any previous input or result can be recalled by double-clicking the corresponding line.”h'h5h@h(hA]”(hPŒThis region (called the ”…””}”(h%ŒThis region (called the ”h'j™ubj1)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ**result window**”h'j™h@j0hA]”hPŒ result window”…””}”(h%h?h'j¨ubaubhPŒ±) not only shows the result of your last calculation, it is a complete browsable history. Any previous input or result can be recalled by double-clicking the corresponding line.”…””}”(h%Œ±) not only shows the result of your last calculation, it is a complete browsable history. Any previous input or result can be recalled by double-clicking the corresponding line.”h'j™ubehUKhVhubh))”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh%ŒyLet's try this out. First, perform some more calculations so that more than one entry is displayed in the result window::”h'h5h@h(hA]”hPŒxLet's try this out. First, perform some more calculations so that more than one entry is displayed in the result window:”…””}”(h%ŒxLet's try this out. First, perform some more calculations so that more than one entry is displayed in the result window:”h'j»ubahUKhVhubjY)”}”(hhh}”(h]”h ]”h°h±h ]”h ]”h]”uh%Œ354*4.514 + 57 = 300.756 54*(4.514 - 5.7) = -64.044”h'h5h@jXhA]”hPŒ354*4.514 + 57 = 300.756 54*(4.514 - 5.7) = -64.044”…””}”(h%h?h'jÊubahUK!hVhubh))”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh%X Note how multiplication (``*``) takes precedence over addition (``+``) unless parentheses are used to specify a particular order of evaluation. If you now wish to continue working with one of the results, double-click e.g. the line ``= 300.756``. The input bar will be populated with this result. Similarly, you can also quickly recall previous input by double-clicking them in the result history. Alternatively, you can use the :kbd:`Up` and :kbd:`Down` arrow keys on your keyboard to recall previous expressions or use the mouse wheel for the same effect (the mouse cursor must be hovering over the editor for this to work, otherwise the result window will be scrolled).”h'h5h@h(hA]”(hPŒNote how multiplication (”…””}”(h%ŒNote how multiplication (”h'jØubh×)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ``*``”h'jØh@hÖhA]”hPŒ*”…””}”(h%h?h'jçubaubhPŒ") takes precedence over addition (”…””}”(h%Œ") takes precedence over addition (”h'jØubh×)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ``+``”h'jØh@hÖhA]”hPŒ+”…””}”(h%h?h'júubaubhPŒ£) unless parentheses are used to specify a particular order of evaluation. If you now wish to continue working with one of the results, double-click e.g. the line ”…””}”(h%Œ£) unless parentheses are used to specify a particular order of evaluation. If you now wish to continue working with one of the results, double-click e.g. the line ”h'jØubh×)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ ``= 300.756``”h'jØh@hÖhA]”hPŒ = 300.756”…””}”(h%h?h'j ubaubhPŒ¸. The input bar will be populated with this result. Similarly, you can also quickly recall previous input by double-clicking them in the result history. Alternatively, you can use the ”…””}”(h%Œ¸. The input bar will be populated with this result. Similarly, you can also quickly recall previous input by double-clicking them in the result history. Alternatively, you can use the ”h'jØubh×)”}”(h}”(h ]”h ]”j|ah ]”h]”h]”uh%Œ :kbd:`Up`”h'jØh@hÖhA]”hPŒUp”…””}”(h%h?h'j ubaubhPŒ and ”…””}”(h%Œ and ”h'jØubh×)”}”(h}”(h ]”h ]”j|ah ]”h]”h]”uh%Œ :kbd:`Down`”h'jØh@hÖhA]”hPŒDown”…””}”(h%h?h'j3ubaubhPŒÚ arrow keys on your keyboard to recall previous expressions or use the mouse wheel for the same effect (the mouse cursor must be hovering over the editor for this to work, otherwise the result window will be scrolled).”…””}”(h%ŒÚ arrow keys on your keyboard to recall previous expressions or use the mouse wheel for the same effect (the mouse cursor must be hovering over the editor for this to work, otherwise the result window will be scrolled).”h'jØubehUK'hVhubh))”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh%Œ²To continue the computation directly from the previous result, you can use the special variable ``ans`` which always holds the result of the last entry in the history. Try this::”h'h5h@h(hA]”(hPŒ`To continue the computation directly from the previous result, you can use the special variable ”…””}”(h%Œ`To continue the computation directly from the previous result, you can use the special variable ”h'jFubh×)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ``ans``”h'jFh@hÖhA]”hPŒans”…””}”(h%h?h'jUubaubhPŒJ which always holds the result of the last entry in the history. Try this:”…””}”(h%ŒJ which always holds the result of the last entry in the history. Try this:”h'jFubehUK)hVhubjY)”}”(hhh}”(h]”h ]”h°h±h ]”h ]”h]”uh%Œ‚2+3 ? By the way, you can use question marks for comments. = 5 7*ans ? 'ans' is now equal to 5 = 35 ans + 300 = 38”h'h5h@jXhA]”hPŒ‚2+3 ? By the way, you can use question marks for comments. = 5 7*ans ? 'ans' is now equal to 5 = 35 ans + 300 = 38”…””}”(h%h?h'jhubahUK+hVhubh*jY)”}”(hhh}”(h]”h ]”h°h±h ]”h ]”h]”uh%Œ7 = 7 ans+3 = 10”h'h5h@jXhA]”hPŒ7 = 7 ans+3 = 10”…””}”(h%h?h'jvubahUK8hVhubh))”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh%Œ~SpeedCrunch comes with a number of :ref:`mathematical constants ` like Ï€ that are available by typing their name::”h'h5h@h(hA]”(hPŒ#SpeedCrunch comes with a number of ”…””}”(h%Œ#SpeedCrunch comes with a number of ”h'j„ubhh)”}”(h}”(hlhmh]”h ]”hpˆŒ refexplicit”ˆhrŒ constants”h ]”Œreftype”Œref”Œ refdomain”Œstd”h ]”h]”uh%Œ):ref:`mathematical constants `”h'j„h@hghA]”h~)”}”(h}”(h ]”h ]”(h„jžŒstd-ref”eh ]”h]”h]”uh%j¡h'j“h@h}hA]”hPŒmathematical constants”…””}”(h%h?h'j£ubaubahUK>hVhubhPŒ1 like Ï€ that are available by typing their name:”…””}”(h%Œ1 like Ï€ that are available by typing their name:”h'j„ubehUK>hVhubjY)”}”(hhh}”(h]”h ]”h°h±h ]”h ]”h]”uh%Œ>pi = 3.14159265358979323846 pi*1.2^2 = 4.52389342116930226339”h'h5h@jXhA]”hPŒ>pi = 3.14159265358979323846 pi*1.2^2 = 4.52389342116930226339”…””}”(h%h?h'j¶ubahUK@hVhubh))”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh%XLet us finish this short introduction with a word about functions. SpeedCrunch comes with an extensive list of built-in mathematical functions which can be accessed by simply typing their name in the editor followed by any parameters (also called arguments) in parentheses::”h'h5h@h(hA]”hPXLet us finish this short introduction with a word about functions. SpeedCrunch comes with an extensive list of built-in mathematical functions which can be accessed by simply typing their name in the editor followed by any parameters (also called arguments) in parentheses:”…””}”(h%XLet us finish this short introduction with a word about functions. SpeedCrunch comes with an extensive list of built-in mathematical functions which can be accessed by simply typing their name in the editor followed by any parameters (also called arguments) in parentheses:”h'jÄubahUKFhVhubjY)”}”(hhh}”(h]”h ]”h°h±h ]”h ]”h]”uh%Œsqrt(144) = 12”h'h5h@jXhA]”hPŒsqrt(144) = 12”…””}”(h%h?h'jÓubahUKHhVhubh))”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh%Œ´The function :func:`sqrt` calculates the square root of its argument. Some functions require or accept more than one argument. In that case, separate them with a semicolon (``;``).”h'h5h@h(hA]”(hPŒ The function ”…””}”(h%Œ The function ”h'jáubhh)”}”(h}”(hlhmh]”h ]”hp‰Œ refexplicit”‰hrŒsqrt”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh%Œ :func:`sqrt`”h'jáh@hghA]”h×)”}”(h}”(h ]”h ]”(h„jûŒsc-func”eh ]”h]”h]”uh%jþh'jðh@hÖhA]”hPŒsqrt()”…””}”(h%h?h'jubaubahUKKhVhubhPŒ” calculates the square root of its argument. Some functions require or accept more than one argument. In that case, separate them with a semicolon (”…””}”(h%Œ” calculates the square root of its argument. Some functions require or accept more than one argument. In that case, separate them with a semicolon (”h'jáubh×)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ``;``”h'jáh@hÖhA]”hPŒ;”…””}”(h%h?h'jubaubhPŒ).”…””}”(h%Œ).”h'jáubehUKKhVhubhŒwarning”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒqTo repeat: In contrast to many programming languages, parameters in SpeedCrunch are separated by a **semicolon**!”h'h5h@j&hA]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%j0h'j(h@h(hA]”(hPŒcTo repeat: In contrast to many programming languages, parameters in SpeedCrunch are separated by a ”…””}”(h%ŒcTo repeat: In contrast to many programming languages, parameters in SpeedCrunch are separated by a ”h'j2ubj1)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ **semicolon**”h'j2h@j0hA]”hPŒ semicolon”…””}”(h%h?h'j@ubaubhPŒ!”…””}”(h%Œ!”h'j2ubehUKOhVhubahUNhVhhhubh))”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh%Œ,An example is the :func:`average` function::”h'h5h@h(hA]”(hPŒAn example is the ”…””}”(h%ŒAn example is the ”h'jSubhh)”}”(h}”(hlhmh]”h ]”hp‰Œ refexplicit”‰hrŒaverage”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh%Œ:func:`average`”h'jSh@hghA]”h×)”}”(h}”(h ]”h ]”(h„jmŒsc-func”eh ]”h]”h]”uh%jph'jbh@hÖhA]”hPŒ average()”…””}”(h%h?h'jrubaubahUKQhVhubhPŒ function:”…””}”(h%Œ function:”h'jSubehUKQhVhubjY)”}”(hhh}”(h]”h ]”h°h±h ]”h ]”h]”uh%Œaverage(12;34;56) = 34”h'h5h@jXhA]”hPŒaverage(12;34;56) = 34”…””}”(h%h?h'j…ubahUKShVhubh))”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh%Œ‘This is already enough to use SpeedCrunch effectively. Try it out for yourself! Alternatively, read on to learn about its more advanced features.”h'h5h@h(hA]”hPŒ‘This is already enough to use SpeedCrunch effectively. Try it out for yourself! Alternatively, read on to learn about its more advanced features.”…””}”(h%j›h'j“ubahUKVhVhubhŒrubric”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ Footnotes”h'h5h@j¡hA]”hPŒ Footnotes”…””}”(h%j«h'j£ubahUK[hVhhhubhŒfootnote”“”)”}”(hhh}”(h]”h ah ]”hKh ]”h"ah ]”h]”Œf1”auh%ŒaThis requires that the :ref:`Automatic Result Reuse ` setting is enabled.”h'h5h@j±hA]”(hŒlabel”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j³h@j¾hA]”hPŒ1”…””}”(h%h?h'jÀubahUNhVNhhubh))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒaThis requires that the :ref:`Automatic Result Reuse ` setting is enabled.”h'j³h@h(hA]”(hPŒThis requires that the ”…””}”(h%ŒThis requires that the ”h'jÍubhh)”}”(h}”(hlhmh]”h ]”hpˆŒ refexplicit”ˆhrŒautomatic_result_reuse”h ]”Œreftype”Œref”Œ refdomain”Œstd”h ]”h]”uh%Œ6:ref:`Automatic Result Reuse `”h'jÍh@hghA]”h~)”}”(h}”(h ]”h ]”(h„jçŒstd-ref”eh ]”h]”h]”uh%jêh'jÜh@h}hA]”hPŒAutomatic Result Reuse”…””}”(h%h?h'jìubaubahUK\hVhubhPŒ setting is enabled.”…””}”(h%Œ setting is enabled.”h'jÍubehUK\hVhubehUK\hVhubehUKhVhhhubh@h(hA]”(hPŒAs you can see, ”…””}”(h%ŒAs you can see, ”h'h*ubh×)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ``ans``”h'h*h@hÖhA]”hPŒans”…””}”(h%h?h'jubaubhPŒe provides a quick and easy way to access the previous result. Sometimes, SpeedCrunch can even insert ”…””}”(h%Œe provides a quick and easy way to access the previous result. Sometimes, SpeedCrunch can even insert ”h'h*ubh×)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ``ans``”h'h*h@hÖhA]”hPŒans”…””}”(h%h?h'jubaubhPŒA for you: When you start a new expression with an operator (e.g. ”…””}”(h%ŒA for you: When you start a new expression with an operator (e.g. ”h'h*ubh×)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ``+``”h'h*h@hÖhA]”hPŒ+”…””}”(h%h?h'j+ubaubhPŒ, ”…””}”(h%Œ, ”h'h*ubh×)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ``-``”h'h*h@hÖhA]”hPŒ-”…””}”(h%h?h'j>ubaubhPŒ, ”…””}”(h%Œ, ”h'h*ubh×)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ``*``”h'h*h@hÖhA]”hPŒ*”…””}”(h%h?h'jQubaubhPŒ, ”…””}”(h%Œ, ”h'h*ubh×)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ``/``”h'h*h@hÖhA]”hPŒ/”…””}”(h%h?h'jdubaubhPŒ, ”…””}”(h%Œ, ”h'h*ubh×)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ``^``”h'h*h@hÖhA]”hPŒ^”…””}”(h%h?h'jwubaubhPŒ), ”…””}”(h%Œ), ”h'h*ubh×)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ``ans``”h'h*h@hÖhA]”hPŒans”…””}”(h%h?h'jŠubaubhPŒ" will be prepended automatically. ”…””}”(h%Œ" will be prepended automatically. ”h'h*ubhhPŒ To try it out, type ”…””}”(h%Œ To try it out, type ”h'h*ubh×)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ``7``”h'h*h@hÖhA]”hPŒ7”…””}”(h%h?h'j¢ubaubhPŒ ”…””}”(h%Œ ”h'h*ubh×)”}”(h}”(h ]”h ]”j|ah ]”h]”h]”uh%Œ :kbd:`Enter`”h'h*h@hÖhA]”hPŒEnter”…””}”(h%h?h'jµubaubhPŒ ”…””}”(h%j´h'h*ubh×)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ``+3``”h'h*h@hÖhA]”hPŒ+3”…””}”(h%h?h'jÇubaubhPŒ ”…””}”(h%j´h'h*ubh×)”}”(h}”(h ]”h ]”j|ah ]”h]”h]”uh%Œ :kbd:`Enter`”h'h*h@hÖhA]”hPŒEnter”…””}”(h%h?h'jÙubaubhPŒ&. SpeedCrunch expands this as follows:”…””}”(h%Œ&. SpeedCrunch expands this as follows:”h'h*ubehUK4hVhubh@hhA]”hPŒ1”…””}”(h%h?h'hubaŒresolved”KubaŒsettings”Œdocutils.frontend”ŒValues”“”)”}”(Œinput_encoding_error_handler”Œstrict”Œinput_encoding”Œ utf-8-sig”Œcloak_email_addresses”ˆŒ_source”hŒconfig”NŒexpose_internals”NŒ strip_classes”NŒstrip_elements_with_classes”NŒenv”NŒdump_pseudo_xml”NŒrecord_dependencies”NŒ datestamp”NŒpep_references”NŒ id_prefix”h?Œ report_level”KŒtrim_footnote_reference_space”‰Œembed_stylesheet”‰Œ docinfo_xform”KŒdump_transforms”NŒauto_id_prefix”Œid”Œ pep_base_url”Œ https://www.python.org/dev/peps/”Œ tab_width”KŒsectsubtitle_xform”‰Œrfc_references”NŒ toc_backlinks”Œentry”Œ dump_settings”NŒ raw_enabled”KŒ rfc_base_url”Œhttps://tools.ietf.org/html/”hCNŒstrip_comments”NŒ _config_files”]”Œ sectnum_xform”KŒdebug”NŒ generator”NŒoutput_encoding”Œutf-8”Œerror_encoding”Œcp850”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œdoctitle_xform”‰Œgettext_compact”ˆŒ source_link”NŒ traceback”ˆŒoutput_encoding_error_handler”jùŒstrict_visitor”NŒsyntax_highlight”Œlong”Œdump_internals”NŒexit_status_level”KŒfootnote_backlinks”KŒpep_file_url_template”Œpep-%04d”Œ halt_level”KŒ_disable_config”NŒ _destination”NŒ smart_quotes”‰Œfile_insertion_enabled”ˆŒ source_url”NŒwarning_stream”NubŒrefnames”}”Œf1”]”hasŒreporter”NŒ current_line”NŒ transformer”NŒparse_messages”]”Œsubstitution_defs”}”Œsymbol_footnotes”]”h@hhA]”h5aŒ nametypes”}”(j»ˆh=NuŒids”}”(h"j³h hh9h5uŒtransform_messages”]”Œcurrent_source”NŒsymbol_footnote_refs”]”Œindirect_targets”]”Œsubstitution_names”}”Œrefids”}”h"]”hasŒ citation_refs”}”Œsymbol_footnote_start”KŒautofootnote_start”KhhŒid_start”Kh%h?Œ decoration”NŒ footnotes”]”Œ footnote_refs”}”j>]”hasŒ autofootnotes”]”j³aŒnameids”}”(j»h"h=h9uub.heldercorreia-speedcrunch-ea93b21f9498/doc/build_html_embedded/_doctrees/userguide/index.doctree000066400000000000000000000062261301713744000330670ustar00rootroot00000000000000€•‹ Œdocutils.nodes”Œdocument”“”)”}”(Œ attributes”}”(Œbackrefs”]”Œclasses”]”Œids”]”Œdupnames”]”Œnames”]”Œsource”Œ8C:\Users\fk\Code\speedcrunch\doc\src\userguide\index.rst”uŒ citations”]”Œautofootnote_refs”]”Œsettings”Œdocutils.frontend”ŒValues”“”)”}”(Œinput_encoding_error_handler”Œstrict”Œinput_encoding”Œ utf-8-sig”Œcloak_email_addresses”ˆŒ_source”hŒconfig”NŒexpose_internals”NŒ strip_classes”NŒstrip_elements_with_classes”NŒenv”NŒdump_pseudo_xml”NŒrecord_dependencies”NŒ datestamp”NŒpep_references”NŒ id_prefix”Œ”Œ report_level”KŒtrim_footnote_reference_space”‰Œembed_stylesheet”‰Œ docinfo_xform”KŒdump_transforms”NŒauto_id_prefix”Œid”Œ pep_base_url”Œ https://www.python.org/dev/peps/”Œ tab_width”KŒsectsubtitle_xform”‰Œrfc_references”NŒ toc_backlinks”Œentry”Œ dump_settings”NŒ raw_enabled”KŒ rfc_base_url”Œhttps://tools.ietf.org/html/”Œtitle”NŒstrip_comments”NŒ _config_files”]”Œ sectnum_xform”KŒdebug”NŒ generator”NŒoutput_encoding”Œutf-8”Œerror_encoding”Œcp850”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œdoctitle_xform”‰Œgettext_compact”ˆŒ source_link”NŒ traceback”ˆŒoutput_encoding_error_handler”hŒstrict_visitor”NŒsyntax_highlight”Œlong”Œdump_internals”NŒexit_status_level”KŒfootnote_backlinks”KŒpep_file_url_template”Œpep-%04d”Œ halt_level”KŒ_disable_config”NŒ _destination”NŒ smart_quotes”‰Œfile_insertion_enabled”ˆŒ source_url”NŒwarning_stream”NubŒrefnames”}”Œreporter”NŒ current_line”NŒ transformer”NŒparse_messages”]”Œsubstitution_defs”}”Œsymbol_footnotes”]”Œtagname”hŒchildren”]”hŒsection”“”)”}”(h}”(h ]”Œ user-guide”ah ]”h ]”h]”Œ user guide”ah]”uŒ rawsource”h-Œparent”hhnhqho]”(hh@“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh}Œ User Guide”h~hshnh@ho]”hŒText”“”Œ User Guide”…””}”(h}h‰h~hubaŒline”KŒsource”hhhubhŒ paragraph”“”)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh}ŒîThis part of the manual explains how to use SpeedCrunch, starting from the installation and continuing to in-depth descriptions of particular topics and features. It can be read in order or simply used to look up the details of a feature.”h~hshnh“ho]”hŒŒîThis part of the manual explains how to use SpeedCrunch, starting from the installation and continuing to in-depth descriptions of particular topics and features. It can be read in order or simply used to look up the details of a feature.”…””}”(h}hh~h•ubah‘Kh’hubhŒcompound”“”)”}”(h}”(h ]”h ]”Œtoctree-wrapper”ah ]”h]”h]”uh}h-h~hshnh£ho]”Œsphinx.addnodes”Œtoctree”“”)”}”(h}”(Œhidden”‰h ]”h]”h~Œuserguide/index”Œ includefiles”]”(Œuserguide/installation”Œuserguide/first_steps”Œuserguide/syntax”Œuserguide/advanced”Œuserguide/interface”eh]”Œ titlesonly”‰Œentries”]”(Nh»†”Nh¼†”Nh½†”Nh¾†”Nh¿†”eŒ includehidden”‰h ]”Œmaxdepth”KŒnumbered”KŒglob”‰h ]”Œcaption”Nuh}h-h~h¥hnh°ho]”h‘Kh’hubah‘Nh’hhhubeh‘Kh’hhhubaŒ nametypes”}”h{NsŒids”}”hwhssŒtransform_messages”]”Œcurrent_source”NŒsymbol_footnote_refs”]”Œindirect_targets”]”Œsubstitution_names”}”Œrefids”}”Œ citation_refs”}”Œsymbol_footnote_start”KŒautofootnote_start”KhhŒid_start”Kh}h-Œ decoration”NŒ footnotes”]”Œ footnote_refs”}”Œ autofootnotes”]”Œnameids”}”h{hwsub.installation.doctree000066400000000000000000000546661301713744000344150ustar00rootroot00000000000000heldercorreia-speedcrunch-ea93b21f9498/doc/build_html_embedded/_doctrees/userguide€•«YŒdocutils.nodes”Œdocument”“”)”}”(Œ attributes”}”(Œbackrefs”]”Œclasses”]”Œids”]”Œdupnames”]”Œnames”]”Œsource”Œ?C:\Users\fk\Code\speedcrunch\doc\src\userguide\installation.rst”uŒ citations”]”Œautofootnote_refs”]”Œsettings”Œdocutils.frontend”ŒValues”“”)”}”(Œinput_encoding_error_handler”Œstrict”Œinput_encoding”Œ utf-8-sig”Œcloak_email_addresses”ˆŒ_source”hŒconfig”NŒexpose_internals”NŒ strip_classes”NŒstrip_elements_with_classes”NŒenv”NŒdump_pseudo_xml”NŒrecord_dependencies”NŒ datestamp”NŒpep_references”NŒ id_prefix”Œ”Œ report_level”KŒtrim_footnote_reference_space”‰Œembed_stylesheet”‰Œ docinfo_xform”KŒdump_transforms”NŒauto_id_prefix”Œid”Œ pep_base_url”Œ https://www.python.org/dev/peps/”Œ tab_width”KŒsectsubtitle_xform”‰Œrfc_references”NŒ toc_backlinks”Œentry”Œ dump_settings”NŒ raw_enabled”KŒ rfc_base_url”Œhttps://tools.ietf.org/html/”Œtitle”NŒstrip_comments”NŒ _config_files”]”Œ sectnum_xform”KŒdebug”NŒ generator”NŒoutput_encoding”Œutf-8”Œerror_encoding”Œcp850”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œdoctitle_xform”‰Œgettext_compact”ˆŒ source_link”NŒ traceback”ˆŒoutput_encoding_error_handler”hŒstrict_visitor”NŒsyntax_highlight”Œlong”Œdump_internals”NŒexit_status_level”KŒfootnote_backlinks”KŒpep_file_url_template”Œpep-%04d”Œ halt_level”KŒ_disable_config”NŒ _destination”NŒ smart_quotes”‰Œfile_insertion_enabled”ˆŒ source_url”NŒwarning_stream”NubŒrefnames”}”(Œdev-win”]”(hŒtarget”“”)”}”(h}”(h]”h ]”Œrefuri”Œ5https://github.com/Tey/speedcrunch-nightlies/releases”h ]”h ]”h]”Œwindows”auŒindirect_reference_name”Œdev-win”Œ rawsource”Œ ”Œparent”hŒ paragraph”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ`Windows `_”hxhŒ list_item”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvhƒhxhŒ bullet_list”“”)”}”(h}”(h]”h ]”Œbullet”Œ*”h ]”h ]”h]”uhvh-hxhŒsection”“”)”}”(h}”(h ]”Œdevelopment-builds”ah ]”h ]”h]”Œdevelopment builds”ah]”uhvh-hxh›)”}”(h}”(h ]”Œ installation”ah ]”h ]”h]”Œ installation”ah]”uhvh-hxhŒtagname”hšŒchildren”]”(hh@“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ Installation”hxh¦h°h@h±]”hŒText”“”Œ Installation”…””}”(hvh¼hxh´ubaŒline”KŒsource”hhhubh›)”}”(h}”(h ]”Œmicrosoft-windows”ah ]”h ]”h]”Œmicrosoft windows”ah]”uhvh-hxh¦h°hšh±]”(h³)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒMicrosoft Windows”hxhÆh°h@h±]”h¿ŒMicrosoft Windows”…””}”(hvhÙhxhÑubahÄKhÅhhhubhz)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvŒïSpeedCrunch for Windows requires Windows Vista or newer (32-bit and 64-bit versions). You can use choose to use either the installer or the portable version of SpeedCrunch. Both of these are available from `the SpeedCrunch website `_.”hxhÆh°hyh±]”(h¿ŒÎSpeedCrunch for Windows requires Windows Vista or newer (32-bit and 64-bit versions). You can use choose to use either the installer or the portable version of SpeedCrunch. Both of these are available from ”…””}”(hvŒÎSpeedCrunch for Windows requires Windows Vista or newer (32-bit and 64-bit versions). You can use choose to use either the installer or the portable version of SpeedCrunch. Both of these are available from ”hxhßubhŒ reference”“”)”}”(h}”(h]”h ]”hnŒhttp://speedcrunch.org”h ]”h ]”h]”Œname”Œthe SpeedCrunch website”uhvŒ `the SpeedCrunch website `_”hxhßh°hîh±]”h¿Œthe SpeedCrunch website”…””}”(hvh-hxhðubaŒresolved”Kubhh)”}”(h}”(h]”h ]”hnhõh ]”h ]”h]”Œthe speedcrunch website”auhtŒsc”hvŒ ”hxhßh°hgh±]”jKubh¿Œ.”…””}”(hvŒ.”hxhßubehÄK hÅhubhh)”}”(h}”(h]”h ]”hnhõh ]”Œsc”ah ]”h]”Œsc”auhvŒ.. _sc: http://speedcrunch.org”hxhÆh°hgh±]”hÄK hÅhŒ referenced”Khhubhz)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvŒŒThe installer installs SpeedCrunch on your system and creates an entry in the menu to launch it. This process requires administrator rights.”hxhÆh°hyh±]”h¿ŒŒThe installer installs SpeedCrunch on your system and creates an entry in the menu to launch it. This process requires administrator rights.”…””}”(hvj(hxj ubahÄKhÅhubhz)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvX©Alternatively, you may use the portable version of SpeedCrunch, which is distributed as a ``.zip`` archive. This version requires no installation, simply extract it to a folder of your choice and run :program:`speedcrunch.exe`. In addition, this version of the software is fully portable: It stores all its settings and user data next to the executable so the entire directory can be copied to another computer and run there.”hxhÆh°hyh±]”(h¿ŒZAlternatively, you may use the portable version of SpeedCrunch, which is distributed as a ”…””}”(hvŒZAlternatively, you may use the portable version of SpeedCrunch, which is distributed as a ”hxj.ubhŒliteral”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``.zip``”hxj.h°j=h±]”h¿Œ.zip”…””}”(hvh-hxj?ubaubh¿Œf archive. This version requires no installation, simply extract it to a folder of your choice and run ”…””}”(hvŒf archive. This version requires no installation, simply extract it to a folder of your choice and run ”hxj.ubŒsphinx.addnodes”Œliteral_strong”“”)”}”(h}”(h ]”h ]”Œprogram”ah ]”h]”h]”uhvŒ:program:`speedcrunch.exe`”hxj.h°jSh±]”h¿Œspeedcrunch.exe”…””}”(hvh-hxjUubaubh¿ŒÇ. In addition, this version of the software is fully portable: It stores all its settings and user data next to the executable so the entire directory can be copied to another computer and run there.”…””}”(hvŒÇ. In addition, this version of the software is fully portable: It stores all its settings and user data next to the executable so the entire directory can be copied to another computer and run there.”hxj.ubehÄKhÅhubhŒcomment”“”)”}”(h}”(h]”h ]”Œ xml:space”Œpreserve”h ]”h ]”h]”uhvŒ Apple OS X”hxhÆh°jih±]”h¿Œ Apple OS X”…””}”(hvh-hxjkubahÄKhÅhhhubjj)”}”(h}”(h]”h ]”jpjqh ]”h ]”h]”uhvŒ ----------”hxhÆh°jih±]”h¿Œ ----------”…””}”(hvh-hxj{ubahÄKhÅhhhubjj)”}”(h}”(h]”h ]”jpjqh ]”h ]”h]”uhvŒ#TODO: OSX installation instructions”hxhÆh°jih±]”h¿Œ#TODO: OSX installation instructions”…””}”(hvh-hxj‰ubahÄKhÅhhhubehÄKhÅhhhubh›)”}”(h}”(h ]”Œlinux”ah ]”h ]”h]”Œlinux”ah]”uhvh-hxh¦h°hšh±]”(h³)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒLinux”hxj—h°h@h±]”h¿ŒLinux”…””}”(hvjªhxj¢ubahÄK!hÅhhhubhz)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvŒ¸On Linux, there are two main ways to install SpeedCrunch: Either install the package provided by your distribution, if any, or install the binary packages from the SpeedCrunch website.”hxj—h°hyh±]”h¿Œ¸On Linux, there are two main ways to install SpeedCrunch: Either install the package provided by your distribution, if any, or install the binary packages from the SpeedCrunch website.”…””}”(hvj¸hxj°ubahÄK#hÅhubh›)”}”(h}”(h ]”Œdistribution-packages”ah ]”h ]”h]”Œdistribution packages”ah]”uhvh-hxj—h°hšh±]”(h³)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒDistribution Packages”hxj¾h°h@h±]”h¿ŒDistribution Packages”…””}”(hvjÑhxjÉubahÄK)hÅhhhubhz)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvXMany Linux distributions already include packages for SpeedCrunch in their repositories. The exact steps to install these depend on the distribution. For example, on Debian and Ubuntu, the included SpeedCrunch package can be installed by running this command::”hxj¾h°hyh±]”h¿XMany Linux distributions already include packages for SpeedCrunch in their repositories. The exact steps to install these depend on the distribution. For example, on Debian and Ubuntu, the included SpeedCrunch package can be installed by running this command:”…””}”(hvXMany Linux distributions already include packages for SpeedCrunch in their repositories. The exact steps to install these depend on the distribution. For example, on Debian and Ubuntu, the included SpeedCrunch package can be installed by running this command:”hxj×ubahÄK+hÅhubhŒ literal_block”“”)”}”(hhh}”(h]”h ]”jpjqh ]”h ]”h]”uhvŒ sudo apt-get install speedcrunch”hxj¾h°jæh±]”h¿Œ sudo apt-get install speedcrunch”…””}”(hvh-hxjèubahÄK/hÅhubhz)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvŒ2On Fedora, this command will install SpeedCrunch::”hxj¾h°hyh±]”h¿Œ1On Fedora, this command will install SpeedCrunch:”…””}”(hvŒ1On Fedora, this command will install SpeedCrunch:”hxjöubahÄK1hÅhubjç)”}”(hhh}”(h]”h ]”jpjqh ]”h ]”h]”uhvŒsudo yum install speedcrunch”hxj¾h°jæh±]”h¿Œsudo yum install speedcrunch”…””}”(hvh-hxjubahÄK3hÅhubhz)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvŒÈCheck your system's documentation to find out how to install additional packages. Many desktop distributions also include graphical package management software that can be used to install SpeedCrunch.”hxj¾h°hyh±]”h¿ŒÈCheck your system's documentation to find out how to install additional packages. Many desktop distributions also include graphical package management software that can be used to install SpeedCrunch.”…””}”(hvjhxjubahÄK5hÅhubehÄK)hÅhhhubh›)”}”(h}”(h ]”Œgeneric-packages”ah ]”h ]”h]”Œgeneric packages”ah]”uhvh-hxj—h°hšh±]”(h³)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒGeneric Packages”hxj!h°h@h±]”h¿ŒGeneric Packages”…””}”(hvj4hxj,ubahÄK;hÅhhhubjRŒversionmodified”“”)”}”(h}”(h]”h ]”Œtype”Œ versionadded”Œversion”Œ0.12”h ]”h ]”h]”uhvŒ]New in version 0.12: The generic Linux packages are available starting with SpeedCrunch 0.12.”hxj!h°j:h±]”hz)”}”(hhh}”(h]”h ]”h ]”Œ translatable”‰h ]”h]”uhvŒ]New in version 0.12: The generic Linux packages are available starting with SpeedCrunch 0.12.”hxj<h°hyh±]”(hŒinline”“”)”}”(hhh}”(h ]”h ]”j:ah ]”h]”h]”uhvŒNew in version 0.12: ”hxjJh°jUh±]”h¿ŒNew in version 0.12: ”…””}”(hvh-hxjWubahÄNhÅhubh¿ŒHThe generic Linux packages are available starting with SpeedCrunch 0.12.”…””}”(hÄNhÅNhvŒHThe generic Linux packages are available starting with SpeedCrunch 0.12.”hxjJhhubehÄNhÅhubahÄK=hÅhhhubhz)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvX\As an alternative to distribution packages, Linux binary packages of SpeedCrunch are available on `the SpeedCrunch website `_. They are generic packages that are built to be compatible with many different Linux systems. As a rule of thumb, they are likely to work on most Linux distributions released since around 2010; however, due to the wide variety and flexibility of Linux systems, this is only a best-effort endeavor and never guaranteed. Additionally, due to the generic nature of the packages, they may not integrate as well with the system as your distribution's packages; in particular, they won't adapt as well to the visual style of your desktop environment. In general, if there's a SpeedCrunch package available from your distribution, that will likely work better for your system than these generic packages, but it may be an older version.”hxj!h°hyh±]”(h¿ŒbAs an alternative to distribution packages, Linux binary packages of SpeedCrunch are available on ”…””}”(hvŒbAs an alternative to distribution packages, Linux binary packages of SpeedCrunch are available on ”hxjjubhï)”}”(h}”(h]”h ]”hnhõh ]”h ]”h]”Œname”Œthe SpeedCrunch website”uhvŒ `the SpeedCrunch website `_”hxjjh°hîh±]”h¿Œthe SpeedCrunch website”…””}”(hvh-hxjyubajKubhh)”}”(h}”(h]”h ]”hnhõh ]”h ]”h]”Œthe speedcrunch website”auhtŒsc”hvŒ ”hxjjh°hgh±]”jKubh¿XÚ. They are generic packages that are built to be compatible with many different Linux systems. As a rule of thumb, they are likely to work on most Linux distributions released since around 2010; however, due to the wide variety and flexibility of Linux systems, this is only a best-effort endeavor and never guaranteed. Additionally, due to the generic nature of the packages, they may not integrate as well with the system as your distribution's packages; in particular, they won't adapt as well to the visual style of your desktop environment. In general, if there's a SpeedCrunch package available from your distribution, that will likely work better for your system than these generic packages, but it may be an older version.”…””}”(hvXÚ. They are generic packages that are built to be compatible with many different Linux systems. As a rule of thumb, they are likely to work on most Linux distributions released since around 2010; however, due to the wide variety and flexibility of Linux systems, this is only a best-effort endeavor and never guaranteed. Additionally, due to the generic nature of the packages, they may not integrate as well with the system as your distribution's packages; in particular, they won't adapt as well to the visual style of your desktop environment. In general, if there's a SpeedCrunch package available from your distribution, that will likely work better for your system than these generic packages, but it may be an older version.”hxjjubehÄKAhÅhubhh)”}”(h}”(h]”h ]”hnŒhttp://speedcrunch.org”h ]”Œid1”ah ]”Œsc”ah]”uhvŒ.. _sc: http://speedcrunch.org”hxj!h°hgh±]”hÄKLhÅhjKhhubhz)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvŒ‹There's choice of three different types of packages per architecture (32-bit or 64-bit); which one is right for you depends on your system:”hxj!h°hyh±]”h¿Œ‹There's choice of three different types of packages per architecture (32-bit or 64-bit); which one is right for you depends on your system:”…””}”(hvj¯hxj§ubahÄKNhÅhubh)”}”(h}”(h]”h ]”h•h–h ]”h ]”h]”uhvh-hxj!h°hŽh±]”(h…)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒLUse the ``.deb`` packages for Debian and derived distributions, like Ubuntu.”hxjµh°h„h±]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvjÆhxj¾h°hyh±]”(h¿ŒUse the ”…””}”(hvŒUse the ”hxjÈubj>)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``.deb``”hxjÈh°j=h±]”h¿Œ.deb”…””}”(hvh-hxjÖubaubh¿Œ< packages for Debian and derived distributions, like Ubuntu.”…””}”(hvŒ< packages for Debian and derived distributions, like Ubuntu.”hxjÈubehÄKQhÅhubahÄNhÅhhhubh…)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒrUse the ``.rpm`` packages for RPM-based systems like Fedora, Red Hat Enterprise Linux/CentOS, openSUSE or Mageia. ”hxjµh°h„h±]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒqUse the ``.rpm`` packages for RPM-based systems like Fedora, Red Hat Enterprise Linux/CentOS, openSUSE or Mageia.”hxjéh°hyh±]”(h¿ŒUse the ”…””}”(hvŒUse the ”hxjóubj>)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``.rpm``”hxjóh°j=h±]”h¿Œ.rpm”…””}”(hvh-hxjubaubh¿Œa packages for RPM-based systems like Fedora, Red Hat Enterprise Linux/CentOS, openSUSE or Mageia.”…””}”(hvŒa packages for RPM-based systems like Fedora, Red Hat Enterprise Linux/CentOS, openSUSE or Mageia.”hxjóubehÄKRhÅhubahÄNhÅhhhubehÄKQhÅhhhubhz)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvŒ´The exact steps for installing the package again depend on your system. Most desktop Linux distributions include a graphical utility to install package files from the file manager.”hxj!h°hyh±]”h¿Œ´The exact steps for installing the package again depend on your system. Most desktop Linux distributions include a graphical utility to install package files from the file manager.”…””}”(hvjhxjubahÄKThÅhubhz)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvŒÒIf neither of these fit your system, there are also ``.tar.bz2`` archives that simply contain the binary. The contents can be copied to any directory and the :program:`speedcrunch` binary can be run from there.”hxj!h°hyh±]”(h¿Œ4If neither of these fit your system, there are also ”…””}”(hvŒ4If neither of these fit your system, there are also ”hxj#ubj>)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ ``.tar.bz2``”hxj#h°j=h±]”h¿Œ.tar.bz2”…””}”(hvh-hxj2ubaubh¿Œ^ archives that simply contain the binary. The contents can be copied to any directory and the ”…””}”(hvŒ^ archives that simply contain the binary. The contents can be copied to any directory and the ”hxj#ubjT)”}”(h}”(h ]”h ]”jZah ]”h]”h]”uhvŒ:program:`speedcrunch`”hxj#h°jSh±]”h¿Œ speedcrunch”…””}”(hvh-hxjEubaubh¿Œ binary can be run from there.”…””}”(hvŒ binary can be run from there.”hxj#ubehÄKWhÅhubehÄK;hÅhhhubehÄK!hÅhhhubhœh›)”}”(h}”(h ]”Œbuilding-from-source”ah ]”h ]”h]”Œbuilding from source”ah]”uhvh-hxh¦h°hšh±]”(h³)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒBuilding from Source”hxjXh°h@h±]”h¿ŒBuilding from Source”…””}”(hvjkhxjcubahÄKrhÅhhhubhz)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvŒ˜The SpeedCrunch source code is maintained on `Bitbucket`_ in a Git repository. Clone the repository onto your machine by running the following command::”hxjXh°hyh±]”(h¿Œ-The SpeedCrunch source code is maintained on ”…””}”(hvŒ-The SpeedCrunch source code is maintained on ”hxjqubhï)”}”(h}”(h]”h ]”hnŒ/https://bitbucket.org/heldercorreia/speedcrunch”h ]”h ]”h]”Œname”Œ Bitbucket”uhvŒ `Bitbucket`_”hxjqh°hîh±]”h¿Œ Bitbucket”…””}”(hvh-hxj€ubajKubh¿Œ^ in a Git repository. Clone the repository onto your machine by running the following command:”…””}”(hvŒ^ in a Git repository. Clone the repository onto your machine by running the following command:”hxjqubehÄKthÅhubjç)”}”(hhh}”(h]”h ]”jpjqh ]”h ]”h]”uhvŒ=git clone https://bitbucket.org/heldercorreia/speedcrunch.git”hxjXh°jæh±]”h¿Œ=git clone https://bitbucket.org/heldercorreia/speedcrunch.git”…””}”(hvh-hxj–ubahÄKwhÅhubhh)”}”(h}”(h]”h ]”hnj…h ]”Œ bitbucket”ah ]”h]”Œ bitbucket”auhvŒ>.. _Bitbucket: https://bitbucket.org/heldercorreia/speedcrunch”hxjXh°hgh±]”hÄKyhÅhjKhhubhz)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvŒ{The main readme file (:file:`README.md` at the root of the repository) contains instructions on how to compile SpeedCrunch.”hxjXh°hyh±]”(h¿ŒThe main readme file (”…””}”(hvŒThe main readme file (”hxj°ubj>)”}”(h}”(h]”h ]”Œfile”ah ]”h ]”h]”Œrole”Œfile”uhvŒ README.md”hxj°h°j=h±]”h¿Œ README.md”…””}”(hvŒ README.md”hxj¿ubaubh¿ŒT at the root of the repository) contains instructions on how to compile SpeedCrunch.”…””}”(hvŒT at the root of the repository) contains instructions on how to compile SpeedCrunch.”hxj°ubehÄK{hÅhubehÄKrhÅhhhubehÄKhÅhhhubh°hšh±]”(h³)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒDevelopment Builds”hxhœh°h@h±]”h¿ŒDevelopment Builds”…””}”(hvjßhxj×ubahÄK]hÅhhhubhŒwarning”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ®Development builds of SpeedCrunch may not be as stable or well-tested as released versions and may contain changes that break your session history. Use them at your own risk.”hxhœh°jåh±]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ®Development builds of SpeedCrunch may not be as stable or well-tested as released versions and may contain changes that break your session history. Use them at your own risk.”hxjçh°hyh±]”h¿Œ®Development builds of SpeedCrunch may not be as stable or well-tested as released versions and may contain changes that break your session history. Use them at your own risk.”…””}”(hvjùhxjñubahÄKahÅhubahÄNhÅhhhubhz)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvX$Pre-built development versions of SpeedCrunch allow you to use newer features and bug-fixes before they become available in a release, without having to compile SpeedCrunch yourself. Currently, automatically updated development builds of SpeedCrunch are available for the following platforms:”hxhœh°hyh±]”h¿X$Pre-built development versions of SpeedCrunch allow you to use newer features and bug-fixes before they become available in a release, without having to compile SpeedCrunch yourself. Currently, automatically updated development builds of SpeedCrunch are available for the following platforms:”…””}”(hvjhxjÿubahÄKdhÅhubhhh)”}”(h}”(h]”h ]”hnhoh ]”Œdev-win”ah ]”h]”Œdev-win”auhvŒB.. _dev-win: https://github.com/Tey/speedcrunch-nightlies/releases”hxhœh°hgh±]”hÄKlhÅhjKhhubhh)”}”(h}”(h]”h ]”hnŒDhttps://code.launchpad.net/~fkrull/+archive/ubuntu/speedcrunch-daily”h ]”Œ dev-ubuntu”ah ]”h]”Œ dev-ubuntu”auhvŒT.. _dev-ubuntu: https://code.launchpad.net/~fkrull/+archive/ubuntu/speedcrunch-daily”hxhœh°hgh±]”hÄKmhÅhjKhhubehÄK]hÅhhhubh°hŽh±]”(h†h…)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ*`Ubuntu `_ (14.04 and later) ”hxhh°h„h±]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ)`Ubuntu `_ (14.04 and later)”hxj'h°hyh±]”(hï)”}”(h}”(h]”h ]”hnjh ]”h ]”h]”Œname”ŒUbuntu”uhvŒ`Ubuntu `_”hxj1h°hîh±]”h¿ŒUbuntu”…””}”(hvh-hxj;ubajKubhh)”}”(h}”(h]”h ]”hnjh ]”h ]”h]”Œubuntu”auhtŒ dev-ubuntu”hvŒ ”hxj1h°hgh±]”jKubh¿Œ (14.04 and later)”…””}”(hvŒ (14.04 and later)”hxj1ubehÄKjhÅhubahÄNhÅhhhubehÄKihÅhhhubh°h„h±]”h{ahÄNhÅhhhubh°hyh±]”(hï)”}”(h}”(h]”h ]”hnhoh ]”h ]”h]”Œname”ŒWindows”uhvhƒhxh{h°hîh±]”h¿ŒWindows”…””}”(hvh-hxj^ubajKubhiehÄKihÅhubh°hgh±]”jKubj^eŒ bitbucket”]”j€aŒsc”]”(jhðj‰jyeŒ dev-ubuntu”]”(jKj;euŒreporter”NŒ current_line”NŒ transformer”NŒparse_messages”]”hŒsystem_message”“”)”}”(h}”(h]”j¡ah ]”Œlevel”KŒtype”ŒINFO”Œline”KLh ]”h ]”h]”Œsource”huhvh-hxj!h°jyh±]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ%Duplicate explicit target name: "sc".”hxj{h°hyh±]”h¿Œ%Duplicate explicit target name: "sc".”…””}”(hvh-hxj‰ubaubahÄKLhÅhhhubaŒsubstitution_defs”}”Œsymbol_footnotes”]”h°hh±]”(jRŒ highlightlang”“”)”}”(h}”(h]”h ]”Œlinenothreshold”Šÿÿÿÿÿÿÿh ]”h ]”h]”Œlang”Œshell”uhvh-hxhh°jœh±]”hÄKhÅhhhubh¦eŒ nametypes”}”(h¤Njˆj`NjÆNj#ˆjŸNhÎNh®Njˆj)Nj­ˆuŒids”}”(jªj¤hÊhÆjj jjhªh¦j¡jšj\jXh hœj%j!j jj›j—jÂj¾uŒtransform_messages”]”(jz)”}”(h}”(h]”h ]”Œlevel”KŒtype”j‚Œline”K h ]”h ]”h]”Œsource”huhvh-h°jyh±]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj°h°hyh±]”h¿Œ=Hyperlink target "the speedcrunch website" is not referenced.”…””}”(hvh-hxj½ubaubaubjz)”}”(h}”(h]”h ]”Œlevel”KŒtype”j‚Œline”KAh ]”h ]”h]”Œsource”huhvh-h°jyh±]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjÊh°hyh±]”h¿Œ=Hyperlink target "the speedcrunch website" is not referenced.”…””}”(hvh-hxj×ubaubaubjz)”}”(h}”(h]”h ]”Œlevel”KŒtype”j‚Œline”Kih ]”h ]”h]”Œsource”huhvh-h°jyh±]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjäh°hyh±]”h¿Œ-Hyperlink target "windows" is not referenced.”…””}”(hvh-hxjñubaubaubjz)”}”(h}”(h]”h ]”Œlevel”KŒtype”j‚Œline”Kjh ]”h ]”h]”Œsource”huhvh-h°jyh±]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjþh°hyh±]”h¿Œ,Hyperlink target "ubuntu" is not referenced.”…””}”(hvh-hxj ubaubaubeŒcurrent_source”NŒsymbol_footnote_refs”]”Œindirect_targets”]”(jj‰hijKeŒsubstitution_names”}”Œrefids”}”Œ citation_refs”}”Œsymbol_footnote_start”KŒautofootnote_start”KhhŒid_start”Khvh-Œ decoration”NŒ footnotes”]”Œ footnote_refs”}”Œ autofootnotes”]”Œnameids”}”(h¤h jjj`j\jÆjÂj#j jŸj›hÎhÊh®hªjjj)j%j­jªuub.heldercorreia-speedcrunch-ea93b21f9498/doc/build_html_embedded/_doctrees/userguide/interface.doctree000066400000000000000000003074471301713744000337310ustar00rootroot00000000000000€•Œdocutils.nodes”Œdocument”“”)”}”(Œ attributes”}”(Œbackrefs”]”Œclasses”]”Œids”]”Œdupnames”]”Œnames”]”Œsource”Œ Save` and :menuselection:`Session --> Load` menu entries allow you to easily save and restore your entire SpeedCrunch session. The data is stored in a SpeedCrunch-specific file format. [#f1]_ While the session files are human-readable, they are designed for use by SpeedCrunch. If you want to export your calculations to work on them in another program or hand them to a colleague, the other export options are preferable.”h'hŒsection”“”)”}”(h}”(h ]”Œ import-export”ah ]”h ]”h]”Œ import/export”ah]”uh%Œ”h'h4)”}”(h}”(h ]”Œuser-interface”ah ]”h ]”h]”Œuser interface”ah]”uh%h?h'hŒtagname”h3Œchildren”]”(hŒtitle”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒUser Interface”h'h@hJhMhK]”hŒText”“”ŒUser Interface”…””}”(h%hWh'hOubaŒline”KŒsource”hhhubh4)”}”(h}”(h ]”Œwidgets”ah ]”h ]”h]”Œwidgets”ah]”uh%h?h'h@hJh3hK]”(hN)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒWidgets”h'hahJhMhK]”hZŒWidgets”…””}”(h%hth'hlubah_Kh`hhhubh))”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh%Œ­Apart from the main display, SpeedCrunch offers a number of extra panels, referred to as *widgets* here. They can be enabled and disabled via the :menuselection:`View` menu.”h'hahJh(hK]”(hZŒYApart from the main display, SpeedCrunch offers a number of extra panels, referred to as ”…””}”(h%ŒYApart from the main display, SpeedCrunch offers a number of extra panels, referred to as ”h'hzubhŒemphasis”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ *widgets*”h'hzhJh‰hK]”hZŒwidgets”…””}”(h%h?h'h‹ubaubhZŒ0 here. They can be enabled and disabled via the ”…””}”(h%Œ0 here. They can be enabled and disabled via the ”h'hzubhŒinline”“”)”}”(h}”(Œrawtext”Œ:menuselection:`View`”h]”h ]”Œ menuselection”ah ]”h ]”h]”uh%ŒView”h'hzhJhžhK]”hZŒView”…””}”(h%h?h'h ubaubhZŒ menu.”…””}”(h%Œ menu.”h'hzubeh_Kh`hubhŒ bullet_list”“”)”}”(h}”(h]”h ]”Œbullet”Œ*”h ]”h ]”h]”uh%h?h'hahJh¶hK]”(hŒ list_item”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%X Formula Book The formula book provides access to commonly used formulas and calculations. Simply insert a formula into the expression editor by clicking on it. You can help expanding the formula book by posting your requests to the `issue tracker `_. ”h'h¸hJhÃhK]”hŒdefinition_list”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'hÅhJhÏhK]”hŒdefinition_list_item”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%XFormula Book The formula book provides access to commonly used formulas and calculations. Simply insert a formula into the expression editor by clicking on it. You can help expanding the formula book by posting your requests to the `issue tracker `_. ”h'hÑhJhÚhK]”(hŒterm”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ Formula Book”h'hÜhJhæhK]”hZŒ Formula Book”…””}”(h%hðh'hèubah_Kh`hubhŒ definition”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'hÜhJhöhK]”(h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ’The formula book provides access to commonly used formulas and calculations. Simply insert a formula into the expression editor by clicking on it.”h'høhJh(hK]”hZŒ’The formula book provides access to commonly used formulas and calculations. Simply insert a formula into the expression editor by clicking on it.”…””}”(h%j h'jubah_K h`hubh))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒdYou can help expanding the formula book by posting your requests to the `issue tracker `_.”h'høhJh(hK]”(hZŒHYou can help expanding the formula book by posting your requests to the ”…””}”(h%ŒHYou can help expanding the formula book by posting your requests to the ”h'jubhŒ reference”“”)”}”(h}”(h]”h ]”Œrefuri”Œ6https://bitbucket.org/heldercorreia/speedcrunch/issues”h ]”h ]”h]”Œname”Œ issue tracker”uh%Œ`issue tracker `_”h'jhJjhK]”hZŒ issue tracker”…””}”(h%h?h'j ubaŒresolved”KubhŒtarget”“”)”}”(h}”(h]”h ]”j%j&h ]”h ]”h]”Œ issue tracker”auŒindirect_reference_name”Œtracker”h%Œ ”h'jhJj3hK]”j2KubhZŒ.”…””}”(h%Œ.”h'jubeh_Kh`hubeubeh_Kh`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%X\Constants The constants widget shows a list of over 150 scientific constants. Just double-click on an entry to paste it into the editor. .. note:: As of version 0.12, the constants have not yet been adapted to make use of the new unit system. All the inserted values thus lack a unit. This is likely to change in a future version. ”h'h¸hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jGhJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%XRConstants The constants widget shows a list of over 150 scientific constants. Just double-click on an entry to paste it into the editor. .. note:: As of version 0.12, the constants have not yet been adapted to make use of the new unit system. All the inserted values thus lack a unit. This is likely to change in a future version. ”h'jQhJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ Constants”h'jZhJhæhK]”hZŒ Constants”…””}”(h%jlh'jdubah_Kh`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jZhJhöhK]”(h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ~The constants widget shows a list of over 150 scientific constants. Just double-click on an entry to paste it into the editor.”h'jrhJh(hK]”hZŒ~The constants widget shows a list of over 150 scientific constants. Just double-click on an entry to paste it into the editor.”…””}”(h%jƒh'j{ubah_Kh`hubhŒnote”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ·As of version 0.12, the constants have not yet been adapted to make use of the new unit system. All the inserted values thus lack a unit. This is likely to change in a future version.”h'jrhJj‰hK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ·As of version 0.12, the constants have not yet been adapted to make use of the new unit system. All the inserted values thus lack a unit. This is likely to change in a future version.”h'j‹hJh(hK]”hZŒ·As of version 0.12, the constants have not yet been adapted to make use of the new unit system. All the inserted values thus lack a unit. This is likely to change in a future version.”…””}”(h%jh'j•ubah_Kh`hubaubeubeh_Kh`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%XVariables The variables widget lists all :ref:`user-defined variables `. Any of them can be inserted into the editor by double-clicking it. Additionally, it is possible to delete a variable by selecting it and pressing the :kbd:`Delete` key on your keyboard. ”h'h¸hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j£hJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%XVariables The variables widget lists all :ref:`user-defined variables `. Any of them can be inserted into the editor by double-clicking it. Additionally, it is possible to delete a variable by selecting it and pressing the :kbd:`Delete` key on your keyboard. ”h'j­hJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ Variables”h'j¶hJhæhK]”hZŒ Variables”…””}”(h%jÈh'jÀubah_Kh`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j¶hJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%XThe variables widget lists all :ref:`user-defined variables `. Any of them can be inserted into the editor by double-clicking it. Additionally, it is possible to delete a variable by selecting it and pressing the :kbd:`Delete` key on your keyboard.”h'jÎhJh(hK]”(hZŒThe variables widget lists all ”…””}”(h%ŒThe variables widget lists all ”h'j×ubŒsphinx.addnodes”Œ pending_xref”“”)”}”(h}”(Œrefdoc”Œuserguide/interface”h]”h ]”Œrefwarn”ˆŒ refexplicit”ˆŒ reftarget”Œ variables”h ]”Œreftype”Œref”Œ refdomain”Œstd”h ]”h]”uh%Œ):ref:`user-defined variables `”h'j×hJjçhK]”hŸ)”}”(h}”(h ]”h ]”(Œxref”jøŒstd-ref”eh ]”h]”h]”uh%jûh'jéhJhžhK]”hZŒuser-defined variables”…””}”(h%h?h'jýubaubah_Kh`hubhZŒ˜. Any of them can be inserted into the editor by double-clicking it. Additionally, it is possible to delete a variable by selecting it and pressing the ”…””}”(h%Œ˜. Any of them can be inserted into the editor by double-clicking it. Additionally, it is possible to delete a variable by selecting it and pressing the ”h'j×ubhŒliteral”“”)”}”(h}”(h ]”h ]”Œkbd”ah ]”h]”h]”uh%Œ :kbd:`Delete`”h'j×hJjhK]”hZŒDelete”…””}”(h%h?h'jubaubhZŒ key on your keyboard.”…””}”(h%Œ key on your keyboard.”h'j×ubeh_Kh`hubaubeh_Kh`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ•Functions and User Functions Similar to the variables widget, these show built-in and :ref:`user-defined functions ` respectively. ”h'h¸hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j'hJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ“Functions and User Functions Similar to the variables widget, these show built-in and :ref:`user-defined functions ` respectively. ”h'j1hJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒFunctions and User Functions”h'j:hJhæhK]”hZŒFunctions and User Functions”…””}”(h%jLh'jDubah_Kh`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j:hJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒuSimilar to the variables widget, these show built-in and :ref:`user-defined functions ` respectively.”h'jRhJh(hK]”(hZŒ9Similar to the variables widget, these show built-in and ”…””}”(h%Œ9Similar to the variables widget, these show built-in and ”h'j[ubjè)”}”(h}”(jìjíh]”h ]”jðˆŒ refexplicit”ˆjòŒuser_functions”h ]”Œreftype”Œref”Œ refdomain”Œstd”h ]”h]”uh%Œ.:ref:`user-defined functions `”h'j[hJjçhK]”hŸ)”}”(h}”(h ]”h ]”(jjuŒstd-ref”eh ]”h]”h]”uh%jxh'jjhJhžhK]”hZŒuser-defined functions”…””}”(h%h?h'jzubaubah_Kh`hubhZŒ respectively.”…””}”(h%Œ respectively.”h'j[ubeh_Kh`hubaubeh_Kh`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%XâBit Field The bit field widget is designed to make working with binary numbers easier. It shows a field of 64 squares, each representing a bit in the current result. Any bit can be toggled by clicking its square; the resulting number is automatically inserted into the editor. Additional buttons allow you to shift, invert and reset all the bits at once. While the mouse cursor is hovering over the bit field, scrolling the mouse wheel will also shift the bits. .. _keypad:”h'h¸hJhÃhK]”(hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jhJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%XÎBit Field The bit field widget is designed to make working with binary numbers easier. It shows a field of 64 squares, each representing a bit in the current result. Any bit can be toggled by clicking its square; the resulting number is automatically inserted into the editor. Additional buttons allow you to shift, invert and reset all the bits at once. While the mouse cursor is hovering over the bit field, scrolling the mouse wheel will also shift the bits. ”h'j—hJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ Bit Field”h'j hJhæhK]”hZŒ Bit Field”…””}”(h%j²h'jªubah_K#h`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j hJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%XÃThe bit field widget is designed to make working with binary numbers easier. It shows a field of 64 squares, each representing a bit in the current result. Any bit can be toggled by clicking its square; the resulting number is automatically inserted into the editor. Additional buttons allow you to shift, invert and reset all the bits at once. While the mouse cursor is hovering over the bit field, scrolling the mouse wheel will also shift the bits.”h'j¸hJh(hK]”hZXÃThe bit field widget is designed to make working with binary numbers easier. It shows a field of 64 squares, each representing a bit in the current result. Any bit can be toggled by clicking its square; the resulting number is automatically inserted into the editor. Additional buttons allow you to shift, invert and reset all the bits at once. While the mouse cursor is hovering over the bit field, scrolling the mouse wheel will also shift the bits.”…””}”(h%jÉh'jÁubah_K h`hubaubeh_K#h`hubaubj4)”}”(h}”(h]”h ]”h ]”h!Œkeypad”h ]”h]”uh%Œ .. _keypad:”h'jhJj3hK]”h_K%ubeh_Nh`NhhubhÄ)”}”(h}”(h ]”jÕah ]”h ]”h]”Œkeypad”ah]”uŒexpect_referenced_by_name”}”jájÏsŒexpect_referenced_by_id”}”jÕjÏsh%X•Keypad The on-screen keypad allows inputting numbers without using the keyboard. However, it is very limited and doesn't provide access to many of SpeedCrunch's more advanced features. For that reason, using SpeedCrunch's keyboard interface is recommended in place of using the keypad. .. versionchanged:: 0.11 The keypad was removed in SpeedCrunch 0.11; however, it was added back in 0.12. ”h'h¸hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jÚhJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%X‹Keypad The on-screen keypad allows inputting numbers without using the keyboard. However, it is very limited and doesn't provide access to many of SpeedCrunch's more advanced features. For that reason, using SpeedCrunch's keyboard interface is recommended in place of using the keypad. .. versionchanged:: 0.11 The keypad was removed in SpeedCrunch 0.11; however, it was added back in 0.12. ”h'jéhJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒKeypad”h'jòhJhæhK]”hZŒKeypad”…””}”(h%jh'jüubah_K,h`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jòhJhöhK]”(h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%XThe on-screen keypad allows inputting numbers without using the keyboard. However, it is very limited and doesn't provide access to many of SpeedCrunch's more advanced features. For that reason, using SpeedCrunch's keyboard interface is recommended in place of using the keypad.”h'j hJh(hK]”hZXThe on-screen keypad allows inputting numbers without using the keyboard. However, it is very limited and doesn't provide access to many of SpeedCrunch's more advanced features. For that reason, using SpeedCrunch's keyboard interface is recommended in place of using the keypad.”…””}”(h%jh'jubah_K'h`hubjæŒversionmodified”“”)”}”(h}”(h]”h ]”Œtype”Œversionchanged”Œversion”Œ0.11”h ]”h ]”h]”uh%ŒhChanged in version 0.11: The keypad was removed in SpeedCrunch 0.11; however, it was added back in 0.12.”h'j hJj!hK]”h))”}”(hhh}”(h]”h ]”h ]”Œ translatable”‰h ]”h]”uh%ŒhChanged in version 0.11: The keypad was removed in SpeedCrunch 0.11; however, it was added back in 0.12.”h'j#hJh(hK]”(hŸ)”}”(hhh}”(h ]”h ]”j!ah ]”h]”h]”uh%ŒChanged in version 0.11: ”h'j1hJhžhK]”hZŒChanged in version 0.11: ”…””}”(h%h?h'j<ubah_K-h`hubhZŒOThe keypad was removed in SpeedCrunch 0.11; however, it was added back in 0.12.”…””}”(h_Nh`Nh%ŒOThe keypad was removed in SpeedCrunch 0.11; however, it was added back in 0.12.”h'j1hhubeh_K-h`hubah_K+h`hhhubeubeh_K,h`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒžHistory The history widget lists all previous inputs. Double-click a line to recall it. Note that the main result display also provides this functionality. ”h'h¸hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jOhJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒœHistory The history widget lists all previous inputs. Double-click a line to recall it. Note that the main result display also provides this functionality. ”h'jYhJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒHistory”h'jbhJhæhK]”hZŒHistory”…””}”(h%jth'jlubah_K/h`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jbhJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ“The history widget lists all previous inputs. Double-click a line to recall it. Note that the main result display also provides this functionality.”h'jzhJh(hK]”hZŒ“The history widget lists all previous inputs. Double-click a line to recall it. Note that the main result display also provides this functionality.”…””}”(h%j‹h'jƒubah_K/h`hubaubeh_K/h`hubaubah_Nh`Nhhubeh_K h`hhhubj4)”}”(h}”(h]”h ]”j%j&h ]”Œtracker”ah ]”h]”Œtracker”auh%ŒC.. _tracker: https://bitbucket.org/heldercorreia/speedcrunch/issues”h'hahJj3hK]”h_K1h`hŒ referenced”Khhubeh_Kh`hhhubh4)”}”(h}”(h ]”Œexpression-editor-features”ah ]”h ]”h]”Œexpression editor features”ah]”uh%h?h'h@hJh3hK]”(hN)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒExpression Editor Features”h'jžhJhMhK]”hZŒExpression Editor Features”…””}”(h%j±h'j©ubah_K5h`hhhubh))”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh%Œ6The expression editor provides some advanced features:”h'jžhJh(hK]”hZŒ6The expression editor provides some advanced features:”…””}”(h%j¿h'j·ubah_K7h`hubh·)”}”(h}”(h]”h ]”h½h¾h ]”h ]”h]”uh%h?h'jžhJh¶hK]”(hÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%XWAutocompletion If you start typing a name (e.g. of a variable, function, or unit), a pop-up with matching names will appear. Pressing :kbd:`Tab` or :kbd:`Enter` will automatically insert the first suggestion. Alternatively, you can use the arrow keys or the mouse to select a different suggestion, or continue typing to refine the list. ”h'jÅhJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jÎhJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%XQAutocompletion If you start typing a name (e.g. of a variable, function, or unit), a pop-up with matching names will appear. Pressing :kbd:`Tab` or :kbd:`Enter` will automatically insert the first suggestion. Alternatively, you can use the arrow keys or the mouse to select a different suggestion, or continue typing to refine the list. ”h'jØhJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒAutocompletion”h'jáhJhæhK]”hZŒAutocompletion”…””}”(h%jóh'jëubah_K Behavior --> Partial Results` is enabled, selecting a partial expression in the expression editor will show you the result of the selected expression. ”h'jÅhJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jhJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒÊSelection results If :menuselection:`Settings --> Behavior --> Partial Results` is enabled, selecting a partial expression in the expression editor will show you the result of the selected expression. ”h'jhJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒSelection results”h'jhJhæhK]”hZŒSelection results”…””}”(h%j)h'j!ubah_KJh`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jhJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ¶If :menuselection:`Settings --> Behavior --> Partial Results` is enabled, selecting a partial expression in the expression editor will show you the result of the selected expression.”h'j/hJh(hK]”(hZŒIf ”…””}”(h%ŒIf ”h'j8ubhŸ)”}”(h}”(Œrawtext”Œ::menuselection:`Settings --> Behavior --> Partial Results`”h]”h ]”Œ menuselection”ah ]”h ]”h]”uh%Œ)Settings ‣ Behavior ‣ Partial Results”h'j8hJhžhK]”hZŒ)Settings ‣ Behavior ‣ Partial Results”…””}”(h%h?h'jGubaubhZŒy is enabled, selecting a partial expression in the expression editor will show you the result of the selected expression.”…””}”(h%Œy is enabled, selecting a partial expression in the expression editor will show you the result of the selected expression.”h'j8ubeh_KHh`hubaubeh_KJh`hubaubah_Nh`Nhhubeh_K9h`hhhubeh_K5h`hhhubh5h4)”}”(h}”(h ]”Œsettings”ah ]”h ]”h]”Œsettings”ah]”uh%h?h'h@hJh3hK]”(hN)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒSettings”h'j]hJhMhK]”hZŒSettings”…””}”(h%jph'jhubah_Kah`hhhubh))”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh%Œ¸SpeedCrunch's behavior can be customized to a large degree using the configuration options in the :menuselection:`Settings` menu. This section explains the settings that are available.”h'j]hJh(hK]”(hZŒbSpeedCrunch's behavior can be customized to a large degree using the configuration options in the ”…””}”(h%ŒbSpeedCrunch's behavior can be customized to a large degree using the configuration options in the ”h'jvubhŸ)”}”(h}”(Œrawtext”Œ:menuselection:`Settings`”h]”h ]”Œ menuselection”ah ]”h ]”h]”uh%ŒSettings”h'jvhJhžhK]”hZŒSettings”…””}”(h%h?h'j…ubaubhZŒ= menu. This section explains the settings that are available.”…””}”(h%Œ= menu. This section explains the settings that are available.”h'jvubeh_Kch`hubj4)”}”(h}”(h]”h ]”h ]”h!Œ result-format”h ]”h]”uh%Œ.. _result_format:”h'j]hJj3hK]”h_Kfh`hhhubh4)”}”(h}”(h ]”(j¡Œid2”eh ]”h ]”h]”(Œ result format”Œ result_format”eh]”ujã}”j¯j›sjå}”j¡j›sh%h?h'j]hJh3hK]”(hN)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ Result Format”h'j¦hJhMhK]”hZŒ Result Format”…””}”(h%j¼h'j´ubah_Kih`hhhubh))”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh%ŒdThis section allows selecting the result format to use. You can select one of the following formats:”h'j¦hJh(hK]”hZŒdThis section allows selecting the result format to use. You can select one of the following formats:”…””}”(h%jÊh'jÂubah_Kkh`hubh·)”}”(h}”(h]”h ]”h½h¾h ]”h ]”h]”uh%h?h'j¦hJh¶hK]”(hÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒË:menuselection:`Decimal --> General` Use fixed decimal form for most results; for very large (more than six integer places) or very small results (less than 0.0001), scientific notation will be used.”h'jÐhJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jÙhJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒÇ:menuselection:`Decimal --> General` Use fixed decimal form for most results; for very large (more than six integer places) or very small results (less than 0.0001), scientific notation will be used.”h'jãhJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ$:menuselection:`Decimal --> General`”h'jìhJhæhK]”hŸ)”}”(h}”(Œrawtext”jþh]”h ]”Œ menuselection”ah ]”h ]”h]”uh%ŒDecimal ‣ General”h'jöhJhžhK]”hZŒDecimal ‣ General”…””}”(h%h?h'jubaubah_Koh`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jìhJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ¢Use fixed decimal form for most results; for very large (more than six integer places) or very small results (less than 0.0001), scientific notation will be used.”h'jhJh(hK]”hZŒ¢Use fixed decimal form for most results; for very large (more than six integer places) or very small results (less than 0.0001), scientific notation will be used.”…””}”(h%j!h'jubah_Koh`hubaubeh_Koh`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œµ:menuselection:`Decimal --> Fixed Decimal` Display results in fixed decimal form. For excessively large or small numbers, this format may still fall back to scientific notation.”h'jÐhJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j'hJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ±:menuselection:`Decimal --> Fixed Decimal` Display results in fixed decimal form. For excessively large or small numbers, this format may still fall back to scientific notation.”h'j1hJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ*:menuselection:`Decimal --> Fixed Decimal`”h'j:hJhæhK]”hŸ)”}”(h}”(Œrawtext”jLh]”h ]”Œ menuselection”ah ]”h ]”h]”uh%ŒDecimal ‣ Fixed Decimal”h'jDhJhžhK]”hZŒDecimal ‣ Fixed Decimal”…””}”(h%h?h'jNubaubah_Krh`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j:hJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ†Display results in fixed decimal form. For excessively large or small numbers, this format may still fall back to scientific notation.”h'j^hJh(hK]”hZŒ†Display results in fixed decimal form. For excessively large or small numbers, this format may still fall back to scientific notation.”…””}”(h%joh'jgubah_Krh`hubaubeh_Krh`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒÈ:menuselection:`Decimal --> Engineering` Display results in engineering notation. This is a variant of :ref:`scientific notation ` in which the exponent is divisible by three.”h'jÐhJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'juhJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒÄ:menuselection:`Decimal --> Engineering` Display results in engineering notation. This is a variant of :ref:`scientific notation ` in which the exponent is divisible by three.”h'jhJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ(:menuselection:`Decimal --> Engineering`”h'jˆhJhæhK]”hŸ)”}”(h}”(Œrawtext”jšh]”h ]”Œ menuselection”ah ]”h ]”h]”uh%ŒDecimal ‣ Engineering”h'j’hJhžhK]”hZŒDecimal ‣ Engineering”…””}”(h%h?h'jœubaubah_Kuh`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jˆhJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ›Display results in engineering notation. This is a variant of :ref:`scientific notation ` in which the exponent is divisible by three.”h'j¬hJh(hK]”(hZŒ>Display results in engineering notation. This is a variant of ”…””}”(h%Œ>Display results in engineering notation. This is a variant of ”h'jµubjè)”}”(h}”(jìjíh]”h ]”jðˆŒ refexplicit”ˆjòŒscientific_notation”h ]”Œreftype”Œref”Œ refdomain”Œstd”h ]”h]”uh%Œ0:ref:`scientific notation `”h'jµhJjçhK]”hŸ)”}”(h}”(h ]”h ]”(jjÏŒstd-ref”eh ]”h]”h]”uh%jÒh'jÄhJhžhK]”hZŒscientific notation”…””}”(h%h?h'jÔubaubah_Kuh`hubhZŒ- in which the exponent is divisible by three.”…””}”(h%Œ- in which the exponent is divisible by three.”h'jµubeh_Kuh`hubaubeh_Kuh`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œy:menuselection:`Decimal --> Scientific` Display results in :ref:`normalized scientific notation `.”h'jÐhJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jçhJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œw:menuselection:`Decimal --> Scientific` Display results in :ref:`normalized scientific notation `.”h'jñhJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ':menuselection:`Decimal --> Scientific`”h'júhJhæhK]”hŸ)”}”(h}”(Œrawtext”j h]”h ]”Œ menuselection”ah ]”h ]”h]”uh%ŒDecimal ‣ Scientific”h'jhJhžhK]”hZŒDecimal ‣ Scientific”…””}”(h%h?h'jubaubah_Kwh`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'júhJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒODisplay results in :ref:`normalized scientific notation `.”h'jhJh(hK]”(hZŒDisplay results in ”…””}”(h%ŒDisplay results in ”h'j'ubjè)”}”(h}”(jìjíh]”h ]”jðˆŒ refexplicit”ˆjòŒscientific_notation”h ]”Œreftype”Œref”Œ refdomain”Œstd”h ]”h]”uh%Œ;:ref:`normalized scientific notation `”h'j'hJjçhK]”hŸ)”}”(h}”(h ]”h ]”(jjAŒstd-ref”eh ]”h]”h]”uh%jDh'j6hJhžhK]”hZŒnormalized scientific notation”…””}”(h%h?h'jFubaubah_Kxh`hubhZŒ.”…””}”(h%jFh'j'ubeh_Kxh`hubaubeh_Kwh`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒL:menuselection:`Binary` Display results as binary numbers, i.e. in base-2.”h'jÐhJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jXhJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒJ:menuselection:`Binary` Display results as binary numbers, i.e. in base-2.”h'jbhJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ:menuselection:`Binary`”h'jkhJhæhK]”hŸ)”}”(h}”(Œrawtext”j}h]”h ]”Œ menuselection”ah ]”h ]”h]”uh%ŒBinary”h'juhJhžhK]”hZŒBinary”…””}”(h%h?h'jubaubah_Kyh`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jkhJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ2Display results as binary numbers, i.e. in base-2.”h'jhJh(hK]”hZŒ2Display results as binary numbers, i.e. in base-2.”…””}”(h%j h'j˜ubah_Kzh`hubaubeh_Kyh`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒN:menuselection:`Octal` Display all results as octal numbers, i.e. in base-8.”h'jÐhJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j¦hJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒL:menuselection:`Octal` Display all results as octal numbers, i.e. in base-8.”h'j°hJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ:menuselection:`Octal`”h'j¹hJhæhK]”hŸ)”}”(h}”(Œrawtext”jËh]”h ]”Œ menuselection”ah ]”h ]”h]”uh%ŒOctal”h'jÃhJhžhK]”hZŒOctal”…””}”(h%h?h'jÍubaubah_K{h`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j¹hJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ5Display all results as octal numbers, i.e. in base-8.”h'jÝhJh(hK]”hZŒ5Display all results as octal numbers, i.e. in base-8.”…””}”(h%jîh'jæubah_K|h`hubaubeh_K{h`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ\:menuselection:`Hexadecimal` Display all results as hexadecimal numbers, i.e. in base-16. ”h'jÐhJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jôhJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒZ:menuselection:`Hexadecimal` Display all results as hexadecimal numbers, i.e. in base-16. ”h'jþhJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ:menuselection:`Hexadecimal`”h'jhJhæhK]”hŸ)”}”(h}”(Œrawtext”jh]”h ]”Œ menuselection”ah ]”h ]”h]”uh%Œ Hexadecimal”h'jhJhžhK]”hZŒ Hexadecimal”…””}”(h%h?h'jubaubah_K~h`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jhJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ` like :func:`sin` or :func:`cos`, this setting determines the angle format of the arguments.”h'jp hJh(hK]”(hZŒfSelect the angular unit to be used in calculations. For functions that operate on angles, notably the ”…””}”(h%ŒfSelect the angular unit to be used in calculations. For functions that operate on angles, notably the ”h'j‰ ubjè)”}”(h}”(jìjíh]”h ]”jðˆŒ refexplicit”ˆjòŒ trigonometric”h ]”Œreftype”Œref”Œ refdomain”Œstd”h ]”h]”uh%Œ.:ref:`trigonometric functions `”h'j‰ hJjçhK]”hŸ)”}”(h}”(h ]”h ]”(jj£ Œstd-ref”eh ]”h]”h]”uh%j¦ h'j˜ hJhžhK]”hZŒtrigonometric functions”…””}”(h%h?h'j¨ ubaubah_Kšh`hubhZŒ like ”…””}”(h%Œ like ”h'j‰ ubjè)”}”(h}”(jìjíh]”h ]”jð‰Œ refexplicit”‰jòŒsin”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh%Œ :func:`sin`”h'j‰ hJjçhK]”j)”}”(h}”(h ]”h ]”(jjÆ Œsc-func”eh ]”h]”h]”uh%jÉ h'j» hJjhK]”hZŒsin()”…””}”(h%h?h'jË ubaubah_Kšh`hubhZŒ or ”…””}”(h%Œ or ”h'j‰ ubjè)”}”(h}”(jìjíh]”h ]”jð‰Œ refexplicit”‰jòŒcos”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uh%Œ :func:`cos`”h'j‰ hJjçhK]”j)”}”(h}”(h ]”h ]”(jjé Œsc-func”eh ]”h]”h]”uh%jì h'jÞ hJjhK]”hZŒcos()”…””}”(h%h?h'jî ubaubah_Kšh`hubhZŒ<, this setting determines the angle format of the arguments.”…””}”(h%Œ<, this setting determines the angle format of the arguments.”h'j‰ ubeh_Kšh`hubh·)”}”(h}”(h]”h ]”h½h¾h ]”h ]”h]”uh%h?h'jp hJh¶hK]”(hÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œg:menuselection:`Radian` Use radians for angles. A full circle corresponds to an angle of 2Ï€ radians.”h'j hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j hJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œe:menuselection:`Radian` Use radians for angles. A full circle corresponds to an angle of 2Ï€ radians.”h'j hJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ:menuselection:`Radian`”h'j hJhæhK]”hŸ)”}”(h}”(Œrawtext”j/ h]”h ]”Œ menuselection”ah ]”h ]”h]”uh%ŒRadian”h'j' hJhžhK]”hZŒRadian”…””}”(h%h?h'j1 ubaubah_Kžh`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j hJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒMUse radians for angles. A full circle corresponds to an angle of 2Ï€ radians.”h'jA hJh(hK]”hZŒMUse radians for angles. A full circle corresponds to an angle of 2Ï€ radians.”…””}”(h%jR h'jJ ubah_KŸh`hubaubeh_Kžh`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œc:menuselection:`Degree` Use degrees for angles. A full circle corresponds to an angle of 360°. ”h'j hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jX hJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œa:menuselection:`Degree` Use degrees for angles. A full circle corresponds to an angle of 360°. ”h'jb hJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ:menuselection:`Degree`”h'jk hJhæhK]”hŸ)”}”(h}”(Œrawtext”j} h]”h ]”Œ menuselection”ah ]”h ]”h]”uh%ŒDegree”h'ju hJhžhK]”hZŒDegree”…””}”(h%h?h'j ubaubah_K¢h`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jk hJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒGUse degrees for angles. A full circle corresponds to an angle of 360°.”h'j hJh(hK]”hZŒGUse degrees for angles. A full circle corresponds to an angle of 360°.”…””}”(h%j  h'j˜ ubah_K¡h`hubaubeh_K¢h`hubaubah_Nh`Nhhubeh_Kžh`hhhubeh_K˜h`hhhubh4)”}”(h}”(h ]”Œbehavior”ah ]”h ]”h]”Œbehavior”ah]”uh%h?h'j]hJh3hK]”(hN)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒBehavior”h'j¦ hJhMhK]”hZŒBehavior”…””}”(h%j¹ h'j± ubah_K¥h`hhhubh))”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh%ŒbThis section contains several settings that allow you to further configure SpeedCrunch's behavior.”h'j¦ hJh(hK]”hZŒbThis section contains several settings that allow you to further configure SpeedCrunch's behavior.”…””}”(h%jÇ h'j¿ ubah_K§h`hubh·)”}”(h}”(h]”h ]”h½h¾h ]”h ]”h]”uh%h?h'j¦ hJh¶hK]”(hÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ£:menuselection:`Save History on Exit` Controls if the calculation history is automatically saved when SpeedCrunch exits and restored when it is launched again.”h'jÍ hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jÖ hJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒŸ:menuselection:`Save History on Exit` Controls if the calculation history is automatically saved when SpeedCrunch exits and restored when it is launched again.”h'jà hJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ%:menuselection:`Save History on Exit`”h'jé hJhæhK]”hŸ)”}”(h}”(Œrawtext”jû h]”h ]”Œ menuselection”ah ]”h ]”h]”uh%ŒSave History on Exit”h'jó hJhžhK]”hZŒSave History on Exit”…””}”(h%h?h'jý ubaubah_Kªh`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jé hJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒyControls if the calculation history is automatically saved when SpeedCrunch exits and restored when it is launched again.”h'j hJh(hK]”hZŒyControls if the calculation history is automatically saved when SpeedCrunch exits and restored when it is launched again.”…””}”(h%j h'j ubah_Kªh`hubaubeh_Kªh`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œf:menuselection:`Save Window Position on Exit` Controls if the window position is saved and restored.”h'jÍ hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j$ hJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œd:menuselection:`Save Window Position on Exit` Controls if the window position is saved and restored.”h'j. hJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ-:menuselection:`Save Window Position on Exit`”h'j7 hJhæhK]”hŸ)”}”(h}”(Œrawtext”jI h]”h ]”Œ menuselection”ah ]”h ]”h]”uh%ŒSave Window Position on Exit”h'jA hJhžhK]”hZŒSave Window Position on Exit”…””}”(h%h?h'jK ubaubah_K¬h`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j7 hJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ6Controls if the window position is saved and restored.”h'j[ hJh(hK]”hZŒ6Controls if the window position is saved and restored.”…””}”(h%jl h'jd ubah_K­h`hubaubeh_K¬h`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒÔ:menuselection:`Partial Results` If set, SpeedCrunch will display partial results as you type your expression as well as results when selecting a partial expression in the editor. .. _automatic_result_reuse:”h'jÍ hJhÃhK]”(hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jr hJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ´:menuselection:`Partial Results` If set, SpeedCrunch will display partial results as you type your expression as well as results when selecting a partial expression in the editor. ”h'j| hJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ :menuselection:`Partial Results`”h'j… hJhæhK]”hŸ)”}”(h}”(Œrawtext”j— h]”h ]”Œ menuselection”ah ]”h ]”h]”uh%ŒPartial Results”h'j hJhžhK]”hZŒPartial Results”…””}”(h%h?h'j™ ubaubah_K°h`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j… hJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ’If set, SpeedCrunch will display partial results as you type your expression as well as results when selecting a partial expression in the editor.”h'j© hJh(hK]”hZŒ’If set, SpeedCrunch will display partial results as you type your expression as well as results when selecting a partial expression in the editor.”…””}”(h%jº h'j² ubah_K¯h`hubaubeh_K°h`hubaubj4)”}”(h}”(h]”h ]”h ]”h!Œautomatic-result-reuse”h ]”h]”uh%Œ.. _automatic_result_reuse:”h'jr hJj3hK]”h_K²ubeh_Nh`NhhubhÄ)”}”(h}”(h ]”jÆ ah ]”h ]”h]”Œautomatic_result_reuse”ah]”ujã}”jÒ jÀ sjå}”jÆ jÀ sh%Œ®:menuselection:`Automatic Result Reuse` This setting allows you to quickly continue typing after evaluating an expression by inserting `ans` into the editor if necessary.”h'jÍ hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jË hJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œª:menuselection:`Automatic Result Reuse` This setting allows you to quickly continue typing after evaluating an expression by inserting `ans` into the editor if necessary.”h'jØ hJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ':menuselection:`Automatic Result Reuse`”h'já hJhæhK]”hŸ)”}”(h}”(Œrawtext”jó h]”h ]”Œ menuselection”ah ]”h ]”h]”uh%ŒAutomatic Result Reuse”h'jë hJhžhK]”hZŒAutomatic Result Reuse”…””}”(h%h?h'jõ ubaubah_K´h`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'já hJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ‚This setting allows you to quickly continue typing after evaluating an expression by inserting `ans` into the editor if necessary.”h'j hJh(hK]”(hZŒ_This setting allows you to quickly continue typing after evaluating an expression by inserting ”…””}”(h%Œ_This setting allows you to quickly continue typing after evaluating an expression by inserting ”h'j ubhŒtitle_reference”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ`ans`”h'j hJj hK]”hZŒans”…””}”(h%h?h'j ubaubhZŒ into the editor if necessary.”…””}”(h%Œ into the editor if necessary.”h'j ubeh_K´h`hubaubeh_K´h`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒV:menuselection:`Automatic Completion` Completely enables or disables autocompletion.”h'jÍ hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j2 hJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒT:menuselection:`Automatic Completion` Completely enables or disables autocompletion.”h'j< hJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ%:menuselection:`Automatic Completion`”h'jE hJhæhK]”hŸ)”}”(h}”(Œrawtext”jW h]”h ]”Œ menuselection”ah ]”h ]”h]”uh%ŒAutomatic Completion”h'jO hJhžhK]”hZŒAutomatic Completion”…””}”(h%h?h'jY ubaubah_K¶h`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jE hJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ.Completely enables or disables autocompletion.”h'ji hJh(hK]”hZŒ.Completely enables or disables autocompletion.”…””}”(h%jz h'jr ubah_K·h`hubaubeh_K¶h`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒO:menuselection:`Syntax Highlighting` Enables or disables syntax highlighting.”h'jÍ hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j€ hJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒM:menuselection:`Syntax Highlighting` Enables or disables syntax highlighting.”h'jŠ hJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ$:menuselection:`Syntax Highlighting`”h'j“ hJhæhK]”hŸ)”}”(h}”(Œrawtext”j¥ h]”h ]”Œ menuselection”ah ]”h ]”h]”uh%ŒSyntax Highlighting”h'j hJhžhK]”hZŒSyntax Highlighting”…””}”(h%h?h'j§ ubaubah_K¸h`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j“ hJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ(Enables or disables syntax highlighting.”h'j· hJh(hK]”hZŒ(Enables or disables syntax highlighting.”…””}”(h%jÈ h'jÀ ubah_K¹h`hubaubeh_K¸h`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ¡:menuselection:`Digit Grouping` Visually group digits in long numbers. Requires :menuselection:`Settings --> Behavior --> Syntax Highlighting` to be enabled.”h'jÍ hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jÎ hJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ:menuselection:`Digit Grouping` Visually group digits in long numbers. Requires :menuselection:`Settings --> Behavior --> Syntax Highlighting` to be enabled.”h'jØ hJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ:menuselection:`Digit Grouping`”h'já hJhæhK]”hŸ)”}”(h}”(Œrawtext”jó h]”h ]”Œ menuselection”ah ]”h ]”h]”uh%ŒDigit Grouping”h'jë hJhžhK]”hZŒDigit Grouping”…””}”(h%h?h'jõ ubaubah_K»h`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'já hJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ}Visually group digits in long numbers. Requires :menuselection:`Settings --> Behavior --> Syntax Highlighting` to be enabled.”h'j hJh(hK]”(hZŒ0Visually group digits in long numbers. Requires ”…””}”(h%Œ0Visually group digits in long numbers. Requires ”h'j ubhŸ)”}”(h}”(Œrawtext”Œ>:menuselection:`Settings --> Behavior --> Syntax Highlighting`”h]”h ]”Œ menuselection”ah ]”h ]”h]”uh%Œ-Settings ‣ Behavior ‣ Syntax Highlighting”h'j hJhžhK]”hZŒ-Settings ‣ Behavior ‣ Syntax Highlighting”…””}”(h%h?h'j ubaubhZŒ to be enabled.”…””}”(h%Œ to be enabled.”h'j ubeh_K»h`hubaubeh_K»h`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œw:menuselection:`Leave Last Expression` If selected, the entered expression remains in the editor after evaluating it.”h'jÍ hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j3 hJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œu:menuselection:`Leave Last Expression` If selected, the entered expression remains in the editor after evaluating it.”h'j= hJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ&:menuselection:`Leave Last Expression`”h'jF hJhæhK]”hŸ)”}”(h}”(Œrawtext”jX h]”h ]”Œ menuselection”ah ]”h ]”h]”uh%ŒLeave Last Expression”h'jP hJhžhK]”hZŒLeave Last Expression”…””}”(h%h?h'jZ ubaubah_K½h`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jF hJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒNIf selected, the entered expression remains in the editor after evaluating it.”h'jj hJh(hK]”hZŒNIf selected, the entered expression remains in the editor after evaluating it.”…””}”(h%j{ h'js ubah_K¾h`hubaubeh_K½h`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œî:menuselection:`Enable Complex Numbers` Enable or disable support for :ref:`complex numbers `. If disabled, :const:`j` will be undefined and expressions that would return complex results (like ``sqrt(-1)``) will fail.”h'jÍ hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j hJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œê:menuselection:`Enable Complex Numbers` Enable or disable support for :ref:`complex numbers `. If disabled, :const:`j` will be undefined and expressions that would return complex results (like ``sqrt(-1)``) will fail.”h'j‹ hJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ':menuselection:`Enable Complex Numbers`”h'j” hJhæhK]”hŸ)”}”(h}”(Œrawtext”j¦ h]”h ]”Œ menuselection”ah ]”h ]”h]”uh%ŒEnable Complex Numbers”h'jž hJhžhK]”hZŒEnable Complex Numbers”…””}”(h%h?h'j¨ ubaubah_KÀh`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j” hJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒÂEnable or disable support for :ref:`complex numbers `. If disabled, :const:`j` will be undefined and expressions that would return complex results (like ``sqrt(-1)``) will fail.”h'j¸ hJh(hK]”(hZŒEnable or disable support for ”…””}”(h%ŒEnable or disable support for ”h'jÁ ubjè)”}”(h}”(jìjíh]”h ]”jðˆŒ refexplicit”ˆjòŒcomplex_numbers”h ]”Œreftype”Œref”Œ refdomain”Œstd”h ]”h]”uh%Œ(:ref:`complex numbers `”h'jÁ hJjçhK]”hŸ)”}”(h}”(h ]”h ]”(jjÛ Œstd-ref”eh ]”h]”h]”uh%jÞ h'jÐ hJhžhK]”hZŒcomplex numbers”…””}”(h%h?h'jà ubaubah_KÀh`hubhZŒ. If disabled, ”…””}”(h%Œ. If disabled, ”h'jÁ ubjè)”}”(h}”(jìjíh]”h ]”jð‰Œ refexplicit”‰jòŒj”h ]”Œreftype”Œconst”Œ refdomain”Œsc”h ]”h]”uh%Œ :const:`j`”h'jÁ hJjçhK]”j)”}”(h}”(h ]”h ]”(jjþ Œsc-const”eh ]”h]”h]”uh%jh'jó hJjhK]”hZŒj”…””}”(h%h?h'jubaubah_KÀh`hubhZŒK will be undefined and expressions that would return complex results (like ”…””}”(h%ŒK will be undefined and expressions that would return complex results (like ”h'jÁ ubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ ``sqrt(-1)``”h'jÁ hJjhK]”hZŒsqrt(-1)”…””}”(h%h?h'jubaubhZŒ ) will fail.”…””}”(h%Œ ) will fail.”h'jÁ ubeh_KÀh`hubaubeh_KÀh`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒU:menuselection:`Always on Top` Keep the SpeedCrunch window on top of other windows.”h'jÍ hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j)hJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒS:menuselection:`Always on Top` Keep the SpeedCrunch window on top of other windows.”h'j3hJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ:menuselection:`Always on Top`”h'j<hJhæhK]”hŸ)”}”(h}”(Œrawtext”jNh]”h ]”Œ menuselection”ah ]”h ]”h]”uh%Œ Always on Top”h'jFhJhžhK]”hZŒ Always on Top”…””}”(h%h?h'jPubaubah_KÂh`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j<hJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ4Keep the SpeedCrunch window on top of other windows.”h'j`hJh(hK]”hZŒ4Keep the SpeedCrunch window on top of other windows.”…””}”(h%jqh'jiubah_KÃh`hubaubeh_KÂh`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ†:menuselection:`Automatic Result to Clipboard` Automatically copy the result to the clipboard whenever an expression is evaluated. ”h'jÍ hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jwhJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ„:menuselection:`Automatic Result to Clipboard` Automatically copy the result to the clipboard whenever an expression is evaluated. ”h'jhJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ.:menuselection:`Automatic Result to Clipboard`”h'jŠhJhæhK]”hŸ)”}”(h}”(Œrawtext”jœh]”h ]”Œ menuselection”ah ]”h ]”h]”uh%ŒAutomatic Result to Clipboard”h'j”hJhžhK]”hZŒAutomatic Result to Clipboard”…””}”(h%h?h'jžubaubah_KÆh`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jŠhJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒSAutomatically copy the result to the clipboard whenever an expression is evaluated.”h'j®hJh(hK]”hZŒSAutomatically copy the result to the clipboard whenever an expression is evaluated.”…””}”(h%j¿h'j·ubah_KÅh`hubaubeh_KÆh`hubaubah_Nh`Nhhubeh_K©h`hhhubeh_K¥h`hhhubh4)”}”(h}”(h ]”Œuser-interface-settings”ah ]”h ]”h]”Œuser interface settings”ah]”uh%h?h'j]hJh3hK]”(hN)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒUser Interface Settings”h'jÅhJhMhK]”hZŒUser Interface Settings”…””}”(h%jØh'jÐubah_KÉh`hhhubh·)”}”(h}”(h]”h ]”h½h¾h ]”h ]”h]”uh%h?h'jÅhJh¶hK]”(hÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒÉ:menuselection:`Settings --> Display --> Color Scheme` Select a color scheme. See :ref:`color_schemes` for information on how to install additional color schemes so they are displayed in this menu.”h'jÞhJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jçhJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒÅ:menuselection:`Settings --> Display --> Color Scheme` Select a color scheme. See :ref:`color_schemes` for information on how to install additional color schemes so they are displayed in this menu.”h'jñhJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ6:menuselection:`Settings --> Display --> Color Scheme`”h'júhJhæhK]”hŸ)”}”(h}”(Œrawtext”j h]”h ]”Œ menuselection”ah ]”h ]”h]”uh%Œ%Settings ‣ Display ‣ Color Scheme”h'jhJhžhK]”hZŒ%Settings ‣ Display ‣ Color Scheme”…””}”(h%h?h'jubaubah_KÌh`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'júhJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒŽSelect a color scheme. See :ref:`color_schemes` for information on how to install additional color schemes so they are displayed in this menu.”h'jhJh(hK]”(hZŒSelect a color scheme. See ”…””}”(h%ŒSelect a color scheme. See ”h'j'ubjè)”}”(h}”(jìjíh]”h ]”jðˆŒ refexplicit”‰jòŒ color_schemes”h ]”Œreftype”Œref”Œ refdomain”Œstd”h ]”h]”uh%Œ:ref:`color_schemes`”h'j'hJjçhK]”hŸ)”}”(h}”(h ]”h ]”(jjAŒstd-ref”eh ]”h]”h]”uh%jDh'j6hJhžhK]”hZŒ color_schemes”…””}”(h%h?h'jFubaubah_KÌh`hubhZŒ_ for information on how to install additional color schemes so they are displayed in this menu.”…””}”(h%Œ_ for information on how to install additional color schemes so they are displayed in this menu.”h'j'ubeh_KÌh`hubaubeh_KÌh`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œu:menuselection:`Settings --> Display --> Font` Select the font to use for the expression editor and result display.”h'jÞhJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jYhJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œs:menuselection:`Settings --> Display --> Font` Select the font to use for the expression editor and result display.”h'jchJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ.:menuselection:`Settings --> Display --> Font`”h'jlhJhæhK]”hŸ)”}”(h}”(Œrawtext”j~h]”h ]”Œ menuselection”ah ]”h ]”h]”uh%ŒSettings ‣ Display ‣ Font”h'jvhJhžhK]”hZŒSettings ‣ Display ‣ Font”…””}”(h%h?h'j€ubaubah_KÎh`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jlhJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒDSelect the font to use for the expression editor and result display.”h'jhJh(hK]”hZŒDSelect the font to use for the expression editor and result display.”…””}”(h%j¡h'j™ubah_KÏh`hubaubeh_KÎh`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒN:menuselection:`Settings --> Language` Select the user interface language. ”h'jÞhJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j§hJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒL:menuselection:`Settings --> Language` Select the user interface language. ”h'j±hJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ&:menuselection:`Settings --> Language`”h'jºhJhæhK]”hŸ)”}”(h}”(Œrawtext”jÌh]”h ]”Œ menuselection”ah ]”h ]”h]”uh%ŒSettings ‣ Language”h'jÄhJhžhK]”hZŒSettings ‣ Language”…””}”(h%h?h'jÎubaubah_KÒh`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jºhJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ#Select the user interface language.”h'jÞhJh(hK]”hZŒ#Select the user interface language.”…””}”(h%jïh'jçubah_KÑh`hubaubeh_KÒh`hubaubah_Nh`Nhhubeh_KËh`hhhubeh_KÉh`hhhubeh_Kah`hhhubh4)”}”(h}”(h ]”Œkeyboard-shortcuts”ah ]”h ]”h]”Œkeyboard shortcuts”ah]”uh%h?h'h@hJh3hK]”(hN)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒKeyboard Shortcuts”h'jõhJhMhK]”hZŒKeyboard Shortcuts”…””}”(h%jh'jubah_KÕh`hhhubh4)”}”(h}”(h ]”Œediting”ah ]”h ]”h]”Œediting”ah]”uh%h?h'jõhJh3hK]”(hN)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒEditing”h'jhJhMhK]”hZŒEditing”…””}”(h%j!h'jubah_KØh`hhhubh·)”}”(h}”(h]”h ]”h½h¾h ]”h ]”h]”uh%h?h'jhJh¶hK]”(hÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ :kbd:`Control+L` Load session.”h'j'hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j0hJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ:kbd:`Control+L` Load session.”h'j:hJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ:kbd:`Control+L`”h'jChJhæhK]”j)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%jUh'jMhJjhK]”hZŒ Control+L”…””}”(h%h?h'jWubaubah_KÙh`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jChJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ Load session.”h'jdhJh(hK]”hZŒ Load session.”…””}”(h%juh'jmubah_KÚh`hubaubeh_KÙh`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ :kbd:`Control+S` Save session.”h'j'hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j{hJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ:kbd:`Control+S` Save session.”h'j…hJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ:kbd:`Control+S`”h'jŽhJhæhK]”j)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%j h'j˜hJjhK]”hZŒ Control+S”…””}”(h%h?h'j¢ubaubah_KÛh`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jŽhJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ Save session.”h'j¯hJh(hK]”hZŒ Save session.”…””}”(h%jÀh'j¸ubah_KÜh`hubaubeh_KÛh`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ$:kbd:`Control+Q` Quit SpeedCrunch.”h'j'hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jÆhJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ":kbd:`Control+Q` Quit SpeedCrunch.”h'jÐhJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ:kbd:`Control+Q`”h'jÙhJhæhK]”j)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%jëh'jãhJjhK]”hZŒ Control+Q”…””}”(h%h?h'jíubaubah_KÝh`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jÙhJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒQuit SpeedCrunch.”h'júhJh(hK]”hZŒQuit SpeedCrunch.”…””}”(h%j h'jubah_KÞh`hubaubeh_KÝh`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ!:kbd:`Escape` Clear expression.”h'j'hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jhJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ:kbd:`Escape` Clear expression.”h'jhJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ :kbd:`Escape`”h'j$hJhæhK]”j)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%j6h'j.hJjhK]”hZŒEscape”…””}”(h%h?h'j8ubaubah_Kßh`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j$hJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒClear expression.”h'jEhJh(hK]”hZŒClear expression.”…””}”(h%jVh'jNubah_Kàh`hubaubeh_Kßh`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ!:kbd:`Control+N` Clear history.”h'j'hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j\hJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ:kbd:`Control+N` Clear history.”h'jfhJhÚhK•]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ:kbd:`Control+N`”h'johJhæhK]”j)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%jh'jyhJjhK]”hZŒ Control+N”…””}”(h%h?h'jƒubaubah_Káh`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'johJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒClear history.”h'jhJh(hK]”hZŒClear history.”…””}”(h%j¡h'j™ubah_Kâh`hubaubeh_Káh`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ3:kbd:`Control+C` Copy selected text to clipboard.”h'j'hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j§hJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ1:kbd:`Control+C` Copy selected text to clipboard.”h'j±hJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ:kbd:`Control+C`”h'jºhJhæhK]”j)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%jÌh'jÄhJjhK]”hZŒ Control+C”…””}”(h%h?h'jÎubaubah_Kãh`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jºhJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ Copy selected text to clipboard.”h'jÛhJh(hK]”hZŒ Copy selected text to clipboard.”…””}”(h%jìh'jäubah_Käh`hubaubeh_Kãh`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ1:kbd:`Control+R` Copy last result to clipboard.”h'j'hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jòhJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ/:kbd:`Control+R` Copy last result to clipboard.”h'jühJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ:kbd:`Control+R`”h'jhJhæhK]”j)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%jh'jhJjhK]”hZŒ Control+R”…””}”(h%h?h'jubaubah_Kåh`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jhJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒCopy last result to clipboard.”h'j&hJh(hK]”hZŒCopy last result to clipboard.”…””}”(h%j7h'j/ubah_Kæh`hubaubeh_Kåh`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ(:kbd:`Control+V` Paste from clipboard.”h'j'hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j=hJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ&:kbd:`Control+V` Paste from clipboard.”h'jGhJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ:kbd:`Control+V`”h'jPhJhæhK]”j)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%jbh'jZhJjhK]”hZŒ Control+V”…””}”(h%h?h'jdubaubah_Kçh`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jPhJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒPaste from clipboard.”h'jqhJh(hK]”hZŒPaste from clipboard.”…””}”(h%j‚h'jzubah_Kèh`hubaubeh_Kçh`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ,:kbd:`Control+A` Select entire expression.”h'j'hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jˆhJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ*:kbd:`Control+A` Select entire expression.”h'j’hJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ:kbd:`Control+A`”h'j›hJhæhK]”j)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%j­h'j¥hJjhK]”hZŒ Control+A”…””}”(h%h?h'j¯ubaubah_Kéh`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j›hJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒSelect entire expression.”h'j¼hJh(hK]”hZŒSelect entire expression.”…””}”(h%jÍh'jÅubah_Kêh`hubaubeh_Kéh`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œx:kbd:`Control+P` Wrap the current selection in parentheses. If no text is selected, the entire expression is wrapped. ”h'j'hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jÓhJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œv:kbd:`Control+P` Wrap the current selection in parentheses. If no text is selected, the entire expression is wrapped. ”h'jÝhJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ:kbd:`Control+P`”h'jæhJhæhK]”j)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%jøh'jðhJjhK]”hZŒ Control+P”…””}”(h%h?h'júubaubah_Kìh`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jæhJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒdWrap the current selection in parentheses. If no text is selected, the entire expression is wrapped.”h'jhJh(hK]”hZŒdWrap the current selection in parentheses. If no text is selected, the entire expression is wrapped.”…””}”(h%jh'jubah_Kìh`hubaubeh_Kìh`hubaubah_Nh`Nhhubeh_KÙh`hhhubeh_KØh`hhhubh4)”}”(h}”(h ]”Œwidgets-and-docks”ah ]”h ]”h]”Œwidgets and docks”ah]”uh%h?h'jõhJh3hK]”(hN)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒWidgets and Docks”h'jhJhMhK]”hZŒWidgets and Docks”…””}”(h%j1h'j)ubah_Kïh`hhhubh·)”}”(h}”(h]”h ]”h½h¾h ]”h ]”h]”uh%h?h'jhJh¶hK]”(hÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ*:kbd:`Control+1` Show/hide formula book.”h'j7hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j@hJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ(:kbd:`Control+1` Show/hide formula book.”h'jJhJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ:kbd:`Control+1`”h'jShJhæhK]”j)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%jeh'j]hJjhK]”hZŒ Control+1”…””}”(h%h?h'jgubaubah_Kñh`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jShJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒShow/hide formula book.”h'jthJh(hK]”hZŒShow/hide formula book.”…””}”(h%j…h'j}ubah_Kòh`hubaubeh_Kñh`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ.:kbd:`Control+2` Show/hide constants widget.”h'j7hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j‹hJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ,:kbd:`Control+2` Show/hide constants widget.”h'j•hJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ:kbd:`Control+2`”h'jžhJhæhK]”j)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%j°h'j¨hJjhK]”hZŒ Control+2”…””}”(h%h?h'j²ubaubah_Kóh`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jžhJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒShow/hide constants widget.”h'j¿hJh(hK]”hZŒShow/hide constants widget.”…””}”(h%jÐh'jÈubah_Kôh`hubaubeh_Kóh`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ/:kbd:`Control+3` Show/hide functions widgets.”h'j7hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jÖhJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ-:kbd:`Control+3` Show/hide functions widgets.”h'jàhJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ:kbd:`Control+3`”h'jéhJhæhK]”j)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%jûh'jóhJjhK]”hZŒ Control+3”…””}”(h%h?h'jýubaubah_Kõh`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jéhJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒShow/hide functions widgets.”h'j hJh(hK]”hZŒShow/hide functions widgets.”…””}”(h%jh'jubah_Köh`hubaubeh_Kõh`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ.:kbd:`Control+4` Show/hide variables widget.”h'j7hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j!hJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ,:kbd:`Control+4` Show/hide variables widget.”h'j+hJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ:kbd:`Control+4`”h'j4hJhæhK]”j)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%jFh'j>hJjhK]”hZŒ Control+4”…””}”(h%h?h'jHubaubah_K÷h`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j4hJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒShow/hide variables widget.”h'jUhJh(hK]”hZŒShow/hide variables widget.”…””}”(h%jfh'j^ubah_Køh`hubaubeh_K÷h`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ3:kbd:`Control+5` Show/hide user functions widget.”h'j7hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jlhJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ1:kbd:`Control+5` Show/hide user functions widget.”h'jvhJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ:kbd:`Control+5`”h'jhJhæhK]”j)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%j‘h'j‰hJjhK]”hZŒ Control+5”…””}”(h%h?h'j“ubaubah_Kùh`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jhJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ Show/hide user functions widget.”h'j hJh(hK]”hZŒ Show/hide user functions widget.”…””}”(h%j±h'j©ubah_Kúh`hubaubeh_Kùh`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ.:kbd:`Control+6` Show/hide bit field widget.”h'j7hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j·hJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ,:kbd:`Control+6` Show/hide bit field widget.”h'jÁhJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ:kbd:`Control+6`”h'jÊhJhæhK]”j)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%jÜh'jÔhJjhK]”hZŒ Control+6”…””}”(h%h?h'jÞubaubah_Kûh`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jÊhJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒShow/hide bit field widget.”h'jëhJh(hK]”hZŒShow/hide bit field widget.”…””}”(h%jüh'jôubah_Küh`hubaubeh_Kûh`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ,:kbd:`Control+7` Show/hide history widget.”h'j7hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jhJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ*:kbd:`Control+7` Show/hide history widget.”h'j hJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ:kbd:`Control+7`”h'jhJhæhK]”j)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%j'h'jhJjhK]”hZŒ Control+7”…””}”(h%h?h'j)ubaubah_Kýh`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jhJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒShow/hide history widget.”h'j6hJh(hK]”hZŒShow/hide history widget.”…””}”(h%jGh'j?ubah_Kþh`hubaubeh_Kýh`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ,:kbd:`Control+B` Show/hide the status bar.”h'j7hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jMhJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ*:kbd:`Control+B` Show/hide the status bar.”h'jWhJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ:kbd:`Control+B`”h'j`hJhæhK]”j)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%jrh'jjhJjhK]”hZŒ Control+B”…””}”(h%h?h'jtubaubah_Kÿh`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j`hJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒShow/hide the status bar.”h'jhJh(hK]”hZŒShow/hide the status bar.”…””}”(h%j’h'jŠubah_Mh`hubaubeh_Kÿh`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ):kbd:`Control+K` Show/hide the keypad. ”h'j7hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j˜hJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ':kbd:`Control+K` Show/hide the keypad. ”h'j¢hJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ:kbd:`Control+K`”h'j«hJhæhK]”j)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%j½h'jµhJjhK]”hZŒ Control+K”…””}”(h%h?h'j¿ubaubah_Mh`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j«hJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒShow/hide the keypad.”h'jÌhJh(hK]”hZŒShow/hide the keypad.”…””}”(h%jÝh'jÕubah_Mh`hubaubeh_Mh`hubaubah_Nh`Nhhubeh_Kñh`hhhubeh_Kïh`hhhubh4)”}”(h}”(h ]”Œ scrolling”ah ]”h ]”h]”Œ scrolling”ah]”uh%h?h'jõhJh3hK]”(hN)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ Scrolling”h'jãhJhMhK]”hZŒ Scrolling”…””}”(h%jöh'jîubah_Mh`hhhubh·)”}”(h}”(h]”h ]”h½h¾h ]”h ]”h]”uh%h?h'jãhJh¶hK]”(hÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒI:kbd:`Page Up` and :kbd:`Page Down` Scroll the result window page-wise.”h'jühJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jhJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒG:kbd:`Page Up` and :kbd:`Page Down` Scroll the result window page-wise.”h'jhJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ#:kbd:`Page Up` and :kbd:`Page Down`”h'jhJhæhK]”(j)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%Œ:kbd:`Page Up`”h'j"hJjhK]”hZŒPage Up”…””}”(h%h?h'j,ubaubhZŒ and ”…””}”(h%Œ and ”h'j"ubj)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%Œ:kbd:`Page Down`”h'j"hJjhK]”hZŒ Page Down”…””}”(h%h?h'j?ubaubeh_Mh`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jhJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ#Scroll the result window page-wise.”h'jMhJh(hK]”hZŒ#Scroll the result window page-wise.”…””}”(h%j^h'jVubah_Mh`hubaubeh_Mh`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒU:kbd:`Shift+Page Up` and :kbd:`Shift+Page Down` Scroll the result window line-wise.”h'jühJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jdhJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒS:kbd:`Shift+Page Up` and :kbd:`Shift+Page Down` Scroll the result window line-wise.”h'jnhJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ/:kbd:`Shift+Page Up` and :kbd:`Shift+Page Down`”h'jwhJhæhK]”(j)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%Œ:kbd:`Shift+Page Up`”h'jhJjhK]”hZŒ Shift+Page Up”…””}”(h%h?h'j‹ubaubhZŒ and ”…””}”(h%Œ and ”h'jubj)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%Œ:kbd:`Shift+Page Down`”h'jhJjhK]”hZŒShift+Page Down”…””}”(h%h?h'jžubaubeh_M h`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jwhJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ#Scroll the result window line-wise.”h'j¬hJh(hK]”hZŒ#Scroll the result window line-wise.”…””}”(h%j½h'jµubah_M h`hubaubeh_M h`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œi:kbd:`Control+Page Up` and :kbd:`Control+Page Down` Scroll to the top or bottom of the result window. ”h'jühJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jÃhJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œg:kbd:`Control+Page Up` and :kbd:`Control+Page Down` Scroll to the top or bottom of the result window. ”h'jÍhJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ3:kbd:`Control+Page Up` and :kbd:`Control+Page Down`”h'jÖhJhæhK]”(j)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%Œ:kbd:`Control+Page Up`”h'jàhJjhK]”hZŒControl+Page Up”…””}”(h%h?h'jêubaubhZŒ and ”…””}”(h%Œ and ”h'jàubj)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%Œ:kbd:`Control+Page Down`”h'jàhJjhK]”hZŒControl+Page Down”…””}”(h%h?h'jýubaubeh_M h`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jÖhJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ1Scroll to the top or bottom of the result window.”h'j hJh(hK]”hZŒ1Scroll to the top or bottom of the result window.”…””}”(h%jh'jubah_M h`hubaubeh_M h`hubaubah_Nh`Nhhubeh_Mh`hhhubeh_Mh`hhhubh4)”}”(h}”(h ]”Œformat”ah ]”h ]”h]”Œformat”ah]”uh%h?h'jõhJh3hK]”(hN)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒFormat”h'j"hJhMhK]”hZŒFormat”…””}”(h%j5h'j-ubah_Mh`hhhubh·)”}”(h}”(h]”h ]”h½h¾h ]”h ]”h]”uh%h?h'j"hJh¶hK]”(hÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ1:kbd:`F2` Set result format to general decimal.”h'j;hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jDhJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ/:kbd:`F2` Set result format to general decimal.”h'jNhJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ :kbd:`F2`”h'jWhJhæhK]”j)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%jih'jahJjhK]”hZŒF2”…””}”(h%h?h'jkubaubah_Mh`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jWhJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ%Set result format to general decimal.”h'jxhJh(hK]”hZŒ%Set result format to general decimal.”…””}”(h%j‰h'jubah_Mh`hubaubeh_Mh`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ/:kbd:`F3` Set result format to fixed decimal.”h'j;hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jhJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ-:kbd:`F3` Set result format to fixed decimal.”h'j™hJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ :kbd:`F3`”h'j¢hJhæhK]”j)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%j´h'j¬hJjhK]”hZŒF3”…””}”(h%h?h'j¶ubaubah_Mh`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j¢hJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ#Set result format to fixed decimal.”h'jÃhJh(hK]”hZŒ#Set result format to fixed decimal.”…””}”(h%jÔh'jÌubah_Mh`hubaubeh_Mh`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ5:kbd:`F4` Set result format to engineering decimal.”h'j;hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jÚhJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ3:kbd:`F4` Set result format to engineering decimal.”h'jähJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ :kbd:`F4`”h'jíhJhæhK]”j)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%jÿh'j÷hJjhK]”hZŒF4”…””}”(h%h?h'jubaubah_Mh`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jíhJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ)Set result format to engineering decimal.”h'jhJh(hK]”hZŒ)Set result format to engineering decimal.”…””}”(h%jh'jubah_Mh`hubaubeh_Mh`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ4:kbd:`F5` Set result format to scientific decimal.”h'j;hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j%hJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ2:kbd:`F5` Set result format to scientific decimal.”h'j/hJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ :kbd:`F5`”h'j8hJhæhK]”j)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%jJh'jBhJjhK]”hZŒF5”…””}”(h%h?h'jLubaubah_Mh`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j8hJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ(Set result format to scientific decimal.”h'jYhJh(hK]”hZŒ(Set result format to scientific decimal.”…””}”(h%jjh'jbubah_Mh`hubaubeh_Mh`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ(:kbd:`F6` Set result format to binary.”h'j;hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jphJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ&:kbd:`F6` Set result format to binary.”h'jzhJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ :kbd:`F6`”h'jƒhJhæhK]”j)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%j•h'jhJjhK]”hZŒF6”…””}”(h%h?h'j—ubaubah_Mh`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jƒhJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒSet result format to binary.”h'j¤hJh(hK]”hZŒSet result format to binary.”…””}”(h%jµh'j­ubah_Mh`hubaubeh_Mh`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ':kbd:`F7` Set result format to octal.”h'j;hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j»hJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ%:kbd:`F7` Set result format to octal.”h'jÅhJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ :kbd:`F7`”h'jÎhJhæhK]”j)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%jàh'jØhJjhK]”hZŒF7”…””}”(h%h?h'jâubaubah_Mh`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jÎhJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒSet result format to octal.”h'jïhJh(hK]”hZŒSet result format to octal.”…””}”(h%jh'jøubah_Mh`hubaubeh_Mh`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ-:kbd:`F8` Set result format to hexadecimal.”h'j;hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jhJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ+:kbd:`F8` Set result format to hexadecimal.”h'jhJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ :kbd:`F8`”h'jhJhæhK]”j)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%j+h'j#hJjhK]”hZŒF8”…””}”(h%h?h'j-ubaubah_Mh`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jhJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ!Set result format to hexadecimal.”h'j:hJh(hK]”hZŒ!Set result format to hexadecimal.”…””}”(h%jKh'jCubah_Mh`hubaubeh_Mh`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ%:kbd:`F9` Set angle unit to radian.”h'j;hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jQhJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ#:kbd:`F9` Set angle unit to radian.”h'j[hJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ :kbd:`F9`”h'jdhJhæhK]”j)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%jvh'jnhJjhK]”hZŒF9”…””}”(h%h?h'jxubaubah_M h`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jdhJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒSet angle unit to radian.”h'j…hJh(hK]”hZŒSet angle unit to radian.”…””}”(h%j–h'jŽubah_M!h`hubaubeh_M h`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ&:kbd:`F10` Set angle unit to degree.”h'j;hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jœhJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ$:kbd:`F10` Set angle unit to degree.”h'j¦hJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ :kbd:`F10`”h'j¯hJhæhK]”j)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%jÁh'j¹hJjhK]”hZŒF10”…””}”(h%h?h'jÃubaubah_M"h`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j¯hJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒSet angle unit to degree.”h'jÐhJh(hK]”hZŒSet angle unit to degree.”…””}”(h%jáh'jÙubah_M#h`hubaubeh_M"h`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ5:kbd:`Control+.` Use a period as decimal separator.”h'j;hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jçhJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ3:kbd:`Control+.` Use a period as decimal separator.”h'jñhJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ:kbd:`Control+.`”h'júhJhæhK]”j)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%j h'jhJjhK]”hZŒ Control+.”…””}”(h%h?h'jubaubah_M$h`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'júhJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ"Use a period as decimal separator.”h'jhJh(hK]”hZŒ"Use a period as decimal separator.”…””}”(h%j,h'j$ubah_M%h`hubaubeh_M$h`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ5:kbd:`Control+,` Use a comma as decimal separator. ”h'j;hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j2hJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ3:kbd:`Control+,` Use a comma as decimal separator. ”h'j<hJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ:kbd:`Control+,`”h'jEhJhæhK]”j)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%jWh'jOhJjhK]”hZŒ Control+,”…””}”(h%h?h'jYubaubah_M'h`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jEhJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ!Use a comma as decimal separator.”h'jfhJh(hK]”hZŒ!Use a comma as decimal separator.”…””}”(h%jwh'joubah_M'h`hubaubeh_M'h`hubaubah_Nh`Nhhubeh_Mh`hhhubeh_Mh`hhhubh4)”}”(h}”(h ]”Œvarious”ah ]”h ]”h]”Œvarious”ah]”uh%h?h'jõhJh3hK]”(hN)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒVarious”h'j}hJhMhK]”hZŒVarious”…””}”(h%jh'jˆubah_M*h`hhhubh·)”}”(h}”(h]”h ]”h½h¾h ]”h ]”h]”uh%h?h'j}hJh¶hK]”(hÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒV:kbd:`F1` Show context help (dismiss with :kbd:`Escape`). .. versionadded:: 0.12 ”h'j–hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jŸhJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒR:kbd:`F1` Show context help (dismiss with :kbd:`Escape`). .. versionadded:: 0.12 ”h'j©hJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ :kbd:`F1`”h'j²hJhæhK]”j)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%jÄh'j¼hJjhK]”hZŒF1”…””}”(h%h?h'jÆubaubah_M/h`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j²hJhöhK]”(h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ/Show context help (dismiss with :kbd:`Escape`).”h'jÓhJh(hK]”(hZŒ Show context help (dismiss with ”…””}”(h%Œ Show context help (dismiss with ”h'jÜubj)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%Œ :kbd:`Escape`”h'jÜhJjhK]”hZŒEscape”…””}”(h%h?h'jëubaubhZŒ).”…””}”(h%Œ).”h'jÜubeh_M-h`hubj")”}”(h}”(h]”h ]”j(Œ versionadded”j*Œ0.12”h ]”h ]”h]”uh%ŒNew in version 0.12.”h'jÓhJj!hK]”h))”}”(hhh}”(h]”h ]”h ]”Œ translatable”‰h ]”h]”uh%ŒNew in version 0.12.”h'jþhJh(hK]”hŸ)”}”(h}”(h ]”h ]”j!ah ]”h]”h]”uh%ŒNew in version 0.12.”h'j hJhžhK]”hZŒNew in version 0.12.”…””}”(h%h?h'jubaubah_M0h`hubah_M/h`hhhubeubeh_M/h`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ :kbd:`F11` Toggle full screen.”h'j–hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j#hJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ:kbd:`F11` Toggle full screen.”h'j-hJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ :kbd:`F11`”h'j6hJhæhK]”j)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%jHh'j@hJjhK]”hZŒF11”…””}”(h%h?h'jJubaubah_M1h`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j6hJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒToggle full screen.”h'jWhJh(hK]”hZŒToggle full screen.”…””}”(h%jhh'j`ubah_M2h`hubaubeh_M1h`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œz:kbd:`Control` + mouse wheel, :kbd:`Shift` + mouse wheel, or :kbd:`Shift+Up` and :kbd:`Shift+Down` Change the font size.”h'j–hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jnhJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œx:kbd:`Control` + mouse wheel, :kbd:`Shift` + mouse wheel, or :kbd:`Shift+Up` and :kbd:`Shift+Down` Change the font size.”h'jxhJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œb:kbd:`Control` + mouse wheel, :kbd:`Shift` + mouse wheel, or :kbd:`Shift+Up` and :kbd:`Shift+Down`”h'jhJhæhK]”(j)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%Œ:kbd:`Control`”h'j‹hJjhK]”hZŒControl”…””}”(h%h?h'j•ubaubhZŒ + mouse wheel, ”…””}”(h%Œ + mouse wheel, ”h'j‹ubj)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%Œ :kbd:`Shift`”h'j‹hJjhK]”hZŒShift”…””}”(h%h?h'j¨ubaubhZŒ + mouse wheel, or ”…””}”(h%Œ + mouse wheel, or ”h'j‹ubj)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%Œ:kbd:`Shift+Up`”h'j‹hJjhK]”hZŒShift+Up”…””}”(h%h?h'j»ubaubhZŒ and ”…””}”(h%Œ and ”h'j‹ubj)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%Œ:kbd:`Shift+Down`”h'j‹hJjhK]”hZŒ Shift+Down”…””}”(h%h?h'jÎubaubeh_M3h`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jhJhöhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒChange the font size.”h'jÜhJh(hK]”hZŒChange the font size.”…””}”(h%jíh'jåubah_M4h`hubaubeh_M3h`hubaubah_Nh`NhhubhÄ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ[:kbd:`Control+Shift` + mouse wheel Change the window opacity. .. versionadded:: 0.12 ”h'j–hJhÃhK]”hÐ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jóhJhÏhK]”hÛ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒW:kbd:`Control+Shift` + mouse wheel Change the window opacity. .. versionadded:: 0.12 ”h'jýhJhÚhK]”(hç)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ":kbd:`Control+Shift` + mouse wheel”h'jhJhæhK]”(j)”}”(h}”(h ]”h ]”jah ]”h]”h]”uh%Œ:kbd:`Control+Shift`”h'jhJjhK]”hZŒ Control+Shift”…””}”(h%h?h'jubaubhZŒ + mouse wheel”…””}”(h%Œ + mouse wheel”h'jubeh_M9h`hubh÷)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jhJhöhK]”(h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒChange the window opacity.”h'j-hJh(hK]”hZŒChange the window opacity.”…””}”(h%j>h'j6ubah_M6h`hubj")”}”(h}”(h]”h ]”j(Œ versionadded”j*Œ0.12”h ]”h ]”h]”uh%ŒNew in version 0.12.”h'j-hJj!hK]”h))”}”(hhh}”(h]”h ]”h ]”Œ translatable”‰h ]”h]”uh%ŒNew in version 0.12.”h'jDhJh(hK]”hŸ)”}”(h}”(h ]”h ]”j!ah ]”h]”h]”uh%ŒNew in version 0.12.”h'jPhJhžhK]”hZŒNew in version 0.12.”…””}”(h%h?h'j[ubaubah_M:h`hubah_M8h`hhhubeubeh_M9h`hubaubah_Nh`Nhhubeh_M,h`hhhubhŒrubric”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ Footnotes”h'j}hJjihK]”hZŒ Footnotes”…””}”(h%jsh'jkubah_M<h`hhhubhŒfootnote”“”)”}”(hhh}”(h]”h ah ]”hKh ]”h"ah ]”h]”Œf1”auh%Œ„Starting with SpeedCrunch 0.12, the session format is based on `JSON `_. Previous versions used a simple custom text format. ”h'j}hJjyhK]”(hŒlabel”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j{hJj†hK]”hZŒ1”…””}”(h%h?h'jˆubah_Nh`Nhhubh))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%ŒƒStarting with SpeedCrunch 0.12, the session format is based on `JSON `_. Previous versions used a simple custom text format.”h'j{hJh(hK]”(hZŒ?Starting with SpeedCrunch 0.12, the session format is based on ”…””}”(h%Œ?Starting with SpeedCrunch 0.12, the session format is based on ”h'j•ubj)”}”(h}”(h]”h ]”j%Œhttp://json.org/”h ]”h ]”h]”Œname”ŒJSON”uh%Œ`JSON `_”h'j•hJjhK]”hZŒJSON”…””}”(h%h?h'j¤ubaj2Kubj4)”}”(h}”(h]”h ]”j%j©h ]”h ]”h]”Œjson”auj>Œjson”h%Œ ”h'j•hJj3hK]”jKj2KubhZŒ5. Previous versions used a simple custom text format.”…””}”(h%Œ5. Previous versions used a simple custom text format.”h'j•ubeh_M=h`hubeh_M=h`hubj4)”}”(h}”(h]”h ]”j%j©h ]”Œjson”ah ]”h]”Œjson”auh%Œ.. _json: http://json.org/”h'j}hJj3hK]”h_M@h`hjKhhubeh_M*h`hhhubeh_KÕh`hhhubeh_Kh`hhhubhJh3hK]”(hN)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ Import/Export”h'h5hJhMhK]”hZŒ Import/Export”…””}”(h%jÛh'jÓubah_KMh`hhhubh*h))”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh%XYou can save the session as HTML (:menuselection:`Session --> Export --> HTML`). The resulting file will consist of the contents of the result display and can be viewed in any web browser. This feature can also be used to print a SpeedCrunch session by printing the exported HTML document. Since the syntax highlighting and color scheme are maintained in the HTML output, it is recommended to select a color scheme with a white background (e.g. *Standard*) prior to exporting if you intend to print the document.”h'h5hJh(hK]”(hZŒ"You can save the session as HTML (”…””}”(h%Œ"You can save the session as HTML (”h'jáubhŸ)”}”(h}”(Œrawtext”Œ,:menuselection:`Session --> Export --> HTML`”h]”h ]”Œ menuselection”ah ]”h ]”h]”uh%ŒSession ‣ Export ‣ HTML”h'jáhJhžhK]”hZŒSession ‣ Export ‣ HTML”…””}”(h%h?h'jðubaubhZXo). The resulting file will consist of the contents of the result display and can be viewed in any web browser. This feature can also be used to print a SpeedCrunch session by printing the exported HTML document. Since the syntax highlighting and color scheme are maintained in the HTML output, it is recommended to select a color scheme with a white background (e.g. ”…””}”(h%Xo). The resulting file will consist of the contents of the result display and can be viewed in any web browser. This feature can also be used to print a SpeedCrunch session by printing the exported HTML document. Since the syntax highlighting and color scheme are maintained in the HTML output, it is recommended to select a color scheme with a white background (e.g. ”h'jáubhŠ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ *Standard*”h'jáhJh‰hK]”hZŒStandard”…””}”(h%h?h'jubaubhZŒ9) prior to exporting if you intend to print the document.”…””}”(h%Œ9) prior to exporting if you intend to print the document.”h'jáubeh_KTh`hubh))”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh%ŒÎThe final, most basic option is to export your session as a plain text file (:menuselection:`Session --> Export --> Plain text`). In contrast to the HTML export option, the syntax highlighting will be lost.”h'h5hJh(hK]”(hZŒMThe final, most basic option is to export your session as a plain text file (”…””}”(h%ŒMThe final, most basic option is to export your session as a plain text file (”h'jubhŸ)”}”(h}”(Œrawtext”Œ2:menuselection:`Session --> Export --> Plain text`”h]”h ]”Œ menuselection”ah ]”h ]”h]”uh%Œ!Session ‣ Export ‣ Plain text”h'jhJhžhK]”hZŒ!Session ‣ Export ‣ Plain text”…””}”(h%h?h'j(ubaubhZŒO). In contrast to the HTML export option, the syntax highlighting will be lost.”…””}”(h%ŒO). In contrast to the HTML export option, the syntax highlighting will be lost.”h'jubeh_KYh`hubh))”}”(hhh}”(h ]”h ]”h ]”h]”h]”uh%ŒìSpeedCrunch also offers capabilities to *import* a session from a text file (:menuselection:`Session --> Import`). Select any plain text file and SpeedCrunch will try to evaluate each line of the file as if the user entered it directly.”h'h5hJh(hK]”(hZŒ(SpeedCrunch also offers capabilities to ”…””}”(h%Œ(SpeedCrunch also offers capabilities to ”h'j>ubhŠ)”}”(h}”(h ]”h ]”h ]”h]”h]”uh%Œ*import*”h'j>hJh‰hK]”hZŒimport”…””}”(h%h?h'jMubaubhZŒ a session from a text file (”…””}”(h%Œ a session from a text file (”h'j>ubhŸ)”}”(h}”(Œrawtext”Œ#:menuselection:`Session --> Import`”h]”h ]”Œ menuselection”ah ]”h ]”h]”uh%ŒSession ‣ Import”h'j>hJhžhK]”hZŒSession ‣ Import”…””}”(h%h?h'j`ubaubhZŒ|). Select any plain text file and SpeedCrunch will try to evaluate each line of the file as if the user entered it directly.”…””}”(h%Œ|). Select any plain text file and SpeedCrunch will try to evaluate each line of the file as if the user entered it directly.”h'j>ubeh_K\h`hubeh_KMh`hhhubhJh(hK]”(hZŒBSpeedCrunch can save/export your session in a number of ways. The ”…””}”(h%ŒBSpeedCrunch can save/export your session in a number of ways. The ”h'h*ubhŸ)”}”(h}”(Œrawtext”Œ!:menuselection:`Session --> Save`”h]”h ]”Œ menuselection”ah ]”h ]”h]”uh%ŒSession ‣ Save”h'h*hJhžhK]”hZŒSession ‣ Save”…””}”(h%h?h'j|ubaubhZŒ and ”…””}”(h%Œ and ”h'h*ubhŸ)”}”(h}”(Œrawtext”Œ!:menuselection:`Session --> Load`”h]”h ]”Œ menuselection”ah ]”h ]”h]”uh%ŒSession ‣ Load”h'h*hJhžhK]”hZŒSession ‣ Load”…””}”(h%h?h'j’ubaubhZŒŽ menu entries allow you to easily save and restore your entire SpeedCrunch session. The data is stored in a SpeedCrunch-specific file format. ”…””}”(h%ŒŽ menu entries allow you to easily save and restore your entire SpeedCrunch session. The data is stored in a SpeedCrunch-specific file format. ”h'h*ubhhZŒç While the session files are human-readable, they are designed for use by SpeedCrunch. If you want to export your calculations to work on them in another program or hand them to a colleague, the other export options are preferable.”…””}”(h%Œç While the session files are human-readable, they are designed for use by SpeedCrunch. If you want to export your calculations to work on them in another program or hand them to a colleague, the other export options are preferable.”h'h*ubeh_KOh`hubhJhhK]”hZŒ1”…””}”(h%h?h'hubaj2KubaŒsettings”Œdocutils.frontend”ŒValues”“”)”}”(Œinput_encoding_error_handler”Œstrict”Œinput_encoding”Œ utf-8-sig”Œcloak_email_addresses”ˆŒ_source”hŒconfig”NŒexpose_internals”NŒ strip_classes”NŒstrip_elements_with_classes”NŒenv”NŒdump_pseudo_xml”NŒrecord_dependencies”NŒ datestamp”NŒpep_references”NŒ id_prefix”h?Œ report_level”KŒtrim_footnote_reference_space”‰Œembed_stylesheet”‰Œ docinfo_xform”KŒdump_transforms”NŒauto_id_prefix”Œid”Œ pep_base_url”Œ https://www.python.org/dev/peps/”Œ tab_width”KŒsectsubtitle_xform”‰Œrfc_references”NŒ toc_backlinks”Œentry”Œ dump_settings”NŒ raw_enabled”KŒ rfc_base_url”Œhttps://tools.ietf.org/html/”hMNŒstrip_comments”NŒ _config_files”]”Œ sectnum_xform”KŒdebug”NŒ generator”NŒoutput_encoding”Œutf-8”Œerror_encoding”Œcp850”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œdoctitle_xform”‰Œgettext_compact”ˆŒ source_link”NŒ traceback”ˆŒoutput_encoding_error_handler”j¹Œstrict_visitor”NŒsyntax_highlight”Œlong”Œdump_internals”NŒexit_status_level”KŒfootnote_backlinks”KŒpep_file_url_template”Œpep-%04d”Œ halt_level”KŒ_disable_config”NŒ _destination”NŒ smart_quotes”‰Œfile_insertion_enabled”ˆŒ source_url”NŒwarning_stream”NubŒrefnames”}”(Œtracker”]”(j5j eŒf1”]”haŒjson”]”(jµj¤euŒreporter”NŒ current_line”NŒ transformer”NŒparse_messages”]”Œsubstitution_defs”}”Œsymbol_footnotes”]”hJhhK]”h@aŒ nametypes”}”(jšˆh=NjëNjáˆj® NjeNj÷ˆjψjNj¯ˆj…NhiNjýNhHNjÒ ˆjÅNj®Njx NjÍNjƒˆj&Nj¦NjŸˆj*NuŒids”}”(j—j‘h9h5jçjãjÕjÚjª j¦ jaj]jÌjÆjjjùjõjj}hehaj"jjªj¦h hh"j{jÉjÅj¡j¦jÁj½hDh@j&j"jêjïj¢jžjÆ jË j“j˜jt jp uŒtransform_messages”]”(hŒsystem_message”“”)”}”(h}”(h]”h ]”Œlevel”KŒtype”ŒINFO”Œline”Kh ]”h ]”h]”Œsource”huh%h?hJjhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jhJh(hK]”hZŒ3Hyperlink target "issue tracker" is not referenced.”…””}”(h%h?h'j$ubaubaubj)”}”(h}”(h]”h ]”Œlevel”KŒtype”jŒline”K%h ]”h ]”h]”Œsource”huh%h?hJjhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j1hJh(hK]”hZŒ,Hyperlink target "keypad" is not referenced.”…””}”(h%h?h'j>ubaubaubj)”}”(h}”(h]”h ]”Œlevel”KŒtype”jŒline”KBh ]”h ]”h]”Œsource”huh%h?hJjhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jKhJh(hK]”hZŒ2Hyperlink target "context-help" is not referenced.”…””}”(h%h?h'jXubaubaubj)”}”(h}”(h]”h ]”Œlevel”KŒtype”jŒline”Kfh ]”h ]”h]”Œsource”huh%h?hJjhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jehJh(hK]”hZŒ3Hyperlink target "result-format" is not referenced.”…””}”(h%h?h'jrubaubaubj)”}”(h}”(h]”h ]”Œlevel”KŒtype”jŒline”KŽh ]”h ]”h]”Œsource”huh%h?hJjhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'jhJh(hK]”hZŒ5Hyperlink target "radix-character" is not referenced.”…””}”(h%h?h'jŒubaubaubj)”}”(h}”(h]”h ]”Œlevel”KŒtype”jŒline”K²h ]”h ]”h]”Œsource”huh%h?hJjhK]”h))”}”(h}”(h ]”h ]”h ]”h]”h]”uh%h?h'j™hJh(hK]”hZŒ”Œparent”hŒ paragraph”“”)”}”(hhh}”(h]”h ]”h ]”Œ translatable”‰h ]”h]”uhvŒ½Deprecated since version 0.12: This operator was removed in SpeedCrunch 0.12 as it was confusing and not very useful. The reasons for its removal are discussed in more detail in issue #239.”hxŒsphinx.addnodes”Œversionmodified”“”)”}”(h}”(h]”h ]”Œtype”Œ deprecated”Œversion”Œ0.12”h ]”h ]”h]”uhvŒ½Deprecated since version 0.12: This operator was removed in SpeedCrunch 0.12 as it was confusing and not very useful. The reasons for its removal are discussed in more detail in issue #239.”hxhh;“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxhŒrow”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxhŒtbody”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxhŒtgroup”“”)”}”(h}”(h]”h ]”h ]”Œcols”Kh ]”h]”uhvh-hxhŒtable”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxhŒsection”“”)”}”(h}”(h ]”Œdeprecated-operators”ah ]”h ]”h]”Œdeprecated operators”ah]”uhvh-hxhÈ)”}”(h}”(h ]”Œsyntax”ah ]”h ]”h]”Œsyntax”ah]”uhvh-hxhŒtagname”hÇŒchildren”]”(hh@“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒSyntax”hxhÓhÝh@hÞ]”hŒText”“”ŒSyntax”…””}”(hvhéhxháubaŒline”KŒsource”hhhubhz)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvX*This part of the documentation explains the syntax of valid SpeedCrunch input. As you will see, SpeedCrunch honors most conventions for mathematical expressions. You will find using SpeedCrunch to be very natural and intuitive, especially so if you are already familiar with a programming language.”hxhÓhÝhyhÞ]”hìX*This part of the documentation explains the syntax of valid SpeedCrunch input. As you will see, SpeedCrunch honors most conventions for mathematical expressions. You will find using SpeedCrunch to be very natural and intuitive, especially so if you are already familiar with a programming language.”…””}”(hvhûhxhóubahñKhòhubhÈ)”}”(h}”(h ]”Œnumber-notation”ah ]”h ]”h]”Œnumber notation”ah]”uhvh-hxhÓhÝhÇhÞ]”(hà)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒNumber Notation”hxjhÝh@hÞ]”hìŒNumber Notation”…””}”(hvjhxj ubahñKhòhhhubhÈ)”}”(h}”(h ]”Œ decimal-form”ah ]”h ]”h]”Œ decimal form”ah]”uhvh-hxjhÝhÇhÞ]”(hà)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ Decimal Form”hxjhÝh@hÞ]”hìŒ Decimal Form”…””}”(hvj-hxj%ubahñK hòhhhubhz)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvX‹When you would like to specify a non-integer value, simply enter the number as you would write it on paper, with either a period (``.``) or a comma (``,``) as the decimal separator. By default, these can be used interchangeably, i.e. both ``1.234`` and ``1,234`` represent the same number. However, this behavior can be changed; see :ref:`Radix Character ` for more information.”hxjhÝhyhÞ]”(h쌂When you would like to specify a non-integer value, simply enter the number as you would write it on paper, with either a period (”…””}”(hvŒ‚When you would like to specify a non-integer value, simply enter the number as you would write it on paper, with either a period (”hxj3ubhŒliteral”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``.``”hxj3hÝjBhÞ]”hìŒ.”…””}”(hvh-hxjDubaubhìŒ) or a comma (”…””}”(hvŒ) or a comma (”hxj3ubjC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``,``”hxj3hÝjBhÞ]”hìŒ,”…””}”(hvh-hxjWubaubhìŒU) as the decimal separator. By default, these can be used interchangeably, i.e. both ”…””}”(hvŒU) as the decimal separator. By default, these can be used interchangeably, i.e. both ”hxj3ubjC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ ``1.234``”hxj3hÝjBhÞ]”hìŒ1.234”…””}”(hvh-hxjjubaubhìŒ and ”…””}”(hvŒ and ”hxj3ubjC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ ``1,234``”hxj3hÝjBhÞ]”hìŒ1,234”…””}”(hvh-hxj}ubaubhìŒG represent the same number. However, this behavior can be changed; see ”…””}”(hvŒG represent the same number. However, this behavior can be changed; see ”hxj3ubh…Œ pending_xref”“”)”}”(h}”(Œrefdoc”Œuserguide/syntax”h]”h ]”Œrefwarn”ˆŒ refexplicit”ˆŒ reftarget”Œradix_character”h ]”Œreftype”Œref”Œ refdomain”Œstd”h ]”h]”uhvŒ(:ref:`Radix Character `”hxj3hÝjhÞ]”hŒinline”“”)”}”(h}”(h ]”h ]”(Œxref”j¡Œstd-ref”eh ]”h]”h]”uhvj¤hxj’hÝj¦hÞ]”hìŒRadix Character”…””}”(hvh-hxj¨ubaubahñK hòhubhìŒ for more information.”…””}”(hvŒ for more information.”hxj3ubehñK hòhubhz)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvŒúTrailing zeros after the decimal point (like in ``12.300``) or leading zeros before it (``0012.3``) are redundant and can be included or omitted to the user's preference. Expressions like ``.5`` as a shorthand notation for ``0.5`` are also permitted.”hxjhÝhyhÞ]”(hìŒ0Trailing zeros after the decimal point (like in ”…””}”(hvŒ0Trailing zeros after the decimal point (like in ”hxj¼ubjC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ ``12.300``”hxj¼hÝjBhÞ]”hìŒ12.300”…””}”(hvh-hxjËubaubhìŒ) or leading zeros before it (”…””}”(hvŒ) or leading zeros before it (”hxj¼ubjC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ ``0012.3``”hxj¼hÝjBhÞ]”hìŒ0012.3”…””}”(hvh-hxjÞubaubhìŒZ) are redundant and can be included or omitted to the user's preference. Expressions like ”…””}”(hvŒZ) are redundant and can be included or omitted to the user's preference. Expressions like ”hxj¼ubjC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``.5``”hxj¼hÝjBhÞ]”hìŒ.5”…””}”(hvh-hxjñubaubhìŒ as a shorthand notation for ”…””}”(hvŒ as a shorthand notation for ”hxj¼ubjC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``0.5``”hxj¼hÝjBhÞ]”hìŒ0.5”…””}”(hvh-hxjubaubhìŒ are also permitted.”…””}”(hvŒ are also permitted.”hxj¼ubehñKhòhubhh)”}”(h}”(h]”h ]”h ]”Œrefid”Œscientific-notation”h ]”h]”uhvŒ.. _scientific_notation:”hxjhÝhghÞ]”hñKhòhhhubehñK hòhhhubhÈ)”}”(h}”(h ]”(jŒid1”eh ]”h ]”h]”(Œscientific notation”Œscientific_notation”eh]”uŒexpect_referenced_by_name”}”j,jsŒexpect_referenced_by_id”}”jjshvh-hxjhÝhÇhÞ]”(hà)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒScientific Notation”hxj#hÝh@hÞ]”hìŒScientific Notation”…””}”(hvj;hxj3ubahñKhòhhhubhz)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvŒþWhen dealing with very small or very large numbers (think the size of an atom or of a galaxy) the notation above is inconvenient. These are more commonly expressed in scientific notation; for instance, 1.234*10\ :sup:`-9` is preferable to 0.000000001234.”hxj#hÝhyhÞ]”(hìŒÒWhen dealing with very small or very large numbers (think the size of an atom or of a galaxy) the notation above is inconvenient. These are more commonly expressed in scientific notation; for instance, 1.234*10”…””}”(hvŒÔWhen dealing with very small or very large numbers (think the size of an atom or of a galaxy) the notation above is inconvenient. These are more commonly expressed in scientific notation; for instance, 1.234*10\ ”hxjAubhŒ superscript”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ :sup:`-9`”hxjAhÝjPhÞ]”hìŒ-9”…””}”(hvh-hxjRubaubhìŒ! is preferable to 0.000000001234.”…””}”(hvŒ! is preferable to 0.000000001234.”hxjAubehñKhòhubhz)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvX¢Naturally, in SpeedCrunch this could be written as ``1.234*10^-9``, but there's also a shorthand notation: ``1.234e-9``. Here, the ``e`` represents ``*10^``, but it is considered a part of the number literal and treated with higher precedence. For example, ``1e2^3`` is equivalent to ``(1e2)^3 = 100^3``. The scale of a number (sometimes called its exponent) always begins with the scale character ``E`` or ``e`` followed by a signed integer. So ``e+10``, ``e-4``, ``E-0`` are all valid scale expressions. If the sign is '+', you may simply omit it: ``e0``, ``E10``. The significand (i.e. the part preceding the exponent) is required; exactly one exponent must be specified.”hxj#hÝhyhÞ]”(hìŒ3Naturally, in SpeedCrunch this could be written as ”…””}”(hvŒ3Naturally, in SpeedCrunch this could be written as ”hxjeubjC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``1.234*10^-9``”hxjehÝjBhÞ]”hìŒ 1.234*10^-9”…””}”(hvh-hxjtubaubhìŒ), but there's also a shorthand notation: ”…””}”(hvŒ), but there's also a shorthand notation: ”hxjeubjC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ ``1.234e-9``”hxjehÝjBhÞ]”hìŒ1.234e-9”…””}”(hvh-hxj‡ubaubhìŒ . Here, the ”…””}”(hvŒ . Here, the ”hxjeubjC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``e``”hxjehÝjBhÞ]”hìŒe”…””}”(hvh-hxjšubaubhìŒ represents ”…””}”(hvŒ represents ”hxjeubjC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``*10^``”hxjehÝjBhÞ]”hìŒ*10^”…””}”(hvh-hxj­ubaubhìŒe, but it is considered a part of the number literal and treated with higher precedence. For example, ”…””}”(hvŒe, but it is considered a part of the number literal and treated with higher precedence. For example, ”hxjeubjC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ ``1e2^3``”hxjehÝjBhÞ]”hìŒ1e2^3”…””}”(hvh-hxjÀubaubhìŒ is equivalent to ”…””}”(hvŒ is equivalent to ”hxjeubjC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``(1e2)^3 = 100^3``”hxjehÝjBhÞ]”hìŒ(1e2)^3 = 100^3”…””}”(hvh-hxjÓubaubhìŒ_. The scale of a number (sometimes called its exponent) always begins with the scale character ”…””}”(hvŒ_. The scale of a number (sometimes called its exponent) always begins with the scale character ”hxjeubjC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``E``”hxjehÝjBhÞ]”hìŒE”…””}”(hvh-hxjæubaubhìŒ or ”…””}”(hvŒ or ”hxjeubjC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``e``”hxjehÝjBhÞ]”hìŒe”…””}”(hvh-hxjùubaubhìŒ" followed by a signed integer. So ”…””}”(hvŒ" followed by a signed integer. So ”hxjeubjC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``e+10``”hxjehÝjBhÞ]”hìŒe+10”…””}”(hvh-hxj ubaubhìŒ, ”…””}”(hvŒ, ”hxjeubjC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``e-4``”hxjehÝjBhÞ]”hìŒe-4”…””}”(hvh-hxjubaubhìŒ, ”…””}”(hvŒ, ”hxjeubjC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``E-0``”hxjehÝjBhÞ]”hìŒE-0”…””}”(hvh-hxj2ubaubhìŒN are all valid scale expressions. If the sign is '+', you may simply omit it: ”…””}”(hvŒN are all valid scale expressions. If the sign is '+', you may simply omit it: ”hxjeubjC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``e0``”hxjehÝjBhÞ]”hìŒe0”…””}”(hvh-hxjEubaubhìŒ, ”…””}”(hvŒ, ”hxjeubjC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``E10``”hxjehÝjBhÞ]”hìŒE10”…””}”(hvh-hxjXubaubhìŒm. The significand (i.e. the part preceding the exponent) is required; exactly one exponent must be specified.”…””}”(hvŒm. The significand (i.e. the part preceding the exponent) is required; exactly one exponent must be specified.”hxjeubehñKhòhubhz)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvXCompared to most calculators, SpeedCrunch can accept very large numbers without overflowing (e.g. both ``1e+536870911`` and ``1e-536870911`` are still valid). However, only about 78 significant digits are stored at any point. Any digits beyond that are lost.”hxj#hÝhyhÞ]”(hìŒgCompared to most calculators, SpeedCrunch can accept very large numbers without overflowing (e.g. both ”…””}”(hvŒgCompared to most calculators, SpeedCrunch can accept very large numbers without overflowing (e.g. both ”hxjkubjC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``1e+536870911``”hxjkhÝjBhÞ]”hìŒ 1e+536870911”…””}”(hvh-hxjzubaubhìŒ and ”…””}”(hvŒ and ”hxjkubjC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``1e-536870911``”hxjkhÝjBhÞ]”hìŒ 1e-536870911”…””}”(hvh-hxjubaubhìŒv are still valid). However, only about 78 significant digits are stored at any point. Any digits beyond that are lost.”…””}”(hvŒv are still valid). However, only about 78 significant digits are stored at any point. Any digits beyond that are lost.”hxjkubehñKhòhubehñKhòhhhubhÈ)”}”(h}”(h ]”Œnon-decimal-bases”ah ]”h ]”h]”Œnon-decimal bases”ah]”uhvh-hxjhÝhÇhÞ]”(hà)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒNon-Decimal Bases”hxj hÝh@hÞ]”hìŒNon-Decimal Bases”…””}”(hvj³hxj«ubahñK!hòhhhubhz)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvŒçIn addition to decimal (base-10) numbers, SpeedCrunch provides support for binary (base-2), octal (base-8) and hexadecimal (base-16) numbers. You can enter a number in any of these bases by marking it with the corresponding prefix:”hxj hÝhyhÞ]”hìŒçIn addition to decimal (base-10) numbers, SpeedCrunch provides support for binary (base-2), octal (base-8) and hexadecimal (base-16) numbers. You can enter a number in any of these bases by marking it with the corresponding prefix:”…””}”(hvjÁhxj¹ubahñK#hòhubhŒ bullet_list”“”)”}”(h}”(h]”h ]”Œbullet”Œ*”h ]”h ]”h]”uhvh-hxj hÝjÇhÞ]”(hŒ list_item”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ2``0b`` or ``0B`` for **binary**, e.g. ``0b10010``.”hxjÉhÝjÔhÞ]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvjÞhxjÖhÝhyhÞ]”(jC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``0b``”hxjàhÝjBhÞ]”hìŒ0b”…””}”(hvh-hxjéubaubhìŒ or ”…””}”(hvŒ or ”hxjàubjC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``0B``”hxjàhÝjBhÞ]”hìŒ0B”…””}”(hvh-hxjüubaubhìŒ for ”…””}”(hvŒ for ”hxjàubhŒstrong”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ **binary**”hxjàhÝjhÞ]”hìŒbinary”…””}”(hvh-hxjubaubhìŒ, e.g. ”…””}”(hvŒ, e.g. ”hxjàubjC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ ``0b10010``”hxjàhÝjBhÞ]”hìŒ0b10010”…””}”(hvh-hxj$ubaubhìŒ.”…””}”(hvŒ.”hxjàubehñK&hòhubahñNhòhhhubjÕ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ0``0o`` or ``0O`` for **octal**, e.g. ``0o1412``.”hxjÉhÝjÔhÞ]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvj?hxj7hÝhyhÞ]”(jC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``0o``”hxjAhÝjBhÞ]”hìŒ0o”…””}”(hvh-hxjJubaubhìŒ or ”…””}”(hvŒ or ”hxjAubjC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``0O``”hxjAhÝjBhÞ]”hìŒ0O”…””}”(hvh-hxj]ubaubhìŒ for ”…””}”(hvŒ for ”hxjAubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ **octal**”hxjAhÝjhÞ]”hìŒoctal”…””}”(hvh-hxjpubaubhìŒ, e.g. ”…””}”(hvŒ, e.g. ”hxjAubjC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ ``0o1412``”hxjAhÝjBhÞ]”hìŒ0o1412”…””}”(hvh-hxjƒubaubhìŒ.”…””}”(hvj6hxjAubehñK'hòhubahñNhòhhhubjÕ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒY``0d`` or ``0D`` for **decimal**. These can be omitted since decimal is the default base.”hxjÉhÝjÔhÞ]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvjhxj•hÝhyhÞ]”(jC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``0d``”hxjŸhÝjBhÞ]”hìŒ0d”…””}”(hvh-hxj¨ubaubhìŒ or ”…””}”(hvŒ or ”hxjŸubjC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``0D``”hxjŸhÝjBhÞ]”hìŒ0D”…””}”(hvh-hxj»ubaubhìŒ for ”…””}”(hvŒ for ”hxjŸubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ **decimal**”hxjŸhÝjhÞ]”hìŒdecimal”…””}”(hvh-hxjÎubaubhìŒ9. These can be omitted since decimal is the default base.”…””}”(hvŒ9. These can be omitted since decimal is the default base.”hxjŸubehñK(hòhubahñNhòhhhubjÕ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ²``0x``, ``0X``, or ``#`` for **hexadecimal**. The additional six digits are represented by the upper or lower case letters ``a`` to ``f``, e.g. ``0xdeadbeef`` or ``0xDEADBEEF``. ”hxjÉhÝjÔhÞ]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ±``0x``, ``0X``, or ``#`` for **hexadecimal**. The additional six digits are represented by the upper or lower case letters ``a`` to ``f``, e.g. ``0xdeadbeef`` or ``0xDEADBEEF``.”hxjáhÝhyhÞ]”(jC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``0x``”hxjëhÝjBhÞ]”hìŒ0x”…””}”(hvh-hxjõubaubhìŒ, ”…””}”(hvŒ, ”hxjëubjC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``0X``”hxjëhÝjBhÞ]”hìŒ0X”…””}”(hvh-hxjubaubhìŒ, or ”…””}”(hvŒ, or ”hxjëubjC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``#``”hxjëhÝjBhÞ]”hìŒ#”…””}”(hvh-hxjubaubhìŒ for ”…””}”(hvŒ for ”hxjëubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ**hexadecimal**”hxjëhÝjhÞ]”hìŒ hexadecimal”…””}”(hvh-hxj.ubaubhìŒO. The additional six digits are represented by the upper or lower case letters ”…””}”(hvŒO. The additional six digits are represented by the upper or lower case letters ”hxjëubjC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``a``”hxjëhÝjBhÞ]”hìŒa”…””}”(hvh-hxjAubaubhìŒ to ”…””}”(hvŒ to ”hxjëubjC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``f``”hxjëhÝjBhÞ]”hìŒf”…””}”(hvh-hxjTubaubhìŒ, e.g. ”…””}”(hvŒ, e.g. ”hxjëubjC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``0xdeadbeef``”hxjëhÝjBhÞ]”hìŒ 0xdeadbeef”…””}”(hvh-hxjgubaubhìŒ or ”…””}”(hvŒ or ”hxjëubjC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``0xDEADBEEF``”hxjëhÝjBhÞ]”hìŒ 0xDEADBEEF”…””}”(hvh-hxjzubaubhìŒ.”…””}”(hvj6hxjëubehñK)hòhubahñNhòhhhubehñK&hòhhhubhz)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvŒ•You may even enter fractional values in any of these bases. Note that scientific notation is not supported for non-decimal bases, however. Examples::”hxj hÝhyhÞ]”h쌔You may even enter fractional values in any of these bases. Note that scientific notation is not supported for non-decimal bases, however. Examples:”…””}”(hvŒ”You may even enter fractional values in any of these bases. Note that scientific notation is not supported for non-decimal bases, however. Examples:”hxjŒubahñK+hòhubhŒ literal_block”“”)”}”(hhh}”(h]”h ]”Œ xml:space”Œpreserve”h ]”h ]”h]”uhvŒ0b1.01 = 1.25 0xf.a = 15.625”hxj hÝj›hÞ]”hìŒ0b1.01 = 1.25 0xf.a = 15.625”…””}”(hvh-hxjubahñK.hòhubhz)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvŒTo have SpeedCrunch output its results in a base other than decimal, you may use one of the functions :func:`bin`, :func:`oct`, :func:`dec`, or :func:`hex`::”hxj hÝhyhÞ]”(hìŒfTo have SpeedCrunch output its results in a base other than decimal, you may use one of the functions ”…””}”(hvŒfTo have SpeedCrunch output its results in a base other than decimal, you may use one of the functions ”hxj­ubj‘)”}”(h}”(j•j–h]”h ]”j™‰Œ refexplicit”‰j›Œbin”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uhvŒ :func:`bin`”hxj­hÝjhÞ]”jC)”}”(h}”(h ]”h ]”(j­jÇŒsc-func”eh ]”h]”h]”uhvjÊhxj¼hÝjBhÞ]”hìŒbin()”…””}”(hvh-hxjÌubaubahñK4hòhubhìŒ, ”…””}”(hvŒ, ”hxj­ubj‘)”}”(h}”(j•j–h]”h ]”j™‰Œ refexplicit”‰j›Œoct”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uhvŒ :func:`oct`”hxj­hÝjhÞ]”jC)”}”(h}”(h ]”h ]”(j­jêŒsc-func”eh ]”h]”h]”uhvjíhxjßhÝjBhÞ]”hìŒoct()”…””}”(hvh-hxjïubaubahñK4hòhubhìŒ, ”…””}”(hvŒ, ”hxj­ubj‘)”}”(h}”(j•j–h]”h ]”j™‰Œ refexplicit”‰j›Œdec”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uhvŒ :func:`dec`”hxj­hÝjhÞ]”jC)”}”(h}”(h ]”h ]”(j­j Œsc-func”eh ]”h]”h]”uhvjhxjhÝjBhÞ]”hìŒdec()”…””}”(hvh-hxjubaubahñK4hòhubhìŒ, or ”…””}”(hvŒ, or ”hxj­ubj‘)”}”(h}”(j•j–h]”h ]”j™‰Œ refexplicit”‰j›Œhex”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uhvŒ :func:`hex`”hxj­hÝjhÞ]”jC)”}”(h}”(h ]”h ]”(j­j0Œsc-func”eh ]”h]”h]”uhvj3hxj%hÝjBhÞ]”hìŒhex()”…””}”(hvh-hxj5ubaubahñK4hòhubhìŒ:”…””}”(hvŒ:”hxj­ubehñK4hòhubjœ)”}”(hhh}”(h]”h ]”j¢j£h ]”h ]”h]”uhvŒhex(12341) = 0x3035”hxj hÝj›hÞ]”hìŒhex(12341) = 0x3035”…””}”(hvh-hxjHubahñK6hòhubhz)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvŒkThe effect of these functions only applies to the immediate result and doesn't carry to future operations::”hxj hÝhyhÞ]”hìŒjThe effect of these functions only applies to the immediate result and doesn't carry to future operations:”…””}”(hvŒjThe effect of these functions only applies to the immediate result and doesn't carry to future operations:”hxjVubahñK9hòhubjœ)”}”(hhh}”(h]”h ]”j¢j£h ]”h ]”h]”uhvŒ0x2 * hex(12341) = 24682”hxj hÝj›hÞ]”hìŒ0x2 * hex(12341) = 24682”…””}”(hvh-hxjeubahñK Result Format`.”hxj hÝhyhÞ]”(hìŒdTo change the base that is used for displaying results, select one of the corresponding settings in ”…””}”(hvŒdTo change the base that is used for displaying results, select one of the corresponding settings in ”hxjsubj§)”}”(h}”(Œrawtext”Œ+:menuselection:`Settings --> Result Format`”h]”h ]”Œ menuselection”ah ]”h ]”h]”uhvŒSettings ‣ Result Format”hxjshÝj¦hÞ]”hìŒSettings ‣ Result Format”…””}”(hvh-hxj‚ubaubhìŒ.”…””}”(hvj6hxjsubehñK?hòhubhz)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvXSpeedCrunch stores integers with a precision of up to 256 bits. Since this would be unwieldy, the binary representation of a negative number in SpeedCrunch is *not* its two's complement. Instead, like with other bases, the value and the sign are represented separately::”hxj hÝhyhÞ]”(h쌟SpeedCrunch stores integers with a precision of up to 256 bits. Since this would be unwieldy, the binary representation of a negative number in SpeedCrunch is ”…””}”(hvŒŸSpeedCrunch stores integers with a precision of up to 256 bits. Since this would be unwieldy, the binary representation of a negative number in SpeedCrunch is ”hxj—ubhŒemphasis”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ*not*”hxj—hÝj¦hÞ]”hìŒnot”…””}”(hvh-hxj¨ubaubhìŒi its two's complement. Instead, like with other bases, the value and the sign are represented separately:”…””}”(hvŒi its two's complement. Instead, like with other bases, the value and the sign are represented separately:”hxj—ubehñKAhòhubjœ)”}”(hhh}”(h]”h ]”j¢j£h ]”h ]”h]”uhvŒbin(-1) = -0b1”hxj hÝj›hÞ]”hìŒbin(-1) = -0b1”…””}”(hvh-hxj»ubahñKEhòhubhz)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvŒ`See :func:`mask` and :func:`unmask` to convert a negative number into the two's complement form.”hxj hÝhyhÞ]”(hìŒSee ”…””}”(hvŒSee ”hxjÉubj‘)”}”(h}”(j•j–h]”h ]”j™‰Œ refexplicit”‰j›Œmask”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uhvŒ :func:`mask`”hxjÉhÝjhÞ]”jC)”}”(h}”(h ]”h ]”(j­jãŒsc-func”eh ]”h]”h]”uhvjæhxjØhÝjBhÞ]”hìŒmask()”…””}”(hvh-hxjèubaubahñKHhòhubhìŒ and ”…””}”(hvŒ and ”hxjÉubj‘)”}”(h}”(j•j–h]”h ]”j™‰Œ refexplicit”‰j›Œunmask”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uhvŒ:func:`unmask`”hxjÉhÝjhÞ]”jC)”}”(h}”(h ]”h ]”(j­jŒsc-func”eh ]”h]”h]”uhvj hxjûhÝjBhÞ]”hìŒunmask()”…””}”(hvh-hxj ubaubahñKHhòhubhìŒ= to convert a negative number into the two's complement form.”…””}”(hvŒ= to convert a negative number into the two's complement form.”hxjÉubehñKHhòhubhz)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvXQAny integer larger than the 256-bit limit will be silently converted into a floating point number, making it susceptible to rounding errors. To specify large integers, using the shift operators (``1 << n``) is preferable to exponentiation (``2 ^ n``) as the latter are floating point calculations and thus susceptible to rounding errors.”hxj hÝhyhÞ]”(hìŒÃAny integer larger than the 256-bit limit will be silently converted into a floating point number, making it susceptible to rounding errors. To specify large integers, using the shift operators (”…””}”(hvŒÃAny integer larger than the 256-bit limit will be silently converted into a floating point number, making it susceptible to rounding errors. To specify large integers, using the shift operators (”hxjubjC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ ``1 << n``”hxjhÝjBhÞ]”hìŒ1 << n”…””}”(hvh-hxj-ubaubhìŒ#) is preferable to exponentiation (”…””}”(hvŒ#) is preferable to exponentiation (”hxjubjC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ ``2 ^ n``”hxjhÝjBhÞ]”hìŒ2 ^ n”…””}”(hvh-hxj@ubaubhìŒX) as the latter are floating point calculations and thus susceptible to rounding errors.”…””}”(hvŒX) as the latter are floating point calculations and thus susceptible to rounding errors.”hxjubehñKJhòhubehñK!hòhhhubehñKhòhhhubhÈ)”}”(h}”(h ]”Œoperators-and-precedence”ah ]”h ]”h]”Œoperators and precedence”ah]”uhvh-hxhÓhÝhÇhÞ]”(hà)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒOperators and Precedence”hxjShÝh@hÞ]”hìŒOperators and Precedence”…””}”(hvjfhxj^ubahñKPhòhhhubhz)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvX[When writing an expression like ``10+5*4``, which operation will be executed first? The common rules of operator precedence tell us that in this case multipication shall be computed first, hence the result is ``30``. We also distinguish **unary** operators (which act on a single number/operand) and **binary** operators (which link two operands).”hxjShÝhyhÞ]”(hìŒ When writing an expression like ”…””}”(hvŒ When writing an expression like ”hxjlubjC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ ``10+5*4``”hxjlhÝjBhÞ]”hìŒ10+5*4”…””}”(hvh-hxj{ubaubh쌧, which operation will be executed first? The common rules of operator precedence tell us that in this case multipication shall be computed first, hence the result is ”…””}”(hvŒ§, which operation will be executed first? The common rules of operator precedence tell us that in this case multipication shall be computed first, hence the result is ”hxjlubjC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``30``”hxjlhÝjBhÞ]”hìŒ30”…””}”(hvh-hxjŽubaubhìŒ. We also distinguish ”…””}”(hvŒ. We also distinguish ”hxjlubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ **unary**”hxjlhÝjhÞ]”hìŒunary”…””}”(hvh-hxj¡ubaubhìŒ6 operators (which act on a single number/operand) and ”…””}”(hvŒ6 operators (which act on a single number/operand) and ”hxjlubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ **binary**”hxjlhÝjhÞ]”hìŒbinary”…””}”(hvh-hxj´ubaubhìŒ% operators (which link two operands).”…””}”(hvŒ% operators (which link two operands).”hxjlubehñKRhòhubhz)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvŒWSpeedCrunch supports the following operators, listed in order of decreasing precedence:”hxjShÝhyhÞ]”hìŒWSpeedCrunch supports the following operators, listed in order of decreasing precedence:”…””}”(hvjÏhxjÇubahñKThòhubhŒcomment”“”)”}”(h}”(h]”h ]”j¢j£h ]”h ]”h]”uhvŒ]Note: When making changes to these tables, also check that they look ok with LaTeX; these big”hxjShÝjÕhÞ]”hìŒ]Note: When making changes to these tables, also check that they look ok with LaTeX; these big”…””}”(hvh-hxj×ubahñKVhòhhhubjÖ)”}”(h}”(h]”h ]”j¢j£h ]”h ]”h]”uhvŒtables can be problematic.”hxjShÝjÕhÞ]”hìŒtables can be problematic.”…””}”(hvh-hxjåubahñKXhòhhhubh…Œtabular_col_spec”“”)”}”(hhh}”(h]”h ]”Œspec”Œ5|p{0.2\linewidth}|p{0.5\linewidth}|p{0.25\linewidth}|”h ]”h ]”h]”uhvh-hxjShÝjóhÞ]”hñKYhòhubh¾)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjShÝh½hÞ]”h³)”}”(h}”(h]”h ]”h ]”Œcols”Kh ]”h]”uhvh-hxjhÝh²hÞ]”(hŒcolspec”“”)”}”(h}”(h]”h ]”Œcolwidth”Kh ]”h ]”h]”uhvh-hxj hÝjhÞ]”ubj)”}”(h}”(h]”h ]”Œcolwidth”K?h ]”h ]”h]”uhvh-hxj hÝjhÞ]”ubj)”}”(h}”(h]”h ]”Œcolwidth”Kh ]”h ]”h]”uhvh-hxj hÝjhÞ]”ubhŒthead”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj hÝj3hÞ]”hŸ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj5hÝhžhÞ]”(h•)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj>hÝh;hÞ]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒOperator”hxjGhÝhyhÞ]”hìŒOperator”…””}”(hvjXhxjPubahñK\hòhubaubh•)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj>hÝh;hÞ]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ Description”hxj^hÝhyhÞ]”hìŒ Description”…””}”(hvjohxjgubahñK\hòhubaubh•)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj>hÝh;hÞ]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒExamples”hxjuhÝhyhÞ]”hìŒExamples”…””}”(hvj†hxj~ubahñK\hòhubaubeubaubh©)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj hÝh¨hÞ]”(hŸ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjŒhÝhžhÞ]”(h•)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj•hÝh;hÞ]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ ``(...)``”hxjžhÝhyhÞ]”jC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvj¯hxj§hÝjBhÞ]”hìŒ(...)”…””}”(hvh-hxj±ubaubahñK^hòhubaubh•)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj•hÝh;hÞ]”hŒdefinition_list”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj¾hÝjÇhÞ]”hŒdefinition_list_item”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ7**Parentheses** Parentheses mark precedence explicitly.”hxjÉhÝjÒhÞ]”(hŒterm”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ**Parentheses**”hxjÔhÝjÞhÞ]”j)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvjèhxjàhÝjhÞ]”hìŒ Parentheses”…””}”(hvh-hxjêubaubahñK_hòhubhŒ definition”“”)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjÔhÝj÷hÞ]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ'Parentheses mark precedence explicitly.”hxjùhÝhyhÞ]”hìŒ'Parentheses mark precedence explicitly.”…””}”(hvj hxj ubahñK_hòhubaubehñK_hòhubaubaubh•)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj•hÝh;hÞ]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``(2+3)*4 = 5*4 = 20``”hxj hÝhyhÞ]”jC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvj! hxj hÝjBhÞ]”hìŒ(2+3)*4 = 5*4 = 20”…””}”(hvh-hxj# ubaubahñK^hòhubaubeubhŸ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjŒhÝhžhÞ]”(h•)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj0 hÝh;hÞ]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``x!``”hxj9 hÝhyhÞ]”jC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvjJ hxjB hÝjBhÞ]”hìŒx!”…””}”(hvh-hxjL ubaubahñKbhòhubaubh•)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj0 hÝh;hÞ]”jÈ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjY hÝjÇhÞ]”jÓ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒO**Factorial** Computes the factorial of its argument. See also :func:`gamma()`.”hxjb hÝjÒhÞ]”(jß)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ **Factorial**”hxjk hÝjÞhÞ]”j)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvj} hxju hÝjhÞ]”hìŒ Factorial”…””}”(hvh-hxj ubaubahñKchòhubjø)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjk hÝj÷hÞ]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒAComputes the factorial of its argument. See also :func:`gamma()`.”hxjŒ hÝhyhÞ]”(hìŒ1Computes the factorial of its argument. See also ”…””}”(hvŒ1Computes the factorial of its argument. See also ”hxj• ubj‘)”}”(h}”(j•j–h]”h ]”j™‰Œ refexplicit”‰j›Œgamma”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uhvŒ:func:`gamma()`”hxj• hÝjhÞ]”jC)”}”(h}”(h ]”h ]”(j­j¯ Œsc-func”eh ]”h]”h]”uhvj² hxj¤ hÝjBhÞ]”hìŒgamma()”…””}”(hvh-hxj´ ubaubahñKdhòhubhìŒ.”…””}”(hvj6hxj• ubehñKchòhubaubehñKchòhubaubaubh•)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj0 hÝh;hÞ]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ ``5! = 120``”hxjÆ hÝhyhÞ]”jC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvj× hxjÏ hÝjBhÞ]”hìŒ5! = 120”…””}”(hvh-hxjÙ ubaubahñKbhòhubaubeubhŸ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjŒhÝhžhÞ]”(h•)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjæ hÝh;hÞ]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``a ^ b``, ``a ** b``”hxjï hÝhyhÞ]”(jC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ ``a ^ b``”hxjø hÝjBhÞ]”hìŒa ^ b”…””}”(hvh-hxj ubaubhìŒ, ”…””}”(hvŒ, ”hxjø ubjC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ ``a ** b``”hxjø hÝjBhÞ]”hìŒa ** b”…””}”(hvh-hxj ubaubehñKfhòhubaubh•)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjæ hÝh;hÞ]”jÈ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj# hÝjÇhÞ]”jÓ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ**Exponentiation** Both variants are equivalent. Note that the power operation is *right-associative*, i.e. it is evaluated from right to left.”hxj, hÝjÒhÞ]”(jß)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ**Exponentiation**”hxj5 hÝjÞhÞ]”j)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvjG hxj? hÝjhÞ]”hìŒExponentiation”…””}”(hvh-hxjI ubaubahñKihòhubjø)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj5 hÝj÷hÞ]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ|Both variants are equivalent. Note that the power operation is *right-associative*, i.e. it is evaluated from right to left.”hxjV hÝhyhÞ]”(hìŒ?Both variants are equivalent. Note that the power operation is ”…””}”(hvŒ?Both variants are equivalent. Note that the power operation is ”hxj_ ubj§)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ*right-associative*”hxj_ hÝj¦hÞ]”hìŒright-associative”…””}”(hvh-hxjn ubaubhìŒ*, i.e. it is evaluated from right to left.”…””}”(hvŒ*, i.e. it is evaluated from right to left.”hxj_ ubehñKghòhubaubehñKihòhubaubaubh•)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjæ hÝh;hÞ]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``2^2^3 = 2^8 = 256``”hxj hÝhyhÞ]”jC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvj’ hxjŠ hÝjBhÞ]”hìŒ2^2^3 = 2^8 = 256”…””}”(hvh-hxj” ubaubahñKihòhubaubeubhŸ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjŒhÝhžhÞ]”(h•)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj¡ hÝh;hÞ]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``+x``, ``-x``”hxjª hÝhyhÞ]”(jC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``+x``”hxj³ hÝjBhÞ]”hìŒ+x”…””}”(hvh-hxj½ ubaubhìŒ, ”…””}”(hvŒ, ”hxj³ ubjC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``-x``”hxj³ hÝjBhÞ]”hìŒ-x”…””}”(hvh-hxjÐ ubaubehñKlhòhubaubh•)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj¡ hÝh;hÞ]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ**Unary plus and minus**”hxjÞ hÝhyhÞ]”j)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvjï hxjç hÝjhÞ]”hìŒUnary plus and minus”…””}”(hvh-hxjñ ubaubahñKlhòhubaubh•)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj¡ hÝh;hÞ]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ ``--5 = +5``”hxjþ hÝhyhÞ]”jC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvj hxj hÝjBhÞ]”hìŒ--5 = +5”…””}”(hvh-hxj ubaubahñKlhòhubaubeubhŸ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjŒhÝhžhÞ]”(h•)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj hÝh;hÞ]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ ``a \ b``”hxj' hÝhyhÞ]”jC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ ``a \ b``”hxj0 hÝjBhÞ]”hìŒa \ b”…””}”(hvh-hxj: ubaubahñKnhòhubaubh•)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj hÝh;hÞ]”jÈ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjH hÝjÇhÞ]”jÓ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒQ**Integer division** Divides the operands and truncates the result to an integer.”hxjQ hÝjÒhÞ]”(jß)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ**Integer division**”hxjZ hÝjÞhÞ]”j)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvjl hxjd hÝjhÞ]”hìŒInteger division”…””}”(hvh-hxjn ubaubahñKohòhubjø)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjZ hÝj÷hÞ]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ> n``”hxj- hÝhyhÞ]”(jC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ ``a << n``”hxj6 hÝjBhÞ]”hìŒa << n”…””}”(hvh-hxj@ ubaubhìŒ, ”…””}”(hvŒ, ”hxj6 ubjC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ ``a >> n``”hxj6 hÝjBhÞ]”hìŒa >> n”…””}”(hvh-hxjS ubaubehñK~hòhubaubh•)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj$ hÝh;hÞ]”jÈ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxja hÝjÇhÞ]”jÓ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒy**Left/right arithmetic shifts** Shifts the first operand left/right by ``n`` bits. See also :func:`shl` and :func:`shr`.”hxjj hÝjÒhÞ]”(jß)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ **Left/right arithmetic shifts**”hxjs hÝjÞhÞ]”j)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvj… hxj} hÝjhÞ]”hìŒLeft/right arithmetic shifts”…””}”(hvh-hxj‡ ubaubahñK€hòhubjø)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjs hÝj÷hÞ]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒXShifts the first operand left/right by ``n`` bits. See also :func:`shl` and :func:`shr`.”hxj” hÝhyhÞ]”(hìŒ'Shifts the first operand left/right by ”…””}”(hvŒ'Shifts the first operand left/right by ”hxj ubjC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``n``”hxj hÝjBhÞ]”hìŒn”…””}”(hvh-hxj¬ ubaubhìŒ bits. See also ”…””}”(hvŒ bits. See also ”hxj ubj‘)”}”(h}”(j•j–h]”h ]”j™‰Œ refexplicit”‰j›Œshl”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uhvŒ :func:`shl`”hxj hÝjhÞ]”jC)”}”(h}”(h ]”h ]”(j­jÊ Œsc-func”eh ]”h]”h]”uhvjÍ hxj¿ hÝjBhÞ]”hìŒshl()”…””}”(hvh-hxjÏ ubaubahñK€hòhubhìŒ and ”…””}”(hvŒ and ”hxj ubj‘)”}”(h}”(j•j–h]”h ]”j™‰Œ refexplicit”‰j›Œshr”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uhvŒ :func:`shr`”hxj hÝjhÞ]”jC)”}”(h}”(h ]”h ]”(j­jí Œsc-func”eh ]”h]”h]”uhvjð hxjâ hÝjBhÞ]”hìŒshr()”…””}”(hvh-hxjò ubaubahñK€hòhubhìŒ.”…””}”(hvj6hxj ubehñKhòhubaubehñK€hòhubaubaubh•)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj$ hÝh;hÞ]”(hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``0b11<<1 = 0b110``”hxjhÝhyhÞ]”jC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvjhxj hÝjBhÞ]”hìŒ0b11<<1 = 0b110”…””}”(hvh-hxjubaubahñK~hòhubhz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``0b100>>2 = 0b1``”hxjhÝhyhÞ]”jC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvj,hxj$hÝjBhÞ]”hìŒ0b100>>2 = 0b1”…””}”(hvh-hxj.ubaubahñK€hòhubeubeubhŸ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjŒhÝhžhÞ]”(h•)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj;hÝh;hÞ]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ ``a & b``”hxjDhÝhyhÞ]”jC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvjUhxjMhÝjBhÞ]”hìŒa & b”…””}”(hvh-hxjWubaubahñKƒhòhubaubh•)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj;hÝh;hÞ]”jÈ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjdhÝjÇhÞ]”jÓ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ%**Bitwise AND** See also :func:`and`.”hxjmhÝjÒhÞ]”(jß)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ**Bitwise AND**”hxjvhÝjÞhÞ]”j)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvjˆhxj€hÝjhÞ]”hìŒ Bitwise AND”…””}”(hvh-hxjŠubaubahñKƒhòhubjø)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjvhÝj÷hÞ]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒSee also :func:`and`.”hxj—hÝhyhÞ]”(hìŒ See also ”…””}”(hvŒ See also ”hxj ubj‘)”}”(h}”(j•j–h]”h ]”j™‰Œ refexplicit”‰j›Œand”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uhvŒ :func:`and`”hxj hÝjhÞ]”jC)”}”(h}”(h ]”h ]”(j­jºŒsc-func”eh ]”h]”h]”uhvj½hxj¯hÝjBhÞ]”hìŒand()”…””}”(hvh-hxj¿ubaubahñK…hòhubhìŒ.”…””}”(hvj6hxj ubehñK„hòhubaubehñKƒhòhubaubaubh•)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj;hÝh;hÞ]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``0b11 & 0b10 = 0b10``”hxjÑhÝhyhÞ]”jC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvjâhxjÚhÝjBhÞ]”hìŒ0b11 & 0b10 = 0b10”…””}”(hvh-hxjäubaubahñKƒhòhubaubeubhŸ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjŒhÝhžhÞ]”(h•)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjñhÝh;hÞ]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ ``a | b``”hxjúhÝhyhÞ]”jC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvj hxjhÝjBhÞ]”hìŒa | b”…””}”(hvh-hxj ubaubahñK†hòhubaubh•)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjñhÝh;hÞ]”jÈ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjhÝjÇhÞ]”jÓ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ#**Bitwise OR** See also :func:`or`.”hxj#hÝjÒhÞ]”(jß)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ**Bitwise OR**”hxj,hÝjÞhÞ]”j)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvj>hxj6hÝjhÞ]”hìŒ Bitwise OR”…””}”(hvh-hxj@ubaubahñK†hòhubjø)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj,hÝj÷hÞ]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒSee also :func:`or`.”hxjMhÝhyhÞ]”(hìŒ See also ”…””}”(hvŒ See also ”hxjVubj‘)”}”(h}”(j•j–h]”h ]”j™‰Œ refexplicit”‰j›Œor”h ]”Œreftype”Œfunc”Œ refdomain”Œsc”h ]”h]”uhvŒ :func:`or`”hxjVhÝjhÞ]”jC)”}”(h}”(h ]”h ]”(j­jpŒsc-func”eh ]”h]”h]”uhvjshxjehÝjBhÞ]”hìŒor()”…””}”(hvh-hxjuubaubahñKˆhòhubhìŒ.”…””}”(hvj6hxjVubehñK‡hòhubaubehñK†hòhubaubaubh•)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjñhÝh;hÞ]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``0b10 | 0b01 = 0b11``”hxj‡hÝhyhÞ]”jC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvj˜hxjhÝjBhÞ]”hìŒ0b10 | 0b01 = 0b11”…””}”(hvh-hxjšubaubahñK†hòhubaubeubhŸ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjŒhÝhžhÞ]”(h•)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj§hÝh;hÞ]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``->``, ``in``”hxj°hÝhyhÞ]”(jC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``->``”hxj¹hÝjBhÞ]”hìŒ->”…””}”(hvh-hxjÃubaubhìŒ, ”…””}”(hvŒ, ”hxj¹ubjC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``in``”hxj¹hÝjBhÞ]”hìŒin”…””}”(hvh-hxjÖubaubehñK‰hòhubaubh•)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj§hÝh;hÞ]”jÈ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjähÝjÇhÞ]”jÓ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ~**Unit conversion** Convert the operand into the given unit. Both forms are equivalent. See :ref:`units` for more information.”hxjíhÝjÒhÞ]”(jß)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ**Unit conversion**”hxjöhÝjÞhÞ]”j)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvjhxjhÝjhÞ]”hìŒUnit conversion”…””}”(hvh-hxj ubaubahñK‹hòhubjø)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjöhÝj÷hÞ]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒjConvert the operand into the given unit. Both forms are equivalent. See :ref:`units` for more information.”hxjhÝhyhÞ]”(hìŒHConvert the operand into the given unit. Both forms are equivalent. See ”…””}”(hvŒHConvert the operand into the given unit. Both forms are equivalent. See ”hxj ubj‘)”}”(h}”(j•j–h]”h ]”j™ˆŒ refexplicit”‰j›Œunits”h ]”Œreftype”Œref”Œ refdomain”Œstd”h ]”h]”uhvŒ :ref:`units`”hxj hÝjhÞ]”j§)”}”(h}”(h ]”h ]”(j­j:Œstd-ref”eh ]”h]”h]”uhvj=hxj/hÝj¦hÞ]”hìŒunits”…””}”(hvh-hxj?ubaubahñK‹hòhubhìŒ for more information.”…””}”(hvŒ for more information.”hxj ubehñKŠhòhubaubehñK‹hòhubaubaubh•)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj§hÝh;hÞ]”(hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``1000 meter in mile``”hxjRhÝhyhÞ]”jC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvjchxj[hÝjBhÞ]”hìŒ1000 meter in mile”…””}”(hvh-hxjeubaubahñK‰hòhubhz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``1000 meter -> mile``”hxjRhÝhyhÞ]”jC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvjzhxjrhÝjBhÞ]”hìŒ1000 meter -> mile”…””}”(hvh-hxj|ubaubahñK‹hòhubeubeubeubeubahñNhòhhhubjÖ)”}”(h}”(h]”h ]”j¢j£h ]”h ]”h]”uhvŒ\We want to keep the following heading, paragraph and table together. By forcing a page break”hxjShÝjÕhÞ]”hìŒ\We want to keep the following heading, paragraph and table together. By forcing a page break”…””}”(hvh-hxj‰ubahñKhòhhhubjÖ)”}”(h}”(h]”h ]”j¢j£h ]”h ]”h]”uhvŒ[here, we avoid LaTeX squeezing the paragraph onto the same page as the previous large table”hxjShÝjÕhÞ]”hìŒ[here, we avoid LaTeX squeezing the paragraph onto the same page as the previous large table”…””}”(hvh-hxj—ubahñK‘hòhhhubjÖ)”}”(h}”(h]”h ]”j¢j£h ]”h ]”h]”uhvŒRand then running out of space for the next table and moving it onto the next page.”hxjShÝjÕhÞ]”hìŒRand then running out of space for the next table and moving it onto the next page.”…””}”(hvh-hxj¥ubahñK“hòhhhubhŒraw”“”)”}”(hhh}”(h]”h ]”j¢j£h ]”h ]”h]”Œformat”Œlatex”uhvŒ \pagebreak”hxjShÝj³hÞ]”hìŒ \pagebreak”…””}”(hvh-hxjµubahñK”hòhubehñKPhòhhhubhÉehñKhòhhhubhÝhÇhÞ]”(hà)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒDeprecated Operators”hxhÉhÝh@hÞ]”hìŒDeprecated Operators”…””}”(hvjÎhxjÆubahñKšhòhhhubhz)”}”(hhh}”(h ]”h ]”h ]”h]”h]”uhvX)The following operators used to be supported, but were either removed from recent SpeedCrunch versions or are considered deprecated. Generally, these features were removed because of significant problems so you may want to avoid them even if they're still supported in your version of SpeedCrunch.”hxhÉhÝhyhÞ]”hìX)The following operators used to be supported, but were either removed from recent SpeedCrunch versions or are considered deprecated. Generally, these features were removed because of significant problems so you may want to avoid them even if they're still supported in your version of SpeedCrunch.”…””}”(hvjÜhxjÔubahñKœhòhubjô)”}”(hhh}”(h]”h ]”júŒ5|p{0.2\linewidth}|p{0.5\linewidth}|p{0.25\linewidth}|”h ]”h ]”h]”uhvh-hxhÉhÝjóhÞ]”hñK hòhubh¿hh)”}”(h}”(h]”h ]”hnhoh ]”Œissue239”ah ]”h]”Œissue239”auhvŒm.. _issue239: https://bitbucket.org/heldercorreia/speedcrunch/issues/239/more-intuitive-and-useful-percentage”hxhÉhÝhghÞ]”hñKºhòhŒ referenced”KhhubehñKšhòhhhubhÝh½hÞ]”h´ahñNhòhhhubhÝh²hÞ]”(j)”}”(h}”(h]”h ]”Œcolwidth”Kh ]”h ]”h]”uhvh-hxh´hÝjhÞ]”ubj)”}”(h}”(h]”h ]”Œcolwidth”K?h ]”h ]”h]”uhvh-hxh´hÝjhÞ]”ubj)”}”(h}”(h]”h ]”Œcolwidth”Kh ]”h ]”h]”uhvh-hxh´hÝjhÞ]”ubj4)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxh´hÝj3hÞ]”hŸ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjhÝhžhÞ]”(h•)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj"hÝh;hÞ]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒOperator”hxj+hÝhyhÞ]”hìŒOperator”…””}”(hvj<hxj4ubahñK£hòhubaubh•)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj"hÝh;hÞ]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ Description”hxjBhÝhyhÞ]”hìŒ Description”…””}”(hvjShxjKubahñK£hòhubaubh•)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj"hÝh;hÞ]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒExamples”hxjYhÝhyhÞ]”hìŒExamples”…””}”(hvjjhxjbubahñK£hòhubaubeubaubhªeubhÝh¨hÞ]”(h hŸ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxhªhÝhžhÞ]”(h•)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjqhÝh;hÞ]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``f x``”hxjzhÝhyhÞ]”jC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvj‹hxjƒhÝjBhÞ]”hìŒf x”…””}”(hvh-hxjubaubahñK¯hòhubaubh•)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjqhÝh;hÞ]”(jÈ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjšhÝjÇhÞ]”jÓ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒX**Simplified function syntax** Allows omitting the parentheses when calling a function. ”hxj£hÝjÒhÞ]”(jß)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ**Simplified function syntax**”hxj¬hÝjÞhÞ]”j)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvj¾hxj¶hÝjhÞ]”hìŒSimplified function syntax”…””}”(hvh-hxjÀubaubahñK±hòhubjø)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxj¬hÝj÷hÞ]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ8Allows omitting the parentheses when calling a function.”hxjÍhÝhyhÞ]”hìŒ8Allows omitting the parentheses when calling a function.”…””}”(hvjÞhxjÖubahñK°hòhubaubehñK±hòhubaubh‡)”}”(h}”(h]”h ]”hŒ deprecated”hŒ0.12”h ]”h ]”h]”uhvŒ¢Deprecated since version 0.12: Use of this feature is discouraged because it allows for very ambiguous expressions. It will likely be removed in a future release.”hxjšhÝh†hÞ]”hz)”}”(hhh}”(h]”h ]”h ]”Œ translatable”‰h ]”h]”uhvŒ¢Deprecated since version 0.12: Use of this feature is discouraged because it allows for very ambiguous expressions. It will likely be removed in a future release.”hxjähÝhyhÞ]”(j§)”}”(hhh}”(h ]”h ]”h†ah ]”h]”h]”uhvŒDeprecated since version 0.12: ”hxjðhÝj¦hÞ]”hìŒDeprecated since version 0.12: ”…””}”(hvh-hxjûubahñK·hòhubh쌃Use of this feature is discouraged because it allows for very ambiguous expressions. It will likely be removed in a future release.”…””}”(hñNhòNhvŒƒUse of this feature is discouraged because it allows for very ambiguous expressions. It will likely be removed in a future release.”hxjðhhubehñK·hòhubahñK³hòhhhubeubh•)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjqhÝh;hÞ]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``sqrt 2 = sqrt(2)``”hxjhÝhyhÞ]”jC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvjhxjhÝjBhÞ]”hìŒsqrt 2 = sqrt(2)”…””}”(hvh-hxj!ubaubahñK¯hòhubaubeubeubhÝhžhÞ]”(h•)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxh hÝh;hÞ]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ``x%``”hxj/hÝhyhÞ]”jC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvj@hxj8hÝjBhÞ]”hìŒx%”…””}”(hvh-hxjBubaubahñK¥hòhubaubh–h•)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxh hÝh;hÞ]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ ``10% = 0.1``”hxjOhÝhyhÞ]”jC)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvj`hxjXhÝjBhÞ]”hìŒ 10% = 0.1”…””}”(hvh-hxjbubaubahñK¥hòhubaubeubhÝh;hÞ]”(jÈ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxh–hÝjÇhÞ]”jÓ)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ=**Percent operator** Equivalent to multiplication with 0.01. ”hxjphÝjÒhÞ]”(jß)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ**Percent operator**”hxjyhÝjÞhÞ]”j)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvj‹hxjƒhÝjhÞ]”hìŒPercent operator”…””}”(hvh-hxjubaubahñK§hòhubjø)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjyhÝj÷hÞ]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ'Equivalent to multiplication with 0.01.”hxjšhÝhyhÞ]”hìŒ'Equivalent to multiplication with 0.01.”…””}”(hvj«hxj£ubahñK¦hòhubaubehñK§hòhubaubhˆeubhÝh†hÞ]”h{ahñK©hòhhhubhÝhyhÞ]”(j§)”}”(hhh}”(h ]”h ]”h†ah ]”h]”h]”uhvŒDeprecated since version 0.12: ”hxh{hÝj¦hÞ]”hìŒDeprecated since version 0.12: ”…””}”(hvh-hxj³ubahñK­hòhubhìŒThis operator was ”…””}”(hñNhòNhvŒThis operator was ”hxh{hhubj)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvŒ **removed**”hxh{hÝjhÞ]”hìŒremoved”…””}”(hvh-hxjÆubahñNhòNhhubhìŒz in SpeedCrunch 0.12 as it was confusing and not very useful. The reasons for its removal are discussed in more detail in ”…””}”(hñNhòNhvŒz in SpeedCrunch 0.12 as it was confusing and not very useful. The reasons for its removal are discussed in more detail in ”hxh{hhubhŒ reference”“”)”}”(h}”(h]”h ]”hnhoh ]”h ]”h]”Œname”Œ issue #239”uhvŒ`issue #239 `_”hxh{hÝjÙhÞ]”hìŒ issue #239”…””}”(hvh-hxjÛubahñNhòNŒresolved”KhhubhihìŒ.”…””}”(hñNhòNhvj6hxh{hhubehñK­hòhubhÝhghÞ]”hñNhòNjëKhhubjÛesŒreporter”NŒ current_line”NŒ transformer”NŒparse_messages”]”Œsubstitution_defs”}”Œsymbol_footnotes”]”hÝhhÞ]”hÓaŒ nametypes”}”(j[NhÑNj¨NhÛNj"Nj Njõˆj,ˆj+NuŒids”}”(jWjSjòjìj'j#jjh×hÓhÍhÉjjj¤j jj#uŒtransform_messages”]”(hŒsystem_message”“”)”}”(h}”(h]”h ]”Œlevel”KŒtype”ŒINFO”Œline”Kh ]”h ]”h]”Œsource”huhvh-hÝjhÞ]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjhÝhyhÞ]”hìŒ9Hyperlink target "scientific-notation" is not referenced.”…””}”(hvh-hxjubaubaubj)”}”(h}”(h]”h ]”Œlevel”KŒtype”j Œline”K©h ]”h ]”h]”Œsource”huhvh-hÝjhÞ]”hz)”}”(h}”(h ]”h ]”h ]”h]”h]”uhvh-hxjhÝhyhÞ]”hìŒ0Hyperlink target "issue #239" is not referenced.”…””}”(hvh-hxj+ubaubaubeŒcurrent_source”NŒsymbol_footnote_refs”]”Œindirect_targets”]”hiaŒsubstitution_names”}”Œrefids”}”j]”jasŒ citation_refs”}”Œsymbol_footnote_start”KŒautofootnote_start”KhhŒid_start”Khvh-Œ decoration”NŒ footnotes”]”Œ footnote_refs”}”Œ autofootnotes”]”Œnameids”}”(j[jWhÑhÍj¨j¤hÛh×j"jj jjõjòj,jj+j'uub.heldercorreia-speedcrunch-ea93b21f9498/doc/build_html_embedded/de_DE/000077500000000000000000000000001301713744000254005ustar00rootroot00000000000000heldercorreia-speedcrunch-ea93b21f9498/doc/build_html_embedded/de_DE/.buildinfo000066400000000000000000000003461301713744000273570ustar00rootroot00000000000000# Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. config: 9146237dd14777866895b88ac0d3291f tags: c369e2388e78d8786304bc457a38cb0d heldercorreia-speedcrunch-ea93b21f9498/doc/build_html_embedded/de_DE/_static/000077500000000000000000000000001301713744000270265ustar00rootroot00000000000000heldercorreia-speedcrunch-ea93b21f9498/doc/build_html_embedded/de_DE/_static/ajax-loader.gif000066400000000000000000000012411301713744000317020ustar00rootroot00000000000000GIF89aòÿÿÿU|ÆÖßN€U|l–®Š«¾™¶Æ!þCreated with ajaxload.info!ù !ÿ NETSCAPE2.0,3ºÜþ0ÊIkc:œN˜f E±1º™Á¶.`ÄÂqÐ-[9ݦ9 JkçH!ù ,4ºÜþNŒ! „ »°æŠDqBQT`1 `LE[¨|µußía€ ×â†C²%$*!ù ,6º2#+ÊAÈÌ”V/…côNñIBa˜«pð ̳½ƨ+YíüƒÃ2©dŸ¿!ù ,3ºb%+Ê2†‘ìœV_…‹¦ …! 1D‡aªF‚°ÑbR]ó=08,Ȥr9L!ù ,2ºr'+JçdðóL &vÃ`\bT”…„¹hYB)ÏÊ@é<Ã&,ȤR’!ù ,3º Â9ãtç¼Úž0Çà!.B¶ÊW¬¢1  sa»°5÷•0° ‰»Ÿm)J!ù ,2ºÜþð ÙœU]šîÚqp•`ˆÝaœÝ4–…AFÅ0`›¶ Â@›1€ÂÖΑ!ù ,2ºÜþ0ÊI«eBÔœ)×à ŽÇq10©Ê°®PÂaVÚ¥ ub‚ž[;heldercorreia-speedcrunch-ea93b21f9498/doc/build_html_embedded/de_DE/_static/basic.css000066400000000000000000000230141301713744000306210ustar00rootroot00000000000000/* * basic.css * ~~~~~~~~~ * * Sphinx stylesheet -- basic theme. * * :copyright: Copyright 2007-2016 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ /* -- main layout ----------------------------------------------------------- */ div.clearer { clear: both; } /* -- relbar ---------------------------------------------------------------- */ div.related { width: 100%; font-size: 90%; } div.related h3 { display: none; } div.related ul { margin: 0; padding: 0 0 0 10px; list-style: none; } div.related li { display: inline; } div.related li.right { float: right; margin-right: 5px; } /* -- sidebar --------------------------------------------------------------- */ div.sphinxsidebarwrapper { padding: 10px 5px 0 10px; } div.sphinxsidebar { float: left; width: 230px; margin-left: -100%; font-size: 90%; word-wrap: break-word; overflow-wrap : break-word; } div.sphinxsidebar ul { list-style: none; } div.sphinxsidebar ul ul, div.sphinxsidebar ul.want-points { margin-left: 20px; list-style: square; } div.sphinxsidebar ul ul { margin-top: 0; margin-bottom: 0; } div.sphinxsidebar form { margin-top: 10px; } div.sphinxsidebar input { border: 1px solid #98dbcc; font-family: sans-serif; font-size: 1em; } div.sphinxsidebar #searchbox input[type="text"] { width: 170px; } img { border: 0; max-width: 100%; } /* -- search page ----------------------------------------------------------- */ ul.search { margin: 10px 0 0 20px; padding: 0; } ul.search li { padding: 5px 0 5px 20px; background-image: url(file.png); background-repeat: no-repeat; background-position: 0 7px; } ul.search li a { font-weight: bold; } ul.search li div.context { color: #888; margin: 2px 0 0 30px; text-align: left; } ul.keywordmatches li.goodmatch a { font-weight: bold; } /* -- index page ------------------------------------------------------------ */ table.contentstable { width: 90%; } table.contentstable p.biglink { line-height: 150%; } a.biglink { font-size: 1.3em; } span.linkdescr { font-style: italic; padding-top: 5px; font-size: 90%; } /* -- general index --------------------------------------------------------- */ table.indextable { width: 100%; } table.indextable td { text-align: left; vertical-align: top; } table.indextable dl, table.indextable dd { margin-top: 0; margin-bottom: 0; } table.indextable tr.pcap { height: 10px; } table.indextable tr.cap { margin-top: 10px; background-color: #f2f2f2; } img.toggler { margin-right: 3px; margin-top: 3px; cursor: pointer; } div.modindex-jumpbox { border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; margin: 1em 0 1em 0; padding: 0.4em; } div.genindex-jumpbox { border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; margin: 1em 0 1em 0; padding: 0.4em; } /* -- general body styles --------------------------------------------------- */ div.body p, div.body dd, div.body li, div.body blockquote { -moz-hyphens: auto; -ms-hyphens: auto; -webkit-hyphens: auto; hyphens: auto; } a.headerlink { visibility: hidden; } h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, h4:hover > a.headerlink, h5:hover > a.headerlink, h6:hover > a.headerlink, dt:hover > a.headerlink, caption:hover > a.headerlink, p.caption:hover > a.headerlink, div.code-block-caption:hover > a.headerlink { visibility: visible; } div.body p.caption { text-align: inherit; } div.body td { text-align: left; } .field-list ul { padding-left: 1em; } .first { margin-top: 0 !important; } p.rubric { margin-top: 30px; font-weight: bold; } img.align-left, .figure.align-left, object.align-left { clear: left; float: left; margin-right: 1em; } img.align-right, .figure.align-right, object.align-right { clear: right; float: right; margin-left: 1em; } img.align-center, .figure.align-center, object.align-center { display: block; margin-left: auto; margin-right: auto; } .align-left { text-align: left; } .align-center { text-align: center; } .align-right { text-align: right; } /* -- sidebars -------------------------------------------------------------- */ div.sidebar { margin: 0 0 0.5em 1em; border: 1px solid #ddb; padding: 7px 7px 0 7px; background-color: #ffe; width: 40%; float: right; } p.sidebar-title { font-weight: bold; } /* -- topics ---------------------------------------------------------------- */ div.topic { border: 1px solid #ccc; padding: 7px 7px 0 7px; margin: 10px 0 10px 0; } p.topic-title { font-size: 1.1em; font-weight: bold; margin-top: 10px; } /* -- admonitions ----------------------------------------------------------- */ div.admonition { margin-top: 10px; margin-bottom: 10px; padding: 7px; } div.admonition dt { font-weight: bold; } div.admonition dl { margin-bottom: 0; } p.admonition-title { margin: 0px 10px 5px 0px; font-weight: bold; } div.body p.centered { text-align: center; margin-top: 25px; } /* -- tables ---------------------------------------------------------------- */ table.docutils { border: 0; border-collapse: collapse; } table caption span.caption-number { font-style: italic; } table caption span.caption-text { } table.docutils td, table.docutils th { padding: 1px 8px 1px 5px; border-top: 0; border-left: 0; border-right: 0; border-bottom: 1px solid #aaa; } table.field-list td, table.field-list th { border: 0 !important; } table.footnote td, table.footnote th { border: 0 !important; } th { text-align: left; padding-right: 5px; } table.citation { border-left: solid 1px gray; margin-left: 1px; } table.citation td { border-bottom: none; } /* -- figures --------------------------------------------------------------- */ div.figure { margin: 0.5em; padding: 0.5em; } div.figure p.caption { padding: 0.3em; } div.figure p.caption span.caption-number { font-style: italic; } div.figure p.caption span.caption-text { } /* -- other body styles ----------------------------------------------------- */ ol.arabic { list-style: decimal; } ol.loweralpha { list-style: lower-alpha; } ol.upperalpha { list-style: upper-alpha; } ol.lowerroman { list-style: lower-roman; } ol.upperroman { list-style: upper-roman; } dl { margin-bottom: 15px; } dd p { margin-top: 0px; } dd ul, dd table { margin-bottom: 10px; } dd { margin-top: 3px; margin-bottom: 10px; margin-left: 30px; } dt:target, .highlighted { background-color: #fbe54e; } dl.glossary dt { font-weight: bold; font-size: 1.1em; } .field-list ul { margin: 0; padding-left: 1em; } .field-list p { margin: 0; } .optional { font-size: 1.3em; } .sig-paren { font-size: larger; } .versionmodified { font-style: italic; } .system-message { background-color: #fda; padding: 5px; border: 3px solid red; } .footnote:target { background-color: #ffa; } .line-block { display: block; margin-top: 1em; margin-bottom: 1em; } .line-block .line-block { margin-top: 0; margin-bottom: 0; margin-left: 1.5em; } .guilabel, .menuselection { font-family: sans-serif; } .accelerator { text-decoration: underline; } .classifier { font-style: oblique; } abbr, acronym { border-bottom: dotted 1px; cursor: help; } /* -- code displays --------------------------------------------------------- */ pre { overflow: auto; overflow-y: hidden; /* fixes display issues on Chrome browsers */ } span.pre { -moz-hyphens: none; -ms-hyphens: none; -webkit-hyphens: none; hyphens: none; } td.linenos pre { padding: 5px 0px; border: 0; background-color: transparent; color: #aaa; } table.highlighttable { margin-left: 0.5em; } table.highlighttable td { padding: 0 0.5em 0 0.5em; } div.code-block-caption { padding: 2px 5px; font-size: small; } div.code-block-caption code { background-color: transparent; } div.code-block-caption + div > div.highlight > pre { margin-top: 0; } div.code-block-caption span.caption-number { padding: 0.1em 0.3em; font-style: italic; } div.code-block-caption span.caption-text { } div.literal-block-wrapper { padding: 1em 1em 0; } div.literal-block-wrapper div.highlight { margin: 0; } code.descname { background-color: transparent; font-weight: bold; font-size: 1.2em; } code.descclassname { background-color: transparent; } code.xref, a code { background-color: transparent; font-weight: bold; } h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { background-color: transparent; } .viewcode-link { float: right; } .viewcode-back { float: right; font-family: sans-serif; } div.viewcode-block:target { margin: -1px -10px; padding: 0 10px; } /* -- math display ---------------------------------------------------------- */ img.math { vertical-align: middle; } div.body div.math p { text-align: center; } span.eqno { float: right; } /* -- printout stylesheet --------------------------------------------------- */ @media print { div.document, div.documentwrapper, div.bodywrapper { margin: 0 !important; width: 100%; } div.sphinxsidebar, div.related, div.footer, #top-link { display: none; } }heldercorreia-speedcrunch-ea93b21f9498/doc/build_html_embedded/de_DE/_static/comment-bright.png000066400000000000000000000066541301713744000324660ustar00rootroot00000000000000‰PNG  IHDRóÿa OiCCPPhotoshop ICC profilexÚSgTSé=÷ÞôBKˆ€”KoR RB‹€‘&*! Jˆ!¡ÙQÁEEÈ ˆŽŽ€ŒQ, Š Øä!¢Žƒ£ˆŠÊûá{£kÖ¼÷æÍþµ×>ç¬ó³ÏÀ –H3Q5€ ©BàƒÇÄÆáä.@ $p³d!sý#ø~<<+"À¾xÓ ÀM›À0‡ÿêB™\€„Àt‘8K€@zŽB¦@F€˜&S `ËcbãP-`'æÓ€ø™{[”! ‘ eˆDh;¬ÏVŠEX0fKÄ9Ø-0IWfH°·ÀÎ ² 0Qˆ…){`È##x„™FòW<ñ+®ç*x™²<¹$9E[-qWW.(ÎI+6aaš@.Ây™24àóÌ ‘àƒóýxήÎÎ6޶_-ê¿ÿ"bbãþåÏ«p@át~Ñþ,/³€;€mþ¢%îh^  u÷‹f²@µ éÚWópø~<ß5°j>{‘-¨]cöK'XtÀâ÷ò»oÁÔ(€hƒáÏwÿï?ýG %€fI’q^D$.Tʳ?ÇD *°AôÁ,ÀÁÜÁ ü`6„B$ÄÂBB d€r`)¬‚B(†Í°*`/Ô@4ÀQh†“p.ÂU¸=púažÁ(¼ AÈa!ÚˆbŠX#Ž™…ø!ÁH‹$ ɈQ"K‘5H1RŠT UHò=r9‡\Fº‘;È2‚ü†¼G1”²Q=Ô µC¹¨7„F¢ Ðdt1š ›Ðr´=Œ6¡çЫhÚ>CÇ0Àè3Äl0.ÆÃB±8, “c˱"¬ «Æ°V¬»‰õcϱwEÀ 6wB aAHXLXNØH¨ $4Ú 7 „QÂ'"“¨K´&ºùÄb21‡XH,#Ö/{ˆCÄ7$‰C2'¹I±¤TÒÒFÒnR#é,©›4H#“ÉÚdk²9”, +È…ääÃä3ää!ò[ b@q¤øSâ(RÊjJåå4åe˜2AU£šRݨ¡T5ZB­¡¶R¯Q‡¨4uš9̓IK¥­¢•Óhh÷i¯ètºÝ•N—ÐWÒËéGè—èôw †ƒÇˆg(›gw¯˜L¦Ó‹ÇT071ë˜ç™™oUX*¶*|‘Ê •J•&•*/T©ª¦ªÞª UóUËT©^S}®FU3Sã© Ô–«UªPëSSg©;¨‡ªg¨oT?¤~Yý‰YÃLÃOC¤Q ±_ã¼Æ c³x,!k «†u5Ä&±ÍÙ|v*»˜ý»‹=ª©¡9C3J3W³Ró”f?ã˜qøœtN ç(§—ó~ŠÞï)â)¦4L¹1e\kª–—–X«H«Q«Gë½6®í§¦½E»YûAÇJ'\'GgÎçSÙSݧ §M=:õ®.ªk¥¡»Dw¿n§î˜ž¾^€žLo§Þy½çú}/ýTýmú§õG X³ $Û Î<Å5qo</ÇÛñQC]Ã@C¥a•a—á„‘¹Ñ<£ÕFFŒiÆ\ã$ãmÆmÆ£&&!&KMêMîšRM¹¦)¦;L;LÇÍÌÍ¢ÍÖ™5›=1×2ç›ç›×›ß·`ZxZ,¶¨¶¸eI²äZ¦Yî¶¼n…Z9Y¥XUZ]³F­­%Ö»­»§§¹N“N«žÖgðñ¶É¶©·°åØÛ®¶m¶}agbg·Å®Ã“}º}ý= ‡Ù«Z~s´r:V:ޚΜî?}Åô–é/gXÏÏØ3ã¶Ë)ÄiS›ÓGgg¹sƒóˆ‹‰K‚Ë.—>.›ÆÝȽäJtõq]ázÒõ›³›Âí¨Û¯î6îiî‡ÜŸÌ4Ÿ)žY3sÐÃÈCàQåÑ? Ÿ•0k߬~OCOgµç#/c/‘W­×°·¥wª÷aï>ö>rŸã>ã<7Þ2ÞY_Ì7À·È·ËOÃož_…ßC#ÿdÿzÿѧ€%g‰A[ûøz|!¿Ž?:Ûeö²ÙíAŒ ¹AA‚­‚åÁ­!hÈì­!÷ç˜Î‘Îi…P~èÖÐaæa‹Ã~ '…‡…W†?ŽpˆXÑ1—5wÑÜCsßDúD–DÞ›g1O9¯-J5*>ª.j<Ú7º4º?Æ.fYÌÕXXIlK9.*®6nl¾ßüíó‡ââ ã{˜/È]py¡ÎÂô…§©.,:–@LˆN8”ðA*¨Œ%òw%Ž yÂÂg"/Ñ6шØC\*NòH*Mz’쑼5y$Å3¥,幄'©¼L LÝ›:žšv m2=:½1ƒ’‘qBª!M“¶gêgæfvˬe…²þÅn‹·/•Ék³¬Y- ¶B¦èTZ(×*²geWf¿Í‰Ê9–«ž+Íí̳ÊÛ7œïŸÿíÂá’¶¥†KW-X潬j9²‰Š®Û—Ø(Üxå‡oÊ¿™Ü”´©«Ä¹dÏfÒféæÞ-ž[–ª—æ—n ÙÚ´ ßV´íõöEÛ/—Í(Û»ƒ¶C¹£¿<¸¼e§ÉÎÍ;?T¤TôTúT6îÒݵa×ønÑî{¼ö4ìÕÛ[¼÷ý>ɾÛUUMÕfÕeûIû³÷?®‰ªéø–ûm]­NmqíÇÒý#¶×¹ÔÕÒ=TRÖ+ëGǾþïw- 6 UœÆâ#pDyäé÷ ß÷ :ÚvŒ{¬áÓvg/jBšòšF›Sšû[b[ºOÌ>ÑÖêÞzüGÛœ499â?rýéü§CÏdÏ&žþ¢þË®/~øÕë×Îјѡ—ò—“¿m|¥ýêÀë¯ÛÆÂƾÉx31^ôVûíÁwÜwï£ßOä| (ÿhù±õSЧû“““ÿ˜óüc3-ÛbKGDÿÿÿ ½§“ pHYs  šœtIMEÚ 6 B©\<ÞIDAT8Ë…’Kh]e…¿½ÿs1mAÛÄÚ`j‚Ïh[-ˆE(FEŠÁaAœ! bI« àÈ*–BX‘"Ø4)NŠõUR‚Zˆ¹­!’×Mhj“›ssÎùÿíà–¨àãmØ‹Å^‹-\ggßÏ ÷ßì]o|ÑÑÒ¬[3±¶4§Á§6»”û©òèø¯×>zd‘¿ ]½#Œ»î8ÙþüáÇOݺ±t{5·uIÍXN!I=@Vf¾®Ÿ=v×ÀÞþ1ûº}e>;ØÉö×fvìénøvËÍÅxaÉHrÏʪJ’¦Fȹ`œÈðDò¹WZ®]ÀžSíýŸø%S)ÌWAÌœb¹ |0K=âSo7D†~\~qâÍ-ïÀËŸ\ùaóMÅ“Z,S'*æô™‘È} óF`—†ÎNnzæ674¸öËUÈç¬ó³ÏÀ –H3Q5€ ©BàƒÇÄÆáä.@ $p³d!sý#ø~<<+"À¾xÓ ÀM›À0‡ÿêB™\€„Àt‘8K€@zŽB¦@F€˜&S `ËcbãP-`'æÓ€ø™{[”! ‘ eˆDh;¬ÏVŠEX0fKÄ9Ø-0IWfH°·ÀÎ ² 0Qˆ…){`È##x„™FòW<ñ+®ç*x™²<¹$9E[-qWW.(ÎI+6aaš@.Ây™24àóÌ ‘àƒóýxήÎÎ6޶_-ê¿ÿ"bbãþåÏ«p@át~Ñþ,/³€;€mþ¢%îh^  u÷‹f²@µ éÚWópø~<ß5°j>{‘-¨]cöK'XtÀâ÷ò»oÁÔ(€hƒáÏwÿï?ýG %€fI’q^D$.Tʳ?ÇD *°AôÁ,ÀÁÜÁ ü`6„B$ÄÂBB d€r`)¬‚B(†Í°*`/Ô@4ÀQh†“p.ÂU¸=púažÁ(¼ AÈa!ÚˆbŠX#Ž™…ø!ÁH‹$ ɈQ"K‘5H1RŠT UHò=r9‡\Fº‘;È2‚ü†¼G1”²Q=Ô µC¹¨7„F¢ Ðdt1š ›Ðr´=Œ6¡çЫhÚ>CÇ0Àè3Äl0.ÆÃB±8, “c˱"¬ «Æ°V¬»‰õcϱwEÀ 6wB aAHXLXNØH¨ $4Ú 7 „QÂ'"“¨K´&ºùÄb21‡XH,#Ö/{ˆCÄ7$‰C2'¹I±¤TÒÒFÒnR#é,©›4H#“ÉÚdk²9”, +È…ääÃä3ää!ò[ b@q¤øSâ(RÊjJåå4åe˜2AU£šRݨ¡T5ZB­¡¶R¯Q‡¨4uš9̓IK¥­¢•Óhh÷i¯ètºÝ•N—ÐWÒËéGè—èôw †ƒÇˆg(›gw¯˜L¦Ó‹ÇT071ë˜ç™™oUX*¶*|‘Ê •J•&•*/T©ª¦ªÞª UóUËT©^S}®FU3Sã© Ô–«UªPëSSg©;¨‡ªg¨oT?¤~Yý‰YÃLÃOC¤Q ±_ã¼Æ c³x,!k «†u5Ä&±ÍÙ|v*»˜ý»‹=ª©¡9C3J3W³Ró”f?ã˜qøœtN ç(§—ó~ŠÞï)â)¦4L¹1e\kª–—–X«H«Q«Gë½6®í§¦½E»YûAÇJ'\'GgÎçSÙSݧ §M=:õ®.ªk¥¡»Dw¿n§î˜ž¾^€žLo§Þy½çú}/ýTýmú§õG X³ $Û Î<Å5qo</ÇÛñQC]Ã@C¥a•a—á„‘¹Ñ<£ÕFFŒiÆ\ã$ãmÆmÆ£&&!&KMêMîšRM¹¦)¦;L;LÇÍÌÍ¢ÍÖ™5›=1×2ç›ç›×›ß·`ZxZ,¶¨¶¸eI²äZ¦Yî¶¼n…Z9Y¥XUZ]³F­­%Ö»­»§§¹N“N«žÖgðñ¶É¶©·°åØÛ®¶m¶}agbg·Å®Ã“}º}ý= ‡Ù«Z~s´r:V:ޚΜî?}Åô–é/gXÏÏØ3ã¶Ë)ÄiS›ÓGgg¹sƒóˆ‹‰K‚Ë.—>.›ÆÝȽäJtõq]ázÒõ›³›Âí¨Û¯î6îiî‡ÜŸÌ4Ÿ)žY3sÐÃÈCàQåÑ? Ÿ•0k߬~OCOgµç#/c/‘W­×°·¥wª÷aï>ö>rŸã>ã<7Þ2ÞY_Ì7À·È·ËOÃož_…ßC#ÿdÿzÿѧ€%g‰A[ûøz|!¿Ž?:Ûeö²ÙíAŒ ¹AA‚­‚åÁ­!hÈì­!÷ç˜Î‘Îi…P~èÖÐaæa‹Ã~ '…‡…W†?ŽpˆXÑ1—5wÑÜCsßDúD–DÞ›g1O9¯-J5*>ª.j<Ú7º4º?Æ.fYÌÕXXIlK9.*®6nl¾ßüíó‡ââ ã{˜/È]py¡ÎÂô…§©.,:–@LˆN8”ðA*¨Œ%òw%Ž yÂÂg"/Ñ6шØC\*NòH*Mz’쑼5y$Å3¥,幄'©¼L LÝ›:žšv m2=:½1ƒ’‘qBª!M“¶gêgæfvˬe…²þÅn‹·/•Ék³¬Y- ¶B¦èTZ(×*²geWf¿Í‰Ê9–«ž+Íí̳ÊÛ7œïŸÿíÂá’¶¥†KW-X潬j9²‰Š®Û—Ø(Üxå‡oÊ¿™Ü”´©«Ä¹dÏfÒféæÞ-ž[–ª—æ—n ÙÚ´ ßV´íõöEÛ/—Í(Û»ƒ¶C¹£¿<¸¼e§ÉÎÍ;?T¤TôTúT6îÒݵa×ønÑî{¼ö4ìÕÛ[¼÷ý>ɾÛUUMÕfÕeûIû³÷?®‰ªéø–ûm]­NmqíÇÒý#¶×¹ÔÕÒ=TRÖ+ëGǾþïw- 6 UœÆâ#pDyäé÷ ß÷ :ÚvŒ{¬áÓvg/jBšòšF›Sšû[b[ºOÌ>ÑÖêÞzüGÛœ499â?rýéü§CÏdÏ&žþ¢þË®/~øÕë×Îјѡ—ò—“¿m|¥ýêÀë¯ÛÆÂƾÉx31^ôVûíÁwÜwï£ßOä| (ÿhù±õSЧû“““ÿ˜óüc3-ÛbKGDÿÿÿ ½§“ pHYs  šœtIMEÚ!â›ÈÝ,IDAT8Ëe’_HuÇ?Ïï}ßsŽž3ÍyòË•¶¦‹U2MvQÉÖŠFÔE¬.ŠÑÍÃÅ‚­ÄŠbÑE$DD­‹ËZF5b@QÌ"š:2§›š¦¾ïû{Ÿn.êsõåçû<_ø yî?ô½m÷²ýè·wV™ê@t£R`}Z íÄÐ_£# _=œá_@ÝËý ßw^óRë®·•%6gC-έ(K>ä| $„Éï{¯}ç¬ó³ÏÀ –H3Q5€ ©BàƒÇÄÆáä.@ $p³d!sý#ø~<<+"À¾xÓ ÀM›À0‡ÿêB™\€„Àt‘8K€@zŽB¦@F€˜&S `ËcbãP-`'æÓ€ø™{[”! ‘ eˆDh;¬ÏVŠEX0fKÄ9Ø-0IWfH°·ÀÎ ² 0Qˆ…){`È##x„™FòW<ñ+®ç*x™²<¹$9E[-qWW.(ÎI+6aaš@.Ây™24àóÌ ‘àƒóýxήÎÎ6޶_-ê¿ÿ"bbãþåÏ«p@át~Ñþ,/³€;€mþ¢%îh^  u÷‹f²@µ éÚWópø~<ß5°j>{‘-¨]cöK'XtÀâ÷ò»oÁÔ(€hƒáÏwÿï?ýG %€fI’q^D$.Tʳ?ÇD *°AôÁ,ÀÁÜÁ ü`6„B$ÄÂBB d€r`)¬‚B(†Í°*`/Ô@4ÀQh†“p.ÂU¸=púažÁ(¼ AÈa!ÚˆbŠX#Ž™…ø!ÁH‹$ ɈQ"K‘5H1RŠT UHò=r9‡\Fº‘;È2‚ü†¼G1”²Q=Ô µC¹¨7„F¢ Ðdt1š ›Ðr´=Œ6¡çЫhÚ>CÇ0Àè3Äl0.ÆÃB±8, “c˱"¬ «Æ°V¬»‰õcϱwEÀ 6wB aAHXLXNØH¨ $4Ú 7 „QÂ'"“¨K´&ºùÄb21‡XH,#Ö/{ˆCÄ7$‰C2'¹I±¤TÒÒFÒnR#é,©›4H#“ÉÚdk²9”, +È…ääÃä3ää!ò[ b@q¤øSâ(RÊjJåå4åe˜2AU£šRݨ¡T5ZB­¡¶R¯Q‡¨4uš9̓IK¥­¢•Óhh÷i¯ètºÝ•N—ÐWÒËéGè—èôw †ƒÇˆg(›gw¯˜L¦Ó‹ÇT071ë˜ç™™oUX*¶*|‘Ê •J•&•*/T©ª¦ªÞª UóUËT©^S}®FU3Sã© Ô–«UªPëSSg©;¨‡ªg¨oT?¤~Yý‰YÃLÃOC¤Q ±_ã¼Æ c³x,!k «†u5Ä&±ÍÙ|v*»˜ý»‹=ª©¡9C3J3W³Ró”f?ã˜qøœtN ç(§—ó~ŠÞï)â)¦4L¹1e\kª–—–X«H«Q«Gë½6®í§¦½E»YûAÇJ'\'GgÎçSÙSݧ §M=:õ®.ªk¥¡»Dw¿n§î˜ž¾^€žLo§Þy½çú}/ýTýmú§õG X³ $Û Î<Å5qo</ÇÛñQC]Ã@C¥a•a—á„‘¹Ñ<£ÕFFŒiÆ\ã$ãmÆmÆ£&&!&KMêMîšRM¹¦)¦;L;LÇÍÌÍ¢ÍÖ™5›=1×2ç›ç›×›ß·`ZxZ,¶¨¶¸eI²äZ¦Yî¶¼n…Z9Y¥XUZ]³F­­%Ö»­»§§¹N“N«žÖgðñ¶É¶©·°åØÛ®¶m¶}agbg·Å®Ã“}º}ý= ‡Ù«Z~s´r:V:ޚΜî?}Åô–é/gXÏÏØ3ã¶Ë)ÄiS›ÓGgg¹sƒóˆ‹‰K‚Ë.—>.›ÆÝȽäJtõq]ázÒõ›³›Âí¨Û¯î6îiî‡ÜŸÌ4Ÿ)žY3sÐÃÈCàQåÑ? Ÿ•0k߬~OCOgµç#/c/‘W­×°·¥wª÷aï>ö>rŸã>ã<7Þ2ÞY_Ì7À·È·ËOÃož_…ßC#ÿdÿzÿѧ€%g‰A[ûøz|!¿Ž?:Ûeö²ÙíAŒ ¹AA‚­‚åÁ­!hÈì­!÷ç˜Î‘Îi…P~èÖÐaæa‹Ã~ '…‡…W†?ŽpˆXÑ1—5wÑÜCsßDúD–DÞ›g1O9¯-J5*>ª.j<Ú7º4º?Æ.fYÌÕXXIlK9.*®6nl¾ßüíó‡ââ ã{˜/È]py¡ÎÂô…§©.,:–@LˆN8”ðA*¨Œ%òw%Ž yÂÂg"/Ñ6шØC\*NòH*Mz’쑼5y$Å3¥,幄'©¼L LÝ›:žšv m2=:½1ƒ’‘qBª!M“¶gêgæfvˬe…²þÅn‹·/•Ék³¬Y- ¶B¦èTZ(×*²geWf¿Í‰Ê9–«ž+Íí̳ÊÛ7œïŸÿíÂá’¶¥†KW-X潬j9²‰Š®Û—Ø(Üxå‡oÊ¿™Ü”´©«Ä¹dÏfÒféæÞ-ž[–ª—æ—n ÙÚ´ ßV´íõöEÛ/—Í(Û»ƒ¶C¹£¿<¸¼e§ÉÎÍ;?T¤TôTúT6îÒݵa×ønÑî{¼ö4ìÕÛ[¼÷ý>ɾÛUUMÕfÕeûIû³÷?®‰ªéø–ûm]­NmqíÇÒý#¶×¹ÔÕÒ=TRÖ+ëGǾþïw- 6 UœÆâ#pDyäé÷ ß÷ :ÚvŒ{¬áÓvg/jBšòšF›Sšû[b[ºOÌ>ÑÖêÞzüGÛœ499â?rýéü§CÏdÏ&žþ¢þË®/~øÕë×Îјѡ—ò—“¿m|¥ýêÀë¯ÛÆÂƾÉx31^ôVûíÁwÜwï£ßOä| (ÿhù±õSЧû“““ÿ˜óüc3-ÛbKGDÿÿÿ ½§“ pHYs  šœtIMEÚ 1;ïV·¿§IDAT8Ëu‘ËkÜUÇ?ßsgœ4ÔØøhª‚`µ©ÖG1 RQ‚”îܸp%èBªø”n"‚bРXJ ‹.4V iZð##T;m£µ!4™üæžãbâP­~7÷rîù>ιbwïý†cû†; m;‡oª”ÓAÜàΆ ζZ^«/®þôä£Ãç¸|îs¯ÝÉø{Óý;†¯y¿»Rº¥ð¸Â=È9(rÉt¦Vo¼¾û¡­ûG÷Í1±wíÞÿ#_àÓ©¹›{»¿ìî*•›E&ç å!€€ˆÀƒ(—Lç–VŸßuïÀ«oœéêûÁᲵ‘DŽÀ€ P„‡²G”“4ÿçÊ Ü:&€¯ç~™êî*ݳÖreˆuá: ‚ááS­-,ßUšœ©^Ÿ’ú›E&·™JY[ÃPà!RˆìB ŖޞʖR@_ÎôÈ€dBfó”€NvHfÂ"è2ØTÊî]­ˆR‘’ ³ö j§'BàÖ1‰ddAak…/DIJD… ’D2‘ÌH&L`&L† $Ex,6‹|Ö~_\©¿Pœ‘ $™ýMH`I˜©=Ÿ @¨±Z|õÈÎÁ|ttv´gcåЕ—WTZ'¤õ3rŽÈîje"ܵx¾9ÿö›¯°W> ¹mb©Ñ|by¥ˆ•fFRx{wí%Dúõå¹Z½±€áCíÿÞüô$õwdüÀôðÖ«ÞH¦mW÷nètaµ(ŠM<~;9¿ôáž]C/ñ_¸ãåŸ;÷ÉãÕ«§æã‹Õ#Ÿ}ûÀáÉïoÿ`zS§áÚ·ù_>:;x컓§?Ÿ©yóÝ©ÿ|}æ’~ûwam-/ž®7ž=¾0úìS÷5è»ØíR翚¾P"*Ö¯ IEND®B`‚heldercorreia-speedcrunch-ea93b21f9498/doc/build_html_embedded/de_DE/_static/doctools.js000066400000000000000000000177461301713744000312310ustar00rootroot00000000000000/* * doctools.js * ~~~~~~~~~~~ * * Sphinx JavaScript utilities for all documentation. * * :copyright: Copyright 2007-2016 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ /** * select a different prefix for underscore */ $u = _.noConflict(); /** * make the code below compatible with browsers without * an installed firebug like debugger if (!window.console || !console.firebug) { var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"]; window.console = {}; for (var i = 0; i < names.length; ++i) window.console[names[i]] = function() {}; } */ /** * small helper function to urldecode strings */ jQuery.urldecode = function(x) { return decodeURIComponent(x).replace(/\+/g, ' '); }; /** * small helper function to urlencode strings */ jQuery.urlencode = encodeURIComponent; /** * This function returns the parsed url parameters of the * current request. Multiple values per key are supported, * it will always return arrays of strings for the value parts. */ jQuery.getQueryParameters = function(s) { if (typeof s == 'undefined') s = document.location.search; var parts = s.substr(s.indexOf('?') + 1).split('&'); var result = {}; for (var i = 0; i < parts.length; i++) { var tmp = parts[i].split('=', 2); var key = jQuery.urldecode(tmp[0]); var value = jQuery.urldecode(tmp[1]); if (key in result) result[key].push(value); else result[key] = [value]; } return result; }; /** * highlight a given string on a jquery object by wrapping it in * span elements with the given class name. */ jQuery.fn.highlightText = function(text, className) { function highlight(node) { if (node.nodeType == 3) { var val = node.nodeValue; var pos = val.toLowerCase().indexOf(text); if (pos >= 0 && !jQuery(node.parentNode).hasClass(className)) { var span = document.createElement("span"); span.className = className; span.appendChild(document.createTextNode(val.substr(pos, text.length))); node.parentNode.insertBefore(span, node.parentNode.insertBefore( document.createTextNode(val.substr(pos + text.length)), node.nextSibling)); node.nodeValue = val.substr(0, pos); } } else if (!jQuery(node).is("button, select, textarea")) { jQuery.each(node.childNodes, function() { highlight(this); }); } } return this.each(function() { highlight(this); }); }; /* * backward compatibility for jQuery.browser * This will be supported until firefox bug is fixed. */ if (!jQuery.browser) { jQuery.uaMatch = function(ua) { ua = ua.toLowerCase(); var match = /(chrome)[ \/]([\w.]+)/.exec(ua) || /(webkit)[ \/]([\w.]+)/.exec(ua) || /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) || /(msie) ([\w.]+)/.exec(ua) || ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) || []; return { browser: match[ 1 ] || "", version: match[ 2 ] || "0" }; }; jQuery.browser = {}; jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true; } /** * Small JavaScript module for the documentation. */ var Documentation = { init : function() { this.fixFirefoxAnchorBug(); this.highlightSearchWords(); this.initIndexTable(); }, /** * i18n support */ TRANSLATIONS : {}, PLURAL_EXPR : function(n) { return n == 1 ? 0 : 1; }, LOCALE : 'unknown', // gettext and ngettext don't access this so that the functions // can safely bound to a different name (_ = Documentation.gettext) gettext : function(string) { var translated = Documentation.TRANSLATIONS[string]; if (typeof translated == 'undefined') return string; return (typeof translated == 'string') ? translated : translated[0]; }, ngettext : function(singular, plural, n) { var translated = Documentation.TRANSLATIONS[singular]; if (typeof translated == 'undefined') return (n == 1) ? singular : plural; return translated[Documentation.PLURALEXPR(n)]; }, addTranslations : function(catalog) { for (var key in catalog.messages) this.TRANSLATIONS[key] = catalog.messages[key]; this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')'); this.LOCALE = catalog.locale; }, /** * add context elements like header anchor links */ addContextElements : function() { $('div[id] > :header:first').each(function() { $('\u00B6'). attr('href', '#' + this.id). attr('title', _('Permalink to this headline')). appendTo(this); }); $('dt[id]').each(function() { $('\u00B6'). attr('href', '#' + this.id). attr('title', _('Permalink to this definition')). appendTo(this); }); }, /** * workaround a firefox stupidity * see: https://bugzilla.mozilla.org/show_bug.cgi?id=645075 */ fixFirefoxAnchorBug : function() { if (document.location.hash) window.setTimeout(function() { document.location.href += ''; }, 10); }, /** * highlight the search words provided in the url in the text */ highlightSearchWords : function() { var params = $.getQueryParameters(); var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : []; if (terms.length) { var body = $('div.body'); if (!body.length) { body = $('body'); } window.setTimeout(function() { $.each(terms, function() { body.highlightText(this.toLowerCase(), 'highlighted'); }); }, 10); $('') .appendTo($('#searchbox')); } }, /** * init the domain index toggle buttons */ initIndexTable : function() { var togglers = $('img.toggler').click(function() { var src = $(this).attr('src'); var idnum = $(this).attr('id').substr(7); $('tr.cg-' + idnum).toggle(); if (src.substr(-9) == 'minus.png') $(this).attr('src', src.substr(0, src.length-9) + 'plus.png'); else $(this).attr('src', src.substr(0, src.length-8) + 'minus.png'); }).css('display', ''); if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) { togglers.click(); } }, /** * helper function to hide the search marks again */ hideSearchWords : function() { $('#searchbox .highlight-link').fadeOut(300); $('span.highlighted').removeClass('highlighted'); }, /** * make the url absolute */ makeURL : function(relativeURL) { return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL; }, /** * get the current relative url */ getCurrentURL : function() { var path = document.location.pathname; var parts = path.split(/\//); $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() { if (this == '..') parts.pop(); }); var url = parts.join('/'); return path.substring(url.lastIndexOf('/') + 1, path.length - 1); }, initOnKeyListeners: function() { $(document).keyup(function(event) { var activeElementType = document.activeElement.tagName; // don't navigate when in search box or textarea if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT') { switch (event.keyCode) { case 37: // left var prevHref = $('link[rel="prev"]').prop('href'); if (prevHref) { window.location.href = prevHref; return false; } case 39: // right var nextHref = $('link[rel="next"]').prop('href'); if (nextHref) { window.location.href = nextHref; return false; } } } }); } }; // quick alias for translations _ = Documentation.gettext; $(document).ready(function() { Documentation.init(); });heldercorreia-speedcrunch-ea93b21f9498/doc/build_html_embedded/de_DE/_static/down-pressed.png000066400000000000000000000005331301713744000321470ustar00rootroot00000000000000‰PNG  IHDR(-SsRGB®Îé pHYs × ×B(›xtIMEÚ -vF#NPLTE³__³__³__³__³__³__³__³__³__³__³__³__³__³__³__³__³__³__³__³__³__³__³__³__³__Ôá?tRNS "5=D\_av¨©ÀÔéêñôúûüþÂëýbKGDˆHaIDATÁY‚0DÁK˜‘!̯÷¿Qcä(ù£ŠŒDFYsS—0ú6'Ê[?ÌvìÓ«›öÃf>™"SCäuñ|¹ÍØæ¸ô2ÉÔó³(Xø+N³³àfëJªªH9ÇSoûj¼*¤IEND®B`‚heldercorreia-speedcrunch-ea93b21f9498/doc/build_html_embedded/de_DE/_static/down.png000066400000000000000000000005331301713744000305040ustar00rootroot00000000000000‰PNG  IHDR(-SsRGB®Îé pHYs × ×B(›xtIMEÚ"ÅíU{NPLTEÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅ—Å=ntRNS "5=D\_av¨©ÀÔéêñôúûüþÂëýbKGDˆHaIDATÁY‚0DÁK˜‘!̯÷¿Qcä(ù£ŠŒDFYsS—0ú6'Ê[?ÌvìÓ«›öÃf>™"SCäuñ|¹ÍØæ¸ô2ÉÔó³(Xø+N³³àfëJªªH9ÇSoûj¼*¤IEND®B`‚heldercorreia-speedcrunch-ea93b21f9498/doc/build_html_embedded/de_DE/_static/file.png000066400000000000000000000005461301713744000304600ustar00rootroot00000000000000‰PNG  IHDR(-S pHYs  šœtIMEÕ  )¶ToPLTE•••™™™•••hs„it†mymz’n{’n{“rŸÏ†Œ”‰”¢‰˜­‰™®Šš¯š¸Ø¨ÂÌÀÔÄÄÄÄÅÅÅÆÆÆÇÇÇêêêëëëìììííåííííñÖîîîïïïðððñññòòòÿÿÿ$­§tRNSV¨¬´5ØÞgbKGD$´ù™lIDATÁANÂPÀy¿lÃÎñþ§s‹Ñ’ÚÏL– S·/|ÿ*ÏSˆÑå<"H¡¸Ã%G@6(ÜÅp‡ëm?yÂñ“C€Â+ùŸó(ÃB(>GDÊHWì'o¡©j©8IEND®B`‚heldercorreia-speedcrunch-ea93b21f9498/doc/build_html_embedded/de_DE/_static/jquery-1.11.1.js000066400000000000000000010502161301713744000314250ustar00rootroot00000000000000/*! * jQuery JavaScript Library v1.11.1 * http://jquery.com/ * * Includes Sizzle.js * http://sizzlejs.com/ * * Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors * Released under the MIT license * http://jquery.org/license * * Date: 2014-05-01T17:42Z */ (function( global, factory ) { if ( typeof module === "object" && typeof module.exports === "object" ) { // For CommonJS and CommonJS-like environments where a proper window is present, // execute the factory and get jQuery // For environments that do not inherently posses a window with a document // (such as Node.js), expose a jQuery-making factory as module.exports // This accentuates the need for the creation of a real window // e.g. var jQuery = require("jquery")(window); // See ticket #14549 for more info module.exports = global.document ? factory( global, true ) : function( w ) { if ( !w.document ) { throw new Error( "jQuery requires a window with a document" ); } return factory( w ); }; } else { factory( global ); } // Pass this if window is not defined yet }(typeof window !== "undefined" ? window : this, function( window, noGlobal ) { // Can't do this because several apps including ASP.NET trace // the stack via arguments.caller.callee and Firefox dies if // you try to trace through "use strict" call chains. (#13335) // Support: Firefox 18+ // var deletedIds = []; var slice = deletedIds.slice; var concat = deletedIds.concat; var push = deletedIds.push; var indexOf = deletedIds.indexOf; var class2type = {}; var toString = class2type.toString; var hasOwn = class2type.hasOwnProperty; var support = {}; var version = "1.11.1", // Define a local copy of jQuery jQuery = function( selector, context ) { // The jQuery object is actually just the init constructor 'enhanced' // Need init if jQuery is called (just allow error to be thrown if not included) return new jQuery.fn.init( selector, context ); }, // Support: Android<4.1, IE<9 // Make sure we trim BOM and NBSP rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, // Matches dashed string for camelizing rmsPrefix = /^-ms-/, rdashAlpha = /-([\da-z])/gi, // Used by jQuery.camelCase as callback to replace() fcamelCase = function( all, letter ) { return letter.toUpperCase(); }; jQuery.fn = jQuery.prototype = { // The current version of jQuery being used jquery: version, constructor: jQuery, // Start with an empty selector selector: "", // The default length of a jQuery object is 0 length: 0, toArray: function() { return slice.call( this ); }, // Get the Nth element in the matched element set OR // Get the whole matched element set as a clean array get: function( num ) { return num != null ? // Return just the one element from the set ( num < 0 ? this[ num + this.length ] : this[ num ] ) : // Return all the elements in a clean array slice.call( this ); }, // Take an array of elements and push it onto the stack // (returning the new matched element set) pushStack: function( elems ) { // Build a new jQuery matched element set var ret = jQuery.merge( this.constructor(), elems ); // Add the old object onto the stack (as a reference) ret.prevObject = this; ret.context = this.context; // Return the newly-formed element set return ret; }, // Execute a callback for every element in the matched set. // (You can seed the arguments with an array of args, but this is // only used internally.) each: function( callback, args ) { return jQuery.each( this, callback, args ); }, map: function( callback ) { return this.pushStack( jQuery.map(this, function( elem, i ) { return callback.call( elem, i, elem ); })); }, slice: function() { return this.pushStack( slice.apply( this, arguments ) ); }, first: function() { return this.eq( 0 ); }, last: function() { return this.eq( -1 ); }, eq: function( i ) { var len = this.length, j = +i + ( i < 0 ? len : 0 ); return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] ); }, end: function() { return this.prevObject || this.constructor(null); }, // For internal use only. // Behaves like an Array's method, not like a jQuery method. push: push, sort: deletedIds.sort, splice: deletedIds.splice }; jQuery.extend = jQuery.fn.extend = function() { var src, copyIsArray, copy, name, options, clone, target = arguments[0] || {}, i = 1, length = arguments.length, deep = false; // Handle a deep copy situation if ( typeof target === "boolean" ) { deep = target; // skip the boolean and the target target = arguments[ i ] || {}; i++; } // Handle case when target is a string or something (possible in deep copy) if ( typeof target !== "object" && !jQuery.isFunction(target) ) { target = {}; } // extend jQuery itself if only one argument is passed if ( i === length ) { target = this; i--; } for ( ; i < length; i++ ) { // Only deal with non-null/undefined values if ( (options = arguments[ i ]) != null ) { // Extend the base object for ( name in options ) { src = target[ name ]; copy = options[ name ]; // Prevent never-ending loop if ( target === copy ) { continue; } // Recurse if we're merging plain objects or arrays if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { if ( copyIsArray ) { copyIsArray = false; clone = src && jQuery.isArray(src) ? src : []; } else { clone = src && jQuery.isPlainObject(src) ? src : {}; } // Never move original objects, clone them target[ name ] = jQuery.extend( deep, clone, copy ); // Don't bring in undefined values } else if ( copy !== undefined ) { target[ name ] = copy; } } } } // Return the modified object return target; }; jQuery.extend({ // Unique for each copy of jQuery on the page expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), // Assume jQuery is ready without the ready module isReady: true, error: function( msg ) { throw new Error( msg ); }, noop: function() {}, // See test/unit/core.js for details concerning isFunction. // Since version 1.3, DOM methods and functions like alert // aren't supported. They return false on IE (#2968). isFunction: function( obj ) { return jQuery.type(obj) === "function"; }, isArray: Array.isArray || function( obj ) { return jQuery.type(obj) === "array"; }, isWindow: function( obj ) { /* jshint eqeqeq: false */ return obj != null && obj == obj.window; }, isNumeric: function( obj ) { // parseFloat NaNs numeric-cast false positives (null|true|false|"") // ...but misinterprets leading-number strings, particularly hex literals ("0x...") // subtraction forces infinities to NaN return !jQuery.isArray( obj ) && obj - parseFloat( obj ) >= 0; }, isEmptyObject: function( obj ) { var name; for ( name in obj ) { return false; } return true; }, isPlainObject: function( obj ) { var key; // Must be an Object. // Because of IE, we also have to check the presence of the constructor property. // Make sure that DOM nodes and window objects don't pass through, as well if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { return false; } try { // Not own constructor property must be Object if ( obj.constructor && !hasOwn.call(obj, "constructor") && !hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { return false; } } catch ( e ) { // IE8,9 Will throw exceptions on certain host objects #9897 return false; } // Support: IE<9 // Handle iteration over inherited properties before own properties. if ( support.ownLast ) { for ( key in obj ) { return hasOwn.call( obj, key ); } } // Own properties are enumerated firstly, so to speed up, // if last one is own, then all properties are own. for ( key in obj ) {} return key === undefined || hasOwn.call( obj, key ); }, type: function( obj ) { if ( obj == null ) { return obj + ""; } return typeof obj === "object" || typeof obj === "function" ? class2type[ toString.call(obj) ] || "object" : typeof obj; }, // Evaluates a script in a global context // Workarounds based on findings by Jim Driscoll // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context globalEval: function( data ) { if ( data && jQuery.trim( data ) ) { // We use execScript on Internet Explorer // We use an anonymous function so that context is window // rather than jQuery in Firefox ( window.execScript || function( data ) { window[ "eval" ].call( window, data ); } )( data ); } }, // Convert dashed to camelCase; used by the css and data modules // Microsoft forgot to hump their vendor prefix (#9572) camelCase: function( string ) { return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); }, nodeName: function( elem, name ) { return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); }, // args is for internal usage only each: function( obj, callback, args ) { var value, i = 0, length = obj.length, isArray = isArraylike( obj ); if ( args ) { if ( isArray ) { for ( ; i < length; i++ ) { value = callback.apply( obj[ i ], args ); if ( value === false ) { break; } } } else { for ( i in obj ) { value = callback.apply( obj[ i ], args ); if ( value === false ) { break; } } } // A special, fast, case for the most common use of each } else { if ( isArray ) { for ( ; i < length; i++ ) { value = callback.call( obj[ i ], i, obj[ i ] ); if ( value === false ) { break; } } } else { for ( i in obj ) { value = callback.call( obj[ i ], i, obj[ i ] ); if ( value === false ) { break; } } } } return obj; }, // Support: Android<4.1, IE<9 trim: function( text ) { return text == null ? "" : ( text + "" ).replace( rtrim, "" ); }, // results is for internal usage only makeArray: function( arr, results ) { var ret = results || []; if ( arr != null ) { if ( isArraylike( Object(arr) ) ) { jQuery.merge( ret, typeof arr === "string" ? [ arr ] : arr ); } else { push.call( ret, arr ); } } return ret; }, inArray: function( elem, arr, i ) { var len; if ( arr ) { if ( indexOf ) { return indexOf.call( arr, elem, i ); } len = arr.length; i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0; for ( ; i < len; i++ ) { // Skip accessing in sparse arrays if ( i in arr && arr[ i ] === elem ) { return i; } } } return -1; }, merge: function( first, second ) { var len = +second.length, j = 0, i = first.length; while ( j < len ) { first[ i++ ] = second[ j++ ]; } // Support: IE<9 // Workaround casting of .length to NaN on otherwise arraylike objects (e.g., NodeLists) if ( len !== len ) { while ( second[j] !== undefined ) { first[ i++ ] = second[ j++ ]; } } first.length = i; return first; }, grep: function( elems, callback, invert ) { var callbackInverse, matches = [], i = 0, length = elems.length, callbackExpect = !invert; // Go through the array, only saving the items // that pass the validator function for ( ; i < length; i++ ) { callbackInverse = !callback( elems[ i ], i ); if ( callbackInverse !== callbackExpect ) { matches.push( elems[ i ] ); } } return matches; }, // arg is for internal usage only map: function( elems, callback, arg ) { var value, i = 0, length = elems.length, isArray = isArraylike( elems ), ret = []; // Go through the array, translating each of the items to their new values if ( isArray ) { for ( ; i < length; i++ ) { value = callback( elems[ i ], i, arg ); if ( value != null ) { ret.push( value ); } } // Go through every key on the object, } else { for ( i in elems ) { value = callback( elems[ i ], i, arg ); if ( value != null ) { ret.push( value ); } } } // Flatten any nested arrays return concat.apply( [], ret ); }, // A global GUID counter for objects guid: 1, // Bind a function to a context, optionally partially applying any // arguments. proxy: function( fn, context ) { var args, proxy, tmp; if ( typeof context === "string" ) { tmp = fn[ context ]; context = fn; fn = tmp; } // Quick check to determine if target is callable, in the spec // this throws a TypeError, but we will just return undefined. if ( !jQuery.isFunction( fn ) ) { return undefined; } // Simulated bind args = slice.call( arguments, 2 ); proxy = function() { return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); }; // Set the guid of unique handler to the same of original handler, so it can be removed proxy.guid = fn.guid = fn.guid || jQuery.guid++; return proxy; }, now: function() { return +( new Date() ); }, // jQuery.support is not used in Core but other projects attach their // properties to it so it needs to exist. support: support }); // Populate the class2type map jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) { class2type[ "[object " + name + "]" ] = name.toLowerCase(); }); function isArraylike( obj ) { var length = obj.length, type = jQuery.type( obj ); if ( type === "function" || jQuery.isWindow( obj ) ) { return false; } if ( obj.nodeType === 1 && length ) { return true; } return type === "array" || length === 0 || typeof length === "number" && length > 0 && ( length - 1 ) in obj; } var Sizzle = /*! * Sizzle CSS Selector Engine v1.10.19 * http://sizzlejs.com/ * * Copyright 2013 jQuery Foundation, Inc. and other contributors * Released under the MIT license * http://jquery.org/license * * Date: 2014-04-18 */ (function( window ) { var i, support, Expr, getText, isXML, tokenize, compile, select, outermostContext, sortInput, hasDuplicate, // Local document vars setDocument, document, docElem, documentIsHTML, rbuggyQSA, rbuggyMatches, matches, contains, // Instance-specific data expando = "sizzle" + -(new Date()), preferredDoc = window.document, dirruns = 0, done = 0, classCache = createCache(), tokenCache = createCache(), compilerCache = createCache(), sortOrder = function( a, b ) { if ( a === b ) { hasDuplicate = true; } return 0; }, // General-purpose constants strundefined = typeof undefined, MAX_NEGATIVE = 1 << 31, // Instance methods hasOwn = ({}).hasOwnProperty, arr = [], pop = arr.pop, push_native = arr.push, push = arr.push, slice = arr.slice, // Use a stripped-down indexOf if we can't use a native one indexOf = arr.indexOf || function( elem ) { var i = 0, len = this.length; for ( ; i < len; i++ ) { if ( this[i] === elem ) { return i; } } return -1; }, booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", // Regular expressions // Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace whitespace = "[\\x20\\t\\r\\n\\f]", // http://www.w3.org/TR/css3-syntax/#characters characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", // Loosely modeled on CSS identifier characters // An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors // Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier identifier = characterEncoding.replace( "w", "w#" ), // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors attributes = "\\[" + whitespace + "*(" + characterEncoding + ")(?:" + whitespace + // Operator (capture 2) "*([*^$|!~]?=)" + whitespace + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + "*\\]", pseudos = ":(" + characterEncoding + ")(?:\\((" + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: // 1. quoted (capture 3; capture 4 or capture 5) "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + // 2. simple (capture 6) "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + // 3. anything else (capture 2) ".*" + ")\\)|)", // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), rpseudo = new RegExp( pseudos ), ridentifier = new RegExp( "^" + identifier + "$" ), matchExpr = { "ID": new RegExp( "^#(" + characterEncoding + ")" ), "CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ), "TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*" ) + ")" ), "ATTR": new RegExp( "^" + attributes ), "PSEUDO": new RegExp( "^" + pseudos ), "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), // For use in libraries implementing .is() // We use this for POS matching in `select` "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) }, rinputs = /^(?:input|select|textarea|button)$/i, rheader = /^h\d$/i, rnative = /^[^{]+\{\s*\[native \w/, // Easily-parseable/retrievable ID or TAG or CLASS selectors rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, rsibling = /[+~]/, rescape = /'|\\/g, // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), funescape = function( _, escaped, escapedWhitespace ) { var high = "0x" + escaped - 0x10000; // NaN means non-codepoint // Support: Firefox<24 // Workaround erroneous numeric interpretation of +"0x" return high !== high || escapedWhitespace ? escaped : high < 0 ? // BMP codepoint String.fromCharCode( high + 0x10000 ) : // Supplemental Plane codepoint (surrogate pair) String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); }; // Optimize for push.apply( _, NodeList ) try { push.apply( (arr = slice.call( preferredDoc.childNodes )), preferredDoc.childNodes ); // Support: Android<4.0 // Detect silently failing push.apply arr[ preferredDoc.childNodes.length ].nodeType; } catch ( e ) { push = { apply: arr.length ? // Leverage slice if possible function( target, els ) { push_native.apply( target, slice.call(els) ); } : // Support: IE<9 // Otherwise append directly function( target, els ) { var j = target.length, i = 0; // Can't trust NodeList.length while ( (target[j++] = els[i++]) ) {} target.length = j - 1; } }; } function Sizzle( selector, context, results, seed ) { var match, elem, m, nodeType, // QSA vars i, groups, old, nid, newContext, newSelector; if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { setDocument( context ); } context = context || document; results = results || []; if ( !selector || typeof selector !== "string" ) { return results; } if ( (nodeType = context.nodeType) !== 1 && nodeType !== 9 ) { return []; } if ( documentIsHTML && !seed ) { // Shortcuts if ( (match = rquickExpr.exec( selector )) ) { // Speed-up: Sizzle("#ID") if ( (m = match[1]) ) { if ( nodeType === 9 ) { elem = context.getElementById( m ); // Check parentNode to catch when Blackberry 4.6 returns // nodes that are no longer in the document (jQuery #6963) if ( elem && elem.parentNode ) { // Handle the case where IE, Opera, and Webkit return items // by name instead of ID if ( elem.id === m ) { results.push( elem ); return results; } } else { return results; } } else { // Context is not a document if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) && contains( context, elem ) && elem.id === m ) { results.push( elem ); return results; } } // Speed-up: Sizzle("TAG") } else if ( match[2] ) { push.apply( results, context.getElementsByTagName( selector ) ); return results; // Speed-up: Sizzle(".CLASS") } else if ( (m = match[3]) && support.getElementsByClassName && context.getElementsByClassName ) { push.apply( results, context.getElementsByClassName( m ) ); return results; } } // QSA path if ( support.qsa && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { nid = old = expando; newContext = context; newSelector = nodeType === 9 && selector; // qSA works strangely on Element-rooted queries // We can work around this by specifying an extra ID on the root // and working up from there (Thanks to Andrew Dupont for the technique) // IE 8 doesn't work on object elements if ( nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { groups = tokenize( selector ); if ( (old = context.getAttribute("id")) ) { nid = old.replace( rescape, "\\$&" ); } else { context.setAttribute( "id", nid ); } nid = "[id='" + nid + "'] "; i = groups.length; while ( i-- ) { groups[i] = nid + toSelector( groups[i] ); } newContext = rsibling.test( selector ) && testContext( context.parentNode ) || context; newSelector = groups.join(","); } if ( newSelector ) { try { push.apply( results, newContext.querySelectorAll( newSelector ) ); return results; } catch(qsaError) { } finally { if ( !old ) { context.removeAttribute("id"); } } } } } // All others return select( selector.replace( rtrim, "$1" ), context, results, seed ); } /** * Create key-value caches of limited size * @returns {Function(string, Object)} Returns the Object data after storing it on itself with * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) * deleting the oldest entry */ function createCache() { var keys = []; function cache( key, value ) { // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) if ( keys.push( key + " " ) > Expr.cacheLength ) { // Only keep the most recent entries delete cache[ keys.shift() ]; } return (cache[ key + " " ] = value); } return cache; } /** * Mark a function for special use by Sizzle * @param {Function} fn The function to mark */ function markFunction( fn ) { fn[ expando ] = true; return fn; } /** * Support testing using an element * @param {Function} fn Passed the created div and expects a boolean result */ function assert( fn ) { var div = document.createElement("div"); try { return !!fn( div ); } catch (e) { return false; } finally { // Remove from its parent by default if ( div.parentNode ) { div.parentNode.removeChild( div ); } // release memory in IE div = null; } } /** * Adds the same handler for all of the specified attrs * @param {String} attrs Pipe-separated list of attributes * @param {Function} handler The method that will be applied */ function addHandle( attrs, handler ) { var arr = attrs.split("|"), i = attrs.length; while ( i-- ) { Expr.attrHandle[ arr[i] ] = handler; } } /** * Checks document order of two siblings * @param {Element} a * @param {Element} b * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b */ function siblingCheck( a, b ) { var cur = b && a, diff = cur && a.nodeType === 1 && b.nodeType === 1 && ( ~b.sourceIndex || MAX_NEGATIVE ) - ( ~a.sourceIndex || MAX_NEGATIVE ); // Use IE sourceIndex if available on both nodes if ( diff ) { return diff; } // Check if b follows a if ( cur ) { while ( (cur = cur.nextSibling) ) { if ( cur === b ) { return -1; } } } return a ? 1 : -1; } /** * Returns a function to use in pseudos for input types * @param {String} type */ function createInputPseudo( type ) { return function( elem ) { var name = elem.nodeName.toLowerCase(); return name === "input" && elem.type === type; }; } /** * Returns a function to use in pseudos for buttons * @param {String} type */ function createButtonPseudo( type ) { return function( elem ) { var name = elem.nodeName.toLowerCase(); return (name === "input" || name === "button") && elem.type === type; }; } /** * Returns a function to use in pseudos for positionals * @param {Function} fn */ function createPositionalPseudo( fn ) { return markFunction(function( argument ) { argument = +argument; return markFunction(function( seed, matches ) { var j, matchIndexes = fn( [], seed.length, argument ), i = matchIndexes.length; // Match elements found at the specified indexes while ( i-- ) { if ( seed[ (j = matchIndexes[i]) ] ) { seed[j] = !(matches[j] = seed[j]); } } }); }); } /** * Checks a node for validity as a Sizzle context * @param {Element|Object=} context * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value */ function testContext( context ) { return context && typeof context.getElementsByTagName !== strundefined && context; } // Expose support vars for convenience support = Sizzle.support = {}; /** * Detects XML nodes * @param {Element|Object} elem An element or a document * @returns {Boolean} True iff elem is a non-HTML XML node */ isXML = Sizzle.isXML = function( elem ) { // documentElement is verified for cases where it doesn't yet exist // (such as loading iframes in IE - #4833) var documentElement = elem && (elem.ownerDocument || elem).documentElement; return documentElement ? documentElement.nodeName !== "HTML" : false; }; /** * Sets document-related variables once based on the current document * @param {Element|Object} [doc] An element or document object to use to set the document * @returns {Object} Returns the current document */ setDocument = Sizzle.setDocument = function( node ) { var hasCompare, doc = node ? node.ownerDocument || node : preferredDoc, parent = doc.defaultView; // If no document and documentElement is available, return if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { return document; } // Set our document document = doc; docElem = doc.documentElement; // Support tests documentIsHTML = !isXML( doc ); // Support: IE>8 // If iframe document is assigned to "document" variable and if iframe has been reloaded, // IE will throw "permission denied" error when accessing "document" variable, see jQuery #13936 // IE6-8 do not support the defaultView property so parent will be undefined if ( parent && parent !== parent.top ) { // IE11 does not have attachEvent, so all must suffer if ( parent.addEventListener ) { parent.addEventListener( "unload", function() { setDocument(); }, false ); } else if ( parent.attachEvent ) { parent.attachEvent( "onunload", function() { setDocument(); }); } } /* Attributes ---------------------------------------------------------------------- */ // Support: IE<8 // Verify that getAttribute really returns attributes and not properties (excepting IE8 booleans) support.attributes = assert(function( div ) { div.className = "i"; return !div.getAttribute("className"); }); /* getElement(s)By* ---------------------------------------------------------------------- */ // Check if getElementsByTagName("*") returns only elements support.getElementsByTagName = assert(function( div ) { div.appendChild( doc.createComment("") ); return !div.getElementsByTagName("*").length; }); // Check if getElementsByClassName can be trusted support.getElementsByClassName = rnative.test( doc.getElementsByClassName ) && assert(function( div ) { div.innerHTML = "
"; // Support: Safari<4 // Catch class over-caching div.firstChild.className = "i"; // Support: Opera<10 // Catch gEBCN failure to find non-leading classes return div.getElementsByClassName("i").length === 2; }); // Support: IE<10 // Check if getElementById returns elements by name // The broken getElementById methods don't pick up programatically-set names, // so use a roundabout getElementsByName test support.getById = assert(function( div ) { docElem.appendChild( div ).id = expando; return !doc.getElementsByName || !doc.getElementsByName( expando ).length; }); // ID find and filter if ( support.getById ) { Expr.find["ID"] = function( id, context ) { if ( typeof context.getElementById !== strundefined && documentIsHTML ) { var m = context.getElementById( id ); // Check parentNode to catch when Blackberry 4.6 returns // nodes that are no longer in the document #6963 return m && m.parentNode ? [ m ] : []; } }; Expr.filter["ID"] = function( id ) { var attrId = id.replace( runescape, funescape ); return function( elem ) { return elem.getAttribute("id") === attrId; }; }; } else { // Support: IE6/7 // getElementById is not reliable as a find shortcut delete Expr.find["ID"]; Expr.filter["ID"] = function( id ) { var attrId = id.replace( runescape, funescape ); return function( elem ) { var node = typeof elem.getAttributeNode !== strundefined && elem.getAttributeNode("id"); return node && node.value === attrId; }; }; } // Tag Expr.find["TAG"] = support.getElementsByTagName ? function( tag, context ) { if ( typeof context.getElementsByTagName !== strundefined ) { return context.getElementsByTagName( tag ); } } : function( tag, context ) { var elem, tmp = [], i = 0, results = context.getElementsByTagName( tag ); // Filter out possible comments if ( tag === "*" ) { while ( (elem = results[i++]) ) { if ( elem.nodeType === 1 ) { tmp.push( elem ); } } return tmp; } return results; }; // Class Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { if ( typeof context.getElementsByClassName !== strundefined && documentIsHTML ) { return context.getElementsByClassName( className ); } }; /* QSA/matchesSelector ---------------------------------------------------------------------- */ // QSA and matchesSelector support // matchesSelector(:active) reports false when true (IE9/Opera 11.5) rbuggyMatches = []; // qSa(:focus) reports false when true (Chrome 21) // We allow this because of a bug in IE8/9 that throws an error // whenever `document.activeElement` is accessed on an iframe // So, we allow :focus to pass through QSA all the time to avoid the IE error // See http://bugs.jquery.com/ticket/13378 rbuggyQSA = []; if ( (support.qsa = rnative.test( doc.querySelectorAll )) ) { // Build QSA regex // Regex strategy adopted from Diego Perini assert(function( div ) { // Select is set to empty string on purpose // This is to test IE's treatment of not explicitly // setting a boolean content attribute, // since its presence should be enough // http://bugs.jquery.com/ticket/12359 div.innerHTML = ""; // Support: IE8, Opera 11-12.16 // Nothing should be selected when empty strings follow ^= or $= or *= // The test attribute must be unknown in Opera but "safe" for WinRT // http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section if ( div.querySelectorAll("[msallowclip^='']").length ) { rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); } // Support: IE8 // Boolean attributes and "value" are not treated correctly if ( !div.querySelectorAll("[selected]").length ) { rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); } // Webkit/Opera - :checked should return selected option elements // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked // IE8 throws error here and will not see later tests if ( !div.querySelectorAll(":checked").length ) { rbuggyQSA.push(":checked"); } }); assert(function( div ) { // Support: Windows 8 Native Apps // The type and name attributes are restricted during .innerHTML assignment var input = doc.createElement("input"); input.setAttribute( "type", "hidden" ); div.appendChild( input ).setAttribute( "name", "D" ); // Support: IE8 // Enforce case-sensitivity of name attribute if ( div.querySelectorAll("[name=d]").length ) { rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); } // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) // IE8 throws error here and will not see later tests if ( !div.querySelectorAll(":enabled").length ) { rbuggyQSA.push( ":enabled", ":disabled" ); } // Opera 10-11 does not throw on post-comma invalid pseudos div.querySelectorAll("*,:x"); rbuggyQSA.push(",.*:"); }); } if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || docElem.webkitMatchesSelector || docElem.mozMatchesSelector || docElem.oMatchesSelector || docElem.msMatchesSelector) )) ) { assert(function( div ) { // Check to see if it's possible to do matchesSelector // on a disconnected node (IE 9) support.disconnectedMatch = matches.call( div, "div" ); // This should fail with an exception // Gecko does not error, returns false instead matches.call( div, "[s!='']:x" ); rbuggyMatches.push( "!=", pseudos ); }); } rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); /* Contains ---------------------------------------------------------------------- */ hasCompare = rnative.test( docElem.compareDocumentPosition ); // Element contains another // Purposefully does not implement inclusive descendent // As in, an element does not contain itself contains = hasCompare || rnative.test( docElem.contains ) ? function( a, b ) { var adown = a.nodeType === 9 ? a.documentElement : a, bup = b && b.parentNode; return a === bup || !!( bup && bup.nodeType === 1 && ( adown.contains ? adown.contains( bup ) : a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 )); } : function( a, b ) { if ( b ) { while ( (b = b.parentNode) ) { if ( b === a ) { return true; } } } return false; }; /* Sorting ---------------------------------------------------------------------- */ // Document order sorting sortOrder = hasCompare ? function( a, b ) { // Flag for duplicate removal if ( a === b ) { hasDuplicate = true; return 0; } // Sort on method existence if only one input has compareDocumentPosition var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; if ( compare ) { return compare; } // Calculate position if both inputs belong to the same document compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? a.compareDocumentPosition( b ) : // Otherwise we know they are disconnected 1; // Disconnected nodes if ( compare & 1 || (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { // Choose the first element that is related to our preferred document if ( a === doc || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { return -1; } if ( b === doc || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { return 1; } // Maintain original order return sortInput ? ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : 0; } return compare & 4 ? -1 : 1; } : function( a, b ) { // Exit early if the nodes are identical if ( a === b ) { hasDuplicate = true; return 0; } var cur, i = 0, aup = a.parentNode, bup = b.parentNode, ap = [ a ], bp = [ b ]; // Parentless nodes are either documents or disconnected if ( !aup || !bup ) { return a === doc ? -1 : b === doc ? 1 : aup ? -1 : bup ? 1 : sortInput ? ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : 0; // If the nodes are siblings, we can do a quick check } else if ( aup === bup ) { return siblingCheck( a, b ); } // Otherwise we need full lists of their ancestors for comparison cur = a; while ( (cur = cur.parentNode) ) { ap.unshift( cur ); } cur = b; while ( (cur = cur.parentNode) ) { bp.unshift( cur ); } // Walk down the tree looking for a discrepancy while ( ap[i] === bp[i] ) { i++; } return i ? // Do a sibling check if the nodes have a common ancestor siblingCheck( ap[i], bp[i] ) : // Otherwise nodes in our document sort first ap[i] === preferredDoc ? -1 : bp[i] === preferredDoc ? 1 : 0; }; return doc; }; Sizzle.matches = function( expr, elements ) { return Sizzle( expr, null, null, elements ); }; Sizzle.matchesSelector = function( elem, expr ) { // Set document vars if needed if ( ( elem.ownerDocument || elem ) !== document ) { setDocument( elem ); } // Make sure that attribute selectors are quoted expr = expr.replace( rattributeQuotes, "='$1']" ); if ( support.matchesSelector && documentIsHTML && ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { try { var ret = matches.call( elem, expr ); // IE 9's matchesSelector returns false on disconnected nodes if ( ret || support.disconnectedMatch || // As well, disconnected nodes are said to be in a document // fragment in IE 9 elem.document && elem.document.nodeType !== 11 ) { return ret; } } catch(e) {} } return Sizzle( expr, document, null, [ elem ] ).length > 0; }; Sizzle.contains = function( context, elem ) { // Set document vars if needed if ( ( context.ownerDocument || context ) !== document ) { setDocument( context ); } return contains( context, elem ); }; Sizzle.attr = function( elem, name ) { // Set document vars if needed if ( ( elem.ownerDocument || elem ) !== document ) { setDocument( elem ); } var fn = Expr.attrHandle[ name.toLowerCase() ], // Don't get fooled by Object.prototype properties (jQuery #13807) val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? fn( elem, name, !documentIsHTML ) : undefined; return val !== undefined ? val : support.attributes || !documentIsHTML ? elem.getAttribute( name ) : (val = elem.getAttributeNode(name)) && val.specified ? val.value : null; }; Sizzle.error = function( msg ) { throw new Error( "Syntax error, unrecognized expression: " + msg ); }; /** * Document sorting and removing duplicates * @param {ArrayLike} results */ Sizzle.uniqueSort = function( results ) { var elem, duplicates = [], j = 0, i = 0; // Unless we *know* we can detect duplicates, assume their presence hasDuplicate = !support.detectDuplicates; sortInput = !support.sortStable && results.slice( 0 ); results.sort( sortOrder ); if ( hasDuplicate ) { while ( (elem = results[i++]) ) { if ( elem === results[ i ] ) { j = duplicates.push( i ); } } while ( j-- ) { results.splice( duplicates[ j ], 1 ); } } // Clear input after sorting to release objects // See https://github.com/jquery/sizzle/pull/225 sortInput = null; return results; }; /** * Utility function for retrieving the text value of an array of DOM nodes * @param {Array|Element} elem */ getText = Sizzle.getText = function( elem ) { var node, ret = "", i = 0, nodeType = elem.nodeType; if ( !nodeType ) { // If no nodeType, this is expected to be an array while ( (node = elem[i++]) ) { // Do not traverse comment nodes ret += getText( node ); } } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { // Use textContent for elements // innerText usage removed for consistency of new lines (jQuery #11153) if ( typeof elem.textContent === "string" ) { return elem.textContent; } else { // Traverse its children for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { ret += getText( elem ); } } } else if ( nodeType === 3 || nodeType === 4 ) { return elem.nodeValue; } // Do not include comment or processing instruction nodes return ret; }; Expr = Sizzle.selectors = { // Can be adjusted by the user cacheLength: 50, createPseudo: markFunction, match: matchExpr, attrHandle: {}, find: {}, relative: { ">": { dir: "parentNode", first: true }, " ": { dir: "parentNode" }, "+": { dir: "previousSibling", first: true }, "~": { dir: "previousSibling" } }, preFilter: { "ATTR": function( match ) { match[1] = match[1].replace( runescape, funescape ); // Move the given value to match[3] whether quoted or unquoted match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); if ( match[2] === "~=" ) { match[3] = " " + match[3] + " "; } return match.slice( 0, 4 ); }, "CHILD": function( match ) { /* matches from matchExpr["CHILD"] 1 type (only|nth|...) 2 what (child|of-type) 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) 4 xn-component of xn+y argument ([+-]?\d*n|) 5 sign of xn-component 6 x of xn-component 7 sign of y-component 8 y of y-component */ match[1] = match[1].toLowerCase(); if ( match[1].slice( 0, 3 ) === "nth" ) { // nth-* requires argument if ( !match[3] ) { Sizzle.error( match[0] ); } // numeric x and y parameters for Expr.filter.CHILD // remember that false/true cast respectively to 0/1 match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); // other types prohibit arguments } else if ( match[3] ) { Sizzle.error( match[0] ); } return match; }, "PSEUDO": function( match ) { var excess, unquoted = !match[6] && match[2]; if ( matchExpr["CHILD"].test( match[0] ) ) { return null; } // Accept quoted arguments as-is if ( match[3] ) { match[2] = match[4] || match[5] || ""; // Strip excess characters from unquoted arguments } else if ( unquoted && rpseudo.test( unquoted ) && // Get excess from tokenize (recursively) (excess = tokenize( unquoted, true )) && // advance to the next closing parenthesis (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { // excess is a negative index match[0] = match[0].slice( 0, excess ); match[2] = unquoted.slice( 0, excess ); } // Return only captures needed by the pseudo filter method (type and argument) return match.slice( 0, 3 ); } }, filter: { "TAG": function( nodeNameSelector ) { var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); return nodeNameSelector === "*" ? function() { return true; } : function( elem ) { return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; }; }, "CLASS": function( className ) { var pattern = classCache[ className + " " ]; return pattern || (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && classCache( className, function( elem ) { return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== strundefined && elem.getAttribute("class") || "" ); }); }, "ATTR": function( name, operator, check ) { return function( elem ) { var result = Sizzle.attr( elem, name ); if ( result == null ) { return operator === "!="; } if ( !operator ) { return true; } result += ""; return operator === "=" ? result === check : operator === "!=" ? result !== check : operator === "^=" ? check && result.indexOf( check ) === 0 : operator === "*=" ? check && result.indexOf( check ) > -1 : operator === "$=" ? check && result.slice( -check.length ) === check : operator === "~=" ? ( " " + result + " " ).indexOf( check ) > -1 : operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : false; }; }, "CHILD": function( type, what, argument, first, last ) { var simple = type.slice( 0, 3 ) !== "nth", forward = type.slice( -4 ) !== "last", ofType = what === "of-type"; return first === 1 && last === 0 ? // Shortcut for :nth-*(n) function( elem ) { return !!elem.parentNode; } : function( elem, context, xml ) { var cache, outerCache, node, diff, nodeIndex, start, dir = simple !== forward ? "nextSibling" : "previousSibling", parent = elem.parentNode, name = ofType && elem.nodeName.toLowerCase(), useCache = !xml && !ofType; if ( parent ) { // :(first|last|only)-(child|of-type) if ( simple ) { while ( dir ) { node = elem; while ( (node = node[ dir ]) ) { if ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) { return false; } } // Reverse direction for :only-* (if we haven't yet done so) start = dir = type === "only" && !start && "nextSibling"; } return true; } start = [ forward ? parent.firstChild : parent.lastChild ]; // non-xml :nth-child(...) stores cache data on `parent` if ( forward && useCache ) { // Seek `elem` from a previously-cached index outerCache = parent[ expando ] || (parent[ expando ] = {}); cache = outerCache[ type ] || []; nodeIndex = cache[0] === dirruns && cache[1]; diff = cache[0] === dirruns && cache[2]; node = nodeIndex && parent.childNodes[ nodeIndex ]; while ( (node = ++nodeIndex && node && node[ dir ] || // Fallback to seeking `elem` from the start (diff = nodeIndex = 0) || start.pop()) ) { // When found, cache indexes on `parent` and break if ( node.nodeType === 1 && ++diff && node === elem ) { outerCache[ type ] = [ dirruns, nodeIndex, diff ]; break; } } // Use previously-cached element index if available } else if ( useCache && (cache = (elem[ expando ] || (elem[ expando ] = {}))[ type ]) && cache[0] === dirruns ) { diff = cache[1]; // xml :nth-child(...) or :nth-last-child(...) or :nth(-last)?-of-type(...) } else { // Use the same loop as above to seek `elem` from the start while ( (node = ++nodeIndex && node && node[ dir ] || (diff = nodeIndex = 0) || start.pop()) ) { if ( ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) && ++diff ) { // Cache the index of each encountered element if ( useCache ) { (node[ expando ] || (node[ expando ] = {}))[ type ] = [ dirruns, diff ]; } if ( node === elem ) { break; } } } } // Incorporate the offset, then check against cycle size diff -= last; return diff === first || ( diff % first === 0 && diff / first >= 0 ); } }; }, "PSEUDO": function( pseudo, argument ) { // pseudo-class names are case-insensitive // http://www.w3.org/TR/selectors/#pseudo-classes // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters // Remember that setFilters inherits from pseudos var args, fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || Sizzle.error( "unsupported pseudo: " + pseudo ); // The user may use createPseudo to indicate that // arguments are needed to create the filter function // just as Sizzle does if ( fn[ expando ] ) { return fn( argument ); } // But maintain support for old signatures if ( fn.length > 1 ) { args = [ pseudo, pseudo, "", argument ]; return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? markFunction(function( seed, matches ) { var idx, matched = fn( seed, argument ), i = matched.length; while ( i-- ) { idx = indexOf.call( seed, matched[i] ); seed[ idx ] = !( matches[ idx ] = matched[i] ); } }) : function( elem ) { return fn( elem, 0, args ); }; } return fn; } }, pseudos: { // Potentially complex pseudos "not": markFunction(function( selector ) { // Trim the selector passed to compile // to avoid treating leading and trailing // spaces as combinators var input = [], results = [], matcher = compile( selector.replace( rtrim, "$1" ) ); return matcher[ expando ] ? markFunction(function( seed, matches, context, xml ) { var elem, unmatched = matcher( seed, null, xml, [] ), i = seed.length; // Match elements unmatched by `matcher` while ( i-- ) { if ( (elem = unmatched[i]) ) { seed[i] = !(matches[i] = elem); } } }) : function( elem, context, xml ) { input[0] = elem; matcher( input, null, xml, results ); return !results.pop(); }; }), "has": markFunction(function( selector ) { return function( elem ) { return Sizzle( selector, elem ).length > 0; }; }), "contains": markFunction(function( text ) { return function( elem ) { return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; }; }), // "Whether an element is represented by a :lang() selector // is based solely on the element's language value // being equal to the identifier C, // or beginning with the identifier C immediately followed by "-". // The matching of C against the element's language value is performed case-insensitively. // The identifier C does not have to be a valid language name." // http://www.w3.org/TR/selectors/#lang-pseudo "lang": markFunction( function( lang ) { // lang value must be a valid identifier if ( !ridentifier.test(lang || "") ) { Sizzle.error( "unsupported lang: " + lang ); } lang = lang.replace( runescape, funescape ).toLowerCase(); return function( elem ) { var elemLang; do { if ( (elemLang = documentIsHTML ? elem.lang : elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { elemLang = elemLang.toLowerCase(); return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; } } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); return false; }; }), // Miscellaneous "target": function( elem ) { var hash = window.location && window.location.hash; return hash && hash.slice( 1 ) === elem.id; }, "root": function( elem ) { return elem === docElem; }, "focus": function( elem ) { return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); }, // Boolean properties "enabled": function( elem ) { return elem.disabled === false; }, "disabled": function( elem ) { return elem.disabled === true; }, "checked": function( elem ) { // In CSS3, :checked should return both checked and selected elements // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked var nodeName = elem.nodeName.toLowerCase(); return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); }, "selected": function( elem ) { // Accessing this property makes selected-by-default // options in Safari work properly if ( elem.parentNode ) { elem.parentNode.selectedIndex; } return elem.selected === true; }, // Contents "empty": function( elem ) { // http://www.w3.org/TR/selectors/#empty-pseudo // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), // but not by others (comment: 8; processing instruction: 7; etc.) // nodeType < 6 works because attributes (2) do not appear as children for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { if ( elem.nodeType < 6 ) { return false; } } return true; }, "parent": function( elem ) { return !Expr.pseudos["empty"]( elem ); }, // Element/input types "header": function( elem ) { return rheader.test( elem.nodeName ); }, "input": function( elem ) { return rinputs.test( elem.nodeName ); }, "button": function( elem ) { var name = elem.nodeName.toLowerCase(); return name === "input" && elem.type === "button" || name === "button"; }, "text": function( elem ) { var attr; return elem.nodeName.toLowerCase() === "input" && elem.type === "text" && // Support: IE<8 // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); }, // Position-in-collection "first": createPositionalPseudo(function() { return [ 0 ]; }), "last": createPositionalPseudo(function( matchIndexes, length ) { return [ length - 1 ]; }), "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { return [ argument < 0 ? argument + length : argument ]; }), "even": createPositionalPseudo(function( matchIndexes, length ) { var i = 0; for ( ; i < length; i += 2 ) { matchIndexes.push( i ); } return matchIndexes; }), "odd": createPositionalPseudo(function( matchIndexes, length ) { var i = 1; for ( ; i < length; i += 2 ) { matchIndexes.push( i ); } return matchIndexes; }), "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { var i = argument < 0 ? argument + length : argument; for ( ; --i >= 0; ) { matchIndexes.push( i ); } return matchIndexes; }), "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { var i = argument < 0 ? argument + length : argument; for ( ; ++i < length; ) { matchIndexes.push( i ); } return matchIndexes; }) } }; Expr.pseudos["nth"] = Expr.pseudos["eq"]; // Add button/input type pseudos for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { Expr.pseudos[ i ] = createInputPseudo( i ); } for ( i in { submit: true, reset: true } ) { Expr.pseudos[ i ] = createButtonPseudo( i ); } // Easy API for creating new setFilters function setFilters() {} setFilters.prototype = Expr.filters = Expr.pseudos; Expr.setFilters = new setFilters(); tokenize = Sizzle.tokenize = function( selector, parseOnly ) { var matched, match, tokens, type, soFar, groups, preFilters, cached = tokenCache[ selector + " " ]; if ( cached ) { return parseOnly ? 0 : cached.slice( 0 ); } soFar = selector; groups = []; preFilters = Expr.preFilter; while ( soFar ) { // Comma and first run if ( !matched || (match = rcomma.exec( soFar )) ) { if ( match ) { // Don't consume trailing commas as valid soFar = soFar.slice( match[0].length ) || soFar; } groups.push( (tokens = []) ); } matched = false; // Combinators if ( (match = rcombinators.exec( soFar )) ) { matched = match.shift(); tokens.push({ value: matched, // Cast descendant combinators to space type: match[0].replace( rtrim, " " ) }); soFar = soFar.slice( matched.length ); } // Filters for ( type in Expr.filter ) { if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || (match = preFilters[ type ]( match ))) ) { matched = match.shift(); tokens.push({ value: matched, type: type, matches: match }); soFar = soFar.slice( matched.length ); } } if ( !matched ) { break; } } // Return the length of the invalid excess // if we're just parsing // Otherwise, throw an error or return tokens return parseOnly ? soFar.length : soFar ? Sizzle.error( selector ) : // Cache the tokens tokenCache( selector, groups ).slice( 0 ); }; function toSelector( tokens ) { var i = 0, len = tokens.length, selector = ""; for ( ; i < len; i++ ) { selector += tokens[i].value; } return selector; } function addCombinator( matcher, combinator, base ) { var dir = combinator.dir, checkNonElements = base && dir === "parentNode", doneName = done++; return combinator.first ? // Check against closest ancestor/preceding element function( elem, context, xml ) { while ( (elem = elem[ dir ]) ) { if ( elem.nodeType === 1 || checkNonElements ) { return matcher( elem, context, xml ); } } } : // Check against all ancestor/preceding elements function( elem, context, xml ) { var oldCache, outerCache, newCache = [ dirruns, doneName ]; // We can't set arbitrary data on XML nodes, so they don't benefit from dir caching if ( xml ) { while ( (elem = elem[ dir ]) ) { if ( elem.nodeType === 1 || checkNonElements ) { if ( matcher( elem, context, xml ) ) { return true; } } } } else { while ( (elem = elem[ dir ]) ) { if ( elem.nodeType === 1 || checkNonElements ) { outerCache = elem[ expando ] || (elem[ expando ] = {}); if ( (oldCache = outerCache[ dir ]) && oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { // Assign to newCache so results back-propagate to previous elements return (newCache[ 2 ] = oldCache[ 2 ]); } else { // Reuse newcache so results back-propagate to previous elements outerCache[ dir ] = newCache; // A match means we're done; a fail means we have to keep checking if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { return true; } } } } } }; } function elementMatcher( matchers ) { return matchers.length > 1 ? function( elem, context, xml ) { var i = matchers.length; while ( i-- ) { if ( !matchers[i]( elem, context, xml ) ) { return false; } } return true; } : matchers[0]; } function multipleContexts( selector, contexts, results ) { var i = 0, len = contexts.length; for ( ; i < len; i++ ) { Sizzle( selector, contexts[i], results ); } return results; } function condense( unmatched, map, filter, context, xml ) { var elem, newUnmatched = [], i = 0, len = unmatched.length, mapped = map != null; for ( ; i < len; i++ ) { if ( (elem = unmatched[i]) ) { if ( !filter || filter( elem, context, xml ) ) { newUnmatched.push( elem ); if ( mapped ) { map.push( i ); } } } } return newUnmatched; } function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { if ( postFilter && !postFilter[ expando ] ) { postFilter = setMatcher( postFilter ); } if ( postFinder && !postFinder[ expando ] ) { postFinder = setMatcher( postFinder, postSelector ); } return markFunction(function( seed, results, context, xml ) { var temp, i, elem, preMap = [], postMap = [], preexisting = results.length, // Get initial elements from seed or context elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), // Prefilter to get matcher input, preserving a map for seed-results synchronization matcherIn = preFilter && ( seed || !selector ) ? condense( elems, preMap, preFilter, context, xml ) : elems, matcherOut = matcher ? // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, postFinder || ( seed ? preFilter : preexisting || postFilter ) ? // ...intermediate processing is necessary [] : // ...otherwise use results directly results : matcherIn; // Find primary matches if ( matcher ) { matcher( matcherIn, matcherOut, context, xml ); } // Apply postFilter if ( postFilter ) { temp = condense( matcherOut, postMap ); postFilter( temp, [], context, xml ); // Un-match failing elements by moving them back to matcherIn i = temp.length; while ( i-- ) { if ( (elem = temp[i]) ) { matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); } } } if ( seed ) { if ( postFinder || preFilter ) { if ( postFinder ) { // Get the final matcherOut by condensing this intermediate into postFinder contexts temp = []; i = matcherOut.length; while ( i-- ) { if ( (elem = matcherOut[i]) ) { // Restore matcherIn since elem is not yet a final match temp.push( (matcherIn[i] = elem) ); } } postFinder( null, (matcherOut = []), temp, xml ); } // Move matched elements from seed to results to keep them synchronized i = matcherOut.length; while ( i-- ) { if ( (elem = matcherOut[i]) && (temp = postFinder ? indexOf.call( seed, elem ) : preMap[i]) > -1 ) { seed[temp] = !(results[temp] = elem); } } } // Add elements to results, through postFinder if defined } else { matcherOut = condense( matcherOut === results ? matcherOut.splice( preexisting, matcherOut.length ) : matcherOut ); if ( postFinder ) { postFinder( null, results, matcherOut, xml ); } else { push.apply( results, matcherOut ); } } }); } function matcherFromTokens( tokens ) { var checkContext, matcher, j, len = tokens.length, leadingRelative = Expr.relative[ tokens[0].type ], implicitRelative = leadingRelative || Expr.relative[" "], i = leadingRelative ? 1 : 0, // The foundational matcher ensures that elements are reachable from top-level context(s) matchContext = addCombinator( function( elem ) { return elem === checkContext; }, implicitRelative, true ), matchAnyContext = addCombinator( function( elem ) { return indexOf.call( checkContext, elem ) > -1; }, implicitRelative, true ), matchers = [ function( elem, context, xml ) { return ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( (checkContext = context).nodeType ? matchContext( elem, context, xml ) : matchAnyContext( elem, context, xml ) ); } ]; for ( ; i < len; i++ ) { if ( (matcher = Expr.relative[ tokens[i].type ]) ) { matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; } else { matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); // Return special upon seeing a positional matcher if ( matcher[ expando ] ) { // Find the next relative operator (if any) for proper handling j = ++i; for ( ; j < len; j++ ) { if ( Expr.relative[ tokens[j].type ] ) { break; } } return setMatcher( i > 1 && elementMatcher( matchers ), i > 1 && toSelector( // If the preceding token was a descendant combinator, insert an implicit any-element `*` tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) ).replace( rtrim, "$1" ), matcher, i < j && matcherFromTokens( tokens.slice( i, j ) ), j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), j < len && toSelector( tokens ) ); } matchers.push( matcher ); } } return elementMatcher( matchers ); } function matcherFromGroupMatchers( elementMatchers, setMatchers ) { var bySet = setMatchers.length > 0, byElement = elementMatchers.length > 0, superMatcher = function( seed, context, xml, results, outermost ) { var elem, j, matcher, matchedCount = 0, i = "0", unmatched = seed && [], setMatched = [], contextBackup = outermostContext, // We must always have either seed elements or outermost context elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), // Use integer dirruns iff this is the outermost matcher dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), len = elems.length; if ( outermost ) { outermostContext = context !== document && context; } // Add elements passing elementMatchers directly to results // Keep `i` a string if there are no elements so `matchedCount` will be "00" below // Support: IE<9, Safari // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id for ( ; i !== len && (elem = elems[i]) != null; i++ ) { if ( byElement && elem ) { j = 0; while ( (matcher = elementMatchers[j++]) ) { if ( matcher( elem, context, xml ) ) { results.push( elem ); break; } } if ( outermost ) { dirruns = dirrunsUnique; } } // Track unmatched elements for set filters if ( bySet ) { // They will have gone through all possible matchers if ( (elem = !matcher && elem) ) { matchedCount--; } // Lengthen the array for every element, matched or not if ( seed ) { unmatched.push( elem ); } } } // Apply set filters to unmatched elements matchedCount += i; if ( bySet && i !== matchedCount ) { j = 0; while ( (matcher = setMatchers[j++]) ) { matcher( unmatched, setMatched, context, xml ); } if ( seed ) { // Reintegrate element matches to eliminate the need for sorting if ( matchedCount > 0 ) { while ( i-- ) { if ( !(unmatched[i] || setMatched[i]) ) { setMatched[i] = pop.call( results ); } } } // Discard index placeholder values to get only actual matches setMatched = condense( setMatched ); } // Add matches to results push.apply( results, setMatched ); // Seedless set matches succeeding multiple successful matchers stipulate sorting if ( outermost && !seed && setMatched.length > 0 && ( matchedCount + setMatchers.length ) > 1 ) { Sizzle.uniqueSort( results ); } } // Override manipulation of globals by nested matchers if ( outermost ) { dirruns = dirrunsUnique; outermostContext = contextBackup; } return unmatched; }; return bySet ? markFunction( superMatcher ) : superMatcher; } compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { var i, setMatchers = [], elementMatchers = [], cached = compilerCache[ selector + " " ]; if ( !cached ) { // Generate a function of recursive functions that can be used to check each element if ( !match ) { match = tokenize( selector ); } i = match.length; while ( i-- ) { cached = matcherFromTokens( match[i] ); if ( cached[ expando ] ) { setMatchers.push( cached ); } else { elementMatchers.push( cached ); } } // Cache the compiled function cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); // Save selector and tokenization cached.selector = selector; } return cached; }; /** * A low-level selection function that works with Sizzle's compiled * selector functions * @param {String|Function} selector A selector or a pre-compiled * selector function built with Sizzle.compile * @param {Element} context * @param {Array} [results] * @param {Array} [seed] A set of elements to match against */ select = Sizzle.select = function( selector, context, results, seed ) { var i, tokens, token, type, find, compiled = typeof selector === "function" && selector, match = !seed && tokenize( (selector = compiled.selector || selector) ); results = results || []; // Try to minimize operations if there is no seed and only one group if ( match.length === 1 ) { // Take a shortcut and set the context if the root selector is an ID tokens = match[0] = match[0].slice( 0 ); if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && support.getById && context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) { context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; if ( !context ) { return results; // Precompiled matchers will still verify ancestry, so step up a level } else if ( compiled ) { context = context.parentNode; } selector = selector.slice( tokens.shift().value.length ); } // Fetch a seed set for right-to-left matching i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; while ( i-- ) { token = tokens[i]; // Abort if we hit a combinator if ( Expr.relative[ (type = token.type) ] ) { break; } if ( (find = Expr.find[ type ]) ) { // Search, expanding context for leading sibling combinators if ( (seed = find( token.matches[0].replace( runescape, funescape ), rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context )) ) { // If seed is empty or no tokens remain, we can return early tokens.splice( i, 1 ); selector = seed.length && toSelector( tokens ); if ( !selector ) { push.apply( results, seed ); return results; } break; } } } } // Compile and execute a filtering function if one is not provided // Provide `match` to avoid retokenization if we modified the selector above ( compiled || compile( selector, match ) )( seed, context, !documentIsHTML, results, rsibling.test( selector ) && testContext( context.parentNode ) || context ); return results; }; // One-time assignments // Sort stability support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; // Support: Chrome<14 // Always assume duplicates if they aren't passed to the comparison function support.detectDuplicates = !!hasDuplicate; // Initialize against the default document setDocument(); // Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) // Detached nodes confoundingly follow *each other* support.sortDetached = assert(function( div1 ) { // Should return 1, but returns 4 (following) return div1.compareDocumentPosition( document.createElement("div") ) & 1; }); // Support: IE<8 // Prevent attribute/property "interpolation" // http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx if ( !assert(function( div ) { div.innerHTML = ""; return div.firstChild.getAttribute("href") === "#" ; }) ) { addHandle( "type|href|height|width", function( elem, name, isXML ) { if ( !isXML ) { return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); } }); } // Support: IE<9 // Use defaultValue in place of getAttribute("value") if ( !support.attributes || !assert(function( div ) { div.innerHTML = ""; div.firstChild.setAttribute( "value", "" ); return div.firstChild.getAttribute( "value" ) === ""; }) ) { addHandle( "value", function( elem, name, isXML ) { if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { return elem.defaultValue; } }); } // Support: IE<9 // Use getAttributeNode to fetch booleans when getAttribute lies if ( !assert(function( div ) { return div.getAttribute("disabled") == null; }) ) { addHandle( booleans, function( elem, name, isXML ) { var val; if ( !isXML ) { return elem[ name ] === true ? name.toLowerCase() : (val = elem.getAttributeNode( name )) && val.specified ? val.value : null; } }); } return Sizzle; })( window ); jQuery.find = Sizzle; jQuery.expr = Sizzle.selectors; jQuery.expr[":"] = jQuery.expr.pseudos; jQuery.unique = Sizzle.uniqueSort; jQuery.text = Sizzle.getText; jQuery.isXMLDoc = Sizzle.isXML; jQuery.contains = Sizzle.contains; var rneedsContext = jQuery.expr.match.needsContext; var rsingleTag = (/^<(\w+)\s*\/?>(?:<\/\1>|)$/); var risSimple = /^.[^:#\[\.,]*$/; // Implement the identical functionality for filter and not function winnow( elements, qualifier, not ) { if ( jQuery.isFunction( qualifier ) ) { return jQuery.grep( elements, function( elem, i ) { /* jshint -W018 */ return !!qualifier.call( elem, i, elem ) !== not; }); } if ( qualifier.nodeType ) { return jQuery.grep( elements, function( elem ) { return ( elem === qualifier ) !== not; }); } if ( typeof qualifier === "string" ) { if ( risSimple.test( qualifier ) ) { return jQuery.filter( qualifier, elements, not ); } qualifier = jQuery.filter( qualifier, elements ); } return jQuery.grep( elements, function( elem ) { return ( jQuery.inArray( elem, qualifier ) >= 0 ) !== not; }); } jQuery.filter = function( expr, elems, not ) { var elem = elems[ 0 ]; if ( not ) { expr = ":not(" + expr + ")"; } return elems.length === 1 && elem.nodeType === 1 ? jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] : jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { return elem.nodeType === 1; })); }; jQuery.fn.extend({ find: function( selector ) { var i, ret = [], self = this, len = self.length; if ( typeof selector !== "string" ) { return this.pushStack( jQuery( selector ).filter(function() { for ( i = 0; i < len; i++ ) { if ( jQuery.contains( self[ i ], this ) ) { return true; } } }) ); } for ( i = 0; i < len; i++ ) { jQuery.find( selector, self[ i ], ret ); } // Needed because $( selector, context ) becomes $( context ).find( selector ) ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret ); ret.selector = this.selector ? this.selector + " " + selector : selector; return ret; }, filter: function( selector ) { return this.pushStack( winnow(this, selector || [], false) ); }, not: function( selector ) { return this.pushStack( winnow(this, selector || [], true) ); }, is: function( selector ) { return !!winnow( this, // If this is a positional/relative selector, check membership in the returned set // so $("p:first").is("p:last") won't return true for a doc with two "p". typeof selector === "string" && rneedsContext.test( selector ) ? jQuery( selector ) : selector || [], false ).length; } }); // Initialize a jQuery object // A central reference to the root jQuery(document) var rootjQuery, // Use the correct document accordingly with window argument (sandbox) document = window.document, // A simple way to check for HTML strings // Prioritize #id over to avoid XSS via location.hash (#9521) // Strict HTML recognition (#11290: must start with <) rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, init = jQuery.fn.init = function( selector, context ) { var match, elem; // HANDLE: $(""), $(null), $(undefined), $(false) if ( !selector ) { return this; } // Handle HTML strings if ( typeof selector === "string" ) { if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) { // Assume that strings that start and end with <> are HTML and skip the regex check match = [ null, selector, null ]; } else { match = rquickExpr.exec( selector ); } // Match html or make sure no context is specified for #id if ( match && (match[1] || !context) ) { // HANDLE: $(html) -> $(array) if ( match[1] ) { context = context instanceof jQuery ? context[0] : context; // scripts is true for back-compat // Intentionally let the error be thrown if parseHTML is not present jQuery.merge( this, jQuery.parseHTML( match[1], context && context.nodeType ? context.ownerDocument || context : document, true ) ); // HANDLE: $(html, props) if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) { for ( match in context ) { // Properties of context are called as methods if possible if ( jQuery.isFunction( this[ match ] ) ) { this[ match ]( context[ match ] ); // ...and otherwise set as attributes } else { this.attr( match, context[ match ] ); } } } return this; // HANDLE: $(#id) } else { elem = document.getElementById( match[2] ); // Check parentNode to catch when Blackberry 4.6 returns // nodes that are no longer in the document #6963 if ( elem && elem.parentNode ) { // Handle the case where IE and Opera return items // by name instead of ID if ( elem.id !== match[2] ) { return rootjQuery.find( selector ); } // Otherwise, we inject the element directly into the jQuery object this.length = 1; this[0] = elem; } this.context = document; this.selector = selector; return this; } // HANDLE: $(expr, $(...)) } else if ( !context || context.jquery ) { return ( context || rootjQuery ).find( selector ); // HANDLE: $(expr, context) // (which is just equivalent to: $(context).find(expr) } else { return this.constructor( context ).find( selector ); } // HANDLE: $(DOMElement) } else if ( selector.nodeType ) { this.context = this[0] = selector; this.length = 1; return this; // HANDLE: $(function) // Shortcut for document ready } else if ( jQuery.isFunction( selector ) ) { return typeof rootjQuery.ready !== "undefined" ? rootjQuery.ready( selector ) : // Execute immediately if ready is not present selector( jQuery ); } if ( selector.selector !== undefined ) { this.selector = selector.selector; this.context = selector.context; } return jQuery.makeArray( selector, this ); }; // Give the init function the jQuery prototype for later instantiation init.prototype = jQuery.fn; // Initialize central reference rootjQuery = jQuery( document ); var rparentsprev = /^(?:parents|prev(?:Until|All))/, // methods guaranteed to produce a unique set when starting from a unique set guaranteedUnique = { children: true, contents: true, next: true, prev: true }; jQuery.extend({ dir: function( elem, dir, until ) { var matched = [], cur = elem[ dir ]; while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) { if ( cur.nodeType === 1 ) { matched.push( cur ); } cur = cur[dir]; } return matched; }, sibling: function( n, elem ) { var r = []; for ( ; n; n = n.nextSibling ) { if ( n.nodeType === 1 && n !== elem ) { r.push( n ); } } return r; } }); jQuery.fn.extend({ has: function( target ) { var i, targets = jQuery( target, this ), len = targets.length; return this.filter(function() { for ( i = 0; i < len; i++ ) { if ( jQuery.contains( this, targets[i] ) ) { return true; } } }); }, closest: function( selectors, context ) { var cur, i = 0, l = this.length, matched = [], pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ? jQuery( selectors, context || this.context ) : 0; for ( ; i < l; i++ ) { for ( cur = this[i]; cur && cur !== context; cur = cur.parentNode ) { // Always skip document fragments if ( cur.nodeType < 11 && (pos ? pos.index(cur) > -1 : // Don't pass non-elements to Sizzle cur.nodeType === 1 && jQuery.find.matchesSelector(cur, selectors)) ) { matched.push( cur ); break; } } } return this.pushStack( matched.length > 1 ? jQuery.unique( matched ) : matched ); }, // Determine the position of an element within // the matched set of elements index: function( elem ) { // No argument, return index in parent if ( !elem ) { return ( this[0] && this[0].parentNode ) ? this.first().prevAll().length : -1; } // index in selector if ( typeof elem === "string" ) { return jQuery.inArray( this[0], jQuery( elem ) ); } // Locate the position of the desired element return jQuery.inArray( // If it receives a jQuery object, the first element is used elem.jquery ? elem[0] : elem, this ); }, add: function( selector, context ) { return this.pushStack( jQuery.unique( jQuery.merge( this.get(), jQuery( selector, context ) ) ) ); }, addBack: function( selector ) { return this.add( selector == null ? this.prevObject : this.prevObject.filter(selector) ); } }); function sibling( cur, dir ) { do { cur = cur[ dir ]; } while ( cur && cur.nodeType !== 1 ); return cur; } jQuery.each({ parent: function( elem ) { var parent = elem.parentNode; return parent && parent.nodeType !== 11 ? parent : null; }, parents: function( elem ) { return jQuery.dir( elem, "parentNode" ); }, parentsUntil: function( elem, i, until ) { return jQuery.dir( elem, "parentNode", until ); }, next: function( elem ) { return sibling( elem, "nextSibling" ); }, prev: function( elem ) { return sibling( elem, "previousSibling" ); }, nextAll: function( elem ) { return jQuery.dir( elem, "nextSibling" ); }, prevAll: function( elem ) { return jQuery.dir( elem, "previousSibling" ); }, nextUntil: function( elem, i, until ) { return jQuery.dir( elem, "nextSibling", until ); }, prevUntil: function( elem, i, until ) { return jQuery.dir( elem, "previousSibling", until ); }, siblings: function( elem ) { return jQuery.sibling( ( elem.parentNode || {} ).firstChild, elem ); }, children: function( elem ) { return jQuery.sibling( elem.firstChild ); }, contents: function( elem ) { return jQuery.nodeName( elem, "iframe" ) ? elem.contentDocument || elem.contentWindow.document : jQuery.merge( [], elem.childNodes ); } }, function( name, fn ) { jQuery.fn[ name ] = function( until, selector ) { var ret = jQuery.map( this, fn, until ); if ( name.slice( -5 ) !== "Until" ) { selector = until; } if ( selector && typeof selector === "string" ) { ret = jQuery.filter( selector, ret ); } if ( this.length > 1 ) { // Remove duplicates if ( !guaranteedUnique[ name ] ) { ret = jQuery.unique( ret ); } // Reverse order for parents* and prev-derivatives if ( rparentsprev.test( name ) ) { ret = ret.reverse(); } } return this.pushStack( ret ); }; }); var rnotwhite = (/\S+/g); // String to Object options format cache var optionsCache = {}; // Convert String-formatted options into Object-formatted ones and store in cache function createOptions( options ) { var object = optionsCache[ options ] = {}; jQuery.each( options.match( rnotwhite ) || [], function( _, flag ) { object[ flag ] = true; }); return object; } /* * Create a callback list using the following parameters: * * options: an optional list of space-separated options that will change how * the callback list behaves or a more traditional option object * * By default a callback list will act like an event callback list and can be * "fired" multiple times. * * Possible options: * * once: will ensure the callback list can only be fired once (like a Deferred) * * memory: will keep track of previous values and will call any callback added * after the list has been fired right away with the latest "memorized" * values (like a Deferred) * * unique: will ensure a callback can only be added once (no duplicate in the list) * * stopOnFalse: interrupt callings when a callback returns false * */ jQuery.Callbacks = function( options ) { // Convert options from String-formatted to Object-formatted if needed // (we check in cache first) options = typeof options === "string" ? ( optionsCache[ options ] || createOptions( options ) ) : jQuery.extend( {}, options ); var // Flag to know if list is currently firing firing, // Last fire value (for non-forgettable lists) memory, // Flag to know if list was already fired fired, // End of the loop when firing firingLength, // Index of currently firing callback (modified by remove if needed) firingIndex, // First callback to fire (used internally by add and fireWith) firingStart, // Actual callback list list = [], // Stack of fire calls for repeatable lists stack = !options.once && [], // Fire callbacks fire = function( data ) { memory = options.memory && data; fired = true; firingIndex = firingStart || 0; firingStart = 0; firingLength = list.length; firing = true; for ( ; list && firingIndex < firingLength; firingIndex++ ) { if ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) { memory = false; // To prevent further calls using add break; } } firing = false; if ( list ) { if ( stack ) { if ( stack.length ) { fire( stack.shift() ); } } else if ( memory ) { list = []; } else { self.disable(); } } }, // Actual Callbacks object self = { // Add a callback or a collection of callbacks to the list add: function() { if ( list ) { // First, we save the current length var start = list.length; (function add( args ) { jQuery.each( args, function( _, arg ) { var type = jQuery.type( arg ); if ( type === "function" ) { if ( !options.unique || !self.has( arg ) ) { list.push( arg ); } } else if ( arg && arg.length && type !== "string" ) { // Inspect recursively add( arg ); } }); })( arguments ); // Do we need to add the callbacks to the // current firing batch? if ( firing ) { firingLength = list.length; // With memory, if we're not firing then // we should call right away } else if ( memory ) { firingStart = start; fire( memory ); } } return this; }, // Remove a callback from the list remove: function() { if ( list ) { jQuery.each( arguments, function( _, arg ) { var index; while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { list.splice( index, 1 ); // Handle firing indexes if ( firing ) { if ( index <= firingLength ) { firingLength--; } if ( index <= firingIndex ) { firingIndex--; } } } }); } return this; }, // Check if a given callback is in the list. // If no argument is given, return whether or not list has callbacks attached. has: function( fn ) { return fn ? jQuery.inArray( fn, list ) > -1 : !!( list && list.length ); }, // Remove all callbacks from the list empty: function() { list = []; firingLength = 0; return this; }, // Have the list do nothing anymore disable: function() { list = stack = memory = undefined; return this; }, // Is it disabled? disabled: function() { return !list; }, // Lock the list in its current state lock: function() { stack = undefined; if ( !memory ) { self.disable(); } return this; }, // Is it locked? locked: function() { return !stack; }, // Call all callbacks with the given context and arguments fireWith: function( context, args ) { if ( list && ( !fired || stack ) ) { args = args || []; args = [ context, args.slice ? args.slice() : args ]; if ( firing ) { stack.push( args ); } else { fire( args ); } } return this; }, // Call all the callbacks with the given arguments fire: function() { self.fireWith( this, arguments ); return this; }, // To know if the callbacks have already been called at least once fired: function() { return !!fired; } }; return self; }; jQuery.extend({ Deferred: function( func ) { var tuples = [ // action, add listener, listener list, final state [ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ], [ "reject", "fail", jQuery.Callbacks("once memory"), "rejected" ], [ "notify", "progress", jQuery.Callbacks("memory") ] ], state = "pending", promise = { state: function() { return state; }, always: function() { deferred.done( arguments ).fail( arguments ); return this; }, then: function( /* fnDone, fnFail, fnProgress */ ) { var fns = arguments; return jQuery.Deferred(function( newDefer ) { jQuery.each( tuples, function( i, tuple ) { var fn = jQuery.isFunction( fns[ i ] ) && fns[ i ]; // deferred[ done | fail | progress ] for forwarding actions to newDefer deferred[ tuple[1] ](function() { var returned = fn && fn.apply( this, arguments ); if ( returned && jQuery.isFunction( returned.promise ) ) { returned.promise() .done( newDefer.resolve ) .fail( newDefer.reject ) .progress( newDefer.notify ); } else { newDefer[ tuple[ 0 ] + "With" ]( this === promise ? newDefer.promise() : this, fn ? [ returned ] : arguments ); } }); }); fns = null; }).promise(); }, // Get a promise for this deferred // If obj is provided, the promise aspect is added to the object promise: function( obj ) { return obj != null ? jQuery.extend( obj, promise ) : promise; } }, deferred = {}; // Keep pipe for back-compat promise.pipe = promise.then; // Add list-specific methods jQuery.each( tuples, function( i, tuple ) { var list = tuple[ 2 ], stateString = tuple[ 3 ]; // promise[ done | fail | progress ] = list.add promise[ tuple[1] ] = list.add; // Handle state if ( stateString ) { list.add(function() { // state = [ resolved | rejected ] state = stateString; // [ reject_list | resolve_list ].disable; progress_list.lock }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock ); } // deferred[ resolve | reject | notify ] deferred[ tuple[0] ] = function() { deferred[ tuple[0] + "With" ]( this === deferred ? promise : this, arguments ); return this; }; deferred[ tuple[0] + "With" ] = list.fireWith; }); // Make the deferred a promise promise.promise( deferred ); // Call given func if any if ( func ) { func.call( deferred, deferred ); } // All done! return deferred; }, // Deferred helper when: function( subordinate /* , ..., subordinateN */ ) { var i = 0, resolveValues = slice.call( arguments ), length = resolveValues.length, // the count of uncompleted subordinates remaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0, // the master Deferred. If resolveValues consist of only a single Deferred, just use that. deferred = remaining === 1 ? subordinate : jQuery.Deferred(), // Update function for both resolve and progress values updateFunc = function( i, contexts, values ) { return function( value ) { contexts[ i ] = this; values[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; if ( values === progressValues ) { deferred.notifyWith( contexts, values ); } else if ( !(--remaining) ) { deferred.resolveWith( contexts, values ); } }; }, progressValues, progressContexts, resolveContexts; // add listeners to Deferred subordinates; treat others as resolved if ( length > 1 ) { progressValues = new Array( length ); progressContexts = new Array( length ); resolveContexts = new Array( length ); for ( ; i < length; i++ ) { if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) { resolveValues[ i ].promise() .done( updateFunc( i, resolveContexts, resolveValues ) ) .fail( deferred.reject ) .progress( updateFunc( i, progressContexts, progressValues ) ); } else { --remaining; } } } // if we're not waiting on anything, resolve the master if ( !remaining ) { deferred.resolveWith( resolveContexts, resolveValues ); } return deferred.promise(); } }); // The deferred used on DOM ready var readyList; jQuery.fn.ready = function( fn ) { // Add the callback jQuery.ready.promise().done( fn ); return this; }; jQuery.extend({ // Is the DOM ready to be used? Set to true once it occurs. isReady: false, // A counter to track how many items to wait for before // the ready event fires. See #6781 readyWait: 1, // Hold (or release) the ready event holdReady: function( hold ) { if ( hold ) { jQuery.readyWait++; } else { jQuery.ready( true ); } }, // Handle when the DOM is ready ready: function( wait ) { // Abort if there are pending holds or we're already ready if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { return; } // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). if ( !document.body ) { return setTimeout( jQuery.ready ); } // Remember that the DOM is ready jQuery.isReady = true; // If a normal DOM Ready event fired, decrement, and wait if need be if ( wait !== true && --jQuery.readyWait > 0 ) { return; } // If there are functions bound, to execute readyList.resolveWith( document, [ jQuery ] ); // Trigger any bound ready events if ( jQuery.fn.triggerHandler ) { jQuery( document ).triggerHandler( "ready" ); jQuery( document ).off( "ready" ); } } }); /** * Clean-up method for dom ready events */ function detach() { if ( document.addEventListener ) { document.removeEventListener( "DOMContentLoaded", completed, false ); window.removeEventListener( "load", completed, false ); } else { document.detachEvent( "onreadystatechange", completed ); window.detachEvent( "onload", completed ); } } /** * The ready event handler and self cleanup method */ function completed() { // readyState === "complete" is good enough for us to call the dom ready in oldIE if ( document.addEventListener || event.type === "load" || document.readyState === "complete" ) { detach(); jQuery.ready(); } } jQuery.ready.promise = function( obj ) { if ( !readyList ) { readyList = jQuery.Deferred(); // Catch cases where $(document).ready() is called after the browser event has already occurred. // we once tried to use readyState "interactive" here, but it caused issues like the one // discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15 if ( document.readyState === "complete" ) { // Handle it asynchronously to allow scripts the opportunity to delay ready setTimeout( jQuery.ready ); // Standards-based browsers support DOMContentLoaded } else if ( document.addEventListener ) { // Use the handy event callback document.addEventListener( "DOMContentLoaded", completed, false ); // A fallback to window.onload, that will always work window.addEventListener( "load", completed, false ); // If IE event model is used } else { // Ensure firing before onload, maybe late but safe also for iframes document.attachEvent( "onreadystatechange", completed ); // A fallback to window.onload, that will always work window.attachEvent( "onload", completed ); // If IE and not a frame // continually check to see if the document is ready var top = false; try { top = window.frameElement == null && document.documentElement; } catch(e) {} if ( top && top.doScroll ) { (function doScrollCheck() { if ( !jQuery.isReady ) { try { // Use the trick by Diego Perini // http://javascript.nwbox.com/IEContentLoaded/ top.doScroll("left"); } catch(e) { return setTimeout( doScrollCheck, 50 ); } // detach all dom ready events detach(); // and execute any waiting functions jQuery.ready(); } })(); } } } return readyList.promise( obj ); }; var strundefined = typeof undefined; // Support: IE<9 // Iteration over object's inherited properties before its own var i; for ( i in jQuery( support ) ) { break; } support.ownLast = i !== "0"; // Note: most support tests are defined in their respective modules. // false until the test is run support.inlineBlockNeedsLayout = false; // Execute ASAP in case we need to set body.style.zoom jQuery(function() { // Minified: var a,b,c,d var val, div, body, container; body = document.getElementsByTagName( "body" )[ 0 ]; if ( !body || !body.style ) { // Return for frameset docs that don't have a body return; } // Setup div = document.createElement( "div" ); container = document.createElement( "div" ); container.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px"; body.appendChild( container ).appendChild( div ); if ( typeof div.style.zoom !== strundefined ) { // Support: IE<8 // Check if natively block-level elements act like inline-block // elements when setting their display to 'inline' and giving // them layout div.style.cssText = "display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1"; support.inlineBlockNeedsLayout = val = div.offsetWidth === 3; if ( val ) { // Prevent IE 6 from affecting layout for positioned elements #11048 // Prevent IE from shrinking the body in IE 7 mode #12869 // Support: IE<8 body.style.zoom = 1; } } body.removeChild( container ); }); (function() { var div = document.createElement( "div" ); // Execute the test only if not already executed in another module. if (support.deleteExpando == null) { // Support: IE<9 support.deleteExpando = true; try { delete div.test; } catch( e ) { support.deleteExpando = false; } } // Null elements to avoid leaks in IE. div = null; })(); /** * Determines whether an object can have data */ jQuery.acceptData = function( elem ) { var noData = jQuery.noData[ (elem.nodeName + " ").toLowerCase() ], nodeType = +elem.nodeType || 1; // Do not set data on non-element DOM nodes because it will not be cleared (#8335). return nodeType !== 1 && nodeType !== 9 ? false : // Nodes accept data unless otherwise specified; rejection can be conditional !noData || noData !== true && elem.getAttribute("classid") === noData; }; var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, rmultiDash = /([A-Z])/g; function dataAttr( elem, key, data ) { // If nothing was found internally, try to fetch any // data from the HTML5 data-* attribute if ( data === undefined && elem.nodeType === 1 ) { var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase(); data = elem.getAttribute( name ); if ( typeof data === "string" ) { try { data = data === "true" ? true : data === "false" ? false : data === "null" ? null : // Only convert to a number if it doesn't change the string +data + "" === data ? +data : rbrace.test( data ) ? jQuery.parseJSON( data ) : data; } catch( e ) {} // Make sure we set the data so it isn't changed later jQuery.data( elem, key, data ); } else { data = undefined; } } return data; } // checks a cache object for emptiness function isEmptyDataObject( obj ) { var name; for ( name in obj ) { // if the public data object is empty, the private is still empty if ( name === "data" && jQuery.isEmptyObject( obj[name] ) ) { continue; } if ( name !== "toJSON" ) { return false; } } return true; } function internalData( elem, name, data, pvt /* Internal Use Only */ ) { if ( !jQuery.acceptData( elem ) ) { return; } var ret, thisCache, internalKey = jQuery.expando, // We have to handle DOM nodes and JS objects differently because IE6-7 // can't GC object references properly across the DOM-JS boundary isNode = elem.nodeType, // Only DOM nodes need the global jQuery cache; JS object data is // attached directly to the object so GC can occur automatically cache = isNode ? jQuery.cache : elem, // Only defining an ID for JS objects if its cache already exists allows // the code to shortcut on the same path as a DOM node with no cache id = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey; // Avoid doing any more work than we need to when trying to get data on an // object that has no data at all if ( (!id || !cache[id] || (!pvt && !cache[id].data)) && data === undefined && typeof name === "string" ) { return; } if ( !id ) { // Only DOM nodes need a new unique ID for each element since their data // ends up in the global cache if ( isNode ) { id = elem[ internalKey ] = deletedIds.pop() || jQuery.guid++; } else { id = internalKey; } } if ( !cache[ id ] ) { // Avoid exposing jQuery metadata on plain JS objects when the object // is serialized using JSON.stringify cache[ id ] = isNode ? {} : { toJSON: jQuery.noop }; } // An object can be passed to jQuery.data instead of a key/value pair; this gets // shallow copied over onto the existing cache if ( typeof name === "object" || typeof name === "function" ) { if ( pvt ) { cache[ id ] = jQuery.extend( cache[ id ], name ); } else { cache[ id ].data = jQuery.extend( cache[ id ].data, name ); } } thisCache = cache[ id ]; // jQuery data() is stored in a separate object inside the object's internal data // cache in order to avoid key collisions between internal data and user-defined // data. if ( !pvt ) { if ( !thisCache.data ) { thisCache.data = {}; } thisCache = thisCache.data; } if ( data !== undefined ) { thisCache[ jQuery.camelCase( name ) ] = data; } // Check for both converted-to-camel and non-converted data property names // If a data property was specified if ( typeof name === "string" ) { // First Try to find as-is property data ret = thisCache[ name ]; // Test for null|undefined property data if ( ret == null ) { // Try to find the camelCased property ret = thisCache[ jQuery.camelCase( name ) ]; } } else { ret = thisCache; } return ret; } function internalRemoveData( elem, name, pvt ) { if ( !jQuery.acceptData( elem ) ) { return; } var thisCache, i, isNode = elem.nodeType, // See jQuery.data for more information cache = isNode ? jQuery.cache : elem, id = isNode ? elem[ jQuery.expando ] : jQuery.expando; // If there is already no cache entry for this object, there is no // purpose in continuing if ( !cache[ id ] ) { return; } if ( name ) { thisCache = pvt ? cache[ id ] : cache[ id ].data; if ( thisCache ) { // Support array or space separated string names for data keys if ( !jQuery.isArray( name ) ) { // try the string as a key before any manipulation if ( name in thisCache ) { name = [ name ]; } else { // split the camel cased version by spaces unless a key with the spaces exists name = jQuery.camelCase( name ); if ( name in thisCache ) { name = [ name ]; } else { name = name.split(" "); } } } else { // If "name" is an array of keys... // When data is initially created, via ("key", "val") signature, // keys will be converted to camelCase. // Since there is no way to tell _how_ a key was added, remove // both plain key and camelCase key. #12786 // This will only penalize the array argument path. name = name.concat( jQuery.map( name, jQuery.camelCase ) ); } i = name.length; while ( i-- ) { delete thisCache[ name[i] ]; } // If there is no data left in the cache, we want to continue // and let the cache object itself get destroyed if ( pvt ? !isEmptyDataObject(thisCache) : !jQuery.isEmptyObject(thisCache) ) { return; } } } // See jQuery.data for more information if ( !pvt ) { delete cache[ id ].data; // Don't destroy the parent cache unless the internal data object // had been the only thing left in it if ( !isEmptyDataObject( cache[ id ] ) ) { return; } } // Destroy the cache if ( isNode ) { jQuery.cleanData( [ elem ], true ); // Use delete when supported for expandos or `cache` is not a window per isWindow (#10080) /* jshint eqeqeq: false */ } else if ( support.deleteExpando || cache != cache.window ) { /* jshint eqeqeq: true */ delete cache[ id ]; // When all else fails, null } else { cache[ id ] = null; } } jQuery.extend({ cache: {}, // The following elements (space-suffixed to avoid Object.prototype collisions) // throw uncatchable exceptions if you attempt to set expando properties noData: { "applet ": true, "embed ": true, // ...but Flash objects (which have this classid) *can* handle expandos "object ": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" }, hasData: function( elem ) { elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ]; return !!elem && !isEmptyDataObject( elem ); }, data: function( elem, name, data ) { return internalData( elem, name, data ); }, removeData: function( elem, name ) { return internalRemoveData( elem, name ); }, // For internal use only. _data: function( elem, name, data ) { return internalData( elem, name, data, true ); }, _removeData: function( elem, name ) { return internalRemoveData( elem, name, true ); } }); jQuery.fn.extend({ data: function( key, value ) { var i, name, data, elem = this[0], attrs = elem && elem.attributes; // Special expections of .data basically thwart jQuery.access, // so implement the relevant behavior ourselves // Gets all values if ( key === undefined ) { if ( this.length ) { data = jQuery.data( elem ); if ( elem.nodeType === 1 && !jQuery._data( elem, "parsedAttrs" ) ) { i = attrs.length; while ( i-- ) { // Support: IE11+ // The attrs elements can be null (#14894) if ( attrs[ i ] ) { name = attrs[ i ].name; if ( name.indexOf( "data-" ) === 0 ) { name = jQuery.camelCase( name.slice(5) ); dataAttr( elem, name, data[ name ] ); } } } jQuery._data( elem, "parsedAttrs", true ); } } return data; } // Sets multiple values if ( typeof key === "object" ) { return this.each(function() { jQuery.data( this, key ); }); } return arguments.length > 1 ? // Sets one value this.each(function() { jQuery.data( this, key, value ); }) : // Gets one value // Try to fetch any internally stored data first elem ? dataAttr( elem, key, jQuery.data( elem, key ) ) : undefined; }, removeData: function( key ) { return this.each(function() { jQuery.removeData( this, key ); }); } }); jQuery.extend({ queue: function( elem, type, data ) { var queue; if ( elem ) { type = ( type || "fx" ) + "queue"; queue = jQuery._data( elem, type ); // Speed up dequeue by getting out quickly if this is just a lookup if ( data ) { if ( !queue || jQuery.isArray(data) ) { queue = jQuery._data( elem, type, jQuery.makeArray(data) ); } else { queue.push( data ); } } return queue || []; } }, dequeue: function( elem, type ) { type = type || "fx"; var queue = jQuery.queue( elem, type ), startLength = queue.length, fn = queue.shift(), hooks = jQuery._queueHooks( elem, type ), next = function() { jQuery.dequeue( elem, type ); }; // If the fx queue is dequeued, always remove the progress sentinel if ( fn === "inprogress" ) { fn = queue.shift(); startLength--; } if ( fn ) { // Add a progress sentinel to prevent the fx queue from being // automatically dequeued if ( type === "fx" ) { queue.unshift( "inprogress" ); } // clear up the last queue stop function delete hooks.stop; fn.call( elem, next, hooks ); } if ( !startLength && hooks ) { hooks.empty.fire(); } }, // not intended for public consumption - generates a queueHooks object, or returns the current one _queueHooks: function( elem, type ) { var key = type + "queueHooks"; return jQuery._data( elem, key ) || jQuery._data( elem, key, { empty: jQuery.Callbacks("once memory").add(function() { jQuery._removeData( elem, type + "queue" ); jQuery._removeData( elem, key ); }) }); } }); jQuery.fn.extend({ queue: function( type, data ) { var setter = 2; if ( typeof type !== "string" ) { data = type; type = "fx"; setter--; } if ( arguments.length < setter ) { return jQuery.queue( this[0], type ); } return data === undefined ? this : this.each(function() { var queue = jQuery.queue( this, type, data ); // ensure a hooks for this queue jQuery._queueHooks( this, type ); if ( type === "fx" && queue[0] !== "inprogress" ) { jQuery.dequeue( this, type ); } }); }, dequeue: function( type ) { return this.each(function() { jQuery.dequeue( this, type ); }); }, clearQueue: function( type ) { return this.queue( type || "fx", [] ); }, // Get a promise resolved when queues of a certain type // are emptied (fx is the type by default) promise: function( type, obj ) { var tmp, count = 1, defer = jQuery.Deferred(), elements = this, i = this.length, resolve = function() { if ( !( --count ) ) { defer.resolveWith( elements, [ elements ] ); } }; if ( typeof type !== "string" ) { obj = type; type = undefined; } type = type || "fx"; while ( i-- ) { tmp = jQuery._data( elements[ i ], type + "queueHooks" ); if ( tmp && tmp.empty ) { count++; tmp.empty.add( resolve ); } } resolve(); return defer.promise( obj ); } }); var pnum = (/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/).source; var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; var isHidden = function( elem, el ) { // isHidden might be called from jQuery#filter function; // in that case, element will be second argument elem = el || elem; return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem ); }; // Multifunctional method to get and set values of a collection // The value/s can optionally be executed if it's a function var access = jQuery.access = function( elems, fn, key, value, chainable, emptyGet, raw ) { var i = 0, length = elems.length, bulk = key == null; // Sets many values if ( jQuery.type( key ) === "object" ) { chainable = true; for ( i in key ) { jQuery.access( elems, fn, i, key[i], true, emptyGet, raw ); } // Sets one value } else if ( value !== undefined ) { chainable = true; if ( !jQuery.isFunction( value ) ) { raw = true; } if ( bulk ) { // Bulk operations run against the entire set if ( raw ) { fn.call( elems, value ); fn = null; // ...except when executing function values } else { bulk = fn; fn = function( elem, key, value ) { return bulk.call( jQuery( elem ), value ); }; } } if ( fn ) { for ( ; i < length; i++ ) { fn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) ); } } } return chainable ? elems : // Gets bulk ? fn.call( elems ) : length ? fn( elems[0], key ) : emptyGet; }; var rcheckableType = (/^(?:checkbox|radio)$/i); (function() { // Minified: var a,b,c var input = document.createElement( "input" ), div = document.createElement( "div" ), fragment = document.createDocumentFragment(); // Setup div.innerHTML = "
a"; // IE strips leading whitespace when .innerHTML is used support.leadingWhitespace = div.firstChild.nodeType === 3; // Make sure that tbody elements aren't automatically inserted // IE will insert them into empty tables support.tbody = !div.getElementsByTagName( "tbody" ).length; // Make sure that link elements get serialized correctly by innerHTML // This requires a wrapper element in IE support.htmlSerialize = !!div.getElementsByTagName( "link" ).length; // Makes sure cloning an html5 element does not cause problems // Where outerHTML is undefined, this still works support.html5Clone = document.createElement( "nav" ).cloneNode( true ).outerHTML !== "<:nav>"; // Check if a disconnected checkbox will retain its checked // value of true after appended to the DOM (IE6/7) input.type = "checkbox"; input.checked = true; fragment.appendChild( input ); support.appendChecked = input.checked; // Make sure textarea (and checkbox) defaultValue is properly cloned // Support: IE6-IE11+ div.innerHTML = ""; support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; // #11217 - WebKit loses check when the name is after the checked attribute fragment.appendChild( div ); div.innerHTML = ""; // Support: Safari 5.1, iOS 5.1, Android 4.x, Android 2.3 // old WebKit doesn't clone checked state correctly in fragments support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; // Support: IE<9 // Opera does not clone events (and typeof div.attachEvent === undefined). // IE9-10 clones events bound via attachEvent, but they don't trigger with .click() support.noCloneEvent = true; if ( div.attachEvent ) { div.attachEvent( "onclick", function() { support.noCloneEvent = false; }); div.cloneNode( true ).click(); } // Execute the test only if not already executed in another module. if (support.deleteExpando == null) { // Support: IE<9 support.deleteExpando = true; try { delete div.test; } catch( e ) { support.deleteExpando = false; } } })(); (function() { var i, eventName, div = document.createElement( "div" ); // Support: IE<9 (lack submit/change bubble), Firefox 23+ (lack focusin event) for ( i in { submit: true, change: true, focusin: true }) { eventName = "on" + i; if ( !(support[ i + "Bubbles" ] = eventName in window) ) { // Beware of CSP restrictions (https://developer.mozilla.org/en/Security/CSP) div.setAttribute( eventName, "t" ); support[ i + "Bubbles" ] = div.attributes[ eventName ].expando === false; } } // Null elements to avoid leaks in IE. div = null; })(); var rformElems = /^(?:input|select|textarea)$/i, rkeyEvent = /^key/, rmouseEvent = /^(?:mouse|pointer|contextmenu)|click/, rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, rtypenamespace = /^([^.]*)(?:\.(.+)|)$/; function returnTrue() { return true; } function returnFalse() { return false; } function safeActiveElement() { try { return document.activeElement; } catch ( err ) { } } /* * Helper functions for managing events -- not part of the public interface. * Props to Dean Edwards' addEvent library for many of the ideas. */ jQuery.event = { global: {}, add: function( elem, types, handler, data, selector ) { var tmp, events, t, handleObjIn, special, eventHandle, handleObj, handlers, type, namespaces, origType, elemData = jQuery._data( elem ); // Don't attach events to noData or text/comment nodes (but allow plain objects) if ( !elemData ) { return; } // Caller can pass in an object of custom data in lieu of the handler if ( handler.handler ) { handleObjIn = handler; handler = handleObjIn.handler; selector = handleObjIn.selector; } // Make sure that the handler has a unique ID, used to find/remove it later if ( !handler.guid ) { handler.guid = jQuery.guid++; } // Init the element's event structure and main handler, if this is the first if ( !(events = elemData.events) ) { events = elemData.events = {}; } if ( !(eventHandle = elemData.handle) ) { eventHandle = elemData.handle = function( e ) { // Discard the second event of a jQuery.event.trigger() and // when an event is called after a page has unloaded return typeof jQuery !== strundefined && (!e || jQuery.event.triggered !== e.type) ? jQuery.event.dispatch.apply( eventHandle.elem, arguments ) : undefined; }; // Add elem as a property of the handle fn to prevent a memory leak with IE non-native events eventHandle.elem = elem; } // Handle multiple events separated by a space types = ( types || "" ).match( rnotwhite ) || [ "" ]; t = types.length; while ( t-- ) { tmp = rtypenamespace.exec( types[t] ) || []; type = origType = tmp[1]; namespaces = ( tmp[2] || "" ).split( "." ).sort(); // There *must* be a type, no attaching namespace-only handlers if ( !type ) { continue; } // If event changes its type, use the special event handlers for the changed type special = jQuery.event.special[ type ] || {}; // If selector defined, determine special event api type, otherwise given type type = ( selector ? special.delegateType : special.bindType ) || type; // Update special based on newly reset type special = jQuery.event.special[ type ] || {}; // handleObj is passed to all event handlers handleObj = jQuery.extend({ type: type, origType: origType, data: data, handler: handler, guid: handler.guid, selector: selector, needsContext: selector && jQuery.expr.match.needsContext.test( selector ), namespace: namespaces.join(".") }, handleObjIn ); // Init the event handler queue if we're the first if ( !(handlers = events[ type ]) ) { handlers = events[ type ] = []; handlers.delegateCount = 0; // Only use addEventListener/attachEvent if the special events handler returns false if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { // Bind the global event handler to the element if ( elem.addEventListener ) { elem.addEventListener( type, eventHandle, false ); } else if ( elem.attachEvent ) { elem.attachEvent( "on" + type, eventHandle ); } } } if ( special.add ) { special.add.call( elem, handleObj ); if ( !handleObj.handler.guid ) { handleObj.handler.guid = handler.guid; } } // Add to the element's handler list, delegates in front if ( selector ) { handlers.splice( handlers.delegateCount++, 0, handleObj ); } else { handlers.push( handleObj ); } // Keep track of which events have ever been used, for event optimization jQuery.event.global[ type ] = true; } // Nullify elem to prevent memory leaks in IE elem = null; }, // Detach an event or set of events from an element remove: function( elem, types, handler, selector, mappedTypes ) { var j, handleObj, tmp, origCount, t, events, special, handlers, type, namespaces, origType, elemData = jQuery.hasData( elem ) && jQuery._data( elem ); if ( !elemData || !(events = elemData.events) ) { return; } // Once for each type.namespace in types; type may be omitted types = ( types || "" ).match( rnotwhite ) || [ "" ]; t = types.length; while ( t-- ) { tmp = rtypenamespace.exec( types[t] ) || []; type = origType = tmp[1]; namespaces = ( tmp[2] || "" ).split( "." ).sort(); // Unbind all events (on this namespace, if provided) for the element if ( !type ) { for ( type in events ) { jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); } continue; } special = jQuery.event.special[ type ] || {}; type = ( selector ? special.delegateType : special.bindType ) || type; handlers = events[ type ] || []; tmp = tmp[2] && new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ); // Remove matching events origCount = j = handlers.length; while ( j-- ) { handleObj = handlers[ j ]; if ( ( mappedTypes || origType === handleObj.origType ) && ( !handler || handler.guid === handleObj.guid ) && ( !tmp || tmp.test( handleObj.namespace ) ) && ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) { handlers.splice( j, 1 ); if ( handleObj.selector ) { handlers.delegateCount--; } if ( special.remove ) { special.remove.call( elem, handleObj ); } } } // Remove generic event handler if we removed something and no more handlers exist // (avoids potential for endless recursion during removal of special event handlers) if ( origCount && !handlers.length ) { if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) { jQuery.removeEvent( elem, type, elemData.handle ); } delete events[ type ]; } } // Remove the expando if it's no longer used if ( jQuery.isEmptyObject( events ) ) { delete elemData.handle; // removeData also checks for emptiness and clears the expando if empty // so use it instead of delete jQuery._removeData( elem, "events" ); } }, trigger: function( event, data, elem, onlyHandlers ) { var handle, ontype, cur, bubbleType, special, tmp, i, eventPath = [ elem || document ], type = hasOwn.call( event, "type" ) ? event.type : event, namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split(".") : []; cur = tmp = elem = elem || document; // Don't do events on text and comment nodes if ( elem.nodeType === 3 || elem.nodeType === 8 ) { return; } // focus/blur morphs to focusin/out; ensure we're not firing them right now if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { return; } if ( type.indexOf(".") >= 0 ) { // Namespaced trigger; create a regexp to match event type in handle() namespaces = type.split("."); type = namespaces.shift(); namespaces.sort(); } ontype = type.indexOf(":") < 0 && "on" + type; // Caller can pass in a jQuery.Event object, Object, or just an event type string event = event[ jQuery.expando ] ? event : new jQuery.Event( type, typeof event === "object" && event ); // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) event.isTrigger = onlyHandlers ? 2 : 3; event.namespace = namespaces.join("."); event.namespace_re = event.namespace ? new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ) : null; // Clean up the event in case it is being reused event.result = undefined; if ( !event.target ) { event.target = elem; } // Clone any incoming data and prepend the event, creating the handler arg list data = data == null ? [ event ] : jQuery.makeArray( data, [ event ] ); // Allow special events to draw outside the lines special = jQuery.event.special[ type ] || {}; if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { return; } // Determine event propagation path in advance, per W3C events spec (#9951) // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { bubbleType = special.delegateType || type; if ( !rfocusMorph.test( bubbleType + type ) ) { cur = cur.parentNode; } for ( ; cur; cur = cur.parentNode ) { eventPath.push( cur ); tmp = cur; } // Only add window if we got to document (e.g., not plain obj or detached DOM) if ( tmp === (elem.ownerDocument || document) ) { eventPath.push( tmp.defaultView || tmp.parentWindow || window ); } } // Fire handlers on the event path i = 0; while ( (cur = eventPath[i++]) && !event.isPropagationStopped() ) { event.type = i > 1 ? bubbleType : special.bindType || type; // jQuery handler handle = ( jQuery._data( cur, "events" ) || {} )[ event.type ] && jQuery._data( cur, "handle" ); if ( handle ) { handle.apply( cur, data ); } // Native handler handle = ontype && cur[ ontype ]; if ( handle && handle.apply && jQuery.acceptData( cur ) ) { event.result = handle.apply( cur, data ); if ( event.result === false ) { event.preventDefault(); } } } event.type = type; // If nobody prevented the default action, do it now if ( !onlyHandlers && !event.isDefaultPrevented() ) { if ( (!special._default || special._default.apply( eventPath.pop(), data ) === false) && jQuery.acceptData( elem ) ) { // Call a native DOM method on the target with the same name name as the event. // Can't use an .isFunction() check here because IE6/7 fails that test. // Don't do default actions on window, that's where global variables be (#6170) if ( ontype && elem[ type ] && !jQuery.isWindow( elem ) ) { // Don't re-trigger an onFOO event when we call its FOO() method tmp = elem[ ontype ]; if ( tmp ) { elem[ ontype ] = null; } // Prevent re-triggering of the same event, since we already bubbled it above jQuery.event.triggered = type; try { elem[ type ](); } catch ( e ) { // IE<9 dies on focus/blur to hidden element (#1486,#12518) // only reproducible on winXP IE8 native, not IE9 in IE8 mode } jQuery.event.triggered = undefined; if ( tmp ) { elem[ ontype ] = tmp; } } } } return event.result; }, dispatch: function( event ) { // Make a writable jQuery.Event from the native event object event = jQuery.event.fix( event ); var i, ret, handleObj, matched, j, handlerQueue = [], args = slice.call( arguments ), handlers = ( jQuery._data( this, "events" ) || {} )[ event.type ] || [], special = jQuery.event.special[ event.type ] || {}; // Use the fix-ed jQuery.Event rather than the (read-only) native event args[0] = event; event.delegateTarget = this; // Call the preDispatch hook for the mapped type, and let it bail if desired if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { return; } // Determine handlers handlerQueue = jQuery.event.handlers.call( this, event, handlers ); // Run delegates first; they may want to stop propagation beneath us i = 0; while ( (matched = handlerQueue[ i++ ]) && !event.isPropagationStopped() ) { event.currentTarget = matched.elem; j = 0; while ( (handleObj = matched.handlers[ j++ ]) && !event.isImmediatePropagationStopped() ) { // Triggered event must either 1) have no namespace, or // 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace). if ( !event.namespace_re || event.namespace_re.test( handleObj.namespace ) ) { event.handleObj = handleObj; event.data = handleObj.data; ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler ) .apply( matched.elem, args ); if ( ret !== undefined ) { if ( (event.result = ret) === false ) { event.preventDefault(); event.stopPropagation(); } } } } } // Call the postDispatch hook for the mapped type if ( special.postDispatch ) { special.postDispatch.call( this, event ); } return event.result; }, handlers: function( event, handlers ) { var sel, handleObj, matches, i, handlerQueue = [], delegateCount = handlers.delegateCount, cur = event.target; // Find delegate handlers // Black-hole SVG instance trees (#13180) // Avoid non-left-click bubbling in Firefox (#3861) if ( delegateCount && cur.nodeType && (!event.button || event.type !== "click") ) { /* jshint eqeqeq: false */ for ( ; cur != this; cur = cur.parentNode || this ) { /* jshint eqeqeq: true */ // Don't check non-elements (#13208) // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) if ( cur.nodeType === 1 && (cur.disabled !== true || event.type !== "click") ) { matches = []; for ( i = 0; i < delegateCount; i++ ) { handleObj = handlers[ i ]; // Don't conflict with Object.prototype properties (#13203) sel = handleObj.selector + " "; if ( matches[ sel ] === undefined ) { matches[ sel ] = handleObj.needsContext ? jQuery( sel, this ).index( cur ) >= 0 : jQuery.find( sel, this, null, [ cur ] ).length; } if ( matches[ sel ] ) { matches.push( handleObj ); } } if ( matches.length ) { handlerQueue.push({ elem: cur, handlers: matches }); } } } } // Add the remaining (directly-bound) handlers if ( delegateCount < handlers.length ) { handlerQueue.push({ elem: this, handlers: handlers.slice( delegateCount ) }); } return handlerQueue; }, fix: function( event ) { if ( event[ jQuery.expando ] ) { return event; } // Create a writable copy of the event object and normalize some properties var i, prop, copy, type = event.type, originalEvent = event, fixHook = this.fixHooks[ type ]; if ( !fixHook ) { this.fixHooks[ type ] = fixHook = rmouseEvent.test( type ) ? this.mouseHooks : rkeyEvent.test( type ) ? this.keyHooks : {}; } copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props; event = new jQuery.Event( originalEvent ); i = copy.length; while ( i-- ) { prop = copy[ i ]; event[ prop ] = originalEvent[ prop ]; } // Support: IE<9 // Fix target property (#1925) if ( !event.target ) { event.target = originalEvent.srcElement || document; } // Support: Chrome 23+, Safari? // Target should not be a text node (#504, #13143) if ( event.target.nodeType === 3 ) { event.target = event.target.parentNode; } // Support: IE<9 // For mouse/key events, metaKey==false if it's undefined (#3368, #11328) event.metaKey = !!event.metaKey; return fixHook.filter ? fixHook.filter( event, originalEvent ) : event; }, // Includes some event props shared by KeyEvent and MouseEvent props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), fixHooks: {}, keyHooks: { props: "char charCode key keyCode".split(" "), filter: function( event, original ) { // Add which for key events if ( event.which == null ) { event.which = original.charCode != null ? original.charCode : original.keyCode; } return event; } }, mouseHooks: { props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), filter: function( event, original ) { var body, eventDoc, doc, button = original.button, fromElement = original.fromElement; // Calculate pageX/Y if missing and clientX/Y available if ( event.pageX == null && original.clientX != null ) { eventDoc = event.target.ownerDocument || document; doc = eventDoc.documentElement; body = eventDoc.body; event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 ); event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 ); } // Add relatedTarget, if necessary if ( !event.relatedTarget && fromElement ) { event.relatedTarget = fromElement === event.target ? original.toElement : fromElement; } // Add which for click: 1 === left; 2 === middle; 3 === right // Note: button is not normalized, so don't use it if ( !event.which && button !== undefined ) { event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); } return event; } }, special: { load: { // Prevent triggered image.load events from bubbling to window.load noBubble: true }, focus: { // Fire native event if possible so blur/focus sequence is correct trigger: function() { if ( this !== safeActiveElement() && this.focus ) { try { this.focus(); return false; } catch ( e ) { // Support: IE<9 // If we error on focus to hidden element (#1486, #12518), // let .trigger() run the handlers } } }, delegateType: "focusin" }, blur: { trigger: function() { if ( this === safeActiveElement() && this.blur ) { this.blur(); return false; } }, delegateType: "focusout" }, click: { // For checkbox, fire native event so checked state will be right trigger: function() { if ( jQuery.nodeName( this, "input" ) && this.type === "checkbox" && this.click ) { this.click(); return false; } }, // For cross-browser consistency, don't fire native .click() on links _default: function( event ) { return jQuery.nodeName( event.target, "a" ); } }, beforeunload: { postDispatch: function( event ) { // Support: Firefox 20+ // Firefox doesn't alert if the returnValue field is not set. if ( event.result !== undefined && event.originalEvent ) { event.originalEvent.returnValue = event.result; } } } }, simulate: function( type, elem, event, bubble ) { // Piggyback on a donor event to simulate a different one. // Fake originalEvent to avoid donor's stopPropagation, but if the // simulated event prevents default then we do the same on the donor. var e = jQuery.extend( new jQuery.Event(), event, { type: type, isSimulated: true, originalEvent: {} } ); if ( bubble ) { jQuery.event.trigger( e, null, elem ); } else { jQuery.event.dispatch.call( elem, e ); } if ( e.isDefaultPrevented() ) { event.preventDefault(); } } }; jQuery.removeEvent = document.removeEventListener ? function( elem, type, handle ) { if ( elem.removeEventListener ) { elem.removeEventListener( type, handle, false ); } } : function( elem, type, handle ) { var name = "on" + type; if ( elem.detachEvent ) { // #8545, #7054, preventing memory leaks for custom events in IE6-8 // detachEvent needed property on element, by name of that event, to properly expose it to GC if ( typeof elem[ name ] === strundefined ) { elem[ name ] = null; } elem.detachEvent( name, handle ); } }; jQuery.Event = function( src, props ) { // Allow instantiation without the 'new' keyword if ( !(this instanceof jQuery.Event) ) { return new jQuery.Event( src, props ); } // Event object if ( src && src.type ) { this.originalEvent = src; this.type = src.type; // Events bubbling up the document may have been marked as prevented // by a handler lower down the tree; reflect the correct value. this.isDefaultPrevented = src.defaultPrevented || src.defaultPrevented === undefined && // Support: IE < 9, Android < 4.0 src.returnValue === false ? returnTrue : returnFalse; // Event type } else { this.type = src; } // Put explicitly provided properties onto the event object if ( props ) { jQuery.extend( this, props ); } // Create a timestamp if incoming event doesn't have one this.timeStamp = src && src.timeStamp || jQuery.now(); // Mark it as fixed this[ jQuery.expando ] = true; }; // jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding // http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html jQuery.Event.prototype = { isDefaultPrevented: returnFalse, isPropagationStopped: returnFalse, isImmediatePropagationStopped: returnFalse, preventDefault: function() { var e = this.originalEvent; this.isDefaultPrevented = returnTrue; if ( !e ) { return; } // If preventDefault exists, run it on the original event if ( e.preventDefault ) { e.preventDefault(); // Support: IE // Otherwise set the returnValue property of the original event to false } else { e.returnValue = false; } }, stopPropagation: function() { var e = this.originalEvent; this.isPropagationStopped = returnTrue; if ( !e ) { return; } // If stopPropagation exists, run it on the original event if ( e.stopPropagation ) { e.stopPropagation(); } // Support: IE // Set the cancelBubble property of the original event to true e.cancelBubble = true; }, stopImmediatePropagation: function() { var e = this.originalEvent; this.isImmediatePropagationStopped = returnTrue; if ( e && e.stopImmediatePropagation ) { e.stopImmediatePropagation(); } this.stopPropagation(); } }; // Create mouseenter/leave events using mouseover/out and event-time checks jQuery.each({ mouseenter: "mouseover", mouseleave: "mouseout", pointerenter: "pointerover", pointerleave: "pointerout" }, function( orig, fix ) { jQuery.event.special[ orig ] = { delegateType: fix, bindType: fix, handle: function( event ) { var ret, target = this, related = event.relatedTarget, handleObj = event.handleObj; // For mousenter/leave call the handler if related is outside the target. // NB: No relatedTarget if the mouse left/entered the browser window if ( !related || (related !== target && !jQuery.contains( target, related )) ) { event.type = handleObj.origType; ret = handleObj.handler.apply( this, arguments ); event.type = fix; } return ret; } }; }); // IE submit delegation if ( !support.submitBubbles ) { jQuery.event.special.submit = { setup: function() { // Only need this for delegated form submit events if ( jQuery.nodeName( this, "form" ) ) { return false; } // Lazy-add a submit handler when a descendant form may potentially be submitted jQuery.event.add( this, "click._submit keypress._submit", function( e ) { // Node name check avoids a VML-related crash in IE (#9807) var elem = e.target, form = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.form : undefined; if ( form && !jQuery._data( form, "submitBubbles" ) ) { jQuery.event.add( form, "submit._submit", function( event ) { event._submit_bubble = true; }); jQuery._data( form, "submitBubbles", true ); } }); // return undefined since we don't need an event listener }, postDispatch: function( event ) { // If form was submitted by the user, bubble the event up the tree if ( event._submit_bubble ) { delete event._submit_bubble; if ( this.parentNode && !event.isTrigger ) { jQuery.event.simulate( "submit", this.parentNode, event, true ); } } }, teardown: function() { // Only need this for delegated form submit events if ( jQuery.nodeName( this, "form" ) ) { return false; } // Remove delegated handlers; cleanData eventually reaps submit handlers attached above jQuery.event.remove( this, "._submit" ); } }; } // IE change delegation and checkbox/radio fix if ( !support.changeBubbles ) { jQuery.event.special.change = { setup: function() { if ( rformElems.test( this.nodeName ) ) { // IE doesn't fire change on a check/radio until blur; trigger it on click // after a propertychange. Eat the blur-change in special.change.handle. // This still fires onchange a second time for check/radio after blur. if ( this.type === "checkbox" || this.type === "radio" ) { jQuery.event.add( this, "propertychange._change", function( event ) { if ( event.originalEvent.propertyName === "checked" ) { this._just_changed = true; } }); jQuery.event.add( this, "click._change", function( event ) { if ( this._just_changed && !event.isTrigger ) { this._just_changed = false; } // Allow triggered, simulated change events (#11500) jQuery.event.simulate( "change", this, event, true ); }); } return false; } // Delegated event; lazy-add a change handler on descendant inputs jQuery.event.add( this, "beforeactivate._change", function( e ) { var elem = e.target; if ( rformElems.test( elem.nodeName ) && !jQuery._data( elem, "changeBubbles" ) ) { jQuery.event.add( elem, "change._change", function( event ) { if ( this.parentNode && !event.isSimulated && !event.isTrigger ) { jQuery.event.simulate( "change", this.parentNode, event, true ); } }); jQuery._data( elem, "changeBubbles", true ); } }); }, handle: function( event ) { var elem = event.target; // Swallow native change events from checkbox/radio, we already triggered them above if ( this !== elem || event.isSimulated || event.isTrigger || (elem.type !== "radio" && elem.type !== "checkbox") ) { return event.handleObj.handler.apply( this, arguments ); } }, teardown: function() { jQuery.event.remove( this, "._change" ); return !rformElems.test( this.nodeName ); } }; } // Create "bubbling" focus and blur events if ( !support.focusinBubbles ) { jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { // Attach a single capturing handler on the document while someone wants focusin/focusout var handler = function( event ) { jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true ); }; jQuery.event.special[ fix ] = { setup: function() { var doc = this.ownerDocument || this, attaches = jQuery._data( doc, fix ); if ( !attaches ) { doc.addEventListener( orig, handler, true ); } jQuery._data( doc, fix, ( attaches || 0 ) + 1 ); }, teardown: function() { var doc = this.ownerDocument || this, attaches = jQuery._data( doc, fix ) - 1; if ( !attaches ) { doc.removeEventListener( orig, handler, true ); jQuery._removeData( doc, fix ); } else { jQuery._data( doc, fix, attaches ); } } }; }); } jQuery.fn.extend({ on: function( types, selector, data, fn, /*INTERNAL*/ one ) { var type, origFn; // Types can be a map of types/handlers if ( typeof types === "object" ) { // ( types-Object, selector, data ) if ( typeof selector !== "string" ) { // ( types-Object, data ) data = data || selector; selector = undefined; } for ( type in types ) { this.on( type, selector, data, types[ type ], one ); } return this; } if ( data == null && fn == null ) { // ( types, fn ) fn = selector; data = selector = undefined; } else if ( fn == null ) { if ( typeof selector === "string" ) { // ( types, selector, fn ) fn = data; data = undefined; } else { // ( types, data, fn ) fn = data; data = selector; selector = undefined; } } if ( fn === false ) { fn = returnFalse; } else if ( !fn ) { return this; } if ( one === 1 ) { origFn = fn; fn = function( event ) { // Can use an empty set, since event contains the info jQuery().off( event ); return origFn.apply( this, arguments ); }; // Use same guid so caller can remove using origFn fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); } return this.each( function() { jQuery.event.add( this, types, fn, data, selector ); }); }, one: function( types, selector, data, fn ) { return this.on( types, selector, data, fn, 1 ); }, off: function( types, selector, fn ) { var handleObj, type; if ( types && types.preventDefault && types.handleObj ) { // ( event ) dispatched jQuery.Event handleObj = types.handleObj; jQuery( types.delegateTarget ).off( handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType, handleObj.selector, handleObj.handler ); return this; } if ( typeof types === "object" ) { // ( types-object [, selector] ) for ( type in types ) { this.off( type, selector, types[ type ] ); } return this; } if ( selector === false || typeof selector === "function" ) { // ( types [, fn] ) fn = selector; selector = undefined; } if ( fn === false ) { fn = returnFalse; } return this.each(function() { jQuery.event.remove( this, types, fn, selector ); }); }, trigger: function( type, data ) { return this.each(function() { jQuery.event.trigger( type, data, this ); }); }, triggerHandler: function( type, data ) { var elem = this[0]; if ( elem ) { return jQuery.event.trigger( type, data, elem, true ); } } }); function createSafeFragment( document ) { var list = nodeNames.split( "|" ), safeFrag = document.createDocumentFragment(); if ( safeFrag.createElement ) { while ( list.length ) { safeFrag.createElement( list.pop() ); } } return safeFrag; } var nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|" + "header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", rinlinejQuery = / jQuery\d+="(?:null|\d+)"/g, rnoshimcache = new RegExp("<(?:" + nodeNames + ")[\\s/>]", "i"), rleadingWhitespace = /^\s+/, rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, rtagName = /<([\w:]+)/, rtbody = /\s*$/g, // We have to close these tags to support XHTML (#13200) wrapMap = { option: [ 1, "" ], legend: [ 1, "
", "
" ], area: [ 1, "", "" ], param: [ 1, "", "" ], thead: [ 1, "", "
" ], tr: [ 2, "", "
" ], col: [ 2, "", "
" ], td: [ 3, "", "
" ], // IE6-8 can't serialize link, script, style, or any html5 (NoScope) tags, // unless wrapped in a div with non-breaking characters in front of it. _default: support.htmlSerialize ? [ 0, "", "" ] : [ 1, "X
", "
" ] }, safeFragment = createSafeFragment( document ), fragmentDiv = safeFragment.appendChild( document.createElement("div") ); wrapMap.optgroup = wrapMap.option; wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; wrapMap.th = wrapMap.td; function getAll( context, tag ) { var elems, elem, i = 0, found = typeof context.getElementsByTagName !== strundefined ? context.getElementsByTagName( tag || "*" ) : typeof context.querySelectorAll !== strundefined ? context.querySelectorAll( tag || "*" ) : undefined; if ( !found ) { for ( found = [], elems = context.childNodes || context; (elem = elems[i]) != null; i++ ) { if ( !tag || jQuery.nodeName( elem, tag ) ) { found.push( elem ); } else { jQuery.merge( found, getAll( elem, tag ) ); } } } return tag === undefined || tag && jQuery.nodeName( context, tag ) ? jQuery.merge( [ context ], found ) : found; } // Used in buildFragment, fixes the defaultChecked property function fixDefaultChecked( elem ) { if ( rcheckableType.test( elem.type ) ) { elem.defaultChecked = elem.checked; } } // Support: IE<8 // Manipulating tables requires a tbody function manipulationTarget( elem, content ) { return jQuery.nodeName( elem, "table" ) && jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ? elem.getElementsByTagName("tbody")[0] || elem.appendChild( elem.ownerDocument.createElement("tbody") ) : elem; } // Replace/restore the type attribute of script elements for safe DOM manipulation function disableScript( elem ) { elem.type = (jQuery.find.attr( elem, "type" ) !== null) + "/" + elem.type; return elem; } function restoreScript( elem ) { var match = rscriptTypeMasked.exec( elem.type ); if ( match ) { elem.type = match[1]; } else { elem.removeAttribute("type"); } return elem; } // Mark scripts as having already been evaluated function setGlobalEval( elems, refElements ) { var elem, i = 0; for ( ; (elem = elems[i]) != null; i++ ) { jQuery._data( elem, "globalEval", !refElements || jQuery._data( refElements[i], "globalEval" ) ); } } function cloneCopyEvent( src, dest ) { if ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) { return; } var type, i, l, oldData = jQuery._data( src ), curData = jQuery._data( dest, oldData ), events = oldData.events; if ( events ) { delete curData.handle; curData.events = {}; for ( type in events ) { for ( i = 0, l = events[ type ].length; i < l; i++ ) { jQuery.event.add( dest, type, events[ type ][ i ] ); } } } // make the cloned public data object a copy from the original if ( curData.data ) { curData.data = jQuery.extend( {}, curData.data ); } } function fixCloneNodeIssues( src, dest ) { var nodeName, e, data; // We do not need to do anything for non-Elements if ( dest.nodeType !== 1 ) { return; } nodeName = dest.nodeName.toLowerCase(); // IE6-8 copies events bound via attachEvent when using cloneNode. if ( !support.noCloneEvent && dest[ jQuery.expando ] ) { data = jQuery._data( dest ); for ( e in data.events ) { jQuery.removeEvent( dest, e, data.handle ); } // Event data gets referenced instead of copied if the expando gets copied too dest.removeAttribute( jQuery.expando ); } // IE blanks contents when cloning scripts, and tries to evaluate newly-set text if ( nodeName === "script" && dest.text !== src.text ) { disableScript( dest ).text = src.text; restoreScript( dest ); // IE6-10 improperly clones children of object elements using classid. // IE10 throws NoModificationAllowedError if parent is null, #12132. } else if ( nodeName === "object" ) { if ( dest.parentNode ) { dest.outerHTML = src.outerHTML; } // This path appears unavoidable for IE9. When cloning an object // element in IE9, the outerHTML strategy above is not sufficient. // If the src has innerHTML and the destination does not, // copy the src.innerHTML into the dest.innerHTML. #10324 if ( support.html5Clone && ( src.innerHTML && !jQuery.trim(dest.innerHTML) ) ) { dest.innerHTML = src.innerHTML; } } else if ( nodeName === "input" && rcheckableType.test( src.type ) ) { // IE6-8 fails to persist the checked state of a cloned checkbox // or radio button. Worse, IE6-7 fail to give the cloned element // a checked appearance if the defaultChecked value isn't also set dest.defaultChecked = dest.checked = src.checked; // IE6-7 get confused and end up setting the value of a cloned // checkbox/radio button to an empty string instead of "on" if ( dest.value !== src.value ) { dest.value = src.value; } // IE6-8 fails to return the selected option to the default selected // state when cloning options } else if ( nodeName === "option" ) { dest.defaultSelected = dest.selected = src.defaultSelected; // IE6-8 fails to set the defaultValue to the correct value when // cloning other types of input fields } else if ( nodeName === "input" || nodeName === "textarea" ) { dest.defaultValue = src.defaultValue; } } jQuery.extend({ clone: function( elem, dataAndEvents, deepDataAndEvents ) { var destElements, node, clone, i, srcElements, inPage = jQuery.contains( elem.ownerDocument, elem ); if ( support.html5Clone || jQuery.isXMLDoc(elem) || !rnoshimcache.test( "<" + elem.nodeName + ">" ) ) { clone = elem.cloneNode( true ); // IE<=8 does not properly clone detached, unknown element nodes } else { fragmentDiv.innerHTML = elem.outerHTML; fragmentDiv.removeChild( clone = fragmentDiv.firstChild ); } if ( (!support.noCloneEvent || !support.noCloneChecked) && (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) { // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2 destElements = getAll( clone ); srcElements = getAll( elem ); // Fix all IE cloning issues for ( i = 0; (node = srcElements[i]) != null; ++i ) { // Ensure that the destination node is not null; Fixes #9587 if ( destElements[i] ) { fixCloneNodeIssues( node, destElements[i] ); } } } // Copy the events from the original to the clone if ( dataAndEvents ) { if ( deepDataAndEvents ) { srcElements = srcElements || getAll( elem ); destElements = destElements || getAll( clone ); for ( i = 0; (node = srcElements[i]) != null; i++ ) { cloneCopyEvent( node, destElements[i] ); } } else { cloneCopyEvent( elem, clone ); } } // Preserve script evaluation history destElements = getAll( clone, "script" ); if ( destElements.length > 0 ) { setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); } destElements = srcElements = node = null; // Return the cloned set return clone; }, buildFragment: function( elems, context, scripts, selection ) { var j, elem, contains, tmp, tag, tbody, wrap, l = elems.length, // Ensure a safe fragment safe = createSafeFragment( context ), nodes = [], i = 0; for ( ; i < l; i++ ) { elem = elems[ i ]; if ( elem || elem === 0 ) { // Add nodes directly if ( jQuery.type( elem ) === "object" ) { jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); // Convert non-html into a text node } else if ( !rhtml.test( elem ) ) { nodes.push( context.createTextNode( elem ) ); // Convert html into DOM nodes } else { tmp = tmp || safe.appendChild( context.createElement("div") ); // Deserialize a standard representation tag = (rtagName.exec( elem ) || [ "", "" ])[ 1 ].toLowerCase(); wrap = wrapMap[ tag ] || wrapMap._default; tmp.innerHTML = wrap[1] + elem.replace( rxhtmlTag, "<$1>" ) + wrap[2]; // Descend through wrappers to the right content j = wrap[0]; while ( j-- ) { tmp = tmp.lastChild; } // Manually add leading whitespace removed by IE if ( !support.leadingWhitespace && rleadingWhitespace.test( elem ) ) { nodes.push( context.createTextNode( rleadingWhitespace.exec( elem )[0] ) ); } // Remove IE's autoinserted from table fragments if ( !support.tbody ) { // String was a , *may* have spurious elem = tag === "table" && !rtbody.test( elem ) ? tmp.firstChild : // String was a bare or wrap[1] === "
" && !rtbody.test( elem ) ? tmp : 0; j = elem && elem.childNodes.length; while ( j-- ) { if ( jQuery.nodeName( (tbody = elem.childNodes[j]), "tbody" ) && !tbody.childNodes.length ) { elem.removeChild( tbody ); } } } jQuery.merge( nodes, tmp.childNodes ); // Fix #12392 for WebKit and IE > 9 tmp.textContent = ""; // Fix #12392 for oldIE while ( tmp.firstChild ) { tmp.removeChild( tmp.firstChild ); } // Remember the top-level container for proper cleanup tmp = safe.lastChild; } } } // Fix #11356: Clear elements from fragment if ( tmp ) { safe.removeChild( tmp ); } // Reset defaultChecked for any radios and checkboxes // about to be appended to the DOM in IE 6/7 (#8060) if ( !support.appendChecked ) { jQuery.grep( getAll( nodes, "input" ), fixDefaultChecked ); } i = 0; while ( (elem = nodes[ i++ ]) ) { // #4087 - If origin and destination elements are the same, and this is // that element, do not do anything if ( selection && jQuery.inArray( elem, selection ) !== -1 ) { continue; } contains = jQuery.contains( elem.ownerDocument, elem ); // Append to fragment tmp = getAll( safe.appendChild( elem ), "script" ); // Preserve script evaluation history if ( contains ) { setGlobalEval( tmp ); } // Capture executables if ( scripts ) { j = 0; while ( (elem = tmp[ j++ ]) ) { if ( rscriptType.test( elem.type || "" ) ) { scripts.push( elem ); } } } } tmp = null; return safe; }, cleanData: function( elems, /* internal */ acceptData ) { var elem, type, id, data, i = 0, internalKey = jQuery.expando, cache = jQuery.cache, deleteExpando = support.deleteExpando, special = jQuery.event.special; for ( ; (elem = elems[i]) != null; i++ ) { if ( acceptData || jQuery.acceptData( elem ) ) { id = elem[ internalKey ]; data = id && cache[ id ]; if ( data ) { if ( data.events ) { for ( type in data.events ) { if ( special[ type ] ) { jQuery.event.remove( elem, type ); // This is a shortcut to avoid jQuery.event.remove's overhead } else { jQuery.removeEvent( elem, type, data.handle ); } } } // Remove cache only if it was not already removed by jQuery.event.remove if ( cache[ id ] ) { delete cache[ id ]; // IE does not allow us to delete expando properties from nodes, // nor does it have a removeAttribute function on Document nodes; // we must handle all of these cases if ( deleteExpando ) { delete elem[ internalKey ]; } else if ( typeof elem.removeAttribute !== strundefined ) { elem.removeAttribute( internalKey ); } else { elem[ internalKey ] = null; } deletedIds.push( id ); } } } } } }); jQuery.fn.extend({ text: function( value ) { return access( this, function( value ) { return value === undefined ? jQuery.text( this ) : this.empty().append( ( this[0] && this[0].ownerDocument || document ).createTextNode( value ) ); }, null, value, arguments.length ); }, append: function() { return this.domManip( arguments, function( elem ) { if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { var target = manipulationTarget( this, elem ); target.appendChild( elem ); } }); }, prepend: function() { return this.domManip( arguments, function( elem ) { if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { var target = manipulationTarget( this, elem ); target.insertBefore( elem, target.firstChild ); } }); }, before: function() { return this.domManip( arguments, function( elem ) { if ( this.parentNode ) { this.parentNode.insertBefore( elem, this ); } }); }, after: function() { return this.domManip( arguments, function( elem ) { if ( this.parentNode ) { this.parentNode.insertBefore( elem, this.nextSibling ); } }); }, remove: function( selector, keepData /* Internal Use Only */ ) { var elem, elems = selector ? jQuery.filter( selector, this ) : this, i = 0; for ( ; (elem = elems[i]) != null; i++ ) { if ( !keepData && elem.nodeType === 1 ) { jQuery.cleanData( getAll( elem ) ); } if ( elem.parentNode ) { if ( keepData && jQuery.contains( elem.ownerDocument, elem ) ) { setGlobalEval( getAll( elem, "script" ) ); } elem.parentNode.removeChild( elem ); } } return this; }, empty: function() { var elem, i = 0; for ( ; (elem = this[i]) != null; i++ ) { // Remove element nodes and prevent memory leaks if ( elem.nodeType === 1 ) { jQuery.cleanData( getAll( elem, false ) ); } // Remove any remaining nodes while ( elem.firstChild ) { elem.removeChild( elem.firstChild ); } // If this is a select, ensure that it displays empty (#12336) // Support: IE<9 if ( elem.options && jQuery.nodeName( elem, "select" ) ) { elem.options.length = 0; } } return this; }, clone: function( dataAndEvents, deepDataAndEvents ) { dataAndEvents = dataAndEvents == null ? false : dataAndEvents; deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; return this.map(function() { return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); }); }, html: function( value ) { return access( this, function( value ) { var elem = this[ 0 ] || {}, i = 0, l = this.length; if ( value === undefined ) { return elem.nodeType === 1 ? elem.innerHTML.replace( rinlinejQuery, "" ) : undefined; } // See if we can take a shortcut and just use innerHTML if ( typeof value === "string" && !rnoInnerhtml.test( value ) && ( support.htmlSerialize || !rnoshimcache.test( value ) ) && ( support.leadingWhitespace || !rleadingWhitespace.test( value ) ) && !wrapMap[ (rtagName.exec( value ) || [ "", "" ])[ 1 ].toLowerCase() ] ) { value = value.replace( rxhtmlTag, "<$1>" ); try { for (; i < l; i++ ) { // Remove element nodes and prevent memory leaks elem = this[i] || {}; if ( elem.nodeType === 1 ) { jQuery.cleanData( getAll( elem, false ) ); elem.innerHTML = value; } } elem = 0; // If using innerHTML throws an exception, use the fallback method } catch(e) {} } if ( elem ) { this.empty().append( value ); } }, null, value, arguments.length ); }, replaceWith: function() { var arg = arguments[ 0 ]; // Make the changes, replacing each context element with the new content this.domManip( arguments, function( elem ) { arg = this.parentNode; jQuery.cleanData( getAll( this ) ); if ( arg ) { arg.replaceChild( elem, this ); } }); // Force removal if there was no new content (e.g., from empty arguments) return arg && (arg.length || arg.nodeType) ? this : this.remove(); }, detach: function( selector ) { return this.remove( selector, true ); }, domManip: function( args, callback ) { // Flatten any nested arrays args = concat.apply( [], args ); var first, node, hasScripts, scripts, doc, fragment, i = 0, l = this.length, set = this, iNoClone = l - 1, value = args[0], isFunction = jQuery.isFunction( value ); // We can't cloneNode fragments that contain checked, in WebKit if ( isFunction || ( l > 1 && typeof value === "string" && !support.checkClone && rchecked.test( value ) ) ) { return this.each(function( index ) { var self = set.eq( index ); if ( isFunction ) { args[0] = value.call( this, index, self.html() ); } self.domManip( args, callback ); }); } if ( l ) { fragment = jQuery.buildFragment( args, this[ 0 ].ownerDocument, false, this ); first = fragment.firstChild; if ( fragment.childNodes.length === 1 ) { fragment = first; } if ( first ) { scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); hasScripts = scripts.length; // Use the original fragment for the last item instead of the first because it can end up // being emptied incorrectly in certain situations (#8070). for ( ; i < l; i++ ) { node = fragment; if ( i !== iNoClone ) { node = jQuery.clone( node, true, true ); // Keep references to cloned scripts for later restoration if ( hasScripts ) { jQuery.merge( scripts, getAll( node, "script" ) ); } } callback.call( this[i], node, i ); } if ( hasScripts ) { doc = scripts[ scripts.length - 1 ].ownerDocument; // Reenable scripts jQuery.map( scripts, restoreScript ); // Evaluate executable scripts on first document insertion for ( i = 0; i < hasScripts; i++ ) { node = scripts[ i ]; if ( rscriptType.test( node.type || "" ) && !jQuery._data( node, "globalEval" ) && jQuery.contains( doc, node ) ) { if ( node.src ) { // Optional AJAX dependency, but won't run scripts if not present if ( jQuery._evalUrl ) { jQuery._evalUrl( node.src ); } } else { jQuery.globalEval( ( node.text || node.textContent || node.innerHTML || "" ).replace( rcleanScript, "" ) ); } } } } // Fix #11809: Avoid leaking memory fragment = first = null; } } return this; } }); jQuery.each({ appendTo: "append", prependTo: "prepend", insertBefore: "before", insertAfter: "after", replaceAll: "replaceWith" }, function( name, original ) { jQuery.fn[ name ] = function( selector ) { var elems, i = 0, ret = [], insert = jQuery( selector ), last = insert.length - 1; for ( ; i <= last; i++ ) { elems = i === last ? this : this.clone(true); jQuery( insert[i] )[ original ]( elems ); // Modern browsers can apply jQuery collections as arrays, but oldIE needs a .get() push.apply( ret, elems.get() ); } return this.pushStack( ret ); }; }); var iframe, elemdisplay = {}; /** * Retrieve the actual display of a element * @param {String} name nodeName of the element * @param {Object} doc Document object */ // Called only from within defaultDisplay function actualDisplay( name, doc ) { var style, elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ), // getDefaultComputedStyle might be reliably used only on attached element display = window.getDefaultComputedStyle && ( style = window.getDefaultComputedStyle( elem[ 0 ] ) ) ? // Use of this method is a temporary fix (more like optmization) until something better comes along, // since it was removed from specification and supported only in FF style.display : jQuery.css( elem[ 0 ], "display" ); // We don't have any data stored on the element, // so use "detach" method as fast way to get rid of the element elem.detach(); return display; } /** * Try to determine the default display value of an element * @param {String} nodeName */ function defaultDisplay( nodeName ) { var doc = document, display = elemdisplay[ nodeName ]; if ( !display ) { display = actualDisplay( nodeName, doc ); // If the simple way fails, read from inside an iframe if ( display === "none" || !display ) { // Use the already-created iframe if possible iframe = (iframe || jQuery( "