From 060b79bda0b656bd9aec253389706681a565443e Mon Sep 17 00:00:00 2001 From: Jacob Palecki Date: Fri, 9 Apr 2021 16:27:32 -0700 Subject: Some more small additions and fixes --- wrapper/wrapper.cpp | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'wrapper/wrapper.cpp') diff --git a/wrapper/wrapper.cpp b/wrapper/wrapper.cpp index 74e8683..1f27415 100644 --- a/wrapper/wrapper.cpp +++ b/wrapper/wrapper.cpp @@ -178,6 +178,20 @@ public ref struct ArbitraryLut sealed : public LutBase array^ data; + ArbitraryLut() + { + } + + ArbitraryLut(const ra::arbitrary_lut& table) + { + mode = Mode::arbitrary; + transfer = true; + data = gcnew array(table.last_arbitrary_index + 1, 2); + + pin_ptr pdata = &data[0,0]; + std::memcpy(pdata, &table.raw_data_in, sizeof(float) * 2 * (table.last_arbitrary_index + 1)); + } + virtual void SetArgs(TableArgs% args) override { args.mode = TableMode::arbitrary; @@ -565,7 +579,7 @@ private: case ra::table_mode::off: return nullptr; case ra::table_mode::linear: return gcnew LinearLut(au.lin_lut); case ra::table_mode::binlog: return gcnew BinLogLut(au.log_lut); - case ra::table_mode::arbitrary: + case ra::table_mode::arbitrary: return gcnew ArbitraryLut(au.arb_lut); default: throw gcnew NotImplementedException(); } } -- cgit v1.2.3