Move code to non _test.go file.
This commit is contained in:
parent
6289413a60
commit
68088ceb3f
53
src/vec3.go
Normal file
53
src/vec3.go
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
package vec3
|
||||||
|
|
||||||
|
import (
|
||||||
|
"strconv"
|
||||||
|
|
||||||
|
"github.com/francoispqt/gojay"
|
||||||
|
)
|
||||||
|
|
||||||
|
type Vec3 struct {
|
||||||
|
X float32 `json:"x"`
|
||||||
|
Y float32 `json:"y"`
|
||||||
|
Z float32 `json:"z"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *Vec3) MarshalJSONObject(enc *gojay.Encoder) {
|
||||||
|
enc.FloatKey("x", float64(v.X))
|
||||||
|
enc.FloatKey("y", float64(v.Y))
|
||||||
|
enc.FloatKey("z", float64(v.Z))
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *Vec3) IsNil() bool {
|
||||||
|
return v == nil
|
||||||
|
}
|
||||||
|
func HandRolled(vs []Vec3) ([]byte, error) {
|
||||||
|
buf := []byte("[")
|
||||||
|
for i, v := range vs {
|
||||||
|
if i > 0 {
|
||||||
|
buf = append(buf, []byte(`,{"x":`)...)
|
||||||
|
} else {
|
||||||
|
buf = append(buf, []byte(`{"x":`)...)
|
||||||
|
}
|
||||||
|
buf = strconv.AppendFloat(buf, float64(v.X), 'f', -1, 32)
|
||||||
|
buf = append(buf, []byte(`,"y":`)...)
|
||||||
|
buf = strconv.AppendFloat(buf, float64(v.Y), 'f', -1, 32)
|
||||||
|
buf = append(buf, []byte(`,"z":`)...)
|
||||||
|
buf = strconv.AppendFloat(buf, float64(v.Z), 'f', -1, 32)
|
||||||
|
buf = append(buf, []byte("}")...)
|
||||||
|
}
|
||||||
|
buf = append(buf, ']')
|
||||||
|
return buf, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
type Vec3Slice []*Vec3
|
||||||
|
|
||||||
|
func (vs *Vec3Slice) MarshalJSONArray(enc *gojay.Encoder) {
|
||||||
|
for _, e := range *vs {
|
||||||
|
enc.AddObject(e)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (vs Vec3Slice) IsNil() bool {
|
||||||
|
return vs == nil
|
||||||
|
}
|
||||||
@ -1,9 +1,8 @@
|
|||||||
package main
|
package vec3
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"reflect"
|
"reflect"
|
||||||
"strconv"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/francoispqt/gojay"
|
"github.com/francoispqt/gojay"
|
||||||
@ -11,53 +10,6 @@ import (
|
|||||||
"github.com/pquerna/ffjson/ffjson"
|
"github.com/pquerna/ffjson/ffjson"
|
||||||
)
|
)
|
||||||
|
|
||||||
func HandRolled(vs []Vec3) ([]byte, error) {
|
|
||||||
buf := []byte("[")
|
|
||||||
for i, v := range vs {
|
|
||||||
if i > 0 {
|
|
||||||
buf = append(buf, []byte(`,{"x":`)...)
|
|
||||||
} else {
|
|
||||||
buf = append(buf, []byte(`{"x":`)...)
|
|
||||||
}
|
|
||||||
buf = strconv.AppendFloat(buf, float64(v.X), 'f', -1, 32)
|
|
||||||
buf = append(buf, []byte(`,"y":`)...)
|
|
||||||
buf = strconv.AppendFloat(buf, float64(v.Y), 'f', -1, 32)
|
|
||||||
buf = append(buf, []byte(`,"z":`)...)
|
|
||||||
buf = strconv.AppendFloat(buf, float64(v.Z), 'f', -1, 32)
|
|
||||||
buf = append(buf, []byte("}")...)
|
|
||||||
}
|
|
||||||
buf = append(buf, ']')
|
|
||||||
return buf, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
type Vec3 struct {
|
|
||||||
X float32 `json:"x"`
|
|
||||||
Y float32 `json:"y"`
|
|
||||||
Z float32 `json:"z"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (v *Vec3) MarshalJSONObject(enc *gojay.Encoder) {
|
|
||||||
enc.FloatKey("x", float64(v.X))
|
|
||||||
enc.FloatKey("y", float64(v.Y))
|
|
||||||
enc.FloatKey("z", float64(v.Z))
|
|
||||||
}
|
|
||||||
|
|
||||||
func (v *Vec3) IsNil() bool {
|
|
||||||
return v == nil
|
|
||||||
}
|
|
||||||
|
|
||||||
type Vec3Slice []*Vec3
|
|
||||||
|
|
||||||
func (vs *Vec3Slice) MarshalJSONArray(enc *gojay.Encoder) {
|
|
||||||
for _, e := range *vs {
|
|
||||||
enc.AddObject(e)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (vs Vec3Slice) IsNil() bool {
|
|
||||||
return vs == nil
|
|
||||||
}
|
|
||||||
|
|
||||||
type testFunc struct {
|
type testFunc struct {
|
||||||
name string
|
name string
|
||||||
f func([]Vec3) ([]byte, error)
|
f func([]Vec3) ([]byte, error)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user