Algorithm-PageRank-XS

 view release on metacpan or  search on metacpan

XS.xs  view on Meta::CPAN

  RETVAL = sv_newmortal();
  sv_setref_pv(RETVAL, class, (void *) p);

  for (i=1; i < items; i += 2)
    option(aTHX_ p, ST(i), ST(i + 1));

  p->dim_map = newHV();
  p->rev_map = newHV();
  p->main_table = table_init();
  SvREFCNT_inc(RETVAL);
OUTPUT:
  RETVAL


void
add_arc(pagerank p, ...)
  PREINIT:
    SV *from_, *to_;
    size_t from, to;
    I32 i;
    Array * tmp;

XS.xs  view on Meta::CPAN

      }

      reskey = SvPV(*res, len);

      curval = newSVnv(array_get(result, i));
      hv_store(results, reskey, len, curval, 0);
    }
    array_delete(result);
    RETVAL = newRV((SV *)results);
    clear(aTHX_ p);
  OUTPUT:
    RETVAL

void
DESTROY(pagerank p)
  PREINIT:
        SV *x;
  PPCODE:
        hv_undef(p->dim_map);
        hv_undef(p->rev_map);
        table_delete(p->main_table);

ppport.h  view on Meta::CPAN

PTR2ul|5.007001||p
PTRV|5.006000||p
PUSHMARK|||
PUSH_MULTICALL||5.011000|
PUSHi|||
PUSHmortal|5.009002||p
PUSHn|||
PUSHp|||
PUSHs|||
PUSHu|5.004000||p
PUTBACK|||
PerlIO_clearerr||5.007003|
PerlIO_close||5.007003|
PerlIO_context_layers||5.009004|
PerlIO_eof||5.007003|
PerlIO_error||5.007003|
PerlIO_fileno||5.007003|
PerlIO_fill||5.007003|
PerlIO_flush||5.007003|
PerlIO_get_base||5.007003|
PerlIO_get_bufsiz||5.007003|

ppport.h  view on Meta::CPAN

{
    dSP;
    SV* sv = newSVpv(p, 0);

    PUSHMARK(sp);
    eval_sv(sv, G_SCALAR);
    SvREFCNT_dec(sv);

    SPAGAIN;
    sv = POPs;
    PUTBACK;

    if (croak_on_error && SvTRUE(GvSV(errgv)))
	croak(SvPVx(GvSV(errgv), na));

    return sv;
}

#endif
#endif

typemap  view on Meta::CPAN

TYPEMAP
pagerank            T_PTROBJ_PAGERANK
TableRef *       T_PTROBJ

INPUT
T_PTROBJ_PAGERANK
        $var = C_PAGERANK($arg, \"$var\");

OUTPUT
T_PTROBJ_PAGERANK
        sv_setref_pv($arg, \"Algorithm::PageRank::XS\", (void*)$var);



( run in 0.247 second using v1.01-cache-2.11-cpan-4e96b696675 )