~ubuntu-branches/ubuntu/warty/petsc/warty

« back to all changes in this revision

Viewing changes to src/sys/examples/tutorials/ex4.c.html

  • Committer: Bazaar Package Importer
  • Author(s): Adam C. Powell, IV
  • Date: 2004-06-07 13:41:43 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20040607134143-92p586zrauvie0le
Tags: 2.2.0-2
* Upstream patch level 2.
* New PETSC_BOPT_EXTRA option for different BOPT and lib names, with _c++
  symlinks only for plain and single (closes: #249617).
* New DEBIAN_DIST=contrib option to link with hypre, parmetis (closes:
  #249619).
* Combined petsc-c and petsc-fortran substvars into petsc-compilers.
* Extra quote in -dev prerm eliminates "too many arguments" problem.

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
<html>
4
4
<head>
5
5
<title></title>
6
 
<meta name="generator" content="c2html 0.9.1">
7
 
<meta name="date" content="2002-05-31T16:00:22+00:00">
 
6
<meta name="generator" content="c2html 0.9.4">
 
7
<meta name="date" content="2004-02-27T19:57:21+00:00">
8
8
</head>
9
9
 
10
10
<body bgcolor="#FFFFFF">
11
11
<pre width="80"><a name="line1">  1: </a><font color="#B22222">/*$Id: ex4.c,v 1.16 2001/03/23 23:21:03 balay Exp $*/</font>
12
12
 
13
 
<a name="line3">  3: </a>static char help[] = <font color="#666666">"Prints loadable objects from dynamic library.nn"</font>;
 
13
<a name="line3">  3: </a>static char help[] = <font color="#666666">"Prints loadable objects from dynamic library.\n\n"</font>;
14
14
 
15
15
<a name="line5">  5: </a><font color="#B22222">/*T</font>
16
16
<a name="line6">  6: </a><font color="#B22222">   Concepts: dynamic libraries;</font>
18
18
<a name="line8">  8: </a><font color="#B22222">T*/</font>
19
19
<a name="line9">  9: </a>
20
20
<a name="line10"> 10: </a> #include <A href="../../../../include/petsc.h.html">petsc.h</A>
21
 
<a name="line11"> 11: </a><strong><font color="#4169E1"><a name="main"></a>int main(int argc,char **argv)</font></strong>
22
 
<a name="line12"> 12: </a>{
23
 
<a name="line13"> 13: </a>  int        ierr;
24
 
<a name="line14"> 14: </a>  <A href="../../../../docs/manualpages/Sys/PetscTruth.html#PetscTruth">PetscTruth</A> flg;
25
 
<a name="line15"> 15: </a>  char       *string,filename[256];
26
 
<a name="line16"> 16: </a>  void       *handle;
27
 
 
28
 
<a name="line18"> 18: </a>  <font color="#B22222">/*</font>
29
 
<a name="line19"> 19: </a><font color="#B22222">    Every PETSc routine should begin with the <A href="../../../../docs/manualpages/Sys/PetscInitialize.html#PetscInitialize">PetscInitialize</A>() routine.</font>
30
 
<a name="line20"> 20: </a><font color="#B22222">    argc, argv - These command line arguments are taken to extract the options</font>
31
 
<a name="line21"> 21: </a><font color="#B22222">                 supplied to PETSc and options supplied to MPI.</font>
32
 
<a name="line22"> 22: </a><font color="#B22222">    help       - When PETSc executable is invoked with the option -help, </font>
33
 
<a name="line23"> 23: </a><font color="#B22222">                 it prints the various options that can be applied at </font>
34
 
<a name="line24"> 24: </a><font color="#B22222">                 runtime.  The user can use the "help" variable place</font>
35
 
<a name="line25"> 25: </a><font color="#B22222">                 additional help messages in this printout.</font>
36
 
<a name="line26"> 26: </a><font color="#B22222">  */</font>
37
 
<a name="line27"> 27: </a>  <A href="../../../../docs/manualpages/Sys/PetscInitialize.html#PetscInitialize">PetscInitialize</A>(&amp;argc,&amp;argv,(char *)0,help);
38
 
 
39
 
<a name="line29"> 29: </a>  <A href="../../../../docs/manualpages/Sys/PetscOptionsGetString.html#PetscOptionsGetString">PetscOptionsGetString</A>(PETSC_NULL,<font color="#666666">"-library"</font>,filename,256,&amp;flg);
40
 
<a name="line30"> 30: </a>  <font color="#4169E1">if</font> (!flg) {
41
 
<a name="line31"> 31: </a>    <A href="../../../../docs/manualpages/Sys/SETERRQ.html#SETERRQ">SETERRQ</A>(1,<font color="#666666">"Must indicate library name with -library"</font>);
42
 
<a name="line32"> 32: </a>  }
43
 
 
44
 
<a name="line34"> 34: </a><font color="#A020F0">#if defined(USE_DYNAMIC_LIBRARIES)</font>
45
 
<a name="line35"> 35: </a>  <A href="../../../../docs/manualpages/Sys/PetscDLLibraryOpen.html#PetscDLLibraryOpen">PetscDLLibraryOpen</A>(PETSC_COMM_WORLD,filename,&amp;handle);
46
 
<a name="line36"> 36: </a>  <A href="../../../../docs/manualpages/Sys/PetscDLLibraryGetInfo.html#PetscDLLibraryGetInfo">PetscDLLibraryGetInfo</A>(handle,<font color="#666666">"Contents"</font>,&amp;string);
47
 
<a name="line37"> 37: </a>  <A href="../../../../docs/manualpages/Sys/PetscPrintf.html#PetscPrintf">PetscPrintf</A>(PETSC_COMM_WORLD,<font color="#666666">"Contents:%sn"</font>,string);
48
 
<a name="line38"> 38: </a>  <A href="../../../../docs/manualpages/Sys/PetscDLLibraryGetInfo.html#PetscDLLibraryGetInfo">PetscDLLibraryGetInfo</A>(handle,<font color="#666666">"Authors"</font>,&amp;string);
49
 
<a name="line39"> 39: </a>  <A href="../../../../docs/manualpages/Sys/PetscPrintf.html#PetscPrintf">PetscPrintf</A>(PETSC_COMM_WORLD,<font color="#666666">"Authors:%sn"</font>,string);
50
 
<a name="line40"> 40: </a>  <A href="../../../../docs/manualpages/Sys/PetscDLLibraryGetInfo.html#PetscDLLibraryGetInfo">PetscDLLibraryGetInfo</A>(handle,<font color="#666666">"Version"</font>,&amp;string);
51
 
<a name="line41"> 41: </a>  <A href="../../../../docs/manualpages/Sys/PetscPrintf.html#PetscPrintf">PetscPrintf</A>(PETSC_COMM_WORLD,<font color="#666666">"Version:%sn"</font>,string);
52
 
<a name="line42"> 42: </a><font color="#A020F0">#else</font>
53
 
<a name="line43"> 43: </a>  <font color="#B22222">/* just forces string and handle to be used so there are no compiler warnings */</font>
54
 
<a name="line44"> 44: </a>  string = <font color="#666666">"No dynamic libraries used"</font>;
55
 
<a name="line45"> 45: </a>  handle = (void*)string;
56
 
<a name="line46"> 46: </a>  <A href="../../../../docs/manualpages/Sys/PetscPrintf.html#PetscPrintf">PetscPrintf</A>(PETSC_COMM_WORLD,<font color="#666666">"%sn"</font>,string);
57
 
<a name="line47"> 47: </a>  <A href="../../../../docs/manualpages/Sys/PetscStrcmp.html#PetscStrcmp">PetscStrcmp</A>(string,<font color="#666666">"Never will happen"</font>,&amp;flg);
58
 
<a name="line48"> 48: </a>  <font color="#4169E1">if</font> (flg) {
59
 
<a name="line49"> 49: </a>    <A href="../../../../docs/manualpages/Sys/PetscObjectDestroy.html#PetscObjectDestroy">PetscObjectDestroy</A>((<A href="../../../../docs/manualpages/Sys/PetscObject.html#PetscObject">PetscObject</A>)handle);
60
 
<a name="line50"> 50: </a>  }
61
 
<a name="line51"> 51: </a><font color="#A020F0">#endif</font>
62
 
 
63
 
<a name="line53"> 53: </a>  <A href="../../../../docs/manualpages/Sys/PetscFinalize.html#PetscFinalize">PetscFinalize</A>();
64
 
<a name="line54"> 54: </a>  <font color="#4169E1">return</font> 0;
65
 
<a name="line55"> 55: </a>}
 
21
<a name="line13"> 13: </a><strong><font color="#4169E1"><a name="main"></a>int main(int argc,char **argv)</font></strong>
 
22
<a name="line14"> 14: </a>{
 
23
<a name="line15"> 15: </a>  int        ierr;
 
24
<a name="line16"> 16: </a>  <A href="../../../../docs/manualpages/Sys/PetscTruth.html#PetscTruth">PetscTruth</A> flg;
 
25
<a name="line17"> 17: </a>  const char *string;
 
26
<a name="line18"> 18: </a>  char       filename[256];
 
27
<a name="line19"> 19: </a>  void       *handle;
 
28
 
 
29
<a name="line21"> 21: </a>  <font color="#B22222">/*</font>
 
30
<a name="line22"> 22: </a><font color="#B22222">    Every PETSc routine should begin with the <A href="../../../../docs/manualpages/Sys/PetscInitialize.html#PetscInitialize">PetscInitialize</A>() routine.</font>
 
31
<a name="line23"> 23: </a><font color="#B22222">    argc, argv - These command line arguments are taken to extract the options</font>
 
32
<a name="line24"> 24: </a><font color="#B22222">                 supplied to PETSc and options supplied to MPI.</font>
 
33
<a name="line25"> 25: </a><font color="#B22222">    help       - When PETSc executable is invoked with the option -help, </font>
 
34
<a name="line26"> 26: </a><font color="#B22222">                 it prints the various options that can be applied at </font>
 
35
<a name="line27"> 27: </a><font color="#B22222">                 runtime.  The user can use the "help" variable place</font>
 
36
<a name="line28"> 28: </a><font color="#B22222">                 additional help messages in this printout.</font>
 
37
<a name="line29"> 29: </a><font color="#B22222">  */</font>
 
38
<a name="line30"> 30: </a>  <A href="../../../../docs/manualpages/Sys/PetscInitialize.html#PetscInitialize">PetscInitialize</A>(&amp;argc,&amp;argv,(char *)0,help);
 
39
 
 
40
<a name="line32"> 32: </a>  <A href="../../../../docs/manualpages/Sys/PetscOptionsGetString.html#PetscOptionsGetString">PetscOptionsGetString</A>(<A href="../../../../docs/manualpages/Sys/PETSC_NULL.html#PETSC_NULL">PETSC_NULL</A>,<font color="#666666">"-library"</font>,filename,256,&amp;flg);
 
41
<a name="line33"> 33: </a>  <font color="#4169E1">if</font> (!flg) {
 
42
<a name="line34"> 34: </a>    <A href="../../../../docs/manualpages/Sys/SETERRQ.html#SETERRQ">SETERRQ</A>(1,<font color="#666666">"Must indicate library name with -library"</font>);
 
43
<a name="line35"> 35: </a>  }
 
44
 
 
45
<a name="line37"> 37: </a><font color="#A020F0">#if defined(USE_DYNAMIC_LIBRARIES)</font>
 
46
<a name="line38"> 38: </a>  <A href="../../../../docs/manualpages/Sys/PetscDLLibraryOpen.html#PetscDLLibraryOpen">PetscDLLibraryOpen</A>(<A href="../../../../docs/manualpages/Sys/PETSC_COMM_WORLD.html#PETSC_COMM_WORLD">PETSC_COMM_WORLD</A>,filename,&amp;handle);
 
47
<a name="line39"> 39: </a>  <A href="../../../../docs/manualpages/Sys/PetscDLLibraryGetInfo.html#PetscDLLibraryGetInfo">PetscDLLibraryGetInfo</A>(handle,<font color="#666666">"Contents"</font>,&amp;string);
 
48
<a name="line40"> 40: </a>  <A href="../../../../docs/manualpages/Sys/PetscPrintf.html#PetscPrintf">PetscPrintf</A>(<A href="../../../../docs/manualpages/Sys/PETSC_COMM_WORLD.html#PETSC_COMM_WORLD">PETSC_COMM_WORLD</A>,<font color="#666666">"Contents:%s\n"</font>,string);
 
49
<a name="line41"> 41: </a>  <A href="../../../../docs/manualpages/Sys/PetscDLLibraryGetInfo.html#PetscDLLibraryGetInfo">PetscDLLibraryGetInfo</A>(handle,<font color="#666666">"Authors"</font>,&amp;string);
 
50
<a name="line42"> 42: </a>  <A href="../../../../docs/manualpages/Sys/PetscPrintf.html#PetscPrintf">PetscPrintf</A>(<A href="../../../../docs/manualpages/Sys/PETSC_COMM_WORLD.html#PETSC_COMM_WORLD">PETSC_COMM_WORLD</A>,<font color="#666666">"Authors:%s\n"</font>,string);
 
51
<a name="line43"> 43: </a>  <A href="../../../../docs/manualpages/Sys/PetscDLLibraryGetInfo.html#PetscDLLibraryGetInfo">PetscDLLibraryGetInfo</A>(handle,<font color="#666666">"Version"</font>,&amp;string);
 
52
<a name="line44"> 44: </a>  <A href="../../../../docs/manualpages/Sys/PetscPrintf.html#PetscPrintf">PetscPrintf</A>(<A href="../../../../docs/manualpages/Sys/PETSC_COMM_WORLD.html#PETSC_COMM_WORLD">PETSC_COMM_WORLD</A>,<font color="#666666">"Version:%s\n"</font>,string);
 
53
<a name="line45"> 45: </a><font color="#A020F0">#else</font>
 
54
<a name="line46"> 46: </a>  <font color="#B22222">/* just forces string and handle to be used so there are no compiler warnings */</font>
 
55
<a name="line47"> 47: </a>  string = <font color="#666666">"No dynamic libraries used"</font>;
 
56
<a name="line48"> 48: </a>  handle = (void*)string;
 
57
<a name="line49"> 49: </a>  <A href="../../../../docs/manualpages/Sys/PetscPrintf.html#PetscPrintf">PetscPrintf</A>(<A href="../../../../docs/manualpages/Sys/PETSC_COMM_WORLD.html#PETSC_COMM_WORLD">PETSC_COMM_WORLD</A>,<font color="#666666">"%s\n"</font>,string);
 
58
<a name="line50"> 50: </a>  <A href="../../../../docs/manualpages/Sys/PetscStrcmp.html#PetscStrcmp">PetscStrcmp</A>(string,<font color="#666666">"Never will happen"</font>,&amp;flg);
 
59
<a name="line51"> 51: </a>  <font color="#4169E1">if</font> (flg) {
 
60
<a name="line52"> 52: </a>    <A href="../../../../docs/manualpages/Sys/PetscObjectDestroy.html#PetscObjectDestroy">PetscObjectDestroy</A>((<A href="../../../../docs/manualpages/Sys/PetscObject.html#PetscObject">PetscObject</A>)handle);
 
61
<a name="line53"> 53: </a>  }
 
62
<a name="line54"> 54: </a><font color="#A020F0">#endif</font>
 
63
 
 
64
<a name="line56"> 56: </a>  <A href="../../../../docs/manualpages/Sys/PetscFinalize.html#PetscFinalize">PetscFinalize</A>();
 
65
<a name="line57"> 57: </a>  <font color="#4169E1">return</font> 0;
 
66
<a name="line58"> 58: </a>}
66
67
</pre>
67
68
</body>
68
69