old_contents: import numpy
  from shogun.Features import RealFeatures
  from shogun.Features import LongIntFeatures
  
  from numpy import array, float64, int64
  
  # create dense matrice
  data=[[1,2,3],[4,5,6],[7,8,9],[-1,-2,-3]]
  
  parameter_list = [[data]]
  
  def features_dense_protocols_modular(in_data=data):
  	m_real=array(in_data, dtype=float64, order='F')
  	f_real=RealFeatures(m_real)
  
  	print m_real
  	print f_real
  
  	print f_real[-1]
  	print f_real[1, 2]
  	print f_real[-1:3]
  	print f_real[2, 0:2]
  	print f_real[0:3, 1]
  	print f_real[0:3, 1:2]
  	print f_real[:,1]
  	print f_real[1,:]
  
  	print m_real[-2]
  	f_real[-1]=m_real[-2]
  	print f_real[-1]
  
  	print m_real[0, 1]
  	f_real[1,2]=m_real[0,1]
  	print f_real[1, 2]
  
  	print m_real[0:2]
  	f_real[1:3]=m_real[0:2]
  	print f_real[1:3]
  
  	print m_real[0, 0:2]
  	f_real[2, 0:2]=m_real[0,0:2]
  	print f_real[2, 0:2]
  
  	print m_real[0:3, 2]
  	f_real[0:3,1]=m_real[0:3, 2]
  	print f_real[0:3, 1]
  
  	print m_real[0:3, 0:1]
  	f_real[0:3,1:2]=m_real[0:3,0:1]
  	print f_real[0:3, 1:2]
  
  	f_real[:,0]=0
  	print f_real.get_feature_matrix()
  
  	if numpy.__version__ >= '1.5':
  		f_real+=m_real
  		f_real*=m_real
  		f_real-=m_real
  	else:
  		print "numpy version >= 1.5 is needed"
  
  	f_real+=f_real
  	f_real*=f_real
  	f_real-=f_real
  
  	print f_real
  	print f_real.get_feature_matrix()
  
  	try:
  		mem_real=memoryview(f_real)
  	except NameError:
  		print "Python2.7 is needed for memoryview class"
  		pass
  
  	ret_real=array(f_real)
  	print ret_real
  
  	return f_real[:,0]
  
  if __name__=='__main__':
  	print('dense_protocols')
  	features_dense_protocols_modular(*parameter_list[0])
  
new_contents: import numpy
  from shogun.Features import RealFeatures
  from shogun.Features import LongIntFeatures
  
  from numpy import array, float64, int64
  
  # create dense matrice
  data=[[1,2,3],[4,5,6],[7,8,9],[-1,-2,-3]]
  
  parameter_list = [[data]]
  
  def features_dense_protocols_modular(in_data=data):
  	m_real=array(in_data, dtype=float64, order='F')
  	f_real=RealFeatures(m_real)
  
  	print m_real
  	print f_real
  
  	print f_real[-1]
  	print f_real[1, 2]
  	print f_real[-1:3]
  	print f_real[2, 0:2]
  	print f_real[0:3, 1]
  	print f_real[0:3, 1:2]
  	print f_real[:,1]
  	print f_real[1,:]
  
  	print m_real[-2]
  	f_real[-1]=m_real[-2]
  	print f_real[-1]
  
  	print m_real[0, 1]
  	f_real[1,2]=m_real[0,1]
  	print f_real[1, 2]
  
  	print m_real[0:2]
  	f_real[1:3]=m_real[0:2]
  	print f_real[1:3]
  
  	print m_real[0, 0:2]
  	f_real[2, 0:2]=m_real[0,0:2]
  	print f_real[2, 0:2]
  
  	print m_real[0:3, 2]
  	f_real[0:3,1]=m_real[0:3, 2]
  	print f_real[0:3, 1]
  
  	print m_real[0:3, 0:1]
  	f_real[0:3,1:2]=m_real[0:3,0:1]
  	print f_real[0:3, 1:2]
  
  	f_real[:,0]=0
  	print f_real.get_feature_matrix()
  
  	if numpy.__version__ >= '1.5':
  		f_real+=m_real
  		f_real*=m_real
  		f_real-=m_real
  	else:
  		print "numpy version >= 1.5 is needed"
  		return None
  
  	f_real+=f_real
  	f_real*=f_real
  	f_real-=f_real
  
  	print f_real
  	print f_real.get_feature_matrix()
  
  	try:
  		mem_real=memoryview(f_real)
  	except NameError:
  		print "Python2.7 is needed for memoryview class"
  		return None
  
  	ret_real=array(f_real)
  	print ret_real
  
  	return f_real[:,0]
  
  if __name__=='__main__':
  	print('dense_protocols')
  	features_dense_protocols_modular(*parameter_list[0])
  
subject: return none when numpy version etc is not sufficiently new