]> git.saurik.com Git - wxWidgets.git/commitdiff
applied patch: wxLongLong CppUnit test (928257)
authorVáclav Slavík <vslavik@fastmail.fm>
Tue, 6 Apr 2004 12:15:27 +0000 (12:15 +0000)
committerVáclav Slavík <vslavik@fastmail.fm>
Tue, 6 Apr 2004 12:15:27 +0000 (12:15 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@26637 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

samples/console/console.cpp
tests/Makefile.in
tests/longlong/longlong.cpp [new file with mode: 0644]
tests/makefile.bcc
tests/makefile.gcc
tests/makefile.vc
tests/makefile.wat
tests/test.bkl
tests/test.dsp

index 01ce277708fbbeb3e9a4dfa3ea2ca96ae5a1a545..29288d8e8dcd9d5f6dabc796292b858089b03613 100644 (file)
@@ -70,7 +70,6 @@
     #define TEST_LIST
     #define TEST_LOCALE
     #define TEST_LOG
-    #define TEST_LONGLONG
     #define TEST_MIME
     #define TEST_PATHLIST
     #define TEST_ODBC
@@ -2250,345 +2249,6 @@ static void TestUserInfo()
 
 #endif // TEST_INFO_FUNCTIONS
 
-// ----------------------------------------------------------------------------
-// long long
-// ----------------------------------------------------------------------------
-
-#ifdef TEST_LONGLONG
-
-#include "wx/longlong.h"
-#include "wx/timer.h"
-
-// make a 64 bit number from 4 16 bit ones
-#define MAKE_LL(x1, x2, x3, x4) wxLongLong((x1 << 16) | x2, (x3 << 16) | x3)
-
-// get a random 64 bit number
-#define RAND_LL()   MAKE_LL(rand(), rand(), rand(), rand())
-
-static const long testLongs[] =
-{
-    0,
-    1,
-    -1,
-    LONG_MAX,
-    LONG_MIN,
-    0x1234,
-    -0x1234
-};
-
-#if wxUSE_LONGLONG_WX
-inline bool operator==(const wxLongLongWx& a, const wxLongLongNative& b)
-    { return a.GetHi() == b.GetHi() && a.GetLo() == b.GetLo(); }
-inline bool operator==(const wxLongLongNative& a, const wxLongLongWx& b)
-    { return a.GetHi() == b.GetHi() && a.GetLo() == b.GetLo(); }
-#endif // wxUSE_LONGLONG_WX
-
-#if 0
-static void TestSpeed()
-{
-    static const long max = 100000000;
-    long n;
-
-    {
-        wxStopWatch sw;
-
-        long l = 0;
-        for ( n = 0; n < max; n++ )
-        {
-            l += n;
-        }
-        wxUnusedVar(l);
-
-        wxPrintf(_T("Summing longs took %ld milliseconds.\n"), sw.Time());
-    }
-
-#if wxUSE_LONGLONG_NATIVE
-    {
-        wxStopWatch sw;
-
-        wxLongLong_t l = 0;
-        for ( n = 0; n < max; n++ )
-        {
-            l += n;
-        }
-        wxUnusedVar(l);
-
-        wxPrintf(_T("Summing wxLongLong_t took %ld milliseconds.\n"), sw.Time());
-    }
-#endif // wxUSE_LONGLONG_NATIVE
-
-    {
-        wxStopWatch sw;
-
-        wxLongLong l;
-        for ( n = 0; n < max; n++ )
-        {
-            l += n;
-        }
-
-        wxPrintf(_T("Summing wxLongLongs took %ld milliseconds.\n"), sw.Time());
-    }
-}
-#endif
-
-static void TestLongLongConversion()
-{
-    wxPuts(_T("*** Testing wxLongLong conversions ***\n"));
-
-    size_t nTested = 0;
-    for ( size_t n = 0; n < 100000; n++ )
-    {
-#if wxUSE_LONGLONG_NATIVE
-        wxLongLong a = RAND_LL();
-
-        wxLongLongNative b(a.GetHi(), a.GetLo());
-
-        if( a != b)
-            wxPuts( _T("conversions failure") );
-#else
-        wxPuts(_T("Can't do it without native long long type, test skipped."));
-
-        return;
-#endif // wxUSE_LONGLONG_NATIVE
-
-        if ( !(nTested % 1000) )
-        {
-            wxPutchar('.');
-            fflush(stdout);
-        }
-
-        nTested++;
-    }
-
-    wxPuts(_T(" done!"));
-}
-
-static void TestMultiplication()
-{
-    wxPuts(_T("*** Testing wxLongLong multiplication ***\n"));
-
-    size_t nTested = 0;
-    for ( size_t n = 0; n < 100000; n++ )
-    {
-#if wxUSE_LONGLONG_NATIVE
-        wxLongLong a = RAND_LL();
-        wxLongLong b = RAND_LL();
-
-        wxLongLongNative aa(a.GetHi(), a.GetLo());
-        wxLongLongNative bb(b.GetHi(), b.GetLo());
-
-        if( a*b != aa*bb )
-            wxPuts( _T("multiplication failure") );
-#else // !wxUSE_LONGLONG_NATIVE
-        wxPuts(_T("Can't do it without native long long type, test skipped."));
-
-        return;
-#endif // wxUSE_LONGLONG_NATIVE
-
-        if ( !(nTested % 1000) )
-        {
-            wxPutchar('.');
-            fflush(stdout);
-        }
-
-        nTested++;
-    }
-
-    wxPuts(_T(" done!"));
-}
-
-static void TestDivision()
-{
-    wxPuts(_T("*** Testing wxLongLong division ***\n"));
-
-    wxLongLong q, r;
-    size_t nTested = 0;
-    for ( size_t n = 0; n < 100000; n++ )
-    {
-        // get a random wxLongLong (shifting by 12 the MSB ensures that the
-        // multiplication will not overflow)
-        wxLongLong ll = MAKE_LL((rand() >> 12), rand(), rand(), rand());
-
-        // get a random (but non null) long (not wxLongLong for now) to divide
-        // it with
-        long l;
-        do
-        {
-           l = rand();
-        }
-        while ( !l );
-
-        q = ll / l;
-        r = ll % l;
-
-#if wxUSE_LONGLONG_NATIVE
-        wxLongLongNative m(ll.GetHi(), ll.GetLo());
-
-        wxLongLongNative p = m / l, s = m % l;
-
-        if(q != p || r != s)
-            wxPuts( _T("division failure") );
-#else // !wxUSE_LONGLONG_NATIVE
-        // verify the result
-        wxASSERT_MSG( ll == q*l + r, "division failure" );
-#endif // wxUSE_LONGLONG_NATIVE
-
-        if ( !(nTested % 1000) )
-        {
-            wxPutchar('.');
-            fflush(stdout);
-        }
-
-        nTested++;
-    }
-
-    wxPuts(_T(" done!"));
-}
-
-static void TestAddition()
-{
-    wxPuts(_T("*** Testing wxLongLong addition ***\n"));
-
-    wxLongLong a, b, c;
-    size_t nTested = 0;
-    for ( size_t n = 0; n < 100000; n++ )
-    {
-        a = RAND_LL();
-        b = RAND_LL();
-        c = a + b;
-
-#if wxUSE_LONGLONG_NATIVE
-        wxASSERT_MSG( c == wxLongLongNative(a.GetHi(), a.GetLo()) +
-                           wxLongLongNative(b.GetHi(), b.GetLo()),
-                      _T("addition failure") );
-#else // !wxUSE_LONGLONG_NATIVE
-        wxASSERT_MSG( c - b == a, "addition failure" );
-#endif // wxUSE_LONGLONG_NATIVE
-
-        if ( !(nTested % 1000) )
-        {
-            wxPutchar('.');
-            fflush(stdout);
-        }
-
-        nTested++;
-    }
-
-    wxPuts(_T(" done!"));
-}
-
-static void TestBitOperations()
-{
-    wxPuts(_T("*** Testing wxLongLong bit operation ***\n"));
-
-    wxLongLong ll;
-    size_t nTested = 0;
-    for ( size_t n = 0; n < 100000; n++ )
-    {
-        ll = RAND_LL();
-
-#if wxUSE_LONGLONG_NATIVE
-        for ( size_t n = 0; n < 33; n++ )
-        {
-        }
-#else // !wxUSE_LONGLONG_NATIVE
-        wxPuts(_T("Can't do it without native long long type, test skipped."));
-
-        return;
-#endif // wxUSE_LONGLONG_NATIVE
-
-        if ( !(nTested % 1000) )
-        {
-            wxPutchar('.');
-            fflush(stdout);
-        }
-
-        nTested++;
-    }
-
-    wxPuts(_T(" done!"));
-}
-
-static void TestLongLongComparison()
-{
-#if wxUSE_LONGLONG_WX
-    wxPuts(_T("*** Testing wxLongLong comparison ***\n"));
-
-    static const long ls[2] =
-    {
-        0x1234,
-       -0x1234,
-    };
-
-    wxLongLongWx lls[2];
-    lls[0] = ls[0];
-    lls[1] = ls[1];
-
-    for ( size_t n = 0; n < WXSIZEOF(testLongs); n++ )
-    {
-        bool res;
-
-        for ( size_t m = 0; m < WXSIZEOF(lls); m++ )
-        {
-            res = lls[m] > testLongs[n];
-            wxPrintf(_T("0x%lx > 0x%lx is %s (%s)\n"),
-                   ls[m], testLongs[n], res ? "true" : "false",
-                   res == (ls[m] > testLongs[n]) ? "ok" : "ERROR");
-
-            res = lls[m] < testLongs[n];
-            wxPrintf(_T("0x%lx < 0x%lx is %s (%s)\n"),
-                   ls[m], testLongs[n], res ? "true" : "false",
-                   res == (ls[m] < testLongs[n]) ? "ok" : "ERROR");
-
-            res = lls[m] == testLongs[n];
-            wxPrintf(_T("0x%lx == 0x%lx is %s (%s)\n"),
-                   ls[m], testLongs[n], res ? "true" : "false",
-                   res == (ls[m] == testLongs[n]) ? "ok" : "ERROR");
-        }
-    }
-#endif // wxUSE_LONGLONG_WX
-}
-
-static void TestLongLongToString()
-{
-    wxPuts(_T("*** Testing wxLongLong::ToString() ***\n"));
-
-    for ( size_t n = 0; n < WXSIZEOF(testLongs); n++ )
-    {
-        wxLongLong ll = testLongs[n];
-        wxPrintf(_T("%ld == %s\n"), testLongs[n], ll.ToString().c_str());
-    }
-
-    wxLongLong ll(0x12345678, 0x87654321);
-    wxPrintf(_T("0x1234567887654321 = %s\n"), ll.ToString().c_str());
-
-    ll.Negate();
-    wxPrintf(_T("-0x1234567887654321 = %s\n"), ll.ToString().c_str());
-}
-
-static void TestLongLongPrintf()
-{
-    wxPuts(_T("*** Testing wxLongLong printing ***\n"));
-
-#ifdef wxLongLongFmtSpec
-#ifndef __MINGW32__
-    wxLongLong ll = wxLL(0x1234567890abcdef);
-    wxString s = wxString::Format(_T("%") wxLongLongFmtSpec _T("x"), ll);
-#else
-    wxString s = _T("MinGW compiler does not allow wxLongLong in '...'");
-#endif
-    wxPrintf(_T("0x1234567890abcdef -> %s (%s)\n"),
-             s.c_str(), s == _T("1234567890abcdef") ? _T("ok") : _T("ERROR"));
-#else // !wxLongLongFmtSpec
-    #error "wxLongLongFmtSpec not defined for this compiler/platform"
-#endif
-}
-
-#undef MAKE_LL
-#undef RAND_LL
-
-#endif // TEST_LONGLONG
-
 // ----------------------------------------------------------------------------
 // path list
 // ----------------------------------------------------------------------------
@@ -7172,26 +6832,6 @@ int main(int argc, char **argv)
     #endif
 #endif // TEST_FTP
 
-#ifdef TEST_LONGLONG
-    // seed pseudo random generator
-    srand((unsigned)time(NULL));
-
-    #if 0
-        TestSpeed();
-    #endif
-
-    #if TEST_ALL
-        TestMultiplication();
-        TestDivision();
-        TestAddition();
-        TestLongLongConversion();
-        TestBitOperations();
-        TestLongLongComparison();
-        TestLongLongToString();
-        TestLongLongPrintf();
-    #endif
-#endif // TEST_LONGLONG
-
 #ifdef TEST_HASH
     TestHash();
 #endif // TEST_HASH
index 452964321478555a84d42b935129acc4ca67fb02..fc196822b283b05009be448d0458c9edab2adfbe 100644 (file)
@@ -1,6 +1,6 @@
 # =========================================================================
 #     This makefile was generated by
-#     Bakefile 0.1.3 (http://bakefile.sourceforge.net)
+#     Bakefile 0.1.4 (http://bakefile.sourceforge.net)
 #     Do not modify, all changes will be overwritten!
 # =========================================================================
 
@@ -41,7 +41,8 @@ TEST_OBJECTS =  \
        test_formatconverter.o \
        test_regex.o \
        test_filesys.o \
-       test_arrays.o
+       test_arrays.o \
+       test_longlong.o
 
 ### Conditionally set variables: ###
 
@@ -122,6 +123,9 @@ test_filesys.o: $(srcdir)/filesys/filesys.cpp
 test_arrays.o: $(srcdir)/arrays/arrays.cpp
        $(CXXC) -c -o $@ $(TEST_CXXFLAGS) $<
 
+test_longlong.o: $(srcdir)/longlong/longlong.cpp
+       $(CXXC) -c -o $@ $(TEST_CXXFLAGS) $<
+
 
 # Include dependency info, if present:
 @IF_GNU_MAKE@-include .deps/*.d
diff --git a/tests/longlong/longlong.cpp b/tests/longlong/longlong.cpp
new file mode 100644 (file)
index 0000000..e0d089e
--- /dev/null
@@ -0,0 +1,319 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        tests/longlong/longlong.cpp
+// Purpose:     wxLongLong unit test
+// Author:      Vadim Zeitlin, Wlodzimierz ABX Skiba
+// Created:     2004-04-01
+// RCS-ID:      $Id$
+// Copyright:   (c) 2004 Vadim Zeitlin, Wlodzimierz Skiba
+///////////////////////////////////////////////////////////////////////////////
+
+// ----------------------------------------------------------------------------
+// headers
+// ----------------------------------------------------------------------------
+
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+    #pragma hdrstop
+#endif
+
+#ifndef WX_PRECOMP
+    #include "wx/wx.h"
+#endif // WX_PRECOMP
+
+#include "wx/longlong.h"
+#include "wx/timer.h"
+
+#include "wx/cppunit.h"
+
+// ----------------------------------------------------------------------------
+// helpers for testing
+// ----------------------------------------------------------------------------
+
+// number of iterations in loops
+#define ITEMS 10000
+
+// make a 64 bit number from 4 16 bit ones
+#define MAKE_LL(x1, x2, x3, x4) wxLongLong((x1 << 16) | x2, (x3 << 16) | x3)
+
+// get a random 64 bit number
+#define RAND_LL()   MAKE_LL(rand(), rand(), rand(), rand())
+
+static const long testLongs[] =
+{
+    0,
+    1,
+    -1,
+    LONG_MAX,
+    LONG_MIN,
+    0x1234,
+    -0x1234
+};
+
+// ----------------------------------------------------------------------------
+// test class
+// ----------------------------------------------------------------------------
+
+class LongLongTestCase : public CppUnit::TestCase
+{
+public:
+    LongLongTestCase();
+
+private:
+    CPPUNIT_TEST_SUITE( LongLongTestCase );
+        CPPUNIT_TEST( Conversion );
+        CPPUNIT_TEST( Comparison );
+        CPPUNIT_TEST( Addition );
+        CPPUNIT_TEST( Multiplication );
+        CPPUNIT_TEST( Division );
+        CPPUNIT_TEST( BitOperations );
+        CPPUNIT_TEST( ToString );
+    CPPUNIT_TEST_SUITE_END();
+
+    void Conversion();
+    void Comparison();
+    void Addition();
+    void Multiplication();
+    void Division();
+    void BitOperations();
+    void ToString();
+
+    DECLARE_NO_COPY_CLASS(LongLongTestCase)
+};
+
+// register in the unnamed registry so that these tests are run by default
+CPPUNIT_TEST_SUITE_REGISTRATION( LongLongTestCase );
+
+// also include in it's own registry so that these tests can be run alone
+CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( LongLongTestCase, "LongLongTestCase" );
+
+LongLongTestCase::LongLongTestCase()
+{
+    srand((unsigned)time(NULL));
+}
+
+void LongLongTestCase::Conversion()
+{
+    for ( size_t n = 0; n < ITEMS; n++ )
+    {
+        wxLongLong a = RAND_LL();
+
+        wxLongLong b(a.GetHi(), a.GetLo());
+        CPPUNIT_ASSERT( a == b );
+
+#if wxUSE_LONGLONG_WX
+        wxLongLongWx c(a.GetHi(), a.GetLo());
+        CPPUNIT_ASSERT( a == c );
+#endif
+
+#if wxUSE_LONGLONG_NATIVE
+        wxLongLongNative d(a.GetHi(), a.GetLo());
+        CPPUNIT_ASSERT( a == d );
+#endif
+    }
+}
+
+void LongLongTestCase::Comparison()
+{
+    static const long ls[2] =
+    {
+        0x1234,
+       -0x1234,
+    };
+
+    wxLongLong lls[2];
+    lls[0] = ls[0];
+    lls[1] = ls[1];
+
+    for ( size_t n = 0; n < WXSIZEOF(testLongs); n++ )
+    {
+        for ( size_t m = 0; m < WXSIZEOF(lls); m++ )
+        {
+            CPPUNIT_ASSERT( (lls[m] < testLongs[n]) == (ls[m] < testLongs[n]) );
+            CPPUNIT_ASSERT( (lls[m] > testLongs[n]) == (ls[m] > testLongs[n]) );
+            CPPUNIT_ASSERT( (lls[m] <= testLongs[n]) == (ls[m] <= testLongs[n]) );
+            CPPUNIT_ASSERT( (lls[m] >= testLongs[n]) == (ls[m] >= testLongs[n]) );
+            CPPUNIT_ASSERT( (lls[m] != testLongs[n]) == (ls[m] != testLongs[n]) );
+            CPPUNIT_ASSERT( (lls[m] == testLongs[n]) == (ls[m] == testLongs[n]) );
+        }
+    }
+}
+
+void LongLongTestCase::Addition()
+{
+    for ( size_t n = 0; n < ITEMS; n++ )
+    {
+        wxLongLong a = RAND_LL();
+        wxLongLong b = RAND_LL();
+        wxLongLong c = a + b;
+
+#if wxUSE_LONGLONG_NATIVE
+        wxLongLongNative a1 = a;
+        wxLongLongNative b1 = b;
+        wxLongLongNative c1 = a1 + b1;
+        CPPUNIT_ASSERT( c == c1 );
+#endif
+
+#if wxUSE_LONGLONG_WX
+        wxLongLongWx a2 = a;
+        wxLongLongWx b2 = b;
+        wxLongLongWx c2 = a2 + b2;
+        CPPUNIT_ASSERT( c == c2 );
+#endif
+    }
+}
+
+void LongLongTestCase::Multiplication()
+{
+    for ( size_t n = 0; n < ITEMS; n++ )
+    {
+        wxLongLong a = RAND_LL();
+        wxLongLong b = RAND_LL();
+        wxLongLong c = a*b;
+
+        wxLongLong a1(a.GetHi(), a.GetLo());
+        wxLongLong b1(b.GetHi(), b.GetLo());
+        wxLongLong c1 = a1*b1;
+        CPPUNIT_ASSERT( c1 == c );
+
+#if wxUSE_LONGLONG_WX
+        wxLongLongWx a2(a.GetHi(), a.GetLo());
+        wxLongLongWx b2(b.GetHi(), b.GetLo());
+        wxLongLongWx c2 = a2*b2;
+        CPPUNIT_ASSERT( c2 == c );
+#endif
+
+#if wxUSE_LONGLONG_NATIVE
+        wxLongLongNative a3(a.GetHi(), a.GetLo());
+        wxLongLongNative b3(b.GetHi(), b.GetLo());
+        wxLongLongNative c3 = a3*b3;
+        CPPUNIT_ASSERT( c3 == c );
+#endif
+    }
+}
+
+void LongLongTestCase::Division()
+{
+    for ( size_t n = 0; n < ITEMS; n++ )
+    {
+        // get a random wxLongLong (shifting by 12 the MSB ensures that the
+        // multiplication will not overflow)
+        wxLongLong a = MAKE_LL((rand() >> 12), rand(), rand(), rand());
+
+        // get a random (but non null) long (not wxLongLong for now) divider
+        long l;
+        do
+        {
+           l = rand();
+        }
+        while ( !l );
+
+        wxLongLong q = a / l;
+        wxLongLong r = a % l;
+
+        CPPUNIT_ASSERT( a == ( q * l + r ) );
+
+#if wxUSE_LONGLONG_WX
+        wxLongLongWx a1(a.GetHi(), a.GetLo());
+        wxLongLongWx q1 = a1 / l;
+        wxLongLongWx r1 = a1 % l;
+        CPPUNIT_ASSERT( q == q1 );
+        CPPUNIT_ASSERT( r == r1 );
+        CPPUNIT_ASSERT( a1 == ( q1 * l + r1 ) );
+#endif
+
+#if wxUSE_LONGLONG_NATIVE
+        wxLongLongNative a2(a.GetHi(), a.GetLo());
+        wxLongLongNative q2 = a2 / l;
+        wxLongLongNative r2 = a2 % l;
+        CPPUNIT_ASSERT( q == q2 );
+        CPPUNIT_ASSERT( r == r2 );
+        CPPUNIT_ASSERT( a2 == ( q2 * l + r2 ) );
+#endif
+    }
+}
+
+void LongLongTestCase::BitOperations()
+{
+    for ( size_t n = 0; n < ITEMS; n++ )
+    {
+        wxLongLong a = RAND_LL();
+
+        for ( size_t n = 0; n < 33; n++ )
+        {
+            wxLongLong b(a.GetHi(), a.GetLo()), c, d = b, e;
+            d >>= n; 
+            c = b >> n; 
+            CPPUNIT_ASSERT( c == d );
+            d <<= n; 
+            e = c << n; 
+            CPPUNIT_ASSERT( d == e );
+
+#if wxUSE_LONGLONG_WX
+            wxLongLongWx b1(a.GetHi(), a.GetLo()), c1, d1 = b1, e1;
+            d1 >>= n; 
+            c1 = b1 >> n; 
+            CPPUNIT_ASSERT( c1 == d1 );
+            d1 <<= n; 
+            e1 = c1 << n; 
+            CPPUNIT_ASSERT( d1 == e1 );
+#endif
+
+#if wxUSE_LONGLONG_NATIVE
+            wxLongLongNative b2(a.GetHi(), a.GetLo()), c2, d2 = b2, e2;
+            d2 >>= n; 
+            c2 = b2 >> n; 
+            CPPUNIT_ASSERT( c2 == d2 );
+            d2 <<= n; 
+            e2 = c2 << n; 
+            CPPUNIT_ASSERT( d2 == e2 );
+#endif
+        }
+    }
+}
+
+void LongLongTestCase::ToString()
+{
+    wxString s1, s2;
+
+    for ( size_t n = 0; n < WXSIZEOF(testLongs); n++ )
+    {
+        wxLongLong a = testLongs[n];
+        s1 = wxString::Format(_T("%ld"), testLongs[n]);
+        s2 = a.ToString();
+        CPPUNIT_ASSERT( s1 == s2 );
+
+#if wxUSE_LONGLONG_WX
+        wxLongLongWx a1 = testLongs[n];
+        s2 = a1.ToString();
+        CPPUNIT_ASSERT( s1 == s2 );
+#endif
+
+#if wxUSE_LONGLONG_NATIVE
+        wxLongLongNative a2 = testLongs[n];
+        s2 = a2.ToString();
+        CPPUNIT_ASSERT( s1 == s2 );
+#endif
+    }
+
+    wxLongLong a(0x12345678, 0x87654321);
+    CPPUNIT_ASSERT( a.ToString() == _T("1311768467139281697") );
+    a.Negate();
+    CPPUNIT_ASSERT( a.ToString() == _T("-1311768467139281697") );
+
+#if wxUSE_LONGLONG_WX
+    wxLongLongWx a1(a.GetHi(), a.GetLo());
+    CPPUNIT_ASSERT( a1.ToString() == _T("-1311768467139281697") );
+    a1.Negate();
+    CPPUNIT_ASSERT( a1.ToString() == _T("1311768467139281697") );
+#endif
+
+#if wxUSE_LONGLONG_NATIVE
+    wxLongLongNative a2(a.GetHi(), a.GetLo());
+    CPPUNIT_ASSERT( a2.ToString() == _T("-1311768467139281697") );
+    a2.Negate();
+    CPPUNIT_ASSERT( a2.ToString() == _T("1311768467139281697") );
+#endif
+
+}
+
index af3d8502574eb6b1acbc9f20c9880462c1c96688..26a2defa743e0b42a42954a13f567c9d96389e02 100644 (file)
@@ -1,6 +1,6 @@
 # =========================================================================
 #     This makefile was generated by
-#     Bakefile 0.1.3 (http://bakefile.sourceforge.net)
+#     Bakefile 0.1.4 (http://bakefile.sourceforge.net)
 #     Do not modify, all changes will be overwritten!
 # =========================================================================
 
@@ -35,7 +35,8 @@ TEST_OBJECTS =  \
        $(OBJS)\test_formatconverter.obj \
        $(OBJS)\test_regex.obj \
        $(OBJS)\test_filesys.obj \
-       $(OBJS)\test_arrays.obj
+       $(OBJS)\test_arrays.obj \
+       $(OBJS)\test_longlong.obj
 
 ### Conditionally set variables: ###
 
@@ -172,3 +173,6 @@ $(OBJS)\test_filesys.obj: .\filesys\filesys.cpp
 
 $(OBJS)\test_arrays.obj: .\arrays\arrays.cpp
        $(CXX) -q -c -P -o$@ $(TEST_CXXFLAGS) $**
+
+$(OBJS)\test_longlong.obj: .\longlong\longlong.cpp
+       $(CXX) -q -c -P -o$@ $(TEST_CXXFLAGS) $**
index 042414e2bd6dfccfacf3bcaccfeff8b0dd9184a1..c4f0d334219afee26c0e81178f8d4cf69057105c 100644 (file)
@@ -1,6 +1,6 @@
 # =========================================================================
 #     This makefile was generated by
-#     Bakefile 0.1.3 (http://bakefile.sourceforge.net)
+#     Bakefile 0.1.4 (http://bakefile.sourceforge.net)
 #     Do not modify, all changes will be overwritten!
 # =========================================================================
 
@@ -26,7 +26,8 @@ TEST_OBJECTS =  \
        $(OBJS)\test_formatconverter.o \
        $(OBJS)\test_regex.o \
        $(OBJS)\test_filesys.o \
-       $(OBJS)\test_arrays.o
+       $(OBJS)\test_arrays.o \
+       $(OBJS)\test_longlong.o
 
 ### Conditionally set variables: ###
 
@@ -167,4 +168,7 @@ $(OBJS)\test_filesys.o: ./filesys/filesys.cpp
 $(OBJS)\test_arrays.o: ./arrays/arrays.cpp
        $(CXX) -c -o $@ $(TEST_CXXFLAGS) $<
 
+$(OBJS)\test_longlong.o: ./longlong/longlong.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $<
+
 .PHONY: all clean
index e3a9cad7e8101358613a517cc4d29f6c906609c8..9d5f4aab7ef1a3fa6bd2d2a9d67026626f8b257a 100644 (file)
@@ -1,6 +1,6 @@
 # =========================================================================
 #     This makefile was generated by
-#     Bakefile 0.1.3 (http://bakefile.sourceforge.net)
+#     Bakefile 0.1.4 (http://bakefile.sourceforge.net)
 #     Do not modify, all changes will be overwritten!
 # =========================================================================
 
@@ -28,7 +28,8 @@ TEST_OBJECTS =  \
        $(OBJS)\test_formatconverter.obj \
        $(OBJS)\test_regex.obj \
        $(OBJS)\test_filesys.obj \
-       $(OBJS)\test_arrays.obj
+       $(OBJS)\test_arrays.obj \
+       $(OBJS)\test_longlong.obj
 
 ### Conditionally set variables: ###
 
@@ -228,3 +229,6 @@ $(OBJS)\test_filesys.obj: .\filesys\filesys.cpp
 
 $(OBJS)\test_arrays.obj: .\arrays\arrays.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) $**
+
+$(OBJS)\test_longlong.obj: .\longlong\longlong.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) $**
index 099040ca4093bd2f3cb874f10874027d62b6532d..b5d6840b21968a17ada7ef8b407d6b0e889eeb5b 100644 (file)
@@ -1,6 +1,6 @@
 # =========================================================================
 #     This makefile was generated by
-#     Bakefile 0.1.3 (http://bakefile.sourceforge.net)
+#     Bakefile 0.1.4 (http://bakefile.sourceforge.net)
 #     Do not modify, all changes will be overwritten!
 # =========================================================================
 
@@ -176,7 +176,8 @@ TEST_OBJECTS =  &
        $(OBJS)\test_formatconverter.obj &
        $(OBJS)\test_regex.obj &
        $(OBJS)\test_filesys.obj &
-       $(OBJS)\test_arrays.obj
+       $(OBJS)\test_arrays.obj &
+       $(OBJS)\test_longlong.obj
 
 
 all : $(OBJS)
@@ -222,3 +223,6 @@ $(OBJS)\test_filesys.obj :  .AUTODEPEND .\filesys\filesys.cpp
 
 $(OBJS)\test_arrays.obj :  .AUTODEPEND .\arrays\arrays.cpp
        $(CXX) -zq -fo=$^@ $(TEST_CXXFLAGS) $<
+
+$(OBJS)\test_longlong.obj :  .AUTODEPEND .\longlong\longlong.cpp
+       $(CXX) -zq -fo=$^@ $(TEST_CXXFLAGS) $<
index c369af456194d56fd0a8058fdc81aee7b34cb05b..37e072319e7fad6159e9afd98c4e9a14b7a8333f 100644 (file)
@@ -14,6 +14,7 @@
             regex/regex.cpp
             filesys/filesys.cpp
             arrays/arrays.cpp
+            longlong/longlong.cpp
         </sources>
         <wx-lib>base</wx-lib>
     </exe>
index 838cb7b0243bceb610b1a3217c38fba6656a13f4..c004bd4e38547df2d66c47238455c782280bce8d 100644 (file)
@@ -54,8 +54,8 @@ RSC=rc.exe
 # PROP Output_Dir "vc_mswunivudll"
 # PROP Intermediate_Dir "vc_mswunivudll\test"
 # PROP Target_Dir ""
-# ADD BASE CPP /nologo /FD /GR /GX /MD /Fdvc_mswunivudll\test.pdb /O1 /GR /GX /I ".\..\include" /I ".\..\lib\vc_dll\mswunivu" /W4 /I "." /D "WIN32" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_UNICODE" /D "WXUSINGDLL" /D "_CONSOLE" /c
-# ADD CPP /nologo /FD /GR /GX /MD /Fdvc_mswunivudll\test.pdb /O1 /GR /GX /I ".\..\include" /I ".\..\lib\vc_dll\mswunivu" /W4 /I "." /D "WIN32" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_UNICODE" /D "WXUSINGDLL" /D "_CONSOLE" /c
+# ADD BASE CPP /nologo /FD /MD /Fdvc_mswunivudll\test.pdb /O1 /GR /GX /I ".\..\include" /I ".\..\lib\vc_dll\mswunivu" /W4 /I "." /D "WIN32" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_UNICODE" /D "WXUSINGDLL" /D "_CONSOLE" /c
+# ADD CPP /nologo /FD /MD /Fdvc_mswunivudll\test.pdb /O1 /GR /GX /I ".\..\include" /I ".\..\lib\vc_dll\mswunivu" /W4 /I "." /D "WIN32" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_UNICODE" /D "WXUSINGDLL" /D "_CONSOLE" /c
 # ADD BASE RSC /l 0x405 /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "_UNICODE" /i ".\..\include" /i ".\..\lib\vc_dll\mswunivu" /i "." /d "WXUSINGDLL" /d _CONSOLE
 # ADD RSC /l 0x405 /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "_UNICODE" /i ".\..\include" /i ".\..\lib\vc_dll\mswunivu" /i "." /d "WXUSINGDLL" /d _CONSOLE
 BSC32=bscmake.exe
@@ -77,8 +77,8 @@ LINK32=link.exe
 # PROP Output_Dir "vc_mswunivuddll"
 # PROP Intermediate_Dir "vc_mswunivuddll\test"
 # PROP Target_Dir ""
-# ADD BASE CPP /nologo /FD /GR /GX /MDd /Zi /Gm /GZ /Fdvc_mswunivuddll\test.pdb /Od /GR /GX /I ".\..\include" /I ".\..\lib\vc_dll\mswunivud" /W4 /I "." /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "_UNICODE" /D "WXUSINGDLL" /D "_CONSOLE" /c
-# ADD CPP /nologo /FD /GR /GX /MDd /Zi /Gm /GZ /Fdvc_mswunivuddll\test.pdb /Od /GR /GX /I ".\..\include" /I ".\..\lib\vc_dll\mswunivud" /W4 /I "." /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "_UNICODE" /D "WXUSINGDLL" /D "_CONSOLE" /c
+# ADD BASE CPP /nologo /FD /MDd /Zi /Gm /GZ /Fdvc_mswunivuddll\test.pdb /Od /GR /GX /I ".\..\include" /I ".\..\lib\vc_dll\mswunivud" /W4 /I "." /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "_UNICODE" /D "WXUSINGDLL" /D "_CONSOLE" /c
+# ADD CPP /nologo /FD /MDd /Zi /Gm /GZ /Fdvc_mswunivuddll\test.pdb /Od /GR /GX /I ".\..\include" /I ".\..\lib\vc_dll\mswunivud" /W4 /I "." /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "_UNICODE" /D "WXUSINGDLL" /D "_CONSOLE" /c
 # ADD BASE RSC /l 0x405 /d "_DEBUG" /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "__WXDEBUG__" /d "_UNICODE" /i ".\..\include" /i ".\..\lib\vc_dll\mswunivud" /i "." /d "WXUSINGDLL" /d _CONSOLE
 # ADD RSC /l 0x405 /d "_DEBUG" /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "__WXDEBUG__" /d "_UNICODE" /i ".\..\include" /i ".\..\lib\vc_dll\mswunivud" /i "." /d "WXUSINGDLL" /d _CONSOLE
 BSC32=bscmake.exe
@@ -100,8 +100,8 @@ LINK32=link.exe
 # PROP Output_Dir "vc_mswunivdll"
 # PROP Intermediate_Dir "vc_mswunivdll\test"
 # PROP Target_Dir ""
-# ADD BASE CPP /nologo /FD /GR /GX /MD /Fdvc_mswunivdll\test.pdb /O1 /GR /GX /I ".\..\include" /I ".\..\lib\vc_dll\mswuniv" /W4 /I "." /D "WIN32" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "WXUSINGDLL" /D "_CONSOLE" /c
-# ADD CPP /nologo /FD /GR /GX /MD /Fdvc_mswunivdll\test.pdb /O1 /GR /GX /I ".\..\include" /I ".\..\lib\vc_dll\mswuniv" /W4 /I "." /D "WIN32" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "WXUSINGDLL" /D "_CONSOLE" /c
+# ADD BASE CPP /nologo /FD /MD /Fdvc_mswunivdll\test.pdb /O1 /GR /GX /I ".\..\include" /I ".\..\lib\vc_dll\mswuniv" /W4 /I "." /D "WIN32" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "WXUSINGDLL" /D "_CONSOLE" /c
+# ADD CPP /nologo /FD /MD /Fdvc_mswunivdll\test.pdb /O1 /GR /GX /I ".\..\include" /I ".\..\lib\vc_dll\mswuniv" /W4 /I "." /D "WIN32" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "WXUSINGDLL" /D "_CONSOLE" /c
 # ADD BASE RSC /l 0x405 /d "__WXMSW__" /d "__WXUNIVERSAL__" /i ".\..\include" /i ".\..\lib\vc_dll\mswuniv" /i "." /d "WXUSINGDLL" /d _CONSOLE
 # ADD RSC /l 0x405 /d "__WXMSW__" /d "__WXUNIVERSAL__" /i ".\..\include" /i ".\..\lib\vc_dll\mswuniv" /i "." /d "WXUSINGDLL" /d _CONSOLE
 BSC32=bscmake.exe
@@ -123,8 +123,8 @@ LINK32=link.exe
 # PROP Output_Dir "vc_mswunivddll"
 # PROP Intermediate_Dir "vc_mswunivddll\test"
 # PROP Target_Dir ""
-# ADD BASE CPP /nologo /FD /GR /GX /MDd /Zi /Gm /GZ /Fdvc_mswunivddll\test.pdb /Od /GR /GX /I ".\..\include" /I ".\..\lib\vc_dll\mswunivd" /W4 /I "." /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "WXUSINGDLL" /D "_CONSOLE" /c
-# ADD CPP /nologo /FD /GR /GX /MDd /Zi /Gm /GZ /Fdvc_mswunivddll\test.pdb /Od /GR /GX /I ".\..\include" /I ".\..\lib\vc_dll\mswunivd" /W4 /I "." /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "WXUSINGDLL" /D "_CONSOLE" /c
+# ADD BASE CPP /nologo /FD /MDd /Zi /Gm /GZ /Fdvc_mswunivddll\test.pdb /Od /GR /GX /I ".\..\include" /I ".\..\lib\vc_dll\mswunivd" /W4 /I "." /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "WXUSINGDLL" /D "_CONSOLE" /c
+# ADD CPP /nologo /FD /MDd /Zi /Gm /GZ /Fdvc_mswunivddll\test.pdb /Od /GR /GX /I ".\..\include" /I ".\..\lib\vc_dll\mswunivd" /W4 /I "." /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "WXUSINGDLL" /D "_CONSOLE" /c
 # ADD BASE RSC /l 0x405 /d "_DEBUG" /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "__WXDEBUG__" /i ".\..\include" /i ".\..\lib\vc_dll\mswunivd" /i "." /d "WXUSINGDLL" /d _CONSOLE
 # ADD RSC /l 0x405 /d "_DEBUG" /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "__WXDEBUG__" /i ".\..\include" /i ".\..\lib\vc_dll\mswunivd" /i "." /d "WXUSINGDLL" /d _CONSOLE
 BSC32=bscmake.exe
@@ -146,8 +146,8 @@ LINK32=link.exe
 # PROP Output_Dir "vc_mswudll"
 # PROP Intermediate_Dir "vc_mswudll\test"
 # PROP Target_Dir ""
-# ADD BASE CPP /nologo /FD /GR /GX /MD /Fdvc_mswudll\test.pdb /O1 /GR /GX /I ".\..\include" /I ".\..\lib\vc_dll\mswu" /W4 /I "." /D "WIN32" /D "__WXMSW__" /D "_UNICODE" /D "WXUSINGDLL" /D "_CONSOLE" /c
-# ADD CPP /nologo /FD /GR /GX /MD /Fdvc_mswudll\test.pdb /O1 /GR /GX /I ".\..\include" /I ".\..\lib\vc_dll\mswu" /W4 /I "." /D "WIN32" /D "__WXMSW__" /D "_UNICODE" /D "WXUSINGDLL" /D "_CONSOLE" /c
+# ADD BASE CPP /nologo /FD /MD /Fdvc_mswudll\test.pdb /O1 /GR /GX /I ".\..\include" /I ".\..\lib\vc_dll\mswu" /W4 /I "." /D "WIN32" /D "__WXMSW__" /D "_UNICODE" /D "WXUSINGDLL" /D "_CONSOLE" /c
+# ADD CPP /nologo /FD /MD /Fdvc_mswudll\test.pdb /O1 /GR /GX /I ".\..\include" /I ".\..\lib\vc_dll\mswu" /W4 /I "." /D "WIN32" /D "__WXMSW__" /D "_UNICODE" /D "WXUSINGDLL" /D "_CONSOLE" /c
 # ADD BASE RSC /l 0x405 /d "__WXMSW__" /d "_UNICODE" /i ".\..\include" /i ".\..\lib\vc_dll\mswu" /i "." /d "WXUSINGDLL" /d _CONSOLE
 # ADD RSC /l 0x405 /d "__WXMSW__" /d "_UNICODE" /i ".\..\include" /i ".\..\lib\vc_dll\mswu" /i "." /d "WXUSINGDLL" /d _CONSOLE
 BSC32=bscmake.exe
@@ -169,8 +169,8 @@ LINK32=link.exe
 # PROP Output_Dir "vc_mswuddll"
 # PROP Intermediate_Dir "vc_mswuddll\test"
 # PROP Target_Dir ""
-# ADD BASE CPP /nologo /FD /GR /GX /MDd /Zi /Gm /GZ /Fdvc_mswuddll\test.pdb /Od /GR /GX /I ".\..\include" /I ".\..\lib\vc_dll\mswud" /W4 /I "." /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "_UNICODE" /D "WXUSINGDLL" /D "_CONSOLE" /c
-# ADD CPP /nologo /FD /GR /GX /MDd /Zi /Gm /GZ /Fdvc_mswuddll\test.pdb /Od /GR /GX /I ".\..\include" /I ".\..\lib\vc_dll\mswud" /W4 /I "." /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "_UNICODE" /D "WXUSINGDLL" /D "_CONSOLE" /c
+# ADD BASE CPP /nologo /FD /MDd /Zi /Gm /GZ /Fdvc_mswuddll\test.pdb /Od /GR /GX /I ".\..\include" /I ".\..\lib\vc_dll\mswud" /W4 /I "." /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "_UNICODE" /D "WXUSINGDLL" /D "_CONSOLE" /c
+# ADD CPP /nologo /FD /MDd /Zi /Gm /GZ /Fdvc_mswuddll\test.pdb /Od /GR /GX /I ".\..\include" /I ".\..\lib\vc_dll\mswud" /W4 /I "." /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "_UNICODE" /D "WXUSINGDLL" /D "_CONSOLE" /c
 # ADD BASE RSC /l 0x405 /d "_DEBUG" /d "__WXMSW__" /d "__WXDEBUG__" /d "_UNICODE" /i ".\..\include" /i ".\..\lib\vc_dll\mswud" /i "." /d "WXUSINGDLL" /d _CONSOLE
 # ADD RSC /l 0x405 /d "_DEBUG" /d "__WXMSW__" /d "__WXDEBUG__" /d "_UNICODE" /i ".\..\include" /i ".\..\lib\vc_dll\mswud" /i "." /d "WXUSINGDLL" /d _CONSOLE
 BSC32=bscmake.exe
@@ -192,8 +192,8 @@ LINK32=link.exe
 # PROP Output_Dir "vc_mswdll"
 # PROP Intermediate_Dir "vc_mswdll\test"
 # PROP Target_Dir ""
-# ADD BASE CPP /nologo /FD /GR /GX /MD /Fdvc_mswdll\test.pdb /O1 /GR /GX /I ".\..\include" /I ".\..\lib\vc_dll\msw" /W4 /I "." /D "WIN32" /D "__WXMSW__" /D "WXUSINGDLL" /D "_CONSOLE" /c
-# ADD CPP /nologo /FD /GR /GX /MD /Fdvc_mswdll\test.pdb /O1 /GR /GX /I ".\..\include" /I ".\..\lib\vc_dll\msw" /W4 /I "." /D "WIN32" /D "__WXMSW__" /D "WXUSINGDLL" /D "_CONSOLE" /c
+# ADD BASE CPP /nologo /FD /MD /Fdvc_mswdll\test.pdb /O1 /GR /GX /I ".\..\include" /I ".\..\lib\vc_dll\msw" /W4 /I "." /D "WIN32" /D "__WXMSW__" /D "WXUSINGDLL" /D "_CONSOLE" /c
+# ADD CPP /nologo /FD /MD /Fdvc_mswdll\test.pdb /O1 /GR /GX /I ".\..\include" /I ".\..\lib\vc_dll\msw" /W4 /I "." /D "WIN32" /D "__WXMSW__" /D "WXUSINGDLL" /D "_CONSOLE" /c
 # ADD BASE RSC /l 0x405 /d "__WXMSW__" /i ".\..\include" /i ".\..\lib\vc_dll\msw" /i "." /d "WXUSINGDLL" /d _CONSOLE
 # ADD RSC /l 0x405 /d "__WXMSW__" /i ".\..\include" /i ".\..\lib\vc_dll\msw" /i "." /d "WXUSINGDLL" /d _CONSOLE
 BSC32=bscmake.exe
@@ -215,8 +215,8 @@ LINK32=link.exe
 # PROP Output_Dir "vc_mswddll"
 # PROP Intermediate_Dir "vc_mswddll\test"
 # PROP Target_Dir ""
-# ADD BASE CPP /nologo /FD /GR /GX /MDd /Zi /Gm /GZ /Fdvc_mswddll\test.pdb /Od /GR /GX /I ".\..\include" /I ".\..\lib\vc_dll\mswd" /W4 /I "." /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "WXUSINGDLL" /D "_CONSOLE" /c
-# ADD CPP /nologo /FD /GR /GX /MDd /Zi /Gm /GZ /Fdvc_mswddll\test.pdb /Od /GR /GX /I ".\..\include" /I ".\..\lib\vc_dll\mswd" /W4 /I "." /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "WXUSINGDLL" /D "_CONSOLE" /c
+# ADD BASE CPP /nologo /FD /MDd /Zi /Gm /GZ /Fdvc_mswddll\test.pdb /Od /GR /GX /I ".\..\include" /I ".\..\lib\vc_dll\mswd" /W4 /I "." /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "WXUSINGDLL" /D "_CONSOLE" /c
+# ADD CPP /nologo /FD /MDd /Zi /Gm /GZ /Fdvc_mswddll\test.pdb /Od /GR /GX /I ".\..\include" /I ".\..\lib\vc_dll\mswd" /W4 /I "." /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "WXUSINGDLL" /D "_CONSOLE" /c
 # ADD BASE RSC /l 0x405 /d "_DEBUG" /d "__WXMSW__" /d "__WXDEBUG__" /i ".\..\include" /i ".\..\lib\vc_dll\mswd" /i "." /d "WXUSINGDLL" /d _CONSOLE
 # ADD RSC /l 0x405 /d "_DEBUG" /d "__WXMSW__" /d "__WXDEBUG__" /i ".\..\include" /i ".\..\lib\vc_dll\mswd" /i "." /d "WXUSINGDLL" /d _CONSOLE
 BSC32=bscmake.exe
@@ -238,8 +238,8 @@ LINK32=link.exe
 # PROP Output_Dir "vc_mswunivu"
 # PROP Intermediate_Dir "vc_mswunivu\test"
 # PROP Target_Dir ""
-# ADD BASE CPP /nologo /FD /GR /GX /MD /Fdvc_mswunivu\test.pdb /O1 /GR /GX /I ".\..\include" /I ".\..\lib\vc_lib\mswunivu" /W4 /I "." /D "WIN32" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_UNICODE" /D "_CONSOLE" /c
-# ADD CPP /nologo /FD /GR /GX /MD /Fdvc_mswunivu\test.pdb /O1 /GR /GX /I ".\..\include" /I ".\..\lib\vc_lib\mswunivu" /W4 /I "." /D "WIN32" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_UNICODE" /D "_CONSOLE" /c
+# ADD BASE CPP /nologo /FD /MD /Fdvc_mswunivu\test.pdb /O1 /GR /GX /I ".\..\include" /I ".\..\lib\vc_lib\mswunivu" /W4 /I "." /D "WIN32" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_UNICODE" /D "_CONSOLE" /c
+# ADD CPP /nologo /FD /MD /Fdvc_mswunivu\test.pdb /O1 /GR /GX /I ".\..\include" /I ".\..\lib\vc_lib\mswunivu" /W4 /I "." /D "WIN32" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_UNICODE" /D "_CONSOLE" /c
 # ADD BASE RSC /l 0x405 /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "_UNICODE" /i ".\..\include" /i ".\..\lib\vc_lib\mswunivu" /i "." /d _CONSOLE
 # ADD RSC /l 0x405 /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "_UNICODE" /i ".\..\include" /i ".\..\lib\vc_lib\mswunivu" /i "." /d _CONSOLE
 BSC32=bscmake.exe
@@ -261,8 +261,8 @@ LINK32=link.exe
 # PROP Output_Dir "vc_mswunivud"
 # PROP Intermediate_Dir "vc_mswunivud\test"
 # PROP Target_Dir ""
-# ADD BASE CPP /nologo /FD /GR /GX /MDd /Zi /Gm /GZ /Fdvc_mswunivud\test.pdb /Od /GR /GX /I ".\..\include" /I ".\..\lib\vc_lib\mswunivud" /W4 /I "." /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "_UNICODE" /D "_CONSOLE" /c
-# ADD CPP /nologo /FD /GR /GX /MDd /Zi /Gm /GZ /Fdvc_mswunivud\test.pdb /Od /GR /GX /I ".\..\include" /I ".\..\lib\vc_lib\mswunivud" /W4 /I "." /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "_UNICODE" /D "_CONSOLE" /c
+# ADD BASE CPP /nologo /FD /MDd /Zi /Gm /GZ /Fdvc_mswunivud\test.pdb /Od /GR /GX /I ".\..\include" /I ".\..\lib\vc_lib\mswunivud" /W4 /I "." /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "_UNICODE" /D "_CONSOLE" /c
+# ADD CPP /nologo /FD /MDd /Zi /Gm /GZ /Fdvc_mswunivud\test.pdb /Od /GR /GX /I ".\..\include" /I ".\..\lib\vc_lib\mswunivud" /W4 /I "." /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "_UNICODE" /D "_CONSOLE" /c
 # ADD BASE RSC /l 0x405 /d "_DEBUG" /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "__WXDEBUG__" /d "_UNICODE" /i ".\..\include" /i ".\..\lib\vc_lib\mswunivud" /i "." /d _CONSOLE
 # ADD RSC /l 0x405 /d "_DEBUG" /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "__WXDEBUG__" /d "_UNICODE" /i ".\..\include" /i ".\..\lib\vc_lib\mswunivud" /i "." /d _CONSOLE
 BSC32=bscmake.exe
@@ -284,8 +284,8 @@ LINK32=link.exe
 # PROP Output_Dir "vc_mswuniv"
 # PROP Intermediate_Dir "vc_mswuniv\test"
 # PROP Target_Dir ""
-# ADD BASE CPP /nologo /FD /GR /GX /MD /Fdvc_mswuniv\test.pdb /O1 /GR /GX /I ".\..\include" /I ".\..\lib\vc_lib\mswuniv" /W4 /I "." /D "WIN32" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_CONSOLE" /c
-# ADD CPP /nologo /FD /GR /GX /MD /Fdvc_mswuniv\test.pdb /O1 /GR /GX /I ".\..\include" /I ".\..\lib\vc_lib\mswuniv" /W4 /I "." /D "WIN32" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_CONSOLE" /c
+# ADD BASE CPP /nologo /FD /MD /Fdvc_mswuniv\test.pdb /O1 /GR /GX /I ".\..\include" /I ".\..\lib\vc_lib\mswuniv" /W4 /I "." /D "WIN32" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_CONSOLE" /c
+# ADD CPP /nologo /FD /MD /Fdvc_mswuniv\test.pdb /O1 /GR /GX /I ".\..\include" /I ".\..\lib\vc_lib\mswuniv" /W4 /I "." /D "WIN32" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_CONSOLE" /c
 # ADD BASE RSC /l 0x405 /d "__WXMSW__" /d "__WXUNIVERSAL__" /i ".\..\include" /i ".\..\lib\vc_lib\mswuniv" /i "." /d _CONSOLE
 # ADD RSC /l 0x405 /d "__WXMSW__" /d "__WXUNIVERSAL__" /i ".\..\include" /i ".\..\lib\vc_lib\mswuniv" /i "." /d _CONSOLE
 BSC32=bscmake.exe
@@ -307,8 +307,8 @@ LINK32=link.exe
 # PROP Output_Dir "vc_mswunivd"
 # PROP Intermediate_Dir "vc_mswunivd\test"
 # PROP Target_Dir ""
-# ADD BASE CPP /nologo /FD /GR /GX /MDd /Zi /Gm /GZ /Fdvc_mswunivd\test.pdb /Od /GR /GX /I ".\..\include" /I ".\..\lib\vc_lib\mswunivd" /W4 /I "." /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "_CONSOLE" /c
-# ADD CPP /nologo /FD /GR /GX /MDd /Zi /Gm /GZ /Fdvc_mswunivd\test.pdb /Od /GR /GX /I ".\..\include" /I ".\..\lib\vc_lib\mswunivd" /W4 /I "." /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "_CONSOLE" /c
+# ADD BASE CPP /nologo /FD /MDd /Zi /Gm /GZ /Fdvc_mswunivd\test.pdb /Od /GR /GX /I ".\..\include" /I ".\..\lib\vc_lib\mswunivd" /W4 /I "." /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "_CONSOLE" /c
+# ADD CPP /nologo /FD /MDd /Zi /Gm /GZ /Fdvc_mswunivd\test.pdb /Od /GR /GX /I ".\..\include" /I ".\..\lib\vc_lib\mswunivd" /W4 /I "." /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "_CONSOLE" /c
 # ADD BASE RSC /l 0x405 /d "_DEBUG" /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "__WXDEBUG__" /i ".\..\include" /i ".\..\lib\vc_lib\mswunivd" /i "." /d _CONSOLE
 # ADD RSC /l 0x405 /d "_DEBUG" /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "__WXDEBUG__" /i ".\..\include" /i ".\..\lib\vc_lib\mswunivd" /i "." /d _CONSOLE
 BSC32=bscmake.exe
@@ -330,8 +330,8 @@ LINK32=link.exe
 # PROP Output_Dir "vc_mswu"
 # PROP Intermediate_Dir "vc_mswu\test"
 # PROP Target_Dir ""
-# ADD BASE CPP /nologo /FD /GR /GX /MD /Fdvc_mswu\test.pdb /O1 /GR /GX /I ".\..\include" /I ".\..\lib\vc_lib\mswu" /W4 /I "." /D "WIN32" /D "__WXMSW__" /D "_UNICODE" /D "_CONSOLE" /c
-# ADD CPP /nologo /FD /GR /GX /MD /Fdvc_mswu\test.pdb /O1 /GR /GX /I ".\..\include" /I ".\..\lib\vc_lib\mswu" /W4 /I "." /D "WIN32" /D "__WXMSW__" /D "_UNICODE" /D "_CONSOLE" /c
+# ADD BASE CPP /nologo /FD /MD /Fdvc_mswu\test.pdb /O1 /GR /GX /I ".\..\include" /I ".\..\lib\vc_lib\mswu" /W4 /I "." /D "WIN32" /D "__WXMSW__" /D "_UNICODE" /D "_CONSOLE" /c
+# ADD CPP /nologo /FD /MD /Fdvc_mswu\test.pdb /O1 /GR /GX /I ".\..\include" /I ".\..\lib\vc_lib\mswu" /W4 /I "." /D "WIN32" /D "__WXMSW__" /D "_UNICODE" /D "_CONSOLE" /c
 # ADD BASE RSC /l 0x405 /d "__WXMSW__" /d "_UNICODE" /i ".\..\include" /i ".\..\lib\vc_lib\mswu" /i "." /d _CONSOLE
 # ADD RSC /l 0x405 /d "__WXMSW__" /d "_UNICODE" /i ".\..\include" /i ".\..\lib\vc_lib\mswu" /i "." /d _CONSOLE
 BSC32=bscmake.exe
@@ -353,8 +353,8 @@ LINK32=link.exe
 # PROP Output_Dir "vc_mswud"
 # PROP Intermediate_Dir "vc_mswud\test"
 # PROP Target_Dir ""
-# ADD BASE CPP /nologo /FD /GR /GX /MDd /Zi /Gm /GZ /Fdvc_mswud\test.pdb /Od /GR /GX /I ".\..\include" /I ".\..\lib\vc_lib\mswud" /W4 /I "." /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "_UNICODE" /D "_CONSOLE" /c
-# ADD CPP /nologo /FD /GR /GX /MDd /Zi /Gm /GZ /Fdvc_mswud\test.pdb /Od /GR /GX /I ".\..\include" /I ".\..\lib\vc_lib\mswud" /W4 /I "." /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "_UNICODE" /D "_CONSOLE" /c
+# ADD BASE CPP /nologo /FD /MDd /Zi /Gm /GZ /Fdvc_mswud\test.pdb /Od /GR /GX /I ".\..\include" /I ".\..\lib\vc_lib\mswud" /W4 /I "." /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "_UNICODE" /D "_CONSOLE" /c
+# ADD CPP /nologo /FD /MDd /Zi /Gm /GZ /Fdvc_mswud\test.pdb /Od /GR /GX /I ".\..\include" /I ".\..\lib\vc_lib\mswud" /W4 /I "." /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "_UNICODE" /D "_CONSOLE" /c
 # ADD BASE RSC /l 0x405 /d "_DEBUG" /d "__WXMSW__" /d "__WXDEBUG__" /d "_UNICODE" /i ".\..\include" /i ".\..\lib\vc_lib\mswud" /i "." /d _CONSOLE
 # ADD RSC /l 0x405 /d "_DEBUG" /d "__WXMSW__" /d "__WXDEBUG__" /d "_UNICODE" /i ".\..\include" /i ".\..\lib\vc_lib\mswud" /i "." /d _CONSOLE
 BSC32=bscmake.exe
@@ -376,8 +376,8 @@ LINK32=link.exe
 # PROP Output_Dir "vc_msw"
 # PROP Intermediate_Dir "vc_msw\test"
 # PROP Target_Dir ""
-# ADD BASE CPP /nologo /FD /GR /GX /MD /Fdvc_msw\test.pdb /O1 /GR /GX /I ".\..\include" /I ".\..\lib\vc_lib\msw" /W4 /I "." /D "WIN32" /D "__WXMSW__" /D "_CONSOLE" /c
-# ADD CPP /nologo /FD /GR /GX /MD /Fdvc_msw\test.pdb /O1 /GR /GX /I ".\..\include" /I ".\..\lib\vc_lib\msw" /W4 /I "." /D "WIN32" /D "__WXMSW__" /D "_CONSOLE" /c
+# ADD BASE CPP /nologo /FD /MD /Fdvc_msw\test.pdb /O1 /GR /GX /I ".\..\include" /I ".\..\lib\vc_lib\msw" /W4 /I "." /D "WIN32" /D "__WXMSW__" /D "_CONSOLE" /c
+# ADD CPP /nologo /FD /MD /Fdvc_msw\test.pdb /O1 /GR /GX /I ".\..\include" /I ".\..\lib\vc_lib\msw" /W4 /I "." /D "WIN32" /D "__WXMSW__" /D "_CONSOLE" /c
 # ADD BASE RSC /l 0x405 /d "__WXMSW__" /i ".\..\include" /i ".\..\lib\vc_lib\msw" /i "." /d _CONSOLE
 # ADD RSC /l 0x405 /d "__WXMSW__" /i ".\..\include" /i ".\..\lib\vc_lib\msw" /i "." /d _CONSOLE
 BSC32=bscmake.exe
@@ -399,8 +399,8 @@ LINK32=link.exe
 # PROP Output_Dir "vc_mswd"
 # PROP Intermediate_Dir "vc_mswd\test"
 # PROP Target_Dir ""
-# ADD BASE CPP /nologo /FD /GR /GX /MDd /Zi /Gm /GZ /Fdvc_mswd\test.pdb /Od /GR /GX /I ".\..\include" /I ".\..\lib\vc_lib\mswd" /W4 /I "." /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "_CONSOLE" /c
-# ADD CPP /nologo /FD /GR /GX /MDd /Zi /Gm /GZ /Fdvc_mswd\test.pdb /Od /GR /GX /I ".\..\include" /I ".\..\lib\vc_lib\mswd" /W4 /I "." /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "_CONSOLE" /c
+# ADD BASE CPP /nologo /FD /MDd /Zi /Gm /GZ /Fdvc_mswd\test.pdb /Od /GR /GX /I ".\..\include" /I ".\..\lib\vc_lib\mswd" /W4 /I "." /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "_CONSOLE" /c
+# ADD CPP /nologo /FD /MDd /Zi /Gm /GZ /Fdvc_mswd\test.pdb /Od /GR /GX /I ".\..\include" /I ".\..\lib\vc_lib\mswd" /W4 /I "." /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "_CONSOLE" /c
 # ADD BASE RSC /l 0x405 /d "_DEBUG" /d "__WXMSW__" /d "__WXDEBUG__" /i ".\..\include" /i ".\..\lib\vc_lib\mswd" /i "." /d _CONSOLE
 # ADD RSC /l 0x405 /d "_DEBUG" /d "__WXMSW__" /d "__WXDEBUG__" /i ".\..\include" /i ".\..\lib\vc_lib\mswd" /i "." /d _CONSOLE
 BSC32=bscmake.exe
@@ -447,6 +447,10 @@ SOURCE=.\formatconverter\formatconverter.cpp
 # End Source File
 # Begin Source File
 
+SOURCE=.\longlong\longlong.cpp
+# End Source File
+# Begin Source File
+
 SOURCE=.\mbconv\main.cpp
 # End Source File
 # Begin Source File