/*
-- ANSI C code generated by :
-- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.79)      --
-- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
-- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
--                 http://www.loria.fr/SmallEiffel              --
*/
#include "compile_to_c.h"
/*No:FIXED_ARRAY[DICTIONARY[RUN_FEATURE,STRING]].clear_all*/
/*No:FIXED_ARRAY[DICTIONARY[RUN_FEATURE,STRING]].item*/
/*No:FIXED_ARRAY[DICTIONARY[RUN_FEATURE,STRING]].set_all_with*/
/*No:FIXED_ARRAY[DICTIONARY[RUN_FEATURE,STRING]].count*/


void r334resize(T334* C,T2 a1){
T0* _elt_default=NULL;
T2 _i=0;
T2 _new_capacity=0;
/*[IF*/
if((a1)<=(/*(IRF4.6count*/((C)->_upper/*8*/)+(1)/*)*/)){
C->_upper=(a1)-(1);
}
else{
_new_capacity=a1;
/*[IF*/
if(((C)->_capacity/*4*/)<(_new_capacity)){
/*[IF*/
if(((C)->_capacity/*4*/)==(0)){
C->_storage=calloc(_new_capacity,sizeof(T0*));
}
else{
C->_storage=r335realloc((C)->_storage/*0*/,(C)->_capacity/*4*/,_new_capacity);
}
/*FI]*/
C->_capacity=_new_capacity;
}
/*FI]*/
_new_capacity=(C)->_upper/*8*/;
C->_upper=(a1)-(1);
_i=(C)->_upper/*8*/;
while (!((_i)==(_new_capacity))) {
/*[IRF3.5put*/((C)->_storage/*0*/)[_i]=(_elt_default);
/*]*/
_i=(_i)-(1);
}
}
/*FI]*/
}


void r334make(T334* C,T2 a1){
/*[IF*/
if((a1)==(0)){
C->_upper=-(1);
}
 else if(((C)->_capacity/*4*/)==(0)){
C->_storage=calloc(a1,sizeof(T0*));
C->_capacity=a1;
C->_upper=(a1)-(1);
}
 else if(((C)->_capacity/*4*/)<(a1)){
C->_storage=calloc(a1,sizeof(T0*));
C->_capacity=a1;
C->_upper=(a1)-(1);
}
else{
C->_upper=(a1)-(1);
/*[IRF3.6clear_all*/{T334* C1=C;
T0* __value=NULL;
/*[IRF3.6set_all_with*/{T334* C2=C1;
T0* c1=__value;
r335set_all_with((C2)->_storage/*0*/,c1,(C2)->_upper/*8*/);
}/*]*/
}/*]*/
}
/*FI]*/
}
/*No:FIXED_ARRAY[DICTIONARY[RUN_FEATURE,STRING]].upper*/
/*No:FIXED_ARRAY[DICTIONARY[RUN_FEATURE,STRING]].capacity*/
/*No:FIXED_ARRAY[DICTIONARY[RUN_FEATURE,STRING]].put*/
/*No:FIXED_ARRAY[DICTIONARY[RUN_FEATURE,STRING]].storage*/


void r343with_capacity(T343* C,T2 a1){
/*[IF*/
if(((C)->_capacity/*8*/)<(a1)){
C->_storage=calloc(a1,sizeof(T0*));
C->_capacity=a1;
}
/*FI]*/
C->_upper=-(1);
}


void r343clear_all(T343* C){
T0* _value=NULL;
/*[IRF3.6set_all_with*/{T343* C1=C;
T0* b1=_value;
r262set_all_with((C1)->_storage/*4*/,b1,(C1)->_upper/*12*/);
}/*]*/
}


void r343add_last(T343* C,T0* a1){
T2 _new_capacity=0;
/*[IF*/
if((((C)->_upper/*12*/)+(1))<=(((C)->_capacity/*8*/)-(1))){
C->_upper=((C)->_upper/*12*/)+(1);
}
 else if(((C)->_capacity/*8*/)==(0)){
C->_storage=calloc(2,sizeof(T0*));
C->_capacity=2;
C->_upper=0;
}
else{
_new_capacity=(2)*((C)->_capacity/*8*/);
C->_storage=r262realloc((C)->_storage/*4*/,(C)->_capacity/*8*/,_new_capacity);
C->_capacity=_new_capacity;
C->_upper=((C)->_upper/*12*/)+(1);
}
/*FI]*/
/*[IRF3.6put*/{T343* C1=C;
T0* b1=a1;
T2 b2=(C)->_upper/*12*/;
((C1)->_storage/*4*/)[b2]=(b1);
}/*]*/
}


T0* r343item(T343* C,T2 a1){
T0* R=NULL;
R=((C)->_storage/*4*/)[a1];
return R;
}
/*No:FIXED_ARRAY[TYPE].set_all_with*/


