Listing 2


template <class T, u32 N>
struct ComputeDet
{
  typedef VectorN<T,N> VectT;
  typedef typename GenNLSequence
    <N>::Result IdxNListT;
    
  static T
  Evaluate(const VectT majors[N])
  { 
    return DetEvaluator<
        T,N,IdxNListT,IdxNListT
      >::Evaluate(majors); 
  }
};