|
#include "stdafx.h"
#include "vec1d.h"
vec1D::vec1D(unsigned int size, int offset, const float* data) : m_size(size), m_offset(offset), m_data(0)
{
m_last = (m_size + m_offset) - 1;
m_data = (float *)_aligned_malloc(m_size * sizeof(float), 16); //MMX alignement
for (unsigned int i = 0; i < m_size; i++) {
if (data != 0)
m_data[i] = data[i];
else
m_data[i] = 0.0f;
}
m_data -= m_offset;
}
vec1D::vec1D(const vec1D& v) : m_data(0)
{
init(v);
}
vec1D::~vec1D()
{
close();
}
void vec1D::init(const vec1D& v)
{
close();
m_size = v.size();
m_offset = v.first();
const float* data = v.data();
m_last = (m_size + m_offset) - 1;
m_data = (float *)_aligned_malloc(m_size * sizeof(float), 16); //MMX alignement
for (unsigned int i = 0; i < m_size; i++)
m_data[i] = data[i];
m_data -= m_offset;
}
void vec1D::close()
{
if (m_data != 0) {
m_data += m_offset;
_aligned_free(m_data);
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
Highly skilled Engineer with 14 years of experience in academia, R&D and commercial product development supporting full software life-cycle from idea to implementation and further support. During my academic career I was able to succeed in MIT Computers in Cardiology 2006 international challenge, as a R&D and SW engineer gain CodeProject MVP, find algorithmic solutions to quickly resolve tough customer problems to pass product requirements in tight deadlines. My key areas of expertise involve Object-Oriented
Analysis and Design OOAD, OOP, machine learning, natural language processing, face recognition, computer vision and image processing, wavelet analysis, digital signal processing in cardiology.