static void* vwl2norm(NrnThread* nt) { realtype sum; int i = nt->id; sum = N_VWL2Norm_helper(xarg(i), warg(i)); lockadd(sum); return (void*)0; }
static void* vwrmsnorm(NrnThread* nt) { ldrealtype s; int i = nt->id; s = vwrmsnorm_help(xarg(i), warg(i)); locklongdadd(s); return (void*)0; }
static void* vwrmsnormmask(NrnThread* nt) { realtype s; int i = nt->id; s = vwrmsnormmask_help(xarg(i), warg(i), idarg(i)); lockadd(s); return (void*)0; }
/* リンク あらかじめ、CoInitialize(NULL); を実行しておくこと */ BOOL SymLink(LPCSTR src, LPSTR dest, LPCSTR arg) { IShellLink *shellLink; IPersistFile *persistFile; Wstr wsrc(src), wdest(dest), warg(arg); BOOL ret = FALSE; char buf[MAX_PATH_U8]; if (SUCCEEDED(CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLinkW, (void **)&shellLink))) { shellLink->SetPath((char *)wsrc.Buf()); shellLink->SetArguments((char *)warg.Buf()); GetParentDirU8(src, buf); shellLink->SetWorkingDirectory((char *)U8toWs(buf)); if (SUCCEEDED(shellLink->QueryInterface(IID_IPersistFile, (void **)&persistFile))) { if (SUCCEEDED(persistFile->Save(wdest.s(), TRUE))) { ret = TRUE; GetParentDirU8(WtoU8(wdest.s()), buf); ::SHChangeNotify(SHCNE_UPDATEDIR, SHCNF_PATH|SHCNF_FLUSH, U8toAs(buf), NULL); } persistFile->Release(); } shellLink->Release(); } return ret; }