Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
torch-spline-conv
Commits
1b777c39
Commit
1b777c39
authored
Apr 10, 2018
by
rusty1s
Browse files
clean up
parent
9b7c39fb
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
15 additions
and
27 deletions
+15
-27
aten/TH/THBasis.c
aten/TH/THBasis.c
+15
-27
No files found.
aten/TH/THBasis.c
View file @
1b777c39
...
@@ -41,46 +41,34 @@
...
@@ -41,46 +41,34 @@
int64_t *kernelSizeData = THLongTensor_data(kernelSize); \
int64_t *kernelSizeData = THLongTensor_data(kernelSize); \
uint8_t *isOpenSplineData = THByteTensor_data(isOpenSpline); \
uint8_t *isOpenSplineData = THByteTensor_data(isOpenSpline); \
\
\
ptrdiff_t e, d, s; \
ptrdiff_t e, d, s, dIt, dOther; \
int64_t k, kMod, wi, wiOffset; \
int64_t kMod; \
real b, v; \
real g, v, tmp; \
real g; \
\
\
for (e = 0; e < THTensor_(size)(pseudo, 0); e++) { \
for (e = 0; e < THTensor_(size)(pseudo, 0); e++) { \
for (d = 0; d < THTensor_(size)(pseudo, 1); d++) { \
for (d = 0; d < THTensor_(size)(pseudo, 1); d++) { \
real g_out = 0; \
g = 0; \
int64_t quotient = pow(M + 1, d); \
for (s = 0; s < THTensor_(size)(gradBasis, 1); s++) { \
for (s = 0; s < THTensor_(size)(gradBasis, 1); s++) { \
kMod = (s /
quotient
) % (M + 1); \
kMod = (s /
(ptrdiff_t) pow(M + 1, d)
) % (M + 1); \
v = pseudoData[e * pseudo->stride[0] + d * pseudo->stride[1]]; \
v = pseudoData[e * pseudo->stride[0] + d * pseudo->stride[1]]; \
v *= kernelSizeData[d] - M * isOpenSplineData[d]; \
v *= kernelSizeData[d] - M * isOpenSplineData[d]; \
v -= floor(v); \
v -= floor(v); \
v = GRAD_CODE; \
v = GRAD_CODE; \
g
= v; \
tmp
= v; \
\
\
ptrdiff_t d_it; \
for (dIt = 1; dIt < THTensor_(size)(pseudo, 1); dIt++) { \
for (d_it = 0; d_it < d; d_it++) { \
dOther = dIt - (d >= dIt); \
int64_t quotient2 = pow(M + 1, d_it); \
kMod = (s / (ptrdiff_t) pow(M + 1, dOther)) % (M + 1); \
kMod = (s / quotient2) % (M + 1); \
v = pseudoData[e * pseudo->stride[0] + dOther * pseudo->stride[1]]; \
v = pseudoData[e * pseudo->stride[0] + d_it * pseudo->stride[1]]; \
v *= kernelSizeData[dOther] - M * isOpenSplineData[dOther]; \
v *= kernelSizeData[d_it] - M * isOpenSplineData[d_it]; \
v -= floor(v); \
v = CODE; \
g *= v; \
} \
for (d_it = d + 1; d_it < THTensor_(size)(pseudo, 1); d_it++) { \
int64_t quotient2 = pow(M + 1, d_it); \
kMod = (s / quotient2) % (M + 1); \
v = pseudoData[e * pseudo->stride[0] + d_it * pseudo->stride[1]]; \
v *= kernelSizeData[d_it] - M * isOpenSplineData[d_it]; \
v -= floor(v); \
v -= floor(v); \
v = CODE; \
v = CODE; \
g
*= v; \
tmp
*= v; \
} \
} \
g
_out
+=
g
* gradBasisData[e * gradBasis->stride[0] + s * gradBasis->stride[1]]; \
g +=
tmp
* gradBasisData[e * gradBasis->stride[0] + s * gradBasis->stride[1]]; \
} \
} \
g
_out
*= kernelSizeData[d] - M * isOpenSplineData[d]; \
g *= kernelSizeData[d] - M * isOpenSplineData[d]; \
selfData[e * self->stride[0] + d * self->stride[1]] = g
_out
; \
selfData[e * self->stride[0] + d * self->stride[1]] = g; \
} \
} \
} \
} \
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment