test.py
45 lines
| 1.2 KiB
| text/x-python
|
PythonLexer
r1431 | import sys | |||
sys.path.append("/home/jeandet/Documents/prog/build-SciQLop-Desktop-Debug/core") | ||||
import PythonProviders | ||||
import pysciqlopcore | ||||
import numpy as np | ||||
r1433 | import math | |||
r1431 | ||||
someglobal = 1 | ||||
r1432 | def make_scalar(x): | |||
r1431 | y = np.cos(x/10.) | |||
return pysciqlopcore.ScalarTimeSerie(x,y) | ||||
r1432 | def make_vector(x): | |||
v=np.ones((3,len(x))) | ||||
for i in range(3): | ||||
v[:][i] = np.cos(x/10. + float(i)) | ||||
return pysciqlopcore.VectorTimeSerie(x,v) | ||||
def make_multicomponent(x): | ||||
v=np.ones((4,len(x))) | ||||
for i in range(4): | ||||
v[:][i] = float(i+1) * np.cos(x/10. + float(i)) | ||||
return pysciqlopcore.MultiComponentTimeSerie(x,v) | ||||
def get_data(metadata,start,stop): | ||||
r1433 | x = np.arange(math.ceil(start), math.floor(stop)) | |||
r1432 | for key,value in metadata: | |||
if key == 'xml:id': | ||||
param_id = value | ||||
elif key == 'type': | ||||
if value == 'vector': | ||||
return make_vector(x) | ||||
elif value == 'multicomponent': | ||||
return make_multicomponent(x) | ||||
return make_scalar(x) | ||||
r1431 | ||||
r1432 | PythonProviders.register_product([("/tests/scalar",[],[("type","scalar")]), ("/tests/vector",[],[("type","vector")]), ("/tests/multicomponent",[],[("type","multicomponent"),('size','4')])],get_data) | |||
r1431 | ||||