Skip to content

Commit

Permalink
#4: delete unused functions from library; tidied up code
Browse files Browse the repository at this point in the history
  • Loading branch information
johnruth96 committed Jul 10, 2018
1 parent d0d0122 commit 50fc292
Show file tree
Hide file tree
Showing 8 changed files with 48 additions and 189 deletions.
16 changes: 8 additions & 8 deletions base/Corrupt.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,17 @@
/*
Answers a question with a randomized unknown head.
*/
ent_id corrupt_head(
int64_t corrupt_head(
unsigned long int id,
ent_id tail,
rel_id relation)
int64_t tail,
int64_t relation)
{
// using precalculated better range
const auto range = std::equal_range(lefHead[tail], rigHead[tail], Triple(0, tail, relation), Triple::cmp_r);
const auto lower = range.first;
const auto upper = range.second;

const ent_id x = rand_max(id, entityTotal - (upper - lower));
const int64_t x = rand_max(id, entityTotal - (upper - lower));
if (x < lower->t)
return x;
if (x + (upper - lower) > (upper-1)->t)
Expand All @@ -43,14 +43,14 @@ ent_id corrupt_head(
/*
Answers a question with a randomized unknown tail.
*/
ent_id corrupt_tail(unsigned long int id, ent_id head, rel_id relation)
int64_t corrupt_tail(unsigned long int id, int64_t head, int64_t relation)
{
// using precalculated better range
const auto range = std::equal_range(lefTail[head], rigTail[head], Triple(head, 0, relation), Triple::cmp_r);
const auto lower = range.first;
const auto upper = range.second;

const ent_id x = rand_max(id, entityTotal - (upper - lower));
const int64_t x = rand_max(id, entityTotal - (upper - lower));
if (x < lower->h)
return x;
if (x + (upper - lower) > (upper-1)->h)
Expand All @@ -75,14 +75,14 @@ ent_id corrupt_tail(unsigned long int id, ent_id head, rel_id relation)
Answers a question with a randomized unknown relation.
FIXME SIGSEGV
*/
rel_id corrupt_rel(unsigned long int id, ent_id head, ent_id tail)
int64_t corrupt_rel(unsigned long int id, int64_t head, int64_t tail)
{
// using precalculated better range
const auto range = std::equal_range(lefRel[head], rigHead[head], Triple(head, tail, 0), Triple::cmp_t);
const auto lower = range.first;
const auto upper = range.second;

const ent_id x = rand_max(id, relationTotal - (upper - lower));
const int64_t x = rand_max(id, relationTotal - (upper - lower));
if (x < lower->h)
return x;
if (x + (upper - lower) > (upper-1)->h)
Expand Down
19 changes: 8 additions & 11 deletions base/Reader.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,7 @@ std::vector<float> meant;


extern "C"
int importTrainFiles(
const char* inPath,
ent_id entities,
rel_id relations)
int importTrainFiles(const char* inPath, int64_t entities, int64_t relations)
try
{
entityTotal = entities;
Expand Down Expand Up @@ -68,7 +65,7 @@ try
{
const auto end = trainHead.cend();
auto i = trainHead.cbegin();
ent_id last = i->t;
int64_t last = i->t;
for (++i; i != end; last = i->t, ++i)
{
if (i->t == last)
Expand All @@ -84,7 +81,7 @@ try
{
const auto end = trainTail.cend();
auto i = trainTail.cbegin();
ent_id last = i->h;
int64_t last = i->h;
for (++i; i != end; last = i->h, ++i)
{
if (i->h == last)
Expand All @@ -100,7 +97,7 @@ try
{
const auto end = trainRel.cend();
auto i = trainRel.cbegin();
ent_id last = i->h;
int64_t last = i->h;
for (++i; i != end; last = i->h, ++i)
{
if (i->h == last)
Expand All @@ -112,7 +109,7 @@ try
rigRel.at(trainRel.back().h) = trainRel.cend();

meanh.assign(relations, 0.);
for (ent_id i = 0; i < entities; ++i)
for (int64_t i = 0; i < entities; ++i)
{
const auto lower = lefHead[i];
const auto upper = rigHead[i];
Expand All @@ -122,11 +119,11 @@ try
if (j->r != (j - 1)->r)
meanh.at(j->r) += 1.;
}
for (rel_id i = 0; i < relations; ++i)
for (int64_t i = 0; i < relations; ++i)
meanh[i] = meanh[i] > .5 ? freqr[i] / meanh[i] : 0;

meant.assign(relations, 0.);
for (ent_id i = 0; i < entities; ++i)
for (int64_t i = 0; i < entities; ++i)
{
const auto lower = lefTail[i];
const auto upper = rigTail[i];
Expand All @@ -137,7 +134,7 @@ try
meant.at(j->r) += 1.;
}

for (rel_id i = 0; i < relations; ++i)
for (int64_t i = 0; i < relations; ++i)
meant[i] = meant[i] > .5 ? freqr[i] / meant[i] : 0;
return 0;
}
Expand Down
56 changes: 0 additions & 56 deletions base/Setting.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,65 +3,9 @@
#include "Triple.h"
#include <vector> // std::vector

extern "C"
uint64_t getEntityTotal();

extern "C"
uint64_t getRelationTotal();

extern "C"
uint64_t getTripleTotal();

extern "C"
uint64_t getTrainTotal();

extern "C"
uint64_t getTestTotal();


uint64_t entityTotal = 0;
uint64_t relationTotal = 0;
std::vector<Triple> trainList;
std::vector<Triple> testList;

extern "C"
uint64_t getEntityTotal()
{
return entityTotal;
}


extern "C"
uint64_t getRelationTotal()
{
return relationTotal;
}


extern "C"
uint64_t getTripleTotal()
{
return trainList.size() + testList.size();
}


extern "C"
uint64_t getTrainTotal()
{
return trainList.size();
}


extern "C"
uint64_t getTestTotal()
{
return testList.size();
}


extern "C"
uint64_t getValidTotal()
{
return 0;
}
#endif
18 changes: 9 additions & 9 deletions base/Test.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@
# include <algorithm> // std::binary_search


extern "C" void query_head(char*, ent_id, rel_id);
extern "C" void query_tail(ent_id, char*, rel_id);
extern "C" void query_rel(ent_id, ent_id, char*);
extern "C" void query_head(char*, int64_t, int64_t);
extern "C" void query_tail(int64_t, char*, int64_t);
extern "C" void query_rel(int64_t, int64_t, char*);


extern "C" void query_head(
char* out,
ent_id tail,
rel_id relation)
int64_t tail,
int64_t relation)
try
{
// assuming out has size `entityTotal` and is zero-initialized
Expand All @@ -31,9 +31,9 @@ catch (std::out_of_range& e)


extern "C" void query_tail(
ent_id head,
int64_t head,
char* out,
rel_id relation)
int64_t relation)
try
{
// assuming out has size `entityTotal` and is zero-initialized
Expand All @@ -50,8 +50,8 @@ catch (std::out_of_range& e)


extern "C" void query_rel(
ent_id head,
ent_id tail,
int64_t head,
int64_t tail,
char* out)
try
{
Expand Down
97 changes: 14 additions & 83 deletions base/Triple.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,107 +4,38 @@
# include <cstdint> // int64_t


using ent_id = int64_t;
using rel_id = int64_t;


struct Triple
{
int64_t h;
int64_t t;
int64_t r;


ent_id h;
ent_id t;
rel_id r;


bool operator<(
const Triple& other)
{
return std::min(h, t) > std::min(other.h, other.t);
}


static bool cmp_hrt(
const Triple& a,
const Triple& b)
{
return (a.h < b.h) or (a.h == b.h and a.r < b.r)
or (a.h == b.h and a.r == b.r and a.t < b.t);
}


static bool cmp_trh(
const Triple& a,
const Triple& b)
{
return (a.t < b.t) or (a.t == b.t and a.r < b.r)
or (a.t == b.t and a.r == b.r and a.h < b.h);
}


static bool cmp_htr(
const Triple& a,
const Triple& b)
{
return (a.h < b.h) or (a.h == b.h and a.t < b.t)
or (a.h == b.h and a.t == b.t and a.r < b.r);
static bool cmp_hrt(const Triple& a, const Triple& b) {
return (a.h < b.h) or (a.h == b.h and a.r < b.r) or (a.h == b.h and a.r == b.r and a.t < b.t);
}


static bool cmp_hr(
const Triple& a,
const Triple& b)
{
return (a.h < b.h) or (a.h == b.h and a.r < b.r);
static bool cmp_trh(const Triple& a, const Triple& b) {
return (a.t < b.t) or (a.t == b.t and a.r < b.r) or (a.t == b.t and a.r == b.r and a.h < b.h);
}


static bool cmp_tr(
const Triple& a,
const Triple& b)
{
return (a.t < b.t) or (a.t == b.t and a.r < b.r);
static bool cmp_htr(const Triple& a, const Triple& b) {
return (a.h < b.h) or (a.h == b.h and a.t < b.t) or (a.h == b.h and a.t == b.t and a.r < b.r);
}


static bool cmp_h(
const Triple& a,
const Triple& b)
{
static bool cmp_h(const Triple& a, const Triple& b) {
return (a.h < b.h);
}


static bool cmp_t(
const Triple& a,
const Triple& b)
{
static bool cmp_t(const Triple& a, const Triple& b) {
return (a.t < b.t);
}


static bool cmp_r(
const Triple& a,
const Triple& b)
{
static bool cmp_r(const Triple& a, const Triple& b) {
return (a.r < b.r);
}

Triple(const int64_t& head, const int64_t& tail, const int64_t& rel): h{head}, t{tail}, r{rel} {}

Triple(
const ent_id& head,
const ent_id& tail,
const rel_id& rel):
h{head}, t{tail}, r{rel}
{
}


Triple(void):
Triple(0, 0, 0)
{
}


Triple(void): Triple(0, 0, 0) {}
};
#endif // TRIPLE_H
25 changes: 4 additions & 21 deletions base/openke.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,34 +15,17 @@ void bernSampling(uint64_t* h, uint64_t* t, uint64_t* r, float* y, uint64_t size
extern "C"
void sampling(uint64_t* h, uint64_t* t, uint64_t* r, float* y, uint64_t size, uint64_t ne, uint64_t nr, uint64_t workers);


extern "C"
int importTrainFiles(const char* inPath, ent_id entities, rel_id relations);


extern "C"
void query_head(char*, ent_id, rel_id);
extern "C"
void query_tail(ent_id, char*, rel_id);
extern "C"
void query_rel(ent_id, ent_id, char*);


extern "C"
uint64_t getEntityTotal(void);
int importTrainFiles(const char* inPath, int64_t entities, int64_t relations);

extern "C"
uint64_t getRelationTotal(void);
void query_head(char*, int64_t, int64_t);

extern "C"
uint64_t getTripleTotal(void);
void query_tail(int64_t, char*, int64_t);

extern "C"
uint64_t getTrainTotal(void);

extern "C"
uint64_t getTestTotal(void);

void query_rel(int64_t, int64_t, char*);

# if 0
extern "C"
Expand Down
Loading

0 comments on commit 50fc292

Please sign in to comment.