diff options
author | Alistair Delva <adelva@google.com> | 2024-04-10 14:15:29 -0700 |
---|---|---|
committer | Alistair Delva <adelva@google.com> | 2024-04-11 12:58:28 -0700 |
commit | d0f0f90be16c2ac553b5fa08512045273135147a (patch) | |
tree | 5d9ebb7a04807ea8a609ddd18b0162bc87530e4b /Examples/test-suite/javascript/virtual_poly_runme.js | |
parent | 6ffc1dbf29ba98c4d8aa71ebc9b484e973fe1030 (diff) | |
download | swig-d0f0f90be16c2ac553b5fa08512045273135147a.tar.gz |
Update to v4.2.1HEADmastermainllvm-r522817
Change-Id: I47cef2be94299220d80265d949a95b58eee2c23b
Diffstat (limited to 'Examples/test-suite/javascript/virtual_poly_runme.js')
-rw-r--r-- | Examples/test-suite/javascript/virtual_poly_runme.js | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/Examples/test-suite/javascript/virtual_poly_runme.js b/Examples/test-suite/javascript/virtual_poly_runme.js new file mode 100644 index 000000000..7cdb03930 --- /dev/null +++ b/Examples/test-suite/javascript/virtual_poly_runme.js @@ -0,0 +1,44 @@ +var virtual_poly = require("virtual_poly"); + +d = new virtual_poly.NDouble(3.5); +i = new virtual_poly.NInt(2); + +// +// the copy methods return the right polymorphic types +// +dc = d.copy(); +ic = i.copy(); + +if (d.get() != dc.get()) { + throw new Error; +} + +if (i.get() != ic.get()) { + throw new Error; +} + +virtual_poly.incr(ic); + +if ((i.get() + 1) != ic.get()) { + throw new Error; +} + + +dr = d.ref_this(); +if (d.get() != dr.get()) { + throw new Error; +} + + +// +// 'narrowing' also works +// +ddc = virtual_poly.NDouble.narrow(d.nnumber()); +if (d.get() != ddc.get()) { + throw new Error; +} + +dic = virtual_poly.NInt.narrow(i.nnumber()); +if (i.get() != dic.get()) { + throw new Error; +} |