File: example-Accumulator.cpp

package info (click to toggle)
geographiclib 1.37-3
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 9,688 kB
  • ctags: 4,871
  • sloc: cpp: 31,440; sh: 11,632; cs: 9,411; ansic: 1,428; java: 1,333; python: 1,131; makefile: 758; xml: 381; pascal: 30
file content (21 lines) | stat: -rw-r--r-- 751 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
using namespace System;
using namespace NETGeographicLib;

int main(array<System::String ^> ^/*args*/)
{
    try {
        // Compare using Accumulator and ordinary summation for a sum of large and
        // small terms.
        double sum = 0;
        Accumulator^ acc = gcnew Accumulator();
        acc->Assign( 0.0 );
        sum += 1e20; sum += 1; sum += 2; sum += 100; sum += 5000; sum += -1e20;
        acc->Sum( 1e20 ); acc->Sum( 1 ); acc->Sum( 2 ); acc->Sum( 100 ); acc->Sum( 5000 ); acc->Sum( -1e20 );
        Console::WriteLine(String::Format("{0} {1}", sum, acc->Result()));
    }
    catch (GeographicErr^ e) {
        Console::WriteLine( String::Format(  "Caught exception: {0}", e->Message ) );
        return -1;
    }
    return 0;
}