📄 hdf_sort_test.c
字号:
#include "cs_config.h"#include <unistd.h>#include <string.h>#include "util/neo_misc.h"#include "util/neo_hdf.h"#include "util/neo_rand.h"int TestCompare(const void* pa, const void* pb){ HDF **a = (HDF **)pa; HDF **b = (HDF **)pb; float aVal,bVal; aVal = atof(hdf_get_value(*a,"val","0")); bVal = atof(hdf_get_value(*b,"val","0")); printf("TestCompare aVal=%f [%s] bVal=%f [%s]\n",aVal,hdf_get_value(*a,"name","?"),bVal,hdf_get_value(*b,"name","?")); if (aVal<bVal) return -1; if (aVal==bVal) return 0; return 1;}void TestSort(HDF* hdf){ int i; float value; for (i=0;i<15;i++) { value = rand()/(RAND_MAX+1.0); hdf_set_valuef(hdf, "test.%d", "%d", i, i); hdf_set_valuef(hdf, "test.%d.name", "item #%d", i, i); hdf_set_valuef(hdf, "test.%d.val", "%f", i, value ); } hdf_dump(hdf,NULL); hdf_sort_obj(hdf_get_obj(hdf, "test"), TestCompare); hdf_dump(hdf,NULL);}int main(int argc, char *argv[]){ NEOERR *err; HDF *hdf; double tstart = 0; err = hdf_init(&hdf); if (err != STATUS_OK) { nerr_log_error(err); return -1; } tstart = ne_timef(); TestSort(hdf); ne_warn("sort took %5.5fs", ne_timef() - tstart); hdf_dump(hdf, NULL); hdf_destroy(&hdf); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -