亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? func.c

?? video linux conference
?? C
字號:
/* Function management */#include <stdio.h>#include <string.h>#include <stdlib.h>#include "common.h"#include "fatal.h"#include "func_types.h"#include "func.h"#include "splaytree_types.h"#include "splaytree.h"#include "tree_types.h"#include "builtin_funcs.h"/* A splay tree of builtin functions */splaytree_t * builtin_func_tree;/* Private function prototypes */int compare_func(char * name, char * name2);int insert_func(func_t * name);void * copy_func_key(char * string);void * copy_func_key(char * string) {		char * clone_string;		if ((clone_string = malloc(MAX_TOKEN_SIZE)) == NULL)		return NULL;		strncpy(clone_string, string, MAX_TOKEN_SIZE-1);		return (void*)clone_string;}	func_t * create_func (char * name, double (*func_ptr)(), int num_args) {  func_t * func;  func = (func_t*)malloc(sizeof(func_t));   if (func == NULL)    return NULL;    /* Clear name space */  memset(func->name, 0, MAX_TOKEN_SIZE);  /* Copy given name into function structure */  strncpy(func->name, name, MAX_TOKEN_SIZE);   /* Assign value pointer */  func->func_ptr = func_ptr;  func->num_args = num_args;  /* Return instantiated function */  return func;}/* Initialize the builtin function database.   Should only be necessary once */int init_builtin_func_db() {  int retval;  builtin_func_tree = create_splaytree(compare_string, copy_string, free_string);  if (builtin_func_tree == NULL)    return OUTOFMEM_ERROR;  retval = load_all_builtin_func();  return SUCCESS;}/* Destroy the builtin function database.   Generally, do this on projectm exit */int destroy_builtin_func_db() {  splay_traverse(free_func, builtin_func_tree);  destroy_splaytree(builtin_func_tree);  return SUCCESS;}/* Insert a function into the database */int insert_func(func_t * func) {  if (func == NULL)    return ERROR;  splay_insert(func, func->name, builtin_func_tree);  return SUCCESS;}/* Frees a function type, real complicated... */void free_func(func_t * func) {  free(func);}/* Remove a function from the database */int remove_func(func_t * func) {  if (func == NULL)    return ERROR;    splay_delete(func->name, builtin_func_tree);  return SUCCESS;}/* Find a function given its name */func_t * find_func(char * name) {  func_t * func = NULL;  /* First look in the builtin database */  func = (func_t *)splay_find(name, builtin_func_tree);	  return func;}/* Compare string name with function name */int compare_func(char * name, char * name2) {  int cmpval;  /* Uses string comparison function */  cmpval = strncmp(name, name2, MAX_TOKEN_SIZE-1);    return cmpval;}/* Loads a builtin function */int load_builtin_func(char * name,  double (*func_ptr)(), int num_args) {  func_t * func;   int retval;   /* Create new function */  func = create_func(name, func_ptr, num_args);  if (func == NULL)    return OUTOFMEM_ERROR;  retval = insert_func(func);  return retval;}/* Loads all builtin functions */int load_all_builtin_func() {    if (load_builtin_func("int", int_wrapper, 1) < 0)    return ERROR;  if (load_builtin_func("abs", abs_wrapper, 1) < 0)    return ERROR;  if (load_builtin_func("sin", sin_wrapper, 1) < 0)    return ERROR;  if (load_builtin_func("cos", cos_wrapper, 1) < 0)    return ERROR;  if (load_builtin_func("tan", tan_wrapper, 1) < 0)    return ERROR;  if (load_builtin_func("asin", asin_wrapper, 1) < 0)    return ERROR;  if (load_builtin_func("acos", acos_wrapper, 1) < 0)    return ERROR;  if (load_builtin_func("atan", atan_wrapper, 1) < 0)    return ERROR;  if (load_builtin_func("sqr", sqr_wrapper, 1) < 0)    return ERROR;  if (load_builtin_func("sqrt", sqrt_wrapper, 1) < 0)    return ERROR;  if (load_builtin_func("pow", pow_wrapper, 2) < 0)    return ERROR;  if (load_builtin_func("exp", exp_wrapper, 1) < 0)    return ERROR;  if (load_builtin_func("log", log_wrapper, 1) < 0)    return ERROR;  if (load_builtin_func("log10", log10_wrapper, 1) < 0)    return ERROR;  if (load_builtin_func("sign", sign_wrapper, 1) < 0)    return ERROR;  if (load_builtin_func("min", min_wrapper, 2) < 0)    return ERROR;  if (load_builtin_func("max", max_wrapper, 2) < 0)    return ERROR;  if (load_builtin_func("sigmoid", sigmoid_wrapper, 2) < 0)    return ERROR;  if (load_builtin_func("atan2", atan2_wrapper, 2) < 0)    return ERROR;  if (load_builtin_func("rand", rand_wrapper, 1) < 0)    return ERROR;  if (load_builtin_func("band", band_wrapper, 2) < 0)    return ERROR;  if (load_builtin_func("bor", bor_wrapper, 2) < 0)    return ERROR;  if (load_builtin_func("bnot", bnot_wrapper, 1) < 0)    return ERROR;  if (load_builtin_func("if", if_wrapper, 3) < 0)    return ERROR;  if (load_builtin_func("equal", equal_wrapper, 2) < 0)    return ERROR;  if (load_builtin_func("above", above_wrapper, 2) < 0)    return ERROR;  if (load_builtin_func("below", below_wrapper, 2) < 0)    return ERROR;  if (load_builtin_func("nchoosek", nchoosek_wrapper, 2) < 0)    return ERROR;  if (load_builtin_func("fact", fact_wrapper, 1) < 0)    return ERROR;  return SUCCESS;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩精品系列| 一本色道久久综合亚洲91| 一级做a爱片久久| 国产精品久久看| 国产精品免费视频观看| 日本一区二区三区dvd视频在线| 久久蜜臀中文字幕| 久久精品欧美一区二区三区不卡| 久久综合五月天婷婷伊人| 亚洲精品一区在线观看| 精品成人免费观看| 国产亚洲精品中文字幕| 欧美国产综合色视频| 中文字幕一区二区三区在线播放| 国产精品电影一区二区三区| 国产精品国产三级国产a| 中文字幕中文字幕一区二区| 国产精品久久久久久久久动漫| 国产精品久99| 亚洲sss视频在线视频| 婷婷一区二区三区| 捆绑变态av一区二区三区| 国产一区二区毛片| 91看片淫黄大片一级| 欧美日韩精品专区| 久久久久久久综合狠狠综合| 中文字幕一区免费在线观看| 亚洲亚洲人成综合网络| 久久99精品国产麻豆婷婷| jvid福利写真一区二区三区| 欧美性感一类影片在线播放| 欧美电视剧在线看免费| 一区精品在线播放| 久久精品国产澳门| 91片在线免费观看| 欧美一区二区三区视频在线观看| 久久夜色精品国产欧美乱极品| 亚洲色图欧洲色图婷婷| 蜜臀精品一区二区三区在线观看| 成人丝袜高跟foot| 91精品国产综合久久久蜜臀图片| 国产日韩视频一区二区三区| 性做久久久久久免费观看| 国产精品一区专区| 欧美精品一级二级| 国产精品人人做人人爽人人添| 亚洲成av人影院| 91在线观看美女| www一区二区| 性做久久久久久免费观看| 波多野洁衣一区| 精品播放一区二区| 亚洲第一综合色| 99re热这里只有精品视频| 精品91自产拍在线观看一区| 亚洲午夜精品一区二区三区他趣| 国产99精品视频| 欧美精品一区二区在线播放| 亚洲图片自拍偷拍| 日本韩国一区二区三区视频| 久久精品人人做人人综合| 免费欧美在线视频| 欧美视频你懂的| 樱花影视一区二区| 91最新地址在线播放| 国产无遮挡一区二区三区毛片日本| 天堂一区二区在线免费观看| 一本到不卡精品视频在线观看| 欧美国产欧美综合| 国产精品自拍在线| 国产亚洲精品bt天堂精选| 麻豆国产欧美一区二区三区| 9191成人精品久久| 日韩国产欧美在线观看| 91精品一区二区三区在线观看| 亚洲综合一区二区精品导航| 99久久久国产精品| 亚洲色图欧洲色图| 色欧美片视频在线观看在线视频| 最新久久zyz资源站| 91免费精品国自产拍在线不卡| 国产精品视频麻豆| 91蜜桃在线免费视频| 亚洲人成小说网站色在线 | 久久久精品影视| 国产米奇在线777精品观看| 亚洲精品在线观看视频| 国产精品91一区二区| 中文字幕 久热精品 视频在线| 国产精品亚洲第一区在线暖暖韩国 | 久久日韩粉嫩一区二区三区| 久久电影网电视剧免费观看| 26uuu成人网一区二区三区| 成人免费毛片a| 国产精品的网站| 91日韩一区二区三区| 一区二区三区四区在线| 欧美日本在线播放| 久久成人免费日本黄色| 日本一区二区三区电影| 欧洲在线/亚洲| 免费高清在线一区| 中文字幕av一区二区三区| 91麻豆6部合集magnet| 午夜成人免费视频| 久久亚洲二区三区| 91久久国产综合久久| 美女视频免费一区| 国产精品久久久久国产精品日日| 在线观看三级视频欧美| 久久99国产精品久久| 综合久久综合久久| 欧美xxxxx裸体时装秀| 不卡欧美aaaaa| 久久精品国产久精国产| 亚洲色图欧美偷拍| 欧美一区二区在线免费播放| 国产寡妇亲子伦一区二区| 亚洲一区二区四区蜜桃| 国产午夜亚洲精品羞羞网站| 欧美性大战xxxxx久久久| 国产激情精品久久久第一区二区| 亚洲午夜精品在线| 国产精品免费视频网站| 日韩午夜电影av| 欧美做爰猛烈大尺度电影无法无天| 久久99国产精品麻豆| 午夜久久电影网| 亚洲欧洲日韩在线| 久久精品一区八戒影视| 欧美乱妇23p| 在线中文字幕不卡| 99久久精品免费| 国产a区久久久| 国精产品一区一区三区mba桃花 | 日韩精品视频网站| 午夜婷婷国产麻豆精品| 国产精品色哟哟网站| 欧美电视剧在线看免费| 91精品婷婷国产综合久久竹菊| 色哟哟国产精品免费观看| av高清不卡在线| 成人免费高清视频在线观看| 久久66热偷产精品| 天堂一区二区在线| 亚洲第一主播视频| 亚洲va欧美va国产va天堂影院| 亚洲精品国产视频| 亚洲精品大片www| 亚洲少妇中出一区| 亚洲免费av观看| 亚洲麻豆国产自偷在线| 亚洲欧美另类综合偷拍| 国产精品久久久久久一区二区三区| 国产午夜精品在线观看| 日本一区二区三区久久久久久久久不| 久久久久国产精品麻豆ai换脸| 精品国产亚洲在线| 国产区在线观看成人精品| 中文字幕不卡在线观看| 国产日本欧美一区二区| 国产精品污污网站在线观看| 中文字幕乱码久久午夜不卡 | 国产91丝袜在线观看| 成人一区二区三区中文字幕| 成人一区二区三区在线观看 | 夜夜嗨av一区二区三区网页| 亚洲精选免费视频| 日欧美一区二区| 国产一区美女在线| 99re成人精品视频| 欧美日韩一区不卡| 欧美不卡激情三级在线观看| 欧美精品一区二区三区一线天视频| 久久亚洲综合色| 亚洲欧美偷拍卡通变态| 午夜不卡av在线| 国产成人8x视频一区二区| 色av一区二区| 日韩一区二区免费在线电影 | 色8久久精品久久久久久蜜| 欧美日韩成人高清| 26uuu久久天堂性欧美| 亚洲欧美日韩国产手机在线| 日本aⅴ亚洲精品中文乱码| 国产米奇在线777精品观看| 91蜜桃在线免费视频| 日韩无一区二区| 亚洲欧美电影一区二区| 免费av成人在线| 91免费在线视频观看| 欧美电影精品一区二区| 亚洲精品一二三| 国产精品99久久久久久似苏梦涵 | 美国十次综合导航| av一区二区三区四区| 日韩欧美中文一区二区| 日韩美女视频一区| 国产自产2019最新不卡| 精品视频在线看|