-
Notifications
You must be signed in to change notification settings - Fork 99
/
Copy pathArrays.jl
180 lines (126 loc) · 2.84 KB
/
Arrays.jl
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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
"""
This module provides:
- An extension of the `AbstractArray` interface in order to properly deal with mutable caches.
- A mechanism to generate lazy arrays resulting from operations between arrays.
- A collection of concrete implementations of `AbstractArray`.
The exported names in this module are:
$(EXPORTS)
"""
module Arrays
using Gridap.Helpers
using Gridap.Algebra
using DocStringExtensions
using Test
using FillArrays
using LinearAlgebra
using Base: @propagate_inbounds
using ForwardDiff
import Base: size
import Base: getindex, setindex!
import Base: similar
import Base: IndexStyle
import Base: unaliascopy
import Base: unique
# CachedArray
export CachedArray
export CachedMatrix
export CachedVector
export setsize!
# Map
export Map
export return_cache
export evaluate!
export evaluate
export test_map
export return_type
export return_value
export testargs
export inverse_map
export Broadcasting
export Operation
# LazyArray
export LazyArray
export array_cache
export getindex!
export lazy_map
export array_cache
export getindex!
export testitem
export testvalue
# export uses_hash
export test_array
export get_array
# # export add_to_array!
export CompressedArray
export Reindex
#export reindex
export PosNegReindex
export PosNegPartition
#export posneg_reindex
export FilterMap
export KeyToValMap
export MulAddMap
export Table
export identity_table
export empty_table
export rewind_ptrs!
export length_to_ptrs!
export append_ptrs
export append_ptrs!
export get_ptrs_eltype
export get_data_eltype
export generate_data_and_ptrs
export find_inverse_index_map
export find_inverse_index_map!
export append_tables_globally
export append_tables_locally
export flatten_partition
export collect1d
export UNSET
export get_local_item
export find_local_index
export IdentityVector
export pair_arrays
export unpair_arrays
export AppendedArray
export lazy_append
export lazy_split
export Reindex
export ConfigMap
export DualizeMap
export AutoDiffMap
export autodiff_array_gradient
export autodiff_array_jacobian
export autodiff_array_hessian
export VectorWithEntryRemoved
export VectorWithEntryInserted
import AbstractTrees
export TreeNode
export print_op_tree
export similar_tree_node
import Gridap.Io: to_dict
import Gridap.Io: from_dict
export AddEntriesMap
export TouchEntriesMap
export ∑
include("Interface.jl")
include("Maps.jl")
include("AlgebraMaps.jl")
include("CachedArrays.jl")
include("LazyArrays.jl")
include("CompressedArrays.jl")
include("Tables.jl")
include("IdentityVectors.jl")
include("PosNegReindex.jl")
include("Reindex.jl")
include("KeyToValMaps.jl")
include("FilteredArrays.jl")
include("SubVectors.jl") # Deprecated
include("ArrayPairs.jl")
include("AppendedArrays.jl")
include("Autodiff.jl")
include("VectorsWithEntryRemoved.jl")
include("VectorsWithEntryInserted.jl")
include("PrintOpTrees.jl")
const ∑ = sum
end # module