Adder


[ libohymos | Source | Keywords | Summary | Ancestors | All Members | Descendants ]

Quick Index

DESCRIPTION

Class Summary

class Adder : public Element
{

public:
Adder* NewElement() ;
Boolean Init(char* o_name, int o_num, int numinput, char* p_str );
Adder(char* o_name, int o_num, int numinput, char* p_str ) ;
Adder(void) ;
~Adder(void) ;
void Set_parameter(FILE*) ;
void Set_initial_state(FILE* fp);
void Set_initial_state(time_t ct);
void Save_terminal_state(FILE* fp);
void Save_terminal_state(time_t& ct);
Boolean Initial_output(void);
time_t Calculate_time_step(void);
Boolean Can_you_calculate(void) ;
Boolean Work(void);
Boolean Calculate(void);
protected:
int ninput;
double sum_inflow;
Receive<double>* rp;
Send<double> sp;
void Register_receive_ports(void);
void Register_send_ports(void) ;
}; // Adder

Back to the top of Adder


DESCRIPTION

add the data obtaiend through receive ports

Back to the top of Adder


int ninput;

The number of receive ports

  int ninput;

Back to the top of Adder


double sum_inflow;

The sum of the data obtained through receive ports.

  double sum_inflow;			       // 受信端子からの入力の和. 作業用

Back to the top of Adder


Receive<double>* rp;

Receive port

  Receive<double>* rp;

Back to the top of Adder


Send<double> sp;

Send port

  Send<double> sp;

Back to the top of Adder


void Register_receive_ports(void);

受信端子の個数 ninput は,コンストラクタまたは Init 関数で指定し ます。 このメンバ関数では,ninput 個の受信端子 rp[i] を,順に,登 録します。

  void Register_receive_ports(void);

Back to the top of Adder


void Register_send_ports(void) ;

  void Register_send_ports(void)
                                  
;

Function is currently defined inline.


Back to the top of Adder


Adder* NewElement() ;

Returns a pointer to a new Adder

  Adder* NewElement()                        
;

Function is currently defined inline.


Back to the top of Adder


Boolean Init(char* o_name, int o_num, int numinput, char* p_str );

in o_name
- ブジェクト名
in o_num
- オブジェクト番号
in numinput
- 受信端子の個数
in p_str
- データ文字列

  Boolean Init(char* o_name, int o_num, int numinput, char* p_str =
				 NULL);

Back to the top of Adder


Adder(char* o_name, int o_num, int numinput, char* p_str ) ;

Constructor

  Adder(char* o_name, int o_num, int numinput, char* p_str = NULL)
		;

Function is currently defined inline.


Back to the top of Adder


Adder(void) ;

Default constructor

  Adder(void)
		;

Function is currently defined inline.


Back to the top of Adder


~Adder(void) ;

Destructor

  ~Adder(void)
	                       
;

Function is currently defined inline.


Back to the top of Adder


void Set_parameter(FILE*) ;

  void Set_parameter(FILE*)   
;

Function is currently defined inline.


Back to the top of Adder


void Set_initial_state(FILE* fp);

current_time を fscanf(fp, "%ld", ¤t_time) で読み とった値に変更します。読みとった値が非正なら変更しません。

  void Set_initial_state(FILE* fp);

Back to the top of Adder


void Set_initial_state(time_t ct);

current_time を ct に変更します。 ct が非正なら変更しません。

  void Set_initial_state(time_t ct);

Back to the top of Adder


void Save_terminal_state(FILE* fp);

current_time を fprintf(fp, "(%ld)", current_time) で書き出します。

  void Save_terminal_state(FILE* fp);

Back to the top of Adder


void Save_terminal_state(time_t& ct);

current_time を ct に格納して戻ってきます。

  void Save_terminal_state(time_t& ct);

Back to the top of Adder


Boolean Initial_output(void);

初期時刻の入力を加算して,送信端子に書き出します。

  Boolean Initial_output(void);

Back to the top of Adder


time_t Calculate_time_step(void);

現在時刻以後で,最も古い受信データ時刻まで計算を進めることにして, time_step を計算します。

  time_t Calculate_time_step(void);

Back to the top of Adder


Boolean Can_you_calculate(void) ;

普通は,Work の中で呼ばれますが,Adder の Work では,time_step を 計算できる時刻までに設定する Calculate_time_step を使うので,この 関数は不要です。しかし,これは,純粋仮想関数なので,形式的にこの ように定義しておきます。

  Boolean Can_you_calculate(void)                
;

Function is currently defined inline.


Back to the top of Adder


Boolean Work(void);

  Boolean Work(void);

Back to the top of Adder


Boolean Calculate(void);

現在時刻以後で,最も古い受信データ時刻の受信データの加算値を送信 端子に送ります。

  Boolean Calculate(void);

Back to the top of Adder


All Members

public:
char* Class_name(void) ;
char* Object_name(void) ;
int Object_number(void) ;
void* Owner(void) ;
Boolean Compare(char* c_name, char* o_name, int o_num);
Boolean Compare(char* o_name, int o_num);
Boolean Compare(Object* obj);
Boolean Set_owner(void* o);
void Cprint(FILE* fp_out, char* head);
void Cprint(FILE* fp_out) ;
void Cprint(char* head ) ;
void Oprint(FILE* fp_out, char* head);
void Oprint(FILE* fp_out) ;
void Oprint(char* head ) ;
void Absname( char* absname );
Boolean Init(char* o_name, int o_num);
enum OperationFlag ;
Boolean Register(void* obj, int num);
Boolean Construct(void);
void* Get_receive_port(char* c_name, char* o_name, int o_num );
void* Get_send_port(char* c_name, char* o_name, int o_num );
void* Get_receive_port(char* o_name, int o_num );
void* Get_send_port(char* o_name, int o_num );
void* Get_object(char* c_name, char* o_name, int o_num );
void* Get_component(char* c_name, char* o_name, int o_num ) ;
void* Get_component(char* o_name, int o_num ) ;
Boolean Switch(void);
Boolean Are_you_ready(void);
Boolean Set_data_string(char* d_str, int d_strlen );
void Clear_data_string(void);
Boolean Get_data_string(char* d_str);
void Set_parameter(FILE* fp) ;
void Parameter(FILE* fp, char*& buffer, int buflen, Boolean& stock_p);
void Set_initial_state(FILE* fp) ;
void Initial_state(FILE* fp, char*& buffer, int buflen, Boolean& stock_p);
Boolean Share_info(void) ;
void Save_send_port_stock(FILE* fp);
void Restore_send_port_stock(void);
time_t Current_time(void) ;
time_t Time_step(void) ;
time_t Next_time(void) ;
time_t Terminal_time(void) ;
time_t MediumTermTargetTime(void) ;
time_t Fixed_time(void) ;
time_t Target_time(void) ;
void Rewind_current_time(void);
void Renew_fixed_time(void);
void Initialize_target_time(void) ;
void Renew_target_time(time_t itrs);
time_t Calculate_iteration_step(void);
time_t Necessary_time_from(Receive_port* rp);
time_t Necessary_time_to(Receive_port* rp);
Boolean Initial_time(time_t i_time);
Boolean Initial_work(void);
Boolean Can_you_calculate(void) ;
Boolean Record_status(void);
Boolean Work(void) ;
Boolean Do_you_reach_target_time(void);
void Flush_data(void);
void Creq(void) ;
void Print_receive_ports(FILE* fp , char* head ) ;
void Print_send_ports(FILE* fp , char* head ) ;
void Print_connection(FILE* fp , char* head );
void Save_terminal_state(FILE* fp) ;
void Terminal_state(FILE* fp);
Element* NewElement() ;
Boolean Init(char*, int, FILE*) ;
Boolean Init(char* o_name, int o_num, int num_of_objs , char* p_str ) ;
Boolean Init(char* o_name, int o_num, char* p_str) ;
Adder* NewElement() ;
Boolean Init(char* o_name, int o_num, int numinput, char* p_str );
void Set_parameter(FILE*) ;
void Set_initial_state(time_t ct);
void Save_terminal_state(time_t& ct);
Boolean Initial_output(void);
time_t Calculate_time_step(void);
Boolean Calculate(void);
protected:
char* class_name;
char* object_name;
int object_number;
void* owner;
Boolean initialworkdone_p;
Boolean shareinfodone_p;
List* object_list;
void** receive_port_array;
int number_of_receive_ports;
void** send_port_array;
int number_of_send_ports;
void** object_array;
int number_of_objects;
char* data_string;
time_t current_time;
time_t time_step;
time_t fixed_time;
time_t target_time;
Boolean mCreqp;
void* Get_from_list(char* c_name, char* o_name, int o_num);
void* Get_from_list(char* o_name, int o_num);
Boolean Register(void* obj);
void Register_receive_ports(void) ;
void Register_send_ports(void) ;
Boolean Make_object_array(void**& obj_array, int& num_of_objs);
Boolean Set_object_array(int num_of_objs);
void* Get_from_array(char* c_name, char* o_name, int o_num, void** obj_array, int num_of_objs);
void* Get_from_array(char* o_name, int o_num, void** obj_array, int num_of_objs);
Boolean Look_data_string(char*& buffer);
char* Get_line(FILE* fp, char* buffer, int buflen, Boolean& stock_p, int& iflag);
void Get_line(FILE*fp, char* buffer, int buflen, char* fname, int line_number);
void Cur2fix2tar(void) ;
Boolean Renew_current_time(void) ;
Boolean Can_you_calculate0(void);
Boolean Can_you_calculate1(void);
void Set_data_pack_array(void);
void Reduce_data_pack_stock(void);
Boolean Print_status(void) ;
Boolean Work0(void);
Boolean Work1(void);
Boolean Work2(void);
Boolean Work3(void);
void Send_stocked_data(void);
void Print_objects(FILE* fp, char* head, char* title, void** obj_array, int number_of_objs);
int ninput;
double sum_inflow;
Receive<double>* rp;
Send<double> sp;

Back to the top of Adder


Ancestors

Inheritance chain for Adder:

Back to the top of Adder


Descendants

Class is not inherited by any others.

Back to the top of Adder


Generated from source by the Cocoon utilities on Sun Sep 3 22:51:59 2000 .

Report problems to jkotula@stratasys.com