/* Performs some basic tests. Feel free to define additional tests. */ void test_basic() { Row *sparse_matrix; unsigned char small[] = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09 }; unsigned char empty[] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }; unsigned char tiny[] = { 56 }; unsigned char sample[] = { 0xFF, 0x01, 0x02, 0xFF, 0XFF, 0XFF, 0x03, 0x04, 0x05, 0x06, 0xFF, 0x07 }; sparse_matrix = dense_to_sparse(small, 3, 3); test_sparse("small", sparse_matrix); free_sparse(sparse_matrix); sparse_matrix = dense_to_sparse(empty, 3, 3); test_sparse("empty", sparse_matrix); free_sparse(sparse_matrix); sparse_matrix = dense_to_sparse(tiny, 1, 1); test_sparse("tiny", sparse_matrix); free_sparse(sparse_matrix); sparse_matrix = dense_to_sparse(sample, 3, 4); test_sparse("sample", sparse_matrix); free_sparse(sparse_matrix); }
int main(int argc, char **argv) { Image img; Row *sparse_matrix; if ( argc != 2 ) { test_basic(); } else { img = load_bmp(argv[1]); sparse_matrix = dense_to_sparse(img.data, img.width, img.height); test_sparse(argv[1], sparse_matrix); free_sparse(sparse_matrix); } return 0; }
int main() { adam_init(); test_move(); test_return(); test_const(); test_monitor(); test_packed(); test_sparse(); test_arrayops(); test_instanceops(); test_invoke(); adam_finalize(); return 0; }
int main(int argc, char* argv[]) { armci_msg_init(&argc, &argv); nproc = armci_msg_nproc(); me = armci_msg_me(); /* printf("nproc = %d, me = %d\n", nproc, me);*/ if(nproc>MAXPROC && me==0) ARMCI_Error("Test works for up to %d processors\n",MAXPROC); if(me==0) { printf("ARMCI test program (%d processes)\n",nproc); fflush(stdout); sleep(1); } ARMCI_Init(); if(me==0) { printf("\n Performing Sparse Matrix-Vector Multiplication ...\n\n"); fflush(stdout); } test_sparse(); ARMCI_AllFence(); armci_msg_barrier(); if(me==0) { printf("\nSuccess!!\n"); fflush(stdout); } sleep(2); armci_msg_barrier(); ARMCI_Finalize(); armci_msg_finalize(); return(0); }
/*------------------------------------------------------------------------- * Function: main * * Purpose: Tests indexed storage stuff. * * Return: Success: exit(0) * * Failure: exit(non-zero) * * Programmer: Robb Matzke * Wednesday, October 15, 1997 * * Modifications: * *------------------------------------------------------------------------- */ int main(int argc, char *argv[]) { hid_t fapl=-1, file=-1, fcpl=-1; herr_t status; int nerrors = 0; unsigned size_of_test; unsigned u; /* Local index variable */ char filename[1024]; int skip_test = 0; int has_sparse_support = 0; /* Parse arguments or assume these tests (`small', `medium' ) */ if (1 == argc) { size_of_test = TEST_SMALL | TEST_MEDIUM | TEST_LARGE; } else { int i; for (i = 1, size_of_test = 0; i < argc; i++) { if (!strcmp(argv[i], "small")) { size_of_test |= TEST_SMALL; } else if (!strcmp(argv[i], "medium")) { size_of_test |= TEST_MEDIUM; } else if (!strcmp(argv[i], "large")) { size_of_test |= TEST_LARGE; } else { printf("unrecognized argument: %s\n", argv[i]); #if 0 exit(1); #endif } } } printf("Test sizes: "); if (size_of_test & TEST_SMALL) printf(" SMALL"); if (size_of_test & TEST_MEDIUM) printf(" MEDIUM"); if (size_of_test & TEST_LARGE) printf(" LARGE"); printf("\n"); /* Set the random # seed */ HDsrandom((unsigned)HDtime(NULL)); /* Check to see if the file system supports POSIX-style sparse files. * Windows NTFS does not, so we want to avoid tests which create * very large files. */ has_sparse_support = is_sparse(); /* Reset library */ h5_reset(); fapl = h5_fileaccess(); /* Use larger file addresses... */ fcpl = H5Pcreate(H5P_FILE_CREATE); H5Pset_sizes(fcpl, (size_t)8, (size_t)0); /* Create the test file */ h5_fixname(FILENAME[0], fapl, filename, sizeof filename); if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, fcpl, fapl)) < 0) { printf("Cannot create file %s; test aborted\n", filename); exit(1); } /* Initialize chunk dimensions */ for(u = 0; u < H5O_LAYOUT_NDIMS; u++) chunk_dims[u] = TEST_CHUNK_SIZE; /* * Creation test: Creates empty objects with various raw data sizes * and alignments. */ status = test_create(file, "create"); nerrors += status < 0 ? 1 : 0; if (size_of_test & TEST_SMALL) { status = test_extend(file, "extend", (size_t)10, (size_t)0, (size_t)0); nerrors += status < 0 ? 1 : 0; status = test_extend(file, "extend", (size_t)10, (size_t)10, (size_t)0); nerrors += status < 0 ? 1 : 0; status = test_extend(file, "extend", (size_t)10, (size_t)10, (size_t)10); nerrors += status < 0 ? 1 : 0; } if (size_of_test & TEST_MEDIUM) { status = test_extend(file, "extend", (size_t)10000, (size_t)0, (size_t)0); nerrors += status < 0 ? 1 : 0; status = test_extend(file, "extend", (size_t)2500, (size_t)10, (size_t)0); nerrors += status < 0 ? 1 : 0; status = test_extend(file, "extend", (size_t)10, (size_t)400, (size_t)10); nerrors += status < 0 ? 1 : 0; } skip_test = 0; if (size_of_test & TEST_SMALL) { status = test_sparse(file, "sparse", (size_t)100, (size_t)5, (size_t)0, (size_t)0, skip_test); nerrors += status < 0 ? 1 : 0; status = test_sparse(file, "sparse", (size_t)100, (size_t)3, (size_t)4, (size_t)0, skip_test); nerrors += status < 0 ? 1 : 0; status = test_sparse(file, "sparse", (size_t)100, (size_t)2, (size_t)3, (size_t)4, skip_test); nerrors += status < 0 ? 1 : 0; } if (size_of_test & TEST_MEDIUM) { status = test_sparse(file, "sparse", (size_t)1000, (size_t)30, (size_t)0, (size_t)0, skip_test); nerrors += status < 0 ? 1 : 0; status = test_sparse(file, "sparse", (size_t)2000, (size_t)7, (size_t)3, (size_t)0, skip_test); nerrors += status < 0 ? 1 : 0; status = test_sparse(file, "sparse", (size_t)2000, (size_t)4, (size_t)2, (size_t)3, skip_test); nerrors += status < 0 ? 1 : 0; } skip_test = !has_sparse_support; if (size_of_test & TEST_LARGE) { /* This test is skipped if there is no POSIX-style sparse file support * e.g.: Windows NTFS filesystems */ status = test_sparse(file, "sparse", (size_t)800, (size_t)50, (size_t)50, (size_t)50, skip_test); if(skip_test) printf(" The current VFD does not support sparse files on this platform.\n"); nerrors += status < 0 ? 1 : 0; } /* Close the test file and exit */ H5Pclose(fcpl); H5Fclose(file); /* Verify symbol table messages are cached */ nerrors += (h5_verify_cached_stabs(FILENAME, fapl) < 0 ? 1 : 0); if (nerrors) { printf("***** %d I-STORE TEST%s FAILED! *****\n", nerrors, 1 == nerrors ? "" : "S"); exit(1); } printf("All i-store tests passed.\n"); h5_cleanup(FILENAME, fapl); return 0; }
/*------------------------------------------------------------------------- * Function: main * * Purpose: Tests indexed storage stuff. * * Return: Success: exit(0) * * Failure: exit(non-zero) * * Programmer: Robb Matzke * Wednesday, October 15, 1997 * * Modifications: * *------------------------------------------------------------------------- */ int main(int argc, char *argv[]) { hid_t fapl=-1, file=-1, fcpl=-1; herr_t status; int nerrors = 0; unsigned size_of_test; unsigned u; /* Local index variable */ char filename[1024]; /* Parse arguments or assume these tests (`small', `medium' ) */ if (1 == argc) { size_of_test = TEST_SMALL; } else { int i; for (i = 1, size_of_test = 0; i < argc; i++) { if (!strcmp(argv[i], "small")) { size_of_test |= TEST_SMALL; } else if (!strcmp(argv[i], "medium")) { size_of_test |= TEST_MEDIUM; } else if (!strcmp(argv[i], "large")) { size_of_test |= TEST_LARGE; } else { printf("unrecognized argument: %s\n", argv[i]); #if 0 exit(1); #endif } } } printf("Test sizes: "); if (size_of_test & TEST_SMALL) printf(" SMALL"); if (size_of_test & TEST_MEDIUM) printf(" MEDIUM"); if (size_of_test & TEST_LARGE) printf(" LARGE"); printf("\n"); /* Set the random # seed */ HDsrandom((unsigned long)HDtime(NULL)); /* Reset library */ h5_reset(); fapl = h5_fileaccess(); /* Use larger file addresses... */ fcpl = H5Pcreate(H5P_FILE_CREATE); H5Pset_sizes(fcpl, 8, 0); /* Create the test file */ h5_fixname(FILENAME[0], fapl, filename, sizeof filename); if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, fcpl, fapl))<0) { printf("Cannot create file %s; test aborted\n", filename); exit(1); } /* * For testing file families, fool the library into thinking it already * allocated a whole bunch of data. */ if (H5FD_FAMILY==H5Pget_driver(fapl)) { haddr_t addr; H5F_t *f; addr = 8 * ((uint64_t)1<<30); /*8 GB */ f=H5I_object(file); if (H5FDset_eoa(f->shared->lf, addr)<0) { printf("Cannot create large file family\n"); exit(1); } } /* Initialize chunk dimensions */ for (u = 0; u < H5O_LAYOUT_NDIMS; u++) chunk_dims[u]=TEST_CHUNK_SIZE; /* * Creation test: Creates empty objects with various raw data sizes * and alignments. */ status = test_create(file, "create"); nerrors += status < 0 ? 1 : 0; if (size_of_test & TEST_SMALL) { status = test_extend(file, "extend", 10, 0, 0); nerrors += status < 0 ? 1 : 0; status = test_extend(file, "extend", 10, 10, 0); nerrors += status < 0 ? 1 : 0; status = test_extend(file, "extend", 10, 10, 10); nerrors += status < 0 ? 1 : 0; } if (size_of_test & TEST_MEDIUM) { status = test_extend(file, "extend", 10000, 0, 0); nerrors += status < 0 ? 1 : 0; status = test_extend(file, "extend", 2500, 10, 0); nerrors += status < 0 ? 1 : 0; status = test_extend(file, "extend", 10, 400, 10); nerrors += status < 0 ? 1 : 0; } if (size_of_test & TEST_SMALL) { status = test_sparse(file, "sparse", 100, 5, 0, 0); nerrors += status < 0 ? 1 : 0; status = test_sparse(file, "sparse", 100, 3, 4, 0); nerrors += status < 0 ? 1 : 0; status = test_sparse(file, "sparse", 100, 2, 3, 4); nerrors += status < 0 ? 1 : 0; } if (size_of_test & TEST_MEDIUM) { status = test_sparse(file, "sparse", 1000, 30, 0, 0); nerrors += status < 0 ? 1 : 0; status = test_sparse(file, "sparse", 2000, 7, 3, 0); nerrors += status < 0 ? 1 : 0; status = test_sparse(file, "sparse", 2000, 4, 2, 3); nerrors += status < 0 ? 1 : 0; } if (size_of_test & TEST_LARGE) { status = test_sparse(file, "sparse", 800, 50, 50, 50); nerrors += status < 0 ? 1 : 0; } /* Close the test file and exit */ H5Pclose(fcpl); H5Fclose(file); if (nerrors) { printf("***** %d I-STORE TEST%s FAILED! *****\n", nerrors, 1 == nerrors ? "" : "S"); exit(1); } printf("All i-store tests passed.\n"); h5_cleanup(FILENAME, fapl); return 0; }
/*------------------------------------------------------------------------- * Function: main * * Purpose: Tests indexed storage stuff. * * Return: Success: exit(0) * * Failure: exit(non-zero) * * Programmer: Robb Matzke * Wednesday, October 15, 1997 * * Modifications: * *------------------------------------------------------------------------- */ int main(int argc, char *argv[]) { hid_t fapl=-1, file=-1, fcpl=-1; herr_t status; int nerrors = 0; unsigned size_of_test; unsigned u; /* Local index variable */ char filename[1024]; /* Parse arguments or assume these tests (`small', `medium' ) */ if (1 == argc) { size_of_test = TEST_SMALL | TEST_MEDIUM | TEST_LARGE; } else { int i; for (i = 1, size_of_test = 0; i < argc; i++) { if (!strcmp(argv[i], "small")) { size_of_test |= TEST_SMALL; } else if (!strcmp(argv[i], "medium")) { size_of_test |= TEST_MEDIUM; } else if (!strcmp(argv[i], "large")) { size_of_test |= TEST_LARGE; } else { printf("unrecognized argument: %s\n", argv[i]); #if 0 exit(1); #endif } } } printf("Test sizes: "); if (size_of_test & TEST_SMALL) printf(" SMALL"); if (size_of_test & TEST_MEDIUM) printf(" MEDIUM"); if (size_of_test & TEST_LARGE) printf(" LARGE"); printf("\n"); /* Set the random # seed */ HDsrandom((unsigned)HDtime(NULL)); /* Reset library */ h5_reset(); fapl = h5_fileaccess(); /* Use larger file addresses... */ fcpl = H5Pcreate(H5P_FILE_CREATE); H5Pset_sizes(fcpl, (size_t)8, (size_t)0); /* Create the test file */ h5_fixname(FILENAME[0], fapl, filename, sizeof filename); if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, fcpl, fapl)) < 0) { printf("Cannot create file %s; test aborted\n", filename); exit(1); } /* Initialize chunk dimensions */ for(u = 0; u < H5O_LAYOUT_NDIMS; u++) chunk_dims[u] = TEST_CHUNK_SIZE; /* * Creation test: Creates empty objects with various raw data sizes * and alignments. */ status = test_create(file, "create"); nerrors += status < 0 ? 1 : 0; if (size_of_test & TEST_SMALL) { status = test_extend(file, "extend", (size_t)10, (size_t)0, (size_t)0); nerrors += status < 0 ? 1 : 0; status = test_extend(file, "extend", (size_t)10, (size_t)10, (size_t)0); nerrors += status < 0 ? 1 : 0; status = test_extend(file, "extend", (size_t)10, (size_t)10, (size_t)10); nerrors += status < 0 ? 1 : 0; } if (size_of_test & TEST_MEDIUM) { status = test_extend(file, "extend", (size_t)10000, (size_t)0, (size_t)0); nerrors += status < 0 ? 1 : 0; status = test_extend(file, "extend", (size_t)2500, (size_t)10, (size_t)0); nerrors += status < 0 ? 1 : 0; status = test_extend(file, "extend", (size_t)10, (size_t)400, (size_t)10); nerrors += status < 0 ? 1 : 0; } if (size_of_test & TEST_SMALL) { status = test_sparse(file, "sparse", (size_t)100, (size_t)5, (size_t)0, (size_t)0); nerrors += status < 0 ? 1 : 0; status = test_sparse(file, "sparse", (size_t)100, (size_t)3, (size_t)4, (size_t)0); nerrors += status < 0 ? 1 : 0; status = test_sparse(file, "sparse", (size_t)100, (size_t)2, (size_t)3, (size_t)4); nerrors += status < 0 ? 1 : 0; } if (size_of_test & TEST_MEDIUM) { status = test_sparse(file, "sparse", (size_t)1000, (size_t)30, (size_t)0, (size_t)0); nerrors += status < 0 ? 1 : 0; status = test_sparse(file, "sparse", (size_t)2000, (size_t)7, (size_t)3, (size_t)0); nerrors += status < 0 ? 1 : 0; status = test_sparse(file, "sparse", (size_t)2000, (size_t)4, (size_t)2, (size_t)3); nerrors += status < 0 ? 1 : 0; } if (size_of_test & TEST_LARGE) { status = test_sparse(file, "sparse", (size_t)800, (size_t)50, (size_t)50, (size_t)50); nerrors += status < 0 ? 1 : 0; } /* Close the test file and exit */ H5Pclose(fcpl); H5Fclose(file); if (nerrors) { printf("***** %d I-STORE TEST%s FAILED! *****\n", nerrors, 1 == nerrors ? "" : "S"); exit(1); } printf("All i-store tests passed.\n"); h5_cleanup(FILENAME, fapl); return 0; }
/* Performs some basic tests. Feel free to define additional tests. */ void test_basic() { Row *sparse_matrix; unsigned char small[] = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09 }; unsigned char empty[] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }; unsigned char tiny[] = { 56 }; unsigned char empty_center[] = { 0x01, 0x02, 0x03, 0x04, 0xFF, 0x06, 0x07, 0x08, 0x09 }; unsigned char white_margins_empty_spots[] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x01, 0x01, 0xFF, 0xFF, 0x02, 0x02, 0x02, 0x02, 0xFF, 0xFF, 0x03, 0xFF, 0xFF, 0x03, 0xFF, 0xFF, 0xFF, 0x04, 0x04, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }; unsigned char theres_a_seven_in_there[] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }; unsigned char skips_middle_line[] = { 0x01, 0x02, 0x03, 0xFF, 0xFF, 0xFF, 0x07, 0x08, 0x09 }; sparse_matrix = dense_to_sparse(small, 3, 3); test_sparse("small", sparse_matrix); free_sparse(sparse_matrix); sparse_matrix = dense_to_sparse(empty, 3, 3); test_sparse("empty", sparse_matrix); free_sparse(sparse_matrix); sparse_matrix = dense_to_sparse(tiny, 1, 1); test_sparse("tiny", sparse_matrix); free_sparse(sparse_matrix); sparse_matrix = dense_to_sparse(empty_center, 3, 3); test_sparse("empty_center", sparse_matrix); free_sparse(sparse_matrix); sparse_matrix = dense_to_sparse(white_margins_empty_spots, 6, 6); test_sparse("white_margins_empty_spots", sparse_matrix); free_sparse(sparse_matrix); sparse_matrix = dense_to_sparse(theres_a_seven_in_there, 6, 6); test_sparse("theres_a_seven_in_there", sparse_matrix); free_sparse(sparse_matrix); sparse_matrix = dense_to_sparse(skips_middle_line, 3, 3); test_sparse("skips_middle_line", sparse_matrix); free_sparse(sparse_matrix); }