/*
-- 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 "pretty.h"


T80 r80realloc(T80 C,T2 a1,T2 a2){
T80 R=NULL;
R=calloc(a2,sizeof(T0*));
r80copy_from(R,C,(a1)-(1));
return R;
}


void r80copy_from(T80 C,T80 a1,T2 a2){
T2 _i=0;
_i=a2;
while (!((_i)<(0))) {
(C)[_i]=((a1)[_i]);
_i=(_i)-(1);
}
}


T176 r176realloc(T176 C,T2 a1,T2 a2){
T176 R=NULL;
R=calloc(a2,sizeof(T0*));
r176copy_from(R,C,(a1)-(1));
return R;
}


void r176set_all_with(T176 C,T0* a1,T2 a2){
T2 _i=0;
_i=a2;
while (!((_i)<(0))) {
(C)[_i]=(a1);
_i=(_i)-(1);
}
}


void r176copy_from(T176 C,T176 a1,T2 a2){
T2 _i=0;
_i=a2;
while (!((_i)<(0))) {
(C)[_i]=((a1)[_i]);
_i=(_i)-(1);
}
}


T6 r7has(T7* C,T3 a1){
T6 R=0;
R=(r7index_of(C,a1))!=(((C)->_count/*4*/)+(1));
return R;
}


T8 r7to_external(T7* C){
T8 R=0;
/*[IF*/
if(((C)->_capacity/*8*/)>((C)->_count/*4*/)){
C->_count=((C)->_count/*4*/)+(1);
/*[IF*/
if((/*(IRF4.6item*/((C)->_storage/*0*/)[((C)->_count/*4*/)-(1)]/*)*/)!=('\0')){
/*[IRF3.5put*/((C)->_storage/*0*/)[((C)->_count/*4*/)-(1)]=('\0');
/*]*/
}
/*FI]*/
}
else{
r7extend(C,'\0');
}
/*FI]*/
C->_count=((C)->_count/*4*/)-(1);
R=((void*)(C)->_storage/*0*/);
return R;
}
/*No:STRING.remove_suffix*/


void r7to_lower(T7* C){
T2 _i=0;
_i=(C)->_count/*4*/;
while (!((_i)==(0))) {
/*[IRF3.5put*/((C)->_storage/*0*/)[(_i)-(1)]=(r3to_lower(/*(IRF4.6item*/((C)->_storage/*0*/)[(_i)-(1)]/*)*/));
/*]*/
_i=(_i)-(1);
}
}
/*No:STRING.item*/


T3 r7last(T7* C){
T3 R=0;
R=/*(IRF4.6item*/((C)->_storage/*0*/)[((C)->_count/*4*/)-(1)]/*)*/;
return R;
}


void r7extend(T7* C,T3 a1){
T2 _new_capacity=0;
/*[IF*/
if(((C)->_capacity/*8*/)>((C)->_count/*4*/)){
}
 else if(((C)->_capacity/*8*/)==(0)){
C->_capacity=32;
C->_storage=calloc((C)->_capacity/*8*/,sizeof(T3));
}
else{
_new_capacity=(2)*((C)->_capacity/*8*/);
C->_storage=r9realloc((C)->_storage/*0*/,(C)->_capacity/*8*/,_new_capacity);
C->_capacity=_new_capacity;
}
/*FI]*/
C->_count=((C)->_count/*4*/)+(1);
/*[IRF3.5put*/((C)->_storage/*0*/)[((C)->_count/*4*/)-(1)]=(a1);
/*]*/
}


void r7swap(T7* C,T2 a1,T2 a2){
T3 _tmp=0;
_tmp=/*(IRF4.6item*/((C)->_storage/*0*/)[(a1)-(1)]/*)*/;
/*[IRF3.5put*/((C)->_storage/*0*/)[(a1)-(1)]=(/*(IRF4.6item*/((C)->_storage/*0*/)[(a2)-(1)]/*)*/);
/*]*/
/*[IRF3.5put*/((C)->_storage/*0*/)[(a2)-(1)]=(_tmp);
/*]*/
}


void r7copy(T7* C,T0* a1){
C->_count=(((T7*)a1))->_count/*4*/;
/*[IF*/
if(((C)->_count/*4*/)>(0)){
/*[IF*/
if(((C)->_capacity/*8*/)<((C)->_count/*4*/)){
C->_storage=calloc((C)->_count/*4*/,sizeof(T3));
C->_capacity=(C)->_count/*4*/;
}
/*FI]*/
r9copy_from((C)->_storage/*0*/,(((T7*)a1))->_storage/*0*/,((C)->_count/*4*/)-(1));
}
/*FI]*/
}


T2 r7hash_code(T7* C){
T2 R=0;
T2 _i=0;
_i=(C)->_count/*4*/;
/*[IF*/
if((_i)>(5)){
R=(_i)*(((unsigned char)/*(IRF4.6item*/((C)->_storage/*0*/)[(_i)-(1)]/*)*/));
_i=5;
}
/*FI]*/
while (!((_i)<=(0))) {
R=((R)+(_i))+(((unsigned char)/*(IRF4.6item*/((C)->_storage/*0*/)[(_i)-(1)]/*)*/));
_i=(_i)-(1);
}
R=(R)*((C)->_count/*4*/);
return R;
}
/*No:STRING.put*/
/*No:STRING.storage*/


void r7to_upper(T7* C){
T2 _i=0;
_i=(C)->_count/*4*/;
while (!((_i)==(0))) {
/*[IRF3.5put*/((C)->_storage/*0*/)[(_i)-(1)]=(r3to_upper(/*(IRF4.6item*/((C)->_storage/*0*/)[(_i)-(1)]/*)*/));
/*]*/
_i=(_i)-(1);
}
}


T0* r7twin(T7* C){
T0* R=NULL;
R=malloc(sizeof(*C));
*((T7*)R)=M7;
r7copy(((T7*)R),((T0*)C));
return R;
}


void r7set_last(T7* C,T3 a1){
/*[IF*/
if((((C)->_count/*4*/)==(0))||((/*(IRF4.6item*/((C)->_storage/*0*/)[((C)->_count/*4*/)-(1)]/*)*/)!=(a1))){
r7extend(C,a1);
}
/*FI]*/
}


void r7remove_last(T7* C,T2 a1){
C->_count=((C)->_count/*4*/)-(a1);
}


T6 r7is_equal(T7* C,T0* a1){
T6 R=0;
/*[IF*/
if((C)==((void*)(a1))){
R=1;
}
 else if(((C)->_count/*4*/)==((((T7*)a1))->_count/*4*/)){
R=r9fast_memcmp((C)->_storage/*0*/,(((T7*)a1))->_storage/*0*/,(C)->_count/*4*/);
}
/*FI]*/
return R;
}


T6 r7has_suffix(T7* C,T0* a1){
T6 R=0;
T2 _i2=0;
T2 _i1=0;
/*[IF*/
if(((((T7*)a1))->_count/*4*/)<=((C)->_count/*4*/)){
_i1=(((C)->_count/*4*/)-((((T7*)a1))->_count/*4*/))+(1);
_i2=1;
while (!((((_i1)>((C)->_count/*4*/))||((_i2)>((((T7*)a1))->_count/*4*/)))||((/*(IRF4.6item*/((C)->_storage/*0*/)[(_i1)-(1)]/*)*/)!=(/*(IRF4.6item*/((((T7*)a1))->_storage/*0*/)[(_i2)-(1)]/*)*/)))) {
_i1=(_i1)+(1);
_i2=(_i2)+(1);
}
R=(_i1)>((C)->_count/*4*/);
}
/*FI]*/
return R;
}


T6 r7same_as(T7* C,T0* a1){
T6 R=0;
T2 _i=0;
/*[IF*/
if((a1)==((void*)(C))){
R=1;
}
else{
/*[IF*/
if(((((T7*)a1))->_count/*4*/)!=((C)->_count/*4*/)){
}
else{
_i=(C)->_count/*4*/;
while (!(((_i)==(0))||(!(r3same_as(/*(IRF4.6item*/((C)->_storage/*0*/)[(_i)-(1)]/*)*/,/*(IRF4.6item*/((((T7*)a1))->_storage/*0*/)[(_i)-(1)]/*)*/))))) {
_i=(_i)-(1);
}
R=(_i)==(0);
}
/*FI]*/
}
/*FI]*/
return R;
}


T2 r7index_of_string(T7* C,T0* a1){
T2 R=0;
T2 _i3=0;
T2 _i2=0;
T2 _i1=0;
T6 _stop=0;
_i1=1;
_i2=(((T7*)a1))->_count/*4*/;
_i3=_i2;
while (!((R)!=(0))) {
/*[IF*/
if((_i2)>((C)->_count/*4*/)){
R=((C)->_count/*4*/)+(1);
}
else{
_stop=0;
while (!(_stop)) {
/*[IF*/
if((_i3)==(0)){
_stop=1;
R=_i1;
}
 else if((/*(IRF4.6item*/((((T7*)a1))->_storage/*0*/)[(_i3)-(1)]/*)*/)!=(/*(IRF4.6item*/((C)->_storage/*0*/)[(_i2)-(1)]/*)*/)){
_stop=1;
}
/*FI]*/
_i3=(_i3)-(1);
_i2=(_i2)-(1);
}
}
/*FI]*/
_i1=(_i1)+(1);
_i3=(((T7*)a1))->_count/*4*/;
_i2=((_i1)+(_i3))-(1);
}
return R;
}


void r7prepend(T7* C,T0* a1){
T2 _old_count=0;
T2 _i=0;
_old_count=(C)->_count/*4*/;
_i=(((T7*)a1))->_count/*4*/;
while (!((_i)==(0))) {
r7extend(C,'\40');
_i=(_i)-(1);
}
_i=(C)->_count/*4*/;
while (!((_old_count)==(0))) {
/*[IRF3.5put*/((C)->_storage/*0*/)[(_i)-(1)]=(/*(IRF4.6item*/((C)->_storage/*0*/)[(_old_count)-(1)]/*)*/);
/*]*/
_i=(_i)-(1);
_old_count=(_old_count)-(1);
}
_i=(((T7*)a1))->_count/*4*/;
while (!((_i)==(0))) {
/*[IRF3.5put*/((C)->_storage/*0*/)[(_i)-(1)]=(/*(IRF4.6item*/((((T7*)a1))->_storage/*0*/)[(_i)-(1)]/*)*/);
/*]*/
_i=(_i)-(1);
}
}
/*No:STRING.first*/


void r7to_hexadecimal(T7* C){
T2 _value=0;
T2 _new_count=0;
T2 _k=0;
T2 _i=0;
_i=1;
_k=((C)->_count/*4*/)%(4);
/*[IF*/
if((_k)>(0)){
_new_count=1;
}
/*FI]*/
while (!((_k)==(0))) {
_value=((_value)*(2))+(r3value(/*(IRF4.6item*/((C)->_storage/*0*/)[(_i)-(1)]/*)*/));
_i=(_i)+(1);
_k=(_k)-(1);
}
/*[IF*/
if((_new_count)>(0)){
/*[IRF3.5put*/((C)->_storage/*0*/)[(_new_count)-(1)]=(r2hexadecimal_digit(_value));
/*]*/
}
/*FI]*/
while (!((_i)>((C)->_count/*4*/))) {
_value=r3value(/*(IRF4.6item*/((C)->_storage/*0*/)[(_i)-(1)]/*)*/);
_i=(_i)+(1);
_k=3;
while (!((_k)==(0))) {
_value=((_value)*(2))+(r3value(/*(IRF4.6item*/((C)->_storage/*0*/)[(_i)-(1)]/*)*/));
_i=(_i)+(1);
_k=(_k)-(1);
}
_new_count=(_new_count)+(1);
/*[IRF3.5put*/((C)->_storage/*0*/)[(_new_count)-(1)]=(r2hexadecimal_digit(_value));
/*]*/
}
C->_count=_new_count;
}
/*No:STRING.count*/


void r7add_first(T7* C,T3 a1){
T2 _i=0;
r7extend(C,'\40');
_i=(C)->_count/*4*/;
while (!((_i)==(1))) {
/*[IRF3.5put*/((C)->_storage/*0*/)[(_i)-(1)]=(/*(IRF4.6item*/((C)->_storage/*0*/)[((_i)-(1))-(1)]/*)*/);
/*]*/
_i=(_i)-(1);
}
/*[IRF3.5put*/((C)->_storage/*0*/)[(1)-(1)]=(a1);
/*]*/
}


T6 r7has_string(T7* C,T0* a1){
T6 R=0;
R=(r7index_of_string(C,a1))!=(((C)->_count/*4*/)+(1));
return R;
}


void r7make(T7* C,T2 a1){
/*[IF*/
if((a1)>(0)){
/*[IF*/
if(((C)->_capacity/*8*/)<(a1)){
C->_storage=calloc(a1,sizeof(T3));
C->_capacity=a1;
}
/*FI]*/
}
/*FI]*/
C->_count=0;
}


void r7append(T7* C,T0* a1){
T2 _needed_capacity=0;
T2 _other_count=0;
_other_count=(((T7*)a1))->_count/*4*/;
_needed_capacity=((C)->_count/*4*/)+(_other_count);
/*[IF*/
if(((C)->_capacity/*8*/)<(_needed_capacity)){
/*[IF*/
if(((C)->_capacity/*8*/)==(0)){
C->_capacity=_needed_capacity;
C->_storage=calloc((C)->_capacity/*8*/,sizeof(T3));
}
else{
C->_storage=r9realloc((C)->_storage/*0*/,(C)->_capacity/*8*/,_needed_capacity);
C->_capacity=_needed_capacity;
}
/*FI]*/
}
/*FI]*/
r9copy_at((C)->_storage/*0*/,(C)->_count/*4*/,(((T7*)a1))->_storage/*0*/,_other_count);
C->_count=_needed_capacity;
}
/*No:STRING.fill_with*/
/*No:STRING.clear*/


void r7blank(T7* C,T2 a1){
r7make(C,a1);
C->_count=a1;
/*[IRF3.6fill_with*/{T7* C1=C;
T3 b1='\40';
r9set_all_with((C1)->_storage/*0*/,b1,((C1)->_count/*4*/)-(1));
}/*]*/
}
/*No:STRING.empty*/


T2 r7index_of(T7* C,T3 a1){
T2 R=0;
R=(1)+(r9fast_index_of((C)->_storage/*0*/,a1,((C)->_count/*4*/)-(1)));
return R;
}
/*No:STRING.capacity*/


