 continue to succeed if sufficient completed elements remain in the barrier.
 Subsequent TakeMany operations that would block will fail immediately.
 
-_inputArg
- handle:: . 
-_outputArg
-
-_outputArg
-
-*/
-
-
-
-// TODO - in the return parameters use an index Output(0) // output(1) etc
-// TODO - work out a way to skip extroneous , eg. param,param, )
-// TODO - Not all return types are output eg.
-// func ResourceSparseApplyRMSProp(scope *Scope, var_ tf.Output, ms tf.Output, mom tf.Output, lr tf.Output, rho tf.Output, momentum tf.Output, epsilon tf.Output, grad tf.Output, indices tf.Output, optional ...ResourceSparseApplyRMSPropAttr) (o *tf.Operation)
-
-
-
-
-
-
-func barrierClose(scope:Scope,handle: tf.Output)  -> (){
-    if scope.error() != nil {
-        return
-    }
-
-
+*/
+
+
+
+
+
+func barrierClose(scope:Scope,handle: tf.Outputcancel_pending_enqueues :bool)  {
+    if scope.error() != nil {
+        return
+    }
     let opspec = tf.OpSpec(
         Type: "BarrierClose",
-        Input: [  handle, )]
-        Attrs: attrs
-    )
-
-
-
-
+        Input: [ handle]
+        Attrs: attrs
+    )
 }
 
 /*
 Computes the number of incomplete elements in the given barrier.
 
 
-_inputArg
- handle:: . 
-_outputArg
-
-_outputArg
- size:: 
-
-*/
-
-
-
-// TODO - in the return parameters use an index Output(0) // output(1) etc
-// TODO - work out a way to skip extroneous , eg. param,param, )
-// TODO - Not all return types are output eg.
-// func ResourceSparseApplyRMSProp(scope *Scope, var_ tf.Output, ms tf.Output, mom tf.Output, lr tf.Output, rho tf.Output, momentum tf.Output, epsilon tf.Output, grad tf.Output, indices tf.Output, optional ...ResourceSparseApplyRMSPropAttr) (o *tf.Operation)
-
-
-
-
-
-
-func barrierIncompleteSize(scope:Scope,handle: tf.Output)  -> (size: tf.Output){
-    if scope.error() != nil {
-        return
-    }
-
-
+*/
+
+
+
+
+
+func barrierIncompleteSize(scope:Scope,handle: tf.Output)  ->(size: tf.Output){
+    if scope.error() != nil {
+        return
+    }
     let opspec = tf.OpSpec(
         Type: "BarrierIncompleteSize",
-        Input: [  handle, )]
-        Attrs: attrs
-    )
-
-
-
-        let op = scope.AddOperation(opspec)
-        return (op.Output(1))
-
+        Input: [ handle]
+        Attrs: attrs
+    )
+    let op = scope.AddOperation(opspec)
+    return (op.Output(1 -1))
 }
 
 /*

This operation is considered stateful. For a stateless version, see
PyFuncStateless.

_inputArg
 input:: . 
_outputArg

_outputArg
 output:: 

*/



// TODO - in the return parameters use an index Output(0) // output(1) etc
// TODO - work out a way to skip extroneous , eg. param,param, )
// TODO - Not all return types are output eg.
// func ResourceSparseApplyRMSProp(scope *Scope, var_ tf.Output, ms tf.Output, mom tf.Output, lr tf.Output, rho tf.Output, momentum tf.Output, epsilon tf.Output, grad tf.Output, indices tf.Output, optional ...ResourceSparseApplyRMSPropAttr) (o *tf.Operation)






func pyFunc(scope:Scope,input: tf.Output)  -> (output: tf.Output){
    if scope.error() != nil {
        return
    }


    let opspec = tf.OpSpec(
        Type: "PyFunc",
        Input: [  input, )]
        Attrs: attrs
    )



        let op = scope.AddOperation(opspec)
        return (op.Output(1))

}

/*
A stateless version of PyFunc.


_inputArg
 input:: . 
_outputArg

_outputArg
 output:: 

*/



// TODO - in the return parameters use an index Output(0) // output(1) etc
// TODO - work out a way to skip extroneous , eg. param,param, )
// TODO - Not all return types are output eg.
// func ResourceSparseApplyRMSProp(scope *Scope, var_ tf.Output, ms tf.Output, mom tf.Output, lr tf.Output, rho tf.Output, momentum tf.Output, epsilon tf.Output, grad tf.Output, indices tf.Output, optional ...ResourceSparseApplyRMSPropAttr) (o *tf.Operation)






func pyFuncStateless(scope:Scope,input: tf.Output)  -> (output: tf.Output){
    if scope.error() != nil {
        return
    }


    let opspec = tf.OpSpec(
        Type: "PyFuncStateless",
        Input: [  input, )]
        Attrs: attrs
    )



        let op = scope.AddOperation(opspec)
        return (op.Output(1))

}

/*

power of two.  The bias is small for values of `maxval - minval` significantly
smaller than the range of the output (either `2^32` or `2^64`).

*/





func randomUniformInt(scope:Scope,shape: tf.Output, minval: tf.Output, maxval: tf.Outputseed :int, seed2 :int, Tout :type, T :type)  ->(output: tf.Output){
    if scope.error() != nil {
        return
    }
    let opspec = tf.OpSpec(
        Type: "RandomUniformInt",
        Input: [ shape, minval, maxval]
        Attrs: attrs
    )
    let op = scope.AddOperation(opspec)
    return (op.Output(1 -1))
}

/*
