Ejemplo n.º 1
0
void judge_unary(dec64 first, dec64 expected, dec64 actual, char * name, char * op, char * comment) {
    if (compare(expected, actual)) {
        nr_pass += 1;
        if (level >= 3) {
            printf("\n\npass %s: %s", name, comment);
            printf("\n%-4s", op);
            print_dec64(first);
            printf("\n%-4s", "=");
            print_dec64(actual);
        }
    } else {
        nr_fail += 1;
        if (level >= 1) {
            printf("\n\nFAIL %s: %s", name, comment);
            if (level >= 2) {
                printf("\n%-4s", op);
                print_dec64(first);
                printf("\n%-4s", "?");
                print_dec64(actual);
                printf("\n%-4s", "=");
                print_dec64(expected);
            }
        }
    }

}
Ejemplo n.º 2
0
void p(dec64 number, dec64_string_char name[]) {
    if (name) {
        printf("\n[%s ", name);
    } else {
        printf("\n[");
    }
    print_dec64(number);
    printf("]");
}
Ejemplo n.º 3
0
static void judge_unary(
    dec64 first,
    dec64 expected,
    dec64 actual,
    char * name,
    char * op,
    char * comment
) {
    if (dec64_is_equal(expected, actual) == DEC64_TRUE) {
        nr_pass += 1;
        if (level >= 3) {
            printf("\n\npass %s: %s", name, comment);
            printf("\n%-4s", op);
            print_dec64(first);
            printf("\n%-4s", "=");
            print_dec64(actual);
        }
    } else {
        nr_fail += 1;
        if (level >= 1) {
            printf("\n\nFAIL %s: %s", name, comment);
            if (level >= 2) {
                printf("\n%-4s", op);
                print_dec64(first);
                printf("\n%-4s", "?");
                print_dec64(actual);
                printf("  (error ");
                print_dec64(dec64_subtract(actual, expected));
                printf(")\n%-4s", "=");
                print_dec64(expected);
            }
        }
    }
}
Ejemplo n.º 4
0
int main(){
  mpd_context_t ctx;
  mpd_t *result1;
  mpd_t *result2;
  mpd_t *result3;
  mpd_setminalloc(MPD_MINALLOC_MAX);
  mpd_ieee_context(&ctx, 160);
  result1 = mpd_qnew();
  result2 = mpd_qnew();
  result3 = mpd_qnew();
  //mpd_qset_u64(result1,2ULL,&ctx,&status);
  dec32_to_mpd(&ctx,result1,dec32);
  dec64_to_mpd(&ctx,result2,dec64);
  dec128_to_mpd(&ctx,result3,dec128);
  //mpd_qset_u64(result2,4ULL,&ctx,&status);
  //mpd_qpow(result3,result1,result2,&ctx,&status);
  mpd_print(result1);
  mpd_print(result2);
  mpd_print(result3);

  /*print_mpd(result1);
  print_mpd(result2);
  print_mpd(result3);*/

  _Decimal32 ddd = mpd_to_dec32(result1);
  printf ("Compare is %d\n", memcmp(&ddd,&dec32,sizeof(_Decimal32)));
  printf ("0x%x\n0x%x\n", *((uint32_t *)(void *)&ddd), *((uint32_t *)(void *)&dec32));

  _Decimal64 ddd64 = mpd_to_dec64(result2);
  printf ("Compare is %d\n", memcmp(&ddd64,&dec64,sizeof(_Decimal64)));
  printf ("0x%I64x\n0x%I64x\n", *((uint64_t *)(void *)&ddd64), *((uint64_t *)(void *)&dec64));

  _Decimal128 ddd128 = mpd_to_dec128(result3);
  printf ("Compare is %d\n", memcmp(&ddd128,&dec128,sizeof(_Decimal128)));
  printf ("0x%I64d\n0x%I64x\n", *((uint64_t *)(void *)&ddd128), *((uint64_t *)(void *)&dec128));

  mpd_del(result1);
  mpd_del(result2);
  mpd_del(result3);

  print_dec32(&dec32);
  print_dec64(&dec64);
  print_dec128(&dec128);
  return 0;
}