Fix nnls logic.

If no latest target exists, the deficit is zero (no target, no problem).

Commit
3d4859c18ec3c96f6cbc1c18808d598f0eb45889
Author
Marius Peter <dev@marius-peter.com>
Author date
Committer
Marius Peter <dev@marius-peter.com>
Committer date
services/nnls.rkt
index 52afbadc..649d4167 100644..100644
@@ -26,17 +26,16 @@
26 26 (define latest-target (get-latest-nutrient-target-value n))
27 27 (define deficit
28 28 (cond
29 Added: [(false? latest-target)
30 Added: 0]
29 31 [(or (false? latest-measurement)
30 32 (zero? latest-measurement))
31 33 latest-target]
32 Removed: [(false? latest-target)
33 Removed: 0]
34 34 [(and (number? latest-measurement)
35 35 (number? latest-target))
36 36 (* 100
37 37 (/ (- latest-target latest-measurement)
38 Removed: latest-measurement))]
39 Removed: [else (error "either the target or measurement are not numbers")]))
38 Added: latest-measurement))]))
40 39 deficit)))
41 40 (define error-threshold 10e-4)
42 41 (lawson-hanson-1974 fertilizer-product-matrix deficits error-threshold))