orbitmines-physics 0.0.1.test.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 63a0d9398fa66a77621d46d523dcde34b2d06f678c1f75311fb2a36ad9680980
4
+ data.tar.gz: 332920541260bd980c0beb27e6286d683467304a27f60327173b69995a1e2787
5
+ SHA512:
6
+ metadata.gz: 297fb031cfc5526f73d34f1717bd4600e34dc4ff105d9532fc5da2f2912b52746d89aa9cc79db2976a1c802d762756e4cbf08bf18c56fd71e5653ba5a8b2211d
7
+ data.tar.gz: 9905f0e9a17e1d3eee60f1c7b10d859c405b40461c12c5f6ea38b02b737c0825d43a938c6a078a5a6242441b7c97610675e55e45e3bf63e0cc420013b55b679d
data/README.md ADDED
@@ -0,0 +1,44 @@
1
+ # orbitmines-physics - Ruby
2
+
3
+ > Generated by `npx ray gen` from [implementation/physics.ray](../../implementation/physics.ray/) and [implementation/gen](../../implementation/gen/). Do not edit - change the `.ray` and regenerate.
4
+
5
+ The physics library in Ruby: the theories and their rules, the continuous model derived from them (the medium), and the settings a simulation of sources - stars, planets, any bodies a theory has - is planned by. Back to the [project README](../../README.md).
6
+
7
+ ## Installation
8
+
9
+ ```bash
10
+ # Ruby
11
+ gem install orbitmines-physics
12
+ ```
13
+
14
+ Or in a Gemfile: `gem "orbitmines-physics"`. Ruby 3.1 or later.
15
+
16
+ ## Using it
17
+
18
+ ```ruby
19
+ require "orbitmines/physics"
20
+ include OrbitMines::Physics
21
+
22
+ # a theory, and its continuous model on the CPU: a box of cells, the vacuum settled, one body in it
23
+ medium = G.medium(31, 96, 3, 8, 1)
24
+ medium.local_rays = true
25
+ medium.add(Hole.new(x: 15, y: 15, mx: 0.3, ways: 1))
26
+ medium.seed
27
+ 5.times { medium.tick }
28
+ ```
29
+
30
+ Names Ruby reserves are spelled with a leading underscore where they are a method's own (a parameter `N` is `_N`); members keep their names (`medium.N`).
31
+
32
+ ## A simulation of sources: the plan
33
+
34
+ A run is set by a `Plan`: how many sources, how big a box, and four kinds of setting - `Resolution` (how finely the medium reads), `Budget` (how much of the device it may take), `Batching` (how a run larger than the device is carried) and `Output` (what comes back). The plan says what the device must hold before anything runs.
35
+
36
+ ```ruby
37
+ plan = Plan.new(sources: 1e9, side: 241)
38
+ plan.budget.compact = true # twelve bytes a source
39
+ puts plan.report(16 * 2**30, 2**31)
40
+ ```
41
+
42
+ ## On the GPU
43
+
44
+ The GPU runtime of the medium is being carried into `.ray`, so that every language runs the same thing on every backend. Until then it runs from the [TypeScript package](../physics.ts/README.md).
@@ -0,0 +1,4 @@
1
+ # orbitmines/physics/notation - the markup a proof is set in: `Notation.parse(src)` reads it into pieces,
2
+ # `Notation.html(src)` sets it for a page, `Notation.set(pieces, setter)` walks it through a Setter of your own.
3
+ # GENERATED by `npx ray gen` from implementation/physics.ray. Do not edit.
4
+ require "orbitmines/physics"