diff --git a/src/TensorFlowNET.Core/APIs/tf.bitwise.cs b/src/TensorFlowNET.Core/APIs/tf.bitwise.cs
new file mode 100644
index 00000000..b0518244
--- /dev/null
+++ b/src/TensorFlowNET.Core/APIs/tf.bitwise.cs
@@ -0,0 +1,25 @@
+/*****************************************************************************
+ Copyright 2020 The TensorFlow.NET Authors. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+******************************************************************************/
+
+using Tensorflow.Operations;
+
+namespace Tensorflow
+{
+ public partial class tensorflow
+ {
+ public bitwise_ops bitwise = new bitwise_ops();
+ }
+}
diff --git a/src/TensorFlowNET.Core/Operations/bitwise_ops.cs b/src/TensorFlowNET.Core/Operations/bitwise_ops.cs
new file mode 100644
index 00000000..925f91ed
--- /dev/null
+++ b/src/TensorFlowNET.Core/Operations/bitwise_ops.cs
@@ -0,0 +1,50 @@
+/*****************************************************************************
+ Copyright 2020 Haiping Chen. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+******************************************************************************/
+
+using System;
+using System.Collections.Generic;
+using System.Text;
+using static Tensorflow.Binding;
+
+namespace Tensorflow.Operations
+{
+ public class bitwise_ops
+ {
+ ///
+ /// Elementwise computes the bitwise left-shift of `x` and `y`.
+ /// https://www.tensorflow.org/api_docs/python/tf/bitwise/left_shift
+ ///
+ ///
+ ///
+ ///
+ ///
+ public Tensor left_shift(Tensor x, Tensor y, string name = null)
+ {
+ if (tf.Context.executing_eagerly())
+ {
+ var results = tf.Runner.TFE_FastPathExecute(tf.Context, tf.Context.DeviceName,
+ "LeftShift", name,
+ null,
+ x, y);
+
+ return results[0];
+ }
+
+ var _op = tf.OpDefLib._apply_op_helper("LeftShift", name, args: new { x, y });
+ return _op.output;
+ }
+ }
+}
diff --git a/test/TensorFlowNET.UnitTest/TF_API/BitwiseApiTest.cs b/test/TensorFlowNET.UnitTest/TF_API/BitwiseApiTest.cs
new file mode 100644
index 00000000..73c1f511
--- /dev/null
+++ b/test/TensorFlowNET.UnitTest/TF_API/BitwiseApiTest.cs
@@ -0,0 +1,26 @@
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Tensorflow;
+using static Tensorflow.Binding;
+
+namespace TensorFlowNET.UnitTest.TF_API
+{
+ [TestClass]
+ public class BitwiseApiTest : TFNetApiTest
+ {
+ Tensor lhs = tf.constant(new int[] { -1, -5, -3, -14 });
+ Tensor rhs = tf.constant(new int[] { 5, 0, 7, 11 });
+
+ [TestMethod]
+ public void LeftShift()
+ {
+ var left_shift_result = tf.bitwise.left_shift(lhs, rhs);
+ var expected = new int[] { -32, -5, -384, -28672 };
+ var actual = left_shift_result.ToArray();
+ Assert.IsTrue(Enumerable.SequenceEqual(expected, actual));
+ }
+ }
+}