From ddf8c830d71a23d851dcea24c4105d5b962f0c09 Mon Sep 17 00:00:00 2001 From: Jeremy Bradley-Silverio Donato Date: Thu, 6 Jan 2022 17:38:31 +0100 Subject: [PATCH] docs: Update terminology_and_structure.md --- docs/dev/explanation/terminology_and_structure.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/dev/explanation/terminology_and_structure.md b/docs/dev/explanation/terminology_and_structure.md index 4a8ef8aaa..ce14e86c3 100644 --- a/docs/dev/explanation/terminology_and_structure.md +++ b/docs/dev/explanation/terminology_and_structure.md @@ -8,7 +8,7 @@ In this section we will go over some terms that we use throughout the project. - a data structure to represent a calculation - basically a computation graph where nodes are either inputs or operations on other nodes - tracing - - it is our technique to take directly a plain numpy function from a user and deduce its intermediate representation in a painless way for the user + - it is our technique to directly take a plain numpy function from a user and deduce its intermediate representation in a painless way for the user - bounds - before intermediate representation is sent to the compiler, we need to know which node will output which type (e.g., uint3 vs uint5) - there are several ways to do this but the simplest one is to evaluate the intermediate representation with all combinations of inputs and remember the maximum and the minimum values for each node, which is what we call bounds, and bounds can be used to determine the appropriate type for each node