/* voc 2.1.0 [2025/05/18] for gcc LP64 on slackware xtspaF */

#ifndef ulmSets__h
#define ulmSets__h

#include "SYSTEM.h"

typedef
	UINT32 ulmSets_CharSet[8];




import INT32 ulmSets_Card (UINT32 *set, ADDRESS set__len);
import BOOLEAN ulmSets_CharIn (ulmSets_CharSet charset, CHAR ch);
import void ulmSets_Complement (UINT32 *set, ADDRESS set__len);
import void ulmSets_Difference (UINT32 *set1, ADDRESS set1__len, UINT32 *set2, ADDRESS set2__len, UINT32 *result, ADDRESS result__len);
import BOOLEAN ulmSets_Equal (UINT32 *set1, ADDRESS set1__len, UINT32 *set2, ADDRESS set2__len);
import void ulmSets_Excl (UINT32 *set, ADDRESS set__len, INT32 i);
import void ulmSets_ExclChar (ulmSets_CharSet charset, CHAR ch);
import BOOLEAN ulmSets_In (UINT32 *set, ADDRESS set__len, INT32 i);
import void ulmSets_Incl (UINT32 *set, ADDRESS set__len, INT32 i);
import void ulmSets_InclChar (ulmSets_CharSet charset, CHAR ch);
import void ulmSets_InitSet (UINT32 *set, ADDRESS set__len);
import void ulmSets_Intersection (UINT32 *set1, ADDRESS set1__len, UINT32 *set2, ADDRESS set2__len, UINT32 *result, ADDRESS result__len);
import BOOLEAN ulmSets_Subset (UINT32 *set1, ADDRESS set1__len, UINT32 *set2, ADDRESS set2__len);
import void ulmSets_SymDifference (UINT32 *set1, ADDRESS set1__len, UINT32 *set2, ADDRESS set2__len, UINT32 *result, ADDRESS result__len);
import void ulmSets_Union (UINT32 *set1, ADDRESS set1__len, UINT32 *set2, ADDRESS set2__len, UINT32 *result, ADDRESS result__len);
import void *ulmSets__init(void);


#endif // ulmSets
