From ffa34bc886a2229ea02aa72069ac7a1a7b275efb Mon Sep 17 00:00:00 2001 From: Greg Landrum Date: Tue, 31 Aug 2010 05:40:58 +0000 Subject: [PATCH] plug some more memory leaks --- Code/Demos/SWIG/RDKFuncs.i | 10 ++++++++++ Code/Demos/SWIG/java_example/WrapperTests.java | 14 ++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/Code/Demos/SWIG/RDKFuncs.i b/Code/Demos/SWIG/RDKFuncs.i index b8b0f5b05..26c8e1186 100644 --- a/Code/Demos/SWIG/RDKFuncs.i +++ b/Code/Demos/SWIG/RDKFuncs.i @@ -158,6 +158,8 @@ SWIG_STD_VECTOR_SPECIALIZE_MINIMUM(Match_Vect, std::vector< std::pair > #endif %ignore ExplicitBitVect::dp_bits; %include +%newobject RDKFingerprintMol; +%newobject LayeredFingerprintMol; %include // ------------------- SIV fingerprints @@ -189,12 +191,20 @@ SWIG_STD_VECTOR_SPECIALIZE_MINIMUM(UInt_Pair_Vect, std::vector< std::pair %template(SparseIntVecti32) RDKit::SparseIntVect; %template(SparseIntVecti64) RDKit::SparseIntVect; +%newobject getAtomPairFingerprint; +%newobject getHashedAtomPairFingerprint; +%newobject getHashedAtomPairFingerprintAsBitVect; +%newobject getTopologicalTorsionFingerprint; +%newobject getHashedTopologicalTorsionFingerprint; +%newobject getHashedTopologicalTorsionFingerprintAsBitVect; %include diff --git a/Code/Demos/SWIG/java_example/WrapperTests.java b/Code/Demos/SWIG/java_example/WrapperTests.java index 4c997d8c1..13160e5c7 100644 --- a/Code/Demos/SWIG/java_example/WrapperTests.java +++ b/Code/Demos/SWIG/java_example/WrapperTests.java @@ -215,6 +215,20 @@ public class WrapperTests { ps.delete(); } } + /*@Test*/ public void testMemory3() { + ROMol m1; + m1 = RDKFuncs.MolFromSmiles("C1=CC=CC=C1C2CCC(C(=O)OCCC)CC2"); + for(int i=0;i<1000000;i++){ + /*SparseIntVecti64 fp1; + fp1=RDKFuncs.getTopologicalTorsionFingerprint(m1);*/ + SparseIntVectu32 fp1; + fp1=RDKFuncs.MorganFingerprintMol(m1,2); + if((i%1000)==0){ + System.err.println("done: "+i); + } + fp1.delete(); + } + } static { try { System.loadLibrary("RDKFuncs");