void r57add_last(T57* C,T0* a1){
T2 _new_capacity=0;
/*[IF*/
if(((C)->_capacity/*4*/)<((r57count(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=r58realloc((C)->_storage/*0*/,(C)->_capacity/*4*/,_new_capacity);
C->_capacity=_new_capacity;
}
/*FI]*/
}
/*FI]*/
C->_upper=((C)->_upper/*8*/)+(1);
/*[IRF3.6put*/{T57* C1=C;
T0* b1=a1;
T2 b2=(C)->_upper/*8*/;
((C1)->_storage/*0*/)[(b2)-((C1)->_lower/*12*/)]=(b1);
}/*]*/
}


T0* r57item(T57* C,T2 a1){
T0* R=NULL;
R=((C)->_storage/*0*/)[(a1)-((C)->_lower/*12*/)];
return R;
}


T0* r57first(T57* C){
T0* R=NULL;
R=r57item(C,(C)->_lower/*12*/);
return R;
}


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


T0* r205twin(T205* C){
T0* R=NULL;
R=malloc(sizeof(*C));
*((T205*)R)=M205;
r205copy(((T205*)R),((T0*)C));
return R;
}


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


T0* r205item(T205* C,T2 a1){
T0* R=NULL;
R=((C)->_storage/*4*/)[(a1)-((C)->_lower/*16*/)];
return R;
}


T2 r205count(T205* C){
T2 R=0;
R=(((C)->_upper/*12*/)-((C)->_lower/*16*/))+(1);
return R;
}
/*No:ARRAY[MANIFEST_STRING].lower*/
/*No:ARRAY[MANIFEST_STRING].upper*/


void r205copy(T205* C,T0* a1){
T2 _needed_capacity=0;
C->_lower=(((T205*)a1))->_lower/*16*/;
C->_upper=(((T205*)a1))->_upper/*12*/;
_needed_capacity=(((C)->_upper/*12*/)-((C)->_lower/*16*/))+(1);
/*[IF*/
if(((C)->_capacity/*8*/)<(_needed_capacity)){
C->_capacity=_needed_capacity;
C->_storage=calloc((C)->_capacity/*8*/,sizeof(T0*));
}
/*FI]*/
/*[IF*/
if((_needed_capacity)>(0)){
r193copy_from((C)->_storage/*4*/,(((T205*)a1))->_storage/*4*/,(_needed_capacity)-(1));
}
/*FI]*/
}
/*No:ARRAY[MANIFEST_STRING].capacity*/
/*No:ARRAY[MANIFEST_STRING].put*/
/*No:ARRAY[MANIFEST_STRING].storage*/


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


void r327add_last(T327* 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=r328realloc((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[TYPE_BIT_REF].set_all_with*/
/*No:FIXED_ARRAY[TYPE_BIT_REF].count*/


void r327resize(T327* 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=r328realloc((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 r327make(T327* 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*/{T327* C1=C;
T0* __value=NULL;
/*[IRF3.6set_all_with*/{T327* C2=C1;
T0* c1=__value;
r328set_all_with((C2)->_storage/*4*/,c1,(C2)->_upper/*12*/);
}/*]*/
}/*]*/
}
/*FI]*/
}
/*No:FIXED_ARRAY[TYPE_BIT_REF].upper*/
/*No:FIXED_ARRAY[TYPE_BIT_REF].capacity*/
/*No:FIXED_ARRAY[TYPE_BIT_REF].put*/
/*No:FIXED_ARRAY[TYPE_BIT_REF].storage*/


void r68with_capacity(T68* 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[FEATURE_NAME].clear_all*/


void r68add_last(T68* 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=r73realloc((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[FEATURE_NAME].set_all_with*/
/*No:FIXED_ARRAY[FEATURE_NAME].item*/
/*No:FIXED_ARRAY[FEATURE_NAME].first*/
/*No:FIXED_ARRAY[FEATURE_NAME].lower*/


void r68make(T68* 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*/{T68* C1=C;
T0* __value=NULL;
/*[IRF3.6set_all_with*/{T68* C2=C1;
T0* c1=__value;
r73set_all_with((C2)->_storage/*0*/,c1,(C2)->_upper/*8*/);
}/*]*/
}/*]*/
}
/*FI]*/
}
/*No:FIXED_ARRAY[FEATURE_NAME].upper*/
/*No:FIXED_ARRAY[FEATURE_NAME].clear*/
/*No:FIXED_ARRAY[FEATURE_NAME].capacity*/
/*No:FIXED_ARRAY[FEATURE_NAME].put*/
/*No:FIXED_ARRAY[FEATURE_NAME].storage*/


void r79add_last(T79* C,T0* a1){
T2 _new_capacity=0;
/*[IF*/
if(((C)->_capacity/*4*/)<((r79count(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=r80realloc((C)->_storage/*0*/,(C)->_capacity/*4*/,_new_capacity);
C->_capacity=_new_capacity;
}
/*FI]*/
}
/*FI]*/
C->_upper=((C)->_upper/*8*/)+(1);
/*[IRF3.6put*/{T79* C1=C;
T0* b1=a1;
T2 b2=(C)->_upper/*8*/;
((C1)->_storage/*0*/)[(b2)-((C1)->_lower/*12*/)]=(b1);
}/*]*/
}


T0* r79item(T79* C,T2 a1){
T0* R=NULL;
R=((C)->_storage/*0*/)[(a1)-((C)->_lower/*12*/)];
return R;
}


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


T0* r175twin(T175* C){
T0* R=NULL;
R=malloc(sizeof(*C));
*((T175*)R)=M175;
r175copy(((T175*)R),((T0*)C));
return R;
}
/*No:ARRAY[ARGUMENT_NAME1].clear_all*/


void r175add_last(T175* C,T0* a1){
T2 _new_capacity=0;
/*[IF*/
if(((C)->_capacity/*8*/)<((r175count(C))+(1))){
/*[IF*/
if(((C)->_capacity/*8*/)==(0)){
C->_capacity=16;
C->_storage=calloc((C)->_capacity/*8*/,sizeof(T0*));
}
else{
_new_capacity=(2)*((C)->_capacity/*8*/);
C->_storage=r176realloc((C)->_storage/*4*/,(C)->_capacity/*8*/,_new_capacity);
C->_capacity=_new_capacity;
}
/*FI]*/
}
/*FI]*/
C->_upper=((C)->_upper/*12*/)+(1);
/*[IRF3.6put*/{T175* C1=C;
T0* b1=a1;
T2 b2=(C)->_upper/*12*/;
((C1)->_storage/*4*/)[(b2)-((C1)->_lower/*16*/)]=(b1);
}/*]*/
}
/*No:ARRAY[ARGUMENT_NAME1].set_all_with*/


T0* r175item(T175* C,T2 a1){
T0* R=NULL;
R=((C)->_storage/*4*/)[(a1)-((C)->_lower/*16*/)];
return R;
}


T0* r175first(T175* C){
T0* R=NULL;
R=r175item(C,(C)->_lower/*16*/);
return R;
}


T2 r175count(T175* C){
T2 R=0;
R=(((C)->_upper/*12*/)-((C)->_lower/*16*/))+(1);
return R;
}
/*No:ARRAY[ARGUMENT_NAME1].lower*/


void r175make(T175* C,T2 a1,T2 a2){
T2 _needed=0;
C->_lower=a1;
C->_upper=a2;
_needed=((a2)-(a1))+(1);
/*[IF*/
if((_needed)>(0)){
/*[IF*/
if(((C)->_capacity/*8*/)<(_needed)){
C->_storage=calloc(_needed,sizeof(T0*));
C->_capacity=_needed;
}
else{
/*[IRF3.6clear_all*/{T175* C1=C;
T0* __value=NULL;
/*[IRF3.6set_all_with*/{T175* C2=C1;
T0* c1=__value;
r176set_all_with((C2)->_storage/*4*/,c1,((C2)->_upper/*12*/)-((C2)->_lower/*16*/));
}/*]*/
}/*]*/
}
/*FI]*/
}
/*FI]*/
}
/*No:ARRAY[ARGUMENT_NAME1].upper*/


void r175copy(T175* C,T0* a1){
T2 _needed_capacity=0;
C->_lower=(((T175*)a1))->_lower/*16*/;
C->_upper=(((T175*)a1))->_upper/*12*/;
_needed_capacity=(((C)->_upper/*12*/)-((C)->_lower/*16*/))+(1);
/*[IF*/
if(((C)->_capacity/*8*/)<(_needed_capacity)){
C->_capacity=_needed_capacity;
C->_storage=calloc((C)->_capacity/*8*/,sizeof(T0*));
}
/*FI]*/
/*[IF*/
if((_needed_capacity)>(0)){
r176copy_from((C)->_storage/*4*/,(((T175*)a1))->_storage/*4*/,(_needed_capacity)-(1));
}
/*FI]*/
}
/*No:ARRAY[ARGUMENT_NAME1].capacity*/
/*No:ARRAY[ARGUMENT_NAME1].put*/
/*No:ARRAY[ARGUMENT_NAME1].storage*/


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


T0* r186twin(T186* C){
T0* R=NULL;
R=malloc(sizeof(*C));
*((T186*)R)=M186;
r186copy(((T186*)R),((T0*)C));
return R;
}
/*No:FIXED_ARRAY[INTEGER_CONSTANT].clear_all*/


void r186add_last(T186* 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=r187realloc((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[INTEGER_CONSTANT].item*/
/*No:FIXED_ARRAY[INTEGER_CONSTANT].set_all_with*/
/*No:FIXED_ARRAY[INTEGER_CONSTANT].lower*/


void r186make(T186* 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*/{T186* C1=C;
T0* __value=NULL;
/*[IRF3.6set_all_with*/{T186* C2=C1;
T0* c1=__value;
r187set_all_with((C2)->_storage/*4*/,c1,(C2)->_upper/*12*/);
}/*]*/
}/*]*/
}
/*FI]*/
}
/*No:FIXED_ARRAY[INTEGER_CONSTANT].upper*/


void r186copy(T186* C,T0* a1){
T2 _new_capacity=0;
T2 _other_upper=0;
_other_upper=(((T186*)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)){
r187clear_all((C)->_storage/*4*/,((C)->_capacity/*8*/)-(1));
}
/*FI]*/
r187copy_from((C)->_storage/*4*/,(((T186*)a1))->_storage/*4*/,_other_upper);
}
 else if(((C)->_capacity/*8*/)>(0)){
r187clear_all((C)->_storage/*4*/,((C)->_capacity/*8*/)-(1));
}
/*FI]*/
C->_upper=_other_upper;
}
/*No:FIXED_ARRAY[INTEGER_CONSTANT].capacity*/
/*No:FIXED_ARRAY[INTEGER_CONSTANT].storage*/
/*No:FIXED_ARRAY[INTEGER_CONSTANT].put*/

