@@ -993,4 +993,50 @@ describe('Mat', () => {
993993 ) ;
994994 } ) ;
995995 } ) ;
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+ expect ( res . getDataAsArray ( ) ) . to . eql ( expectedResults ) ;
1034+ }
1035+ } ) ;
1036+ } ;
1037+
1038+ 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 ] ] ) ) ;
1039+ 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 ] ] ) ) ;
1040+ } ) ;
1041+
9961042} ) ;
0 commit comments