def do_generate_api(targets, sources): header_file = targets[0] c_file = targets[1] doc_file = targets[2] numpyapi_list = genapi.get_api_functions('NUMPY_API', sources[0]) # API fixes for __arrayobject_api.h fixed = 10 numtypes = len(types) + fixed module_list = [] extension_list = [] init_list = [] # setup types for k, atype in enumerate(types): num = fixed + k astr = " (void *) &Py%sArrType_Type," % types[k] init_list.append(astr) astr = """\ #ifdef NPY_ENABLE_SEPARATE_COMPILATION extern NPY_NO_EXPORT PyTypeObject Py%(type)sArrType_Type; #else NPY_NO_EXPORT PyTypeObject Py%(type)sArrType_Type; #endif """ % {'type': types[k]} module_list.append(astr) astr = "#define Py%sArrType_Type (*(PyTypeObject *)PyArray_API[%d])" % \ (types[k], num) extension_list.append(astr) # set up object API genapi.add_api_list(numtypes, 'PyArray_API', numpyapi_list, module_list, extension_list, init_list) # Write to header fid = open(header_file, 'w') s = h_template % ('\n'.join(module_list), '\n'.join(extension_list)) fid.write(s) fid.close() # Write to c-code fid = open(c_file, 'w') s = c_template % '\n'.join(init_list) fid.write(s) fid.close() # write to documentation fid = open(doc_file, 'w') fid.write(c_api_header) for func in numpyapi_list: fid.write(func.to_ReST()) fid.write('\n\n') fid.close() return targets
def do_generate_api(targets, sources): header_file = targets[0] c_file = targets[1] doc_file = targets[2] numpyapi_list = genapi.get_api_functions('NUMPY_API', sources[0]) # API fixes for __arrayobject_api.h fixed = 10 numtypes = len(types) + fixed module_list = [] extension_list = [] init_list = [] # setup types for k, atype in enumerate(types): num = fixed + k astr = " (void *) &Py%sArrType_Type," % types[k] init_list.append(astr) astr = "static PyTypeObject Py%sArrType_Type;" % types[k] module_list.append(astr) astr = "#define Py%sArrType_Type (*(PyTypeObject *)PyArray_API[%d])" % \ (types[k], num) extension_list.append(astr) # set up object API genapi.add_api_list(numtypes, 'PyArray_API', numpyapi_list, module_list, extension_list, init_list) # Write to header fid = open(header_file, 'w') s = h_template % ('\n'.join(module_list), '\n'.join(extension_list)) fid.write(s) fid.close() # Write to c-code fid = open(c_file, 'w') s = c_template % '\n'.join(init_list) fid.write(s) fid.close() # write to documentation fid = open(doc_file, 'w') fid.write(c_api_header) for func in numpyapi_list: fid.write(func.to_ReST()) fid.write('\n\n') fid.close() return targets
def do_generate_api(targets, sources): header_file = targets[0] c_file = targets[1] doc_file = targets[2] ufunc_api_list = genapi.get_api_functions("UFUNC_API", sources[0]) # API fixes for __arrayobject_api.h fixed = 1 nummulti = len(ufunc_api_list) numtotal = fixed + nummulti module_list = [] extension_list = [] init_list = [] # set up object API genapi.add_api_list(fixed, "PyUFunc_API", ufunc_api_list, module_list, extension_list, init_list) # Write to header fid = open(header_file, "w") s = h_template % ("\n".join(module_list), "\n".join(extension_list)) fid.write(s) fid.close() # Write to c-code fid = open(c_file, "w") s = c_template % "\n".join(init_list) fid.write(s) fid.close() # Write to documentation fid = open(doc_file, "w") fid.write( """ ================= Numpy Ufunc C-API ================= """ ) for func in ufunc_api_list: fid.write(func.to_ReST()) fid.write("\n\n") fid.close() return targets
def do_generate_api(targets, sources): header_file = targets[0] c_file = targets[1] doc_file = targets[2] ufunc_api_list = genapi.get_api_functions('UFUNC_API', sources[0]) # API fixes for __arrayobject_api.h fixed = 1 nummulti = len(ufunc_api_list) numtotal = fixed + nummulti module_list = [] extension_list = [] init_list = [] # set up object API genapi.add_api_list(fixed, 'PyUFunc_API', ufunc_api_list, module_list, extension_list, init_list) # Write to header fid = open(header_file, 'w') s = h_template % ('\n'.join(module_list), '\n'.join(extension_list)) fid.write(s) fid.close() # Write to c-code fid = open(c_file, 'w') s = c_template % '\n'.join(init_list) fid.write(s) fid.close() # Write to documentation fid = open(doc_file, 'w') fid.write(''' ================= Numpy Ufunc C-API ================= ''') for func in ufunc_api_list: fid.write(func.to_ReST()) fid.write('\n\n') fid.close() return targets
def generate_api(output_dir, force=False): header_file = os.path.join(output_dir, "__multiarray_api.h") c_file = os.path.join(output_dir, "__multiarray_api.c") doc_file = os.path.join(output_dir, "multiarray_api.txt") targets = (header_file, c_file, doc_file) if not force and not genapi.should_rebuild(targets, [OBJECT_API_ORDER, MULTIARRAY_API_ORDER, __file__]): return targets objectapi_list = genapi.get_api_functions("OBJECT_API", OBJECT_API_ORDER) multiapi_list = genapi.get_api_functions("MULTIARRAY_API", MULTIARRAY_API_ORDER) # API fixes for __arrayobject_api.h fixed = 10 numtypes = len(types) + fixed numobject = len(objectapi_list) + numtypes nummulti = len(multiapi_list) numtotal = numobject + nummulti module_list = [] extension_list = [] init_list = [] # setup types for k, atype in enumerate(types): num = fixed + k astr = " (void *) &Py%sArrType_Type," % types[k] init_list.append(astr) astr = "static PyTypeObject Py%sArrType_Type;" % types[k] module_list.append(astr) astr = "#define Py%sArrType_Type (*(PyTypeObject *)PyArray_API[%d])" % (types[k], num) extension_list.append(astr) # set up object API genapi.add_api_list(numtypes, "PyArray_API", objectapi_list, module_list, extension_list, init_list) # set up multiarray module API genapi.add_api_list(numobject, "PyArray_API", multiapi_list, module_list, extension_list, init_list) # Write to header fid = open(header_file, "w") s = h_template % ("\n".join(module_list), "\n".join(extension_list)) fid.write(s) fid.close() # Write to c-code fid = open(c_file, "w") s = c_template % "\n".join(init_list) fid.write(s) fid.close() # write to documentation fid = open(doc_file, "w") fid.write( """ =========== Numpy C-API =========== Object API ========== """ ) for func in objectapi_list: fid.write(func.to_ReST()) fid.write("\n\n") fid.write( """ Multiarray API ============== """ ) for func in multiapi_list: fid.write(func.to_ReST()) fid.write("\n\n") fid.close() return targets
def generate_api(output_dir, force=False): header_file = os.path.join(output_dir, '__multiarray_api.h') c_file = os.path.join(output_dir,'__multiarray_api.c') doc_file = os.path.join(output_dir, 'multiarray_api.txt') targets = (header_file, c_file, doc_file) if (not force and not genapi.should_rebuild(targets, [OBJECT_API_ORDER, MULTIARRAY_API_ORDER, __file__])): return targets objectapi_list = genapi.get_api_functions('OBJECT_API', OBJECT_API_ORDER) multiapi_list = genapi.get_api_functions('MULTIARRAY_API', MULTIARRAY_API_ORDER) # API fixes for __arrayobject_api.h fixed = 10 numtypes = len(types) + fixed numobject = len(objectapi_list) + numtypes nummulti = len(multiapi_list) numtotal = numobject + nummulti module_list = [] extension_list = [] init_list = [] # setup types for k, atype in enumerate(types): num = fixed + k astr = " (void *) &Py%sArrType_Type," % types[k] init_list.append(astr) astr = "static PyTypeObject Py%sArrType_Type;" % types[k] module_list.append(astr) astr = "#define Py%sArrType_Type (*(PyTypeObject *)PyArray_API[%d])" % \ (types[k], num) extension_list.append(astr) # set up object API genapi.add_api_list(numtypes, 'PyArray_API', objectapi_list, module_list, extension_list, init_list) # set up multiarray module API genapi.add_api_list(numobject, 'PyArray_API', multiapi_list, module_list, extension_list, init_list) # Write to header fid = open(header_file, 'w') s = h_template % ('\n'.join(module_list), '\n'.join(extension_list)) fid.write(s) fid.close() # Write to c-code fid = open(c_file, 'w') s = c_template % '\n'.join(init_list) fid.write(s) fid.close() # write to documentation fid = open(doc_file, 'w') fid.write(''' =========== Numpy C-API =========== Object API ========== ''') for func in objectapi_list: fid.write(func.to_ReST()) fid.write('\n\n') fid.write(''' Multiarray API ============== ''') for func in multiapi_list: fid.write(func.to_ReST()) fid.write('\n\n') fid.close() return targets
def do_generate_api(targets, sources): header_file = targets[0] c_file = targets[1] doc_file = targets[2] objectapi_list = genapi.get_api_functions('OBJECT_API', sources[0]) multiapi_list = genapi.get_api_functions('MULTIARRAY_API', sources[1]) # API fixes for __arrayobject_api.h fixed = 10 numtypes = len(types) + fixed numobject = len(objectapi_list) + numtypes nummulti = len(multiapi_list) numtotal = numobject + nummulti module_list = [] extension_list = [] init_list = [] # setup types for k, atype in enumerate(types): num = fixed + k astr = " (void *) &Py%sArrType_Type," % types[k] init_list.append(astr) astr = "static PyTypeObject Py%sArrType_Type;" % types[k] module_list.append(astr) astr = "#define Py%sArrType_Type (*(PyTypeObject *)PyArray_API[%d])" % \ (types[k], num) extension_list.append(astr) # set up object API genapi.add_api_list(numtypes, 'PyArray_API', objectapi_list, module_list, extension_list, init_list) # set up multiarray module API genapi.add_api_list(numobject, 'PyArray_API', multiapi_list, module_list, extension_list, init_list) # Write to header fid = open(header_file, 'w') s = h_template % ('\n'.join(module_list), '\n'.join(extension_list)) fid.write(s) fid.close() # Write to c-code fid = open(c_file, 'w') s = c_template % '\n'.join(init_list) fid.write(s) fid.close() # write to documentation fid = open(doc_file, 'w') fid.write(''' =========== Numpy C-API =========== Object API ========== ''') for func in objectapi_list: fid.write(func.to_ReST()) fid.write('\n\n') fid.write(''' Multiarray API ============== ''') for func in multiapi_list: fid.write(func.to_ReST()) fid.write('\n\n') fid.close() return targets