Skip to content

Commit

Permalink
Merge pull request #242 from CortexFoundation/ucwong
Browse files Browse the repository at this point in the history
cvm/synapse | numpy reader and writer update
  • Loading branch information
ucwong authored Nov 21, 2019
2 parents 1ad6351 + e9fc066 commit 2b94413
Show file tree
Hide file tree
Showing 9 changed files with 716 additions and 163 deletions.
56 changes: 56 additions & 0 deletions inference/defs.template
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
package inference

import (
"fmt"
"encoding/binary"
)

func (rdr *NpyReader) GetBytes() ([]byte, error) {

data := make([]byte, rdr.nElt)
err := binary.Read(rdr.r, rdr.Endian, &data)
if err != nil {
return nil, err
}

return data, nil
}

{{- range . }}
// Get{{ .TypeU }} returns the array data as a slice of {{ .TypeL }} values.
func (rdr *NpyReader) Get{{ .TypeU }}() ([]{{ .TypeL }}, error) {

if rdr.Dtype != "{{ .TypeCode }}" {
return nil, fmt.Errorf("Reader does not contain {{ .TypeL }} data")
}

data := make([]{{ .TypeL }}, rdr.nElt)
err := binary.Read(rdr.r, rdr.Endian, &data)
if err != nil {
return nil, err
}

return data, nil
}
{{ end }}

{{- range . }}
// Write{{ .TypeU }} writes a slice of {{ .TypeL }} values in npy format.
func (wtr *NpyWriter) Write{{ .TypeU }}(data []{{ .TypeL }}) error {

err := wtr.writeHeader("{{ .TypeCode }}", len(data))
if err != nil {
return err
}

err = binary.Write(wtr.w, wtr.Endian, data)
if err != nil {
return err
}

wtr.w.Close()

return nil
}
{{ end }}

Loading

0 comments on commit 2b94413

Please sign in to comment.