Skip to content

Instantly share code, notes, and snippets.

@pflegende
Last active July 22, 2020 20:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pflegende/cf8615f8a75a9ae692003d499211ff75 to your computer and use it in GitHub Desktop.
Save pflegende/cf8615f8a75a9ae692003d499211ff75 to your computer and use it in GitHub Desktop.
HubOfSynergyExploration
temporary ...
caused by otherwise not available github-nodes "about" the repos,
projects are hierarchical "under" the repos.
And so no more item is available as a "thing" to work as info-node "about" some repos, using a head structure than a ctrl.
reader:
github hosted ubu for github-action scripts :
https://docs.github.com/en/actions/reference/virtual-environments-for-github-hosted-runners
Display the source blob
Display the rendered blob
Raw
{"cells":[{"metadata":{"trusted":true},"cell_type":"code","source":"%%autosave 245","execution_count":11,"outputs":[{"output_type":"stream","text":"Unknown magic cell function %%autosave\n","name":"stderr"}]},{"metadata":{"trusted":true},"cell_type":"code","source":"! pip install jupyter_contrib_nbextensions\n! jupyter contrib nbextension install --user\n! jupyter nbextension enable spellchecker/main\n! jupyter nbextension enable codefolding/main\n! jupyter nbextension enable autosave/main\n! echo \"*******************************************************\"\n! echo \"*******************************************************\"\n! %autosave 60","execution_count":8,"outputs":[{"output_type":"stream","text":"Requirement already satisfied: jupyter_contrib_nbextensions in /srv/conda/envs/notebook/lib/python3.7/site-packages (0.5.1)\nRequirement already satisfied: lxml in /srv/conda/envs/notebook/lib/python3.7/site-packages (from jupyter_contrib_nbextensions) (4.5.2)\nRequirement already satisfied: jupyter-highlight-selected-word>=0.1.1 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from jupyter_contrib_nbextensions) (0.2.0)\nRequirement already satisfied: traitlets>=4.1 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from jupyter_contrib_nbextensions) (4.3.3)\nRequirement already satisfied: jupyter-contrib-core>=0.3.3 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from jupyter_contrib_nbextensions) (0.3.3)\nRequirement already satisfied: jupyter-core in /srv/conda/envs/notebook/lib/python3.7/site-packages (from jupyter_contrib_nbextensions) (4.6.3)\nRequirement already satisfied: jupyter-nbextensions-configurator>=0.4.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from jupyter_contrib_nbextensions) (0.4.1)\nRequirement already satisfied: notebook>=4.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from jupyter_contrib_nbextensions) (6.0.3)\nRequirement already satisfied: ipython-genutils in /srv/conda/envs/notebook/lib/python3.7/site-packages (from jupyter_contrib_nbextensions) (0.2.0)\nRequirement already satisfied: jupyter-latex-envs>=1.3.8 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from jupyter_contrib_nbextensions) (1.4.6)\nRequirement already satisfied: pyyaml in /srv/conda/envs/notebook/lib/python3.7/site-packages (from jupyter_contrib_nbextensions) (5.3.1)\nRequirement already satisfied: tornado in /srv/conda/envs/notebook/lib/python3.7/site-packages (from jupyter_contrib_nbextensions) (6.0.4)\nRequirement already satisfied: nbconvert>=4.2 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from jupyter_contrib_nbextensions) (5.6.1)\nRequirement already satisfied: six in /srv/conda/envs/notebook/lib/python3.7/site-packages (from traitlets>=4.1->jupyter_contrib_nbextensions) (1.15.0)\nRequirement already satisfied: decorator in /srv/conda/envs/notebook/lib/python3.7/site-packages (from traitlets>=4.1->jupyter_contrib_nbextensions) (4.4.2)\nRequirement already satisfied: setuptools in /srv/conda/envs/notebook/lib/python3.7/site-packages (from jupyter-contrib-core>=0.3.3->jupyter_contrib_nbextensions) (47.1.1.post20200529)\nRequirement already satisfied: pyzmq>=17 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from notebook>=4.0->jupyter_contrib_nbextensions) (19.0.1)\nRequirement already satisfied: terminado>=0.8.1 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from notebook>=4.0->jupyter_contrib_nbextensions) (0.8.3)\nRequirement already satisfied: jinja2 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from notebook>=4.0->jupyter_contrib_nbextensions) (2.11.2)\nRequirement already satisfied: jupyter-client>=5.3.4 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from notebook>=4.0->jupyter_contrib_nbextensions) (6.1.3)\nRequirement already satisfied: prometheus-client in /srv/conda/envs/notebook/lib/python3.7/site-packages (from notebook>=4.0->jupyter_contrib_nbextensions) (0.8.0)\nRequirement already satisfied: nbformat in /srv/conda/envs/notebook/lib/python3.7/site-packages (from notebook>=4.0->jupyter_contrib_nbextensions) (5.0.6)\nRequirement already satisfied: ipykernel in /srv/conda/envs/notebook/lib/python3.7/site-packages (from notebook>=4.0->jupyter_contrib_nbextensions) (5.3.0)\nRequirement already satisfied: Send2Trash in /srv/conda/envs/notebook/lib/python3.7/site-packages (from notebook>=4.0->jupyter_contrib_nbextensions) (1.5.0)\nRequirement already satisfied: ipython in /srv/conda/envs/notebook/lib/python3.7/site-packages (from jupyter-latex-envs>=1.3.8->jupyter_contrib_nbextensions) (7.15.0)\nRequirement already satisfied: defusedxml in /srv/conda/envs/notebook/lib/python3.7/site-packages (from nbconvert>=4.2->jupyter_contrib_nbextensions) (0.6.0)\nRequirement already satisfied: bleach in /srv/conda/envs/notebook/lib/python3.7/site-packages (from nbconvert>=4.2->jupyter_contrib_nbextensions) (3.1.5)\nRequirement already satisfied: entrypoints>=0.2.2 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from nbconvert>=4.2->jupyter_contrib_nbextensions) (0.3)\nRequirement already satisfied: pygments in /srv/conda/envs/notebook/lib/python3.7/site-packages (from nbconvert>=4.2->jupyter_contrib_nbextensions) (2.6.1)\nRequirement already satisfied: pandocfilters>=1.4.1 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from nbconvert>=4.2->jupyter_contrib_nbextensions) (1.4.2)\nRequirement already satisfied: mistune<2,>=0.8.1 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from nbconvert>=4.2->jupyter_contrib_nbextensions) (0.8.4)\nRequirement already satisfied: testpath in /srv/conda/envs/notebook/lib/python3.7/site-packages (from nbconvert>=4.2->jupyter_contrib_nbextensions) (0.4.4)\nRequirement already satisfied: MarkupSafe>=0.23 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from jinja2->notebook>=4.0->jupyter_contrib_nbextensions) (1.1.1)\nRequirement already satisfied: python-dateutil>=2.1 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from jupyter-client>=5.3.4->notebook>=4.0->jupyter_contrib_nbextensions) (2.8.1)\nRequirement already satisfied: jsonschema!=2.5.0,>=2.4 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from nbformat->notebook>=4.0->jupyter_contrib_nbextensions) (3.2.0)\nRequirement already satisfied: prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ipython->jupyter-latex-envs>=1.3.8->jupyter_contrib_nbextensions) (3.0.5)\nRequirement already satisfied: pickleshare in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ipython->jupyter-latex-envs>=1.3.8->jupyter_contrib_nbextensions) (0.7.5)\nRequirement already satisfied: pexpect; sys_platform != \"win32\" in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ipython->jupyter-latex-envs>=1.3.8->jupyter_contrib_nbextensions) (4.8.0)\nRequirement already satisfied: backcall in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ipython->jupyter-latex-envs>=1.3.8->jupyter_contrib_nbextensions) (0.1.0)\nRequirement already satisfied: jedi>=0.10 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ipython->jupyter-latex-envs>=1.3.8->jupyter_contrib_nbextensions) (0.17.0)\nRequirement already satisfied: webencodings in /srv/conda/envs/notebook/lib/python3.7/site-packages (from bleach->nbconvert>=4.2->jupyter_contrib_nbextensions) (0.5.1)\nRequirement already satisfied: packaging in /srv/conda/envs/notebook/lib/python3.7/site-packages (from bleach->nbconvert>=4.2->jupyter_contrib_nbextensions) (20.4)\nRequirement already satisfied: attrs>=17.4.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from jsonschema!=2.5.0,>=2.4->nbformat->notebook>=4.0->jupyter_contrib_nbextensions) (19.3.0)\nRequirement already satisfied: pyrsistent>=0.14.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from jsonschema!=2.5.0,>=2.4->nbformat->notebook>=4.0->jupyter_contrib_nbextensions) (0.16.0)\nRequirement already satisfied: importlib-metadata; python_version < \"3.8\" in /srv/conda/envs/notebook/lib/python3.7/site-packages (from jsonschema!=2.5.0,>=2.4->nbformat->notebook>=4.0->jupyter_contrib_nbextensions) (1.6.0)\nRequirement already satisfied: wcwidth in /srv/conda/envs/notebook/lib/python3.7/site-packages (from prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0->ipython->jupyter-latex-envs>=1.3.8->jupyter_contrib_nbextensions) (0.2.3)\nRequirement already satisfied: ptyprocess>=0.5 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from pexpect; sys_platform != \"win32\"->ipython->jupyter-latex-envs>=1.3.8->jupyter_contrib_nbextensions) (0.6.0)\nRequirement already satisfied: parso>=0.7.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from jedi>=0.10->ipython->jupyter-latex-envs>=1.3.8->jupyter_contrib_nbextensions) (0.7.0)\nRequirement already satisfied: pyparsing>=2.0.2 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from packaging->bleach->nbconvert>=4.2->jupyter_contrib_nbextensions) (2.4.7)\nRequirement already satisfied: zipp>=0.5 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from importlib-metadata; python_version < \"3.8\"->jsonschema!=2.5.0,>=2.4->nbformat->notebook>=4.0->jupyter_contrib_nbextensions) (3.1.0)\n","name":"stdout"}]},{"metadata":{},"cell_type":"markdown","source":"[![xeus-cling](images/xeus-cling.png)](https://github.com/jupyter-xeus/xeus-cling/)\n\nA Jupyter kernel for C++ based on the `cling` C++ interpreter and the `xeus` native implementation of the Jupyter protocol, xeus.\n\n- GitHub repository: https://github.com/jupyter-xeus/xeus-cling/\n- Online documentation: https://xeus-cling.readthedocs.io/"},{"metadata":{},"cell_type":"markdown","source":"## Usage\n\n<div style=\"background: #efffed;\n border: 1px solid grey;\n margin: 8px 0 8px 0;\n text-align: center;\n padding: 8px; \">\n <i class=\"fa-play fa\" \n style=\"font-size: 40px;\n line-height: 40px;\n margin: 8px;\n color: #444;\">\n </i>\n <div>\n To run the selected code cell, hit <pre style=\"background: #efffed\">Shift + Enter</pre>\n </div>\n</div>"},{"metadata":{},"cell_type":"markdown","source":"## Output and error streams\n\n`std::cout` and `std::cerr` are redirected to the notebook frontend."},{"metadata":{"trusted":true},"cell_type":"code","source":"#include <iostream>\n\n std::cout << \"some output2\" << std::endl; \n\n","execution_count":1,"outputs":[{"output_type":"stream","text":"some output2\n","name":"stdout"},{"output_type":"execute_result","execution_count":1,"data":{"text/plain":"@0x7f1462719b40"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"%autosave 60","execution_count":2,"outputs":[{"output_type":"stream","text":"Unknown magic line function %autosave\n","name":"stderr"}]},{"metadata":{"trusted":true},"cell_type":"code","source":"std::cout","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"std::cerr << \"some error\" << std::endl;","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"#include <stdexcept>","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"%%HTML\nThis is <em>really</em> neat!","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"throw std::runtime_error(\"Unknown exception\");","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Omitting the `;` in the last statement of a cell results in an output being printed"},{"metadata":{"trusted":true},"cell_type":"code","source":"int j = 5;","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"j","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"# Interpreting the C++ programming language\n\n`cling` has a broad support of the features of C++. You can define functions, classes, templates, etc ..."},{"metadata":{},"cell_type":"markdown","source":"## Functions"},{"metadata":{"trusted":true},"cell_type":"code","source":"double sqr(double a)\n{\n return a * a;\n}","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"double a = 2.5;\ndouble asqr = sqr(a);\nasqr","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## Classes"},{"metadata":{"trusted":true},"cell_type":"code","source":"class Foo\n{\npublic:\n\n virtual ~Foo() {}\n \n virtual void print(double value) const\n {\n std::cout << \"Foo value = \" << value << std::endl;\n }\n};","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"Foo bar;\nbar.print(1.2);","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## Polymorphism"},{"metadata":{"trusted":true},"cell_type":"code","source":"class Bar : public Foo\n{\npublic:\n\n virtual ~Bar() {}\n \n virtual void print(double value) const\n {\n std::cout << \"Bar value = \" << 2 * value << std::endl;\n }\n};","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"Foo* bar2 = new Bar;\nbar2->print(1.2);\ndelete bar2;","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## Templates"},{"metadata":{"trusted":true},"cell_type":"code","source":"#include <typeinfo>\n\ntemplate <class T>\nclass FooT\n{\npublic:\n \n explicit FooT(const T& t) : m_t(t) {}\n \n void print() const\n {\n std::cout << typeid(T).name() << \" m_t = \" << m_t << std::endl;\n }\n \nprivate:\n \n T m_t;\n};\n\ntemplate <>\nclass FooT<int>\n{\npublic:\n \n explicit FooT(const int& t) : m_t(t) {}\n \n void print() const\n {\n std::cout << \"m_t = \" << m_t << std::endl;\n }\n \nprivate:\n \n int m_t;\n};","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"FooT<double> foot1(1.2);\nfoot1.print();","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"FooT<int> foot2(4);\nfoot2.print();","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## C++11 / C++14 support"},{"metadata":{"trusted":true},"cell_type":"code","source":"class Foo11\n{\npublic:\n \n Foo11() { std::cout << \"Foo11 default constructor\" << std::endl; }\n Foo11(const Foo11&) { std::cout << \"Foo11 copy constructor\" << std::endl; }\n Foo11(Foo11&&) { std::cout << \"Foo11 move constructor\" << std::endl; }\n};","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"Foo11 f1;\nFoo11 f2(f1);\nFoo11 f3(std::move(f1));","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"#include <vector>\n\nstd::vector<int> v = { 1, 2, 3};\nauto iter = ++v.begin();\nv","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"*iter","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"... and also lambda, universal references, `decltype`, etc ..."},{"metadata":{},"cell_type":"markdown","source":"## Documentation and completion\n\n - Documentation for types of the standard library is retrieved on cppreference.com.\n - The quick-help feature can also be enabled for user-defined types and third-party libraries. More documentation on this feature is available at https://xeus-cling.readthedocs.io/en/latest/inline_help.html.\n"},{"metadata":{"trusted":true},"cell_type":"code","source":"?std::vector","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## Using the `display_data` mechanism"},{"metadata":{},"cell_type":"markdown","source":"For a user-defined type `T`, the rich rendering in the notebook and JupyterLab can be enabled by by implementing the function `nl::json mime_bundle_repr(const T& im)`, which returns the JSON mime bundle for that type.\n\nMore documentation on the rich display system of Jupyter and Xeus-cling is available at https://xeus-cling.readthedocs.io/en/latest/rich_display.html"},{"metadata":{},"cell_type":"markdown","source":"### Image example"},{"metadata":{"trusted":true},"cell_type":"code","source":"#include <string>\n#include <fstream>\n\n#include \"nlohmann/json.hpp\"\n\n#include \"xtl/xbase64.hpp\"\n\nnamespace nl = nlohmann;\n\nnamespace im\n{\n struct image\n { \n inline image(const std::string& filename)\n {\n std::ifstream fin(filename, std::ios::binary); \n m_buffer << fin.rdbuf();\n }\n \n std::stringstream m_buffer;\n };\n \n nl::json mime_bundle_repr(const image& i)\n {\n auto bundle = nl::json::object();\n bundle[\"image/png\"] = xtl::base64encode(i.m_buffer.str());\n return bundle;\n }\n}","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"im::image marie(\"images/marie.png\");\nmarie","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"### Audio example"},{"metadata":{"trusted":true},"cell_type":"code","source":"#include <string>\n#include <fstream>\n\n#include \"nlohmann/json.hpp\"\n\n#include \"xtl/xbase64.hpp\"\n\nnamespace nl = nlohmann;\n\nnamespace au\n{\n struct audio\n { \n inline audio(const std::string& filename)\n {\n std::ifstream fin(filename, std::ios::binary); \n m_buffer << fin.rdbuf();\n }\n \n std::stringstream m_buffer;\n };\n \n nl::json mime_bundle_repr(const audio& a)\n {\n auto bundle = nl::json::object();\n bundle[\"text/html\"] =\n std::string(\"<audio controls=\\\"controls\\\"><source src=\\\"data:audio/wav;base64,\")\n + xtl::base64encode(a.m_buffer.str()) +\n \"\\\" type=\\\"audio/wav\\\" /></audio>\";\n return bundle;\n }\n}","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"au::audio drums(\"audio/audio.wav\");\ndrums","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"### Display"},{"metadata":{"trusted":true},"cell_type":"code","source":"#include \"xcpp/xdisplay.hpp\"","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"xcpp::display(drums);","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"### Update-display"},{"metadata":{"trusted":true},"cell_type":"code","source":"#include <string>\n#include \"xcpp/xdisplay.hpp\"\n\n#include \"nlohmann/json.hpp\"\n\nnamespace nl = nlohmann;\n\nnamespace ht\n{\n struct html\n { \n inline html(const std::string& content)\n {\n m_content = content;\n }\n std::string m_content;\n };\n\n nl::json mime_bundle_repr(const html& a)\n {\n auto bundle = nl::json::object();\n bundle[\"text/html\"] = a.m_content;\n return bundle;\n }\n}\n\n// A blue rectangle\nht::html rect(R\"(\n<div style='\n width: 90px;\n height: 50px;\n line-height: 50px;\n background-color: blue;\n color: white;\n text-align: center;'>\nOriginal\n</div>)\");","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"xcpp::display(rect, \"some_display_id\");","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"// Update the rectangle to be red\nrect.m_content = R\"(\n<div style='\n width: 90px;\n height: 50px;\n line-height: 50px;\n background-color: red;\n color: white;\n text-align: center;'>\nUpdated\n</div>)\";\n\nxcpp::display(rect, \"some_display_id\", true);","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"### Clear output"},{"metadata":{"trusted":true},"cell_type":"code","source":"#include <chrono>\n#include <iostream>\n#include <thread>\n\n#include \"xcpp/xdisplay.hpp\"","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"std::cout << \"hello\" << std::endl;\nstd::this_thread::sleep_for(std::chrono::seconds(1));\nxcpp::clear_output(); // will flicker when replacing \"hello\" with \"goodbye\"\nstd::this_thread::sleep_for(std::chrono::seconds(1));\nstd::cout << \"goodbye\" << std::endl;","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"std::cout << \"hello\" << std::endl;\nstd::this_thread::sleep_for(std::chrono::seconds(1));\nxcpp::clear_output(true); // prevents flickering\nstd::this_thread::sleep_for(std::chrono::seconds(1));\nstd::cout << \"goodbye\" << std::endl;","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## Magics\n\nMagics are special commands for the kernel that are not part of the C++ language.\n\nThey are defined with the symbol `%` for a line magic and `%%` for a cell magic.\n\nMore documentation for magics is available at https://xeus-cling.readthedocs.io/en/latest/magics.html."},{"metadata":{"trusted":true},"cell_type":"code","source":"#include <algorithm>\n#include <vector>","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"std::vector<double> to_shuffle = {1, 2, 3, 4};","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"%timeit std::random_shuffle(to_shuffle.begin(), to_shuffle.end());","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"[![xtensor](images/xtensor.png)](https://github.com/QuantStack/xtensor/)\n\n- GitHub repository: https://github.com/QuantStack/xtensor/\n- Online documentation: https://xtensor.readthedocs.io/\n- NumPy to xtensor cheat sheet: http://xtensor.readthedocs.io/en/latest/numpy.html\n\n`xtensor` is a C++ library for manipulating N-D arrays with an API very similar to that of numpy."},{"metadata":{"trusted":true},"cell_type":"code","source":"#include <iostream>\n\n#include \"xtensor/xarray.hpp\"\n#include \"xtensor/xio.hpp\"\n#include \"xtensor/xview.hpp\"\n\nxt::xarray<double> arr1\n {{1.0, 2.0, 3.0},\n {2.0, 5.0, 7.0},\n {2.0, 5.0, 7.0}};\n\nxt::xarray<double> arr2\n {5.0, 6.0, 7.0};\n\nxt::view(arr1, 1) + arr2","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Together with the C++ Jupyter kernel, `xtensor` offers a similar experience as `NumPy` in the Python Jupyter kernel, including broadcasting and universal functions."},{"metadata":{"trusted":true},"cell_type":"code","source":"#include <iostream>\n#include \"xtensor/xarray.hpp\"\n#include \"xtensor/xio.hpp\"","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"xt::xarray<int> arr\n {1, 2, 3, 4, 5, 6, 7, 8, 9};\n\narr.reshape({3, 3});\n\nstd::cout << arr;","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"#include \"xtensor-blas/xlinalg.hpp\"","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"xt::xtensor<double, 2> m = {{1.5, 0.5}, {0.7, 1.0}};\nstd::cout << \"Matrix rank: \" << std::endl << xt::linalg::matrix_rank(m) << std::endl;\nstd::cout << \"Matrix inverse: \" << std::endl << xt::linalg::inv(m) << std::endl;\nstd::cout << \"Eigen values: \" << std::endl << xt::linalg::eigvals(m) << std::endl;","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"xt::xarray<double> arg1 = xt::arange<double>(9);\nxt::xarray<double> arg2 = xt::arange<double>(18);\n\narg1.reshape({3, 3});\narg2.reshape({2, 3, 3});\n\nstd::cout << xt::linalg::dot(arg1, arg2) << std::endl;","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"printf(\"ohoooo\");","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"#include <iostream>","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"std::cout << \"hello\"; \n%%file filename222","execution_count":19,"outputs":[{"output_type":"stream","text":"input_line_19:3:1: error: expected expression\n%%file filename222\n^\ninput_line_19:3:2: error: expected expression\n%%file filename222\n ^\ninput_line_19:3:3: error: use of undeclared identifier 'file'\n%%file filename222\n ^\n","name":"stderr"},{"output_type":"error","ename":"Interpreter Error","evalue":"","traceback":["Interpreter Error: "]}]},{"metadata":{"trusted":true},"cell_type":"code","source":"! print('Hello, %s!' % name)","execution_count":27,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"! %store -r __hello_world","execution_count":24,"outputs":[{"output_type":"stream","text":"sh: 1: %store: not found\n","name":"stdout"}]},{"metadata":{"trusted":true},"cell_type":"code","source":"a++; std::cout << ()\"Matrix rank: \", a) << std::endl","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"! pip install seaborn ","execution_count":23,"outputs":[{"output_type":"stream","text":"Requirement already satisfied: seaborn in /srv/conda/envs/notebook/lib/python3.7/site-packages (0.10.1)\nRequirement already satisfied: scipy>=1.0.1 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from seaborn) (1.5.1)\nRequirement already satisfied: pandas>=0.22.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from seaborn) (1.0.5)\nRequirement already satisfied: numpy>=1.13.3 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from seaborn) (1.19.1)\nRequirement already satisfied: matplotlib>=2.1.2 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from seaborn) (3.3.0)\nRequirement already satisfied: pytz>=2017.2 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from pandas>=0.22.0->seaborn) (2020.1)\nRequirement already satisfied: python-dateutil>=2.6.1 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from pandas>=0.22.0->seaborn) (2.8.1)\nRequirement already satisfied: cycler>=0.10 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from matplotlib>=2.1.2->seaborn) (0.10.0)\nRequirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.3 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from matplotlib>=2.1.2->seaborn) (2.4.7)\nRequirement already satisfied: pillow>=6.2.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from matplotlib>=2.1.2->seaborn) (7.2.0)\nRequirement already satisfied: kiwisolver>=1.0.1 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from matplotlib>=2.1.2->seaborn) (1.2.0)\nRequirement already satisfied: six>=1.5 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from python-dateutil>=2.6.1->pandas>=0.22.0->seaborn) (1.15.0)\n","name":"stdout"}]},{"metadata":{"trusted":true},"cell_type":"code","source":"! ","execution_count":null,"outputs":[]}],"metadata":{"kernelspec":{"display_name":"C++14","language":"C++14","name":"xcpp14"},"language_info":{"codemirror_mode":"text/x-c++src","file_extension":".cpp","mimetype":"text/x-c++src","name":"c++","version":"14"},"celltoolbar":"Attachments"},"nbformat":4,"nbformat_minor":2}
@pflegende
Copy link
Author

no ipynb files alowed or "supported" on gist ...
:(

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment