From 6fe0df4df077167fbf199acfbebebb3465b5b825 Mon Sep 17 00:00:00 2001 From: jsclose <jsclose@umich.edu> Date: Mon, 2 Apr 2018 14:52:33 -0400 Subject: [PATCH] trying to get isr test to work with wash post --- ISRWord-tests | Bin 393524 -> 393524 bytes constraintSolver/ISR.h | 2 ++ constraintSolver/ISRWord.cpp | 11 +++++------ constraintSolver/tests/ISRWordTests.cpp | 4 ++-- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/ISRWord-tests b/ISRWord-tests index d5e87b3bbe042dca63484afc6c915fdfab53128a..da8fa890473414adc4d5664e08c9c5eeae034b9d 100755 GIT binary patch delta 25701 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 delta 25423 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 S9Me$vKdw;g&oxz;|Nj7!G*Bi0 diff --git a/constraintSolver/ISR.h b/constraintSolver/ISR.h index 4d6fd5d..27a7a55 100644 --- a/constraintSolver/ISR.h +++ b/constraintSolver/ISR.h @@ -15,6 +15,8 @@ #include <limits> #include "ISREndDoc.h" + +#define pathToIndex "/build/" typedef size_t Location; // Location 0 is the null location. const Location MAX_Location = std::numeric_limits<unsigned>::max(); diff --git a/constraintSolver/ISRWord.cpp b/constraintSolver/ISRWord.cpp index 98bad34..ba28822 100644 --- a/constraintSolver/ISRWord.cpp +++ b/constraintSolver/ISRWord.cpp @@ -3,7 +3,6 @@ #include "ISRWord.h" -#define pathToIndex = "build" size_t FileSize(int f) { struct stat fileInfo; fstat( f, &fileInfo); @@ -20,7 +19,7 @@ ISRWord::ISRWord ( char *word ) { } void ISRWord::getChunks() { - MMDiskHashTable diskHashTable(util::GetCurrentWorkingDir() + "/constraintSolver/index-test-files/twitter/master.txt", 30, 168); + MMDiskHashTable diskHashTable(util::GetCurrentWorkingDir() + pathToIndex + "master.txt" , 30, 168); string value = diskHashTable.find(term); string chunkInput = ""; for(char val : value) { @@ -51,12 +50,12 @@ Location ISRWord::First ( ) } string currentChunkSeekFileLocation = - util::GetCurrentWorkingDir( ) + "/constraintSolver/index-test-files/twitter/" + to_string( listOfChunks[ currentChunk ] ) + + util::GetCurrentWorkingDir( ) + pathToIndex + to_string( listOfChunks[ currentChunk ] ) + "-seek.txt"; MMDiskHashTable currentChunkSeekFileHashTable = MMDiskHashTable(currentChunkSeekFileLocation, 30, 8); string loc = currentChunkSeekFileHashTable.find(term); string currentChunkFileLocation = - util::GetCurrentWorkingDir( ) + "/constraintSolver/index-test-files/twitter/" + to_string( listOfChunks[ currentChunk ] ) + + util::GetCurrentWorkingDir( ) + pathToIndex + to_string( listOfChunks[ currentChunk ] ) + ".txt"; int currentChunkFile = open( currentChunkFileLocation.c_str( ), O_RDONLY ); ssize_t currentChunkFileSize = FileSize( currentChunkFile ); @@ -118,7 +117,7 @@ size_t ISRWord::getFrequency() { void ISRWord::getWordSeek() { string currentChunkWordSeekFileLocation = - util::GetCurrentWorkingDir( ) + "/constraintSolver/index-test-files/twitter/" + to_string( listOfChunks[ currentChunk ] ) + + util::GetCurrentWorkingDir( ) + pathToIndex + to_string( listOfChunks[ currentChunk ] ) + "-wordseek.txt"; MMDiskHashTable wordSeek = MMDiskHashTable(currentChunkWordSeekFileLocation, 30, 168); string result = wordSeek.find(term); @@ -156,7 +155,7 @@ Location ISRWord::Seek( Location target ) { if(entry.realLocation < target) { best = entry; } else { - string currentChunkFileLocation = util::GetCurrentWorkingDir() + "/constraintSolver/index-test-files/twitter/" + to_string(listOfChunks[currentChunk]) + ".txt"; + string currentChunkFileLocation = util::GetCurrentWorkingDir() + pathToIndex + to_string(listOfChunks[currentChunk]) + ".txt"; int currentChunkFile = open(currentChunkFileLocation.c_str(), O_RDONLY); ssize_t currentChunkFileSize = FileSize(currentChunkFile); currentMemMap = (char*) mmap(nullptr, currentChunkFileSize, PROT_READ, MAP_PRIVATE, currentChunkFile, 0); diff --git a/constraintSolver/tests/ISRWordTests.cpp b/constraintSolver/tests/ISRWordTests.cpp index 9955309..be6c2f6 100644 --- a/constraintSolver/tests/ISRWordTests.cpp +++ b/constraintSolver/tests/ISRWordTests.cpp @@ -13,9 +13,9 @@ using namespace std; int main ( ) { - char* query = "iphone"; + //char* query = "iphone"; clock_t start = clock(); - ISRWord queryWord("clock"); + ISRWord queryWord("world"); ISREndDoc endDocs; vector<size_t> locations; vector<DocumentEnding> docEnds; -- GitLab