SwapScalarValues

ID: 91

				
					using uCalcSoftware;

var uc = new uCalc();
var MyVar1 = uc.DefineVariable("MyVar1 = 123.456");
var MyVar2 = uc.DefineVariable("MyVar2 = 654.321");
var MyStr1 = uc.DefineVariable("MyStr1 = 'First string'");
var MyStr2 = uc.DefineVariable("MyStr2 = 'Second string'");

Console.WriteLine(uc.EvalStr("MyVar1"));
Console.WriteLine(uc.EvalStr("MyVar2"));
Console.WriteLine(uc.EvalStr("MyStr1"));
Console.WriteLine(uc.EvalStr("MyStr2"));
Console.WriteLine("---");

uc.DataTypeOf("double").SwapScalarValues(MyVar1.ValueAddr(), MyVar2.ValueAddr());
uc.DataTypeOf("string").SwapScalarValues(MyStr1.ValueAddr(), MyStr2.ValueAddr());

Console.WriteLine(uc.EvalStr("MyVar1")); // Values of MyVar1 and MyVar2 are now swapped
Console.WriteLine(uc.EvalStr("MyVar2"));
Console.WriteLine(uc.EvalStr("MyStr1")); // Values of MyStr1 and MyStr2 are now swapped
Console.WriteLine(uc.EvalStr("MyStr2"));
				
			
123.456
654.321
First string
Second string
---
654.321
123.456
Second string
First string
				
					#include <iostream>
#include "uCalc.h"

using namespace std;
using namespace uCalcSoftware;

int main() {
   uCalc uc;
   auto MyVar1 = uc.DefineVariable("MyVar1 = 123.456");
   auto MyVar2 = uc.DefineVariable("MyVar2 = 654.321");
   auto MyStr1 = uc.DefineVariable("MyStr1 = 'First string'");
   auto MyStr2 = uc.DefineVariable("MyStr2 = 'Second string'");

   cout << uc.EvalStr("MyVar1") << endl;
   cout << uc.EvalStr("MyVar2") << endl;
   cout << uc.EvalStr("MyStr1") << endl;
   cout << uc.EvalStr("MyStr2") << endl;
   cout << "---" << endl;

   uc.DataTypeOf("double").SwapScalarValues(MyVar1.ValueAddr(), MyVar2.ValueAddr());
   uc.DataTypeOf("string").SwapScalarValues(MyStr1.ValueAddr(), MyStr2.ValueAddr());

   cout << uc.EvalStr("MyVar1") << endl; // Values of MyVar1 and MyVar2 are now swapped
   cout << uc.EvalStr("MyVar2") << endl;
   cout << uc.EvalStr("MyStr1") << endl; // Values of MyStr1 and MyStr2 are now swapped
   cout << uc.EvalStr("MyStr2") << endl;
}
				
			
123.456
654.321
First string
Second string
---
654.321
123.456
Second string
First string
				
					Imports System
Imports uCalcSoftware
Public Module Program
   Public Sub Main()
      Dim uc As New uCalc()
      Dim MyVar1 = uc.DefineVariable("MyVar1 = 123.456")
      Dim MyVar2 = uc.DefineVariable("MyVar2 = 654.321")
      Dim MyStr1 = uc.DefineVariable("MyStr1 = 'First string'")
      Dim MyStr2 = uc.DefineVariable("MyStr2 = 'Second string'")
      
      Console.WriteLine(uc.EvalStr("MyVar1"))
      Console.WriteLine(uc.EvalStr("MyVar2"))
      Console.WriteLine(uc.EvalStr("MyStr1"))
      Console.WriteLine(uc.EvalStr("MyStr2"))
      Console.WriteLine("---")
      
      uc.DataTypeOf("double").SwapScalarValues(MyVar1.ValueAddr(), MyVar2.ValueAddr())
      uc.DataTypeOf("string").SwapScalarValues(MyStr1.ValueAddr(), MyStr2.ValueAddr())
      
      Console.WriteLine(uc.EvalStr("MyVar1")) '// Values of MyVar1 and MyVar2 are now swapped
      Console.WriteLine(uc.EvalStr("MyVar2"))
      Console.WriteLine(uc.EvalStr("MyStr1")) '// Values of MyStr1 and MyStr2 are now swapped
      Console.WriteLine(uc.EvalStr("MyStr2"))
   End Sub
End Module
				
			
123.456
654.321
First string
Second string
---
654.321
123.456
Second string
First string