/* Ċ Ġ* ĠCopyright Ġ 2 0 1 9 ĠL ars ĠT enn st ed t Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġio . github . lt enn st ed t . fin n math . linear . matrix Ċ Ċ /** Ċ Ġ* ĠImmutable Ġimplementation Ġof Ġa Ġmatrix Ġentry Ċ Ġ* Ċ Ġ* Ġ@ param ĠE Ġtype Ġof Ġthe Ġelement Ċ Ġ* Ġ@ property ĠrowIndex Ġrow Ġindex Ċ Ġ* Ġ@ property ĠcolumnIndex Ġcolumn Ġindex Ċ Ġ* Ġ@ property Ġelement Ġelement Ċ Ġ* Ġ@ constructor ĠConstructs Ġa Ġ[ Matrix Entry ] Ċ Ġ* Ġ@ throws ĠIllegalArgumentException Ġif Ġ[ rowIndex ] Ġ< Ġ 1 Ċ Ġ* Ġ@ throws ĠIllegalArgumentException Ġif Ġ[ column Index ] Ġ< Ġ 1 Ċ Ġ* Ġ@ author ĠL ars ĠT enn st ed t Ċ Ġ* Ġ@ since Ġ 0 . 0 . 1 Ċ Ġ*/ Ċ public Ġdata Ġclass ĠMatrix Entry < E Ġ: ĠNumber >( ĊĠĠĠ Ġval ĠrowIndex : ĠInt , ĊĠĠĠ Ġval ĠcolumnIndex : ĠInt , ĊĠĠĠ Ġval Ġelement : ĠE Ċ ) Ġ: ĠComparable < Matrix Entry < E >> Ġ{ ĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġrequire ( rowIndex Ġ> Ġ 0 ) Ġ{ Ġ" expected ĠrowIndex Ġ> Ġ 0 Ġbut ĠrowIndex Ġ= Ġ$ rowIndex " Ġ} ĊĠĠĠĠĠĠĠ Ġrequire ( column Index Ġ> Ġ 0 ) Ġ{ Ġ" expected ĠcolumnIndex Ġ> Ġ 0 Ġbut ĠcolumnIndex Ġ= Ġ$ column Index " Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcompare To ( other : ĠMatrix Entry < E >): ĠInt Ġ= ĠCOMP AR ATOR . compare ( this , Ġother ) ĊĊĠĠĠ Ġpublic Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ[ Comparator ] ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ since Ġ 0 . 0 . 1 ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Field ĊĠĠĠĠĠĠĠ Ġpublic Ġval ĠCOMP AR ATOR : ĠComparator < Matrix Entry <* >> Ġ= Ġcompare By ({ Ġit . rowIndex Ġ}, Ġ{ Ġit . column Index Ġ}) ĊĠĠĠ Ġ} Ċ } Ċ