Exemplo n.º 1
0
void ClDataGpu<T>::labelMap(const vector<int32_t>& map)
{
  GpuMatrix<int32_t> d_map(map);
  labelMapGpu(d_z_.data(),d_map.data(),this->N_);  
};
Exemplo n.º 2
0
/*----------------------------------------------------------------------
|   TestHashMap
+---------------------------------------------------------------------*/
static int
TestHashMap()
{
    NPT_HashMap<NPT_String,A> a_map;
    A* a = NULL;

    CHECK(a_map.GetEntryCount() == 0);
    CHECK(a_map.HasKey("hello") == false);
    CHECK(!a_map.HasValue(A(1,2)));
    CHECK(NPT_FAILED(a_map.Get("bla", a)));
    CHECK(a == NULL);

    a_map.Put("hello", A(1,2));
    CHECK(a_map.GetEntryCount() == 1);
    CHECK(NPT_SUCCEEDED(a_map.Get("hello", a)));
    CHECK(*a == A(1,2));
    CHECK(a_map.HasKey("hello"));
    CHECK(a_map.HasValue(A(1,2)));
    CHECK(a_map["hello"] == A(1,2));
    
    CHECK(a_map["bla"] == A());
    CHECK(a_map.GetEntryCount() == 2);
    a_map["bla"] = A(3,4);
    CHECK(a_map["bla"] == A(3,4));
    CHECK(a_map.GetEntryCount() == 2);

    NPT_HashMap<NPT_String,A> b_map;
    b_map["hello"] = A(1,2);
    b_map["bla"] = A(3,4);
    CHECK(a_map == b_map);

    NPT_HashMap<NPT_String,A> c_map = a_map;
    CHECK(c_map["hello"] == a_map["hello"]);
    CHECK(c_map["bla"] == a_map["bla"]);

    CHECK(NPT_SUCCEEDED(a_map.Put("bla", A(5,6))));
    CHECK(NPT_SUCCEEDED(a_map.Get("bla", a)));
    CHECK(*a == A(5,6));
    CHECK(NPT_FAILED(a_map.Get("youyou", a)));

    b_map.Clear();
    CHECK(b_map.GetEntryCount() == 0);

    a_map["youyou"] = A(6,7);
    CHECK(NPT_FAILED(a_map.Erase("coucou")));
    CHECK(NPT_SUCCEEDED(a_map.Erase("bla")));
    CHECK(!a_map.HasKey("bla"));

    CHECK(!(a_map == c_map));
    CHECK(c_map != a_map);

    c_map = a_map;
    NPT_HashMap<NPT_String,A> d_map(c_map);
    CHECK(d_map == c_map);

    NPT_HashMap<int,int> i_map;
    i_map[5] = 6;
    i_map[6] = 7;
    i_map[9] = 0;
    CHECK(i_map[0] == 0 || i_map[0] != 0); // unknown value (will cause a valgrind warning)
    CHECK(i_map.GetEntryCount() == 4);

    NPT_HashMap<NPT_String,A> a1_map;
    NPT_HashMap<NPT_String,A> a2_map;
    a1_map["hello"] = A(1,2);
    a1_map["bla"]   = A(2,3);
    a1_map["youyou"]= A(3,4);
    a2_map["bla"]   = A(2,3);
    a2_map["youyou"]= A(3,4);
    a2_map["hello"] = A(1,2);
    CHECK(a1_map == a2_map);
    a1_map["foo"] = A(0,0);
    CHECK(a1_map != a2_map);
    a2_map["foo"] = A(0,0);
    CHECK(a1_map == a2_map);
    a2_map["foo"] = A(7,8);
    CHECK(a1_map != a2_map);
    a2_map["foo"] = A(0,0);
    a1_map["bir"] = A(0,0);
    a2_map["bar"] = A(0,0);
    CHECK(a1_map.GetEntryCount() == a2_map.GetEntryCount());
    CHECK(a1_map != a2_map);
    CHECK(!(a1_map == a2_map));
    
    NPT_HashMap<NPT_String, NPT_String> smap;
    for (unsigned int i=0; i<24; i++) {
        NPT_String s = NPT_String::Format("blabla%d", i);
        smap[s] = "1234";
        CHECK(smap[s] == "1234");
    }
    for (unsigned int i=0; i<24; i++) {
        NPT_String s = NPT_String::Format("blabla%d", i);
        CHECK(smap[s] == "1234");
    }
    for (unsigned int i=0; i<24; i++) {
        NPT_String s = NPT_String::Format("blabla%d", i);
        CHECK(NPT_SUCCEEDED(smap.Erase(s)));
        CHECK(!smap.HasKey(s));
    }
    CHECK(smap.GetEntryCount() == 0);
    
    Hasher hasher;
    NPT_HashMap<NPT_String, int, Hasher> zmap(hasher);
    for (unsigned int i=0; i<1024; i++) {
        NPT_String s = NPT_String::Format("blabla%d", i);
        zmap[s] = 1234;
        CHECK(zmap[s] == 1234);
    }
    for (unsigned int i=0; i<1024; i++) {
        NPT_String s = NPT_String::Format("blabla%d", i);
        CHECK(zmap[s] == 1234);
    }
    for (unsigned int i=0; i<1024; i++) {
        NPT_String s = NPT_String::Format("blabla%d", i);
        CHECK(NPT_SUCCEEDED(zmap.Erase(s)));
        CHECK(!zmap.HasKey(s));
    }
    CHECK(zmap.GetEntryCount() == 0);
    
    NPT_HashMap<NPT_String, int> imap;
    for (int i=0; i<1024; i++) {
        NPT_String s = NPT_String::Format("blabla%d", i);
        imap[s] = i;
        CHECK(imap[s] == i);
    }
    unsigned int zz = 1024;
    for (NPT_HashMap<NPT_String, int>::Iterator it = imap.GetEntries();
                                                it;
                                                ++it) {
        CHECK(imap.HasKey((*it).GetKey()));
        CHECK(imap.HasValue((*it).GetValue()));
        --zz;
    }
    CHECK(zz==0);
    
    NPT_HashMap<NPT_String, NPT_String*> p_map;
    p_map["1"] = new NPT_String("hello");
    p_map["2"] = new NPT_String("good bye");
    p_map.Apply(NPT_MapEntryValueDeleter<NPT_HashMap<NPT_String, NPT_String*>::Entry>());

    return 0;
}
Exemplo n.º 3
0
/*----------------------------------------------------------------------
|       main
+---------------------------------------------------------------------*/
int
main(int /*argc*/, char** /*argv*/)
{
    NPT_Map<NPT_String,A> a_map;
    A* a = NULL;

    CHECK(a_map.GetEntryCount() == 0);
    CHECK(a_map.HasKey("hello") == false);
    CHECK(!a_map.HasValue(A(1,2)));
    CHECK(NPT_FAILED(a_map.Get("bla", a)));
    CHECK(a == NULL);

    a_map.Put("hello", A(1,2));
    CHECK(a_map.GetEntryCount() == 1);
    CHECK(NPT_SUCCEEDED(a_map.Get("hello", a)));
    CHECK(*a == A(1,2));
    CHECK(a_map.HasKey("hello"));
    CHECK(a_map.HasValue(A(1,2)));
    CHECK(a_map["hello"] == A(1,2));

    CHECK(a_map["bla"] == A());
    CHECK(a_map.GetEntryCount() == 2);
    a_map["bla"] = A(3,4);
    CHECK(a_map["bla"] == A(3,4));
    CHECK(a_map.GetEntryCount() == 2);

    NPT_Map<NPT_String,A> b_map;
    b_map["hello"] = A(1,2);
    b_map["bla"] = A(3,4);
    CHECK(a_map == b_map);

    NPT_Map<NPT_String,A> c_map = a_map;
    CHECK(c_map["hello"] == a_map["hello"]);
    CHECK(c_map["bla"] == a_map["bla"]);

    CHECK(NPT_SUCCEEDED(a_map.Put("bla", A(5,6))));
    CHECK(NPT_SUCCEEDED(a_map.Get("bla", a)));
    CHECK(*a == A(5,6));
    CHECK(NPT_FAILED(a_map.Get("youyou", a)));

    b_map.Clear();
    CHECK(b_map.GetEntryCount() == 0);

    a_map["youyou"] = A(6,7);
    CHECK(NPT_FAILED(a_map.Erase("coucou")));
    CHECK(NPT_SUCCEEDED(a_map.Erase("bla")));
    CHECK(!a_map.HasKey("bla"));

    CHECK(!(a_map == c_map));
    CHECK(c_map != a_map);

    c_map = a_map;
    NPT_Map<NPT_String,A> d_map(c_map);
    CHECK(d_map == c_map);

    NPT_Map<int,int> i_map;
    i_map[5] = 6;
    i_map[6] = 7;
    i_map[9] = 0;
    CHECK(i_map[0] == 0 || i_map[0] != 0); // unknown value (will cause a valgrind warning)
    CHECK(i_map.GetEntryCount() == 4);

    NPT_Map<NPT_String,A> a1_map;
    NPT_Map<NPT_String,A> a2_map;
    a1_map["hello"] = A(1,2);
    a1_map["bla"]   = A(2,3);
    a1_map["youyou"]= A(3,4);
    a2_map["bla"]   = A(2,3);
    a2_map["youyou"]= A(3,4);
    a2_map["hello"] = A(1,2);
    CHECK(a1_map == a2_map);
    a1_map["foo"] = A(0,0);
    CHECK(a1_map != a2_map);
    a2_map["foo"] = A(0,0);
    CHECK(a1_map == a2_map);
    a2_map["foo"] = A(7,8);
    CHECK(a1_map != a2_map);
    a2_map["foo"] = A(0,0);
    a1_map["bir"] = A(0,0);
    a2_map["bar"] = A(0,0);
    CHECK(a1_map.GetEntryCount() == a2_map.GetEntryCount());
    CHECK(a1_map != a2_map);
    CHECK(!(a1_map == a2_map));

    return 0;
}
Exemplo n.º 4
0
/*----------------------------------------------------------------------
|   TestMap
+---------------------------------------------------------------------*/
static int
TestMap()
{
    NPT_Map<NPT_String,A> a_map;
    A* a = NULL;

    CHECK(a_map.GetEntryCount() == 0);
    CHECK(a_map.HasKey("hello") == false);
    CHECK(!a_map.HasValue(A(1,2)));
    CHECK(NPT_FAILED(a_map.Get("bla", a)));
    CHECK(a == NULL);

    a_map.Put("hello", A(1,2));
    CHECK(a_map.GetEntryCount() == 1);
    CHECK(NPT_SUCCEEDED(a_map.Get("hello", a)));
    CHECK(*a == A(1,2));
    CHECK(a_map.HasKey("hello"));
    CHECK(a_map.HasValue(A(1,2)));
    CHECK(a_map["hello"] == A(1,2));
    
    CHECK(a_map["bla"] == A());
    CHECK(a_map.GetEntryCount() == 2);
    a_map["bla"] = A(3,4);
    CHECK(a_map["bla"] == A(3,4));
    CHECK(a_map.GetEntryCount() == 2);

    NPT_Map<NPT_String,A> b_map;
    b_map["hello"] = A(1,2);
    b_map["bla"] = A(3,4);
    CHECK(a_map == b_map);

    NPT_Map<NPT_String,A> c_map = a_map;
    CHECK(c_map["hello"] == a_map["hello"]);
    CHECK(c_map["bla"] == a_map["bla"]);

    CHECK(NPT_SUCCEEDED(a_map.Put("bla", A(5,6))));
    CHECK(NPT_SUCCEEDED(a_map.Get("bla", a)));
    CHECK(*a == A(5,6));
    CHECK(NPT_FAILED(a_map.Get("youyou", a)));

    b_map.Clear();
    CHECK(b_map.GetEntryCount() == 0);

    a_map["youyou"] = A(6,7);
    CHECK(NPT_FAILED(a_map.Erase("coucou")));
    CHECK(NPT_SUCCEEDED(a_map.Erase("bla")));
    CHECK(!a_map.HasKey("bla"));

    CHECK(!(a_map == c_map));
    CHECK(c_map != a_map);

    c_map = a_map;
    NPT_Map<NPT_String,A> d_map(c_map);
    CHECK(d_map == c_map);

    NPT_Map<int,int> i_map;
    i_map[5] = 6;
    i_map[6] = 7;
    i_map[9] = 0;
    CHECK(i_map[0] == 0 || i_map[0] != 0); // unknown value (will cause a valgrind warning)
    CHECK(i_map.GetEntryCount() == 4);

    NPT_Map<NPT_String,A> a1_map;
    NPT_Map<NPT_String,A> a2_map;
    a1_map["hello"] = A(1,2);
    a1_map["bla"]   = A(2,3);
    a1_map["youyou"]= A(3,4);
    a2_map["bla"]   = A(2,3);
    a2_map["youyou"]= A(3,4);
    a2_map["hello"] = A(1,2);
    CHECK(a1_map == a2_map);
    a1_map["foo"] = A(0,0);
    CHECK(a1_map != a2_map);
    a2_map["foo"] = A(0,0);
    CHECK(a1_map == a2_map);
    a2_map["foo"] = A(7,8);
    CHECK(a1_map != a2_map);
    a2_map["foo"] = A(0,0);
    a1_map["bir"] = A(0,0);
    a2_map["bar"] = A(0,0);
    CHECK(a1_map.GetEntryCount() == a2_map.GetEntryCount());
    CHECK(a1_map != a2_map);
    CHECK(!(a1_map == a2_map));
    
    NPT_Map<NPT_String, NPT_String*> p_map;
    p_map["1"] = new NPT_String("hello");
    p_map["2"] = new NPT_String("good bye");
    p_map.GetEntries().Apply(NPT_MapEntryValueDeleter<NPT_Map<NPT_String, NPT_String*>::Entry>());
    
    return 0;
}