Exemplo n.º 1
0
    def test2VectDistances(self):
        v1 = ds.DiscreteValueVect(ds.DiscreteValueType.ONEBITVALUE, 30)
        v2 = ds.DiscreteValueVect(ds.DiscreteValueType.ONEBITVALUE, 30)
        for i in range(15):
            v1[2 * i] = 1
            v2[2 * i] = 1
        self.failUnless(ds.ComputeL1Norm(v1, v2) == 0)
        for i in range(30):
            if (i % 3 == 0):
                v2[i] = 1
            else:
                v2[i] = 0
        self.failUnless(ds.ComputeL1Norm(v1, v2) == 15)

        v1 = ds.DiscreteValueVect(ds.DiscreteValueType.TWOBITVALUE, 30)
        v2 = ds.DiscreteValueVect(ds.DiscreteValueType.TWOBITVALUE, 30)

        for i in range(30):
            v1[i] = i % 4
            v2[i] = (i + 1) % 4

        self.failUnless(ds.ComputeL1Norm(v1, v2) == 44)

        v1 = ds.DiscreteValueVect(ds.DiscreteValueType.FOURBITVALUE, 16)
        v2 = ds.DiscreteValueVect(ds.DiscreteValueType.FOURBITVALUE, 16)
        for i in range(16):
            v1[i] = i % 16
            v2[i] = i % 5
        self.failUnless(ds.ComputeL1Norm(v1, v2) == 90)

        v1 = ds.DiscreteValueVect(ds.DiscreteValueType.EIGHTBITVALUE, 5)
        v2 = ds.DiscreteValueVect(ds.DiscreteValueType.EIGHTBITVALUE, 5)
        v1[0] = 34
        v1[1] = 167
        v1[2] = 3
        v1[3] = 56
        v1[4] = 128

        v2[0] = 14
        v2[1] = 67
        v2[2] = 103
        v2[3] = 6
        v2[4] = 228
        self.failUnless(ds.ComputeL1Norm(v1, v2) == 370)

        v1 = ds.DiscreteValueVect(ds.DiscreteValueType.SIXTEENBITVALUE, 3)
        v2 = ds.DiscreteValueVect(ds.DiscreteValueType.SIXTEENBITVALUE, 3)
        v1[0] = 2345
        v1[1] = 64578
        v1[2] = 34

        v2[0] = 1345
        v2[1] = 54578
        v2[2] = 10034
        self.failUnless(ds.ComputeL1Norm(v1, v2) == 21000)
Exemplo n.º 2
0
    def test3Pickles(self):
        #outF = file('dvvs.pkl','wb+')
        inF = file(
            os.path.join(RDConfig.RDBaseDir,
                         'Code/DataStructs/Wrap/testData/dvvs.pkl'), 'rb')
        v1 = ds.DiscreteValueVect(ds.DiscreteValueType.ONEBITVALUE, 30)
        for i in range(15):
            v1[2 * i] = 1
        v2 = cPickle.loads(cPickle.dumps(v1))
        self.failUnless(ds.ComputeL1Norm(v1, v2) == 0)
        #cPickle.dump(v1,outF)
        v2 = cPickle.load(inF)
        self.failUnless(ds.ComputeL1Norm(v1, v2) == 0)
        self.failUnless(v1.GetTotalVal() == v2.GetTotalVal())
        self.failUnless(v2.GetTotalVal() != 0)

        v1 = ds.DiscreteValueVect(ds.DiscreteValueType.TWOBITVALUE, 30)
        for i in range(30):
            v1[i] = i % 4
        v2 = cPickle.loads(cPickle.dumps(v1))
        self.failUnless(ds.ComputeL1Norm(v1, v2) == 0)
        #cPickle.dump(v1,outF)
        v2 = cPickle.load(inF)
        self.failUnless(ds.ComputeL1Norm(v1, v2) == 0)
        self.failUnless(v1.GetTotalVal() == v2.GetTotalVal())
        self.failUnless(v2.GetTotalVal() != 0)

        v1 = ds.DiscreteValueVect(ds.DiscreteValueType.FOURBITVALUE, 16)
        for i in range(16):
            v1[i] = i % 16
        v2 = cPickle.loads(cPickle.dumps(v1))
        self.failUnless(ds.ComputeL1Norm(v1, v2) == 0)
        #cPickle.dump(v1,outF)
        v2 = cPickle.load(inF)
        self.failUnless(ds.ComputeL1Norm(v1, v2) == 0)
        self.failUnless(v1.GetTotalVal() == v2.GetTotalVal())
        self.failUnless(v2.GetTotalVal() != 0)

        v1 = ds.DiscreteValueVect(ds.DiscreteValueType.EIGHTBITVALUE, 5)
        v1[0] = 34
        v1[1] = 167
        v1[2] = 3
        v1[3] = 56
        v1[4] = 128
        v2 = cPickle.loads(cPickle.dumps(v1))
        self.failUnless(ds.ComputeL1Norm(v1, v2) == 0)
        #cPickle.dump(v1,outF)
        v2 = cPickle.load(inF)
        self.failUnless(ds.ComputeL1Norm(v1, v2) == 0)
        self.failUnless(v1.GetTotalVal() == v2.GetTotalVal())
        self.failUnless(v2.GetTotalVal() != 0)

        v1 = ds.DiscreteValueVect(ds.DiscreteValueType.SIXTEENBITVALUE, 3)
        v1[0] = 2345
        v1[1] = 64578
        v1[2] = 34
        v2 = cPickle.loads(cPickle.dumps(v1))
        self.failUnless(ds.ComputeL1Norm(v1, v2) == 0)
        #cPickle.dump(v1,outF)
        v2 = cPickle.load(inF)
        self.failUnless(ds.ComputeL1Norm(v1, v2) == 0)
        self.failUnless(v1.GetTotalVal() == v2.GetTotalVal())
        self.failUnless(v2.GetTotalVal() != 0)
