⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 interface.h

📁 C++神经网络开发包,基于C++语言
💻 H
字号:
#ifndef _PUBLIC_ANN_INTERFACE_H
#define _PUBLIC_ANN_INTERFACE_H

/*
 * public/ann/interface.h
 * 2004-04-24 by ShanLanshan
 *
 * Define ann lib interface
 */

#include "public/ann/annbase.h"

namespace ann {

	class ISerialObj {
	public:
		virtual ostream& operator >>(ostream &os) = 0;
		virtual istream& operator <<(istream &is) = 0;
	};
	inline ostream& operator << (ostream &os, ISerialObj &so) {return so >> os;}
	inline istream& operator >> (istream &is, ISerialObj &so) {return so << is;}

	class IAnnVector {
	public:
		virtual ~IAnnVector();
		virtual IAnnVector* get_sub_vector(int off, int len, IAnnVector *vec) = 0;
		virtual void set_size(ann_int size) = 0;
		virtual ann_int get_size() = 0;
		virtual ann_float get_element(int n) = 0;
		virtual void set_element(int n, ann_float v) = 0;
		virtual void get_element(int i, ann_float a[], int n) = 0;
		virtual void set_element(int i, ann_float a[], int n) = 0;
		virtual ann_float *get_buffer() = 0;
		virtual void release_buffer() = 0;
		virtual IAnnVector& operator=(IAnnVector &av) = 0;
		virtual bool operator ==(IAnnVector &av) = 0;
		//virtual ostream& operator >>(ostream &os) = 0;
	};
	
	//inline ostream& operator << (ostream &os, IAnnVector &av) {return av >> os;}

	class IAnnVectorContainer {
	public:
		virtual ~IAnnVectorContainer();
		virtual bool add(IAnnVector &vec) = 0;
		virtual IAnnVector *get_vector(int i) = 0;
		virtual ann_uint get_count() = 0;
	};

	class IAnnVectorConverter {
	public:
		virtual ~IAnnVectorConverter();
		virtual bool set_input(IAnnVector *vecin) = 0;
		virtual bool get_output(IAnnVector *vecout) = 0;
		virtual bool learn(IAnnVector *vecout) = 0;
		virtual bool convert() = 0;
	};

}	// namespace ann

#endif /* !_PUBLIC_ANN_INTERFACE_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -