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

SCM Repository

[diderot] View of /branches/vis12/src/include/Diderot/world.h
ViewVC logotype

View of /branches/vis12/src/include/Diderot/world.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1716 - (download) (as text) (annotate)
Sat Mar 10 17:08:11 2012 UTC (7 years, 6 months ago) by jhr
File size: 1515 byte(s)
  Working on library support
/*! \file world.h
 *
 * \author John Reppy
 */

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

#ifndef _DIDEROT_WORLD_H_
#define _DIDEROT_WORLD_H_

#ifndef _DIDEROT_TYPES_H_
#include "types.h"
#endif

//! 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

/* The World_t structure type varies across targets, but all targets share the same prefix. */
#define STRUCT_WORLD_PREFIX                                                                     \
    const char          *name;          /*!< the program name */                                \
    bool                isArray;        /*!< are the strands in an array or collection? */	\
    int32_t		nStrandTys;	/*!< number of strand types in the program. */		\
    Strand_t		*strandDesc;	/*!< nStrandTys array of strand descriptors */		\
    uint32_t            nAxes;          /*!< depth of iteration nesting */                      \
    int32_t             *base;          /*!< nDims array of base indices */                     \
    uint32_t            *size;          /*!< nDims array of iteration sizes */                  \
    uint32_t            numStrands;     /*!< number of strands in the world */

/*! \brief a structure type for accessing the common fields of a world. */
typedef struct {
    STRUCT_WORLD_PREFIX
} WorldPrefix_t;

#endif /* !_DIDEROT_WORLD_H_ */

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