1*447bcd8fSJacob Faibussowitsch #include <petscsys.h> 2*447bcd8fSJacob Faibussowitsch 3*447bcd8fSJacob Faibussowitsch typedef int testType; 4*447bcd8fSJacob Faibussowitsch 5*447bcd8fSJacob Faibussowitsch /*@C 6*447bcd8fSJacob Faibussowitsch testWellFormedFunctionDocString - Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor 7*447bcd8fSJacob Faibussowitsch incididunt ut labore et dolore magna aliqua. 8*447bcd8fSJacob Faibussowitsch 9*447bcd8fSJacob Faibussowitsch Not Collective, Synchronous 10*447bcd8fSJacob Faibussowitsch 11*447bcd8fSJacob Faibussowitsch Input Parameters: 12*447bcd8fSJacob Faibussowitsch + viewer - a PetscViewer 13*447bcd8fSJacob Faibussowitsch - x - an int 14*447bcd8fSJacob Faibussowitsch 15*447bcd8fSJacob Faibussowitsch Output Parameter: 16*447bcd8fSJacob Faibussowitsch + viewer2 - a PetscViewer 17*447bcd8fSJacob Faibussowitsch - y - a pointer 18*447bcd8fSJacob Faibussowitsch 19*447bcd8fSJacob Faibussowitsch Notes: 20*447bcd8fSJacob Faibussowitsch Lorem ipsum dolor sit amet, for example\: 21*447bcd8fSJacob Faibussowitsch 22*447bcd8fSJacob Faibussowitsch Level: beginner 23*447bcd8fSJacob Faibussowitsch 24*447bcd8fSJacob Faibussowitsch References: 25*447bcd8fSJacob Faibussowitsch Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. 26*447bcd8fSJacob Faibussowitsch 27*447bcd8fSJacob Faibussowitsch .seealso: `testIllFormedFunctionDocString()`, `testType` 28*447bcd8fSJacob Faibussowitsch C@*/ 29*447bcd8fSJacob Faibussowitsch PetscErrorCode testWellFormedFunctionDocString(PetscViewer viewer, PetscInt x, PetscViewer viewer2, PetscScalar *y) 30*447bcd8fSJacob Faibussowitsch { 31*447bcd8fSJacob Faibussowitsch return 0; 32*447bcd8fSJacob Faibussowitsch } 33*447bcd8fSJacob Faibussowitsch 34*447bcd8fSJacob Faibussowitsch /*@C Lorem ipsum dolor sit amet 35*447bcd8fSJacob Faibussowitsch someOtherFunctionName - Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do 36*447bcd8fSJacob Faibussowitsch eiusmod tempor incididunt ut labore et dolore magna aliqua. Excepteur sint occaecat cupidatat 37*447bcd8fSJacob Faibussowitsch non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Sed ut 38*447bcd8fSJacob Faibussowitsch perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, 39*447bcd8fSJacob Faibussowitsch totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae 40*447bcd8fSJacob Faibussowitsch vitae dicta sunt explicabo. 41*447bcd8fSJacob Faibussowitsch 42*447bcd8fSJacob Faibussowitsch Not Collective, Synchronous 43*447bcd8fSJacob Faibussowitsch 44*447bcd8fSJacob Faibussowitsch Input Parameters: 45*447bcd8fSJacob Faibussowitsch + viewer - a PetscViewer 46*447bcd8fSJacob Faibussowitsch 47*447bcd8fSJacob Faibussowitsch Output Parameter: 48*447bcd8fSJacob Faibussowitsch - y - a pointer 49*447bcd8fSJacob Faibussowitsch + cnd - a boolean 50*447bcd8fSJacob Faibussowitsch . z - a nonexistent parameter 51*447bcd8fSJacob Faibussowitsch 52*447bcd8fSJacob Faibussowitsch level: Lorem ipsum dolor sit amet 53*447bcd8fSJacob Faibussowitsch 54*447bcd8fSJacob Faibussowitsch Level: 55*447bcd8fSJacob Faibussowitsch Beginner 56*447bcd8fSJacob Faibussowitsch 57*447bcd8fSJacob Faibussowitsch Developer Notes: 58*447bcd8fSJacob Faibussowitsch Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut 59*447bcd8fSJacob Faibussowitsch labore et dolore magna aliqua. Excepteur sint occaecat cupidatat non proident, sunt in culpa 60*447bcd8fSJacob Faibussowitsch qui officia deserunt mollit anim id est laborum as follows: 61*447bcd8fSJacob Faibussowitsch 62*447bcd8fSJacob Faibussowitsch Notes Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor 63*447bcd8fSJacob Faibussowitsch incididunt ut labore et dolore magna aliqua. Excepteur sint occaecat cupidatat non proident, 64*447bcd8fSJacob Faibussowitsch sunt in culpa qui officia deserunt mollit anim id est laborum example. 65*447bcd8fSJacob Faibussowitsch 66*447bcd8fSJacob Faibussowitsch Fortran Notes: 67*447bcd8fSJacob Faibussowitsch Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut 68*447bcd8fSJacob Faibussowitsch labore et dolore magna aliqua. Excepteur sint occaecat cupidatat non proident, sunt in culpa 69*447bcd8fSJacob Faibussowitsch qui officia deserunt mollit anim id est laborum instance: 70*447bcd8fSJacob Faibussowitsch 71*447bcd8fSJacob Faibussowitsch References: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. 72*447bcd8fSJacob Faibussowitsch 73*447bcd8fSJacob Faibussowitsch .seealso: testNonExistentFunction(), testNonExistentType, 74*447bcd8fSJacob Faibussowitsch testIllFormedFunctionDocString(), `testNonExistentFunction()`, testIllFormedMinimalDocString() 75*447bcd8fSJacob Faibussowitsch @*/ 76*447bcd8fSJacob Faibussowitsch 77*447bcd8fSJacob Faibussowitsch PetscErrorCode testIllFormedFunctionDocString(PetscViewer viewer, PetscInt x, PetscScalar *y, PetscBool cond) 78*447bcd8fSJacob Faibussowitsch { 79*447bcd8fSJacob Faibussowitsch return 0; 80*447bcd8fSJacob Faibussowitsch } 81*447bcd8fSJacob Faibussowitsch 82*447bcd8fSJacob Faibussowitsch /* 83*447bcd8fSJacob Faibussowitsch Not Collective, Synchronous 84*447bcd8fSJacob Faibussowitsch 85*447bcd8fSJacob Faibussowitsch input parms: 86*447bcd8fSJacob Faibussowitsch . foo 87*447bcd8fSJacob Faibussowitsch 88*447bcd8fSJacob Faibussowitsch Output params: 89*447bcd8fSJacob Faibussowitsch + bar - 90*447bcd8fSJacob Faibussowitsch 91*447bcd8fSJacob Faibussowitsch References: 92*447bcd8fSJacob Faibussowitsch Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. 93*447bcd8fSJacob Faibussowitsch .seealso: testNonExistentFunction(), testNonExistentType,`testNonExistentFunction() 94*447bcd8fSJacob Faibussowitsch */ 95*447bcd8fSJacob Faibussowitsch PetscErrorCode testIllFormedMinimalDocString(void) 96*447bcd8fSJacob Faibussowitsch { 97*447bcd8fSJacob Faibussowitsch return 0; 98*447bcd8fSJacob Faibussowitsch } 99*447bcd8fSJacob Faibussowitsch 100*447bcd8fSJacob Faibussowitsch /*@C 101*447bcd8fSJacob Faibussowitsch testTerbleSpelingDocstring - Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do 102*447bcd8fSJacob Faibussowitsch eiusmod tempor incididunt ut labore et dolore magna aliqua. 103*447bcd8fSJacob Faibussowitsch 104*447bcd8fSJacob Faibussowitsch input prametirs: 105*447bcd8fSJacob Faibussowitsch + viewer - a PetsViewer 106*447bcd8fSJacob Faibussowitsch - x - a PetscInt 107*447bcd8fSJacob Faibussowitsch 108*447bcd8fSJacob Faibussowitsch output Psrammmetrs: 109*447bcd8fSJacob Faibussowitsch . y - a PetscScalar pointer 110*447bcd8fSJacob Faibussowitsch 111*447bcd8fSJacob Faibussowitsch optnS dtaaSE: 112*447bcd8fSJacob Faibussowitsch - -option_a - foo 113*447bcd8fSJacob Faibussowitsch - -option_b [filename][:[~]<foo,bar,baz>[:[~]bop]] - descr 114*447bcd8fSJacob Faibussowitsch lvl: itnmediate 115*447bcd8fSJacob Faibussowitsch 116*447bcd8fSJacob Faibussowitsch .zeeakso: 117*447bcd8fSJacob Faibussowitsch C@*/ 118*447bcd8fSJacob Faibussowitsch PetscErrorCode testTerribleSpellingDocString(PetscViewer viewer, PetscInt x, PetscScalar *y) 119*447bcd8fSJacob Faibussowitsch { 120*447bcd8fSJacob Faibussowitsch return 0; 121*447bcd8fSJacob Faibussowitsch } 122*447bcd8fSJacob Faibussowitsch 123*447bcd8fSJacob Faibussowitsch /*@ asdadsadasdas 124*447bcd8fSJacob Faibussowitsch testCustomFortranInterfaceDocString - Lorem ipsum dolor sit amet, consectetur adipiscing elit 125*447bcd8fSJacob Faibussowitsch 126*447bcd8fSJacob Faibussowitsch Input Parameters: 127*447bcd8fSJacob Faibussowitsch + string - a char pointer 128*447bcd8fSJacob Faibussowitsch - function_ptr - a function pointer 129*447bcd8fSJacob Faibussowitsch 130*447bcd8fSJacob Faibussowitsch Level: 131*447bcd8fSJacob Faibussowitsch 132*447bcd8fSJacob Faibussowitsch .seealso: Lorem(), `ipsum()`, dolor(), `sit(), `amet()`, consectetur(), adipiscing(), elit()` 133*447bcd8fSJacob Faibussowitsch @*/ 134*447bcd8fSJacob Faibussowitsch PetscErrorCode testCustomFortranInterfaceDocString(char *******string, PetscErrorCode (*function_ptr)(PetscInt)) 135*447bcd8fSJacob Faibussowitsch { 136*447bcd8fSJacob Faibussowitsch return 0; 137*447bcd8fSJacob Faibussowitsch } 138*447bcd8fSJacob Faibussowitsch 139*447bcd8fSJacob Faibussowitsch /* a random comment above a function */ 140*447bcd8fSJacob Faibussowitsch void function() { } 141*447bcd8fSJacob Faibussowitsch 142*447bcd8fSJacob Faibussowitsch PETSC_INTERN PetscErrorCode testInternFunction(); 143*447bcd8fSJacob Faibussowitsch 144*447bcd8fSJacob Faibussowitsch /*@ 145*447bcd8fSJacob Faibussowitsch testInternFunction - an internal function 146*447bcd8fSJacob Faibussowitsch 147*447bcd8fSJacob Faibussowitsch Level: developer 148*447bcd8fSJacob Faibussowitsch 149*447bcd8fSJacob Faibussowitsch .seealso: function() 150*447bcd8fSJacob Faibussowitsch @*/ 151*447bcd8fSJacob Faibussowitsch PetscErrorCode testInternFunction() 152*447bcd8fSJacob Faibussowitsch { 153*447bcd8fSJacob Faibussowitsch return 0; 154*447bcd8fSJacob Faibussowitsch } 155*447bcd8fSJacob Faibussowitsch 156*447bcd8fSJacob Faibussowitsch /*@ 157*447bcd8fSJacob Faibussowitsch testStaticFunction - an internal function 158*447bcd8fSJacob Faibussowitsch 159*447bcd8fSJacob Faibussowitsch Level: developer 160*447bcd8fSJacob Faibussowitsch 161*447bcd8fSJacob Faibussowitsch .seealso: function() 162*447bcd8fSJacob Faibussowitsch @*/ 163*447bcd8fSJacob Faibussowitsch static PetscErrorCode testStaticFunction() 164*447bcd8fSJacob Faibussowitsch { 165*447bcd8fSJacob Faibussowitsch return 0; 166*447bcd8fSJacob Faibussowitsch } 167*447bcd8fSJacob Faibussowitsch 168*447bcd8fSJacob Faibussowitsch /*@ 169*447bcd8fSJacob Faibussowitsch testAllParamsUndocumented - lorem 170*447bcd8fSJacob Faibussowitsch 171*447bcd8fSJacob Faibussowitsch Level: beginner developer 172*447bcd8fSJacob Faibussowitsch 173*447bcd8fSJacob Faibussowitsch Example Usage: 174*447bcd8fSJacob Faibussowitsch .vb 175*447bcd8fSJacob Faibussowitsch int a; 176*447bcd8fSJacob Faibussowitsch double multiline; 177*447bcd8fSJacob Faibussowitsch char codeBlock; 178*447bcd8fSJacob Faibussowitsch .ve 179*447bcd8fSJacob Faibussowitsch 180*447bcd8fSJacob Faibussowitsch .seealso: 181*447bcd8fSJacob Faibussowitsch @*/ 182*447bcd8fSJacob Faibussowitsch PetscErrorCode testAllParamsUndocumented(PetscInt a, PetscInt b) 183*447bcd8fSJacob Faibussowitsch { 184*447bcd8fSJacob Faibussowitsch return testStaticFunction(); 185*447bcd8fSJacob Faibussowitsch } 186*447bcd8fSJacob Faibussowitsch 187*447bcd8fSJacob Faibussowitsch /*@ 188*447bcd8fSJacob Faibussowitsch testParameterGrouping ipsum 189*447bcd8fSJacob Faibussowitsch 190*447bcd8fSJacob Faibussowitsch Input parameters: 191*447bcd8fSJacob Faibussowitsch - a,b - some params 192*447bcd8fSJacob Faibussowitsch + nonExistentParam - this param does not exist 193*447bcd8fSJacob Faibussowitsch . ... - variadic arguments 194*447bcd8fSJacob Faibussowitsch 195*447bcd8fSJacob Faibussowitsch Level dev 196*447bcd8fSJacob Faibussowitsch 197*447bcd8fSJacob Faibussowitsch .see also: testStaticFunction() 198*447bcd8fSJacob Faibussowitsch @*/ 199*447bcd8fSJacob Faibussowitsch PetscErrorCode testParameterGrouping(PetscInt a, PetscInt b, ...) 200*447bcd8fSJacob Faibussowitsch { 201*447bcd8fSJacob Faibussowitsch return 0; 202*447bcd8fSJacob Faibussowitsch } 203*447bcd8fSJacob Faibussowitsch 204*447bcd8fSJacob Faibussowitsch /*@ 205*447bcd8fSJacob Faibussowitsch testScatteredVerbatimBlocks - bla 206*447bcd8fSJacob Faibussowitsch 207*447bcd8fSJacob Faibussowitsch Input Parameters: 208*447bcd8fSJacob Faibussowitsch + alpha - an alpha 209*447bcd8fSJacob Faibussowitsch .vb 210*447bcd8fSJacob Faibussowitsch int a_code_block; 211*447bcd8fSJacob Faibussowitsch .ve 212*447bcd8fSJacob Faibussowitsch - beta - a beta 213*447bcd8fSJacob Faibussowitsch 214*447bcd8fSJacob Faibussowitsch Level: beginner 215*447bcd8fSJacob Faibussowitsch 216*447bcd8fSJacob Faibussowitsch .seealso: `Foo()` 217*447bcd8fSJacob Faibussowitsch @*/ 218*447bcd8fSJacob Faibussowitsch PetscErrorCode testScatteredVerbatimBlocks(PetscInt alpha, PetscInt beta) 219*447bcd8fSJacob Faibussowitsch { 220*447bcd8fSJacob Faibussowitsch return 0; 221*447bcd8fSJacob Faibussowitsch } 222*447bcd8fSJacob Faibussowitsch 223*447bcd8fSJacob Faibussowitsch /*@ 224*447bcd8fSJacob Faibussowitsch testBadParamListDescrSep - foo 225*447bcd8fSJacob Faibussowitsch 226*447bcd8fSJacob Faibussowitsch Input Parameters: 227*447bcd8fSJacob Faibussowitsch + alpha, an alpha 228*447bcd8fSJacob Faibussowitsch - beta = a beta 229*447bcd8fSJacob Faibussowitsch 230*447bcd8fSJacob Faibussowitsch Level: beginner 231*447bcd8fSJacob Faibussowitsch 232*447bcd8fSJacob Faibussowitsch .seealso: Foo() 233*447bcd8fSJacob Faibussowitsch @*/ 234*447bcd8fSJacob Faibussowitsch PetscErrorCode testBadParamListDescrSep(PetscInt alpha, PetscInt beta) 235*447bcd8fSJacob Faibussowitsch { 236*447bcd8fSJacob Faibussowitsch return 0; 237*447bcd8fSJacob Faibussowitsch } 238*447bcd8fSJacob Faibussowitsch 239*447bcd8fSJacob Faibussowitsch /*@ 240*447bcd8fSJacob Faibussowitsch testBadMidSentenceColons - Lorem: 241*447bcd8fSJacob Faibussowitsch 242*447bcd8fSJacob Faibussowitsch Notes: 243*447bcd8fSJacob Faibussowitsch Lorem ipsum dolor sit amet:, consectetur adipiscing elit: sed do: eiusmod tempor: incididunt ut 244*447bcd8fSJacob Faibussowitsch labore et dolore: magna aliqua: Excepteur: sint occaecat cupidatat non proident, sunt: in culpa 245*447bcd8fSJacob Faibussowitsch qui officia: deserunt mollit: anim id est: laborum as follows: 246*447bcd8fSJacob Faibussowitsch 247*447bcd8fSJacob Faibussowitsch Level: beginner 248*447bcd8fSJacob Faibussowitsch 249*447bcd8fSJacob Faibussowitsch .seealso: `Foo() 250*447bcd8fSJacob Faibussowitsch @*/ 251*447bcd8fSJacob Faibussowitsch PetscErrorCode testBadMidSentenceColons(void) 252*447bcd8fSJacob Faibussowitsch { 253*447bcd8fSJacob Faibussowitsch return 0; 254*447bcd8fSJacob Faibussowitsch } 255*447bcd8fSJacob Faibussowitsch 256*447bcd8fSJacob Faibussowitsch /*MC 257*447bcd8fSJacob Faibussowitsch MYTYPE - MYTYPE = "mytype" 258*447bcd8fSJacob Faibussowitsch 259*447bcd8fSJacob Faibussowitsch Level: developer 260*447bcd8fSJacob Faibussowitsch 261*447bcd8fSJacob Faibussowitsch .seealso: MATAIJ 262*447bcd8fSJacob Faibussowitsch MC*/ 263*447bcd8fSJacob Faibussowitsch 264*447bcd8fSJacob Faibussowitsch PetscErrorCode testFloatingDocstring(void) 265*447bcd8fSJacob Faibussowitsch { 266*447bcd8fSJacob Faibussowitsch return 0; 267*447bcd8fSJacob Faibussowitsch } 268*447bcd8fSJacob Faibussowitsch 269*447bcd8fSJacob Faibussowitsch /*@M 270*447bcd8fSJacob Faibussowitsch testExplicitSynopsis - Lorem Ipsum 271*447bcd8fSJacob Faibussowitsch 272*447bcd8fSJacob Faibussowitsch Collective 273*447bcd8fSJacob Faibussowitsch 274*447bcd8fSJacob Faibussowitsch Synopsis: 275*447bcd8fSJacob Faibussowitsch #include "testheader.h" 276*447bcd8fSJacob Faibussowitsch PetscErrorCode testExplicitSynopsis(PetscInt foo, PetscReal bar, void *baz) 277*447bcd8fSJacob Faibussowitsch 278*447bcd8fSJacob Faibussowitsch Input Parameters: 279*447bcd8fSJacob Faibussowitsch + foo - a foo 280*447bcd8fSJacob Faibussowitsch - bar - a bar 281*447bcd8fSJacob Faibussowitsch 282*447bcd8fSJacob Faibussowitsch Output Parameter: 283*447bcd8fSJacob Faibussowitsch . baz - a baz 284*447bcd8fSJacob Faibussowitsch 285*447bcd8fSJacob Faibussowitsch Level: beginner 286*447bcd8fSJacob Faibussowitsch 287*447bcd8fSJacob Faibussowitsch .seealso: `testExplicitSynopsisBad()` 288*447bcd8fSJacob Faibussowitsch M@*/ 289*447bcd8fSJacob Faibussowitsch PetscErrorCode testExplicitSynopsis_Private(PetscScalar unknown, PetscInt foo, PetscReal bar, void *baz) 290*447bcd8fSJacob Faibussowitsch { 291*447bcd8fSJacob Faibussowitsch return 0; 292*447bcd8fSJacob Faibussowitsch } 293*447bcd8fSJacob Faibussowitsch 294*447bcd8fSJacob Faibussowitsch /* testBadDocString - asdadsasd 295*447bcd8fSJacob Faibussowitsch */ 296*447bcd8fSJacob Faibussowitsch PetscErrorCode testBadDocString(PetscInt n) 297*447bcd8fSJacob Faibussowitsch { 298*447bcd8fSJacob Faibussowitsch return 0; 299*447bcd8fSJacob Faibussowitsch } 300*447bcd8fSJacob Faibussowitsch 301*447bcd8fSJacob Faibussowitsch /*C testBadDocStringMissingChar - asdadsasd 302*447bcd8fSJacob Faibussowitsch 303*447bcd8fSJacob Faibussowitsch Input Parameter: 304*447bcd8fSJacob Faibussowitsch . n - the n 305*447bcd8fSJacob Faibussowitsch 306*447bcd8fSJacob Faibussowitsch Level: beginner 307*447bcd8fSJacob Faibussowitsch 308*447bcd8fSJacob Faibussowitsch .seealso: `testBadDocString()` 309*447bcd8fSJacob Faibussowitsch */ 310*447bcd8fSJacob Faibussowitsch PetscErrorCode testBadDocStringMissingChar(PetscInt n) 311*447bcd8fSJacob Faibussowitsch { 312*447bcd8fSJacob Faibussowitsch return 0; 313*447bcd8fSJacob Faibussowitsch } 314*447bcd8fSJacob Faibussowitsch 315*447bcd8fSJacob Faibussowitsch /*C@ 316*447bcd8fSJacob Faibussowitsch testBadDocStringCharOutOfOrder - asdadsasd 317*447bcd8fSJacob Faibussowitsch 318*447bcd8fSJacob Faibussowitsch Input Parameter: 319*447bcd8fSJacob Faibussowitsch . n - the n 320*447bcd8fSJacob Faibussowitsch 321*447bcd8fSJacob Faibussowitsch Level: beginner 322*447bcd8fSJacob Faibussowitsch 323*447bcd8fSJacob Faibussowitsch .seealso: `testBadDocString()` 324*447bcd8fSJacob Faibussowitsch */ 325*447bcd8fSJacob Faibussowitsch PetscErrorCode testBadDocStringCharOutOfOrder(PetscInt n) 326*447bcd8fSJacob Faibussowitsch { 327*447bcd8fSJacob Faibussowitsch return 0; 328*447bcd8fSJacob Faibussowitsch } 329*447bcd8fSJacob Faibussowitsch 330*447bcd8fSJacob Faibussowitsch /* 331*447bcd8fSJacob Faibussowitsch testInternalLinkageDocstring = This looks like a docstring, acts like a docstring, but it is 332*447bcd8fSJacob Faibussowitsch not a docstring, no diagnostics should be emmitted for this function 333*447bcd8fSJacob Faibussowitsch 334*447bcd8fSJacob Faibussowitsch Input parm: 335*447bcd8fSJacob Faibussowitsch * hello - asdasd 336*447bcd8fSJacob Faibussowitsch 337*447bcd8fSJacob Faibussowitsch Notes: 338*447bcd8fSJacob Faibussowitsch This is because the function has internal linkage, and hence it is developer documentation! 339*447bcd8fSJacob Faibussowitsch 340*447bcd8fSJacob Faibussowitsch level: dev 341*447bcd8fSJacob Faibussowitsch 342*447bcd8fSJacob Faibussowitsch .seealso testWellFormedFunctionDocString() 343*447bcd8fSJacob Faibussowitsch */ 344*447bcd8fSJacob Faibussowitsch static PetscErrorCode testInternalLinkageDocstring(PetscInt param) 345*447bcd8fSJacob Faibussowitsch { 346*447bcd8fSJacob Faibussowitsch return 0; 347*447bcd8fSJacob Faibussowitsch } 348*447bcd8fSJacob Faibussowitsch 349*447bcd8fSJacob Faibussowitsch /*@ 350*447bcd8fSJacob Faibussowitsch testSingleFunctionArgNotFound - asdasdasdasd 351*447bcd8fSJacob Faibussowitsch 352*447bcd8fSJacob Faibussowitsch Input parm: 353*447bcd8fSJacob Faibussowitsch + unrelated - A function arg 354*447bcd8fSJacob Faibussowitsch 355*447bcd8fSJacob Faibussowitsch lvel: dev 356*447bcd8fSJacob Faibussowitsch 357*447bcd8fSJacob Faibussowitsch .seealso: `testBadDocString() 358*447bcd8fSJacob Faibussowitsch 359*447bcd8fSJacob Faibussowitsch @*/ 360*447bcd8fSJacob Faibussowitsch PetscErrorCode testSingleFunctionArgNotFound(PetscScalar some_function_arg) 361*447bcd8fSJacob Faibussowitsch { 362*447bcd8fSJacob Faibussowitsch return 0; 363*447bcd8fSJacob Faibussowitsch } 364*447bcd8fSJacob Faibussowitsch 365*447bcd8fSJacob Faibussowitsch extern PetscErrorCode testPredeclarationCursorIgnored(int, int *); 366*447bcd8fSJacob Faibussowitsch 367*447bcd8fSJacob Faibussowitsch /* 368*447bcd8fSJacob Faibussowitsch testPredeclarationCursorIgnored - the cursor above this will be ignored! 369*447bcd8fSJacob Faibussowitsch 370*447bcd8fSJacob Faibussowitsch Inp Paramet: 371*447bcd8fSJacob Faibussowitsch . asdasd - an arg 372*447bcd8fSJacob Faibussowitsch 373*447bcd8fSJacob Faibussowitsch Ouput Pameter: 374*447bcd8fSJacob Faibussowitsch . another_arg_asd22 - another arg 375*447bcd8fSJacob Faibussowitsch 376*447bcd8fSJacob Faibussowitsch Level: beg 377*447bcd8fSJacob Faibussowitsch 378*447bcd8fSJacob Faibussowitsch .seealso: testPredeclarationCursorIgnored()` 379*447bcd8fSJacob Faibussowitsch */ 380*447bcd8fSJacob Faibussowitsch 381*447bcd8fSJacob Faibussowitsch PetscErrorCode testPredeclarationCursorIgnored(int arg, int *another_arg) 382*447bcd8fSJacob Faibussowitsch { 383*447bcd8fSJacob Faibussowitsch return 0; 384*447bcd8fSJacob Faibussowitsch } 385*447bcd8fSJacob Faibussowitsch 386*447bcd8fSJacob Faibussowitsch /*@ 387*447bcd8fSJacob Faibussowitsch testFunctionPointerArguments - the first set of arguments are unnamed and should be errored 388*447bcd8fSJacob Faibussowitsch 389*447bcd8fSJacob Faibussowitsch Input Parameters: 390*447bcd8fSJacob Faibussowitsch + foo - a foo 391*447bcd8fSJacob Faibussowitsch . bar - a bar 392*447bcd8fSJacob Faibussowitsch - baz - a baz 393*447bcd8fSJacob Faibussowitsch 394*447bcd8fSJacob Faibussowitsch Calling sequence of foo: 395*447bcd8fSJacob Faibussowitsch + foo_parm1 - an int 396*447bcd8fSJacob Faibussowitsch . foo_parm2 - a double 397*447bcd8fSJacob Faibussowitsch - foo_parm3 - a float 398*447bcd8fSJacob Faibussowitsch 399*447bcd8fSJacob Faibussowitsch Calling sequence of bar: 400*447bcd8fSJacob Faibussowitsch + bar_parm1 - an int 401*447bcd8fSJacob Faibussowitsch . bar_parm2 - a double 402*447bcd8fSJacob Faibussowitsch - bar_parm3 - a float 403*447bcd8fSJacob Faibussowitsch 404*447bcd8fSJacob Faibussowitsch Calling sequence of baz: 405*447bcd8fSJacob Faibussowitsch + bop - a bop 406*447bcd8fSJacob Faibussowitsch . blitz - a blitz 407*447bcd8fSJacob Faibussowitsch . baz_parm1 - an int 408*447bcd8fSJacob Faibussowitsch . baz_parm2 - a double 409*447bcd8fSJacob Faibussowitsch - baz_parm3 - a float 410*447bcd8fSJacob Faibussowitsch 411*447bcd8fSJacob Faibussowitsch Notes: 412*447bcd8fSJacob Faibussowitsch But bars arguments should correctly match! Additionally, this function requires a 'C' 413*447bcd8fSJacob Faibussowitsch interface marker! 414*447bcd8fSJacob Faibussowitsch 415*447bcd8fSJacob Faibussowitsch Level: developer 416*447bcd8fSJacob Faibussowitsch 417*447bcd8fSJacob Faibussowitsch .seealso: `testPredeclarationCursorIgnored()` 418*447bcd8fSJacob Faibussowitsch */ 419*447bcd8fSJacob Faibussowitsch PetscErrorCode testFunctionPointerArguments(int (*foo)(int, double, float), int (*bar)(int bar_parm1, double bar_parm2, float bar_parm3), void (*baz)(int (*bop)(void), void (*blitz)(void (*)(void)), int baz_parm1, double baz_parm2, float baz_parm3)) 420*447bcd8fSJacob Faibussowitsch { 421*447bcd8fSJacob Faibussowitsch return 0; 422*447bcd8fSJacob Faibussowitsch } 423