void put_entier_tst() { int i, j ; struct bitstream *bs ; bs = open_bitstream("xxx", "w") ; for(i=0; i<TAILLE(t); i++) put_entier(bs, t[i].entier) ; close_bitstream(bs) ; bs = open_bitstream("xxx", "r") ; for(i=0; i<TAILLE(t); i++) { for(j=0; t[i].chaine[j]; j++) if ( get_bit(bs) != t[i].chaine[j] - '0' ) { eprintf("Ecriture de l'entier %d (%s en binaire)\n", t[i].entier, t[i].chaine) ; eprintf("Mauvaise écriture du bit numero %d (a partir de 0)\n", j) ; return ; } } close_bitstream(bs) ; }
void put_entier_signe_tst() { int i ; struct bitstream *bs ; bs = open_bitstream("xxx", "w") ; for(i=0; i<TAILLE(t); i++) { put_entier_signe(bs, t[i].entier) ; put_entier_signe(bs, -t[i].entier) ; } close_bitstream(bs) ; bs = open_bitstream("xxx", "r") ; for(i=0; i<TAILLE(t); i++) { if ( get_bit(bs) ) { eprintf("Mauvais bit de signe en écriture (positif) pour %d\n", i) ; return ; } if ( get_entier(bs) != t[i].entier) { eprintf("Mauvaise écriture de l'entier %d\n", i) ; return ; } if ( i != 0 ) { if ( !get_bit(bs) ) { eprintf("Mauvais bit de signe en écriture (negatif) %d\n", i) ; return ; } if ( get_entier(bs) != t[i].entier-1 ) { eprintf("Mauvaise écriture de l'entier %d\n", -i) ; return ; } } else { if ( get_bit(bs) ) { eprintf("Mauvais bit de signe pour 0\n") ; return ; } if ( get_entier(bs) != 0 ) { eprintf("Mauvaise valeur pour 0\n") ; return ; } } } close_bitstream(bs) ; }
FILE *opencl_open_kernel(const char * const filename) { char *fullpath = alloca(PATH_MAX); FILE *f; /* Try in the optional kernel path or installed prefix first */ f = open_bitstream("opencl", filename); if (!f) { /* Then try from the path BFGMiner was called */ strcpy(fullpath, cgminer_path); strcat(fullpath, filename); f = fopen(fullpath, "rb"); } /* Finally try opening it directly */ if (!f) f = fopen(filename, "rb"); return f; }
void get_entier_tst() { int i, j ; struct bitstream *bs ; put_entier_tst() ; bs = open_bitstream("xxx", "r") ; for(i=0; i<TAILLE(t); i++) { j = get_entier(bs) ; if ( j != t[i].entier ) { eprintf("Lecture de l'entier %d (%s en binaire)\n", t[i].entier, t[i].chaine) ; eprintf("Je recois %d\n", j) ; return ; } } close_bitstream(bs) ; }
void get_entier_signe_tst() { int i ; struct bitstream *bs ; put_entier_signe_tst() ; bs = open_bitstream("xxx", "r") ; for(i=0; i<TAILLE(t); i++) { if ( get_entier_signe(bs) != t[i].entier ) { eprintf("Mauvaise lecture de l'entier signe %d\n", i) ; return ; } if ( get_entier_signe(bs) != -t[i].entier ) { eprintf("Mauvaise lecture de l'entier signe %d\n", -i) ; return ; } } close_bitstream(bs) ; }