    

 ## On this page

  

 

 # InputComplexScalarData

 Last update: 17.07.2025 

<a name="l00001"></a> 1 /\*

<a name="l00002"></a> 2 \* Copyright ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.

<a name="l00003"></a> 3 \*/

<a name="l00004"></a> 4 

<a name="l00005"></a> 5 \#pragma once

<a name="l00006"></a> 6 

<a name="l00007"></a> 7 \#include "SystemCouplingParticipant/LibraryType.hpp"

<a name="l00008"></a> 8 

<a name="l00009"></a> 9 \#include "SystemCouplingParticipant/CommonTypes.hpp"

<a name="l00010"></a> 10 

<a name="l00011"></a> 11 \#include &lt;complex&gt;

<a name="l00012"></a> 12 \#include &lt;cstddef&gt;

<a name="l00013"></a> 13 \#include &lt;vector&gt;

<a name="l00014"></a> 14 

<a name="l00015"></a> 15 namespace sysc {

<a name="l00016"></a> 16 

<a name="l00024"></a>[ 24](classsysc_1_1InputComplexScalarData.xhtml) class SYSTEM_COUPLING_PARTICIPANT_DLL [InputComplexScalarData](classsysc_1_1InputComplexScalarData.xhtml) {

<a name="l00025"></a> 25 public:

<a name="l00035"></a>[ 35](classsysc_1_1InputComplexScalarData.xhtml#a9799ecb48164481feb8e3c234b5f17a2) [InputComplexScalarData](classsysc_1_1InputComplexScalarData.xhtml#a9799ecb48164481feb8e3c234b5f17a2)(std::vector&lt;std::complex&lt;double&gt;&gt;&amp; dataComplex);

<a name="l00036"></a> 36 

<a name="l00048"></a>[ 48](classsysc_1_1InputComplexScalarData.xhtml#a4fd7a610e7b5bbf7e23fafed47354e4b) [InputComplexScalarData](classsysc_1_1InputComplexScalarData.xhtml#a4fd7a610e7b5bbf7e23fafed47354e4b)(std::complex&lt;double&gt;* dataComplex, std::size_t size);

<a name="l00049"></a> 49 

<a name="l00061"></a>[ 61](classsysc_1_1InputComplexScalarData.xhtml#a2651ceaed447865458a33e21feab6bc4) [InputComplexScalarData](classsysc_1_1InputComplexScalarData.xhtml#a2651ceaed447865458a33e21feab6bc4)(double* dataComplex, std::size_t size);

<a name="l00062"></a> 62 

<a name="l00076"></a>[ 76](classsysc_1_1InputComplexScalarData.xhtml#aebb2f21dc9bb49e32ef384ea232fac2d) [InputComplexScalarData](classsysc_1_1InputComplexScalarData.xhtml#aebb2f21dc9bb49e32ef384ea232fac2d)(

<a name="l00077"></a> 77 std::vector&lt;double&gt;&amp; dataReal,

<a name="l00078"></a> 78 std::vector&lt;double&gt;&amp; dataImaginary);

<a name="l00079"></a> 79 

<a name="l00094"></a>[ 94](classsysc_1_1InputComplexScalarData.xhtml#aaad5ae16ce141940bf382347bfcde0fc) [InputComplexScalarData](classsysc_1_1InputComplexScalarData.xhtml#aaad5ae16ce141940bf382347bfcde0fc)(

<a name="l00095"></a> 95 double* dataReal,

<a name="l00096"></a> 96 double* dataImaginary,

<a name="l00097"></a> 97 std::size_t size);

<a name="l00098"></a> 98 

<a name="l00108"></a>[ 108](classsysc_1_1InputComplexScalarData.xhtml#ae35e1789225279bb36f03b24538c109c) [InputComplexScalarData](classsysc_1_1InputComplexScalarData.xhtml#ae35e1789225279bb36f03b24538c109c)(std::vector&lt;std::complex&lt;float&gt;&gt;&amp; dataComplex);

<a name="l00109"></a> 109 

<a name="l00121"></a>[ 121](classsysc_1_1InputComplexScalarData.xhtml#a4767c4598c7bf8e358581963281d116f) [InputComplexScalarData](classsysc_1_1InputComplexScalarData.xhtml#a4767c4598c7bf8e358581963281d116f)(std::complex&lt;float&gt;* dataComplex, std::size_t size);

<a name="l00122"></a> 122 

<a name="l00134"></a>[ 134](classsysc_1_1InputComplexScalarData.xhtml#a17e9c685d7df19afaab8c8d79a7f3a5e) [InputComplexScalarData](classsysc_1_1InputComplexScalarData.xhtml#a17e9c685d7df19afaab8c8d79a7f3a5e)(float* dataComplex, std::size_t size);

<a name="l00135"></a> 135 

<a name="l00149"></a>[ 149](classsysc_1_1InputComplexScalarData.xhtml#aa3af42841050f48442f7c799934464b1) [InputComplexScalarData](classsysc_1_1InputComplexScalarData.xhtml#aa3af42841050f48442f7c799934464b1)(

<a name="l00150"></a> 150 std::vector&lt;float&gt;&amp; dataReal,

<a name="l00151"></a> 151 std::vector&lt;float&gt;&amp; dataImaginary);

<a name="l00152"></a> 152 

<a name="l00167"></a>[ 167](classsysc_1_1InputComplexScalarData.xhtml#a3cb2a7e0408644aa704afe24a3c69680) [InputComplexScalarData](classsysc_1_1InputComplexScalarData.xhtml#a3cb2a7e0408644aa704afe24a3c69680)(

<a name="l00168"></a> 168 float* dataReal,

<a name="l00169"></a> 169 float* dataImaginary,

<a name="l00170"></a> 170 std::size_t size);

<a name="l00171"></a> 171 

<a name="l00173"></a>[ 173](classsysc_1_1InputComplexScalarData.xhtml#a87ddce421dd35973a0fb7e5ba971f1ab) [InputComplexScalarData](classsysc_1_1InputComplexScalarData.xhtml#a87ddce421dd35973a0fb7e5ba971f1ab)() = default;

<a name="l00174"></a> 174 

<a name="l00176"></a>[ 176](classsysc_1_1InputComplexScalarData.xhtml#a580988b37a3df87bc3f7b8e54ab44bb1) [InputComplexScalarData](classsysc_1_1InputComplexScalarData.xhtml#a580988b37a3df87bc3f7b8e54ab44bb1)(const [InputComplexScalarData](classsysc_1_1InputComplexScalarData.xhtml)&amp;) = default;

<a name="l00177"></a> 177 

<a name="l00179"></a>[ 179](classsysc_1_1InputComplexScalarData.xhtml#a04373a36866867b8d84d2eddca6c123e) [InputComplexScalarData](classsysc_1_1InputComplexScalarData.xhtml#a04373a36866867b8d84d2eddca6c123e)([InputComplexScalarData](classsysc_1_1InputComplexScalarData.xhtml)&amp;&amp;) = default;

<a name="l00180"></a> 180 

<a name="l00182"></a>[ 182](classsysc_1_1InputComplexScalarData.xhtml#a0f21d4c6de589c264c44a9a6203d46cf) [InputComplexScalarData](classsysc_1_1InputComplexScalarData.xhtml)&amp; [operator=](classsysc_1_1InputComplexScalarData.xhtml#a0f21d4c6de589c264c44a9a6203d46cf)(const [InputComplexScalarData](classsysc_1_1InputComplexScalarData.xhtml)&amp;) = default;

<a name="l00183"></a> 183 

<a name="l00185"></a>[ 185](classsysc_1_1InputComplexScalarData.xhtml#ac229c985802f1d806d13460ce35b4ae6) [InputComplexScalarData](classsysc_1_1InputComplexScalarData.xhtml)&amp; [operator=](classsysc_1_1InputComplexScalarData.xhtml#ac229c985802f1d806d13460ce35b4ae6)([InputComplexScalarData](classsysc_1_1InputComplexScalarData.xhtml)&amp;&amp;) = default;

<a name="l00186"></a> 186 

<a name="l00188"></a>[ 188](classsysc_1_1InputComplexScalarData.xhtml#a9034067801b82ce51fb707e45517d08b) std::size_t [size](classsysc_1_1InputComplexScalarData.xhtml#a9034067801b82ce51fb707e45517d08b)() const noexcept;

<a name="l00189"></a> 189 

<a name="l00191"></a>[ 191](classsysc_1_1InputComplexScalarData.xhtml#ad7c8bad4fe00dc8e31160925a811eb5a) bool empty() const noexcept;

<a name="l00192"></a> 192 

<a name="l00197"></a>[ 197](classsysc_1_1InputComplexScalarData.xhtml#a19522f922326595ae0eeafbb3807136b) sysc::[PrimitiveType](group__SystemCouplingParticipantAPIs.xhtml#gad3b1c73e4a63f4d292d65f3db875e844) getDataType() const noexcept;

<a name="l00198"></a> 198 

<a name="l00204"></a>[ 204](classsysc_1_1InputComplexScalarData.xhtml#a77de5929a7ea7631649982e5fb3104da) bool isSplitComplex() const noexcept;

<a name="l00205"></a> 205 

<a name="l00210"></a>[ 210](classsysc_1_1InputComplexScalarData.xhtml#a88e72a3976633fd62cd8c373ccbb6194) void* getData1() const noexcept;

<a name="l00211"></a> 211 

<a name="l00216"></a>[ 216](classsysc_1_1InputComplexScalarData.xhtml#a039392f0e599a4a2a2fca00787e546a0) void* getData2() const noexcept;

<a name="l00217"></a> 217 

<a name="l00218"></a> 218 private:

<a name="l00219"></a> 219 [PrimitiveType](group__SystemCouplingParticipantAPIs.xhtml#gad3b1c73e4a63f4d292d65f3db875e844) m_dataType{[PrimitiveType::Double](group__SystemCouplingParticipantAPIs.xhtml#ggad3b1c73e4a63f4d292d65f3db875e844a29843d2c1bb5760f768dcc066dac1ac1)};

<a name="l00220"></a> 220 bool m_isSplitComplex{false};

<a name="l00221"></a> 221 

<a name="l00222"></a> 222 void* m_data1{nullptr};

<a name="l00223"></a> 223 void* m_data2{nullptr};

<a name="l00224"></a> 224 

<a name="l00225"></a> 225 std::size_t m_size{0};

<a name="l00226"></a> 226 };

<a name="l00227"></a> 227 

<a name="l00228"></a> 228 } // namespace sysc

[sysc::InputComplexScalarData](classsysc_1_1InputComplexScalarData.xhtml)

Provide a class for input complex scalar data.

**Definition:** [InputComplexScalarData.hpp:24](InputComplexScalarData_8hpp_source.xhtml#l00024)



[sysc::InputComplexScalarData::InputComplexScalarData](classsysc_1_1InputComplexScalarData.xhtml#a04373a36866867b8d84d2eddca6c123e)

InputComplexScalarData(InputComplexScalarData &amp;&amp;)=default

Provide a move-constructor.



[sysc::InputComplexScalarData::operator=](classsysc_1_1InputComplexScalarData.xhtml#a0f21d4c6de589c264c44a9a6203d46cf)

InputComplexScalarData &amp; operator=(const InputComplexScalarData &amp;)=default

Provide a copy-assign operator.



[sysc::InputComplexScalarData::InputComplexScalarData](classsysc_1_1InputComplexScalarData.xhtml#a17e9c685d7df19afaab8c8d79a7f3a5e)

InputComplexScalarData(float *dataComplex, std::size_t size)

Provide a constructor for input complex scalar data with compact storage for complex components.



[sysc::InputComplexScalarData::InputComplexScalarData](classsysc_1_1InputComplexScalarData.xhtml#a2651ceaed447865458a33e21feab6bc4)

InputComplexScalarData(double *dataComplex, std::size_t size)

Provide a constructor for input complex scalar data with compact storage for complex components.



[sysc::InputComplexScalarData::InputComplexScalarData](classsysc_1_1InputComplexScalarData.xhtml#a3cb2a7e0408644aa704afe24a3c69680)

InputComplexScalarData(float *dataReal, float *dataImaginary, std::size_t size)

Create an input complex scalar data access object with split storage for complex components.



[sysc::InputComplexScalarData::InputComplexScalarData](classsysc_1_1InputComplexScalarData.xhtml#a4767c4598c7bf8e358581963281d116f)

InputComplexScalarData(std::complex&lt; float &gt; *dataComplex, std::size_t size)

Provide a constructor for input complex scalar data with compact storage for complex components.



[sysc::InputComplexScalarData::InputComplexScalarData](classsysc_1_1InputComplexScalarData.xhtml#a4fd7a610e7b5bbf7e23fafed47354e4b)

InputComplexScalarData(std::complex&lt; double &gt; *dataComplex, std::size_t size)

Provide a constructor for input complex scalar data with compact storage for complex components.



[sysc::InputComplexScalarData::InputComplexScalarData](classsysc_1_1InputComplexScalarData.xhtml#a580988b37a3df87bc3f7b8e54ab44bb1)

InputComplexScalarData(const InputComplexScalarData &amp;)=default

Provide a copy-constructor.



[sysc::InputComplexScalarData::InputComplexScalarData](classsysc_1_1InputComplexScalarData.xhtml#a87ddce421dd35973a0fb7e5ba971f1ab)

InputComplexScalarData()=default

Provide a default constructor.



[sysc::InputComplexScalarData::size](classsysc_1_1InputComplexScalarData.xhtml#a9034067801b82ce51fb707e45517d08b)

std::size_t size() const noexcept

Get the size of data.



[sysc::InputComplexScalarData::InputComplexScalarData](classsysc_1_1InputComplexScalarData.xhtml#a9799ecb48164481feb8e3c234b5f17a2)

InputComplexScalarData(std::vector&lt; std::complex&lt; double &gt;&gt; &amp;dataComplex)

Provide a constructor for input complex scalar data with compact storage for complex components.



[sysc::InputComplexScalarData::InputComplexScalarData](classsysc_1_1InputComplexScalarData.xhtml#aa3af42841050f48442f7c799934464b1)

InputComplexScalarData(std::vector&lt; float &gt; &amp;dataReal, std::vector&lt; float &gt; &amp;dataImaginary)

Create an input complex scalar data access object with split storage for complex components.



[sysc::InputComplexScalarData::InputComplexScalarData](classsysc_1_1InputComplexScalarData.xhtml#aaad5ae16ce141940bf382347bfcde0fc)

InputComplexScalarData(double *dataReal, double *dataImaginary, std::size_t size)

Create an input complex scalar data access object with split storage for complex components.



[sysc::InputComplexScalarData::operator=](classsysc_1_1InputComplexScalarData.xhtml#ac229c985802f1d806d13460ce35b4ae6)

InputComplexScalarData &amp; operator=(InputComplexScalarData &amp;&amp;)=default

Provide a move-assign operator.



[sysc::InputComplexScalarData::InputComplexScalarData](classsysc_1_1InputComplexScalarData.xhtml#ae35e1789225279bb36f03b24538c109c)

InputComplexScalarData(std::vector&lt; std::complex&lt; float &gt;&gt; &amp;dataComplex)

Provide a constructor for input complex scalar data with compact storage for complex components.



[sysc::InputComplexScalarData::InputComplexScalarData](classsysc_1_1InputComplexScalarData.xhtml#aebb2f21dc9bb49e32ef384ea232fac2d)

InputComplexScalarData(std::vector&lt; double &gt; &amp;dataReal, std::vector&lt; double &gt; &amp;dataImaginary)

Create an input complex scalar data access object with split storage for complex components.



[sysc::PrimitiveType](group__SystemCouplingParticipantAPIs.xhtml#gad3b1c73e4a63f4d292d65f3db875e844)

PrimitiveType

Provide enum for supported primitive types.

**Definition:** [CommonTypes.hpp:220](CommonTypes_8hpp_source.xhtml#l00220)



[sysc::Double](group__SystemCouplingParticipantAPIs.xhtml#ggad3b1c73e4a63f4d292d65f3db875e844a29843d2c1bb5760f768dcc066dac1ac1)

@ Double

**Definition:** [CommonTypes.hpp:222](CommonTypes_8hpp_source.xhtml#l00222)