MediaWiki API result

This is the HTML representation of the JSON format. HTML is good for debugging, but is unsuitable for application use.

Specify the format parameter to change the output format. To see the non-HTML representation of the JSON format, set format=json.

See the complete documentation, or the API help for more information.

{
    "batchcomplete": "",
    "continue": {
        "gapcontinue": "SX_ACE_optimizing",
        "continue": "gapcontinue||"
    },
    "warnings": {
        "main": {
            "*": "Subscribe to the mediawiki-api-announce mailing list at <https://lists.wikimedia.org/postorius/lists/mediawiki-api-announce.lists.wikimedia.org/> for notice of API deprecations and breaking changes."
        },
        "revisions": {
            "*": "Because \"rvslots\" was not specified, a legacy format has been used for the output. This format is deprecated, and in the future the new format will always be used."
        }
    },
    "query": {
        "pages": {
            "1509": {
                "pageid": 1509,
                "ns": 0,
                "title": "SVN",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "{{Infobox software\n| description = In software development, '''Subversion''' (SVN) is a version-control system initiated in 1999 by CollabNet Inc. Developers use Subversion to maintain current and historical versions of files such as source code, web pages, and documentation. Its goal is to be a mostly-compatible successor to the widely used Concurrent Versions System ([[CVS]]).\n| developer              = CollabNet, Elego, WANdisco\n| available on       =\n| category                  = [[:Category:Revision Control | Revision Control]]\n| license                = Apache License\n| website                = [http://subversion.apache.org/ SVN homepage] \n}}\n\n== Usage ==\nThe online home of [http://svnbook.red-bean.com/ Version Control with Subversion] provides detailed information about all SVN commands. You can checkout your SVN project like this:\n{{Command|command =\nsvn co --username $username https://svn.gforge.hlrs.de/svn/$projectname $path\n}}\nIf $path is not provided a new subdirectory $projectname will be created. You can upload changes like this:\n{{Command|command =\nsvn ci\n}}\nIn order to update your local copy use the update command:\n{{Command|command =\nsvn up\n}}\nFiles and directories can be removed with \n{{Command|command =\nsvn rm $filename\n}}\nand added with\n{{Command|command = \nsvn add $filename\n}}\nWith the command\n{{Command|command =\nsvn help\n}}\nthe help page of SVN is displayed.\n\n== Hazelhen special ==\n\nTo use svn on Hazelhen load the corresponding module\n{{Command | command =\nmodule load tools/svn\n}}\n\n== See also ==\n* [[Software Development Tools, Compilers & Libraries]]\n* [[HLRS GForge]]\n* [[Secure Shell ssh#ssh tunnel | ssh tunnel for svn]]\n\n== External links ==\n* [http://subversion.apache.org/ SVN homepage]\n* [http://svnbook.red-bean.com/ SVN Book]\n\n[[Category:Revision Control]]"
                    }
                ]
            },
            "1684": {
                "pageid": 1684,
                "ns": 0,
                "title": "SX ACE Porting",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "== general approach ==\n\nCompilation is done using crosscompilers on frontend kabuki.\n\n=== simple case: you have a makefile ===\n\ninsert name of proper cross-compilation tools into your makefile.\nThe crosstools habe the prefix ''sx''.\n\nNamely there is:\n\n;sxf90\n: compiler for Fortran90/Fortran95 with some Fortran2003 features (-f2003)\n;sxf03\n: compiler for Fortran2003 with some Fortran2008 features\n;sxcc\n: compiler for C89 and C99 (use ''sxcc -Kc99'' for C99)\n;sxc++\n: compiler for C++ (ISO standard compliant, mostly C++14)\n;sxmpif90/sxmpif03/sxmpicc/sxmpic++\n: wrappers for MPI compilation, they link the MPI libraries without extra options (and do it right)\n;sxmake\n: make command as on SX, can deal with dependencies referencing objects within libraries, but does not support GNU extensions\n;sxar\n: tool to create SX libraries (that one is often forgotten when editing makefiles!)\n;sxnm\n: tool to display symbol names of SX objects\n;sxsize\n: tool to display sizes of objects \n;sxcpp\n: preprocessor if called explicit\n;sxld\n: linker\n;sxstrip\n: tool to strip symbold from objects\n;sxas\n: assembler\n;sxftrace\n: tool to format ftrace performance traces\n;sxprof\n: tool to format profiling information generated with -p\n\nAs frontend has multiple cores, parallel compilation using\n\n make -j 4\n\nor\n\n sxmake -P\n\ncan be used.\n\n\n\n== tips and traps ==\n\nThis is a collection of '''pitfalls''' people use to get trapped when porting to SX.\n\n* Code dumps core after C malloc() is used. Make sure you include stdlib.h when using malloc(), otherwise, return value is assumed to be int (C standard), and the SX calling convention strips significant bits from the address. Make sure outcome of malloc() is never assigned to int, SX is LP64, not ILP64, a pointer does not fit into an int.\n\n* size_t is 32bit by default for historical reasons while sizeof(void *) is 64bit. So, only 2GB of memory can be allocated with malloc(). Use '''-size_t64''' for C, C++ or Fortran compilers to get rid of that restriction.\n\n* My C code seems to have a problem with integer divisions. SX uses 56bit precision division for 64bit integer types per default. Use '''-xint''' switch to get full 64bit division (and loose some performance).\n\n* Code stops with ''Loop count is greater than that assumed by the compiler: loop-count=n'' Compiler has sometimes to make a guess about loop length, to be able to allocate some work vectors (only for partially vectorized loops). This educated guess might be wrong. Help the compiler by giving ''-W,-pvctl,noassume,loopcnt=n'' where n is the maximum loop count, or a larger value, or use ''-W,pvctl=vwork=stack'' to allocate this work vectors on stack at runtime.\n\n* How are Fortran function names in the calling convention? Simply write them lowercase and append an underscore. Example:\n\n      \t\tPROGRAM TEST\n      \t\tCALL CFUNC(5)\n      \t\tEND\n\n      \t\tvoid cfunc_(int *a) {\n      \t\t}\n\n* What about parameters? Fortran is passing by reference, so use pointers in C for scalars. Character strings lead to an additional parameter of type long at the end of the parameter list, containing the length of the string. See C compilers manual chapter 4 for details.\n\n* How to link when C and Fortran are mixed? Link with f90. He makes it right. When using C++ or using C++/SX as C compiler, use C++/SX as linker, using the option -f90lib.\n\n* for modern C++ code (like Boost) this might work\n\n sxc++ -Krtti -Kusing_std -Kcpp11"
                    }
                ]
            }
        }
    }
}