git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12108 626c5289-ae23-0410-ae9c-e8d60b6d4f22
43 lines
628 B
Go
43 lines
628 B
Go
package main
|
|
|
|
import "./virtual_poly"
|
|
|
|
func main() {
|
|
d := virtual_poly.NewNDouble(3.5)
|
|
i := virtual_poly.NewNInt(2)
|
|
|
|
// the copy methods return the right polymorphic types
|
|
dc := d.Copy()
|
|
ic := i.Copy()
|
|
|
|
if d.Get() != dc.Get() {
|
|
panic(0)
|
|
}
|
|
|
|
if i.Get() != ic.Get() {
|
|
panic(0)
|
|
}
|
|
|
|
virtual_poly.Incr(ic)
|
|
|
|
if (i.Get() + 1) != ic.Get() {
|
|
panic(0)
|
|
}
|
|
|
|
dr := d.Ref_this()
|
|
if d.Get() != dr.Get() {
|
|
panic(0)
|
|
}
|
|
|
|
|
|
// 'narrowing' also works
|
|
ddc := virtual_poly.NDoubleNarrow(d.Nnumber())
|
|
if d.Get() != ddc.Get() {
|
|
panic(0)
|
|
}
|
|
|
|
dic := virtual_poly.NIntNarrow(i.Nnumber())
|
|
if i.Get() != dic.Get() {
|
|
panic(0)
|
|
}
|
|
}
|