T2 r343count(T343* C){
T2 R=0;
R=((C)->_upper/*12*/)+(1);
return R;
}


void r343resize(T343* C,T2 a1){
T0* _elt_default=NULL;
T2 _i=0;
T2 _new_capacity=0;
/*[IF*/
if((a1)<=(r343count(C))){
C->_upper=(a1)-(1);
}
else{
_new_capacity=a1;
/*[IF*/
if(((C)->_capacity/*8*/)<(_new_capacity)){
/*[IF*/
if(((C)->_capacity/*8*/)==(0)){
C->_storage=calloc(_new_capacity,sizeof(T0*));
}
else{
C->_storage=r262realloc((C)->_storage/*4*/,(C)->_capacity/*8*/,_new_capacity);
}
/*FI]*/
C->_capacity=_new_capacity;
}
/*FI]*/
_new_capacity=(C)->_upper/*12*/;
C->_upper=(a1)-(1);
_i=(C)->_upper/*12*/;
while (!((_i)==(_new_capacity))) {
/*[IRF3.6put*/{T343* C1=C;
T0* b1=_elt_default;
T2 b2=_i;
((C1)->_storage/*4*/)[b2]=(b1);
}/*]*/
_i=(_i)-(1);
}
}
/*FI]*/
}


void r343make(T343* C,T2 a1){
/*[IF*/
if((a1)==(0)){
C->_upper=-(1);
}
 else if(((C)->_capacity/*8*/)==(0)){
C->_storage=calloc(a1,sizeof(T0*));
C->_capacity=a1;
C->_upper=(a1)-(1);
}
 else if(((C)->_capacity/*8*/)<(a1)){
C->_storage=calloc(a1,sizeof(T0*));
C->_capacity=a1;
C->_upper=(a1)-(1);
}
else{
C->_upper=(a1)-(1);
r343clear_all(C);
}
/*FI]*/
}
/*No:FIXED_ARRAY[TYPE].upper*/
/*No:FIXED_ARRAY[TYPE].capacity*/
/*No:FIXED_ARRAY[TYPE].put*/
/*No:FIXED_ARRAY[TYPE].storage*/


void r350with_capacity(T350* C,T2 a1){
/*[IF*/
if(((C)->_capacity/*8*/)<(a1)){
C->_storage=calloc(a1,sizeof(T0*));
C->_capacity=a1;
}
/*FI]*/
C->_upper=-(1);
}


T0* r350twin(T350* C){
T0* R=NULL;
R=malloc(sizeof(*C));
*((T350*)R)=M350;
r350copy(((T350*)R),((T0*)C));
return R;
}
/*No:FIXED_ARRAY[ADDRESS_OF].clear_all*/


void r350add_last(T350* C,T0* a1){
T2 _new_capacity=0;
/*[IF*/
if((((C)->_upper/*12*/)+(1))<=(((C)->_capacity/*8*/)-(1))){
C->_upper=((C)->_upper/*12*/)+(1);
}
 else if(((C)->_capacity/*8*/)==(0)){
C->_storage=calloc(2,sizeof(T0*));
C->_capacity=2;
C->_upper=0;
}
else{
_new_capacity=(2)*((C)->_capacity/*8*/);
C->_storage=r351realloc((C)->_storage/*4*/,(C)->_capacity/*8*/,_new_capacity);
C->_capacity=_new_capacity;
C->_upper=((C)->_upper/*12*/)+(1);
}
/*FI]*/
/*[IRF3.5put*/((C)->_storage/*4*/)[(C)->_upper/*12*/]=(a1);
/*]*/
}
/*No:FIXED_ARRAY[ADDRESS_OF].set_all_with*/
/*No:FIXED_ARRAY[ADDRESS_OF].item*/
/*No:FIXED_ARRAY[ADDRESS_OF].count*/


void r350resize(T350* C,T2 a1){
T0* _elt_default=NULL;
T2 _i=0;
T2 _new_capacity=0;
/*[IF*/
if((a1)<=(/*(IRF4.6count*/((C)->_upper/*12*/)+(1)/*)*/)){
C->_upper=(a1)-(1);
}
else{
_new_capacity=a1;
/*[IF*/
if(((C)->_capacity/*8*/)<(_new_capacity)){
/*[IF*/
if(((C)->_capacity/*8*/)==(0)){
C->_storage=calloc(_new_capacity,sizeof(T0*));
}
else{
C->_storage=r351realloc((C)->_storage/*4*/,(C)->_capacity/*8*/,_new_capacity);
}
/*FI]*/
C->_capacity=_new_capacity;
}
/*FI]*/
_new_capacity=(C)->_upper/*12*/;
C->_upper=(a1)-(1);
_i=(C)->_upper/*12*/;
while (!((_i)==(_new_capacity))) {
/*[IRF3.5put*/((C)->_storage/*4*/)[_i]=(_elt_default);
/*]*/
_i=(_i)-(1);
}
}
/*FI]*/
}


void r350make(T350* C,T2 a1){
/*[IF*/
if((a1)==(0)){
C->_upper=-(1);
}
 else if(((C)->_capacity/*8*/)==(0)){
C->_storage=calloc(a1,sizeof(T0*));
C->_capacity=a1;
C->_upper=(a1)-(1);
}
 else if(((C)->_capacity/*8*/)<(a1)){
C->_storage=calloc(a1,sizeof(T0*));
C->_capacity=a1;
C->_upper=(a1)-(1);
}
else{
C->_upper=(a1)-(1);
/*[IRF3.6clear_all*/{T350* C1=C;
T0* __value=NULL;
/*[IRF3.6set_all_with*/{T350* C2=C1;
T0* c1=__value;
r351set_all_with((C2)->_storage/*4*/,c1,(C2)->_upper/*12*/);
}/*]*/
}/*]*/
}
/*FI]*/
}
/*No:FIXED_ARRAY[ADDRESS_OF].upper*/


void r350copy(T350* C,T0* a1){
T2 _new_capacity=0;
T2 _other_upper=0;
_other_upper=(((T350*)a1))->_upper/*12*/;
/*[IF*/
if((_other_upper)>=(0)){
_new_capacity=(_other_upper)+(1);
/*[IF*/
if(((C)->_capacity/*8*/)<(_new_capacity)){
C->_capacity=_new_capacity;
C->_storage=calloc(_new_capacity,sizeof(T0*));
}
 else if(((C)->_capacity/*8*/)>(0)){
r351clear_all((C)->_storage/*4*/,((C)->_capacity/*8*/)-(1));
}
/*FI]*/
r351copy_from((C)->_storage/*4*/,(((T350*)a1))->_storage/*4*/,_other_upper);
}
 else if(((C)->_capacity/*8*/)>(0)){
r351clear_all((C)->_storage/*4*/,((C)->_capacity/*8*/)-(1));
}
/*FI]*/
C->_upper=_other_upper;
}
/*No:FIXED_ARRAY[ADDRESS_OF].capacity*/
/*No:FIXED_ARRAY[ADDRESS_OF].put*/
/*No:FIXED_ARRAY[ADDRESS_OF].storage*/


void r67with_capacity(T67* C,T2 a1){
/*[IF*/
if(((C)->_capacity/*4*/)<(a1)){
C->_storage=calloc(a1,sizeof(T0*));
C->_capacity=a1;
}
/*FI]*/
C->_upper=-(1);
}
/*No:FIXED_ARRAY[BASE_CLASS].clear_all*/


void r67add_last(T67* C,T0* a1){
T2 _new_capacity=0;
/*[IF*/
if((((C)->_upper/*8*/)+(1))<=(((C)->_capacity/*4*/)-(1))){
C->_upper=((C)->_upper/*8*/)+(1);
}
 else if(((C)->_capacity/*4*/)==(0)){
C->_storage=calloc(2,sizeof(T0*));
C->_capacity=2;
C->_upper=0;
}
else{
_new_capacity=(2)*((C)->_capacity/*4*/);
C->_storage=r68realloc((C)->_storage/*0*/,(C)->_capacity/*4*/,_new_capacity);
C->_capacity=_new_capacity;
C->_upper=((C)->_upper/*8*/)+(1);
}
/*FI]*/
/*[IRF3.5put*/((C)->_storage/*0*/)[(C)->_upper/*8*/]=(a1);
/*]*/
}
/*No:FIXED_ARRAY[BASE_CLASS].item*/
/*No:FIXED_ARRAY[BASE_CLASS].set_all_with*/


T6 r67valid_index(T67* C,T2 a1){
T6 R=0;
R=((0)<=(a1))&&((a1)<=((C)->_upper/*8*/));
return R;
}
/*No:FIXED_ARRAY[BASE_CLASS].first*/
/*No:FIXED_ARRAY[BASE_CLASS].count*/
/*No:FIXED_ARRAY[BASE_CLASS].lower*/


void r67resize(T67* C,T2 a1){
T0* _elt_default=NULL;
T2 _i=0;
T2 _new_capacity=0;
/*[IF*/
if((a1)<=(/*(IRF4.6count*/((C)->_upper/*8*/)+(1)/*)*/)){
C->_upper=(a1)-(1);
}
else{
_new_capacity=a1;
/*[IF*/
if(((C)->_capacity/*4*/)<(_new_capacity)){
/*[IF*/
if(((C)->_capacity/*4*/)==(0)){
C->_storage=calloc(_new_capacity,sizeof(T0*));
}
else{
C->_storage=r68realloc((C)->_storage/*0*/,(C)->_capacity/*4*/,_new_capacity);
}
/*FI]*/
C->_capacity=_new_capacity;
}
/*FI]*/
_new_capacity=(C)->_upper/*8*/;
C->_upper=(a1)-(1);
_i=(C)->_upper/*8*/;
while (!((_i)==(_new_capacity))) {
/*[IRF3.5put*/((C)->_storage/*0*/)[_i]=(_elt_default);
/*]*/
_i=(_i)-(1);
}
}
/*FI]*/
}


T6 r67fast_has(T67* C,T0* a1){
T6 R=0;
R=r67valid_index(C,r67fast_index_of(C,a1));
return R;
}


void r67make(T67* C,T2 a1){
/*[IF*/
if((a1)==(0)){
C->_upper=-(1);
}
 else if(((C)->_capacity/*4*/)==(0)){
C->_storage=calloc(a1,sizeof(T0*));
C->_capacity=a1;
C->_upper=(a1)-(1);
}
 else if(((C)->_capacity/*4*/)<(a1)){
C->_storage=calloc(a1,sizeof(T0*));
C->_capacity=a1;
C->_upper=(a1)-(1);
}
else{
C->_upper=(a1)-(1);
/*[IRF3.6clear_all*/{T67* C1=C;
T0* __value=NULL;
/*[IRF3.6set_all_with*/{T67* C2=C1;
T0* c1=__value;
r68set_all_with((C2)->_storage/*0*/,c1,(C2)->_upper/*8*/);
}/*]*/
}/*]*/
}
/*FI]*/
}


T2 r67fast_index_of(T67* C,T0* a1){
T2 R=0;
R=r68fast_index_of((C)->_storage/*0*/,a1,(C)->_upper/*8*/);
return R;
}
/*No:FIXED_ARRAY[BASE_CLASS].upper*/
/*No:FIXED_ARRAY[BASE_CLASS].clear*/
/*No:FIXED_ARRAY[BASE_CLASS].capacity*/
/*No:FIXED_ARRAY[BASE_CLASS].put*/
/*No:FIXED_ARRAY[BASE_CLASS].storage*/


void r151with_capacity(T151* C,T2 a1){
/*[IF*/
if(((C)->_capacity/*8*/)<(a1)){
C->_storage=calloc(a1,sizeof(T0*));
C->_capacity=a1;
}
/*FI]*/
C->_upper=-(1);
}


T0* r151twin(T151* C){
T0* R=NULL;
R=malloc(sizeof(*C));
*((T151*)R)=M151;
r151copy(((T151*)R),((T0*)C));
return R;
}


void r151clear_all(T151* C){
T0* _value=NULL;
/*[IRF3.6set_all_with*/{T151* C1=C;
T0* b1=_value;
r112set_all_with((C1)->_storage/*4*/,b1,(C1)->_upper/*12*/);
}/*]*/
}


void r151add_last(T151* C,T0* a1){
T2 _new_capacity=0;
/*[IF*/
if((((C)->_upper/*12*/)+(1))<=(((C)->_capacity/*8*/)-(1))){
C->_upper=((C)->_upper/*12*/)+(1);
}
 else if(((C)->_capacity/*8*/)==(0)){
C->_storage=calloc(2,sizeof(T0*));
C->_capacity=2;
C->_upper=0;
}
else{
_new_capacity=(2)*((C)->_capacity/*8*/);
C->_storage=r112realloc((C)->_storage/*4*/,(C)->_capacity/*8*/,_new_capacity);
C->_capacity=_new_capacity;
C->_upper=((C)->_upper/*12*/)+(1);
}
/*FI]*/
/*[IRF3.6put*/{T151* C1=C;
T0* b1=a1;
T2 b2=(C)->_upper/*12*/;
((C1)->_storage/*4*/)[b2]=(b1);
}/*]*/
}


T0* r151item(T151* C,T2 a1){
T0* R=NULL;
R=((C)->_storage/*4*/)[a1];
return R;
}
/*No:FIXED_ARRAY[EXPRESSION].set_all_with*/


T2 r151count(T151* C){
T2 R=0;
R=((C)->_upper/*12*/)+(1);
return R;
}


void r151resize(T151* C,T2 a1){
T0* _elt_default=NULL;
T2 _i=0;
T2 _new_capacity=0;
/*[IF*/
if((a1)<=(r151count(C))){
C->_upper=(a1)-(1);
}
else{
_new_capacity=a1;
/*[IF*/
if(((C)->_capacity/*8*/)<(_new_capacity)){
/*[IF*/
if(((C)->_capacity/*8*/)==(0)){
C->_storage=calloc(_new_capacity,sizeof(T0*));
}
else{
C->_storage=r112realloc((C)->_storage/*4*/,(C)->_capacity/*8*/,_new_capacity);
}
/*FI]*/
C->_capacity=_new_capacity;
}
/*FI]*/
_new_capacity=(C)->_upper/*12*/;
C->_upper=(a1)-(1);
_i=(C)->_upper/*12*/;
while (!((_i)==(_new_capacity))) {
/*[IRF3.6put*/{T151* C1=C;
T0* b1=_elt_default;
T2 b2=_i;
((C1)->_storage/*4*/)[b2]=(b1);
}/*]*/
_i=(_i)-(1);
}
}
/*FI]*/
}


void r151make(T151* C,T2 a1){
/*[IF*/
if((a1)==(0)){
C->_upper=-(1);
}
 else if(((C)->_capacity/*8*/)==(0)){
C->_storage=calloc(a1,sizeof(T0*));
C->_capacity=a1;
C->_upper=(a1)-(1);
}
 else if(((C)->_capacity/*8*/)<(a1)){
C->_storage=calloc(a1,sizeof(T0*));
C->_capacity=a1;
C->_upper=(a1)-(1);
}
else{
C->_upper=(a1)-(1);
r151clear_all(C);
}
/*FI]*/
}
/*No:FIXED_ARRAY[EXPRESSION].upper*/


void r151copy(T151* C,T0* a1){
T2 _new_capacity=0;
T2 _other_upper=0;
_other_upper=/*X151upper*/((T2)(((T151*)a1))->_upper/*12*/);
/*[IF*/
if((_other_upper)>=(0)){
_new_capacity=(_other_upper)+(1);
/*[IF*/
if(((C)->_capacity/*8*/)<(_new_capacity)){
C->_capacity=_new_capacity;
C->_storage=calloc(_new_capacity,sizeof(T0*));
}
 else if(((C)->_capacity/*8*/)>(0)){
r112clear_all((C)->_storage/*4*/,((C)->_capacity/*8*/)-(1));
}
/*FI]*/
r112copy_from((C)->_storage/*4*/,/*X151storage*/((T112)(((T151*)a1))->_storage/*4*/),_other_upper);
}
 else if(((C)->_capacity/*8*/)>(0)){
r112clear_all((C)->_storage/*4*/,((C)->_capacity/*8*/)-(1));
}
/*FI]*/
C->_upper=_other_upper;
}
/*No:FIXED_ARRAY[EXPRESSION].capacity*/
/*No:FIXED_ARRAY[EXPRESSION].storage*/
/*No:FIXED_ARRAY[EXPRESSION].put*/


void r196with_capacity(T196* C,T2 a1){
/*[IF*/
if(((C)->_capacity/*4*/)<(a1)){
C->_storage=calloc(a1,sizeof(T0*));
C->_capacity=a1;
}
/*FI]*/
C->_upper=-(1);
}


void r196add_last(T196* C,T0* a1){
T2 _new_capacity=0;
/*[IF*/
if((((C)->_upper/*8*/)+(1))<=(((C)->_capacity/*4*/)-(1))){
C->_upper=((C)->_upper/*8*/)+(1);
}
 else if(((C)->_capacity/*4*/)==(0)){
C->_storage=calloc(2,sizeof(T0*));
C->_capacity=2;
C->_upper=0;
}
else{
_new_capacity=(2)*((C)->_capacity/*4*/);
C->_storage=r197realloc((C)->_storage/*0*/,(C)->_capacity/*4*/,_new_capacity);
C->_capacity=_new_capacity;
C->_upper=((C)->_upper/*8*/)+(1);
}
/*FI]*/
/*[IRF3.5put*/((C)->_storage/*0*/)[(C)->_upper/*8*/]=(a1);
/*]*/
}
/*No:FIXED_ARRAY[CLASS_NAME].item*/
/*No:FIXED_ARRAY[CLASS_NAME].upper*/
/*No:FIXED_ARRAY[CLASS_NAME].capacity*/
/*No:FIXED_ARRAY[CLASS_NAME].storage*/
/*No:FIXED_ARRAY[CLASS_NAME].put*/


void r322add_last(T322* C,T0* a1){
T2 _new_capacity=0;
/*[IF*/
if(((C)->_capacity/*4*/)<((r322count(C))+(1))){
/*[IF*/
if(((C)->_capacity/*4*/)==(0)){
C->_capacity=16;
C->_storage=calloc((C)->_capacity/*4*/,sizeof(T0*));
}
else{
_new_capacity=(2)*((C)->_capacity/*4*/);
C->_storage=r323realloc((C)->_storage/*0*/,(C)->_capacity/*4*/,_new_capacity);
C->_capacity=_new_capacity;
}
/*FI]*/
}
/*FI]*/
C->_upper=((C)->_upper/*8*/)+(1);
/*[IRF3.6put*/{T322* C1=C;
T0* b1=a1;
T2 b2=(C)->_upper/*8*/;
((C1)->_storage/*0*/)[(b2)-((C1)->_lower/*12*/)]=(b1);
}/*]*/
}


