Exemple #1
0
main() {
	perfTest(100);
	perfTest(1000);
	perfTest(10000);
	perfTest(100000);
	perfTest(1000000);
}
Exemple #2
0
/*
 * bool testWithLength(int length)
 *
 * Creates three random vectors with the given length and times the performance of scalar_fma() and
 * vectorized_fma() with these vectors as input.
 *
 * Returns true if the results match.
 */
bool testWithLength(int length) {
  printf("Test length: %d\n", length);

  // Create (and clone) three vectors with the given length
  struct doubleVector a = random_vector(length);
  struct doubleVector b = random_vector(length);
  struct doubleVector c = random_vector(length);

  struct doubleVector a2 = vector_clone(&a);
  struct doubleVector b2 = vector_clone(&b);
  struct doubleVector c2 = vector_clone(&c);
  
 
  // Test scalar performance 
  printf("\tScalar cycle count: %d\n", perfTest(&a, &b, &c, scalar_fma));
 
  // Test vector performance
  printf("\tVector cycle count: %d\n", perfTest(&a2, &b2, &c2, vector_fma));

  // Compare results
  bool correct = vector_compare(&a, &a2);
  printf("\t%s\n", correct ? "MATCH" : "NO MATCH");
  
  // Free dynamic resources
  free(a.data);
  free(b.data);
  free(c.data);
  free(a2.data);
  free(b2.data);
  free(c2.data);

  return correct;
}
Exemple #3
0
int main(int argc, const char * argv[]) {
  test1(); 
  test2();
  test3();
  test4();
  perfTest();
  
  return 0;
}
Exemple #4
0
/**
 * Runs the test suite.
 */
int runTests() {
    int hr = SUCCESS;

#ifndef EXTRA_CREDIT
#ifndef COMPETITION_TEST
    FILE *f_ls_base;
#else
    FILE *f_ls_compTest;
#endif
#endif

#ifdef EXTRA_CREDIT
    FILE *f_ls_extra_credit;
#endif

#if COMPETITION
    FILE *f_ls_competition;
    f_ls_competition = fopen("competition.ls", "w");
#endif

    RUN_TEST(initDiskTest());

#ifndef EXTRA_CREDIT
#ifndef COMPETITION_TEST
    f_ls_base = fopen("base.ls", "w");
    f_ls = f_ls_base;
    RUN_TEST(initFSTest());
    RUN_TEST(createSimpleFileTest());
    RUN_TEST(createSimpleFileTest());
    RUN_TEST(createSimpleFileWriteReadTest());
    RUN_TEST(singleBigFileTest());
    RUN_TEST(multipleFilesTest());
    RUN_TEST(createFolderTest());
    RUN_TEST(multipleFoldersTest());
    RUN_TEST(appendFileTest());
    RUN_TEST(multipleOpenFilesTest());
    RUN_TEST(nestedFoldersTest());
    RUN_TEST(errorTest());
#else
    f_ls_compTest = fopen("compTest.ls", "w");
    f_ls = f_ls_compTest;
    RUN_TEST(customTest());
#endif
#endif

#ifdef EXTRA_CREDIT
    f_ls_extra_credit = fopen("extra_credit.ls", "w");
    f_ls = f_ls_extra_credit;
    RUN_TEST(removeTest());
#endif

    // NOTE: We're not using this competition code this year.
#if COMPETITION
    f_ls = f_ls_competition;
    RUN_TEST(perfTest());
#endif


    Fail:

#ifndef EXTRA_CREDIT
#ifndef COMPETITION_TEST
    fclose(f_ls_base);
#else
    fclose(f_ls_compTest);
#endif
#endif

#ifdef EXTRA_CREDIT
    fclose(f_ls_extra_credit);
#endif

#if COMPETITION
    fclose(f_ls_competition);
#endif

    return hr;
}