Initial reorg.
This is largely the same as #305, but updated for the current tree.
This commit is contained in:
1
crates/misc/py/examples/gcd/.gitignore
vendored
Normal file
1
crates/misc/py/examples/gcd/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
gcd.wasm
|
||||
15
crates/misc/py/examples/gcd/README.md
Normal file
15
crates/misc/py/examples/gcd/README.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# Build example's file
|
||||
|
||||
To build `gcd.wasm` use rustc (nightly) for wasm32 target with debug information:
|
||||
|
||||
```
|
||||
rustc +nightly --target=wasm32-unknown-unknown -g gcd.rs --crate-type=cdylib
|
||||
```
|
||||
|
||||
# Run example
|
||||
|
||||
Point path to the built wasmtime_py library location when running python, e.g.
|
||||
|
||||
```
|
||||
PYTHONPATH=../../target/debug python3 run.py
|
||||
```
|
||||
19
crates/misc/py/examples/gcd/gcd.rs
Normal file
19
crates/misc/py/examples/gcd/gcd.rs
Normal file
@@ -0,0 +1,19 @@
|
||||
|
||||
#[inline(never)]
|
||||
#[no_mangle]
|
||||
pub extern fn gcd(m_: u32, n_: u32) -> u32
|
||||
{
|
||||
let mut m = m_;
|
||||
let mut n = n_;
|
||||
while m > 0 {
|
||||
let tmp = m;
|
||||
m = n % m;
|
||||
n = tmp;
|
||||
}
|
||||
return n;
|
||||
}
|
||||
|
||||
#[no_mangle]
|
||||
pub extern fn test() -> u32 {
|
||||
gcd(24, 9)
|
||||
}
|
||||
5
crates/misc/py/examples/gcd/run.py
Normal file
5
crates/misc/py/examples/gcd/run.py
Normal file
@@ -0,0 +1,5 @@
|
||||
import wasmtime
|
||||
import gcd
|
||||
|
||||
print("gcd(27, 6) =", gcd.gcd(27, 6))
|
||||
|
||||
Reference in New Issue
Block a user