예제 #1
0
void zpl_var_print(FILE* fp, const Var* var)
{
   const char* name  = xlp_getvarname(prog_get_lp(), var);
   VarClass    class = xlp_getclass(prog_get_lp(), var);
   Bound*      lower = xlp_getlower(prog_get_lp(), var);
   Bound*      upper = xlp_getupper(prog_get_lp(), var);

   fprintf(fp, "\"%s\" ", name);

   switch(class)
   {
   case VAR_CON :
      fprintf(fp, "real [");
      break;
   case VAR_IMP :
      fprintf(fp, "implicit integer [");
      break;
   case VAR_INT :
      fprintf(fp, "integer [");
      break;
   default :
      abort();
   }
   bound_print(fp, lower);
   fprintf(fp, ",");
   bound_print(fp, upper);
   fprintf(fp, "] ");
         
   bound_free(upper);
   bound_free(lower);
}
예제 #2
0
파일: test.c 프로젝트: nberth/apron4opam
void arith(itv_internal_t* intern,
	   itv_t a, itv_t b, itv_t c, bound_t bound)
{
  itv_t bb,cc;
  
  itv_init_set(bb,b);
  itv_init_set(cc,c);

  printf("********************\n");
  printf("b="); itv_print(b);
  printf(" c="); itv_print(c); 
  printf(" bound="); bound_print(bound); printf("\n");

  itv_set(b,bb); itv_set(c,cc);
  itv_swap(b,c);
  printf("itv_swap(b,c): "); printf("b="); itv_print(b); printf(" c="); itv_print(c); printf("\n");

  itv_set(b,bb); itv_set(c,cc);
  itv_neg(a,b);
  printf("itv_neg(b)="); itv_print(a); printf("\n");

  itv_set(b,bb); itv_set(c,cc);
  itv_add(a,b,c);
  printf("itv_add(b,c)="); itv_print(a); printf("\n");

  itv_set(b,bb); itv_set(c,cc);
  itv_sub(a,b,c);
  printf("itv_sub(b,c)="); itv_print(a); printf("\n");

  itv_set(b,bb); itv_set(c,cc);
  itv_mul(intern,a,b,c);
  printf("itv_mul(b,c)="); itv_print(a); printf("\n");

  itv_set(b,bb); itv_set(c,cc);
  itv_add_bound(a,b,bound);
  printf("itv_add_bound(b,bound)="); itv_print(a); printf("\n");

  itv_set(b,bb); itv_set(c,cc);
  itv_sub_bound(a,b,bound);
  printf("itv_sub_bound(b,bound)="); itv_print(a); printf("\n");

  itv_set(b,bb); itv_set(c,cc);
  itv_mul_bound(a,b,bound);
  printf("itv_mul_bound(b,bound)="); itv_print(a); printf("\n");

  itv_set(b,bb); itv_set(c,cc);
  itv_div_bound(a,b,bound);
  printf("itv_div_bound(b,bound)="); itv_print(a); printf("\n");

  itv_set(b,bb); itv_set(c,cc);

  itv_clear(bb);
  itv_clear(cc);
}