an memeory storage with multi-type/multi-device support
| Storage cytnx::Storage::imag |
( |
| ) |
const |
|
inline |
Get the imaginary part form a Complex type Storage.
[Note] Cannot be called from a real type Storage.
Example:
c++ API:
#include <iostream>
using namespace std;
for(
unsigned int i=0;
i<
S1.size();
i++){
}
for(
unsigned int i=0;
i<
S1.size();
i++){
}
return 0;
}
Storage imag() const
Get the imaginary part form a Complex type Storage.
Definition Storage.hpp:1374
std::complex< double > cytnx_complex128
Definition Type.hpp:30
std::complex< float > cytnx_complex64
Definition Type.hpp:29
output>
dtype : Complex Double (Complex Float64)
device: cytnx device: CPU
size : 10
[ 0.00000e+00+1.00000e+00j 1.00000e+00+2.00000e+00j 2.00000e+00+3.00000e+00j 3.00000e+00+4.00000e+00j 4.00000e+00+5.00000e+00j 5.00000e+00+6.00000e+00j 6.00000e+00+7.00000e+00j 7.00000e+00+8.00000e+00j 8.00000e+00+9.00000e+00j 9.00000e+00+1.00000e+01j ]
dtype : Double (Float64)
device: cytnx device: CPU
size : 10
[ 1.00000e+00 2.00000e+00 3.00000e+00 4.00000e+00 5.00000e+00 6.00000e+00 7.00000e+00 8.00000e+00 9.00000e+00 1.00000e+01 ]
dtype : Complex Float (Complex Float32)
device: cytnx device: CPU
size : 10
[ 0.00000e+00+2.00000e+00j 1.00000e+00+3.00000e+00j 2.00000e+00+4.00000e+00j 3.00000e+00+5.00000e+00j 4.00000e+00+6.00000e+00j 5.00000e+00+7.00000e+00j 6.00000e+00+8.00000e+00j 7.00000e+00+9.00000e+00j 8.00000e+00+1.00000e+01j 9.00000e+00+1.10000e+01j ]
dtype : Float32
device: cytnx device: CPU
size : 10
[ 2.00000e+00 3.00000e+00 4.00000e+00 5.00000e+00 6.00000e+00 7.00000e+00 8.00000e+00 9.00000e+00 1.00000e+01 1.10000e+01 ]
python API:
from cytnx import *
S1 = Storage(10,Type.ComplexDouble)
for i in range(10):
S1[i] = i + 1j*(i+1)
S1r = S1.imag()
print(S1)
print(S1r)
S2 = Storage(10,Type.ComplexFloat)
for i in range(10):
S2[i] = i + 1j*(i+1)
S2r = S2.imag()
print(S2)
print(S2r)
output>
dtype : Complex Double (Complex Float64)
device: cytnx device: CPU
size : 10
[ 0.00000e+00+1.00000e+00j 1.00000e+00+2.00000e+00j 2.00000e+00+3.00000e+00j 3.00000e+00+4.00000e+00j 4.00000e+00+5.00000e+00j 5.00000e+00+6.00000e+00j 6.00000e+00+7.00000e+00j 7.00000e+00+8.00000e+00j 8.00000e+00+9.00000e+00j 9.00000e+00+1.00000e+01j ]
dtype : Double (Float64)
device: cytnx device: CPU
size : 10
[ 1.00000e+00 2.00000e+00 3.00000e+00 4.00000e+00 5.00000e+00 6.00000e+00 7.00000e+00 8.00000e+00 9.00000e+00 1.00000e+01 ]
dtype : Complex Float (Complex Float32)
device: cytnx device: CPU
size : 10
[ 0.00000e+00+1.00000e+00j 1.00000e+00+2.00000e+00j 2.00000e+00+3.00000e+00j 3.00000e+00+4.00000e+00j 4.00000e+00+5.00000e+00j 5.00000e+00+6.00000e+00j 6.00000e+00+7.00000e+00j 7.00000e+00+8.00000e+00j 8.00000e+00+9.00000e+00j 9.00000e+00+1.00000e+01j ]
dtype : Float32
device: cytnx device: CPU
size : 10
[ 1.00000e+00 2.00000e+00 3.00000e+00 4.00000e+00 5.00000e+00 6.00000e+00 7.00000e+00 8.00000e+00 9.00000e+00 1.00000e+01 ]
| Storage cytnx::Storage::real |
( |
| ) |
const |
|
inline |
Get the real part form a Complex type Storage.
[Note] Cannot be called from a real type Storage.
Example:
c++ API:
#include <iostream>
using namespace std;
for(
unsigned int i=0;
i<
S1.size();
i++){
}
for(
unsigned int i=0;
i<
S1.size();
i++){
}
return 0;
}
Storage real() const
Get the real part form a Complex type Storage.
Definition Storage.hpp:1356
output>
dtype : Complex Double (Complex Float64)
device: cytnx device: CPU
size : 10
[ 0.00000e+00+1.00000e+00j 1.00000e+00+2.00000e+00j 2.00000e+00+3.00000e+00j 3.00000e+00+4.00000e+00j 4.00000e+00+5.00000e+00j 5.00000e+00+6.00000e+00j 6.00000e+00+7.00000e+00j 7.00000e+00+8.00000e+00j 8.00000e+00+9.00000e+00j 9.00000e+00+1.00000e+01j ]
dtype : Double (Float64)
device: cytnx device: CPU
size : 10
[ 0.00000e+00 1.00000e+00 2.00000e+00 3.00000e+00 4.00000e+00 5.00000e+00 6.00000e+00 7.00000e+00 8.00000e+00 9.00000e+00 ]
dtype : Complex Float (Complex Float32)
device: cytnx device: CPU
size : 10
[ 0.00000e+00+2.00000e+00j 1.00000e+00+3.00000e+00j 2.00000e+00+4.00000e+00j 3.00000e+00+5.00000e+00j 4.00000e+00+6.00000e+00j 5.00000e+00+7.00000e+00j 6.00000e+00+8.00000e+00j 7.00000e+00+9.00000e+00j 8.00000e+00+1.00000e+01j 9.00000e+00+1.10000e+01j ]
dtype : Float32
device: cytnx device: CPU
size : 10
[ 0.00000e+00 1.00000e+00 2.00000e+00 3.00000e+00 4.00000e+00 5.00000e+00 6.00000e+00 7.00000e+00 8.00000e+00 9.00000e+00 ]
python API:
from cytnx import *
S1 = Storage(10,Type.ComplexDouble)
for i in range(10):
S1[i] = i + 1j*(i+1)
S1r = S1.real()
print(S1)
print(S1r)
S2 = Storage(10,Type.ComplexFloat)
for i in range(10):
S2[i] = i + 1j*(i+1)
S2r = S2.real()
print(S2)
print(S2r)
output>
dtype : Complex Double (Complex Float64)
device: cytnx device: CPU
size : 10
[ 0.00000e+00+1.00000e+00j 1.00000e+00+2.00000e+00j 2.00000e+00+3.00000e+00j 3.00000e+00+4.00000e+00j 4.00000e+00+5.00000e+00j 5.00000e+00+6.00000e+00j 6.00000e+00+7.00000e+00j 7.00000e+00+8.00000e+00j 8.00000e+00+9.00000e+00j 9.00000e+00+1.00000e+01j ]
dtype : Double (Float64)
device: cytnx device: CPU
size : 10
[ 0.00000e+00 1.00000e+00 2.00000e+00 3.00000e+00 4.00000e+00 5.00000e+00 6.00000e+00 7.00000e+00 8.00000e+00 9.00000e+00 ]
dtype : Complex Float (Complex Float32)
device: cytnx device: CPU
size : 10
[ 0.00000e+00+1.00000e+00j 1.00000e+00+2.00000e+00j 2.00000e+00+3.00000e+00j 3.00000e+00+4.00000e+00j 4.00000e+00+5.00000e+00j 5.00000e+00+6.00000e+00j 6.00000e+00+7.00000e+00j 7.00000e+00+8.00000e+00j 8.00000e+00+9.00000e+00j 9.00000e+00+1.00000e+01j ]
dtype : Float32
device: cytnx device: CPU
size : 10
[ 0.00000e+00 1.00000e+00 2.00000e+00 3.00000e+00 4.00000e+00 5.00000e+00 6.00000e+00 7.00000e+00 8.00000e+00 9.00000e+00 ]