more accuracy

This commit is contained in:
2026-05-10 22:13:20 +03:00
parent e4d342a36f
commit 461416362c
5 changed files with 32 additions and 13 deletions

View File

@@ -1082,6 +1082,7 @@ struct nn_Computer {
nn_Architecture desiredArch;
double callBudget;
double totalCallBudget;
double directCost;
nn_HashMap components;
nn_DeviceInfoArray deviceInfo;
double totalEnergy;
@@ -1202,6 +1203,8 @@ nn_Computer *nn_createComputer(nn_Universe *universe, void *userdata, const char
c->totalCallBudget = 1;
c->callBudget = c->totalCallBudget;
// OC defaults to Integer.MAX_VALUE, idk where the old number came from
c->directCost = 0;
if(nn_hashInit(&c->components, maxComponents, ctx, &nn_componentHasher)) {
nn_destroyLock(ctx, c->lock);
@@ -1304,6 +1307,14 @@ void nn_setComputerEnvironment(nn_Computer *computer, nn_Environment env) {
computer->env = env;
}
void nn_setDirectCost(nn_Computer *computer, double directCost) {
computer->directCost = directCost;
}
double nn_getDirectCost(nn_Computer *computer) {
return computer->directCost;
}
const char *nn_deviceInfoAt(nn_Computer *computer, size_t idx) {
return idx < computer->deviceInfo.len ? computer->deviceInfo.entries[idx].address : NULL;
}
@@ -2157,8 +2168,7 @@ nn_Exit nn_invokeComponent(nn_Computer *computer, const char *compAddress, const
nn_pop(computer);
}
// TODO: configurable cost
nn_costComponent(computer, 22000);
nn_costComponent(computer, computer->directCost);
nn_ComponentRequest req;
req.ctx = &c->universe->ctx;