//*********************************************************************** // pde.h // authors: Matthew Judd and John Karpovich // mrj2p@virginia.edu and jfk3w@virginia.edu // University of Virginia // December 7, 1992 // // adapted from code by Ambar Sarkar // // compilation: // make -f serial - serial version // make all - parallel MENTAT version // // description: // Class definitions for pde and related objects // // user responsibility: // Write setRowsAndCols() code - this code initializes the number of rows // and columns in the image. It also initializes the window variables to // include the whole image. // // Write getNextStencil() code - this function both returns the next stencil // to apply to the matrix, and decides whether or not to stop applying // filters. // // Write prepareDest() code - this function prepares the destination file // to receive the final image from the stencil_workers. Any information // the destination file needs other than that image must be written here. //*********************************************************************** // **************************************************************************** // // Copyright (c) 1992 // University of Virginia // All Rights Reserved // // This software is the property of the University of Virginia. // This software is provided `as is' and without any express or // implied warrenties. // // Send problems & suggestions to: // Andrew Grimshaw (grimshaw@cs.virginia.edu) // // ************************************************************************** #include #include "Stenciler.h" #ifndef SERIAL persistent mentat class pde : public Stenciler { #else class pde : public Stenciler { #endif public: void workers_alloc(int pieces); void destroy_workers(int pieces); void getMatrixPiece(); void putMatrixPiece(); void doStencilPiece(stencil *st); void prepareDest(); stencil* getNextStencil(); int setRowsCols(); float checkConvergence(); float checkConvergencePiece(); };