package Ġorg . vit riv r . cott ont ail . dbms . statistics . columns Ċ Ċ import Ġjet brains . ex od us . bindings . Boolean Binding Ċ import Ġjet brains . ex od us . bindings . Long Binding Ċ import Ġjet brains . ex od us . bindings . Signed Double Binding Ċ import Ġjet brains . ex od us . util . Light OutputStream Ċ import Ġorg . vit riv r . cott ont ail . core . values . Double Value Ċ import Ġorg . vit riv r . cott ont ail . core . values . Long Value Ċ import Ġorg . vit riv r . cott ont ail . core . values . types . Types Ċ import Ġorg . vit riv r . cott ont ail . storage . serializers . statistics . x od us . X od us Binding Ċ import Ġjava . io . ByteArray InputStream Ċ import Ġjava . lang . Long . max Ċ import Ġjava . lang . Long . min Ċ Ċ /** Ċ Ġ* ĠA Ġ[ Value Statistics ] Ġimplementation Ġfor Ġ[ Long Value ] s . Ċ Ġ* Ċ Ġ* Ġ@ author ĠR alph ĠG asser Ċ Ġ* Ġ@ version Ġ 1 . 2 . 0 Ċ Ġ*/ Ċ class ĠLong Value Statistics Ġ: ĠAbstract Value Statistics < Long Value >( Types . Long ), ĠReal Value Statistics < Long Value > Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠX od us Ġserializer Ġfor Ġ[ Long Value Statistics ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġobject ĠBinding : ĠX od us Binding < Long Value Statistics > Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġread ( stream : ĠByteArrayInputStream ): ĠLong Value Statistics Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstat Ġ= ĠLong Value Statistics () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstat . fresh Ġ= ĠBoolean Binding . BINDING . read Object ( stream ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstat . numberOf Null Entries Ġ= ĠLong Binding . read Compressed ( stream ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstat . numberOf NonNull Entries Ġ= ĠLong Binding . read Compressed ( stream ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstat . min Ġ= ĠLong Value ( Long Binding . BINDING . read Object ( stream )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstat . max Ġ= ĠLong Value ( Long Binding . BINDING . read Object ( stream )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstat . sum Ġ= ĠDouble Value ( Signed Double Binding . BINDING . read Object ( stream )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġstat ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġwrite ( output : ĠLight OutputStream , Ġstatistics : ĠLong Value Statistics ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBoolean Binding . BINDING . write Object ( output , Ġstatistics . fresh ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLong Binding . write Compressed ( output , Ġstatistics . numberOf Null Entries ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLong Binding . write Compressed ( output , Ġstatistics . numberOf NonNull Entries ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLong Binding . BINDING . write Object ( output , Ġstatistics . min . value ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLong Binding . BINDING . write Object ( output , Ġstatistics . max . value ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSigned Double Binding . BINDING . write Object ( output , Ġstatistics . sum . value ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĠMinimum Ġvalue Ġseen Ġby Ġthis Ġ[ Long Value Statistics ]. Ġ*/ ĊĠĠĠ Ġoverride Ġvar Ġmin : ĠLong Value Ġ= ĠLong Value . MAX _ VALUE ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĊĠĠĠ Ġ/** ĠMinimum Ġvalue Ġseen Ġby Ġthis Ġ[ Long Value Statistics ]. Ġ*/ ĊĠĠĠ Ġoverride Ġvar Ġmax : ĠLong Value Ġ= ĠLong Value . MIN _ VALUE ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĊĠĠĠ Ġ/** ĠSum Ġof Ġall Ġ[ Long Value ] s Ġseen Ġby Ġthis Ġ[ Long Value Statistics ]. Ġ*/ ĊĠĠĠ Ġoverride Ġvar Ġsum : ĠDouble Value Ġ= ĠDouble Value . ZERO ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠUpdates Ġthis Ġ[ Long Value Statistics ] Ġwith Ġan Ġinserted Ġ[ Long Value ] ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġinserted ĠThe Ġ[ Long Value ] Ġthat Ġwas Ġinserted . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġinsert ( inserted : ĠLong Value ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . insert ( inserted ) ĊĠĠĠĠĠĠĠ Ġif Ġ( inserted Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . min Ġ= ĠLong Value ( min ( inserted . value , Ġthis . min . value )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . max Ġ= ĠLong Value ( max ( inserted . value , Ġthis . max . value )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠUpdates Ġthis Ġ[ Long Value Statistics ] Ġwith Ġa Ġdeleted Ġ[ Long Value ] ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġdeleted ĠThe Ġ[ Long Value ] Ġthat Ġwas Ġdeleted . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġdelete ( deleted : ĠLong Value ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . delete ( deleted ) ĊĊĠĠĠĠĠĠĠ Ġ/* ĠWe Ġcannot Ġcreate Ġa Ġsensible Ġestimate Ġif Ġa Ġvalue Ġis Ġdeleted . Ġ*/ ĊĠĠĠĠĠĠĠ Ġif Ġ( this . min Ġ== Ġdeleted Ġ|| Ġthis . max Ġ== Ġdeleted ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . fresh Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRe sets Ġthis Ġ[ Long Value Statistics ] Ġand Ġsets Ġall Ġits Ġvalues Ġto Ġto Ġthe Ġdefault Ġvalue . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġreset () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . reset () ĊĠĠĠĠĠĠĠ Ġthis . min Ġ= ĠLong Value . MAX _ VALUE ĊĠĠĠĠĠĠĠ Ġthis . max Ġ= ĠLong Value . MIN _ VALUE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCop ies Ġthis Ġ[ Long Value Statistics ] Ġand Ġreturns Ġit . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return ĠCopy Ġof Ġthis Ġ[ Long Value Statistics ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġcopy (): ĠLong Value Statistics Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcopy Ġ= ĠLong Value Statistics () ĊĠĠĠĠĠĠĠ Ġcopy . fresh Ġ= Ġthis . fresh ĊĠĠĠĠĠĠĠ Ġcopy . numberOf Null Entries Ġ= Ġthis . numberOf Null Entries ĊĠĠĠĠĠĠĠ Ġcopy . numberOf NonNull Entries Ġ= Ġthis . numberOf NonNull Entries ĊĠĠĠĠĠĠĠ Ġcopy . min Ġ= Ġthis . min ĊĠĠĠĠĠĠĠ Ġcopy . max Ġ= Ġthis . max ĊĠĠĠĠĠĠĠ Ġreturn Ġcopy ĊĠĠĠ Ġ} Ċ }