    

 ## On this page

  

 

 # InputComplexScalarData

 Last update: 17.07.2025 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

<a id="l00048" 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 id="l00049" name="l00049"></a> 49 

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

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

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

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

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

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

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

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

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

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

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

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

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

<a id="l00121" 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 id="l00122" name="l00122"></a> 122 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

<a id="l00195" name="l00195"></a> 195 

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

<a id="l00202" name="l00202"></a> 202 

<a id="l00207" name="l00207"></a>[ 207](classsysc_1_1InputComplexScalarData.xhtml#ac383892e65a8b8b096c9cab1d3b08c1b) void* getData1() const noexcept;

<a id="l00208" name="l00208"></a> 208 

<a id="l00213" name="l00213"></a>[ 213](classsysc_1_1InputComplexScalarData.xhtml#a0a187b765e77776a377608a6e2a3697f) void* getData2() const noexcept;

<a id="l00214" name="l00214"></a> 214 

<a id="l00215" name="l00215"></a> 215private:

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

<a id="l00217" name="l00217"></a> 217 bool m_isSplitComplex{false};

<a id="l00218" name="l00218"></a> 218 

<a id="l00219" name="l00219"></a> 219 void* m_data1{nullptr};

<a id="l00220" name="l00220"></a> 220 void* m_data2{nullptr};

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

<a id="l00222" name="l00222"></a> 222 std::size_t m_size{0};

<a id="l00223" name="l00223"></a> 223};

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

<a id="l00225" name="l00225"></a> 225} // 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::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#a27ebf7b7affe5cd3c54fea4032024546)

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#a3cb2a7e0408644aa704afe24a3c69680)

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

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



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

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

Provide a copy-assign operator.



[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::operator=](classsysc_1_1InputComplexScalarData.xhtml#a8bea30a09f2c26387e79969ad46ab9cc)

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

Provide a move-assign operator.



[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#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 compex 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 compex 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 compex components.



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

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::PrimitiveType](group__SystemCouplingParticipantAPIs.xhtml#gad3b1c73e4a63f4d292d65f3db875e844)

PrimitiveType

Provide enum for supported primitive types.

**Definition:** [CommonTypes.hpp:211](CommonTypes_8hpp_source.xhtml#l00211)



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

@ Double

**Definition:** [CommonTypes.hpp:213](CommonTypes_8hpp_source.xhtml#l00213)