YAZ 5.35.1
stem_ISO_8859_1_german.c
Go to the documentation of this file.
1
2/* This file was generated automatically by the Snowball to ANSI C compiler */
3
4#include "../runtime/header.h"
5
6#ifdef __cplusplus
7extern "C"
8{
9#endif
10 extern int german_ISO_8859_1_stem (struct SN_env *z);
11#ifdef __cplusplus
12}
13#endif
14static int r_standard_suffix (struct SN_env *z);
15static int r_R2 (struct SN_env *z);
16static int r_R1 (struct SN_env *z);
17static int r_mark_regions (struct SN_env *z);
18static int r_postlude (struct SN_env *z);
19static int r_prelude (struct SN_env *z);
20#ifdef __cplusplus
21extern "C"
22{
23#endif
24
25
26 extern struct SN_env *german_ISO_8859_1_create_env (void);
27 extern void german_ISO_8859_1_close_env (struct SN_env *z);
28
29
30#ifdef __cplusplus
31}
32#endif
33static const symbol s_0_1[1] = { 'U' };
34static const symbol s_0_2[1] = { 'Y' };
35static const symbol s_0_3[1] = { 0xE4 };
36static const symbol s_0_4[1] = { 0xF6 };
37static const symbol s_0_5[1] = { 0xFC };
38
39static const struct among a_0[6] = {
40/* 0 */ {0, 0, -1, 6, 0},
41/* 1 */ {1, s_0_1, 0, 2, 0},
42/* 2 */ {1, s_0_2, 0, 1, 0},
43/* 3 */ {1, s_0_3, 0, 3, 0},
44/* 4 */ {1, s_0_4, 0, 4, 0},
45/* 5 */ {1, s_0_5, 0, 5, 0}
46};
47
48static const symbol s_1_0[1] = { 'e' };
49static const symbol s_1_1[2] = { 'e', 'm' };
50static const symbol s_1_2[2] = { 'e', 'n' };
51static const symbol s_1_3[3] = { 'e', 'r', 'n' };
52static const symbol s_1_4[2] = { 'e', 'r' };
53static const symbol s_1_5[1] = { 's' };
54static const symbol s_1_6[2] = { 'e', 's' };
55
56static const struct among a_1[7] = {
57/* 0 */ {1, s_1_0, -1, 2, 0},
58/* 1 */ {2, s_1_1, -1, 1, 0},
59/* 2 */ {2, s_1_2, -1, 2, 0},
60/* 3 */ {3, s_1_3, -1, 1, 0},
61/* 4 */ {2, s_1_4, -1, 1, 0},
62/* 5 */ {1, s_1_5, -1, 3, 0},
63/* 6 */ {2, s_1_6, 5, 2, 0}
64};
65
66static const symbol s_2_0[2] = { 'e', 'n' };
67static const symbol s_2_1[2] = { 'e', 'r' };
68static const symbol s_2_2[2] = { 's', 't' };
69static const symbol s_2_3[3] = { 'e', 's', 't' };
70
71static const struct among a_2[4] = {
72/* 0 */ {2, s_2_0, -1, 1, 0},
73/* 1 */ {2, s_2_1, -1, 1, 0},
74/* 2 */ {2, s_2_2, -1, 2, 0},
75/* 3 */ {3, s_2_3, 2, 1, 0}
76};
77
78static const symbol s_3_0[2] = { 'i', 'g' };
79static const symbol s_3_1[4] = { 'l', 'i', 'c', 'h' };
80
81static const struct among a_3[2] = {
82/* 0 */ {2, s_3_0, -1, 1, 0},
83/* 1 */ {4, s_3_1, -1, 1, 0}
84};
85
86static const symbol s_4_0[3] = { 'e', 'n', 'd' };
87static const symbol s_4_1[2] = { 'i', 'g' };
88static const symbol s_4_2[3] = { 'u', 'n', 'g' };
89static const symbol s_4_3[4] = { 'l', 'i', 'c', 'h' };
90static const symbol s_4_4[4] = { 'i', 's', 'c', 'h' };
91static const symbol s_4_5[2] = { 'i', 'k' };
92static const symbol s_4_6[4] = { 'h', 'e', 'i', 't' };
93static const symbol s_4_7[4] = { 'k', 'e', 'i', 't' };
94
95static const struct among a_4[8] = {
96/* 0 */ {3, s_4_0, -1, 1, 0},
97/* 1 */ {2, s_4_1, -1, 2, 0},
98/* 2 */ {3, s_4_2, -1, 1, 0},
99/* 3 */ {4, s_4_3, -1, 3, 0},
100/* 4 */ {4, s_4_4, -1, 2, 0},
101/* 5 */ {2, s_4_5, -1, 2, 0},
102/* 6 */ {4, s_4_6, -1, 3, 0},
103/* 7 */ {4, s_4_7, -1, 4, 0}
104};
105
106static const unsigned char g_v[] =
107 { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 32, 8 };
108
109static const unsigned char g_s_ending[] = { 117, 30, 5 };
110
111static const unsigned char g_st_ending[] = { 117, 30, 4 };
112
113static const symbol s_0[] = { 0xDF };
114static const symbol s_1[] = { 's', 's' };
115static const symbol s_2[] = { 'u' };
116static const symbol s_3[] = { 'U' };
117static const symbol s_4[] = { 'y' };
118static const symbol s_5[] = { 'Y' };
119static const symbol s_6[] = { 'y' };
120static const symbol s_7[] = { 'u' };
121static const symbol s_8[] = { 'a' };
122static const symbol s_9[] = { 'o' };
123static const symbol s_10[] = { 'u' };
124static const symbol s_11[] = { 's' };
125static const symbol s_12[] = { 'n', 'i', 's' };
126static const symbol s_13[] = { 'i', 'g' };
127static const symbol s_14[] = { 'e' };
128static const symbol s_15[] = { 'e' };
129static const symbol s_16[] = { 'e', 'r' };
130static const symbol s_17[] = { 'e', 'n' };
131
132static int
133r_prelude (struct SN_env *z)
134{
135 {
136 int c_test = z->c; /* test, line 35 */
137 while (1)
138 { /* repeat, line 35 */
139 int c1 = z->c;
140 {
141 int c2 = z->c; /* or, line 38 */
142 z->bra = z->c; /* [, line 37 */
143 if (!(eq_s (z, 1, s_0)))
144 goto lab2;
145 z->ket = z->c; /* ], line 37 */
146 {
147 int ret = slice_from_s (z, 2, s_1); /* <-, line 37 */
148 if (ret < 0)
149 return ret;
150 }
151 goto lab1;
152 lab2:
153 z->c = c2;
154 if (z->c >= z->l)
155 goto lab0;
156 z->c++; /* next, line 38 */
157 }
158 lab1:
159 continue;
160 lab0:
161 z->c = c1;
162 break;
163 }
164 z->c = c_test;
165 }
166 while (1)
167 { /* repeat, line 41 */
168 int c3 = z->c;
169 while (1)
170 { /* goto, line 41 */
171 int c4 = z->c;
172 if (in_grouping (z, g_v, 97, 252, 0))
173 goto lab4;
174 z->bra = z->c; /* [, line 42 */
175 {
176 int c5 = z->c; /* or, line 42 */
177 if (!(eq_s (z, 1, s_2)))
178 goto lab6;
179 z->ket = z->c; /* ], line 42 */
180 if (in_grouping (z, g_v, 97, 252, 0))
181 goto lab6;
182 {
183 int ret = slice_from_s (z, 1, s_3); /* <-, line 42 */
184 if (ret < 0)
185 return ret;
186 }
187 goto lab5;
188 lab6:
189 z->c = c5;
190 if (!(eq_s (z, 1, s_4)))
191 goto lab4;
192 z->ket = z->c; /* ], line 43 */
193 if (in_grouping (z, g_v, 97, 252, 0))
194 goto lab4;
195 {
196 int ret = slice_from_s (z, 1, s_5); /* <-, line 43 */
197 if (ret < 0)
198 return ret;
199 }
200 }
201 lab5:
202 z->c = c4;
203 break;
204 lab4:
205 z->c = c4;
206 if (z->c >= z->l)
207 goto lab3;
208 z->c++; /* goto, line 41 */
209 }
210 continue;
211 lab3:
212 z->c = c3;
213 break;
214 }
215 return 1;
216}
217
218static int
220{
221 z->I[0] = z->l;
222 z->I[1] = z->l;
223 {
224 int c_test = z->c; /* test, line 52 */
225 {
226 int ret = z->c + 3;
227 if (0 > ret || ret > z->l)
228 return 0;
229 z->c = ret; /* hop, line 52 */
230 }
231 z->I[2] = z->c; /* setmark x, line 52 */
232 z->c = c_test;
233 }
234 { /* gopast *//* grouping v, line 54 */
235 int ret = out_grouping (z, g_v, 97, 252, 1);
236 if (ret < 0)
237 return 0;
238 z->c += ret;
239 }
240 { /* gopast *//* non v, line 54 */
241 int ret = in_grouping (z, g_v, 97, 252, 1);
242 if (ret < 0)
243 return 0;
244 z->c += ret;
245 }
246 z->I[0] = z->c; /* setmark p1, line 54 */
247 /* try, line 55 */
248 if (!(z->I[0] < z->I[2]))
249 goto lab0;
250 z->I[0] = z->I[2];
251lab0:
252 { /* gopast *//* grouping v, line 56 */
253 int ret = out_grouping (z, g_v, 97, 252, 1);
254 if (ret < 0)
255 return 0;
256 z->c += ret;
257 }
258 { /* gopast *//* non v, line 56 */
259 int ret = in_grouping (z, g_v, 97, 252, 1);
260 if (ret < 0)
261 return 0;
262 z->c += ret;
263 }
264 z->I[1] = z->c; /* setmark p2, line 56 */
265 return 1;
266}
267
268static int
270{
271 int among_var;
272 while (1)
273 { /* repeat, line 60 */
274 int c1 = z->c;
275 z->bra = z->c; /* [, line 62 */
276 among_var = find_among (z, a_0, 6); /* substring, line 62 */
277 if (!(among_var))
278 goto lab0;
279 z->ket = z->c; /* ], line 62 */
280 switch (among_var)
281 {
282 case 0:
283 goto lab0;
284 case 1:
285 {
286 int ret = slice_from_s (z, 1, s_6); /* <-, line 63 */
287 if (ret < 0)
288 return ret;
289 }
290 break;
291 case 2:
292 {
293 int ret = slice_from_s (z, 1, s_7); /* <-, line 64 */
294 if (ret < 0)
295 return ret;
296 }
297 break;
298 case 3:
299 {
300 int ret = slice_from_s (z, 1, s_8); /* <-, line 65 */
301 if (ret < 0)
302 return ret;
303 }
304 break;
305 case 4:
306 {
307 int ret = slice_from_s (z, 1, s_9); /* <-, line 66 */
308 if (ret < 0)
309 return ret;
310 }
311 break;
312 case 5:
313 {
314 int ret = slice_from_s (z, 1, s_10); /* <-, line 67 */
315 if (ret < 0)
316 return ret;
317 }
318 break;
319 case 6:
320 if (z->c >= z->l)
321 goto lab0;
322 z->c++; /* next, line 68 */
323 break;
324 }
325 continue;
326 lab0:
327 z->c = c1;
328 break;
329 }
330 return 1;
331}
332
333static int
334r_R1 (struct SN_env *z)
335{
336 if (!(z->I[0] <= z->c))
337 return 0;
338 return 1;
339}
340
341static int
342r_R2 (struct SN_env *z)
343{
344 if (!(z->I[1] <= z->c))
345 return 0;
346 return 1;
347}
348
349static int
351{
352 int among_var;
353 {
354 int m1 = z->l - z->c;
355 (void) m1; /* do, line 79 */
356 z->ket = z->c; /* [, line 80 */
357 if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3
358 || !((811040 >> (z->p[z->c - 1] & 0x1f)) & 1))
359 goto lab0;
360 among_var = find_among_b (z, a_1, 7); /* substring, line 80 */
361 if (!(among_var))
362 goto lab0;
363 z->bra = z->c; /* ], line 80 */
364 {
365 int ret = r_R1 (z);
366 if (ret == 0)
367 goto lab0; /* call R1, line 80 */
368 if (ret < 0)
369 return ret;
370 }
371 switch (among_var)
372 {
373 case 0:
374 goto lab0;
375 case 1:
376 {
377 int ret = slice_del (z); /* delete, line 82 */
378 if (ret < 0)
379 return ret;
380 }
381 break;
382 case 2:
383 {
384 int ret = slice_del (z); /* delete, line 85 */
385 if (ret < 0)
386 return ret;
387 }
388 {
389 int m_keep = z->l - z->c; /* (void) m_keep; *//* try, line 86 */
390 z->ket = z->c; /* [, line 86 */
391 if (!(eq_s_b (z, 1, s_11)))
392 {
393 z->c = z->l - m_keep;
394 goto lab1;
395 }
396 z->bra = z->c; /* ], line 86 */
397 if (!(eq_s_b (z, 3, s_12)))
398 {
399 z->c = z->l - m_keep;
400 goto lab1;
401 }
402 {
403 int ret = slice_del (z); /* delete, line 86 */
404 if (ret < 0)
405 return ret;
406 }
407 lab1:
408 ;
409 }
410 break;
411 case 3:
412 if (in_grouping_b (z, g_s_ending, 98, 116, 0))
413 goto lab0;
414 {
415 int ret = slice_del (z); /* delete, line 89 */
416 if (ret < 0)
417 return ret;
418 }
419 break;
420 }
421 lab0:
422 z->c = z->l - m1;
423 }
424 {
425 int m2 = z->l - z->c;
426 (void) m2; /* do, line 93 */
427 z->ket = z->c; /* [, line 94 */
428 if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3
429 || !((1327104 >> (z->p[z->c - 1] & 0x1f)) & 1))
430 goto lab2;
431 among_var = find_among_b (z, a_2, 4); /* substring, line 94 */
432 if (!(among_var))
433 goto lab2;
434 z->bra = z->c; /* ], line 94 */
435 {
436 int ret = r_R1 (z);
437 if (ret == 0)
438 goto lab2; /* call R1, line 94 */
439 if (ret < 0)
440 return ret;
441 }
442 switch (among_var)
443 {
444 case 0:
445 goto lab2;
446 case 1:
447 {
448 int ret = slice_del (z); /* delete, line 96 */
449 if (ret < 0)
450 return ret;
451 }
452 break;
453 case 2:
454 if (in_grouping_b (z, g_st_ending, 98, 116, 0))
455 goto lab2;
456 {
457 int ret = z->c - 3;
458 if (z->lb > ret || ret > z->l)
459 goto lab2;
460 z->c = ret; /* hop, line 99 */
461 }
462 {
463 int ret = slice_del (z); /* delete, line 99 */
464 if (ret < 0)
465 return ret;
466 }
467 break;
468 }
469 lab2:
470 z->c = z->l - m2;
471 }
472 {
473 int m3 = z->l - z->c;
474 (void) m3; /* do, line 103 */
475 z->ket = z->c; /* [, line 104 */
476 if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3
477 || !((1051024 >> (z->p[z->c - 1] & 0x1f)) & 1))
478 goto lab3;
479 among_var = find_among_b (z, a_4, 8); /* substring, line 104 */
480 if (!(among_var))
481 goto lab3;
482 z->bra = z->c; /* ], line 104 */
483 {
484 int ret = r_R2 (z);
485 if (ret == 0)
486 goto lab3; /* call R2, line 104 */
487 if (ret < 0)
488 return ret;
489 }
490 switch (among_var)
491 {
492 case 0:
493 goto lab3;
494 case 1:
495 {
496 int ret = slice_del (z); /* delete, line 106 */
497 if (ret < 0)
498 return ret;
499 }
500 {
501 int m_keep = z->l - z->c; /* (void) m_keep; *//* try, line 107 */
502 z->ket = z->c; /* [, line 107 */
503 if (!(eq_s_b (z, 2, s_13)))
504 {
505 z->c = z->l - m_keep;
506 goto lab4;
507 }
508 z->bra = z->c; /* ], line 107 */
509 {
510 int m4 = z->l - z->c;
511 (void) m4; /* not, line 107 */
512 if (!(eq_s_b (z, 1, s_14)))
513 goto lab5;
514 {
515 z->c = z->l - m_keep;
516 goto lab4;
517 }
518 lab5:
519 z->c = z->l - m4;
520 }
521 {
522 int ret = r_R2 (z);
523 if (ret == 0)
524 {
525 z->c = z->l - m_keep;
526 goto lab4;
527 } /* call R2, line 107 */
528 if (ret < 0)
529 return ret;
530 }
531 {
532 int ret = slice_del (z); /* delete, line 107 */
533 if (ret < 0)
534 return ret;
535 }
536 lab4:
537 ;
538 }
539 break;
540 case 2:
541 {
542 int m5 = z->l - z->c;
543 (void) m5; /* not, line 110 */
544 if (!(eq_s_b (z, 1, s_15)))
545 goto lab6;
546 goto lab3;
547 lab6:
548 z->c = z->l - m5;
549 }
550 {
551 int ret = slice_del (z); /* delete, line 110 */
552 if (ret < 0)
553 return ret;
554 }
555 break;
556 case 3:
557 {
558 int ret = slice_del (z); /* delete, line 113 */
559 if (ret < 0)
560 return ret;
561 }
562 {
563 int m_keep = z->l - z->c; /* (void) m_keep; *//* try, line 114 */
564 z->ket = z->c; /* [, line 115 */
565 {
566 int m6 = z->l - z->c;
567 (void) m6; /* or, line 115 */
568 if (!(eq_s_b (z, 2, s_16)))
569 goto lab9;
570 goto lab8;
571 lab9:
572 z->c = z->l - m6;
573 if (!(eq_s_b (z, 2, s_17)))
574 {
575 z->c = z->l - m_keep;
576 goto lab7;
577 }
578 }
579 lab8:
580 z->bra = z->c; /* ], line 115 */
581 {
582 int ret = r_R1 (z);
583 if (ret == 0)
584 {
585 z->c = z->l - m_keep;
586 goto lab7;
587 } /* call R1, line 115 */
588 if (ret < 0)
589 return ret;
590 }
591 {
592 int ret = slice_del (z); /* delete, line 115 */
593 if (ret < 0)
594 return ret;
595 }
596 lab7:
597 ;
598 }
599 break;
600 case 4:
601 {
602 int ret = slice_del (z); /* delete, line 119 */
603 if (ret < 0)
604 return ret;
605 }
606 {
607 int m_keep = z->l - z->c; /* (void) m_keep; *//* try, line 120 */
608 z->ket = z->c; /* [, line 121 */
609 if (z->c - 1 <= z->lb
610 || (z->p[z->c - 1] != 103 && z->p[z->c - 1] != 104))
611 {
612 z->c = z->l - m_keep;
613 goto lab10;
614 }
615 among_var = find_among_b (z, a_3, 2); /* substring, line 121 */
616 if (!(among_var))
617 {
618 z->c = z->l - m_keep;
619 goto lab10;
620 }
621 z->bra = z->c; /* ], line 121 */
622 {
623 int ret = r_R2 (z);
624 if (ret == 0)
625 {
626 z->c = z->l - m_keep;
627 goto lab10;
628 } /* call R2, line 121 */
629 if (ret < 0)
630 return ret;
631 }
632 switch (among_var)
633 {
634 case 0:
635 {
636 z->c = z->l - m_keep;
637 goto lab10;
638 }
639 case 1:
640 {
641 int ret = slice_del (z); /* delete, line 123 */
642 if (ret < 0)
643 return ret;
644 }
645 break;
646 }
647 lab10:
648 ;
649 }
650 break;
651 }
652 lab3:
653 z->c = z->l - m3;
654 }
655 return 1;
656}
657
658extern int
660{
661 {
662 int c1 = z->c; /* do, line 134 */
663 {
664 int ret = r_prelude (z);
665 if (ret == 0)
666 goto lab0; /* call prelude, line 134 */
667 if (ret < 0)
668 return ret;
669 }
670 lab0:
671 z->c = c1;
672 }
673 {
674 int c2 = z->c; /* do, line 135 */
675 {
676 int ret = r_mark_regions (z);
677 if (ret == 0)
678 goto lab1; /* call mark_regions, line 135 */
679 if (ret < 0)
680 return ret;
681 }
682 lab1:
683 z->c = c2;
684 }
685 z->lb = z->c;
686 z->c = z->l; /* backwards, line 136 */
687
688 {
689 int m3 = z->l - z->c;
690 (void) m3; /* do, line 137 */
691 {
692 int ret = r_standard_suffix (z);
693 if (ret == 0)
694 goto lab2; /* call standard_suffix, line 137 */
695 if (ret < 0)
696 return ret;
697 }
698 lab2:
699 z->c = z->l - m3;
700 }
701 z->c = z->lb;
702 {
703 int c4 = z->c; /* do, line 138 */
704 {
705 int ret = r_postlude (z);
706 if (ret == 0)
707 goto lab3; /* call postlude, line 138 */
708 if (ret < 0)
709 return ret;
710 }
711 lab3:
712 z->c = c4;
713 }
714 return 1;
715}
716
717extern struct SN_env *
719{
720 return SN_create_env (0, 3, 0);
721}
722
723extern void
725{
726 SN_close_env (z, 0);
727}
struct SN_env * SN_create_env(int S_size, int I_size, int B_size)
Definition api.c:6
void SN_close_env(struct SN_env *z, int S_size)
Definition api.c:50
unsigned char symbol
Definition api.h:2
int find_among_b(struct SN_env *z, const struct among *v, int v_size)
Definition utilities.c:400
int slice_del(struct SN_env *z)
Definition utilities.c:573
int in_grouping(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition utilities.c:206
int eq_s(struct SN_env *z, int s_size, const symbol *s)
Definition utilities.c:280
int eq_s_b(struct SN_env *z, int s_size, const symbol *s)
Definition utilities.c:290
int out_grouping(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition utilities.c:244
int find_among(struct SN_env *z, const struct among *v, int v_size)
Definition utilities.c:312
int slice_from_s(struct SN_env *z, int s_size, const symbol *s)
Definition utilities.c:559
int in_grouping_b(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition utilities.c:225
static const symbol s_2[]
static const struct among a_3[2]
static const symbol s_4_7[4]
static const symbol s_2_2[2]
static const symbol s_4[]
static const symbol s_1_6[2]
static const symbol s_4_6[4]
static const symbol s_1_2[2]
static const symbol s_4_3[4]
int german_ISO_8859_1_stem(struct SN_env *z)
static const symbol s_0_2[1]
static int r_standard_suffix(struct SN_env *z)
static const struct among a_1[7]
static const symbol s_2_3[3]
static const symbol s_4_1[2]
static const symbol s_4_4[4]
static const symbol s_2_0[2]
static const unsigned char g_st_ending[]
struct SN_env * german_ISO_8859_1_create_env(void)
static const symbol s_6[]
static const symbol s_3[]
void german_ISO_8859_1_close_env(struct SN_env *z)
static const symbol s_3_0[2]
static int r_R2(struct SN_env *z)
static const symbol s_7[]
static const symbol s_13[]
static const symbol s_1_1[2]
static const symbol s_0_4[1]
static const symbol s_1_5[1]
static const symbol s_1_3[3]
static int r_R1(struct SN_env *z)
static const symbol s_16[]
static int r_postlude(struct SN_env *z)
static const symbol s_14[]
static const struct among a_4[8]
static int r_prelude(struct SN_env *z)
static const symbol s_10[]
static const struct among a_2[4]
static const symbol s_1[]
static const symbol s_0_5[1]
static const struct among a_0[6]
static const symbol s_3_1[4]
static const symbol s_1_4[2]
static const symbol s_1_0[1]
static int r_mark_regions(struct SN_env *z)
static const symbol s_11[]
static const symbol s_12[]
static const symbol s_0_3[1]
static const symbol s_0_1[1]
static const symbol s_17[]
static const symbol s_2_1[2]
static const unsigned char g_v[]
static const unsigned char g_s_ending[]
static const symbol s_8[]
static const symbol s_9[]
static const symbol s_5[]
static const symbol s_15[]
static const symbol s_4_2[3]
static const symbol s_4_0[3]
static const symbol s_4_5[2]
static const symbol s_0[]
Definition api.h:14
int lb
Definition api.h:16
symbol * p
Definition api.h:15
int * I
Definition api.h:18
int ket
Definition api.h:16
int c
Definition api.h:16
int bra
Definition api.h:16
int l
Definition api.h:16
Definition header.h:16