T2 r322count(T322* C){
T2 R=0;
R=(((C)->_upper/*8*/)-((C)->_lower/*12*/))+(1);
return R;
}
/*No:ARRAY[INDEX_CLAUSE].lower*/
/*No:ARRAY[INDEX_CLAUSE].upper*/
/*No:ARRAY[INDEX_CLAUSE].capacity*/
/*No:ARRAY[INDEX_CLAUSE].put*/
/*No:ARRAY[INDEX_CLAUSE].storage*/


void r60with_capacity(T60* C,T2 a1){
/*[IF*/
if(((C)->_capacity/*4*/)<(a1)){
C->_storage=calloc(a1,sizeof(T0*));
C->_capacity=a1;
}
/*FI]*/
C->_upper=-(1);
}
/*No:FIXED_ARRAY[RUN_CLASS].clear_all*/


void r60add_last(T60* C,T0* a1){
T2 _new_capacity=0;
/*[IF*/
if((((C)->_upper/*8*/)+(1))<=(((C)->_capacity/*4*/)-(1))){
C->_upper=((C)->_upper/*8*/)+(1);
}
 else if(((C)->_capacity/*4*/)==(0)){
C->_storage=calloc(2,sizeof(T0*));
C->_capacity=2;
C->_upper=0;
}
else{
_new_capacity=(2)*((C)->_capacity/*4*/);
C->_storage=r61realloc((C)->_storage/*0*/,(C)->_capacity/*4*/,_new_capacity);
C->_capacity=_new_capacity;
C->_upper=((C)->_upper/*8*/)+(1);
}
/*FI]*/
/*[IRF3.5put*/((C)->_storage/*0*/)[(C)->_upper/*8*/]=(a1);
/*]*/
}
/*No:FIXED_ARRAY[RUN_CLASS].item*/
/*No:FIXED_ARRAY[RUN_CLASS].set_all_with*/


T6 r60valid_index(T60* C,T2 a1){
T6 R=0;
R=((0)<=(a1))&&((a1)<=((C)->_upper/*8*/));
return R;
}
/*No:FIXED_ARRAY[RUN_CLASS].lower*/
/*No:FIXED_ARRAY[RUN_CLASS].count*/


void r60resize(T60* C,T2 a1){
T0* _elt_default=NULL;
T2 _i=0;
T2 _new_capacity=0;
/*[IF*/
if((a1)<=(/*(IRF4.6count*/((C)->_upper/*8*/)+(1)/*)*/)){
C->_upper=(a1)-(1);
}
else{
_new_capacity=a1;
/*[IF*/
if(((C)->_capacity/*4*/)<(_new_capacity)){
/*[IF*/
if(((C)->_capacity/*4*/)==(0)){
C->_storage=calloc(_new_capacity,sizeof(T0*));
}
else{
C->_storage=r61realloc((C)->_storage/*0*/,(C)->_capacity/*4*/,_new_capacity);
}
/*FI]*/
C->_capacity=_new_capacity;
}
/*FI]*/
_new_capacity=(C)->_upper/*8*/;
C->_upper=(a1)-(1);
_i=(C)->_upper/*8*/;
while (!((_i)==(_new_capacity))) {
/*[IRF3.5put*/((C)->_storage/*0*/)[_i]=(_elt_default);
/*]*/
_i=(_i)-(1);
}
}
/*FI]*/
}


T6 r60fast_has(T60* C,T0* a1){
T6 R=0;
R=r60valid_index(C,r60fast_index_of(C,a1));
return R;
}


void r60make(T60* C,T2 a1){
/*[IF*/
if((a1)==(0)){
C->_upper=-(1);
}
 else if(((C)->_capacity/*4*/)==(0)){
C->_storage=calloc(a1,sizeof(T0*));
C->_capacity=a1;
C->_upper=(a1)-(1);
}
 else if(((C)->_capacity/*4*/)<(a1)){
C->_storage=calloc(a1,sizeof(T0*));
C->_capacity=a1;
C->_upper=(a1)-(1);
}
else{
C->_upper=(a1)-(1);
/*[IRF3.6clear_all*/{T60* C1=C;
T0* __value=NULL;
/*[IRF3.6set_all_with*/{T60* C2=C1;
T0* c1=__value;
r61set_all_with((C2)->_storage/*0*/,c1,(C2)->_upper/*8*/);
}/*]*/
}/*]*/
}
/*FI]*/
}


T2 r60fast_index_of(T60* C,T0* a1){
T2 R=0;
R=r61fast_index_of((C)->_storage/*0*/,a1,(C)->_upper/*8*/);
return R;
}
/*No:FIXED_ARRAY[RUN_CLASS].upper*/
/*No:FIXED_ARRAY[RUN_CLASS].capacity*/
/*No:FIXED_ARRAY[RUN_CLASS].put*/
/*No:FIXED_ARRAY[RUN_CLASS].storage*/


void r99with_capacity(T99* C,T2 a1){
/*[IF*/
if(((C)->_capacity/*8*/)<(a1)){
C->_storage=calloc(a1,sizeof(T0*));
C->_capacity=a1;
}
/*FI]*/
C->_upper=-(1);
}


