def generate(self, result: scanner.ScannerResult, output: io.IOBase) -> None: if self.generateIncludeGuard: incGuard = os.path.splitext(os.path.basename( self.fakeName.upper()))[0] if incGuard[0].isdigit(): incGuard = '_' + incGuard fffHeader = os.path.expandvars(CONFIG[c.AUTOFFF_SECTION][ c.SIMPLE_GENERATOR_SECTION][c.SIMPLE_GENERATOR_FFF_PATH]) incGuard = f"{re.sub('([^A-Z0-9_]*)', '', incGuard)}_H_" LOGGER.debug(f"Generated include guard macro: '{incGuard}'.") incGuardBeginning = [ f'#ifndef {incGuard}\n', f'#define {incGuard}\n\n', f'#include "{fffHeader}"\n' ] if self.includeFiles is not None: incGuardBeginning += [ f'#include "{os.path.basename(f)}"\n' for f in self.includeFiles ] incGuardBeginning += f'#include "{os.path.basename(self.originalHeader)}"\n\n' incGuardBeginning += f"#ifdef __cplusplus\nextern \"C\" {{ \n #endif\n" incGuardEnd = [ f"#ifdef __cplusplus\n}}\n#endif\n", f"\n#endif /* {incGuard} */\n" ] output.writelines(incGuardBeginning) for decl in filter( lambda decl: decl.type.args is not None and any( map( lambda param: (not isinstance(param, EllipsisParam) and utils. is_function_pointer_type(param.type)), decl.type.args. params)), result.declarations): output.write(self._generateTypeDefForDecl(decl)) for defin in filter( lambda defin: defin.decl.type.args is not None and any( map( lambda param: (not isinstance(param, EllipsisParam) and utils. is_function_pointer_type(param.type)), defin.decl.type .args.params)), result.definitions): output.write(self._generateTypeDefForDecl(defin.decl)) output.write("\n") for decl in result.declarations: output.write(self._generateFakeForDecl(decl)) output.write("\n") for definition in result.definitions: output.write(self._generateBypassForFuncDef(definition)) output.write(self._generateFakeForDecl(definition.decl)) if self.generateIncludeGuard: output.writelines(incGuardEnd)
def write(self, stream: io.IOBase) -> None: """ Write the record data to a file :param stream: A open file object to write to :return: None """ stream.writelines([ b'@', self.name.encode('ascii'), b' ' + self.desc1.encode('ascii') if self.desc1 != '' else '', b'\n', self.seq.encode('ascii'), b'\n', b'+ ' + self.desc2.encode('ascii') if self.desc2 != '' else b'+', b'\n', self.qual.encode('ascii'), b'\n' ])
def _log_optimizer(self, f: IOBase): opt_name = self.optimizer.__class__.__name__ f.writelines("Optimizer: {}\n".format(opt_name)) if opt_name == "Adam": f.writelines([ "lr: {}\n".format(K.eval(self.optimizer.lr)), "beta_1: {}\n".format(K.eval(self.optimizer.beta_1)), "beta_2: {}\n".format(K.eval(self.optimizer.beta_2)), "epsilon: {}\n".format(self.optimizer.epsilon), "decay: {}\n".format(K.eval(self.optimizer.decay)) ]) elif opt_name == "SGD": f.writelines([ "lr: {}\n".format(K.eval(self.optimizer.lr)), "momentum: {}\n".format(K.eval(self.optimizer.momentum)), "decay: {}\n".format(K.eval(self.optimizer.decay)), "initial_decay: {}\n".format(self.optimizer.initial_decay), "nesterov: {}\n".format(self.optimizer.nesterov) ]) f.write( "_________________________________________________________________\n\n" )