file:/local_home/local_home/hugo/neurospaces_project/heccer/source/c/snapshots/0/heccer/addressing.h        (Thu Jul 3 16:50:37 2008 )        HOME


   1: //
   2: // Heccer : a compartmental solver that implements efficient Crank-Nicolson
   3: // integration for neuronal models.
   4: //
   5: 
   6: //////////////////////////////////////////////////////////////////////////////
   7: //'
   8: //' Heccer : testbed C implementation
   9: //'
  10: //' Copyright (C) 2006-2008 Hugo Cornelis
  11: //'
  12: //' functional ideas .. Hugo Cornelis, hugo.cornelis@gmail.com
  13: //'
  14: //' coding ............ Hugo Cornelis, hugo.cornelis@gmail.com
  15: //'
  16: //////////////////////////////////////////////////////////////////////////////
  17: 
  18: 
  19: #ifndef HECCER_ADDRESSING_H
  20: #define HECCER_ADDRESSING_H
  21: 
  22: 
  23: #include <stdio.h>
  24: 
  25: struct Heccer;
  26: 
  27: 
  28: #ifdef HECCER_SOURCE_NEUROSPACES
  29: 
  30: //d number of function allowed per symbol as a shift operand
  31: 
  32: #define NEUROSPACES_2_HECCER_MAX_FUNCTIONS 2
  33: 
  34: #define ADDRESSING_NEUROSPACES_2_HECCER(iNeuro) ((iNeuro) << NEUROSPACES_2_HECCER_MAX_FUNCTIONS)
  35: 
  36: #define ADDRESSING_HECCER_2_NEUROSPACES(iHeccer) ((iHeccer) >> NEUROSPACES_2_HECCER_MAX_FUNCTIONS)
  37: 
  38: //t should add defines for assigning function IDs.
  39: //t
  40: //t note that this would be solved automatically if the
  41: //t neurospaces model_container would do full traversals.
  42: 
  43: 
  44: void *
  45: HeccerAddressAggregator
  46: (struct Heccer *pheccer, int iSerial, char *pcType);
  47: 
  48: char *
  49: HeccerAddressableSet
  50: (struct Heccer *pheccer, int iSerial, char *pcType, double dValue);
  51: 
  52: void *
  53: HeccerAddressCompartmentVariable
  54: (struct Heccer *pheccer, int iIntermediary, char *pcField);
  55: 
  56: void *
  57: HeccerAddressMechanismVariable
  58: (struct Heccer *pheccer, int iIndex, char *pcField);
  59: 
  60: int
  61: HeccerAddressTableIndex
  62: (struct Heccer *pheccer, int iSerial, char *pcField);
  63: 
  64: void *
  65: HeccerAddressVariable
  66: (struct Heccer *pheccer, int iSerial, char *pcType);
  67: 
  68: #else
  69: 
  70: void *
  71: HeccerAddressVariable
  72: (struct Heccer *pheccer, int iSerial, char *pcType);
  73: 
  74: #endif
  75: 
  76: 
  77: #endif
  78: 
  79: 
  80: 








































Generated by Xrefactory version 2.0.14 on Thu Jul 24 22:41:20 2008