FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
mathjs/src/function/logical/and.js at develop · sophy1/mathjs · GitHub
sophy1
/
mathjs
Public
forked from
josdejong/mathjs
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
mathjs
/
src
/
function
/
logical
/
and.js
Copy path
More file actions
More file actions
Latest commit
History
History
History
123 lines (110 loc) · 3.73 KB
Breadcrumbs
mathjs
/
src
/
function
/
logical
/
and.js
Copy path
File metadata and controls
123 lines (110 loc) · 3.73 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
import
{
createMatAlgo02xDS0
}
from
'../../type/matrix/utils/matAlgo02xDS0.js'
import
{
createMatAlgo11xS0s
}
from
'../../type/matrix/utils/matAlgo11xS0s.js'
import
{
createMatAlgo14xDs
}
from
'../../type/matrix/utils/matAlgo14xDs.js'
import
{
createMatAlgo06xS0S0
}
from
'../../type/matrix/utils/matAlgo06xS0S0.js'
import
{
factory
}
from
'../../utils/factory.js'
import
{
createMatrixAlgorithmSuite
}
from
'../../type/matrix/utils/matrixAlgorithmSuite.js'
import
{
andNumber
}
from
'../../plain/number/index.js'
const
name
=
'and'
const
dependencies
=
[
'typed'
,
'matrix'
,
'equalScalar'
,
'zeros'
,
'not'
,
'concat'
]
export
const
createAnd
=
/* #__PURE__ */
factory
(
name
,
dependencies
,
(
{
typed
,
matrix
,
equalScalar
,
zeros
,
not
,
concat
}
)
=>
{
const
matAlgo02xDS0
=
createMatAlgo02xDS0
(
{
typed
,
equalScalar
}
)
const
matAlgo06xS0S0
=
createMatAlgo06xS0S0
(
{
typed
,
equalScalar
}
)
const
matAlgo11xS0s
=
createMatAlgo11xS0s
(
{
typed
,
equalScalar
}
)
const
matAlgo14xDs
=
createMatAlgo14xDs
(
{
typed
}
)
const
matrixAlgorithmSuite
=
createMatrixAlgorithmSuite
(
{
typed
,
matrix
,
concat
}
)
/**
* Logical `and`. Test whether two values are both defined with a nonzero/nonempty value.
* For matrices, the function is evaluated element wise.
*
* Syntax:
*
* math.and(x, y)
*
* Examples:
*
* math.and(2, 4) // returns true
*
* a = [2, 0, 0]
* b = [3, 7, 0]
* c = 0
*
* math.and(a, b) // returns [true, false, false]
* math.and(a, c) // returns [false, false, false]
*
* See also:
*
* not, or, xor
*
*
@param
{
number | BigNumber | bigint | Complex | Unit | Array | Matrix
} x First value to check
*
@param
{
number | BigNumber | bigint | Complex | Unit | Array | Matrix
} y Second value to check
*
@return
{
boolean | Array | Matrix
}
* Returns true when both inputs are defined with a nonzero/nonempty value.
*/
return
typed
(
name
,
{
'number, number'
:
andNumber
,
'Complex, Complex'
:
function
(
x
,
y
)
{
return
(
x
.
re
!==
0
||
x
.
im
!==
0
)
&&
(
y
.
re
!==
0
||
y
.
im
!==
0
)
}
,
'BigNumber, BigNumber'
:
function
(
x
,
y
)
{
return
!
x
.
isZero
(
)
&&
!
y
.
isZero
(
)
&&
!
x
.
isNaN
(
)
&&
!
y
.
isNaN
(
)
}
,
'bigint, bigint'
:
andNumber
,
'Unit, Unit'
:
typed
.
referToSelf
(
self
=>
(
x
,
y
)
=>
self
(
x
.
value
||
0
,
y
.
value
||
0
)
)
,
'SparseMatrix, any'
:
typed
.
referToSelf
(
self
=>
(
x
,
y
)
=>
{
// check scalar
if
(
not
(
y
)
)
{
// return zero matrix
return
zeros
(
x
.
size
(
)
,
x
.
storage
(
)
)
}
return
matAlgo11xS0s
(
x
,
y
,
self
,
false
)
}
)
,
'DenseMatrix, any'
:
typed
.
referToSelf
(
self
=>
(
x
,
y
)
=>
{
// check scalar
if
(
not
(
y
)
)
{
// return zero matrix
return
zeros
(
x
.
size
(
)
,
x
.
storage
(
)
)
}
return
matAlgo14xDs
(
x
,
y
,
self
,
false
)
}
)
,
'any, SparseMatrix'
:
typed
.
referToSelf
(
self
=>
(
x
,
y
)
=>
{
// check scalar
if
(
not
(
x
)
)
{
// return zero matrix
return
zeros
(
x
.
size
(
)
,
x
.
storage
(
)
)
}
return
matAlgo11xS0s
(
y
,
x
,
self
,
true
)
}
)
,
'any, DenseMatrix'
:
typed
.
referToSelf
(
self
=>
(
x
,
y
)
=>
{
// check scalar
if
(
not
(
x
)
)
{
// return zero matrix
return
zeros
(
x
.
size
(
)
,
x
.
storage
(
)
)
}
return
matAlgo14xDs
(
y
,
x
,
self
,
true
)
}
)
,
'Array, any'
:
typed
.
referToSelf
(
self
=>
(
x
,
y
)
=>
{
// use matrix implementation
return
self
(
matrix
(
x
)
,
y
)
.
valueOf
(
)
}
)
,
'any, Array'
:
typed
.
referToSelf
(
self
=>
(
x
,
y
)
=>
{
// use matrix implementation
return
self
(
x
,
matrix
(
y
)
)
.
valueOf
(
)
}
)
}
,
matrixAlgorithmSuite
(
{
SS
:
matAlgo06xS0S0
,
DS
:
matAlgo02xDS0
}
)
)
}
)
Back
|
FazBrowse Home
|
New Git URL