%module{SOOT};

class TH1 {
  TH1FloatArray GetIntegral();

%{

Int_t
Fill(self, ...)
    TH1* self
  CODE:
    /* This is all done for optimization only */
    if (items == 2) {
      RETVAL = self->Fill(SvNV(ST(1)));
    }
    else if (items == 3) {
      if (!SvPOK(ST(1)) || SvNOK(ST(1))) {
        RETVAL = self->Fill(SvNV(ST(1)), SvNV(ST(2)));
      }
      else {
        RETVAL = self->Fill(SvPV_nolen(ST(1)), SvNV(ST(2)));
      }
    }
    else {
      croak("Usage: $th1->Fill(...) takes one or two parameters");
    }
  OUTPUT: RETVAL

%}

};