Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] View of /branches/pure-cfg/src/include/Diderot/output.h
ViewVC logotype

View of /branches/pure-cfg/src/include/Diderot/output.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1518 - (download) (as text) (annotate)
Sat Oct 8 02:39:41 2011 UTC (10 years, 8 months ago) by jhr
File size: 1295 byte(s)
  Deal with the different sizes of status flags statically, instead of dynamically.

/*! \file output.h
 *
 * \author Nick Seltzer
 */

/*
 * COPYRIGHT (c) 2011 The Diderot Project (http://diderot-language.cs.uchicago.edu)
 * All rights reserved.
 */

#ifndef _DIDEROT_OUTPUT_H_
#define _DIDEROT_OUTPUT_H_

//! the integer typed used to represent the strand status array.
#if defined(DIDEROT_TARGET_CL)
typedef uint32_t StatusInt_t;
#else
typedef uint8_t StatusInt_t;
#endif

typedef struct {
    const char          *name;          //!< the program name
    bool                isArray;        //!< is the initialization an array or collection?
    uint32_t            numStrands;     //!< number of strands in the world
    StatusInt_t         *status;        //!< array of strand status flags
    void                **inState;      //!< array of strand states holding the output values
    uint32_t            nDims;          //!< depth of iteration nesting
    uint32_t            *size;          //!< nDims array of iteration sizes
    size_t              outputSzb;      //!< the output size of the strands 
} Output_Args_t;

/*! \brief Output the final strand state to a Nrrd file.
 */
extern void Diderot_Output (Output_Args_t *);

/*! \brief Print the final strand state to a text file.
 */
extern void Diderot_Print (Output_Args_t *);

#endif /* !_DIDEROT_OUTPUT_H_ */

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0