use vector::BasicReadableVector;
use vector::BasicWriteableVector;
pub struct Dense {
element: Vec<f32>,
}
impl Dense {
pub fn new(col: usize) -> Dense {
let v = Dense{element: vec![0.0; col]};
return v;
}
pub fn set_size(&mut self, size: usize) {
self.element.resize(size,0.0);
}
}
impl BasicReadableVector for Dense {
fn get_size(&self) -> usize {
return self.element.len();
}
fn get_element(&self, i: usize)-> f32 {
if i >= self.get_size() {
panic!("assignment out of bounds");
}
return self.element[i];
}
}
impl BasicWriteableVector for Dense {
fn set_element(&mut self, i: usize, value: f32) {
if i >= self.get_size() {
panic!("assignment out of bounds");
}
self.element[i] = value;
}
fn set_zero(&mut self) {
for x in &mut self.element {
*x = 0.0;
}
}
}