Exemplo n.º 1
0
Arquivo: math.c Projeto: hankem/ISIS
typedef struct
{
   int num;
   double ave;
   double var;
   double sdev;
   double sdom;
   double min;
   double max;
}
Moment_Type;

static SLang_CStruct_Field_Type Moment_Layout [] =
{
   MAKE_CSTRUCT_FIELD (Moment_Type, num, "num", SLANG_INT_TYPE, 0),
   MAKE_CSTRUCT_FIELD (Moment_Type, ave,  "ave", SLANG_DOUBLE_TYPE, 0),
   MAKE_CSTRUCT_FIELD (Moment_Type, var,  "var", SLANG_DOUBLE_TYPE, 0),
   MAKE_CSTRUCT_FIELD (Moment_Type, sdev, "sdev", SLANG_DOUBLE_TYPE, 0),
   MAKE_CSTRUCT_FIELD (Moment_Type, sdom, "sdom", SLANG_DOUBLE_TYPE, 0),
   MAKE_CSTRUCT_FIELD (Moment_Type, min,  "min", SLANG_DOUBLE_TYPE, 0),
   MAKE_CSTRUCT_FIELD (Moment_Type, max,  "max", SLANG_DOUBLE_TYPE, 0),
   SLANG_END_CSTRUCT_TABLE
};

/* subroutine borrowed from John Davis */
static int mean_stddev_doubles (double *x, unsigned int num, double *s) /*{{{*/
{
   unsigned int i;
   double mean_i, variance_i;
Exemplo n.º 2
0
Arquivo: sltest.c Projeto: parke/slang
   long l;
   short h;
   char b;
#if SLANG_HAS_FLOAT
   double d;
   double c[2];
#endif
   char *s;
   SLang_Array_Type *a;
   char *ro_str;
}
CStruct_Type;

static SLang_CStruct_Field_Type C_Struct [] =
{
   MAKE_CSTRUCT_FIELD(CStruct_Type, i, "i", SLANG_INT_TYPE, 0),
#if SLANG_HAS_FLOAT
   MAKE_CSTRUCT_FIELD(CStruct_Type, d, "d", SLANG_DOUBLE_TYPE, 0),
   MAKE_CSTRUCT_FIELD(CStruct_Type, c, "z", SLANG_COMPLEX_TYPE, 0),
#endif
   MAKE_CSTRUCT_FIELD(CStruct_Type, s, "s", SLANG_STRING_TYPE, 0),
   MAKE_CSTRUCT_FIELD(CStruct_Type, a, "a", SLANG_ARRAY_TYPE, 0),
   MAKE_CSTRUCT_FIELD(CStruct_Type, ro_str, "ro_str", SLANG_STRING_TYPE, 1),
   MAKE_CSTRUCT_INT_FIELD(CStruct_Type, l, "l", 0),
   MAKE_CSTRUCT_INT_FIELD(CStruct_Type, h, "h", 0),
   MAKE_CSTRUCT_INT_FIELD(CStruct_Type, b, "b", 0),
   SLANG_END_CSTRUCT_TABLE
};

static CStruct_Type C_Struct_Buf;
static void check_cstruct (void)
Exemplo n.º 3
0
   return 0;
}

/*}}}*/

typedef struct
{
   double temperature;
   double ndensity;
}
Plasma_State_Type;

static SLang_CStruct_Field_Type Plasma_State_Layout [] =
{
   MAKE_CSTRUCT_FIELD (Plasma_State_Type, temperature, "temperature", SLANG_DOUBLE_TYPE, 0),
   MAKE_CSTRUCT_FIELD (Plasma_State_Type, ndensity, "ndensity", SLANG_DOUBLE_TYPE, 0),
   SLANG_END_CSTRUCT_TABLE
};

static int apply_line_modifier (Model_t *m, Model_Info_Type *info, DB_line_t *line, double *emis) /*{{{*/
{
   Plasma_State_Type lm_state;

   lm_state.temperature = m->temperature;
   lm_state.ndensity = m->density;

   SLang_start_arg_list ();
   SLang_push_array (info->line_emis_modifier_params, 0);
   SLang_push_int (line->indx);
   if (-1 == SLang_push_cstruct ((VOID_STAR)&lm_state, Plasma_State_Layout))
Exemplo n.º 4
0
#  define SECS_PER_TICK (1.0/60.0)
# endif
#endif

typedef struct
{
   double tms_utime;
   double tms_stime;
   double tms_cutime;
   double tms_cstime;
}
TMS_Type;

static SLang_CStruct_Field_Type TMS_Struct [] =
{
   MAKE_CSTRUCT_FIELD(TMS_Type, tms_utime, "tms_utime", SLANG_DOUBLE_TYPE, 0),
   MAKE_CSTRUCT_FIELD(TMS_Type, tms_stime, "tms_stime", SLANG_DOUBLE_TYPE, 0),
   MAKE_CSTRUCT_FIELD(TMS_Type, tms_cutime, "tms_cutime", SLANG_DOUBLE_TYPE, 0),
   MAKE_CSTRUCT_FIELD(TMS_Type, tms_cstime, "tms_cstime", SLANG_DOUBLE_TYPE, 0),
   SLANG_END_CSTRUCT_TABLE
};

static void times_cmd (void)
{
   TMS_Type d;
   struct tms t;

   (void) times (&t);

   d.tms_utime = SECS_PER_TICK * (double)t.tms_utime;
   d.tms_stime = SECS_PER_TICK * (double)t.tms_stime;
Exemplo n.º 5
0
typedef struct
{
   int pid;
   int exited;
   int exit_status;
   int signal;
   int coredump;
   int stopped;
   int continued;
}
Waitpid_Type;

static SLang_CStruct_Field_Type Waitpid_Struct [] = 
{
   MAKE_CSTRUCT_FIELD(Waitpid_Type, pid, "pid", SLANG_INT_TYPE, 0),
   MAKE_CSTRUCT_FIELD(Waitpid_Type, exited, "exited", SLANG_INT_TYPE, 0),
   MAKE_CSTRUCT_FIELD(Waitpid_Type, exit_status, "exit_status", SLANG_INT_TYPE, 0),
   MAKE_CSTRUCT_FIELD(Waitpid_Type, signal, "signal", SLANG_INT_TYPE, 0),
   MAKE_CSTRUCT_FIELD(Waitpid_Type, coredump, "coredump", SLANG_INT_TYPE, 0),
   MAKE_CSTRUCT_FIELD(Waitpid_Type, stopped, "stopped", SLANG_INT_TYPE, 0),
   MAKE_CSTRUCT_FIELD(Waitpid_Type, continued, "continued", SLANG_INT_TYPE, 0),
   SLANG_END_CSTRUCT_TABLE
};
  
static void waitpid_intrinsic (int *pid, int *options)
{
   int status, ret;
   Waitpid_Type s;

   while (-1 == (ret = waitpid ((pid_t)*pid, &status, *options)))
Exemplo n.º 6
0
   PLI_FIELD(set_char_size);
   PLI_FIELD(draw_box);
   PLI_FIELD(label_axes);
   PLI_FIELD(put_text_xy);
   PLI_FIELD(put_text_offset);
   PLI_FIELD(default_axis);
   PLI_FIELD(configure_axis);
   PLI_FIELD(read_cursor);
}
Plot_Library_Interface_Type;

#undef PLI_FIELD

static SLang_CStruct_Field_Type Plot_Library_Interface_Table [] =
{
   MAKE_CSTRUCT_FIELD(Plot_Library_Interface_Type, open_ref, "open", SLANG_REF_TYPE, 0),
   MAKE_CSTRUCT_FIELD(Plot_Library_Interface_Type, close_ref, "close", SLANG_REF_TYPE, 0),
   MAKE_CSTRUCT_FIELD(Plot_Library_Interface_Type, subdivide_ref, "subdivide", SLANG_REF_TYPE, 0),
   MAKE_CSTRUCT_FIELD(Plot_Library_Interface_Type, select_window_ref, "select_window", SLANG_REF_TYPE, 0),
   MAKE_CSTRUCT_FIELD(Plot_Library_Interface_Type, select_viewport_ref, "select_viewport", SLANG_REF_TYPE, 0),
   MAKE_CSTRUCT_FIELD(Plot_Library_Interface_Type, set_plot_limits_ref, "set_plot_limits", SLANG_REF_TYPE, 0),
   MAKE_CSTRUCT_FIELD(Plot_Library_Interface_Type, query_plot_limits_ref, "query_plot_limits", SLANG_REF_TYPE, 0),
   MAKE_CSTRUCT_FIELD(Plot_Library_Interface_Type, erase_ref, "erase", SLANG_REF_TYPE, 0),
   MAKE_CSTRUCT_FIELD(Plot_Library_Interface_Type, update_ref, "update", SLANG_REF_TYPE, 0),
   MAKE_CSTRUCT_FIELD(Plot_Library_Interface_Type, next_page_ref, "next_page", SLANG_REF_TYPE, 0),
   MAKE_CSTRUCT_FIELD(Plot_Library_Interface_Type, get_color_ref, "get_color", SLANG_REF_TYPE, 0),
   MAKE_CSTRUCT_FIELD(Plot_Library_Interface_Type, set_color_ref, "set_color", SLANG_REF_TYPE, 0),
   MAKE_CSTRUCT_FIELD(Plot_Library_Interface_Type, set_line_style_ref, "set_line_style", SLANG_REF_TYPE, 0),
   MAKE_CSTRUCT_FIELD(Plot_Library_Interface_Type, set_line_width_ref, "set_line_width", SLANG_REF_TYPE, 0),
   MAKE_CSTRUCT_FIELD(Plot_Library_Interface_Type, set_clipping_ref, "set_clipping", SLANG_REF_TYPE, 0),
   MAKE_CSTRUCT_FIELD(Plot_Library_Interface_Type, plot_xy_ref, "plot_xy", SLANG_REF_TYPE, 0),
Exemplo n.º 7
0
   return isis_fit_add_statistic (sname, x);
}

/*}}}*/

typedef struct
{
   SLang_Array_Type *bkg;
   SLang_Array_Type *bkg_at;
   SLang_Array_Type *src_at;
}
Optional_Data_Type;

static SLang_CStruct_Field_Type Optional_Data_Type_Layout [] =
{
   MAKE_CSTRUCT_FIELD (Optional_Data_Type, bkg, "bkg", SLANG_ARRAY_TYPE, 0),
   MAKE_CSTRUCT_FIELD (Optional_Data_Type, bkg_at, "bkg_at", SLANG_ARRAY_TYPE, 0),
   MAKE_CSTRUCT_FIELD (Optional_Data_Type, src_at, "src_at", SLANG_ARRAY_TYPE, 0),
   SLANG_END_CSTRUCT_TABLE
};

static int push_opt_data (Isis_Fit_Statistic_Optional_Data_Type *opt_data) /*{{{*/
{
   Optional_Data_Type odt;
   int n, status=-1;

   if (opt_data == NULL)
     {
        SLang_push_null ();
        return 0;
     }