/* File: realtest.c Using the functions in dense.c to test the functions in sparse.c. */ #include #include #include #include "sparse.h" #include "dense.h" main() { matrix_ptr Test1, Test2, Answer ; dm_ptr DTest1, DTest2, DAnswer, Check ; double comp ; int result ; /*** Sparse Matrix Test ***/ printf("Using Sparse Operations...\n") ; /* Read in the test files */ Test1 = LoadMatrix("rand1") ; Test2 = LoadMatrix("rand2") ; assert(Test1 != NULL && Test2 != NULL) ; /* Test Multiplication */ Answer = MultiplyMatrix(Test1, Test2) ; assert(Answer != NULL) ; result = StoreMatrix("temp", Answer) ; assert(result != 0) ; FreeMatrix(Test1) ; FreeMatrix(Test2) ; FreeMatrix(Answer) ; /*** Dense Matrix Test ***/ printf("Using Dense Operations...\n") ; /* Read in the test files */ DTest1 = LoadDense("rand1") ; DTest2 = LoadDense("rand2") ; assert(DTest1 != NULL && DTest2 != NULL) ; /* Test Multiplication */ DAnswer = MultiplyDense(DTest1, DTest2) ; assert(DAnswer != NULL) ; result = StoreDense("temp2", DAnswer) ; assert(result != 0) ; /*** Consistency Check ***/ printf("Checking the two answers\n") ; Check = LoadDense("temp") ; assert(Check != NULL) ; comp = CompareDense(DAnswer, Check) ; printf("Absolute Difference = %lf\n", comp) ; FreeDense(DTest1) ; FreeDense(DTest2) ; FreeDense(DAnswer) ; FreeDense(Check) ; }