40 lines
		
	
	
		
			908 B
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			908 B
		
	
	
	
		
			C
		
	
	
	
| #include <assert.h>
 | |
| #include <isl/map.h>
 | |
| #include <isl/options.h>
 | |
| 
 | |
| int main(int argc, char **argv)
 | |
| {
 | |
| 	struct isl_ctx *ctx;
 | |
| 	struct isl_map *map;
 | |
| 	struct isl_options *options;
 | |
| 	isl_printer *p;
 | |
| 	int exact;
 | |
| 
 | |
| 	options = isl_options_new_with_defaults();
 | |
| 	assert(options);
 | |
| 	argc = isl_options_parse(options, argc, argv, ISL_ARG_ALL);
 | |
| 
 | |
| 	ctx = isl_ctx_alloc_with_options(&isl_options_args, options);
 | |
| 
 | |
| 	p = isl_printer_to_file(ctx, stdout);
 | |
| 
 | |
| 	map = isl_map_read_from_file(ctx, stdin);
 | |
| 	map = isl_map_transitive_closure(map, &exact);
 | |
| 	if (!exact)
 | |
| 		p = isl_printer_print_str(p, "# NOT exact\n");
 | |
| 	p = isl_printer_print_map(p, map);
 | |
| 	p = isl_printer_end_line(p);
 | |
| 	map = isl_map_compute_divs(map);
 | |
| 	map = isl_map_coalesce(map);
 | |
| 	p = isl_printer_print_str(p, "# coalesced\n");
 | |
| 	p = isl_printer_print_map(p, map);
 | |
| 	p = isl_printer_end_line(p);
 | |
| 	isl_map_free(map);
 | |
| 
 | |
| 	isl_printer_free(p);
 | |
| 
 | |
| 	isl_ctx_free(ctx);
 | |
| 
 | |
| 	return 0;
 | |
| }
 |