Spaces:
Running
Running
/* | |
Copyright 2015 Google Inc. All rights reserved. | |
Licensed under the Apache License, Version 2.0 (the "License"); | |
you may not use this file except in compliance with the License. | |
You may obtain a copy of the License at | |
http://www.apache.org/licenses/LICENSE-2.0 | |
Unless required by applicable law or agreed to in writing, software | |
distributed under the License is distributed on an "AS IS" BASIS, | |
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
See the License for the specific language governing permissions and | |
limitations under the License. | |
*/ | |
// A memory mappable float matrix with restricted use, composite audio and | |
// track classes being its current uses. Its further use should be avoided | |
// as its designed to meet the specific needs of these classes. | |
class FloatMatrix { | |
public: | |
FloatMatrix(); | |
FloatMatrix(const FloatMatrix &); | |
~FloatMatrix(); | |
void operator = (const FloatMatrix &); | |
void resize(uint32_t x_size, uint32_t y_size); | |
void clear(); | |
float Get(uint32_t x, uint32_t y) const; | |
float &Get(uint32_t x, uint32_t y); | |
void Set(uint32_t x, uint32_t y, float val); | |
uint32_t get_x_size() const; | |
uint32_t get_y_size() const; | |
uint32_t size() const; | |
const float *data(void) const; | |
void StringWrite(std::string *out) const; | |
private: | |
float *data_; | |
uint32_t x_size_; | |
uint32_t y_size_; | |
}; | |