| 91 | } |
| 92 | |
| 93 | static |
| 94 | void |
| 95 | WriteFab (std::ostream& os, |
| 96 | const FArrayBox& fab, |
| 97 | const char* name) |
| 98 | |
| 99 | { |
| 100 | int nx = fab.box().length(0); |
| 101 | int ny = fab.box().length(1); |
| 102 | int dim = BL_SPACEDIM; |
| 103 | |
| 104 | |
| 105 | #if (BL_SPACEDIM == 2) |
| 106 | for (int i = 0; i < nx; i++) |
| 107 | for (int j = 0; j < ny; j++) |
| 108 | { |
| 109 | int index = j*nx + i; |
| 110 | const Real * ptr = fab.dataPtr(); |
| 111 | os.write((char*)(ptr+index),sizeof(Real)); |
| 112 | } |
| 113 | |
| 114 | #elif (BL_SPACEDIM == 3) |
| 115 | int nz = fab.box().length(2); |
| 116 | os.write((char*)&nz,sizeof(int)); |
| 117 | |
| 118 | for (int k = 0; k < nz; k++) |
| 119 | for (int i = 0; i < nx; i++) |
| 120 | for (int j = 0; j < ny; j++) |
| 121 | { |
| 122 | int index = k*(nx*ny) + j*nx + i; |
| 123 | const Real * ptr = fab.dataPtr(); |
| 124 | os.write((char*)(ptr+index),sizeof(Real)); |
| 125 | } |
| 126 | #endif |
| 127 | } |
| 128 | |
| 129 | static |
| 130 | void |