@@ -993,4 +993,57 @@ describe('Mat', () => {
993
993
) ;
994
994
} ) ;
995
995
} ) ;
996
+
997
+ describe ( 'eigen' , ( ) => {
998
+ const makeTest = ( values , expectedResults ) => ( ) => {
999
+ generateAPITests ( {
1000
+ getDut : ( ) => new cv . Mat ( values , cv . CV_32F ) ,
1001
+ methodName : 'eigen' ,
1002
+ methodNameSpace : 'Mat' ,
1003
+ expectOutput : ( res , _ , args ) => {
1004
+ expect ( res ) . to . be . instanceOf ( cv . Mat ) ;
1005
+ const arrayRes = res . getDataAsArray ( ) ;
1006
+ const tolerance = 1e-6 ;
1007
+ arrayRes . forEach ( ( r , i1 ) => {
1008
+ r . forEach ( ( n , i2 ) => {
1009
+ expect ( n ) . to . be . at . least ( expectedResults [ i1 ] [ i2 ] - tolerance ) ;
1010
+ expect ( n ) . to . be . at . most ( expectedResults [ i1 ] [ i2 ] + tolerance )
1011
+ } )
1012
+ } )
1013
+ }
1014
+ } ) ;
1015
+ } ;
1016
+
1017
+ describe ( 'eigen' , makeTest ( [ [ 2 , 1 ] , [ 1 , 2 ] ] , [ [ 3 ] , [ 1 ] ] ) )
1018
+ } ) ;
1019
+ describe ( 'solve' , ( ) => {
1020
+ const makeTest = ( values1 , values2 , flags , expectedResults ) => ( ) => {
1021
+ const m2 = new cv . Mat ( values2 , cv . CV_32F ) ;
1022
+
1023
+ generateAPITests ( {
1024
+ getDut : ( ) => new cv . Mat ( values1 , cv . CV_32F ) ,
1025
+ methodName : 'solve' ,
1026
+ methodNameSpace : 'Mat' ,
1027
+ getOptionalArgsMap : ( ) => ( [
1028
+ [ 'flags' , flags ]
1029
+ ] ) ,
1030
+ getRequiredArgs : ( ) => ( [ m2 ] ) ,
1031
+ expectOutput : ( res , _ , args ) => {
1032
+ expect ( res ) . to . be . instanceOf ( cv . Mat ) ;
1033
+ const arrayRes = res . getDataAsArray ( ) ;
1034
+ const tolerance = 1e-6 ;
1035
+ arrayRes . forEach ( ( r , i1 ) => {
1036
+ r . forEach ( ( n , i2 ) => {
1037
+ expect ( n ) . to . be . at . least ( expectedResults [ i1 ] [ i2 ] - tolerance ) ;
1038
+ expect ( n ) . to . be . at . most ( expectedResults [ i1 ] [ i2 ] + tolerance )
1039
+ } )
1040
+ } )
1041
+ }
1042
+ } ) ;
1043
+ } ;
1044
+
1045
+ describe ( 'Solve y = x equation on Id = X Id' , makeTest ( [ [ 1 , 0 , 0 ] , [ 0 , 1 , 0 ] , [ 0 , 0 , 1 ] ] , [ [ 1 , 0 , 0 ] , [ 0 , 1 , 0 ] , [ 0 , 0 , 1 ] ] , cv . DECOMP_LU , [ [ 1 , 0 , 0 ] , [ 0 , 1 , 0 ] , [ 0 , 0 , 1 ] ] ) ) ;
1046
+ describe ( 'Solve y = x equation on Id = X Id' , makeTest ( [ [ 1 , 2 ] , [ 3 , 4 ] ] , [ [ 5 , 6 ] , [ 7 , 8 ] ] , cv . DECOMP_LU , [ [ - 3 , - 4 ] , [ 4 , 5 ] ] ) ) ;
1047
+ } ) ;
1048
+
996
1049
} ) ;
0 commit comments