From 940fe6c599ffc9fa56a4b881ff41200596a6ec2b Mon Sep 17 00:00:00 2001 From: Julian Schacher Date: Sun, 7 Oct 2018 19:32:16 +0200 Subject: [PATCH] Add Monte Carlo Integration in Emojicode. --- .../code/emojicode/monte_carlo.emojic | 54 +++++++++++++++++++ .../monte_carlo_integration.md | 4 ++ 2 files changed, 58 insertions(+) create mode 100644 contents/monte_carlo_integration/code/emojicode/monte_carlo.emojic diff --git a/contents/monte_carlo_integration/code/emojicode/monte_carlo.emojic b/contents/monte_carlo_integration/code/emojicode/monte_carlo.emojic new file mode 100644 index 000000000..759b81223 --- /dev/null +++ b/contents/monte_carlo_integration/code/emojicode/monte_carlo.emojic @@ -0,0 +1,54 @@ +πŸ‡ ☝️ πŸ‡ + πŸ–πŸ†• x πŸ’― + πŸ–πŸ†• y πŸ’― + + πŸ†• 🍼 x πŸ’― 🍼 y πŸ’― πŸ‡ πŸ‰ + + ❗️ πŸ“ͺ ➑️ πŸ’― πŸ‡ + ↩️ x + πŸ‰ + + ❗️ πŸ“« ➑️ πŸ’― πŸ‡ + ↩️ y + πŸ‰ +πŸ‰ + +πŸ‡ πŸŒ• πŸ‡ + πŸ–πŸ†• radius πŸ’― + + πŸ†• given_radius πŸ’― πŸ‡ + 🏧 given_radius❗️ ➑️ πŸ–radius + πŸ‰ + + ❗️ πŸ“₯ point ☝️ ➑️ πŸ‘Œ πŸ‡ + πŸ“ͺ point❗️ ➑️ point_x + πŸ“« point❗️ ➑️ point_y + ↩️ 🀜point_x βœ–οΈ point_x βž• point_y βœ–οΈ point_yπŸ€› ◀️ 🀜radius βœ–οΈ radiusπŸ€› + πŸ‰ +πŸ‰ + +πŸ‡ 🀑 πŸ‡ + πŸ‡ ❗️ πŸƒβ€β™€οΈ samples πŸ”’ ➑️ πŸ’― πŸ‡ + πŸ†•πŸŒ•πŸ†• 1.0 ❗️ ➑️ circle + 0 ➑️ πŸ–πŸ†• count + + πŸ†•πŸŽ°πŸ†• ❗️ ➑️ random + + πŸ”‚ i πŸ†•β©β© 0 samples❗️ πŸ‡ + πŸ†•β˜οΈπŸ†• πŸ’― random❗️ πŸ’― random❗️❗️ ➑️ point + β†ͺ️ πŸ“₯ circle point❗️ πŸ‡ + count ⬅️ βž• 1 + πŸ‰ + πŸ‰ + + ↩️ 4.0 βœ–οΈ πŸ’― count❗️ βž— πŸ’―samples❗️ + πŸ‰ +πŸ‰ + +🏁 πŸ‡ + πŸ˜€ πŸ”€Running with 10,000,000 samples.πŸ”€β—οΈ + πŸƒβ€β™€οΈπŸ‡πŸ€‘ 10000000❗️ ➑️ pi_estimate + πŸ˜€ πŸͺπŸ”€The estimate of pi is: πŸ”€ πŸ”‘ pi_estimate 10❗πŸͺ❗️ + 🏧 🀜pi_estimate βž– πŸ₯§πŸ•ŠπŸ’― β—οΈπŸ€›β—οΈ βž— πŸ₯§πŸ•ŠπŸ’― ❗️ βœ–οΈ 100 ➑️ percent_error + πŸ˜€ πŸͺπŸ”€The percent error is: πŸ”€ πŸ”‘ percent_error 10❗ πŸ”€%πŸ”€πŸͺ❗️ +πŸ‰ diff --git a/contents/monte_carlo_integration/monte_carlo_integration.md b/contents/monte_carlo_integration/monte_carlo_integration.md index 838409292..4106a0dc1 100644 --- a/contents/monte_carlo_integration/monte_carlo_integration.md +++ b/contents/monte_carlo_integration/monte_carlo_integration.md @@ -71,6 +71,8 @@ each point is tested to see whether it's in the circle or not: [import:1-4, lang:"ruby"](code/ruby/monte_carlo.rb) {% sample lang="f90" %} [import:1-8, lang:"fortran"](code/fortran/monte_carlo.f90) +{% sample lang="emojic" %} +[import:23-27, lang:"emojicode"](code/emojicode/monte_carlo.emojic) {% endmethod %} If it's in the circle, we increase an internal count by one, and in the end, @@ -141,6 +143,8 @@ Feel free to submit your version via pull request, and thanks for reading! [import, lang:"ruby"](code/ruby/monte_carlo.rb) {% sample lang="f90" %} [import, lang:"fortran"](code/fortran/monte_carlo.f90) +{% sample lang="emojic" %} +[import, lang:"emojicode"](code/emojicode/monte_carlo.emojic) {% endmethod %}