Exemplo n.º 3
0
  def test3Pickles(self):
    #outF = file('dvvs.pkl','wb+')
    with open(
      os.path.join(RDConfig.RDBaseDir,
                   'Code/DataStructs/Wrap/testData/dvvs.pkl'),
      'r'
      ) as inTF:
      buf = inTF.read().replace('\r\n', '\n').encode('utf-8')
      inTF.close()
    with io.BytesIO(buf) as inF:
      v1 = ds.DiscreteValueVect(ds.DiscreteValueType.ONEBITVALUE, 30)
      for i in range(15):
        v1[2*i] = 1
      v2 = pickle.loads(pickle.dumps(v1))
      self.assertTrue(ds.ComputeL1Norm(v1, v2) == 0)
      #cPickle.dump(v1,outF)
      v2=pickle.load(inF, encoding='bytes')
      self.assertTrue(ds.ComputeL1Norm(v1, v2) == 0)
      self.assertTrue(v1.GetTotalVal()==v2.GetTotalVal())
      self.assertTrue(v2.GetTotalVal()!=0)

      v1 = ds.DiscreteValueVect(ds.DiscreteValueType.TWOBITVALUE, 30)
      for i in range(30):
        v1[i] = i%4
      v2 = pickle.loads(pickle.dumps(v1))
      self.assertTrue(ds.ComputeL1Norm(v1, v2) == 0)
      #pickle.dump(v1,outF)
      v2=pickle.load(inF, encoding='bytes')
      self.assertTrue(ds.ComputeL1Norm(v1, v2) == 0)
      self.assertTrue(v1.GetTotalVal()==v2.GetTotalVal())
      self.assertTrue(v2.GetTotalVal()!=0)
      
      v1 = ds.DiscreteValueVect(ds.DiscreteValueType.FOURBITVALUE, 16)
      for i in range(16):
        v1[i] = i%16
      v2 = pickle.loads(pickle.dumps(v1))
      self.assertTrue(ds.ComputeL1Norm(v1, v2) == 0)
      #pickle.dump(v1,outF)
      v2=pickle.load(inF, encoding='bytes')
      self.assertTrue(ds.ComputeL1Norm(v1, v2) == 0)
      self.assertTrue(v1.GetTotalVal()==v2.GetTotalVal())
      self.assertTrue(v2.GetTotalVal()!=0)

      v1 = ds.DiscreteValueVect(ds.DiscreteValueType.EIGHTBITVALUE, 5)
      v1[0] = 34
      v1[1] = 167
      v1[2] = 3
      v1[3] = 56
      v1[4] = 128
      v2 = pickle.loads(pickle.dumps(v1))
      self.assertTrue(ds.ComputeL1Norm(v1, v2) == 0)
      #pickle.dump(v1,outF)
      v2=pickle.load(inF, encoding='bytes')
      self.assertTrue(ds.ComputeL1Norm(v1, v2) == 0)
      self.assertTrue(v1.GetTotalVal()==v2.GetTotalVal())
      self.assertTrue(v2.GetTotalVal()!=0)

      v1 = ds.DiscreteValueVect(ds.DiscreteValueType.SIXTEENBITVALUE, 3)
      v1[0] = 2345
      v1[1] = 64578
      v1[2] = 34
      v2 = pickle.loads(pickle.dumps(v1))
      self.assertTrue(ds.ComputeL1Norm(v1, v2) == 0)
      #pickle.dump(v1,outF)
      v2=pickle.load(inF, encoding='bytes')
      self.assertTrue(ds.ComputeL1Norm(v1, v2) == 0)
      self.assertTrue(v1.GetTotalVal()==v2.GetTotalVal())
      self.assertTrue(v2.GetTotalVal()!=0)