Not logged in.  Login/Logout/Register | List snippets | | Create snippet | Upload image | Upload data

50
LINES

< > BotCompany Repo | #1003524 - filter

JavaX fragment (include) [tags: use-pretranspiled]

Transpiled version (2188L) is out of date.

static <A> L<A> filter(Iterable<A> c, O pred) {
  if (pred instanceof F1) ret filter(c, (F1<A, Bool>) pred);

  ifdef filter_debug
    print("Slow filter called");
  endifdef
  new L x;
  if (c != null) for (O o : c)
    if (isTrue(callF(pred, o)))
      x.add(o);
  ret x;
}

static L filter(O pred, Iterable c) {
  ret filter(c, pred);
}

static <A, B extends A> L<B> filter(Iterable<B> c, F1<A, Bool> pred) {
  new L x;
  if (c != null) for (B o : c)
    if (pred.get(o))
      x.add(o);
  ret x;
}

static <A, B extends A> L<B> filter(F1<A, Bool> pred, Iterable<B> c) {
  ret filter(c, pred);
}

//ifclass IF1
static <A, B extends A> L<B> filter(Iterable<B> c, IF1<A, Bool> pred) {
  new L x;
  if (c != null) for (B o : c)
    if (pred.get(o))
      x.add(o);
  ret x;
}

static <A, B extends A> L<B> filter(B[] c, IF1<A, Bool> pred) {
  new L x;
  if (c != null) for (B o : c)
    if (pred.get(o))
      x.add(o);
  ret x;
}

static <A, B extends A> L<B> lambdaMapLike filter(IF1<A, Bool> pred, Iterable<B> c) {
  ret filter(c, pred);
}
//endif

download  show line numbers  debug dex   

Travelled to 18 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, ddnzoavkxhuk, dpqxeycirhfy, ekrmjmnbrukm, gwrvuhgaqvyk, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, qsqiayxyrbia, tslmcundralx, tvejysmllsmz, whxojlpjdney, xrpafgyirdlv

No comments. add comment

Snippet ID: #1003524
Snippet name: filter
Eternal ID of this version: #1003524/14
Text MD5: 6e1397387b45c2d0486067a06b4d39e6
Author: stefan
Category: javax
Type: JavaX fragment (include)
Public (visible to everyone): Yes
Archived (hidden from active list): No
Created/modified: 2020-06-16 01:47:27
Source code size: 1099 bytes / 50 lines
Pitched / IR pitched: No / No
Views / Downloads: 462 / 588
Version history: 13 change(s)
Referenced in: [show references]

Formerly at http://tinybrain.de/1003524 & http://1003524.tinybrain.de