Changeset 826
- Timestamp:
- 11/25/18 20:13:18 (6 years ago)
- Location:
- cpp/frams
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
cpp/frams/Makefile-SDK-files
r800 r826 2 2 3 3 # ALL_DIRS is later expanded by the shell, no spaces/newlines allowed, or it breaks 4 ALL_DIRS={common, frams,frams/canvas,frams/config,common/loggers,frams/genetics,frams/genetics/f0,frams/genetics/f1,frams/genetics/f2,frams/genetics/f3,frams/genetics/f4,frams/genetics/f5,frams/genetics/f6,frams/genetics/f7,frams/genetics/f8,frams/genetics/f9,frams/genetics/fn,frams/genetics/fF,frams/genetics/fT,frams/genetics/fB,frams/genetics/fH,frams/genetics/fL,frams/model,frams/neuro,frams/neuro/impl,frams/param,frams/test,frams/util,frams/vm/classes,common/virtfile,frams/_demos,frams/model/geometry,frams/_demos/geometry,frams/model/similarity,frams/model/similarity/SVD}4 ALL_DIRS={common,PrintFloat,frams,frams/canvas,frams/config,common/loggers,frams/genetics,frams/genetics/f0,frams/genetics/f1,frams/genetics/f2,frams/genetics/f3,frams/genetics/f4,frams/genetics/f5,frams/genetics/f6,frams/genetics/f7,frams/genetics/f8,frams/genetics/f9,frams/genetics/fn,frams/genetics/fF,frams/genetics/fT,frams/genetics/fB,frams/genetics/fH,frams/genetics/fL,frams/model,frams/neuro,frams/neuro/impl,frams/param,frams/test,frams/util,frams/vm/classes,common/virtfile,frams/_demos,frams/model/geometry,frams/_demos/geometry,frams/model/similarity,frams/model/similarity/SVD} 5 5 6 6 GENMANF4=frams/genetics/f4/f4_oper.o … … 29 29 GENMAN_COMMON_OBJS=frams/genetics/genman.o frams/param/mutableparam.o frams/param/mutparamlist.o frams/neuro/geneticneuroparam.o frams/neuro/neurolibparam.o 30 30 31 SDK_OBJS=frams/util/list.o frams/util/advlist.o frams/param/param.o frams/util/sstring.o frams/util/sstringutils.o frams/util/3d.o frams/vm/classes/3dobject.o frams/model/model.o frams/model/modelparts.o frams/neuro/neurolibrary.o frams/genetics/geno.o frams/genetics/genoconv.o frams/util/extvalue.o frams/vm/classes/collectionobj.o frams/util/hashtable.o common/log.o common/stl-util.o common/nonstd_stdio.o frams/util/callbacks.o frams/param/syntparam.o frams/util/multirange.o frams/util/multimap.o frams/param/paramtabobj.o common/loggers/loggers.o frams/param/paramobj.o frams/genetics/genooperators.o common/nonstd_math.o frams/util/validitychecks.o common/Convert.o frams/util/rndutil.o common/virtfile/stringfile.o 31 PRINTFLOAT_OBJS=PrintFloat/Math.o PrintFloat/Dragon4.o PrintFloat/PrintFloat.o 32 33 SDK_OBJS=frams/util/list.o frams/util/advlist.o frams/param/param.o frams/util/sstring.o frams/util/sstringutils.o frams/util/3d.o frams/vm/classes/3dobject.o frams/model/model.o frams/model/modelparts.o frams/neuro/neurolibrary.o frams/genetics/geno.o frams/genetics/genoconv.o frams/util/extvalue.o frams/vm/classes/collectionobj.o frams/util/hashtable.o common/log.o common/stl-util.o common/nonstd_stdio.o frams/util/callbacks.o frams/param/syntparam.o frams/util/multirange.o frams/util/multimap.o frams/param/paramtabobj.o common/loggers/loggers.o frams/param/paramobj.o frams/genetics/genooperators.o common/nonstd_math.o frams/util/validitychecks.o common/Convert.o frams/util/rndutil.o common/virtfile/stringfile.o $(PRINTFLOAT_OBJS) 32 34 33 35 GEOMETRY_OBJS=frams/model/geometry/meshbuilder.o frams/model/geometry/modelgeometryinfo.o frams/model/geometry/geometryutils.o -
cpp/frams/config/sdk_build_config.h
r732 r826 14 14 #endif 15 15 16 #define USE_PRINTFLOAT_DRAGON4 16 17 #define NOCREATUREOBJECT 17 18 #define SDK_WITHOUT_FRAMS -
cpp/frams/util/sstring-simple.cpp
r793 r826 3 3 #include "extvalue.h" 4 4 #include <assert.h> 5 #ifdef USE_PRINTFLOAT_DRAGON4 6 #include <PrintFloat/PrintFloat.h> 7 #endif 5 8 6 9 void SString::initEmpty() … … 224 227 SString SString::valueOf(double d) 225 228 { 226 SString tmp = SString::sprintf("%.15g", d); 229 #ifdef USE_PRINTFLOAT_DRAGON4 230 SString tmp; 231 char* here = tmp.directWrite(30); 232 tmp.endWrite(PrintFloat64(here, 30, d, 233 ((d < -1e17) || (d > 1e17) || ((d < 1e-4) && (d > -1e-4) && (d != 0.0))) 234 ? PrintFloatFormat_Scientific : PrintFloatFormat_Positional, 235 -1));//http://www.ryanjuckett.com/programming/printing-floating-point-numbers/ 236 #else 237 SString tmp = SString::sprintf("%.17g", d); //https://stackoverflow.com/questions/16839658/printf-width-specifier-to-maintain-precision-of-floating-point-value 238 #endif 227 239 if ((!strchr(tmp.c_str(), '.')) && (!strchr(tmp.c_str(), 'e'))) tmp += ".0"; 228 240 return tmp; -
cpp/frams/util/sstring.cpp
r793 r826 23 23 #include "extvalue.h" 24 24 #include <assert.h> 25 #ifdef USE_PRINTFLOAT_DRAGON4 26 #include <PrintFloat/PrintFloat.h> 27 #endif 25 28 26 29 #ifdef MULTITHREADED … … 363 366 SString SString::valueOf(double d) 364 367 { 365 SString tmp = SString::sprintf("%.15g", d); 368 #ifdef USE_PRINTFLOAT_DRAGON4 369 SString tmp; 370 char* here=tmp.directWrite(30); 371 tmp.endWrite(PrintFloat64(here,30,d, 372 ((d<-1e17)||(d>1e17)||((d<1e-4)&&(d>-1e-4)&&(d!=0.0))) 373 ? PrintFloatFormat_Scientific : PrintFloatFormat_Positional, 374 -1));//http://www.ryanjuckett.com/programming/printing-floating-point-numbers/ 375 #else 376 SString tmp = SString::sprintf("%.17g", d); //https://stackoverflow.com/questions/16839658/printf-width-specifier-to-maintain-precision-of-floating-point-value 377 #endif 366 378 if ((!strchr(tmp.c_str(), '.')) && (!strchr(tmp.c_str(), 'e'))) tmp += ".0"; 367 379 return tmp;
Note: See TracChangeset
for help on using the changeset viewer.