brintos

brintos / llvm-project-archived public Read only

0
0
Text · 761 B · 27ab6dc Raw
41 lines · c
1/*2 * Copyright 2016      Sven Verdoolaege3 *4 * Use of this software is governed by the MIT license5 *6 * Written by Sven Verdoolaege7 */8 9#include <isl_multi_macro.h>10 11/* Compare two multi expressions.12 *13 * Return -1 if "multi1" is "smaller" than "multi2", 1 if "multi1" is "greater"14 * than "multi2" and 0 if they are equal.15 */16int FN(MULTI(BASE),plain_cmp)(__isl_keep MULTI(BASE) *multi1,17	__isl_keep MULTI(BASE) *multi2)18{19	int i;20	int cmp;21 22	if (multi1 == multi2)23		return 0;24	if (!multi1)25		return -1;26	if (!multi2)27		return 1;28 29	cmp = isl_space_cmp(multi1->space, multi2->space);30	if (cmp != 0)31		return cmp;32 33	for (i = 0; i < multi1->n; ++i) {34		cmp = FN(EL,plain_cmp)(multi1->u.p[i], multi2->u.p[i]);35		if (cmp != 0)36			return cmp;37	}38 39	return 0;40}41