Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
4f4129c
goslbuf: nbuffs variables working except for sync functions
rcoreilly Jun 29, 2025
f4e21dd
goslbuf: update tests
rcoreilly Jun 29, 2025
49f6ed7
goslbuf: sync all done, basic example now using -- works great!
rcoreilly Jun 29, 2025
7760d53
Merge branch 'main' into goslbuf
rcoreilly Jun 30, 2025
ec799b7
goslbuf: docs fixes except plot
rcoreilly Jun 30, 2025
c98eff5
goslbuf: fix test
rcoreilly Jun 30, 2025
96ac03a
goslbuf: add labels to tensorgrid, nuke simatgrid which is now subsum…
rcoreilly Jul 5, 2025
9c38655
goslbuf: go mod tidy
rcoreilly Jul 5, 2025
31b2e1a
update core
kkoreilly Jul 5, 2025
9f89e47
goslbuf: updates from review, add tensorcore tests
rcoreilly Jul 6, 2025
dc4f755
goslbuf: add RepeatsToBlank for grouping in TensorGrid labels
rcoreilly Jul 6, 2025
babf02d
goslbuf: add toolbar for grid in lab
rcoreilly Jul 6, 2025
eff2656
DirFromTable recreates subdirs from column names; added tessts
rcoreilly Jul 7, 2025
ec0a0a4
goslbuf: implement tensor.ToBinary, FromBinary, and tensorfs.Tar and …
rcoreilly Jul 7, 2025
f7ab6e1
goslbuf: add back self-categories for tensorfs, table so they show up…
rcoreilly Jul 8, 2025
32d85ad
goslbuf update to latest keymaps core version
rcoreilly Jul 8, 2025
e69d5b7
goslbuf go mod update again
rcoreilly Jul 8, 2025
f59834f
goslbuf: tensorfs listLong and listShort are now unexported impl as t…
rcoreilly Jul 8, 2025
993826b
goslbuf: fix issue with header disappearing on tablecore/table
rcoreilly Jul 8, 2025
4356e56
goslbuf: simmer writes job.version to ensure that stays accurate; don…
rcoreilly Jul 8, 2025
38d61ac
goslbuf: review fixes
rcoreilly Jul 9, 2025
29f1da6
goslbuf: update to latest core
rcoreilly Jul 9, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/content/gpu.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ TODO:

The grouped global variables can be mapped directly to a corresponding [tensorfs](../tensor/tensorfs) directory, which provides direct accessibility to this data within interactive Goal usage. Further, different sets of variable values can be easily managed by saving and loading different such directories.

```Go
```go
gosl.ToDataFS("path/to/dir" [, system]) // set tensorfs items in given path to current global vars

gosl.FromDataFS("path/to/dir" [,system]) // set global vars from given tensorfs path
Expand Down
2 changes: 1 addition & 1 deletion docs/content/shell.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ Each host maintains its own working directory and environment variables, which c
* `@name` then refers to the given host in all subsequent commands, with `@0` referring to the local host where the goal script is running.

* You can use a variable name for the server, like this (the explicit `$ $` shell mode is required because a line starting with `{` is not recognized as shell code):
```Go
```goal
server := "@myserver"
${server} ls$
```
Expand Down
2 changes: 1 addition & 1 deletion docs/content/stats.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ gdt := stats.GroupStatsAsTableNoStatName(dir)

fmt.Println("dt:", dt)
fmt.Println("tensorfs listing:")
fmt.Println(dir.ListLong(true, 2))
fmt.Println(dir.ListAll())

fmt.Println("gdt:", gdt)
```
Expand Down
4 changes: 4 additions & 0 deletions docs/content/table.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
+++
Categories = ["Table"]
+++

