You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#pragma once
#include <iostream>
#include "CArrayBuffer.h"
#include "CDataView.h"
class CFloat32Array { public: CArrayBuffer* buffer; int byteOffset; int byteLength;
private: int _length; bool _deleteBuffer;
public: CFloat32Array(int length) { this->buffer = new CArrayBuffer(length * sizeof(float32)); this->_length = length; this->_deleteBuffer = true; }
CFloat32Array(CArrayBuffer* buffer, int byteOffset, int length) { this->buffer = buffer; this->byteOffset = byteOffset; this->_length = length; this->byteLength = length * sizeof(float32); this->_deleteBuffer = false; }
~CFloat32Array() { if (this->_deleteBuffer) { delete this->buffer; this->buffer = nullptr; printf("delete"); } }
float32& operator [](int idx) { return *((float32*)(this->buffer->pData + (this->byteOffset + idx * sizeof(float32)))); }
int length() { return this->_length; } };
|