# Alterna AI chapter 08: verified standalone examples
X=[[0,0],[0,1],[1,0],[1,1]]
H=[[max(0,a+b),max(0,a+b-1)] for a,b in X]
out=[h1-2*h2 for h1,h2 in H]
assert H==[[0,0],[1,0],[1,0],[2,1]] and out==[0,1,1,0]


dims=[2,3,2,1]
counts=[a*b+b for a,b in zip(dims,dims[1:])]
assert counts==[9,8,3] and sum(counts)==20


from math import sqrt
x=[1,2,3]
mu=sum(x)/3
variance=sum((v-mu)**2 for v in x)/3
y=[(v-mu)/sqrt(variance+1e-5) for v in x]
assert mu==2 and variance==2/3 and abs(sum(y))<1e-12


x,g=[-1,2],.5
F=[g*max(0,v) for v in x]
y=[a+b for a,b in zip(x,F)]
assert F==[0,1] and y==[-1,3]

print('Chapter 08: 4 examples PASS')
