};
BoolOptionBox strictNameSpaces
{
- rightPane, this, position = { 172, 112 },
+ rightPane, this, position = { 172, 112 },
text = $"Strict Name Spaces", option = OPTION(strictNameSpaces);
};
+ BoolOptionBox fastMath
+ {
+ rightPane, this, position = { 316, 112 },
+ text = $"Fast Math", option = OPTION(fastMath);
+ };
+
BoolOptionBox memoryGuard
{
rightPane, this, position = { 8, 154 };
options =
{
optimization = speed;
+ fastMath = true;
debug = false;
};
makingModified = true;
options =
{
optimization = speed;
+ fastMath = true;
debug = false;
};
makingModified = true;
define localOptimization = config && config.options && config.options.optimization ?
config.options.optimization : options && options.optimization ?
options.optimization : OptimizationStrategy::none;
+define localFastMath = config && config.options && config.options.fastMath ?
+ config.options.fastMath : options && options.fastMath ?
+ options.fastMath : SetBool::unset;
define localDefaultNameSpace = config && config.options && config.options.defaultNameSpace ?
config.options.defaultNameSpace : options && options.defaultNameSpace ?
options.defaultNameSpace : null;
return optimization;
}
+ bool GetFastMath(ProjectConfig config)
+ {
+ SetBool fastMath = localFastMath;
+ return fastMath == true;
+ }
+
String GetDefaultNameSpace(ProjectConfig config)
{
String defaultNameSpace = localDefaultNameSpace;
{
case speed:
f.Printf(" -O2");
- f.Printf(" -ffast-math");
break;
case size:
f.Printf(" -Os");
break;
}
+ if(GetFastMath(config))
+ f.Printf(" -ffast-math");
if(GetDebug(config))
f.Printf(" -g");
f.Printf("\n");
SetBool excludeFromBuild;
BuildBitDepth buildBitDepth;
+ SetBool fastMath;
property Array<String> prebuildCommands
{
console = console,
compress = compress,
excludeFromBuild = excludeFromBuild,
+ fastMath = fastMath,
preprocessorDefinitions = CopyArrayString(preprocessorDefinitions),
includeDirs = CopyArrayString(includeDirs),
libraries = CopyArrayString(libraries),