Example #1
0
def internalGetFuncInfo(mode, number, funcname, functype, numberin, numberout, function) :
	"""
	This function is called by the C part of the extension
	and returns the function number (or 0 on error), function name,
	function type, number of input parameters, number of output parameters
	and the function itself.
	
	It works much like the internal kernel function
	krf_getInternalFuncInfo and is called by it.
	"""
	retnumber = 0
	retnumberin = 0
	retnumberout = 0
	rettype = functype
	retfunc = lambda : 0
	retname = "Invalid_Name"

	funclist = []
	for key1 in custom_functions :
		for key2 in custom_functions[key1] :
			funclist.append((key1,key2,
					custom_functions[key1][key2]))
			
	funclist.sort()
	if mode == krui.SEARCH_FUNC :
		try :
			res = custom_functions[funcname][functype]
			retnumber = funclist.index((funcname,functype,res)) + 1
			rettype = functype
			retname = funcname
			retnumberin, retnumberout, retfunc = res
		except :
			pass
	elif mode == krui.GET_FUNC_INFO :
		res = funclist[number - 1 - 
			(krui.getNoOfFunctions() - len(custom_functions))]
		retnumber = number
		retname, rettype,  = res[:2]
		retnumberin, retnumberout, retfunc = res[2]
	elif mode == krui.GET_FUNC_NAME :
		barefunclist = [ f[len(f)-1][2] for f in funclist ]
		try :
			location = barefunclist.index(function)
			res = funclist[location]
			retnumber = location + 1
			retname, rettype = res[:2]
			retnumberin, retnumberout, retfunc = res[2]
		except:
			retnumber = 0
			print "Could not determine function's name"
	else :
		print "No such search mode"
		raise ValueError, "bad search mode"
	return (retnumber,rettype,retname,retnumberin,retnumberout, retfunc)
Example #2
0
from snns import krui,util
import sys

def headline(txt) :
	print
	print txt
	print "-" * len(txt)
	print

print krui.getVersion()

print "Loadnet:"
try: 
	headline("general kernel information")
	funcnum = krui.getNoOfFunctions()
	print "Available functions:"
	for i in range(funcnum)[1:] :
		params = krui.getFuncInfo(i)
		print "Function:", params[0], 
		print " Type: ", 
		print util.func_types[params[1] & krui.FUNC_TYPE_MASK],
		print " i/o params: ",
		print krui.getFuncParamInfo(params[0],params[1])
		
	headline("some fixed dimension example (encoder.*)")
	net = krui.loadNet("encoder.net")
	print "Net loaded: " + net
	print krui.getMemoryManagerInfo()
	print "Number of input units:", krui.getNoOfTTypeUnits(krui.INPUT)
	print "Number of output units:", krui.getNoOfOutputUnits()
Example #3
0
def acttest(x):
    print "ActTest for unit", x
    return 0


def actderivtest(x):
    print "ActDerivTest for unit", x
    return 0


def actderiv2test(x):
    print "ActDeriv2Test for unit", x
    return 0


oldnum = krui.getNoOfFunctions()
print "Builtin functions:", oldnum
util.registerFunction(outtestfunc, "outtestfunc", krui.OUT_FUNC, 0, 0)
util.registerFunction(outtestfunc2, "outtestfunc2", krui.OUT_FUNC, 0, 0)
util.registerFunction(acttest, "acttest", krui.ACT_FUNC, 0, 0)
util.registerFunction(actderivtest, "acttest", krui.ACT_DERIV_FUNC, 0, 0)
util.registerFunction(actderiv2test, "acttest", krui.ACT_2_DERIV_FUNC, 0, 0)
newnum = krui.getNoOfFunctions()
print "After adding:", newnum

for num in range(oldnum - 2, newnum + 1):
    print "Function number", num, "Info:", krui.getFuncInfo(num)

print krui.loadNet('encoder.net')
for num in [1, 10, 19]:
    krui.setUnitOutFunc(num, "outtestfunc")
Example #4
0
import sys


def headline(txt):
    print
    print txt
    print "-" * len(txt)
    print


print krui.getVersion()

print "Loadnet:"
try:
    headline("general kernel information")
    funcnum = krui.getNoOfFunctions()
    print "Available functions:"
    for i in range(funcnum)[1:]:
        params = krui.getFuncInfo(i)
        print "Function:", params[0],
        print " Type: ",
        print util.func_types[params[1] & krui.FUNC_TYPE_MASK],
        print " i/o params: ",
        print krui.getFuncParamInfo(params[0], params[1])

    headline("some fixed dimension example (encoder.*)")
    net = krui.loadNet("encoder.net")
    print "Net loaded: " + net
    print krui.getMemoryManagerInfo()
    print "Number of input units:", krui.getNoOfTTypeUnits(krui.INPUT)
    print "Number of output units:", krui.getNoOfOutputUnits()
Example #5
0
	return x/3

def acttest(x) :
	print "ActTest for unit", x
	return 0

def actderivtest(x) :
	print "ActDerivTest for unit", x
	return 0

def actderiv2test(x) :
	print "ActDeriv2Test for unit", x
	return 0


oldnum = krui.getNoOfFunctions()
print "Builtin functions:", oldnum
util.registerFunction(outtestfunc,"outtestfunc",krui.OUT_FUNC,0,0)
util.registerFunction(outtestfunc2,"outtestfunc2",krui.OUT_FUNC,0,0)
util.registerFunction(acttest,"acttest",krui.ACT_FUNC,0,0)
util.registerFunction(actderivtest,"acttest",krui.ACT_DERIV_FUNC,0,0)
util.registerFunction(actderiv2test,"acttest",krui.ACT_2_DERIV_FUNC,0,0)
newnum = krui.getNoOfFunctions()
print "After adding:", newnum

for num in range(oldnum - 2, newnum + 1) :
	print "Function number", num, "Info:",krui.getFuncInfo(num)

print krui.loadNet('encoder.net')
for num in [1,10,19] :
	krui.setUnitOutFunc(num,"outtestfunc")