Source identity
| Field | Recorded value |
|---|---|
| Source type | GitHub source |
| Original record | Janady13/seferim-agi-g16 / bindings/node/src/addon.cc |
| Date | Not specified in source |
| Repository | Janady13/seferim-agi-g16 |
| Revision | 25f281b08b2f786f5a235b5abebfc39bf44d1044 |
| Branch | main |
| Path or archive member | bindings/node/src/addon.cc |
| Original SHA-256 | 82f1fb4b0b2a8a730eb81acd4925abf8c4d9808e53be6fa529e0b0f99373e7b7 |
| Git blob SHA | d80b3403c4a6f4a943e8946ad16d5db6bcd63993 |
| Reading-copy SHA-256 | 82f1fb4b0b2a8a730eb81acd4925abf8c4d9808e53be6fa529e0b0f99373e7b7 |
Every recorded occurrence
These 2 records contain identical original source bytes. Their paths and revisions remain part of the archive.
| Original record | Branch or archive | Revision / identifier | Original location |
|---|---|---|---|
| Janady13/seferim-agi-g16 / bindings/node/src/addon.cc | main | 25f281b08b2f786f5a235b5abebfc39bf44d1044 | Open original |
| Janady13/seferim-agi-g16 / bindings/node/src/addon.cc | copilot/update-code-libraries | 393af96a270295f79582b2b2a77bb49dd1a9a990 | Open original |
Recovered source transcript
Download complete source text ↓33 lines · 1.2 KB
#include <napi.h>
#include "abi.h"
using namespace Napi;
Value UpdateWrapped(const CallbackInfo& info) {
Env env = info.Env();
if (info.Length() != 3 || !info[0].IsArray() || !info[1].IsArray() || !info[2].IsObject())
return env.Null();
auto s_t_arr = info[0].As<Array>();
auto s_tm1_arr = info[1].As<Array>();
auto in_obj = info[2].As<Object>();
g16_meta_state_c s_t{}, s_tm1{}, out{};
for (uint32_t i = 0; i < 17 && i < s_t_arr.Length(); ++i) s_t.g[i] = s_t_arr.Get(i).As<Number>().DoubleValue();
for (uint32_t i = 0; i < 17 && i < s_tm1_arr.Length(); ++i) s_tm1.g[i] = s_tm1_arr.Get(i).As<Number>().DoubleValue();
g16_inputs_c in{};
in.dx_norm = in_obj.Get("dx_norm").As<Number>().DoubleValue();
in.ed_error = in_obj.Get("ed_error").As<Number>().DoubleValue();
in.utility = in_obj.Get("utility").As<Number>().DoubleValue();
in.stability = in_obj.Get("stability").As<Number>().DoubleValue();
g16_update(&s_t, &s_tm1, &in, &out);
Array res = Array::New(env, 17);
for (uint32_t i = 0; i < 17; ++i) res.Set(i, Number::New(env, out.g[i]));
return res;
}
Object Init(Env env, Object exports) {
exports.Set("update", Function::New(env, UpdateWrapped));
return exports;
}
NODE_API_MODULE(g16addon, Init)