12345678910111213141516171819202122232425262728293031323334(**************************************************************************)(* *)(* SPDX-License-Identifier LGPL-2.1 *)(* Copyright (C) *)(* CEA (Commissariat à l'énergie atomique et aux énergies alternatives) *)(* *)(**************************************************************************)typestats={mutablemin:float;mutablemax:float;mutablesum:float;mutablecount:int;}letcreate()={min=infinity;max=neg_infinity;sum=0.;count=0;}letaddsx=s.count<-s.count+1;s.sum<-s.sum+.x;s.min<-mins.minx;s.max<-maxs.maxxletnormf=ifFloat.is_finitefthenfelse0.0letmins=norms.minletmaxs=norms.maxletsums=s.sumletcounts=s.countletaverages=ifs.count=0then0.0elses.sum/.float_of_ints.count