gorgonia.org/gorgonia@v0.9.17/op_test.go (about)

     1  package gorgonia
     2  
     3  import "testing"
     4  
     5  func TestStupid(t *testing.T) {
     6  	g := NewGraph()
     7  	n := newNode(WithType(Float64), In(g))
     8  	op := newElemUnaryOp(negOpType, n)
     9  
    10  	t.Logf("%v %d %s", op, op.unaryOpType(), op.ʘUnaryOperator)
    11  
    12  	v := NewF64(3.1415)
    13  	rv, err := op.Do(v)
    14  	t.Logf("%v, %v", rv, err)
    15  }
    16  
    17  func TestOpEquality(t *testing.T) {
    18  	var op1, op2 Op
    19  	g := NewGraph()
    20  	a := NewScalar(g, Float64, WithValue(3.14))
    21  	b := NewScalar(g, Float64, WithValue(6.28))
    22  	op1 = newElemBinOp(addOpType, a, b)
    23  	op2 = newElemBinOp(addOpType, a, b)
    24  
    25  	if op1.Hashcode() != op2.Hashcode() {
    26  		t.Error("oops")
    27  	}
    28  
    29  	op1 = maxOp{
    30  		along: axes{0, 1},
    31  		d:     2,
    32  	}
    33  
    34  	op2 = maxOp{
    35  		along: axes{0, 1},
    36  		d:     2,
    37  	}
    38  
    39  	if op1.Hashcode() != op2.Hashcode() {
    40  		t.Error("oops")
    41  	}
    42  
    43  	op2 = sumOp{
    44  		along: axes{0, 1},
    45  		d:     2,
    46  	}
    47  
    48  	if op1.Hashcode() == op2.Hashcode() {
    49  		t.Error("oops")
    50  	}
    51  }