package Ġorg . jetbrains . kotlin x . mult ik . ndarray . complex Ċ Ċ import Ġorg . jetbrains . kotlin x . mult ik . api . d 2 array Indices Ċ import Ġorg . jetbrains . kotlin x . mult ik . api . mk Ċ import Ġorg . jetbrains . kotlin x . mult ik . api . ndarray Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assertEquals Ċ import Ġkotlin . test . assertTrue Ċ Ċ class ĠComplex Multi Array Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` re Ġand Ġim Ġproperties Ġreturns Ġreal Ġand Ġimag inary Ġportion Ġof Ġfloat Ġcomplex Ġnumber Ġarray `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcomplex Ġ= Ġmk . d 2 array Indices ( 3 , Ġ 3 ) Ġ{ Ġi , Ġj Ġ-> ĠComplex Float ( i , Ġj ) Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġreal Ġ= Ġcomplex . re ĊĠĠĠĠĠĠĠ Ġval Ġim Ġ= Ġcomplex . im ĊĠĠĠĠĠĠĠ Ġval Ġexpected Real Ġ= Ġmk . d 2 array Indices ( 3 , Ġ 3 ) Ġ{ Ġi , Ġj Ġ-> Ġi . toFloat () Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġexpected Im Ġ= Ġmk . d 2 array Indices ( 3 , Ġ 3 ) Ġ{ Ġi , Ġj Ġ-> Ġj . toFloat () Ġ} ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( complex . shape , Ġreal . shape ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( complex . shape , Ġim . shape ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected Real , Ġreal ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected Im , Ġim ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` re Ġand Ġim Ġproperties Ġreturns Ġreal Ġand Ġimag inary Ġportion Ġof Ġdouble Ġcomplex Ġnumber Ġarray `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcomplex Ġ= Ġmk . d 2 array Indices ( 3 , Ġ 3 ) Ġ{ Ġi , Ġj Ġ-> ĠComplex Double ( i , Ġj ) Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġreal Ġ= Ġcomplex . re ĊĠĠĠĠĠĠĠ Ġval Ġim Ġ= Ġcomplex . im ĊĠĠĠĠĠĠĠ Ġval Ġexpected Real Ġ= Ġmk . d 2 array Indices ( 3 , Ġ 3 ) Ġ{ Ġi , Ġj Ġ-> Ġi . toDouble () Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġexpected Im Ġ= Ġmk . d 2 array Indices ( 3 , Ġ 3 ) Ġ{ Ġi , Ġj Ġ-> Ġj . toDouble () Ġ} ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( complex . shape , Ġreal . shape ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( complex . shape , Ġim . shape ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected Real , Ġreal ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected Im , Ġim ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` re Ġand Ġim Ġproperties Ġwork Ġfor Ġempty Ġcomplex Ġdouble Ġarrays `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcomplex Ġ= Ġmk . ndarray ( emptyList < Complex Double >()) ĊĠĠĠĠĠĠĠ Ġval Ġreal Ġ= Ġcomplex . re ĊĠĠĠĠĠĠĠ Ġval Ġim Ġ= Ġcomplex . im ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( complex . shape , Ġreal . shape ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( complex . shape , Ġim . shape ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( real . isEmpty ()) ĊĠĠĠĠĠĠĠ ĠassertTrue ( im . isEmpty ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` re Ġand Ġim Ġproperties Ġwork Ġfor Ġempty Ġcomplex Ġfloat Ġarrays `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcomplex Ġ= Ġmk . ndarray ( emptyList < Complex Float >()) ĊĠĠĠĠĠĠĠ Ġval Ġreal Ġ= Ġcomplex . re ĊĠĠĠĠĠĠĠ Ġval Ġim Ġ= Ġcomplex . im ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( complex . shape , Ġreal . shape ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( complex . shape , Ġim . shape ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( real . isEmpty ()) ĊĠĠĠĠĠĠĠ ĠassertTrue ( im . isEmpty ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` conj Ġreturns Ġarray Ġof Ġconj ug ated Ġcomplex Ġdouble s `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcomplex Ġ= Ġmk . d 2 array Indices ( 3 , Ġ 3 ) Ġ{ Ġi , Ġj Ġ-> ĠComplex Double ( i , Ġj ) Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġmk . d 2 array Indices ( 3 , Ġ 3 ) Ġ{ Ġi , Ġj Ġ-> ĠComplex Double ( i , Ġ- j ) Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġcomplex . conj () ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( complex . shape , Ġactual . shape ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected , Ġactual ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` conj Ġreturns Ġarray Ġof Ġconj ug ated Ġcomplex Ġfloats `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcomplex Ġ= Ġmk . d 2 array Indices ( 3 , Ġ 3 ) Ġ{ Ġi , Ġj Ġ-> ĠComplex Float ( i , Ġj ) Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġmk . d 2 array Indices ( 3 , Ġ 3 ) Ġ{ Ġi , Ġj Ġ-> ĠComplex Float ( i , Ġ- j ) Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġcomplex . conj () ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( complex . shape , Ġactual . shape ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected , Ġactual ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` conj Ġfor Ġempty Ġcomplex Ġfloat Ġarrays `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcomplex Ġ= Ġmk . ndarray ( emptyList < Complex Float >()) ĊĠĠĠĠĠĠĠ Ġval Ġconj Ġ= Ġcomplex . conj () ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( complex . shape , Ġconj . shape ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( conj . isEmpty ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` conj Ġfor Ġempty Ġcomplex Ġdouble Ġarrays `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcomplex Ġ= Ġmk . ndarray ( emptyList < Complex Double >()) ĊĠĠĠĠĠĠĠ Ġval Ġconj Ġ= Ġcomplex . conj () ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( complex . shape , Ġconj . shape ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( conj . isEmpty ()) ĊĠĠĠ Ġ} ĊĊ Ċ } Ċ