File: PetscBinarySynchronizedWrite.html

package info (click to toggle)
petsc 3.4.2.dfsg1-8.1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 129,104 kB
  • ctags: 516,422
  • sloc: ansic: 395,939; cpp: 47,201; python: 34,788; makefile: 17,193; fortran: 16,251; f90: 1,592; objc: 954; sh: 822; xml: 621; java: 381; lisp: 293; csh: 241
file content (56 lines) | stat: -rw-r--r-- 3,441 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML3.2 EN">
<HTML>
<HEAD> <link rel="canonical" href="http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Sys/PetscBinarySynchronizedWrite.html" />
<META NAME="GENERATOR" CONTENT="DOCTEXT">
<TITLE>PetscBinarySynchronizedWrite</TITLE>
</HEAD>
<BODY BGCOLOR="FFFFFF">
   <div id="version" align=right><b>petsc-3.4.2 2013-07-02</b></div>
<A NAME="PetscBinarySynchronizedWrite"><H1>PetscBinarySynchronizedWrite</H1></A>
writes to a binary file. 
<H3><FONT COLOR="#CC3333">Synopsis</FONT></H3>
<PRE>
PetscErrorCode  PetscBinarySynchronizedWrite(MPI_Comm comm,int fd,void *p,PetscInt n,PetscDataType type,PetscBool istemp)
</PRE>
Collective on <A HREF="../Sys/MPI_Comm.html#MPI_Comm">MPI_Comm</A>
<P>
<H3><FONT COLOR="#CC3333">Input Parameters</FONT></H3>
<TABLE border="0" cellpadding="0" cellspacing="0">
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>comm </B></TD><TD>- the MPI communicator
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>fd </B></TD><TD>- the file
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>n  </B></TD><TD>- the number of items to write
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>p </B></TD><TD>- the buffer
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>istemp </B></TD><TD>- the buffer may be changed
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>type </B></TD><TD>- the type of items to write (PETSC_INT, PETSC_DOUBLE or PETSC_SCALAR)
</TD></TR></TABLE>
<P>

<P>
<H3><FONT COLOR="#CC3333">Notes</FONT></H3>
Process 0 does a <A HREF="../Sys/PetscBinaryWrite.html#PetscBinaryWrite">PetscBinaryWrite</A>()
<P>
<A HREF="../Sys/PetscBinarySynchronizedWrite.html#PetscBinarySynchronizedWrite">PetscBinarySynchronizedWrite</A>() uses byte swapping to work on all machines.
Integers are stored on the file as 32 long, regardless of whether
they are stored in the machine as 32 or 64, this means the same
binary file may be read on any machine.
<P>
Notes: because byte-swapping may be done on the values in data it cannot be declared const
<P>
WARNING: This is NOT like <A HREF="../Sys/PetscSynchronizedFPrintf.html#PetscSynchronizedFPrintf">PetscSynchronizedFPrintf</A>()! This routine ignores calls on all but process 0,
while <A HREF="../Sys/PetscSynchronizedFPrintf.html#PetscSynchronizedFPrintf">PetscSynchronizedFPrintf</A>() has all processes print their strings in order.
<P>
<P>
<H3><FONT COLOR="#CC3333">See Also</FONT></H3>
 <A HREF="../Sys/PetscBinaryWrite.html#PetscBinaryWrite">PetscBinaryWrite</A>(), <A HREF="../Sys/PetscBinaryOpen.html#PetscBinaryOpen">PetscBinaryOpen</A>(), <A HREF="../Sys/PetscBinaryClose.html#PetscBinaryClose">PetscBinaryClose</A>(), <A HREF="../Sys/PetscBinaryRead.html#PetscBinaryRead">PetscBinaryRead</A>(), <A HREF="../Sys/PetscBinarySynchronizedRead.html#PetscBinarySynchronizedRead">PetscBinarySynchronizedRead</A>(),
<BR><A HREF="../Sys/PetscBinarySynchronizedSeek.html#PetscBinarySynchronizedSeek">PetscBinarySynchronizedSeek</A>()
<P><B><P><B><FONT COLOR="#CC3333">Level:</FONT></B>developer
<BR><FONT COLOR="#CC3333">Location:</FONT></B><A HREF="../../../src/sys/fileio/sysio.c.html#PetscBinarySynchronizedWrite">src/sys/fileio/sysio.c</A>
<BR><A HREF="./index.html">Index of all Sys routines</A>
<BR><A HREF="../../index.html">Table of Contents for all manual pages</A>
<BR><A HREF="../singleindex.html">Index of all manual pages</A>
</BODY></HTML>