Changeset 791 for cpp/frams/neuro/impl/neuroimpl-channels.cpp
- Timestamp:
- 05/29/18 16:24:39 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
cpp/frams/neuro/impl/neuroimpl-channels.cpp
r286 r791 8 8 void NI_Channelize::go() 9 9 { 10 setChannelCount(getInputCount());11 for(int i=0;i<getInputCount();i++)12 setState(getWeightedInputState(i),i);10 setChannelCount(getInputCount()); 11 for (int i = 0; i < getInputCount(); i++) 12 setState(getWeightedInputState(i), i); 13 13 } 14 14 15 15 void NI_ChMux::go() 16 16 { 17 int c=getInputChannelCount(1);18 if (c<2) {setState(getWeightedInputState(1)); return;}19 double s=getWeightedInputState(0);20 s=(max(-1.0,min(1.0,s))+1.0)/2.0; // 0..121 int i1;22 i1=(int)(s*(c-1)); i1=max(0,min(i1,c-2));23 double sw=1.0/(c-1);24 double s1=sw*i1;25 double w1=fabs((s-s1)/sw);26 double w2=1.0-w1;27 double is1=getWeightedInputState(1,i1);28 double is2=getWeightedInputState(1,i1+1);29 setState(is1*w2 + is2*w1);17 int c = getInputChannelCount(1); 18 if (c < 2) { setState(getWeightedInputState(1)); return; } 19 double s = getWeightedInputState(0); 20 s = (max(-1.0, min(1.0, s)) + 1.0) / 2.0; // 0..1 21 int i1; 22 i1 = (int)(s*(c - 1)); i1 = max(0, min(i1, c - 2)); 23 double sw = 1.0 / (c - 1); 24 double s1 = sw*i1; 25 double w1 = fabs((s - s1) / sw); 26 double w2 = 1.0 - w1; 27 double is1 = getWeightedInputState(1, i1); 28 double is2 = getWeightedInputState(1, i1 + 1); 29 setState(is1*w2 + is2*w1); 30 30 } 31 31 32 32 void NI_ChSel::go() 33 33 { 34 setState(getWeightedInputState(0,ch));34 setState(getWeightedInputState(0, ch)); 35 35 }
Note: See TracChangeset
for help on using the changeset viewer.