brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · 5103edf Raw
71 lines · c
1/*2 * Copyright 2011      Sven Verdoolaege3 * Copyright 2013      Ecole Normale Superieure4 *5 * Use of this software is governed by the MIT license6 *7 * Written by Sven Verdoolaege,8 * Ecole Normale Superieure, 45 rue d'Ulm, 75230 Paris, France9 */10 11#include <isl/space.h>12 13#include <isl_multi_macro.h>14 15/* Return the position of the dimension of the given type and name16 * in "multi".17 * Return -1 if no such dimension can be found.18 */19int FN(MULTI(BASE),find_dim_by_name)(__isl_keep MULTI(BASE) *multi,20	enum isl_dim_type type, const char *name)21{22	if (!multi)23		return -1;24	return isl_space_find_dim_by_name(multi->space, type, name);25}26 27/* Return the position of the first dimension of "type" with id "id".28 * Return -1 if there is no such dimension.29 */30int FN(MULTI(BASE),find_dim_by_id)(__isl_keep MULTI(BASE) *multi,31	enum isl_dim_type type, __isl_keep isl_id *id)32{33	if (!multi)34		return -1;35	return isl_space_find_dim_by_id(multi->space, type, id);36}37 38/* Return the id of the given dimension.39 */40__isl_give isl_id *FN(MULTI(BASE),get_dim_id)(__isl_keep MULTI(BASE) *multi,41	enum isl_dim_type type, unsigned pos)42{43	return multi ? isl_space_get_dim_id(multi->space, type, pos) : NULL;44}45 46__isl_give MULTI(BASE) *FN(MULTI(BASE),set_dim_name)(47	__isl_take MULTI(BASE) *multi,48	enum isl_dim_type type, unsigned pos, const char *s)49{50	isl_space *space;51 52	space = FN(MULTI(BASE),get_space)(multi);53	space = isl_space_set_dim_name(space, type, pos, s);54 55	return FN(MULTI(BASE),reset_space)(multi, space);56}57 58/* Set the id of the given dimension of "multi" to "id".59 */60__isl_give MULTI(BASE) *FN(MULTI(BASE),set_dim_id)(61	__isl_take MULTI(BASE) *multi,62	enum isl_dim_type type, unsigned pos, __isl_take isl_id *id)63{64	isl_space *space;65 66	space = FN(MULTI(BASE),get_space)(multi);67	space = isl_space_set_dim_id(space, type, pos, id);68 69	return FN(MULTI(BASE),reset_space)(multi, space);70}71