@@ -201,13 +201,13 @@ impl <'a> Updater<'a> {
201201 }
202202}
203203
204- pub ( crate ) struct AddN ( NodeIdx , Vec < ANode > , Computation ) ;
204+ pub ( crate ) struct AddN ( NodeIdx , [ ANode ; 2 ] , Computation ) ;
205205
206206impl AddN {
207207 pub ( crate ) fn new ( left : ANode , right : ANode ) -> ANode {
208208 let idx = NodeIdx :: new ( ) ;
209209 let value = AddN :: compute ( & left, & right) ;
210- let node = AddN ( idx, vec ! [ left, right] , Computation :: pooled ( value) ) ;
210+ let node = AddN ( idx, [ left, right] , Computation :: pooled ( value) ) ;
211211 ANode :: new ( Rc :: new ( node) )
212212 }
213213
@@ -250,13 +250,13 @@ impl Node for AddN {
250250
251251}
252252
253- pub ( crate ) struct Subtract ( NodeIdx , Vec < ANode > , Computation ) ;
253+ pub ( crate ) struct Subtract ( NodeIdx , [ ANode ; 2 ] , Computation ) ;
254254
255255impl Subtract {
256256 pub ( crate ) fn new ( left : ANode , right : ANode ) -> ANode {
257257 let idx = NodeIdx :: new ( ) ;
258258 let value = Subtract :: compute ( & left, & right) ;
259- let node = Subtract ( idx, vec ! [ left, right] , Computation :: pooled ( value) ) ;
259+ let node = Subtract ( idx, [ left, right] , Computation :: pooled ( value) ) ;
260260 ANode :: new ( Rc :: new ( node) )
261261 }
262262
@@ -299,13 +299,13 @@ impl Node for Subtract {
299299
300300}
301301
302- pub ( crate ) struct Multiply ( NodeIdx , Vec < ANode > , Computation ) ;
302+ pub ( crate ) struct Multiply ( NodeIdx , [ ANode ; 2 ] , Computation ) ;
303303
304304impl Multiply {
305305 pub ( crate ) fn new ( left : ANode , right : ANode ) -> ANode {
306306 let idx = NodeIdx :: new ( ) ;
307307 let value = Multiply :: compute ( & left, & right) ;
308- let node = Multiply ( idx, vec ! [ left, right] , Computation :: pooled ( value) ) ;
308+ let node = Multiply ( idx, [ left, right] , Computation :: pooled ( value) ) ;
309309 ANode :: new ( Rc :: new ( node) )
310310 }
311311
@@ -355,13 +355,13 @@ impl Node for Multiply {
355355
356356}
357357
358- pub ( crate ) struct Divide ( NodeIdx , Vec < ANode > , Computation ) ;
358+ pub ( crate ) struct Divide ( NodeIdx , [ ANode ; 2 ] , Computation ) ;
359359
360360impl Divide {
361361 pub ( crate ) fn new ( left : ANode , right : ANode ) -> ANode {
362362 let idx = NodeIdx :: new ( ) ;
363363 let value = Divide :: compute ( & left, & right) ;
364- let node = Divide ( idx, vec ! [ left, right] , Computation :: pooled ( value) ) ;
364+ let node = Divide ( idx, [ left, right] , Computation :: pooled ( value) ) ;
365365 ANode :: new ( Rc :: new ( node) )
366366 }
367367
@@ -409,13 +409,13 @@ impl Node for Divide {
409409
410410}
411411
412- pub ( crate ) struct Power ( NodeIdx , Vec < ANode > , Computation ) ;
412+ pub ( crate ) struct Power ( NodeIdx , [ ANode ; 2 ] , Computation ) ;
413413
414414impl Power {
415415 pub ( crate ) fn new ( base : ANode , exp : ANode ) -> ANode {
416416 let idx = NodeIdx :: new ( ) ;
417417 let value = Power :: compute ( & base, & exp) ;
418- let node = Power ( idx, vec ! [ base, exp] , Computation :: pooled ( value) ) ;
418+ let node = Power ( idx, [ base, exp] , Computation :: pooled ( value) ) ;
419419 ANode :: new ( Rc :: new ( node) )
420420 }
421421
@@ -469,13 +469,13 @@ impl Node for Power {
469469
470470}
471471
472- pub ( crate ) struct SumVec ( NodeIdx , Vec < ANode > , Computation ) ;
472+ pub ( crate ) struct SumVec ( NodeIdx , [ ANode ; 1 ] , Computation ) ;
473473
474474impl SumVec {
475475 pub ( crate ) fn new ( vec : ANode ) -> ANode {
476476 let idx = NodeIdx :: new ( ) ;
477477 let value = SumVec :: compute ( & vec) ;
478- let node = SumVec ( idx, vec ! [ vec] , Computation :: pooled ( value) ) ;
478+ let node = SumVec ( idx, [ vec] , Computation :: pooled ( value) ) ;
479479 ANode :: new ( Rc :: new ( node) )
480480 }
481481
@@ -512,13 +512,13 @@ impl Node for SumVec {
512512 }
513513}
514514
515- pub ( crate ) struct Cos ( NodeIdx , Vec < ANode > , Computation ) ;
515+ pub ( crate ) struct Cos ( NodeIdx , [ ANode ; 1 ] , Computation ) ;
516516
517517impl Cos {
518518 pub ( crate ) fn new ( vec : ANode ) -> ANode {
519519 let idx = NodeIdx :: new ( ) ;
520520 let value = Cos :: compute ( & vec) ;
521- let node = Cos ( idx, vec ! [ vec] , Computation :: pooled ( value) ) ;
521+ let node = Cos ( idx, [ vec] , Computation :: pooled ( value) ) ;
522522 ANode :: new ( Rc :: new ( node) )
523523 }
524524
@@ -555,13 +555,13 @@ impl Node for Cos {
555555 }
556556}
557557
558- pub ( crate ) struct Sin ( NodeIdx , Vec < ANode > , Computation ) ;
558+ pub ( crate ) struct Sin ( NodeIdx , [ ANode ; 1 ] , Computation ) ;
559559
560560impl Sin {
561561 pub ( crate ) fn new ( vec : ANode ) -> ANode {
562562 let idx = NodeIdx :: new ( ) ;
563563 let value = Sin :: compute ( & vec) ;
564- let node = Sin ( idx, vec ! [ vec] , Computation :: pooled ( value) ) ;
564+ let node = Sin ( idx, [ vec] , Computation :: pooled ( value) ) ;
565565 ANode :: new ( Rc :: new ( node) )
566566 }
567567
@@ -599,13 +599,13 @@ impl Node for Sin {
599599 }
600600}
601601
602- pub ( crate ) struct Ln ( NodeIdx , Vec < ANode > , Computation ) ;
602+ pub ( crate ) struct Ln ( NodeIdx , [ ANode ; 1 ] , Computation ) ;
603603
604604impl Ln {
605605 pub ( crate ) fn new ( vec : ANode ) -> ANode {
606606 let idx = NodeIdx :: new ( ) ;
607607 let value = Ln :: compute ( & vec) ;
608- let node = Ln ( idx, vec ! [ vec] , Computation :: pooled ( value) ) ;
608+ let node = Ln ( idx, [ vec] , Computation :: pooled ( value) ) ;
609609 ANode :: new ( Rc :: new ( node) )
610610 }
611611
@@ -642,13 +642,13 @@ impl Node for Ln {
642642 }
643643}
644644
645- pub ( crate ) struct Exp ( NodeIdx , Vec < ANode > , Computation ) ;
645+ pub ( crate ) struct Exp ( NodeIdx , [ ANode ; 1 ] , Computation ) ;
646646
647647impl Exp {
648648 pub ( crate ) fn new ( vec : ANode ) -> ANode {
649649 let idx = NodeIdx :: new ( ) ;
650650 let value = Exp :: compute ( & vec) ;
651- let node = Exp ( idx, vec ! [ vec] , Computation :: pooled ( value) ) ;
651+ let node = Exp ( idx, [ vec] , Computation :: pooled ( value) ) ;
652652 ANode :: new ( Rc :: new ( node) )
653653 }
654654
@@ -685,13 +685,13 @@ impl Node for Exp {
685685 }
686686}
687687
688- pub ( crate ) struct Negate ( NodeIdx , Vec < ANode > , Computation ) ;
688+ pub ( crate ) struct Negate ( NodeIdx , [ ANode ; 1 ] , Computation ) ;
689689
690690impl Negate {
691691 pub ( crate ) fn new ( vec : ANode ) -> ANode {
692692 let idx = NodeIdx :: new ( ) ;
693693 let value = Negate :: compute ( & vec) ;
694- let node = Negate ( idx, vec ! [ vec] , Computation :: pooled ( value) ) ;
694+ let node = Negate ( idx, [ vec] , Computation :: pooled ( value) ) ;
695695 ANode :: new ( Rc :: new ( node) )
696696 }
697697
@@ -774,13 +774,13 @@ impl Node for BulkSum {
774774}
775775
776776
777- pub ( crate ) struct Maximum ( NodeIdx , Vec < ANode > , Computation ) ;
777+ pub ( crate ) struct Maximum ( NodeIdx , [ ANode ; 2 ] , Computation ) ;
778778
779779impl Maximum {
780780 pub ( crate ) fn new ( left : ANode , right : ANode ) -> ANode {
781781 let idx = NodeIdx :: new ( ) ;
782782 let value = Maximum :: compute ( & left, & right) ;
783- let node = Maximum ( idx, vec ! [ left, right] , Computation :: pooled ( value) ) ;
783+ let node = Maximum ( idx, [ left, right] , Computation :: pooled ( value) ) ;
784784 ANode :: new ( Rc :: new ( node) )
785785 }
786786
@@ -830,13 +830,13 @@ impl Node for Maximum {
830830 }
831831}
832832
833- pub ( crate ) struct Minimum ( NodeIdx , Vec < ANode > , Computation ) ;
833+ pub ( crate ) struct Minimum ( NodeIdx , [ ANode ; 2 ] , Computation ) ;
834834
835835impl Minimum {
836836 pub ( crate ) fn new ( left : ANode , right : ANode ) -> ANode {
837837 let idx = NodeIdx :: new ( ) ;
838838 let value = Minimum :: compute ( & left, & right) ;
839- let node = Minimum ( idx, vec ! [ left, right] , Computation :: pooled ( value) ) ;
839+ let node = Minimum ( idx, [ left, right] , Computation :: pooled ( value) ) ;
840840 ANode :: new ( Rc :: new ( node) )
841841 }
842842
0 commit comments