summaryrefslogtreecommitdiff
path: root/volk/lib/volk_rank_archs.c
blob: b1a93db26821e6108c255845d62eaef445390d1c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
#include<volk_rank_archs.h>
#include<stdio.h>

unsigned int volk_rank_archs(const int* arch_defs, unsigned int arch) {
  int i = 2;
  unsigned int best_val = 0;
  for(; i < arch_defs[0] + 1; ++i) {
    if((arch_defs[i]&(!arch)) == 0) {
      best_val = (arch_defs[i] > arch_defs[best_val + 1]) ? i-1 : best_val;
    }
  }
  return best_val;
}