fn arg_max(&self) -> usize {
        #[cfg(feature = "O3")]
        {
            let n_i32 = self.len() as i32;
            let idx: usize;
            unsafe {
                idx = idamax(n_i32, self, 1) - 1;
            }
            idx
        }
        #[cfg(not(feature = "O3"))]
        {
            self.into_iter()
                .enumerate()
                .fold((0usize, f64::MIN), |acc, (ics, &val)| {
                    if acc.1 < val {
                        (ics, val)
                    } else {
                        acc
                    }
                })
                .0
        }
    }
arg max

# Examples
```
#[macro_use]
extern crate peroxide;
use peroxide::fuga::*;

fn main() {
let v = c!(1,3,2,4,3,7);
assert_eq!(v.arg_max(),5);

let v2 = c!(1,3,2,5,6,6);
assert_eq!(v2.arg_max(),4);
}
```
src/structure/vector.rs