uCalc API Version: 5.7.0-preview.1 Released: 7/30/2026
Warning
uCalc API Preview Release Notice:This preview documentation describes the intended behavior of the API. It is not fully accurate or complete.The current preview build contains incomplete features, unoptimized performance, and is subject to breaking changes.Use of the preview version in your production code is not recommended.
Product:
Class:
Sets or unsets this data type as the engine's default for implicit typing.
This property sets the data type for the current object as the default for its parent uCalc instance. It is a convenient shortcut for calling uCalc.DefaultDataType.
By default, uCalc uses Double as the data type for any variable or function parameter that is not explicitly typed. This method allows you to change that default.
myIntType.IsDefault(true) is equivalent to calling uc.DefaultDataType(myIntType).myIntType.IsDefault(false) reverts the default data type back to Double if myIntType was the active default.To check if a data type is the current default, use the getter overload: IsDefault().
Changing the default is useful when an application's logic is primarily centered around a specific data type:
Int32 or Int64 avoids floating-point inaccuracies and can simplify code.String the default can be more intuitive.Decimal or a custom high-precision numeric type as the default.vs. C# var / C++ auto: In these languages, type is inferred from an initialization value (e.g., var x = 5; becomes an int). uCalc does this too, but if a variable is defined without an initial value (e.g., uc.DefineVariable("x")), it must fall back to a default type. This method controls that fallback.
vs. Visual Basic Option Strict Off: In VB, an untyped variable often defaults to Object. uCalc's approach is more specialized for mathematical and parsing contexts, defaulting to Double for performance and convenience in numerical calculations unless configured otherwise.
ID: 89
using uCalcSoftware;
var uc = new uCalc();
Console.WriteLine(uc.DataTypeOf("double").IsDefault);
Console.WriteLine(uc.DataTypeOf("int64").IsDefault);
Console.WriteLine(uc.DefaultDataType.Name);
Console.WriteLine("---");
uc.DataTypeOf("int64").IsDefault = true;
Console.WriteLine(uc.DataTypeOf("double").IsDefault);
Console.WriteLine(uc.DataTypeOf("int64").IsDefault);
Console.WriteLine(uc.DefaultDataType.Name);
Console.WriteLine("---");
uc.DataTypeOf("int64").IsDefault = false;
Console.WriteLine(uc.DataTypeOf("double").IsDefault);
Console.WriteLine(uc.DataTypeOf("int64").IsDefault);
Console.WriteLine(uc.DefaultDataType.Name);
True
False
double
---
False
True
int64
---
True
False
double using uCalcSoftware; var uc = new uCalc(); Console.WriteLine(uc.DataTypeOf("double").IsDefault); Console.WriteLine(uc.DataTypeOf("int64").IsDefault); Console.WriteLine(uc.DefaultDataType.Name); Console.WriteLine("---"); uc.DataTypeOf("int64").IsDefault = true; Console.WriteLine(uc.DataTypeOf("double").IsDefault); Console.WriteLine(uc.DataTypeOf("int64").IsDefault); Console.WriteLine(uc.DefaultDataType.Name); Console.WriteLine("---"); uc.DataTypeOf("int64").IsDefault = false; Console.WriteLine(uc.DataTypeOf("double").IsDefault); Console.WriteLine(uc.DataTypeOf("int64").IsDefault); Console.WriteLine(uc.DefaultDataType.Name);
#include
#include "uCalc.h"
using namespace std;
using namespace uCalcSoftware;
#define tf(IsTrue) ((IsTrue) ? "True" : "False")
int main() {
uCalc uc;
cout << tf(uc.DataTypeOf("double").IsDefault()) << endl;
cout << tf(uc.DataTypeOf("int64").IsDefault()) << endl;
cout << uc.DefaultDataType().Name() << endl;
cout << "---" << endl;
uc.DataTypeOf("int64").IsDefault(true);
cout << tf(uc.DataTypeOf("double").IsDefault()) << endl;
cout << tf(uc.DataTypeOf("int64").IsDefault()) << endl;
cout << uc.DefaultDataType().Name() << endl;
cout << "---" << endl;
uc.DataTypeOf("int64").IsDefault(false);
cout << tf(uc.DataTypeOf("double").IsDefault()) << endl;
cout << tf(uc.DataTypeOf("int64").IsDefault()) << endl;
cout << uc.DefaultDataType().Name() << endl;
}
True
False
double
---
False
True
int64
---
True
False
double #include <iostream> #include "uCalc.h" using namespace std; using namespace uCalcSoftware; #define tf(IsTrue) ((IsTrue) ? "True" : "False") int main() { uCalc uc; cout << tf(uc.DataTypeOf("double").IsDefault()) << endl; cout << tf(uc.DataTypeOf("int64").IsDefault()) << endl; cout << uc.DefaultDataType().Name() << endl; cout << "---" << endl; uc.DataTypeOf("int64").IsDefault(true); cout << tf(uc.DataTypeOf("double").IsDefault()) << endl; cout << tf(uc.DataTypeOf("int64").IsDefault()) << endl; cout << uc.DefaultDataType().Name() << endl; cout << "---" << endl; uc.DataTypeOf("int64").IsDefault(false); cout << tf(uc.DataTypeOf("double").IsDefault()) << endl; cout << tf(uc.DataTypeOf("int64").IsDefault()) << endl; cout << uc.DefaultDataType().Name() << endl; }
Imports System
Imports uCalcSoftware
Public Module Program
Public Sub Main()
Dim uc As New uCalc()
Console.WriteLine(uc.DataTypeOf("double").IsDefault)
Console.WriteLine(uc.DataTypeOf("int64").IsDefault)
Console.WriteLine(uc.DefaultDataType.Name)
Console.WriteLine("---")
uc.DataTypeOf("int64").IsDefault = true
Console.WriteLine(uc.DataTypeOf("double").IsDefault)
Console.WriteLine(uc.DataTypeOf("int64").IsDefault)
Console.WriteLine(uc.DefaultDataType.Name)
Console.WriteLine("---")
uc.DataTypeOf("int64").IsDefault = false
Console.WriteLine(uc.DataTypeOf("double").IsDefault)
Console.WriteLine(uc.DataTypeOf("int64").IsDefault)
Console.WriteLine(uc.DefaultDataType.Name)
End Sub
End Module
True
False
double
---
False
True
int64
---
True
False
double Imports System Imports uCalcSoftware Public Module Program Public Sub Main() Dim uc As New uCalc() Console.WriteLine(uc.DataTypeOf("double").IsDefault) Console.WriteLine(uc.DataTypeOf("int64").IsDefault) Console.WriteLine(uc.DefaultDataType.Name) Console.WriteLine("---") uc.DataTypeOf("int64").IsDefault = true Console.WriteLine(uc.DataTypeOf("double").IsDefault) Console.WriteLine(uc.DataTypeOf("int64").IsDefault) Console.WriteLine(uc.DefaultDataType.Name) Console.WriteLine("---") uc.DataTypeOf("int64").IsDefault = false Console.WriteLine(uc.DataTypeOf("double").IsDefault) Console.WriteLine(uc.DataTypeOf("int64").IsDefault) Console.WriteLine(uc.DefaultDataType.Name) End Sub End Module
ID: 530
using uCalcSoftware;
var uc = new uCalc();
var intType = uc.DataTypeOf("Int32");
intType.IsDefault = true;
// Define a variable without specifying a type or initial value.
var myVar = uc.DefineVariable("myVar");
// Check the variable's type.
Console.WriteLine($"Default type is now: {uc.DefaultDataType.Name}");
Console.WriteLine($"myVar's type is: {myVar.DataType.Name}");
Default type is now: int
myVar's type is: int using uCalcSoftware; var uc = new uCalc(); var intType = uc.DataTypeOf("Int32"); intType.IsDefault = true; // Define a variable without specifying a type or initial value. var myVar = uc.DefineVariable("myVar"); // Check the variable's type. Console.WriteLine($"Default type is now: {uc.DefaultDataType.Name}"); Console.WriteLine($"myVar's type is: {myVar.DataType.Name}");
#include
#include "uCalc.h"
using namespace std;
using namespace uCalcSoftware;
int main() {
uCalc uc;
auto intType = uc.DataTypeOf("Int32");
intType.IsDefault(true);
// Define a variable without specifying a type or initial value.
auto myVar = uc.DefineVariable("myVar");
// Check the variable's type.
cout << "Default type is now: " << uc.DefaultDataType().Name() << endl;
cout << "myVar's type is: " << myVar.DataType().Name() << endl;
}
Default type is now: int
myVar's type is: int #include <iostream> #include "uCalc.h" using namespace std; using namespace uCalcSoftware; int main() { uCalc uc; auto intType = uc.DataTypeOf("Int32"); intType.IsDefault(true); // Define a variable without specifying a type or initial value. auto myVar = uc.DefineVariable("myVar"); // Check the variable's type. cout << "Default type is now: " << uc.DefaultDataType().Name() << endl; cout << "myVar's type is: " << myVar.DataType().Name() << endl; }
Imports System
Imports uCalcSoftware
Public Module Program
Public Sub Main()
Dim uc As New uCalc()
Dim intType = uc.DataTypeOf("Int32")
intType.IsDefault = true
'// Define a variable without specifying a type or initial value.
Dim myVar = uc.DefineVariable("myVar")
'// Check the variable's type.
Console.WriteLine($"Default type is now: {uc.DefaultDataType.Name}")
Console.WriteLine($"myVar's type is: {myVar.DataType.Name}")
End Sub
End Module
Default type is now: int
myVar's type is: int Imports System Imports uCalcSoftware Public Module Program Public Sub Main() Dim uc As New uCalc() Dim intType = uc.DataTypeOf("Int32") intType.IsDefault = true '// Define a variable without specifying a type or initial value. Dim myVar = uc.DefineVariable("myVar") '// Check the variable's type. Console.WriteLine($"Default type is now: {uc.DefaultDataType.Name}") Console.WriteLine($"myVar's type is: {myVar.DataType.Name}") End Sub End Module
ID: 532
using uCalcSoftware;
var uc = new uCalc();
// Initial state: Double is the default
Console.WriteLine($"Double is default: {uc.DataTypeOf("double").IsDefault}");
Console.WriteLine($"Int64 is default: {uc.DataTypeOf("int64").IsDefault}");
Console.WriteLine($"Current default: {uc.DefaultDataType.Name}");
Console.WriteLine("---");
// Set Int64 as the default
uc.DataTypeOf("int64").IsDefault = true;
Console.WriteLine($"Double is default: {uc.DataTypeOf("double").IsDefault}");
Console.WriteLine($"Int64 is default: {uc.DataTypeOf("int64").IsDefault}");
Console.WriteLine($"Current default: {uc.DefaultDataType.Name}");
Console.WriteLine("---");
// Revert back to Double by un-setting Int64
uc.DataTypeOf("int64").IsDefault = false;
Console.WriteLine($"Double is default: {uc.DataTypeOf("double").IsDefault}");
Console.WriteLine($"Int64 is default: {uc.DataTypeOf("int64").IsDefault}");
Console.WriteLine($"Current default: {uc.DefaultDataType.Name}");
Double is default: True
Int64 is default: False
Current default: double
---
Double is default: False
Int64 is default: True
Current default: int64
---
Double is default: True
Int64 is default: False
Current default: double using uCalcSoftware; var uc = new uCalc(); // Initial state: Double is the default Console.WriteLine($"Double is default: {uc.DataTypeOf("double").IsDefault}"); Console.WriteLine($"Int64 is default: {uc.DataTypeOf("int64").IsDefault}"); Console.WriteLine($"Current default: {uc.DefaultDataType.Name}"); Console.WriteLine("---"); // Set Int64 as the default uc.DataTypeOf("int64").IsDefault = true; Console.WriteLine($"Double is default: {uc.DataTypeOf("double").IsDefault}"); Console.WriteLine($"Int64 is default: {uc.DataTypeOf("int64").IsDefault}"); Console.WriteLine($"Current default: {uc.DefaultDataType.Name}"); Console.WriteLine("---"); // Revert back to Double by un-setting Int64 uc.DataTypeOf("int64").IsDefault = false; Console.WriteLine($"Double is default: {uc.DataTypeOf("double").IsDefault}"); Console.WriteLine($"Int64 is default: {uc.DataTypeOf("int64").IsDefault}"); Console.WriteLine($"Current default: {uc.DefaultDataType.Name}");
#include
#include "uCalc.h"
using namespace std;
using namespace uCalcSoftware;
#define tf(IsTrue) ((IsTrue) ? "True" : "False")
int main() {
uCalc uc;
// Initial state: Double is the default
cout << "Double is default: " << tf(uc.DataTypeOf("double").IsDefault()) << endl;
cout << "Int64 is default: " << tf(uc.DataTypeOf("int64").IsDefault()) << endl;
cout << "Current default: " << uc.DefaultDataType().Name() << endl;
cout << "---" << endl;
// Set Int64 as the default
uc.DataTypeOf("int64").IsDefault(true);
cout << "Double is default: " << tf(uc.DataTypeOf("double").IsDefault()) << endl;
cout << "Int64 is default: " << tf(uc.DataTypeOf("int64").IsDefault()) << endl;
cout << "Current default: " << uc.DefaultDataType().Name() << endl;
cout << "---" << endl;
// Revert back to Double by un-setting Int64
uc.DataTypeOf("int64").IsDefault(false);
cout << "Double is default: " << tf(uc.DataTypeOf("double").IsDefault()) << endl;
cout << "Int64 is default: " << tf(uc.DataTypeOf("int64").IsDefault()) << endl;
cout << "Current default: " << uc.DefaultDataType().Name() << endl;
}
Double is default: True
Int64 is default: False
Current default: double
---
Double is default: False
Int64 is default: True
Current default: int64
---
Double is default: True
Int64 is default: False
Current default: double #include <iostream> #include "uCalc.h" using namespace std; using namespace uCalcSoftware; #define tf(IsTrue) ((IsTrue) ? "True" : "False") int main() { uCalc uc; // Initial state: Double is the default cout << "Double is default: " << tf(uc.DataTypeOf("double").IsDefault()) << endl; cout << "Int64 is default: " << tf(uc.DataTypeOf("int64").IsDefault()) << endl; cout << "Current default: " << uc.DefaultDataType().Name() << endl; cout << "---" << endl; // Set Int64 as the default uc.DataTypeOf("int64").IsDefault(true); cout << "Double is default: " << tf(uc.DataTypeOf("double").IsDefault()) << endl; cout << "Int64 is default: " << tf(uc.DataTypeOf("int64").IsDefault()) << endl; cout << "Current default: " << uc.DefaultDataType().Name() << endl; cout << "---" << endl; // Revert back to Double by un-setting Int64 uc.DataTypeOf("int64").IsDefault(false); cout << "Double is default: " << tf(uc.DataTypeOf("double").IsDefault()) << endl; cout << "Int64 is default: " << tf(uc.DataTypeOf("int64").IsDefault()) << endl; cout << "Current default: " << uc.DefaultDataType().Name() << endl; }
Imports System
Imports uCalcSoftware
Public Module Program
Public Sub Main()
Dim uc As New uCalc()
'// Initial state: Double is the default
Console.WriteLine($"Double is default: {uc.DataTypeOf("double").IsDefault}")
Console.WriteLine($"Int64 is default: {uc.DataTypeOf("int64").IsDefault}")
Console.WriteLine($"Current default: {uc.DefaultDataType.Name}")
Console.WriteLine("---")
'// Set Int64 as the default
uc.DataTypeOf("int64").IsDefault = true
Console.WriteLine($"Double is default: {uc.DataTypeOf("double").IsDefault}")
Console.WriteLine($"Int64 is default: {uc.DataTypeOf("int64").IsDefault}")
Console.WriteLine($"Current default: {uc.DefaultDataType.Name}")
Console.WriteLine("---")
'// Revert back to Double by un-setting Int64
uc.DataTypeOf("int64").IsDefault = false
Console.WriteLine($"Double is default: {uc.DataTypeOf("double").IsDefault}")
Console.WriteLine($"Int64 is default: {uc.DataTypeOf("int64").IsDefault}")
Console.WriteLine($"Current default: {uc.DefaultDataType.Name}")
End Sub
End Module
Double is default: True
Int64 is default: False
Current default: double
---
Double is default: False
Int64 is default: True
Current default: int64
---
Double is default: True
Int64 is default: False
Current default: double Imports System Imports uCalcSoftware Public Module Program Public Sub Main() Dim uc As New uCalc() '// Initial state: Double is the default Console.WriteLine($"Double is default: {uc.DataTypeOf("double").IsDefault}") Console.WriteLine($"Int64 is default: {uc.DataTypeOf("int64").IsDefault}") Console.WriteLine($"Current default: {uc.DefaultDataType.Name}") Console.WriteLine("---") '// Set Int64 as the default uc.DataTypeOf("int64").IsDefault = true Console.WriteLine($"Double is default: {uc.DataTypeOf("double").IsDefault}") Console.WriteLine($"Int64 is default: {uc.DataTypeOf("int64").IsDefault}") Console.WriteLine($"Current default: {uc.DefaultDataType.Name}") Console.WriteLine("---") '// Revert back to Double by un-setting Int64 uc.DataTypeOf("int64").IsDefault = false Console.WriteLine($"Double is default: {uc.DataTypeOf("double").IsDefault}") Console.WriteLine($"Int64 is default: {uc.DataTypeOf("int64").IsDefault}") Console.WriteLine($"Current default: {uc.DefaultDataType.Name}") End Sub End Module