FACT++  1.0
string Tools::Scientific ( uint64_t  val)

Definition at line 148 of file tools.cc.

Referenced by StateMachineSmartFACT::Execute(), and FitsDumper::Format().

149 {
150  ostringstream rc;
151  rc << setprecision(1) << fixed;
152 
153  if (val<1000)
154  {
155  rc << val << " ";
156  return rc.str();
157  }
158 
159  if (val<3000)
160  {
161  rc << val/1000. << " k";
162  return rc.str();
163  }
164 
165  if (val<1000000)
166  {
167  rc << val/1000 << " k";
168  return rc.str();
169  }
170 
171  if (val<3000000)
172  {
173  rc << val/1000000. << " M";
174  return rc.str();
175  }
176 
177  if (val<1000000000)
178  {
179  rc << val/1000000 << " M";
180  return rc.str();
181  }
182 
183  if (val<3000000000)
184  {
185  rc << val/1000000000. << " G";
186  return rc.str();
187  }
188 
189  if (val<1000000000000)
190  {
191  rc << val/1000000000 << " G";
192  return rc.str();
193  }
194 
195  if (val<3000000000000)
196  {
197  rc << val/1000000000000. << " T";
198  return rc.str();
199  }
200 
201  if (val<1000000000000000)
202  {
203  rc << val/1000000000000 << " T";
204  return rc.str();
205  }
206 
207  if (val<3000000000000000)
208  {
209  rc << val/1000000000000000. << " P";
210  return rc.str();
211  }
212 
213  rc << val/1000000000000000. << " P";
214  return rc.str();
215 }

+ Here is the caller graph for this function: