Comprehensive demonstration of Count() across arrays, functions with different parameter types, and operators.
ID: 611
See: Count = [Int64]
using uCalcSoftware;
var uc = new uCalc();
static void MyAverage(uCalc.Callback cb) {
double Total = 0;
for (int x = 1; x <= cb.ArgCount(); x++) {
Total = Total + cb.Arg(x);
}
cb.Return(Total / cb.ArgCount());
}
var MyArrayA = uc.DefineVariable("MyArrayA[] = {10, 20, 30, 40, 50}");
var MyArrayB = uc.DefineVariable("MyArrayB[15]");
var FunctionA = uc.DefineFunction("FuncA(x, y, z) = x + y + z");
var FunctionB = uc.DefineFunction("FuncB(x, y, a = 12, b = 34) = x+y+a+b");
var FunctionC = uc.DefineFunction("FuncC(x, y ...)", MyAverage);
var FunctionD = uc.DefineFunction("FuncD() = 1+1");
Console.WriteLine($"Elements in array (from initializer): {MyArrayA.Count}");
Console.WriteLine($"Elements in array (from size): {MyArrayB.Count}");
Console.WriteLine($"Parameters in FuncA() (fixed): {FunctionA.Count}");
Console.WriteLine($"Parameters in FuncB() (with optional): {FunctionB.Count}");
Console.WriteLine($"Parameters in FuncC() (variadic): {FunctionC.Count}");
Console.WriteLine($"Parameters in FuncD() (none): {FunctionD.Count}");
Console.WriteLine($"Operands in '!' operator (postfix): {uc.ItemOf("!").Count}");
Console.WriteLine($"Operands in '>' operator (infix): {uc.ItemOf(">").Count}");
Elements in array (from initializer): 5
Elements in array (from size): 15
Parameters in FuncA() (fixed): 3
Parameters in FuncB() (with optional): 4
Parameters in FuncC() (variadic): -1
Parameters in FuncD() (none): 0
Operands in '!' operator (postfix): 1
Operands in '>' operator (infix): 2 using uCalcSoftware; var uc = new uCalc(); static void MyAverage(uCalc.Callback cb) { double Total = 0; for (int x = 1; x <= cb.ArgCount(); x++) { Total = Total + cb.Arg(x); } cb.Return(Total / cb.ArgCount()); } var MyArrayA = uc.DefineVariable("MyArrayA[] = {10, 20, 30, 40, 50}"); var MyArrayB = uc.DefineVariable("MyArrayB[15]"); var FunctionA = uc.DefineFunction("FuncA(x, y, z) = x + y + z"); var FunctionB = uc.DefineFunction("FuncB(x, y, a = 12, b = 34) = x+y+a+b"); var FunctionC = uc.DefineFunction("FuncC(x, y ...)", MyAverage); var FunctionD = uc.DefineFunction("FuncD() = 1+1"); Console.WriteLine($"Elements in array (from initializer): {MyArrayA.Count}"); Console.WriteLine($"Elements in array (from size): {MyArrayB.Count}"); Console.WriteLine($"Parameters in FuncA() (fixed): {FunctionA.Count}"); Console.WriteLine($"Parameters in FuncB() (with optional): {FunctionB.Count}"); Console.WriteLine($"Parameters in FuncC() (variadic): {FunctionC.Count}"); Console.WriteLine($"Parameters in FuncD() (none): {FunctionD.Count}"); Console.WriteLine($"Operands in '!' operator (postfix): {uc.ItemOf("!").Count}"); Console.WriteLine($"Operands in '>' operator (infix): {uc.ItemOf(">").Count}");
#include
#include "uCalc.h"
using namespace std;
using namespace uCalcSoftware;
void ucalc_call MyAverage(uCalcBase::Callback cb) {
double Total = 0;
for (int x = 1; x <= cb.ArgCount(); x++) {
Total = Total + cb.Arg(x);
}
cb.Return(Total / cb.ArgCount());
}
int main() {
uCalc uc;
auto MyArrayA = uc.DefineVariable("MyArrayA[] = {10, 20, 30, 40, 50}");
auto MyArrayB = uc.DefineVariable("MyArrayB[15]");
auto FunctionA = uc.DefineFunction("FuncA(x, y, z) = x + y + z");
auto FunctionB = uc.DefineFunction("FuncB(x, y, a = 12, b = 34) = x+y+a+b");
auto FunctionC = uc.DefineFunction("FuncC(x, y ...)", MyAverage);
auto FunctionD = uc.DefineFunction("FuncD() = 1+1");
cout << "Elements in array (from initializer): " << MyArrayA.Count() << endl;
cout << "Elements in array (from size): " << MyArrayB.Count() << endl;
cout << "Parameters in FuncA() (fixed): " << FunctionA.Count() << endl;
cout << "Parameters in FuncB() (with optional): " << FunctionB.Count() << endl;
cout << "Parameters in FuncC() (variadic): " << FunctionC.Count() << endl;
cout << "Parameters in FuncD() (none): " << FunctionD.Count() << endl;
cout << "Operands in '!' operator (postfix): " << uc.ItemOf("!").Count() << endl;
cout << "Operands in '>' operator (infix): " << uc.ItemOf(">").Count() << endl;
}
Elements in array (from initializer): 5
Elements in array (from size): 15
Parameters in FuncA() (fixed): 3
Parameters in FuncB() (with optional): 4
Parameters in FuncC() (variadic): -1
Parameters in FuncD() (none): 0
Operands in '!' operator (postfix): 1
Operands in '>' operator (infix): 2 #include <iostream> #include "uCalc.h" using namespace std; using namespace uCalcSoftware; void ucalc_call MyAverage(uCalcBase::Callback cb) { double Total = 0; for (int x = 1; x <= cb.ArgCount(); x++) { Total = Total + cb.Arg(x); } cb.Return(Total / cb.ArgCount()); } int main() { uCalc uc; auto MyArrayA = uc.DefineVariable("MyArrayA[] = {10, 20, 30, 40, 50}"); auto MyArrayB = uc.DefineVariable("MyArrayB[15]"); auto FunctionA = uc.DefineFunction("FuncA(x, y, z) = x + y + z"); auto FunctionB = uc.DefineFunction("FuncB(x, y, a = 12, b = 34) = x+y+a+b"); auto FunctionC = uc.DefineFunction("FuncC(x, y ...)", MyAverage); auto FunctionD = uc.DefineFunction("FuncD() = 1+1"); cout << "Elements in array (from initializer): " << MyArrayA.Count() << endl; cout << "Elements in array (from size): " << MyArrayB.Count() << endl; cout << "Parameters in FuncA() (fixed): " << FunctionA.Count() << endl; cout << "Parameters in FuncB() (with optional): " << FunctionB.Count() << endl; cout << "Parameters in FuncC() (variadic): " << FunctionC.Count() << endl; cout << "Parameters in FuncD() (none): " << FunctionD.Count() << endl; cout << "Operands in '!' operator (postfix): " << uc.ItemOf("!").Count() << endl; cout << "Operands in '>' operator (infix): " << uc.ItemOf(">").Count() << endl; }
Imports System
Imports uCalcSoftware
Public Module Program
Public Sub MyAverage(ByVal cb As uCalc.Callback)
Dim Total As Double = 0
For x As Integer = 1 To cb.ArgCount()
Total = Total + cb.Arg(x)
Next
cb.Return(Total / cb.ArgCount())
End Sub
Public Sub Main()
Dim uc As New uCalc()
Dim MyArrayA = uc.DefineVariable("MyArrayA[] = {10, 20, 30, 40, 50}")
Dim MyArrayB = uc.DefineVariable("MyArrayB[15]")
Dim FunctionA = uc.DefineFunction("FuncA(x, y, z) = x + y + z")
Dim FunctionB = uc.DefineFunction("FuncB(x, y, a = 12, b = 34) = x+y+a+b")
Dim FunctionC = uc.DefineFunction("FuncC(x, y ...)", AddressOf MyAverage)
Dim FunctionD = uc.DefineFunction("FuncD() = 1+1")
Console.WriteLine($"Elements in array (from initializer): {MyArrayA.Count}")
Console.WriteLine($"Elements in array (from size): {MyArrayB.Count}")
Console.WriteLine($"Parameters in FuncA() (fixed): {FunctionA.Count}")
Console.WriteLine($"Parameters in FuncB() (with optional): {FunctionB.Count}")
Console.WriteLine($"Parameters in FuncC() (variadic): {FunctionC.Count}")
Console.WriteLine($"Parameters in FuncD() (none): {FunctionD.Count}")
Console.WriteLine($"Operands in '!' operator (postfix): {uc.ItemOf("!").Count}")
Console.WriteLine($"Operands in '>' operator (infix): {uc.ItemOf(">").Count}")
End Sub
End Module
Elements in array (from initializer): 5
Elements in array (from size): 15
Parameters in FuncA() (fixed): 3
Parameters in FuncB() (with optional): 4
Parameters in FuncC() (variadic): -1
Parameters in FuncD() (none): 0
Operands in '!' operator (postfix): 1
Operands in '>' operator (infix): 2 Imports System Imports uCalcSoftware Public Module Program Public Sub MyAverage(ByVal cb As uCalc.Callback) Dim Total As Double = 0 For x As Integer = 1 To cb.ArgCount() Total = Total + cb.Arg(x) Next cb.Return(Total / cb.ArgCount()) End Sub Public Sub Main() Dim uc As New uCalc() Dim MyArrayA = uc.DefineVariable("MyArrayA[] = {10, 20, 30, 40, 50}") Dim MyArrayB = uc.DefineVariable("MyArrayB[15]") Dim FunctionA = uc.DefineFunction("FuncA(x, y, z) = x + y + z") Dim FunctionB = uc.DefineFunction("FuncB(x, y, a = 12, b = 34) = x+y+a+b") Dim FunctionC = uc.DefineFunction("FuncC(x, y ...)", AddressOf MyAverage) Dim FunctionD = uc.DefineFunction("FuncD() = 1+1") Console.WriteLine($"Elements in array (from initializer): {MyArrayA.Count}") Console.WriteLine($"Elements in array (from size): {MyArrayB.Count}") Console.WriteLine($"Parameters in FuncA() (fixed): {FunctionA.Count}") Console.WriteLine($"Parameters in FuncB() (with optional): {FunctionB.Count}") Console.WriteLine($"Parameters in FuncC() (variadic): {FunctionC.Count}") Console.WriteLine($"Parameters in FuncD() (none): {FunctionD.Count}") Console.WriteLine($"Operands in '!' operator (postfix): {uc.ItemOf("!").Count}") Console.WriteLine($"Operands in '>' operator (infix): {uc.ItemOf(">").Count}") End Sub End Module