T0* r99twin(T99* C){
T0* R=NULL;
R=malloc(sizeof(*C));
*((T99*)R)=M99;
r99copy(((T99*)R),((T0*)C));
return R;
}


void r99clear_all(T99* C){
T0* _value=NULL;
/*[IRF3.6set_all_with*/{T99* C1=C;
T0* b1=_value;
r100set_all_with((C1)->_storage/*4*/,b1,(C1)->_upper/*12*/);
}/*]*/
}


void r99add_last(T99* C,T0* a1){
T2 _new_capacity=0;
/*[IF*/
if((((C)->_upper/*12*/)+(1))<=(((C)->_capacity/*8*/)-(1))){
C->_upper=((C)->_upper/*12*/)+(1);
}
 else if(((C)->_capacity/*8*/)==(0)){
C->_storage=calloc(2,sizeof(T0*));
C->_capacity=2;
C->_upper=0;
}
else{
_new_capacity=(2)*((C)->_capacity/*8*/);
C->_storage=r100realloc((C)->_storage/*4*/,(C)->_capacity/*8*/,_new_capacity);
C->_capacity=_new_capacity;
C->_upper=((C)->_upper/*12*/)+(1);
}
/*FI]*/
/*[IRF3.6put*/{T99* C1=C;
T0* b1=a1;
T2 b2=(C)->_upper/*12*/;
((C1)->_storage/*4*/)[b2]=(b1);
}/*]*/
}
/*No:FIXED_ARRAY[E_FEATURE].set_all_with*/


T0* r99item(T99* C,T2 a1){
T0* R=NULL;
R=((C)->_storage/*4*/)[a1];
return R;
}


T2 r99count(T99* C){
T2 R=0;
R=((C)->_upper/*12*/)+(1);
return R;
}


void r99resize(T99* C,T2 a1){
T0* _elt_default=NULL;
T2 _i=0;
T2 _new_capacity=0;
/*[IF*/
if((a1)<=(r99count(C))){
C->_upper=(a1)-(1);
}
else{
_new_capacity=a1;
/*[IF*/
if(((C)->_capacity/*8*/)<(_new_capacity)){
/*[IF*/
if(((C)->_capacity/*8*/)==(0)){
C->_storage=calloc(_new_capacity,sizeof(T0*));
}
else{
C->_storage=r100realloc((C)->_storage/*4*/,(C)->_capacity/*8*/,_new_capacity);
}
/*FI]*/
C->_capacity=_new_capacity;
}
/*FI]*/
_new_capacity=(C)->_upper/*12*/;
C->_upper=(a1)-(1);
_i=(C)->_upper/*12*/;
while (!((_i)==(_new_capacity))) {
/*[IRF3.6put*/{T99* C1=C;
T0* b1=_elt_default;
T2 b2=_i;
((C1)->_storage/*4*/)[b2]=(b1);
}/*]*/
_i=(_i)-(1);
}
}
/*FI]*/
}


void r99make(T99* C,T2 a1){
/*[IF*/
if((a1)==(0)){
C->_upper=-(1);
}
 else if(((C)->_capacity/*8*/)==(0)){
C->_storage=calloc(a1,sizeof(T0*));
C->_capacity=a1;
C->_upper=(a1)-(1);
}
 else if(((C)->_capacity/*8*/)<(a1)){
C->_storage=calloc(a1,sizeof(T0*));
C->_capacity=a1;
C->_upper=(a1)-(1);
}
else{
C->_upper=(a1)-(1);
r99clear_all(C);
}
/*FI]*/
}
/*No:FIXED_ARRAY[E_FEATURE].upper*/
/*No:FIXED_ARRAY[E_FEATURE].clear*/


void r99copy(T99* C,T0* a1){
T2 _new_capacity=0;
T2 _other_upper=0;
_other_upper=/*X99upper*/((T2)(((T99*)a1))->_upper/*12*/);
/*[IF*/
if((_other_upper)>=(0)){
_new_capacity=(_other_upper)+(1);
/*[IF*/
if(((C)->_capacity/*8*/)<(_new_capacity)){
C->_capacity=_new_capacity;
C->_storage=calloc(_new_capacity,sizeof(T0*));
}
 else if(((C)->_capacity/*8*/)>(0)){
r100clear_all((C)->_storage/*4*/,((C)->_capacity/*8*/)-(1));
}
/*FI]*/
r100copy_from((C)->_storage/*4*/,/*X99storage*/((T100)(((T99*)a1))->_storage/*4*/),_other_upper);
}
 else if(((C)->_capacity/*8*/)>(0)){
r100clear_all((C)->_storage/*4*/,((C)->_capacity/*8*/)-(1));
}
/*FI]*/
C->_upper=_other_upper;
}


T6 r99empty(T99* C){
T6 R=0;
R=(r99count(C))==(0);
return R;
}
/*No:FIXED_ARRAY[E_FEATURE].capacity*/
/*No:FIXED_ARRAY[E_FEATURE].put*/
/*No:FIXED_ARRAY[E_FEATURE].storage*/


void r326with_capacity(T326* C,T2 a1){
/*[IF*/
if(((C)->_capacity/*8*/)<(a1)){
C->_storage=calloc(a1,sizeof(T0*));
C->_capacity=a1;
}
/*FI]*/
C->_upper=-(1);
}


void r326clear_all(T326* C){
T0* _value=NULL;
/*[IRF3.6set_all_with*/{T326* C1=C;
T0* b1=_value;
r327set_all_with((C1)->_storage/*4*/,b1,(C1)->_upper/*12*/);
}/*]*/
}


void r326add_last(T326* C,T0* a1){
T2 _new_capacity=0;
/*[IF*/
if((((C)->_upper/*12*/)+(1))<=(((C)->_capacity/*8*/)-(1))){
C->_upper=((C)->_upper/*12*/)+(1);
}
 else if(((C)->_capacity/*8*/)==(0)){
C->_storage=calloc(2,sizeof(T0*));
C->_capacity=2;
C->_upper=0;
}
else{
_new_capacity=(2)*((C)->_capacity/*8*/);
C->_storage=r327realloc((C)->_storage/*4*/,(C)->_capacity/*8*/,_new_capacity);
C->_capacity=_new_capacity;
C->_upper=((C)->_upper/*12*/)+(1);
}
/*FI]*/
/*[IRF3.6put*/{T326* C1=C;
T0* b1=a1;
T2 b2=(C)->_upper/*12*/;
((C1)->_storage/*4*/)[b2]=(b1);
}/*]*/
}
/*No:FIXED_ARRAY[RUN_FEATURE].set_all_with*/


T0* r326item(T326* C,T2 a1){
T0* R=NULL;
R=((C)->_storage/*4*/)[a1];
return R;
}


T6 r326valid_index(T326* C,T2 a1){
T6 R=0;
R=((0)<=(a1))&&((a1)<=((C)->_upper/*12*/));
return R;
}
/*No:FIXED_ARRAY[RUN_FEATURE].lower*/


T2 r326count(T326* C){
T2 R=0;
R=((C)->_upper/*12*/)+(1);
return R;
}


void r326resize(T326* C,T2 a1){
T0* _elt_default=NULL;
T2 _i=0;
T2 _new_capacity=0;
/*[IF*/
if((a1)<=(r326count(C))){
C->_upper=(a1)-(1);
}
else{
_new_capacity=a1;
/*[IF*/
if(((C)->_capacity/*8*/)<(_new_capacity)){
/*[IF*/
if(((C)->_capacity/*8*/)==(0)){
C->_storage=calloc(_new_capacity,sizeof(T0*));
}
else{
C->_storage=r327realloc((C)->_storage/*4*/,(C)->_capacity/*8*/,_new_capacity);
}
/*FI]*/
C->_capacity=_new_capacity;
}
/*FI]*/
_new_capacity=(C)->_upper/*12*/;
C->_upper=(a1)-(1);
_i=(C)->_upper/*12*/;
while (!((_i)==(_new_capacity))) {
/*[IRF3.6put*/{T326* C1=C;
T0* b1=_elt_default;
T2 b2=_i;
((C1)->_storage/*4*/)[b2]=(b1);
}/*]*/
_i=(_i)-(1);
}
}
/*FI]*/
}


T6 r326fast_has(T326* C,T0* a1){
T6 R=0;
R=r326valid_index(C,r326fast_index_of(C,a1));
return R;
}


void r326make(T326* C,T2 a1){
/*[IF*/
if((a1)==(0)){
C->_upper=-(1);
}
 else if(((C)->_capacity/*8*/)==(0)){
C->_storage=calloc(a1,sizeof(T0*));
C->_capacity=a1;
C->_upper=(a1)-(1);
}
 else if(((C)->_capacity/*8*/)<(a1)){
C->_storage=calloc(a1,sizeof(T0*));
C->_capacity=a1;
C->_upper=(a1)-(1);
}
else{
C->_upper=(a1)-(1);
r326clear_all(C);
}
/*FI]*/
}


T2 r326fast_index_of(T326* C,T0* a1){
T2 R=0;
R=r327fast_index_of((C)->_storage/*4*/,a1,(C)->_upper/*12*/);
return R;
}
/*No:FIXED_ARRAY[RUN_FEATURE].upper*/
/*No:FIXED_ARRAY[RUN_FEATURE].clear*/
/*No:FIXED_ARRAY[RUN_FEATURE].capacity*/
/*No:FIXED_ARRAY[RUN_FEATURE].put*/
/*No:FIXED_ARRAY[RUN_FEATURE].storage*/