**table** provides a DataTable / DataFrame structure similar to [pandas](https://pandas.pydata.org/) and [xarray](http://xarray.pydata.org/en/stable/) in Python, and [Apache Arrow Table](https://github.com/apache/arrow/tree/master/go/arrow/array/table.go), using [[tensor]] n-dimensional columns aligned by common outermost row dimension.

Data in the table is accessed by first getting the `Column` tensor (typically by name), and then using the [[doc:tensor.RowMajor]] methods to access data within that tensor in a row-wise manner:
Expand Down
22 changes: 16 additions & 6 deletions docs/content/tensorfs.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
+++
Categories = ["Tensorfs"]
+++

**tensorfs** provides a virtual filesystem for [[tensor]] data, which can be accessed for example in [[Goal]] [[math]] mode expressions, like the variable storage system in [IPython / Jupyter](https://ipython.readthedocs.io/en/stable/interactive/tutorial.html), with the advantage that the hierarchical structure of a filesystem allows data to be organized in more intuitive and effective ways. For example, data at different time scales can be put into different directories, or multiple different statistics computed on a given set of data can be put into a subdirectory. [[stats#Groups]] creates pivot-table style groups of values as directories, for example.

`tensorfs` implements the Go [fs](https://pkg.go.dev/io/fs) interface, and can be accessed using fs-general tools, including the cogent core `filetree` and the [[Goal]] shell.
Expand All @@ -12,7 +16,7 @@ There are type-specific accessor methods for the standard high-frequency data ty
dir, _ := tensorfs.NewDir("root")
x := dir.Float64("data", 3, 3)

fmt.Println(dir.ListLong(true, 2))
fmt.Println(dir.ListAll())
fmt.Println(x)
```

Expand All @@ -32,7 +36,13 @@ There are also a few other variants of the `Value` functionality:
* `ValueType` takes a `reflect.Kind` arg for the data type, which can then be a variable.
* `SetTensor` sets a tensor to a node of given name, creating the node if needed. This is also available as the `Set` method on a directory node.

`tensorfs.DirTable` returns a [[table]] with all the tensors under a given directory node, which can then be used for making plots or doing other forms of data analysis. This works best when each tensor has the same outer-most row dimension. The table is persistent and very efficient, using direct pointers to the underlying tensor values.
## DirTable and tar files

[[doc:tensorfs.DirTable]] returns a [[table]] with all the tensors under a given directory node, which can then be used for making plots or doing other forms of data analysis. This works best when each tensor has the same outer-most row dimension. The table is persistent and very efficient, using direct pointers to the underlying tensor values.

Use [[doc:tensorfs.DirFromTable]] to set the contents of a directory from a table. This will also use any slashes in column names to recreate the hierarchical structure of directories and subdirectories, but note that the `DirTable` command only uses the last two levels of the path name for naming columns (i.e., the leaf name and its immediate parent).

Use [[doc:tensorfs.Tar]] and [[doc:tensorfs.Untar]] if you want to save and reload a full directory structure in an efficient manner (also doesn't depend on row alignment).

## Directories

Expand All @@ -45,7 +55,7 @@ dir, _ := tensorfs.NewDir("root")
subdir := dir.Dir("sub")
x := subdir.Float64("data", 3, 3)

fmt.Println(dir.ListLong(true, 2))
fmt.Println(dir.ListAll())
fmt.Println(x)
```

Expand All @@ -63,7 +73,7 @@ subsub := subdir.Dir("stats")
y := subsub.Float64("y", 1)
z := subsub.Float64("z", 1)

fmt.Println(dir.ListLong(true, 2))
fmt.Println(dir.ListAll())

vals := dir.ValuesFunc(nil) // nil = get everything
for _, v := range vals {
Expand All @@ -81,7 +91,7 @@ subsub := subdir.Dir("stats")
y := subsub.Float64("y", 1)
z := subsub.Float64("z", 1)

fmt.Println(dir.ListLong(true, 2))
fmt.Println(dir.ListAll())

vals := dir.ValuesFunc(func(n *tensorfs.Node) bool {
if n.IsDir() { // can filter by dirs here too (get to see everything)
Expand All @@ -101,4 +111,4 @@ There are parallel `Node` and `Value` access methods for directory nodes, with t
* `tsrs := dir.ValuesFunc(<filter func>)` walks down directories (unless filtered) and returns a flat list of all tensors found. Goes in "directory order" = order nodes were added.
* `tsrs := dir.ValuesAlphaFunc(<filter func>)` is like `ValuesFunc` but traverses in alpha order at each node.


##
10 changes: 10 additions & 0 deletions examples/grids/grids.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,5 +36,15 @@ func main() {
core.NewToolbar(bar).Maker(etv.MakeToolbar)
})

lt, _ := tv.NewTab("Labels")
gv := tensorcore.NewTensorGrid(lt)
tsr := pats.Column("Input").RowTensor(0).Clone()
tensorcore.AddGridStylerTo(tsr, func(s *tensorcore.GridStyle) {
s.ColumnRotation = 45
})
gv.SetTensor(tsr)
gv.RowLabels = []string{"Row 0", "Row 1,2", "", "Row 3", "Row 4"}
gv.ColumnLabels = []string{"Col 0,1", "", "Col 2", "Col 3", "Col 4"}

b.RunMainWindow()
}
4 changes: 2 additions & 2 deletions examples/simmer/jobs.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions examples/simmer/jobs.goal
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ func (sr *Simmer) JobStatus(jid string, force bool) {
goalib.WriteFile("job.status", "Unknown")
}
sstat := goalib.ReadFile("job.status")
if !force && (sstat == "Finalized" || sstat == "Fetched") {
if !force && (sstat == "Finalized" || sstat == "Fetched" || sstat == "Canceled") {
return
}
if sr.IsSlurm() {
Expand Down Expand Up @@ -259,7 +259,7 @@ func (sr *Simmer) GetMeta(jid string) {
cd {jpath}
// fmt.Println("getting meta for", jid)
jfiles := $/bin/ls -1 job.*$ // local
meta := fmt.Sprintf("%s = %q\n", "Version", sr.Config.Version) + fmt.Sprintf("%s = %q\n", "Server", sr.Config.Server.Name)
meta := fmt.Sprintf("%s = %q\n", "Server", sr.Config.Server.Name)
for _, jf := range goalib.SplitLines(jfiles) {
if strings.Contains(jf, "sbatch") || strings.HasSuffix(jf, ".out") || strings.HasSuffix(jf, ".gz") {
continue
Expand Down
1 change: 1 addition & 0 deletions examples/simmer/submit.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions examples/simmer/submit.goal
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,7 @@ func (sr *Simmer) NewJob(jp SubmitParams) {
goalib.WriteFile("job.message", message)
goalib.WriteFile("job.args", args)
goalib.WriteFile("job.label", label)
goalib.WriteFile("job.version", sr.Config.Version)
goalib.WriteFile("job.submit", time.Now().Format(sr.Config.TimeFormat))
goalib.WriteFile("job.status", "Submitted")

Expand Down
20 changes: 10 additions & 10 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,16 @@ go 1.23.4
// https://github.com/googleapis/go-genproto/issues/1015

require (
cogentcore.org/core v0.3.12-0.20250629235109-951ce94de7ce
cogentcore.org/core v0.3.12-0.20250709004609-fcc0ceae20b3
github.com/cogentcore/readline v0.1.3
github.com/cogentcore/yaegi v0.0.0-20250622201820-b7838bdd95eb
github.com/mitchellh/go-homedir v1.1.0
github.com/nsf/termbox-go v1.1.1
github.com/stretchr/testify v1.10.0
golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa
golang.org/x/tools v0.23.0
golang.org/x/tools v0.33.0
gonum.org/v1/gonum v0.15.0
google.golang.org/grpc v1.72.1
google.golang.org/grpc v1.73.0
google.golang.org/protobuf v1.36.6
)

Expand Down Expand Up @@ -58,14 +58,14 @@ require (
github.com/rogpeppe/go-internal v1.13.1 // indirect
github.com/tdewolff/parse/v2 v2.7.19 // indirect
github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739 // indirect
golang.org/x/crypto v0.38.0 // indirect
golang.org/x/crypto v0.39.0 // indirect
golang.org/x/image v0.25.0 // indirect
golang.org/x/mod v0.19.0 // indirect
golang.org/x/net v0.40.0 // indirect
golang.org/x/sync v0.14.0 // indirect
golang.org/x/mod v0.25.0 // indirect
golang.org/x/net v0.41.0 // indirect
golang.org/x/sync v0.15.0 // indirect
golang.org/x/sys v0.33.0 // indirect
golang.org/x/text v0.25.0 // indirect
google.golang.org/genproto v0.0.0-20250603155806-513f23925822 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a // indirect
golang.org/x/text v0.26.0 // indirect
google.golang.org/genproto v0.0.0-20250707201910-8d1bb00bc6a7 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
64 changes: 32 additions & 32 deletions go.sum
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
cogentcore.org/core v0.3.12-0.20250629235109-951ce94de7ce h1:sF2rNFNzzof1mW/ZkbxjEFgd5mZC52V4qgtbY4F80AA=
cogentcore.org/core v0.3.12-0.20250629235109-951ce94de7ce/go.mod h1:A82XMVcq3XOiG9TpT+rt7/iYD5Eu87bxxmTk8O7F4cM=
cogentcore.org/core v0.3.12-0.20250709004609-fcc0ceae20b3 h1:5rnkjHt+D9iQKjEhpgkc2FH5E/biP88BOS0mq2Jb0hw=
cogentcore.org/core v0.3.12-0.20250709004609-fcc0ceae20b3/go.mod h1:1C0LnfjobosaRX6VqVz6O+ZJ6k85su3Ixx1FQPHSHIk=
github.com/Bios-Marcel/wastebasket/v2 v2.0.3 h1:TkoDPcSqluhLGE+EssHu7UGmLgUEkWg7kNyHyyJ3Q9g=
github.com/Bios-Marcel/wastebasket/v2 v2.0.3/go.mod h1:769oPCv6eH7ugl90DYIsWwjZh4hgNmMS3Zuhe1bH6KU=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
Expand Down Expand Up @@ -65,8 +65,8 @@ github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6
github.com/gomarkdown/markdown v0.0.0-20250311123330-531bef5e742b h1:EY/KpStFl60qA17CptGXhwfZ+k1sFNJIUNR8DdbcuUk=
github.com/gomarkdown/markdown v0.0.0-20250311123330-531bef5e742b/go.mod h1:JDGcbDT52eL4fju3sZ4TeHGsQwhG9nbDV21aMyhwPoA=
github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/gorilla/css v1.0.1 h1:ntNaBIghp6JmvWnxbZKANoLyuXTPZ4cAMlo6RyhlbO8=
Expand Down Expand Up @@ -141,31 +141,31 @@ github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljT
github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA=
go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A=
go.opentelemetry.io/otel v1.34.0 h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY=
go.opentelemetry.io/otel v1.34.0/go.mod h1:OWFPOQ+h4G8xpyjgqo4SxJYdDQ/qmRH+wivy7zzx9oI=
go.opentelemetry.io/otel/metric v1.34.0 h1:+eTR3U0MyfWjRDhmFMxe2SsW64QrZ84AOhvqS7Y+PoQ=
go.opentelemetry.io/otel/metric v1.34.0/go.mod h1:CEDrp0fy2D0MvkXE+dPV7cMi8tWZwX3dmaIhwPOaqHE=
go.opentelemetry.io/otel/sdk v1.34.0 h1:95zS4k/2GOy069d321O8jWgYsW3MzVV+KuSPKp7Wr1A=
go.opentelemetry.io/otel/sdk v1.34.0/go.mod h1:0e/pNiaMAqaykJGKbi+tSjWfNNHMTxoC9qANsCzbyxU=
go.opentelemetry.io/otel/sdk/metric v1.34.0 h1:5CeK9ujjbFVL5c1PhLuStg1wxA7vQv7ce1EK0Gyvahk=
go.opentelemetry.io/otel/sdk/metric v1.34.0/go.mod h1:jQ/r8Ze28zRKoNRdkjCZxfs6YvBTG1+YIqyFVFYec5w=
go.opentelemetry.io/otel/trace v1.34.0 h1:+ouXS2V8Rd4hp4580a8q23bg0azF2nI8cqLYnC8mh/k=
go.opentelemetry.io/otel/trace v1.34.0/go.mod h1:Svm7lSjQD7kG7KJ/MUHPVXSDGz2OX4h0M2jHBhmSfRE=
go.opentelemetry.io/otel v1.35.0 h1:xKWKPxrxB6OtMCbmMY021CqC45J+3Onta9MqjhnusiQ=
go.opentelemetry.io/otel v1.35.0/go.mod h1:UEqy8Zp11hpkUrL73gSlELM0DupHoiq72dR+Zqel/+Y=
go.opentelemetry.io/otel/metric v1.35.0 h1:0znxYu2SNyuMSQT4Y9WDWej0VpcsxkuklLa4/siN90M=
go.opentelemetry.io/otel/metric v1.35.0/go.mod h1:nKVFgxBZ2fReX6IlyW28MgZojkoAkJGaE8CpgeAU3oE=
go.opentelemetry.io/otel/sdk v1.35.0 h1:iPctf8iprVySXSKJffSS79eOjl9pvxV9ZqOWT0QejKY=
go.opentelemetry.io/otel/sdk v1.35.0/go.mod h1:+ga1bZliga3DxJ3CQGg3updiaAJoNECOgJREo9KHGQg=
go.opentelemetry.io/otel/sdk/metric v1.35.0 h1:1RriWBmCKgkeHEhM7a2uMjMUfP7MsOF5JpUCaEqEI9o=
go.opentelemetry.io/otel/sdk/metric v1.35.0/go.mod h1:is6XYCUMpcKi+ZsOvfluY5YstFnhW0BidkR+gL+qN+w=
go.opentelemetry.io/otel/trace v1.35.0 h1:dPpEfJu1sDIqruz7BHFG3c7528f6ddfSWfFDVt/xgMs=
go.opentelemetry.io/otel/trace v1.35.0/go.mod h1:WUk7DtFp1Aw2MkvqGdwiXYDZZNvA/1J8o6xRXLrIkyc=
golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8=
golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw=
golang.org/x/crypto v0.39.0 h1:SHs+kF4LP+f+p14esP5jAoDpHU8Gu/v9lFRK6IT5imM=
golang.org/x/crypto v0.39.0/go.mod h1:L+Xg3Wf6HoL4Bn4238Z6ft6KfEpN0tJGo53AAPC632U=
golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa h1:FRnLl4eNAQl8hwxVVC17teOw8kdjVDVAiFMtgUdTSRQ=
golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa/go.mod h1:zk2irFbV9DP96SEBUUAy67IdHUaZuSnrz1n472HUCLE=
golang.org/x/image v0.0.0-20190703141733-d6a02ce849c9/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
golang.org/x/image v0.25.0 h1:Y6uW6rH1y5y/LK1J8BPWZtr6yZ7hrsy6hFrXjgsc2fQ=
golang.org/x/image v0.25.0/go.mod h1:tCAmOEGthTtkalusGp1g3xa2gke8J6c2N565dTyl9Rs=
golang.org/x/mod v0.19.0 h1:fEdghXQSo20giMthA7cd28ZC+jts4amQ3YMXiP5oMQ8=
golang.org/x/mod v0.19.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/mod v0.25.0 h1:n7a+ZbQKQA/Ysbyb0/6IbB1H/X41mKgbhfv7AfG/44w=
golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
golang.org/x/net v0.0.0-20211216030914-fe4d6282115f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY=
golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds=
golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ=
golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
golang.org/x/net v0.41.0 h1:vBTly1HeNPEn3wtREYfy4GZ/NECgw2Cnl+nK6Nz3uvw=
golang.org/x/net v0.41.0/go.mod h1:B/K4NNqkfmg07DQYrbwvSluqCJOOXwUjeb/5lOisjbA=
golang.org/x/sync v0.15.0 h1:KWH3jNZsfyT6xfAfKiz6MRNmd46ByHDYaZ7KSkCtdW8=
golang.org/x/sync v0.15.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
Expand All @@ -177,20 +177,20 @@ golang.org/x/term v0.32.0 h1:DR4lr0TjUs3epypdhTOkMmuF5CDFJ/8pOnbzMZPQ7bg=
golang.org/x/term v0.32.0/go.mod h1:uZG1FhGx848Sqfsq4/DlJr3xGGsYMu/L5GW4abiaEPQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4=
golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA=
golang.org/x/text v0.26.0 h1:P42AVeLghgTYr4+xUnTRKDMqpar+PtX7KWuNQL21L8M=
golang.org/x/text v0.26.0/go.mod h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.23.0 h1:SGsXPZ+2l4JsgaCKkx+FQ9YZ5XEtA1GZYuoDjenLjvg=
golang.org/x/tools v0.23.0/go.mod h1:pnu6ufv6vQkll6szChhK3C3L/ruaIv5eBeztNG8wtsI=
golang.org/x/tools v0.33.0 h1:4qz2S3zmRxbGIhDIAgjxvFutSvH5EfnsYrRBj0UI0bc=
golang.org/x/tools v0.33.0/go.mod h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
gonum.org/v1/gonum v0.15.0 h1:2lYxjRbTYyxkJxlhC+LvJIx3SsANPdRybu1tGj9/OrQ=
gonum.org/v1/gonum v0.15.0/go.mod h1:xzZVBJBtS+Mz4q0Yl2LJTk+OxOg4jiXZ7qBoM0uISGo=
google.golang.org/genproto v0.0.0-20250603155806-513f23925822 h1:rHWScKit0gvAPuOnu87KpaYtjK5zBMLcULh7gxkCXu4=
google.golang.org/genproto v0.0.0-20250603155806-513f23925822/go.mod h1:HubltRL7rMh0LfnQPkMH4NPDFEWp0jw3vixw7jEM53s=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a h1:v2PbRU4K3llS09c7zodFpNePeamkAwG3mPrAery9VeE=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
google.golang.org/grpc v1.72.1 h1:HR03wO6eyZ7lknl75XlxABNVLLFc2PAb6mHlYh756mA=
google.golang.org/grpc v1.72.1/go.mod h1:wH5Aktxcg25y1I3w7H69nHfXdOG3UiadoBtjh3izSDM=
google.golang.org/genproto v0.0.0-20250707201910-8d1bb00bc6a7 h1:FGOcxvKlJgRBVbXeugjljCfCgfKWhC42FBoYmTCWVBs=
google.golang.org/genproto v0.0.0-20250707201910-8d1bb00bc6a7/go.mod h1:249YoW4b1INqFTEop2T4aJgiO7UBYJrpejsaLvjWfI8=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822 h1:fc6jSaCT0vBduLYZHYrBBNY4dsWuvgyff9noRNDdBeE=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
google.golang.org/grpc v1.73.0 h1:VIWSmpI2MegBtTuFt5/JWy2oXxtjJ/e89Z70ImfD2ok=
google.golang.org/grpc v1.73.0/go.mod h1:50sbHOUqWoCQGI8V2HQLJM0B+LMlIUjNSZmow7EVBQc=
google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY=
google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
Expand Down
1 change: 1 addition & 0 deletions gosl/examples/basic/compute.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions gosl/examples/basic/compute.goal
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ var (
// 2D: outer index is data, inner index is: Raw, Integ, Exp vars.
//gosl:group Data
//gosl:dims 2
//gosl:nbuffs 8
Data *tensor.Float32

// IntData is the int data on which the computation operates.
Expand Down
Loading