

#include "BUILTIN.h"
extern OBJ _ADArray_23(OBJ);extern OBJ __ADArray_23;

#include "Nat.h"

#include "Bitset.h"

#include "Array.h"
extern OBJ _ADArrayConv_2(OBJ);extern OBJ __ADArrayConv_2;
extern OBJ _ASeqFold_2(OBJ,OBJ);extern OBJ __ASeqFold_2;
extern OBJ _ASeqFold_3(OBJ,OBJ);extern OBJ __ASeqFold_3;

#include "Char.h"
extern OBJ _ADArrayFold_2(OBJ,OBJ);OBJ __ADArrayFold_2; /* / */
extern OBJ _ADArrayFold_3(OBJ,OBJ);OBJ __ADArrayFold_3; /* \ */

extern OBJ _ADArrayFold_2(OBJ x1,OBJ x2) /* / */
{OBJ r;
 CPPRD(x2,1);
 {OBJ x3;
  x3=_ADArray_23(x2);
  if(ISTGPRM(x3,0)){
   {OBJ x4;
    x4=_ADArrayConv_2(x2);
    r=_ASeqFold_2(x1,x4);}
  }else{
   HLT("/\'DArrayFold: empty darray");}}
 return r;}

extern OBJ _ADArrayFold_3(OBJ x1,OBJ x2) /* \ */
{OBJ r;
 CPPRD(x2,1);
 {OBJ x3;
  x3=_ADArray_23(x2);
  if(ISTGPRM(x3,0)){
   {OBJ x4;
    x4=_ADArrayConv_2(x2);
    r=_ASeqFold_3(x1,x4);}
  }else{
   HLT("\'DArrayFold: empty darray");}}
 return r;}

init_ADArrayFold()
{
 static int visited=0; if(visited) return; visited=1;
 init_ADArray();
 init_ANat();
 init_AOption();
 init_ABitset();
 init_AArray();
 init_AArrayFold();
 init_ADArrayConv();
 init_ASeq();
 init_ASeqFold();
 init_AString();
 init_AChar();
 CLS(2,_ADArrayFold_3,__ADArrayFold_3);
 CLS(2,_ADArrayFold_2,__ADArrayFold_2);}

