#include "lclintMacros.nf"#include "basic.h"#include "intSet.h"Go to the source code of this file.
Functions | |
| intSet | intSet_new () |
| bool | intSet_insert (intSet s, int el) |
| bool | intSet_member (intSet s, int el) |
| cstring | intSet_unparseText (intSet s) |
| cstring | intSet_unparse (intSet s) |
| void | intSet_free (intSet s) |
|
|
Definition at line 172 of file intSet.c. Referenced by context_setMode(), and sigNodeSet_unparsePossibleAritys(). |
|
|
Definition at line 74 of file intSet.c. Referenced by context_setMode(), and sigNodeSet_unparsePossibleAritys(). 00075 {
00076 int i;
00077
00078 for (i = 0; i < s->entries; i++)
00079 {
00080 if (s->elements[i] >= el)
00081 break;
00082 }
00083
00084 if (s->entries > 0 && s->elements[i] == el)
00085 {
00086 return FALSE;
00087 }
00088 else
00089 {
00090 if (s->nspace <= 0)
00091 intSet_grow (s);
00092
00093 s->nspace--;
00094
00095 if (i == (s->entries - 1))
00096 {
00097 s->elements[s->entries] = el;
00098 }
00099 else
00100 {
00101 int j;
00102
00103 for (j = s->entries; j > i; j--)
00104 {
00105 s->elements[j] = s->elements[j-1];
00106 }
00107 s->elements[i] = el;
00108 }
00109
00110 s->entries++;
00111 return TRUE;
00112 }
00113 }
|
|
|
Definition at line 116 of file intSet.c. 00117 {
00118 int i;
00119
00120 for (i = 0; i < s->entries; i++)
00121 {
00122 if (el == s->elements[i])
00123 {
00124 return TRUE;
00125 }
00126 if (el > s->elements[i])
00127 {
00128 return FALSE;
00129 }
00130 }
00131 return FALSE;
00132 }
|
|
|
Definition at line 37 of file intSet.c. Referenced by context_setMode(), and sigNodeSet_unparsePossibleAritys(). 00038 {
00039 intSet s = (intSet) dmalloc (sizeof (*s));
00040
00041 s->entries = 0;
00042 s->nspace = intSetBASESIZE;
00043 s->elements = (int *) dmalloc (sizeof (*s->elements) * intSetBASESIZE);
00044
00045 return (s);
00046 }
|
|
|
|
|
|
Definition at line 136 of file intSet.c. Referenced by sigNodeSet_unparsePossibleAritys(). 00137 {
00138 int i;
00139 cstring st = cstring_undefined;
00140 int lastentry = s->entries - 1;
00141
00142 for (i = 0; i < s->entries; i++)
00143 {
00144 if (i == 0)
00145 st = message ("%d", s->elements[i]);
00146 else if (i == lastentry)
00147 st = message ("%q or %d", st, s->elements[i]);
00148 else
00149 st = message ("%q, %d", st, s->elements[i]);
00150 }
00151
00152 return st;
00153 }
|
1.2.3 written by Dimitri van Heesch,
© 1997-2000