/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 8 - 2 0 2 1 . Ġdata 2 viz Ġs Ãł rl . Ċ Ġ* Ċ Ġ* Ġ Ġ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 . data 2 viz . scale Ċ Ċ import Ġio . data 2 viz . interpolate . Interpolator Ċ import Ġio . data 2 viz . interpolate . un interpolate Number ĊĊ Ċ /** Ċ Ġ* ĠSequential Ġscales Ġare Ġsimilar Ġto Ġcontinuous Ġscales Ġin Ġthat Ġthey Ġmap Ġa Ġcontinuous Ġnumeric Ġinput Ġdomain Ġto Ġa Ċ Ġ* Ġcontinuous Ġoutput Ġrange . ĠHowever , Ġun like Ġcontinuous Ġscales , Ġthe Ġoutput Ġrange Ġof Ġa Ġsequential Ġscale Ġis Ġfixed Ċ Ġ* Ġby Ġits Ġinterpol ator Ġand Ġnot Ġconfigurable . Ċ Ġ* Ċ Ġ* ĠThese Ġscales Ġdo Ġnot Ġexpose Ġinvert , Ġrange , Ġrange Round Ġand Ġinterpolate Ġmethods . Ċ Ġ*/ Ċ public Ġclass ĠSequential Scale < R > Ċ internal Ġconstructor ( public Ġvar Ġinterpol ator : ĠInterpol ator < R >) Ġ: ĊĊĠĠĠ ĠTick able < Double >, ĊĠĠĠ ĠCl amp able Scale , ĊĠĠĠ ĠStrict ly Continuous Domain < Double > Ġ{ ĊĊĠĠĠ Ġoverride Ġvar Ġdomain : ĠStrict ly Continuous < Double > Ġ= Ġinterval Of ( 0 . 0 , Ġ 1 . 0 ) ĊĊĠĠĠ Ġoverride Ġvar Ġclamp : ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġpublic Ġoperator Ġfun Ġinvoke ( domain Value : ĠInt ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ( domain Value . toDouble ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpublic Ġoperator Ġfun Ġinvoke ( domain Value : ĠDouble ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġun interpol ated Domain Ġ= Ġun interpolate Number ( domain . start , Ġdomain . end )( domain Value ) ĊĠĠĠĠĠĠĠ Ġif Ġ( clamp ) Ġun interpol ated Domain Ġ= Ġun interpol ated Domain . coerce To Default () ĊĠĠĠĠĠĠĠ Ġreturn Ġinterpol ator ( un interpol ated Domain ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġticks ( count : ĠInt ): ĠList < Double > Ġ= Ġio . data 2 viz . math . ticks ( domain . start , Ġdomain . end , Ġcount ) Ċ } ĊĊ