Skip to content

Commit 3823d05

Browse files
committed
feat: use fma
1 parent b9a555b commit 3823d05

File tree

1 file changed

+4
-6
lines changed

1 file changed

+4
-6
lines changed

packages/react-native-audio-api/common/cpp/audioapi/core/effects/IIRFilterNode.cpp

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -139,17 +139,15 @@ std::shared_ptr<AudioBus> IIRFilterNode::processNode(
139139

140140
for (int k = 1; k < minLength; ++k) {
141141
int m = (bufferIndex - k) & mask;
142-
yn += feedforward_[k] * x[m];
143-
yn -= feedback_[k] * y[m];
144-
// yn = std::fma(feedforward_[k], x[m], yn);
145-
// yn = std::fma(-feedback_[k], y[m], yn);
142+
yn = std::fma(feedforward_[k], x[m], yn);
143+
yn = std::fma(-feedback_[k], y[m], yn);
146144
}
147145

148146
for (int k = minLength; k < feedforwardLength; ++k) {
149-
yn += feedforward_[k] * x[(bufferIndex - k) & mask];
147+
yn = std::fma(feedforward_[k], x[(bufferIndex - k) & mask], yn);
150148
}
151149
for (int k = minLength; k < feedbackLength; ++k) {
152-
yn -= feedback_[k] * y[(bufferIndex - k) & (bufferLength - 1)];
150+
yn = std::fma(-feedback_[k], y[(bufferIndex - k) & (bufferLength - 1)], yn);
153151
}
154152

155153
channelData[n] = yn;

0 commit comments

Comments
 (0)