@@ -80,12 +80,10 @@ fn has_digits(
8080 number_value:: Number :: Integer ( _) => Signal :: Success ( false . to_value ( ) ) ,
8181 number_value:: Number :: Float ( _) => Signal :: Success ( true . to_value ( ) ) ,
8282 } ,
83- None => {
84- Signal :: Failure ( RuntimeError :: simple_str (
85- "InvlaidArgumentExeption" ,
86- "Had NumberValue but no inner number value (was null)" ,
87- ) )
88- }
83+ None => Signal :: Failure ( RuntimeError :: simple_str (
84+ "InvlaidArgumentExeption" ,
85+ "Had NumberValue but no inner number value (was null)" ,
86+ ) ) ,
8987 }
9088}
9189
@@ -97,12 +95,10 @@ fn remove_digits(
9795 args ! ( args => value: NumberValue ) ;
9896 match number_to_i64_lossy ( & value) {
9997 Some ( number) => Signal :: Success ( value_from_i64 ( number) ) ,
100- None => {
101- Signal :: Failure ( RuntimeError :: simple_str (
102- "InvlaidArgumentExeption" ,
103- "Had NumberValue but no inner number value (was null)" ,
104- ) )
105- }
98+ None => Signal :: Failure ( RuntimeError :: simple_str (
99+ "InvlaidArgumentExeption" ,
100+ "Had NumberValue but no inner number value (was null)" ,
101+ ) ) ,
106102 }
107103}
108104
@@ -112,10 +108,11 @@ fn add(
112108 _run : & mut dyn FnMut ( i64 , & mut Context ) -> Signal ,
113109) -> Signal {
114110 args ! ( args => lhs: NumberValue , rhs: NumberValue ) ;
115- if let ( Some ( number_value:: Number :: Integer ( a) ) , Some ( number_value:: Number :: Integer ( b) ) ) = ( lhs. number , rhs. number ) {
116- if let Some ( sum) = a. checked_add ( b) {
117- return Signal :: Success ( value_from_i64 ( sum) ) ;
118- }
111+ if let ( Some ( number_value:: Number :: Integer ( a) ) , Some ( number_value:: Number :: Integer ( b) ) ) =
112+ ( lhs. number , rhs. number )
113+ && let Some ( sum) = a. checked_add ( b)
114+ {
115+ return Signal :: Success ( value_from_i64 ( sum) ) ;
119116 }
120117 let lhs = match num_f64 ( & lhs) {
121118 Ok ( v) => v,
@@ -134,10 +131,11 @@ fn multiply(
134131 _run : & mut dyn FnMut ( i64 , & mut Context ) -> Signal ,
135132) -> Signal {
136133 args ! ( args => lhs: NumberValue , rhs: NumberValue ) ;
137- if let ( Some ( number_value:: Number :: Integer ( a) ) , Some ( number_value:: Number :: Integer ( b) ) ) = ( lhs. number , rhs. number ) {
138- if let Some ( prod) = a. checked_mul ( b) {
139- return Signal :: Success ( value_from_i64 ( prod) ) ;
140- }
134+ if let ( Some ( number_value:: Number :: Integer ( a) ) , Some ( number_value:: Number :: Integer ( b) ) ) =
135+ ( lhs. number , rhs. number )
136+ && let Some ( prod) = a. checked_mul ( b)
137+ {
138+ return Signal :: Success ( value_from_i64 ( prod) ) ;
141139 }
142140 let lhs = match num_f64 ( & lhs) {
143141 Ok ( v) => v,
@@ -156,10 +154,11 @@ fn substract(
156154 _run : & mut dyn FnMut ( i64 , & mut Context ) -> Signal ,
157155) -> Signal {
158156 args ! ( args => lhs: NumberValue , rhs: NumberValue ) ;
159- if let ( Some ( number_value:: Number :: Integer ( a) ) , Some ( number_value:: Number :: Integer ( b) ) ) = ( lhs. number , rhs. number ) {
160- if let Some ( diff) = a. checked_sub ( b) {
161- return Signal :: Success ( value_from_i64 ( diff) ) ;
162- }
157+ if let ( Some ( number_value:: Number :: Integer ( a) ) , Some ( number_value:: Number :: Integer ( b) ) ) =
158+ ( lhs. number , rhs. number )
159+ && let Some ( diff) = a. checked_sub ( b)
160+ {
161+ return Signal :: Success ( value_from_i64 ( diff) ) ;
163162 }
164163 let lhs = match num_f64 ( & lhs) {
165164 Ok ( v) => v,
@@ -191,10 +190,12 @@ fn divide(
191190 ) ) ;
192191 }
193192
194- if let ( Some ( number_value:: Number :: Integer ( a) ) , Some ( number_value:: Number :: Integer ( b) ) ) = ( lhs. number , rhs. number ) {
195- if b != 0 && a % b == 0 {
196- return Signal :: Success ( value_from_i64 ( a / b) ) ;
197- }
193+ if let ( Some ( number_value:: Number :: Integer ( a) ) , Some ( number_value:: Number :: Integer ( b) ) ) =
194+ ( lhs. number , rhs. number )
195+ && b != 0
196+ && a % b == 0
197+ {
198+ return Signal :: Success ( value_from_i64 ( a / b) ) ;
198199 }
199200
200201 let lhs_f = match num_f64 ( & lhs) {
@@ -223,10 +224,11 @@ fn modulo(
223224 ) ) ;
224225 }
225226
226- if let ( Some ( number_value:: Number :: Integer ( a) ) , Some ( number_value:: Number :: Integer ( b) ) ) = ( lhs. number , rhs. number ) {
227- if b != 0 {
228- return Signal :: Success ( value_from_i64 ( a % b) ) ;
229- }
227+ if let ( Some ( number_value:: Number :: Integer ( a) ) , Some ( number_value:: Number :: Integer ( b) ) ) =
228+ ( lhs. number , rhs. number )
229+ && b != 0
230+ {
231+ return Signal :: Success ( value_from_i64 ( a % b) ) ;
230232 }
231233
232234 let lhs_f = match num_f64 ( & lhs) {
@@ -242,10 +244,10 @@ fn abs(
242244 _run : & mut dyn FnMut ( i64 , & mut Context ) -> Signal ,
243245) -> Signal {
244246 args ! ( args => value: NumberValue ) ;
245- if let Some ( number_value:: Number :: Integer ( i) ) = value. number {
246- if let Some ( abs) = i. checked_abs ( ) {
247- return Signal :: Success ( value_from_i64 ( abs ) ) ;
248- }
247+ if let Some ( number_value:: Number :: Integer ( i) ) = value. number
248+ && let Some ( abs) = i. checked_abs ( )
249+ {
250+ return Signal :: Success ( value_from_i64 ( abs ) ) ;
249251 }
250252 let value = match num_f64 ( & value) {
251253 Ok ( v) => v,
@@ -328,10 +330,10 @@ fn square(
328330 _run : & mut dyn FnMut ( i64 , & mut Context ) -> Signal ,
329331) -> Signal {
330332 args ! ( args => value: NumberValue ) ;
331- if let Some ( number_value:: Number :: Integer ( i) ) = value. number {
332- if let Some ( prod) = i. checked_mul ( i) {
333- return Signal :: Success ( value_from_i64 ( prod ) ) ;
334- }
333+ if let Some ( number_value:: Number :: Integer ( i) ) = value. number
334+ && let Some ( prod) = i. checked_mul ( i)
335+ {
336+ return Signal :: Success ( value_from_i64 ( prod ) ) ;
335337 }
336338 let value = match num_f64 ( & value) {
337339 Ok ( v) => v,
@@ -351,9 +353,10 @@ fn exponential(
351353 if e >= 0 =>
352354 {
353355 if let Ok ( exp) = u32:: try_from ( e)
354- && let Some ( pow) = b. checked_pow ( exp) {
355- return Signal :: Success ( value_from_i64 ( pow) ) ;
356- }
356+ && let Some ( pow) = b. checked_pow ( exp)
357+ {
358+ return Signal :: Success ( value_from_i64 ( pow) ) ;
359+ }
357360 }
358361 _ => { }
359362 }
@@ -567,7 +570,9 @@ fn min(
567570 _run : & mut dyn FnMut ( i64 , & mut Context ) -> Signal ,
568571) -> Signal {
569572 args ! ( args => lhs: NumberValue , rhs: NumberValue ) ;
570- if let ( Some ( number_value:: Number :: Integer ( a) ) , Some ( number_value:: Number :: Integer ( b) ) ) = ( lhs. number , rhs. number ) {
573+ if let ( Some ( number_value:: Number :: Integer ( a) ) , Some ( number_value:: Number :: Integer ( b) ) ) =
574+ ( lhs. number , rhs. number )
575+ {
571576 return Signal :: Success ( value_from_i64 ( a. min ( b) ) ) ;
572577 }
573578 let lhs = match num_f64 ( & lhs) {
@@ -587,7 +592,9 @@ fn max(
587592 _run : & mut dyn FnMut ( i64 , & mut Context ) -> Signal ,
588593) -> Signal {
589594 args ! ( args => lhs: NumberValue , rhs: NumberValue ) ;
590- if let ( Some ( number_value:: Number :: Integer ( a) ) , Some ( number_value:: Number :: Integer ( b) ) ) = ( lhs. number , rhs. number ) {
595+ if let ( Some ( number_value:: Number :: Integer ( a) ) , Some ( number_value:: Number :: Integer ( b) ) ) =
596+ ( lhs. number , rhs. number )
597+ {
591598 return Signal :: Success ( value_from_i64 ( a. max ( b) ) ) ;
592599 }
593600 let lhs = match num_f64 ( & lhs) {
@@ -607,10 +614,10 @@ fn negate(
607614 _run : & mut dyn FnMut ( i64 , & mut Context ) -> Signal ,
608615) -> Signal {
609616 args ! ( args => value: NumberValue ) ;
610- if let Some ( number_value:: Number :: Integer ( i) ) = value. number {
611- if let Some ( neg) = i. checked_neg ( ) {
612- return Signal :: Success ( value_from_i64 ( neg ) ) ;
613- }
617+ if let Some ( number_value:: Number :: Integer ( i) ) = value. number
618+ && let Some ( neg) = i. checked_neg ( )
619+ {
620+ return Signal :: Success ( value_from_i64 ( neg ) ) ;
614621 }
615622 let value = match num_f64 ( & value) {
616623 Ok ( v) => v,
@@ -758,10 +765,11 @@ fn clamp(
758765) -> Signal {
759766 args ! ( args => value: NumberValue , min: NumberValue , max: NumberValue ) ;
760767 if let (
761- Some ( number_value:: Number :: Integer ( v) ) ,
762- Some ( number_value:: Number :: Integer ( min) ) ,
763- Some ( number_value:: Number :: Integer ( max) ) ,
764- ) = ( value. number , min. number , max. number ) {
768+ Some ( number_value:: Number :: Integer ( v) ) ,
769+ Some ( number_value:: Number :: Integer ( min) ) ,
770+ Some ( number_value:: Number :: Integer ( max) ) ,
771+ ) = ( value. number , min. number , max. number )
772+ {
765773 return Signal :: Success ( value_from_i64 ( v. clamp ( min, max) ) ) ;
766774 }
767775 let value = match num_f64 ( & value) {
0 commit comments