| | 875 | def testDistanceDependentWeights(self): |
| | 876 | connectors = ( |
| | 877 | sim.AllToAllConnector(weights="exp(-d/10.0)", space=space.Space(scale_factor=0.9)), |
| | 878 | sim.FixedProbabilityConnector(0.8, weights="maximum(3-d, 0)", space=space.Space(offset=0.1)), |
| | 879 | sim.DistanceDependentProbabilityConnector("abs(d<3)", weights="sin(d)", space=space.Space(offset=0.1, |
| | 880 | scale_factor=0.9)), |
| | 881 | ) |
| | 882 | exp = numpy.exp |
| | 883 | maximum = numpy.maximum |
| | 884 | sin = numpy.sin |
| | 885 | for srcP in [self.source5, self.source22]: |
| | 886 | for tgtP in [self.target6, self.target33]: |
| | 887 | for conn in connectors: |
| | 888 | print conn.w_expr |
| | 889 | prj = sim.Projection(srcP, tgtP, conn) |
| | 890 | first_connection = prj.connections[0] |
| | 891 | last_connection = prj.connections[-1] |
| | 892 | for c in first_connection, last_connection: |
| | 893 | d = space.distance(c.source, c.target) |
| | 894 | self.assertAlmostEqual(c.weight, eval(conn.w_expr), 10) |