📄 cnt.c
字号:
/* Implementation of 1-norm of a binary vector *//* out[]=sum(i,in[i]) mod 2^O */#include "defs.h"#include "ind.h"#include "stdnet.h"/* Parameter Handling */#define DEFNIN 3#define DEFNHID AUTO#define DEFNOUT AUTO#define MAXIN 31#define MAXHID 255#define MAXOUT 5char *StdOptStr() {return "N:M:O:\0";}char *StdUsage() {return "Network (Counter):\n" "-N <no. of input units>: 3\n" "-M <no. of hidden units>: auto (M)\n" "-O <no. of output units>: auto (>= ld M)\n\0";}int Nin=DEFNIN;int Nhid=DEFNHID;int Nout=DEFNOUT;const int grey2dec[16]={0,1,3,2,7,6,4,5,15,14,12,13,8,9,11,10}; int handleStdOpt(char opt,char* arg){ switch(opt) { case 'N': return (Nin =getint(arg,1,MAXIN))<0; case 'M': return (Nhid =getint(arg,1,MAXHID))<0; case 'O': return (Nout =getint(arg,1,MAXOUT))<0; }; return 1;}int initStd(){ if(Nhid==AUTO) Nhid=Nin; if(Nout==AUTO) Nout=duallog(Nin+1); Ntrain=1<<Nin; sprintf(StdName,"%d bit Counter (counts 1s in input)",Nin); return 0;}void initTrain(){ int p,z,i; for(p=0;p<Ntrain;p++) { z=0; for(i=0;i<Nin;i++) z+=TrainIn[p][i]=(float) ((p>>i) & 1); for(i=0;i<Nout;i++) TrainOut[p][i]=(float) ((z>>i) & 1); };}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -