reorganize: consolidate demo directories

- Consolidate _demo, _pydemo, _embdemo into single _demo directory structure
- Organize demos by language: _demo/{go,py,c,embed}/
- Categorize demos based on imports:
- Python library demos (py imports) → _demo/py/
- C/C++ library demos (c/cpp imports) → _demo/c/
- Go-specific demos → _demo/go/
- Embedded demos → _demo/embed/
- Move C-related demos (asm*, cabi*, cgo*, linkname, targetsbuild) from go/ to c/
- Update all path references in README.md and GitHub workflows
- Improve demo organization and navigation as requested in #1256

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Li Jie
2025-09-09 15:06:55 +08:00
parent 849b23079b
commit 64df39b3c5
96 changed files with 61 additions and 52 deletions

12
_demo/py/callpy/callpy.go Normal file
View File

@@ -0,0 +1,12 @@
package main
import (
"github.com/goplus/lib/py"
"github.com/goplus/lib/py/math"
"github.com/goplus/lib/py/std"
)
func main() {
x := math.Sqrt(py.Float(2)) // x = sqrt(2)
std.Print(py.Str("sqrt(2) ="), x) // print("sqrt(2) =", x)
}

5
_demo/py/go.mod Normal file
View File

@@ -0,0 +1,5 @@
module github.com/goplus/llgo/_demo/py
go 1.20
require github.com/goplus/lib v0.2.0

2
_demo/py/go.sum Normal file
View File

@@ -0,0 +1,2 @@
github.com/goplus/lib v0.2.0 h1:AjqkN1XK5H23wZMMlpaUYAMCDAdSBQ2NMFrLtSh7W4g=
github.com/goplus/lib v0.2.0/go.mod h1:SgJv3oPqLLHCu0gcL46ejOP3x7/2ry2Jtxu7ta32kp0=

22
_demo/py/matrix/matrix.go Normal file
View File

@@ -0,0 +1,22 @@
package main
import (
"github.com/goplus/lib/py"
"github.com/goplus/lib/py/numpy"
"github.com/goplus/lib/py/std"
)
func main() {
a := py.List(
py.List(1.0, 2.0, 3.0),
py.List(4.0, 5.0, 6.0),
py.List(7.0, 8.0, 9.0),
)
b := py.List(
py.List(9.0, 8.0, 7.0),
py.List(6.0, 5.0, 4.0),
py.List(3.0, 2.0, 1.0),
)
x := numpy.Add(a, b)
std.Print(py.Str("a+b ="), x)
}

15
_demo/py/max/max.go Normal file
View File

@@ -0,0 +1,15 @@
package main
import (
"github.com/goplus/lib/py"
"github.com/goplus/lib/py/std"
)
func main() {
x := std.Max(py.Float(3.0), py.Float(9.0), py.Float(23.0), py.Float(100.0))
std.Print(x)
list := py.List(3.0, 9.0, 23.0, 100.0)
y := std.Max(std.Iter(list))
std.Print(y)
}

10
_demo/py/pi/pi.go Normal file
View File

@@ -0,0 +1,10 @@
package main
import (
"github.com/goplus/lib/c"
"github.com/goplus/lib/py/math"
)
func main() {
c.Printf(c.Str("pi = %f\n"), math.Pi.Float64())
}

11
_demo/py/print/print.go Normal file
View File

@@ -0,0 +1,11 @@
package main
import (
"github.com/goplus/lib/py"
"github.com/goplus/lib/py/std"
)
func main() {
x := py.Float(3.14)
std.Print(x)
}

View File

@@ -0,0 +1,13 @@
package main
import (
"github.com/goplus/lib/c"
"github.com/goplus/lib/py"
"github.com/goplus/lib/py/statistics"
)
func main() {
list := py.List(1.0, 2.0, 3.0, 4.0, 4.0)
mean := statistics.Mean(list)
c.Printf(c.Str("mean(1, 2, 3, 4, 4) = %f\n"), mean.Float64())
}

16
_demo/py/tensor/tensor.go Normal file
View File

@@ -0,0 +1,16 @@
package main
import (
"github.com/goplus/lib/py"
"github.com/goplus/lib/py/std"
"github.com/goplus/lib/py/torch"
)
func main() {
data := py.List(
py.List(1.0, 2.0),
py.List(3.0, 4.0),
)
x := torch.Tensor(data)
std.Print(x)
}